From 540efa03c4ba40413dfe86bde6eecc78abde3dd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ken-H=C3=A5vard=20Lieng?= Date: Sun, 9 Jun 2019 02:01:48 +0200 Subject: [PATCH] Update dependencies --- assets/bindata.go | 646 +- client/js/sw.js | 4 +- client/package.json | 68 +- client/yarn.lock | 3582 ++++---- go.mod | 65 +- go.sum | 227 +- pkg/https/https.go | 15 +- .../RoaringBitmap/roaring/.travis.yml | 2 + .../RoaringBitmap/roaring/CONTRIBUTORS | 3 +- .../github.com/RoaringBitmap/roaring/LICENSE | 33 + .../RoaringBitmap/roaring/bitmapcontainer.go | 24 +- .../github.com/RoaringBitmap/roaring/go.mod | 15 + .../github.com/RoaringBitmap/roaring/go.sum | 29 + .../RoaringBitmap/roaring/roaring.go | 10 +- vendor/github.com/cenkalti/backoff/.gitignore | 22 + .../github.com/cenkalti/backoff/.travis.yml | 10 + vendor/github.com/cenkalti/backoff/LICENSE | 20 + vendor/github.com/cenkalti/backoff/README.md | 30 + vendor/github.com/cenkalti/backoff/backoff.go | 66 + vendor/github.com/cenkalti/backoff/context.go | 63 + .../cenkalti/backoff/exponential.go | 153 + vendor/github.com/cenkalti/backoff/retry.go | 82 + vendor/github.com/cenkalti/backoff/ticker.go | 82 + vendor/github.com/cenkalti/backoff/tries.go | 35 + .../couchbase/vellum/fst_iterator.go | 116 +- .../{xenolf => go-acme}/lego/LICENSE | 0 .../lego/acme/api/account.go | 2 +- .../{xenolf => go-acme}/lego/acme/api/api.go | 63 +- .../lego/acme/api/authorization.go | 2 +- .../lego/acme/api/certificate.go | 6 +- .../lego/acme/api/challenge.go | 2 +- .../acme/api/internal/nonces/nonce_manager.go | 2 +- .../lego/acme/api/internal/secure/jws.go | 6 +- .../lego/acme/api/internal/sender/sender.go | 2 +- .../acme/api/internal/sender/useragent.go | 2 +- .../lego/acme/api/order.go | 2 +- .../lego/acme/api/service.go | 0 .../{xenolf => go-acme}/lego/acme/commons.go | 0 .../{xenolf => go-acme}/lego/acme/errors.go | 0 .../lego/certcrypto/crypto.go | 6 +- .../lego/certificate/authorization.go | 4 +- .../lego/certificate/certificates.go | 41 +- .../lego/certificate/errors.go | 0 .../lego/challenge/challenges.go | 2 +- .../go-acme/lego/challenge/dns01/cname.go | 16 + .../lego/challenge/dns01/dns_challenge.go | 26 +- .../challenge/dns01/dns_challenge_manual.go | 7 + .../lego/challenge/dns01/fqdn.go | 0 .../lego/challenge/dns01/nameserver.go | 0 .../lego/challenge/dns01/precheck.go | 39 +- .../lego/challenge/http01/http_challenge.go | 10 +- .../challenge/http01/http_challenge_server.go | 2 +- .../lego/challenge/provider.go | 0 .../lego/challenge/resolver/errors.go | 0 .../lego/challenge/resolver/prober.go | 6 +- .../lego/challenge/resolver/solver_manager.go | 49 +- .../challenge/tlsalpn01/tls_alpn_challenge.go | 10 +- .../tlsalpn01/tls_alpn_challenge_server.go | 2 +- .../{xenolf => go-acme}/lego/lego/client.go | 8 +- .../lego/lego/client_config.go | 4 +- .../{xenolf => go-acme}/lego/log/logger.go | 0 .../lego/platform/wait/wait.go | 2 +- .../lego/registration/registar.go | 6 +- .../lego/registration/user.go | 0 .../golang/protobuf/proto/decode.go | 1 - .../golang/protobuf/proto/deprecated.go | 63 + .../github.com/golang/protobuf/proto/equal.go | 3 +- .../golang/protobuf/proto/extensions.go | 78 +- .../github.com/golang/protobuf/proto/lib.go | 38 +- .../golang/protobuf/proto/message_set.go | 137 +- .../golang/protobuf/proto/pointer_reflect.go | 5 +- .../golang/protobuf/proto/pointer_unsafe.go | 15 +- .../golang/protobuf/proto/properties.go | 31 +- .../golang/protobuf/proto/table_marshal.go | 45 +- .../golang/protobuf/proto/table_unmarshal.go | 74 +- vendor/github.com/golang/snappy/go.mod | 1 + vendor/github.com/klauspost/cpuid/README.md | 2 + vendor/github.com/klauspost/cpuid/cpuid.go | 17 +- .../magiconair/properties/.travis.yml | 2 + .../magiconair/properties/CHANGELOG.md | 8 + .../magiconair/properties/README.md | 4 +- .../github.com/magiconair/properties/go.mod | 1 + .../github.com/magiconair/properties/load.go | 2 +- vendor/github.com/mailru/easyjson/.travis.yml | 2 +- vendor/github.com/mailru/easyjson/Makefile | 5 +- .../mailru/easyjson/jlexer/lexer.go | 7 +- vendor/github.com/mholt/certmagic/.travis.yml | 4 +- vendor/github.com/mholt/certmagic/README.md | 73 +- .../github.com/mholt/certmagic/appveyor.yml | 2 - vendor/github.com/mholt/certmagic/cache.go | 322 +- .../mholt/certmagic/certificates.go | 152 +- .../github.com/mholt/certmagic/certmagic.go | 207 +- vendor/github.com/mholt/certmagic/client.go | 45 +- vendor/github.com/mholt/certmagic/config.go | 219 +- vendor/github.com/mholt/certmagic/crypto.go | 10 +- vendor/github.com/mholt/certmagic/go.mod | 3 +- vendor/github.com/mholt/certmagic/go.sum | 8 +- .../github.com/mholt/certmagic/handshake.go | 34 +- .../github.com/mholt/certmagic/httphandler.go | 12 +- vendor/github.com/mholt/certmagic/maintain.go | 138 +- vendor/github.com/mholt/certmagic/ocsp.go | 10 +- vendor/github.com/mholt/certmagic/solvers.go | 8 +- vendor/github.com/mholt/certmagic/storage.go | 3 - vendor/github.com/mholt/certmagic/user.go | 53 +- vendor/github.com/miekg/dns/.travis.yml | 1 + vendor/github.com/miekg/dns/README.md | 2 + vendor/github.com/miekg/dns/acceptfunc.go | 3 - vendor/github.com/miekg/dns/client.go | 141 +- vendor/github.com/miekg/dns/clientconfig.go | 8 +- vendor/github.com/miekg/dns/defaults.go | 22 +- vendor/github.com/miekg/dns/dnssec.go | 32 +- vendor/github.com/miekg/dns/dnssec_keygen.go | 46 +- vendor/github.com/miekg/dns/dnssec_keyscan.go | 56 +- vendor/github.com/miekg/dns/dnssec_privkey.go | 13 +- vendor/github.com/miekg/dns/duplicate.go | 6 +- .../miekg/dns/duplicate_generate.go | 4 +- vendor/github.com/miekg/dns/edns.go | 22 +- vendor/github.com/miekg/dns/format.go | 6 + vendor/github.com/miekg/dns/labels.go | 4 +- vendor/github.com/miekg/dns/msg.go | 63 +- vendor/github.com/miekg/dns/msg_helpers.go | 52 +- vendor/github.com/miekg/dns/msg_truncate.go | 106 + vendor/github.com/miekg/dns/privaterr.go | 34 +- vendor/github.com/miekg/dns/scan_rr.go | 12 +- vendor/github.com/miekg/dns/server.go | 234 +- vendor/github.com/miekg/dns/sig0.go | 12 +- vendor/github.com/miekg/dns/types.go | 41 +- vendor/github.com/miekg/dns/types_generate.go | 8 +- vendor/github.com/miekg/dns/version.go | 2 +- vendor/github.com/miekg/dns/xfr.go | 5 +- vendor/github.com/miekg/dns/zduplicate.go | 64 +- vendor/github.com/miekg/dns/ztypes.go | 30 +- .../pelletier/go-toml/.dockerignore | 2 + .../github.com/pelletier/go-toml/.gitignore | 3 + .../github.com/pelletier/go-toml/.travis.yml | 21 +- .../pelletier/go-toml/CONTRIBUTING.md | 132 + .../github.com/pelletier/go-toml/Dockerfile | 10 + .../go-toml/PULL_REQUEST_TEMPLATE.md | 5 + vendor/github.com/pelletier/go-toml/README.md | 28 +- .../github.com/pelletier/go-toml/appveyor.yml | 34 + vendor/github.com/pelletier/go-toml/go.mod | 9 + vendor/github.com/pelletier/go-toml/go.sum | 7 + .../pelletier/go-toml/keysparsing.go | 136 +- vendor/github.com/pelletier/go-toml/lexer.go | 6 +- .../github.com/pelletier/go-toml/marshal.go | 274 +- .../marshal_OrderPreserve_Map_test.toml | 17 + .../go-toml/marshal_OrderPreserve_test.toml | 38 + vendor/github.com/pelletier/go-toml/parser.go | 26 +- vendor/github.com/pelletier/go-toml/test.sh | 88 - vendor/github.com/pelletier/go-toml/toml.go | 120 +- .../pelletier/go-toml/tomltree_write.go | 253 +- vendor/github.com/spf13/afero/unionFile.go | 10 +- vendor/github.com/spf13/cobra/.gitignore | 2 + vendor/github.com/spf13/cobra/.travis.yml | 26 +- vendor/github.com/spf13/cobra/README.md | 61 +- vendor/github.com/spf13/cobra/args.go | 12 + .../spf13/cobra/bash_completions.go | 63 +- .../spf13/cobra/bash_completions.md | 39 +- vendor/github.com/spf13/cobra/cobra.go | 7 + vendor/github.com/spf13/cobra/command.go | 103 +- vendor/github.com/spf13/cobra/command_win.go | 8 +- vendor/github.com/spf13/cobra/go.mod | 13 + vendor/github.com/spf13/cobra/go.sum | 51 + .../spf13/cobra/powershell_completions.go | 100 + .../spf13/cobra/powershell_completions.md | 14 + .../spf13/cobra/shell_completions.go | 85 + .../github.com/spf13/cobra/zsh_completions.go | 400 +- .../github.com/spf13/cobra/zsh_completions.md | 39 + .../spf13/jwalterweatherman/.gitignore | 2 + .../jwalterweatherman/default_notepad.go | 30 +- .../github.com/spf13/jwalterweatherman/go.mod | 6 + .../spf13/jwalterweatherman/log_counter.go | 51 +- .../spf13/jwalterweatherman/notepad.go | 57 +- vendor/github.com/spf13/viper/go.mod | 29 +- vendor/github.com/spf13/viper/go.sum | 157 +- vendor/github.com/spf13/viper/viper.go | 55 +- .../tdewolff/minify/v2/.goreleaser.yml | 7 +- .../github.com/tdewolff/minify/v2/.travis.yml | 3 +- .../github.com/tdewolff/minify/v2/README.md | 16 +- .../github.com/tdewolff/minify/v2/common.go | 8 + vendor/github.com/tdewolff/minify/v2/go.mod | 4 +- vendor/github.com/tdewolff/minify/v2/go.sum | 4 +- .../tdewolff/minify/v2/html/html.go | 45 +- .../tdewolff/minify/v2/html/table.go | 19 +- .../github.com/tdewolff/minify/v2/minify.go | 20 + .../github.com/tdewolff/parse/v2/.travis.yml | 3 +- vendor/github.com/tdewolff/parse/v2/README.md | 6 + .../tdewolff/parse/v2/buffer/lexer.go | 2 +- vendor/github.com/tdewolff/parse/v2/error.go | 4 +- .../tdewolff/parse/v2/html/README.md | 4 +- .../github.com/tdewolff/parse/v2/html/hash.go | 1555 ++-- .../github.com/tdewolff/parse/v2/html/util.go | 14 +- .../github.com/tdewolff/parse/v2/position.go | 70 +- vendor/github.com/tdewolff/parse/v2/util.go | 3 +- vendor/github.com/willf/bitset/.travis.yml | 5 +- vendor/github.com/willf/bitset/Makefile | 8 +- vendor/github.com/willf/bitset/VERSION | 1 - vendor/github.com/willf/bitset/bitset.go | 112 +- .../golang.org/x/net/bpf/vm_instructions.go | 3 +- vendor/golang.org/x/net/html/parse.go | 130 +- .../x/net/idna/{idna.go => idna10.0.0.go} | 8 +- vendor/golang.org/x/net/idna/idna9.0.0.go | 682 ++ .../x/net/idna/{tables.go => tables10.0.0.go} | 6 +- vendor/golang.org/x/net/idna/tables11.0.0.go | 4653 ++++++++++ vendor/golang.org/x/net/idna/tables9.0.0.go | 4486 ++++++++++ .../x/net/internal/socket/cmsghdr.go | 2 +- .../x/net/internal/socket/cmsghdr_bsd.go | 2 +- .../internal/socket/cmsghdr_linux_64bit.go | 2 +- .../x/net/internal/socket/cmsghdr_stub.go | 2 +- .../x/net/internal/socket/defs_aix.go | 39 + .../x/net/internal/socket/defs_darwin.go | 8 - .../x/net/internal/socket/defs_dragonfly.go | 8 - .../x/net/internal/socket/defs_freebsd.go | 8 - .../x/net/internal/socket/defs_linux.go | 8 - .../x/net/internal/socket/defs_netbsd.go | 8 - .../x/net/internal/socket/defs_openbsd.go | 8 - .../x/net/internal/socket/defs_solaris.go | 8 - .../x/net/internal/socket/error_unix.go | 2 +- .../x/net/internal/socket/iovec_64bit.go | 4 +- .../x/net/internal/socket/iovec_stub.go | 2 +- .../x/net/internal/socket/mmsghdr_stub.go | 2 +- .../x/net/internal/socket/mmsghdr_unix.go | 2 +- .../x/net/internal/socket/msghdr_bsd.go | 2 +- .../x/net/internal/socket/msghdr_bsdvar.go | 2 +- .../net/internal/socket/msghdr_linux_64bit.go | 2 +- .../x/net/internal/socket/msghdr_stub.go | 2 +- .../x/net/internal/socket/rawconn.go | 2 - .../x/net/internal/socket/rawconn_mmsg.go | 1 - .../x/net/internal/socket/rawconn_msg.go | 3 +- .../x/net/internal/socket/rawconn_nommsg.go | 7 +- .../x/net/internal/socket/rawconn_nomsg.go | 9 +- .../x/net/internal/socket/rawconn_stub.go | 25 - .../x/net/internal/socket/reflect.go | 62 - .../x/net/internal/socket/socket.go | 3 + .../golang.org/x/net/internal/socket/sys.go | 2 +- .../x/net/internal/socket/sys_bsd.go | 8 +- .../x/net/internal/socket/sys_bsdvar.go | 7 +- .../x/net/internal/socket/sys_const_unix.go | 17 + .../{sys_go1_12_darwin.go => sys_linkname.go} | 2 +- .../net/internal/socket/sys_linux_riscv64.go | 12 + .../x/net/internal/socket/sys_posix.go | 3 +- .../x/net/internal/socket/sys_solaris.go | 5 +- .../x/net/internal/socket/sys_stub.go | 17 +- .../x/net/internal/socket/sys_windows.go | 19 +- .../x/net/internal/socket/zsys_aix_ppc64.go | 61 + .../x/net/internal/socket/zsys_darwin_386.go | 8 - .../net/internal/socket/zsys_darwin_amd64.go | 8 - .../x/net/internal/socket/zsys_darwin_arm.go | 8 - .../net/internal/socket/zsys_darwin_arm64.go | 8 - .../internal/socket/zsys_dragonfly_amd64.go | 8 - .../x/net/internal/socket/zsys_freebsd_386.go | 8 - .../net/internal/socket/zsys_freebsd_amd64.go | 8 - .../x/net/internal/socket/zsys_freebsd_arm.go | 8 - .../x/net/internal/socket/zsys_linux_386.go | 8 - .../x/net/internal/socket/zsys_linux_amd64.go | 8 - .../x/net/internal/socket/zsys_linux_arm.go | 8 - .../x/net/internal/socket/zsys_linux_arm64.go | 8 - .../x/net/internal/socket/zsys_linux_mips.go | 8 - .../net/internal/socket/zsys_linux_mips64.go | 8 - .../internal/socket/zsys_linux_mips64le.go | 8 - .../net/internal/socket/zsys_linux_mipsle.go | 8 - .../x/net/internal/socket/zsys_linux_ppc64.go | 8 - .../net/internal/socket/zsys_linux_ppc64le.go | 8 - .../net/internal/socket/zsys_linux_riscv64.go | 59 + .../x/net/internal/socket/zsys_linux_s390x.go | 8 - .../x/net/internal/socket/zsys_netbsd_386.go | 8 - .../net/internal/socket/zsys_netbsd_amd64.go | 8 - .../x/net/internal/socket/zsys_netbsd_arm.go | 8 - .../net/internal/socket/zsys_netbsd_arm64.go | 60 + .../x/net/internal/socket/zsys_openbsd_386.go | 8 - .../net/internal/socket/zsys_openbsd_amd64.go | 8 - .../x/net/internal/socket/zsys_openbsd_arm.go | 8 - .../net/internal/socket/zsys_solaris_amd64.go | 8 - vendor/golang.org/x/net/ipv4/batch.go | 8 +- vendor/golang.org/x/net/ipv4/control_bsd.go | 2 +- vendor/golang.org/x/net/ipv4/control_stub.go | 4 +- vendor/golang.org/x/net/ipv4/control_unix.go | 2 +- .../golang.org/x/net/ipv4/control_windows.go | 8 +- vendor/golang.org/x/net/ipv4/defs_aix.go | 39 + vendor/golang.org/x/net/ipv4/dgramopt.go | 30 +- vendor/golang.org/x/net/ipv4/doc.go | 5 +- vendor/golang.org/x/net/ipv4/endpoint.go | 2 +- vendor/golang.org/x/net/ipv4/genericopt.go | 8 +- vendor/golang.org/x/net/ipv4/header.go | 11 +- vendor/golang.org/x/net/ipv4/helper.go | 24 +- vendor/golang.org/x/net/ipv4/packet.go | 53 +- vendor/golang.org/x/net/ipv4/packet_go1_8.go | 56 - vendor/golang.org/x/net/ipv4/packet_go1_9.go | 67 - vendor/golang.org/x/net/ipv4/payload_cmsg.go | 59 +- .../x/net/ipv4/payload_cmsg_go1_8.go | 59 - .../x/net/ipv4/payload_cmsg_go1_9.go | 67 - .../golang.org/x/net/ipv4/payload_nocmsg.go | 2 +- vendor/golang.org/x/net/ipv4/sockopt_posix.go | 6 +- vendor/golang.org/x/net/ipv4/sockopt_stub.go | 16 +- vendor/golang.org/x/net/ipv4/sys_aix.go | 38 + vendor/golang.org/x/net/ipv4/sys_asmreq.go | 2 +- .../golang.org/x/net/ipv4/sys_asmreq_stub.go | 8 +- .../golang.org/x/net/ipv4/sys_asmreqn_stub.go | 4 +- vendor/golang.org/x/net/ipv4/sys_bpf_stub.go | 2 +- vendor/golang.org/x/net/ipv4/sys_freebsd.go | 2 +- vendor/golang.org/x/net/ipv4/sys_ssmreq.go | 6 +- .../golang.org/x/net/ipv4/sys_ssmreq_stub.go | 4 +- vendor/golang.org/x/net/ipv4/sys_stub.go | 2 +- .../golang.org/x/net/ipv4/zsys_aix_ppc64.go | 33 + .../x/net/ipv4/zsys_linux_riscv64.go | 151 + vendor/golang.org/x/net/ipv6/batch.go | 2 - .../x/net/ipv6/control_rfc3542_unix.go | 2 +- vendor/golang.org/x/net/ipv6/control_stub.go | 4 +- vendor/golang.org/x/net/ipv6/control_unix.go | 2 +- .../golang.org/x/net/ipv6/control_windows.go | 8 +- vendor/golang.org/x/net/ipv6/defs_aix.go | 82 + vendor/golang.org/x/net/ipv6/dgramopt.go | 34 +- vendor/golang.org/x/net/ipv6/doc.go | 3 +- vendor/golang.org/x/net/ipv6/endpoint.go | 2 +- vendor/golang.org/x/net/ipv6/genericopt.go | 8 +- vendor/golang.org/x/net/ipv6/helper.go | 3 +- vendor/golang.org/x/net/ipv6/icmp_bsd.go | 2 +- vendor/golang.org/x/net/ipv6/icmp_stub.go | 2 +- vendor/golang.org/x/net/ipv6/payload_cmsg.go | 46 +- .../x/net/ipv6/payload_cmsg_go1_8.go | 55 - .../x/net/ipv6/payload_cmsg_go1_9.go | 57 - .../golang.org/x/net/ipv6/payload_nocmsg.go | 2 +- vendor/golang.org/x/net/ipv6/sockopt_posix.go | 12 +- vendor/golang.org/x/net/ipv6/sockopt_stub.go | 18 +- vendor/golang.org/x/net/ipv6/sys_aix.go | 77 + vendor/golang.org/x/net/ipv6/sys_asmreq.go | 2 +- .../golang.org/x/net/ipv6/sys_asmreq_stub.go | 4 +- vendor/golang.org/x/net/ipv6/sys_bpf_stub.go | 2 +- vendor/golang.org/x/net/ipv6/sys_freebsd.go | 2 +- vendor/golang.org/x/net/ipv6/sys_ssmreq.go | 8 +- .../golang.org/x/net/ipv6/sys_ssmreq_stub.go | 6 +- vendor/golang.org/x/net/ipv6/sys_stub.go | 2 +- .../golang.org/x/net/ipv6/zsys_aix_ppc64.go | 103 + .../x/net/ipv6/zsys_linux_riscv64.go | 173 + vendor/golang.org/x/sys/unix/README.md | 16 +- .../golang.org/x/sys/unix/asm_linux_riscv64.s | 54 + .../golang.org/x/sys/unix/asm_openbsd_arm64.s | 29 + vendor/golang.org/x/sys/unix/mkall.sh | 27 +- vendor/golang.org/x/sys/unix/mkerrors.sh | 9 +- vendor/golang.org/x/sys/unix/mkpost.go | 16 + vendor/golang.org/x/sys/unix/mksyscall.go | 11 +- .../x/sys/unix/mksyscall_aix_ppc.go | 13 +- .../x/sys/unix/mksyscall_aix_ppc64.go | 14 +- .../x/sys/unix/mksyscall_solaris.go | 335 + .../x/sys/unix/mksyscall_solaris.pl | 294 - .../golang.org/x/sys/unix/mksysctl_openbsd.go | 355 + .../golang.org/x/sys/unix/mksysctl_openbsd.pl | 265 - .../{openbsd_pledge.go => pledge_openbsd.go} | 3 - vendor/golang.org/x/sys/unix/sockcmsg_unix.go | 15 +- vendor/golang.org/x/sys/unix/syscall.go | 1 - vendor/golang.org/x/sys/unix/syscall_aix.go | 30 +- .../golang.org/x/sys/unix/syscall_aix_ppc.go | 16 + .../x/sys/unix/syscall_aix_ppc64.go | 47 + .../golang.org/x/sys/unix/syscall_darwin.go | 18 + .../golang.org/x/sys/unix/syscall_freebsd.go | 32 +- vendor/golang.org/x/sys/unix/syscall_linux.go | 142 +- .../x/sys/unix/syscall_linux_arm.go | 19 + .../x/sys/unix/syscall_linux_arm64.go | 13 + .../x/sys/unix/syscall_linux_riscv64.go | 13 + .../golang.org/x/sys/unix/syscall_openbsd.go | 17 + .../x/sys/unix/syscall_openbsd_arm64.go | 37 + vendor/golang.org/x/sys/unix/syscall_unix.go | 54 +- vendor/golang.org/x/sys/unix/types_aix.go | 27 +- vendor/golang.org/x/sys/unix/types_darwin.go | 6 + vendor/golang.org/x/sys/unix/types_openbsd.go | 6 + .../{openbsd_unveil.go => unveil_openbsd.go} | 2 - .../golang.org/x/sys/unix/zerrors_aix_ppc.go | 2 + .../x/sys/unix/zerrors_aix_ppc64.go | 4 +- .../x/sys/unix/zerrors_linux_386.go | 167 +- .../x/sys/unix/zerrors_linux_amd64.go | 167 +- .../x/sys/unix/zerrors_linux_arm.go | 167 +- .../x/sys/unix/zerrors_linux_arm64.go | 167 +- .../x/sys/unix/zerrors_linux_mips.go | 167 +- .../x/sys/unix/zerrors_linux_mips64.go | 167 +- .../x/sys/unix/zerrors_linux_mips64le.go | 167 +- .../x/sys/unix/zerrors_linux_mipsle.go | 167 +- .../x/sys/unix/zerrors_linux_ppc64.go | 167 +- .../x/sys/unix/zerrors_linux_ppc64le.go | 167 +- .../x/sys/unix/zerrors_linux_riscv64.go | 167 +- .../x/sys/unix/zerrors_linux_s390x.go | 167 +- .../x/sys/unix/zerrors_linux_sparc64.go | 167 +- .../x/sys/unix/zerrors_openbsd_arm64.go | 1789 ++++ .../golang.org/x/sys/unix/zsyscall_aix_ppc.go | 52 +- .../x/sys/unix/zsyscall_aix_ppc64.go | 48 +- .../x/sys/unix/zsyscall_aix_ppc64_gc.go | 54 +- .../x/sys/unix/zsyscall_aix_ppc64_gccgo.go | 44 +- .../x/sys/unix/zsyscall_darwin_amd64.go | 15 + .../x/sys/unix/zsyscall_darwin_amd64.s | 2 + .../x/sys/unix/zsyscall_linux_386.go | 55 +- .../x/sys/unix/zsyscall_linux_amd64.go | 55 +- .../x/sys/unix/zsyscall_linux_arm.go | 80 +- .../x/sys/unix/zsyscall_linux_arm64.go | 70 +- .../x/sys/unix/zsyscall_linux_mips.go | 55 +- .../x/sys/unix/zsyscall_linux_mips64.go | 55 +- .../x/sys/unix/zsyscall_linux_mips64le.go | 55 +- .../x/sys/unix/zsyscall_linux_mipsle.go | 55 +- .../x/sys/unix/zsyscall_linux_ppc64.go | 55 +- .../x/sys/unix/zsyscall_linux_ppc64le.go | 55 +- .../x/sys/unix/zsyscall_linux_riscv64.go | 70 +- .../x/sys/unix/zsyscall_linux_s390x.go | 55 +- .../x/sys/unix/zsyscall_linux_sparc64.go | 55 +- .../x/sys/unix/zsyscall_openbsd_arm64.go | 1692 ++++ .../x/sys/unix/zsyscall_solaris_amd64.go | 2 +- .../x/sys/unix/zsysctl_openbsd_386.go | 2 + .../x/sys/unix/zsysctl_openbsd_amd64.go | 2 +- .../x/sys/unix/zsysctl_openbsd_arm.go | 4 +- .../x/sys/unix/zsysctl_openbsd_arm64.go | 275 + .../x/sys/unix/zsysnum_darwin_amd64.go | 6 +- .../x/sys/unix/zsysnum_linux_386.go | 800 +- .../x/sys/unix/zsysnum_linux_amd64.go | 4 + .../x/sys/unix/zsysnum_linux_arm.go | 736 +- .../x/sys/unix/zsysnum_linux_arm64.go | 5 + .../x/sys/unix/zsysnum_linux_mips.go | 770 +- .../x/sys/unix/zsysnum_linux_mips64.go | 4 + .../x/sys/unix/zsysnum_linux_mips64le.go | 4 + .../x/sys/unix/zsysnum_linux_mipsle.go | 770 +- .../x/sys/unix/zsysnum_linux_ppc64.go | 15 + .../x/sys/unix/zsysnum_linux_ppc64le.go | 15 + .../x/sys/unix/zsysnum_linux_riscv64.go | 5 + .../x/sys/unix/zsysnum_linux_s390x.go | 18 + .../x/sys/unix/zsysnum_linux_sparc64.go | 20 + .../x/sys/unix/zsysnum_openbsd_arm64.go | 217 + .../golang.org/x/sys/unix/ztypes_aix_ppc.go | 45 +- .../golang.org/x/sys/unix/ztypes_aix_ppc64.go | 50 +- .../x/sys/unix/ztypes_darwin_386.go | 46 +- .../x/sys/unix/ztypes_darwin_amd64.go | 48 +- .../x/sys/unix/ztypes_darwin_arm.go | 46 +- .../x/sys/unix/ztypes_darwin_arm64.go | 48 +- .../x/sys/unix/ztypes_dragonfly_amd64.go | 38 +- .../x/sys/unix/ztypes_freebsd_386.go | 82 +- .../x/sys/unix/ztypes_freebsd_amd64.go | 72 +- .../x/sys/unix/ztypes_freebsd_arm.go | 72 +- .../x/sys/unix/ztypes_freebsd_arm64.go | 72 +- .../golang.org/x/sys/unix/ztypes_linux_386.go | 726 +- .../x/sys/unix/ztypes_linux_amd64.go | 726 +- .../golang.org/x/sys/unix/ztypes_linux_arm.go | 726 +- .../x/sys/unix/ztypes_linux_arm64.go | 726 +- .../x/sys/unix/ztypes_linux_mips.go | 726 +- .../x/sys/unix/ztypes_linux_mips64.go | 726 +- .../x/sys/unix/ztypes_linux_mips64le.go | 726 +- .../x/sys/unix/ztypes_linux_mipsle.go | 726 +- .../x/sys/unix/ztypes_linux_ppc64.go | 726 +- .../x/sys/unix/ztypes_linux_ppc64le.go | 726 +- .../x/sys/unix/ztypes_linux_riscv64.go | 726 +- .../x/sys/unix/ztypes_linux_s390x.go | 726 +- .../x/sys/unix/ztypes_linux_sparc64.go | 726 +- .../x/sys/unix/ztypes_netbsd_386.go | 34 +- .../x/sys/unix/ztypes_netbsd_amd64.go | 40 +- .../x/sys/unix/ztypes_netbsd_arm.go | 40 +- .../x/sys/unix/ztypes_netbsd_arm64.go | 40 +- .../x/sys/unix/ztypes_openbsd_386.go | 10 + .../x/sys/unix/ztypes_openbsd_amd64.go | 10 + .../x/sys/unix/ztypes_openbsd_arm.go | 10 + .../x/sys/unix/ztypes_openbsd_arm64.go | 564 ++ .../golang.org/x/sys/windows/dll_windows.go | 8 +- .../golang.org/x/sys/windows/env_windows.go | 34 +- vendor/golang.org/x/sys/windows/mkerrors.bash | 63 + vendor/golang.org/x/sys/windows/mksyscall.go | 2 + .../x/sys/windows/security_windows.go | 402 +- vendor/golang.org/x/sys/windows/service.go | 65 +- .../x/sys/windows/syscall_windows.go | 74 +- .../golang.org/x/sys/windows/types_windows.go | 251 +- .../x/sys/windows/zerrors_windows.go | 6853 +++++++++++++++ .../x/sys/windows/zsyscall_windows.go | 561 +- .../golang.org/x/text/transform/transform.go | 6 +- vendor/golang.org/x/text/unicode/bidi/bidi.go | 2 +- .../golang.org/x/text/unicode/bidi/bracket.go | 4 +- vendor/golang.org/x/text/unicode/bidi/core.go | 2 +- vendor/golang.org/x/text/unicode/bidi/gen.go | 2 +- .../x/text/unicode/bidi/gen_ranges.go | 2 +- .../x/text/unicode/bidi/tables10.0.0.go | 2 +- .../x/text/unicode/bidi/tables11.0.0.go | 1887 ++++ .../x/text/unicode/norm/composition.go | 8 +- .../x/text/unicode/norm/forminfo.go | 19 + vendor/golang.org/x/text/unicode/norm/iter.go | 3 +- .../x/text/unicode/norm/maketables.go | 20 +- .../x/text/unicode/norm/normalize.go | 4 +- .../x/text/unicode/norm/readwriter.go | 4 +- .../x/text/unicode/norm/tables10.0.0.go | 1892 ++-- .../x/text/unicode/norm/tables11.0.0.go | 7693 +++++++++++++++++ .../x/text/unicode/norm/tables9.0.0.go | 1890 ++-- .../x/text/unicode/norm/transform.go | 10 +- vendor/gopkg.in/square/go-jose.v2/.travis.yml | 3 +- vendor/gopkg.in/square/go-jose.v2/jwk.go | 10 +- vendor/modules.txt | 84 +- 485 files changed, 57821 insertions(+), 12429 deletions(-) create mode 100644 vendor/github.com/RoaringBitmap/roaring/go.mod create mode 100644 vendor/github.com/RoaringBitmap/roaring/go.sum create mode 100644 vendor/github.com/cenkalti/backoff/.gitignore create mode 100644 vendor/github.com/cenkalti/backoff/.travis.yml create mode 100644 vendor/github.com/cenkalti/backoff/LICENSE create mode 100644 vendor/github.com/cenkalti/backoff/README.md create mode 100644 vendor/github.com/cenkalti/backoff/backoff.go create mode 100644 vendor/github.com/cenkalti/backoff/context.go create mode 100644 vendor/github.com/cenkalti/backoff/exponential.go create mode 100644 vendor/github.com/cenkalti/backoff/retry.go create mode 100644 vendor/github.com/cenkalti/backoff/ticker.go create mode 100644 vendor/github.com/cenkalti/backoff/tries.go rename vendor/github.com/{xenolf => go-acme}/lego/LICENSE (100%) rename vendor/github.com/{xenolf => go-acme}/lego/acme/api/account.go (98%) rename vendor/github.com/{xenolf => go-acme}/lego/acme/api/api.go (75%) rename vendor/github.com/{xenolf => go-acme}/lego/acme/api/authorization.go (96%) rename vendor/github.com/{xenolf => go-acme}/lego/acme/api/certificate.go (96%) rename vendor/github.com/{xenolf => go-acme}/lego/acme/api/challenge.go (97%) rename vendor/github.com/{xenolf => go-acme}/lego/acme/api/internal/nonces/nonce_manager.go (96%) rename vendor/github.com/{xenolf => go-acme}/lego/acme/api/internal/secure/jws.go (95%) rename vendor/github.com/{xenolf => go-acme}/lego/acme/api/internal/sender/sender.go (99%) rename vendor/github.com/{xenolf => go-acme}/lego/acme/api/internal/sender/useragent.go (91%) rename vendor/github.com/{xenolf => go-acme}/lego/acme/api/order.go (97%) rename vendor/github.com/{xenolf => go-acme}/lego/acme/api/service.go (100%) rename vendor/github.com/{xenolf => go-acme}/lego/acme/commons.go (100%) rename vendor/github.com/{xenolf => go-acme}/lego/acme/errors.go (100%) rename vendor/github.com/{xenolf => go-acme}/lego/certcrypto/crypto.go (98%) rename vendor/github.com/{xenolf => go-acme}/lego/certificate/authorization.go (96%) rename vendor/github.com/{xenolf => go-acme}/lego/certificate/certificates.go (92%) rename vendor/github.com/{xenolf => go-acme}/lego/certificate/errors.go (100%) rename vendor/github.com/{xenolf => go-acme}/lego/challenge/challenges.go (97%) create mode 100644 vendor/github.com/go-acme/lego/challenge/dns01/cname.go rename vendor/github.com/{xenolf => go-acme}/lego/challenge/dns01/dns_challenge.go (87%) rename vendor/github.com/{xenolf => go-acme}/lego/challenge/dns01/dns_challenge_manual.go (84%) rename vendor/github.com/{xenolf => go-acme}/lego/challenge/dns01/fqdn.go (100%) rename vendor/github.com/{xenolf => go-acme}/lego/challenge/dns01/nameserver.go (100%) rename vendor/github.com/{xenolf => go-acme}/lego/challenge/dns01/precheck.go (70%) rename vendor/github.com/{xenolf => go-acme}/lego/challenge/http01/http_challenge.go (88%) rename vendor/github.com/{xenolf => go-acme}/lego/challenge/http01/http_challenge_server.go (98%) rename vendor/github.com/{xenolf => go-acme}/lego/challenge/provider.go (100%) rename vendor/github.com/{xenolf => go-acme}/lego/challenge/resolver/errors.go (100%) rename vendor/github.com/{xenolf => go-acme}/lego/challenge/resolver/prober.go (97%) rename vendor/github.com/{xenolf => go-acme}/lego/challenge/resolver/solver_manager.go (77%) rename vendor/github.com/{xenolf => go-acme}/lego/challenge/tlsalpn01/tls_alpn_challenge.go (95%) rename vendor/github.com/{xenolf => go-acme}/lego/challenge/tlsalpn01/tls_alpn_challenge_server.go (98%) rename vendor/github.com/{xenolf => go-acme}/lego/lego/client.go (92%) rename vendor/github.com/{xenolf => go-acme}/lego/lego/client_config.go (97%) rename vendor/github.com/{xenolf => go-acme}/lego/log/logger.go (100%) rename vendor/github.com/{xenolf => go-acme}/lego/platform/wait/wait.go (94%) rename vendor/github.com/{xenolf => go-acme}/lego/registration/registar.go (97%) rename vendor/github.com/{xenolf => go-acme}/lego/registration/user.go (100%) create mode 100644 vendor/github.com/golang/protobuf/proto/deprecated.go create mode 100644 vendor/github.com/golang/snappy/go.mod create mode 100644 vendor/github.com/magiconair/properties/go.mod create mode 100644 vendor/github.com/miekg/dns/msg_truncate.go create mode 100644 vendor/github.com/pelletier/go-toml/.dockerignore create mode 100644 vendor/github.com/pelletier/go-toml/CONTRIBUTING.md create mode 100644 vendor/github.com/pelletier/go-toml/Dockerfile create mode 100644 vendor/github.com/pelletier/go-toml/PULL_REQUEST_TEMPLATE.md create mode 100644 vendor/github.com/pelletier/go-toml/appveyor.yml create mode 100644 vendor/github.com/pelletier/go-toml/go.mod create mode 100644 vendor/github.com/pelletier/go-toml/go.sum create mode 100644 vendor/github.com/pelletier/go-toml/marshal_OrderPreserve_Map_test.toml create mode 100644 vendor/github.com/pelletier/go-toml/marshal_OrderPreserve_test.toml delete mode 100644 vendor/github.com/pelletier/go-toml/test.sh create mode 100644 vendor/github.com/spf13/cobra/go.mod create mode 100644 vendor/github.com/spf13/cobra/go.sum create mode 100644 vendor/github.com/spf13/cobra/powershell_completions.go create mode 100644 vendor/github.com/spf13/cobra/powershell_completions.md create mode 100644 vendor/github.com/spf13/cobra/shell_completions.go create mode 100644 vendor/github.com/spf13/cobra/zsh_completions.md delete mode 100644 vendor/github.com/willf/bitset/VERSION rename vendor/golang.org/x/net/idna/{idna.go => idna10.0.0.go} (99%) create mode 100644 vendor/golang.org/x/net/idna/idna9.0.0.go rename vendor/golang.org/x/net/idna/{tables.go => tables10.0.0.go} (99%) create mode 100644 vendor/golang.org/x/net/idna/tables11.0.0.go create mode 100644 vendor/golang.org/x/net/idna/tables9.0.0.go create mode 100644 vendor/golang.org/x/net/internal/socket/defs_aix.go delete mode 100644 vendor/golang.org/x/net/internal/socket/rawconn_stub.go delete mode 100644 vendor/golang.org/x/net/internal/socket/reflect.go create mode 100644 vendor/golang.org/x/net/internal/socket/sys_const_unix.go rename vendor/golang.org/x/net/internal/socket/{sys_go1_12_darwin.go => sys_linkname.go} (98%) create mode 100644 vendor/golang.org/x/net/internal/socket/sys_linux_riscv64.go create mode 100644 vendor/golang.org/x/net/internal/socket/zsys_aix_ppc64.go create mode 100644 vendor/golang.org/x/net/internal/socket/zsys_linux_riscv64.go create mode 100644 vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm64.go create mode 100644 vendor/golang.org/x/net/ipv4/defs_aix.go delete mode 100644 vendor/golang.org/x/net/ipv4/packet_go1_8.go delete mode 100644 vendor/golang.org/x/net/ipv4/packet_go1_9.go delete mode 100644 vendor/golang.org/x/net/ipv4/payload_cmsg_go1_8.go delete mode 100644 vendor/golang.org/x/net/ipv4/payload_cmsg_go1_9.go create mode 100644 vendor/golang.org/x/net/ipv4/sys_aix.go create mode 100644 vendor/golang.org/x/net/ipv4/zsys_aix_ppc64.go create mode 100644 vendor/golang.org/x/net/ipv4/zsys_linux_riscv64.go create mode 100644 vendor/golang.org/x/net/ipv6/defs_aix.go delete mode 100644 vendor/golang.org/x/net/ipv6/payload_cmsg_go1_8.go delete mode 100644 vendor/golang.org/x/net/ipv6/payload_cmsg_go1_9.go create mode 100644 vendor/golang.org/x/net/ipv6/sys_aix.go create mode 100644 vendor/golang.org/x/net/ipv6/zsys_aix_ppc64.go create mode 100644 vendor/golang.org/x/net/ipv6/zsys_linux_riscv64.go create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_riscv64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s create mode 100644 vendor/golang.org/x/sys/unix/mksyscall_solaris.go delete mode 100644 vendor/golang.org/x/sys/unix/mksyscall_solaris.pl create mode 100644 vendor/golang.org/x/sys/unix/mksysctl_openbsd.go delete mode 100644 vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl rename vendor/golang.org/x/sys/unix/{openbsd_pledge.go => pledge_openbsd.go} (98%) create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go rename vendor/golang.org/x/sys/unix/{openbsd_unveil.go => unveil_openbsd.go} (98%) create mode 100644 vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/windows/mkerrors.bash create mode 100644 vendor/golang.org/x/sys/windows/zerrors_windows.go create mode 100644 vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go create mode 100644 vendor/golang.org/x/text/unicode/norm/tables11.0.0.go diff --git a/assets/bindata.go b/assets/bindata.go index df6fe2fb..2d59a1ee 100644 --- a/assets/bindata.go +++ b/assets/bindata.go @@ -1,13 +1,13 @@ // Code generated by go-bindata. // sources: -// dist/10.96048755c97f56836396.js.br -// dist/4.372a5b910e3de57fda50.js.br -// dist/5.7ad90c4668f42cf15ea0.js.br -// dist/6.ed4c30a3e8768f68010a.js.br -// dist/7.b3e6afa725f0f18df870.js.br -// dist/8.6edda2ef78269650782a.js.br -// dist/9.ec83286d14b56ebb8488.js.br -// dist/boot.5f7e76008bc7f3968ebd.js.br +// dist/10.cc724d664a840aa9b8eb.js.br +// dist/4.a60e5d61075d61681580.js.br +// dist/5.785f1443e972b513b230.js.br +// dist/6.d84415b3a87bb1b3232c.js.br +// dist/7.5bbf24ff044a95c2a3ea.js.br +// dist/8.5e9b0ddea6da6e65c007.js.br +// dist/9.ae2f008c1ea027b7f593.js.br +// dist/boot.d16572e50321c967f35f.js.br // dist/config.default.toml // dist/favicon.ico // dist/font/Montserrat-Bold.woff @@ -22,26 +22,32 @@ // dist/font/fontello.woff2 // dist/icon_192.png // dist/icon_512.png -// dist/main.1d1419ddb5eb2d7ed47c.js.br +// dist/main.6bbc82fd5fade1a19eca.js.br // dist/main.dfac952ed634d0cb3ecd.css.br // dist/manifest.json.br -// dist/precache-manifest.9e98b44ce2e0f5dcb4d5872414bbf468.js.br -// dist/runtime.80a48224acd0a73f7d03.js.br +// dist/precache-manifest.bef7d3fcb747de0d3bbae81a7517d996.js.br +// dist/runtime.6d8adf50c30e0820a841.js.br // dist/sw.js.br -// dist/vendors~main.86053eda843a2f338397.js.br -// dist/workbox-v3.6.3/workbox-background-sync.prod.js.br -// dist/workbox-v3.6.3/workbox-broadcast-cache-update.prod.js.br -// dist/workbox-v3.6.3/workbox-cache-expiration.prod.js.br -// dist/workbox-v3.6.3/workbox-cacheable-response.prod.js.br -// dist/workbox-v3.6.3/workbox-core.prod.js.br -// dist/workbox-v3.6.3/workbox-google-analytics.prod.js.br -// dist/workbox-v3.6.3/workbox-navigation-preload.prod.js.br -// dist/workbox-v3.6.3/workbox-precaching.prod.js.br -// dist/workbox-v3.6.3/workbox-range-requests.prod.js.br -// dist/workbox-v3.6.3/workbox-routing.prod.js.br -// dist/workbox-v3.6.3/workbox-strategies.prod.js.br -// dist/workbox-v3.6.3/workbox-streams.prod.js.br -// dist/workbox-v3.6.3/workbox-sw.js.br +// dist/vendors~main.ebc1861b956e3132eed7.js.br +// dist/workbox-v4.3.1/workbox-background-sync.prod.js.br +// dist/workbox-v4.3.1/workbox-broadcast-update.prod.js.br +// dist/workbox-v4.3.1/workbox-cacheable-response.prod.js.br +// dist/workbox-v4.3.1/workbox-core.prod.js.br +// dist/workbox-v4.3.1/workbox-expiration.prod.js.br +// dist/workbox-v4.3.1/workbox-navigation-preload.prod.js.br +// dist/workbox-v4.3.1/workbox-offline-ga.prod.js.br +// dist/workbox-v4.3.1/workbox-precaching.prod.js.br +// dist/workbox-v4.3.1/workbox-range-requests.prod.js.br +// dist/workbox-v4.3.1/workbox-routing.prod.js.br +// dist/workbox-v4.3.1/workbox-strategies.prod.js.br +// dist/workbox-v4.3.1/workbox-streams.prod.js.br +// dist/workbox-v4.3.1/workbox-sw.js.br +// dist/workbox-v4.3.1/workbox-window.dev.es5.mjs +// dist/workbox-v4.3.1/workbox-window.dev.mjs +// dist/workbox-v4.3.1/workbox-window.dev.umd.js.br +// dist/workbox-v4.3.1/workbox-window.prod.es5.mjs +// dist/workbox-v4.3.1/workbox-window.prod.mjs +// dist/workbox-v4.3.1/workbox-window.prod.umd.js.br // DO NOT EDIT! package assets @@ -99,162 +105,162 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var __1096048755c97f56836396JsBr = "\x1b\x02\x19\x00\x8c\xc2\xb6\xd9\xf3\x03\x18\xb7\xf5\x62\x18\x49\x92\x46\x48\x32\x0b\x5f\xaa\xbe\x55\x6d\x48\x3b\xf0\xc3\x3a\x94\xe6\x1f\xbb\x2a\x04\x3a\xd3\x97\xa9\x4b\x9d\xb4\xd7\xde\xe6\x7f\xfd\xea\xea\x38\x30\x45\x87\xb4\x37\x7d\xb1\xf7\xe1\x67\x7a\x11\x42\x6a\x5e\xc9\x6e\x84\xf4\xc4\xfc\xdf\x9a\x69\x67\xef\x4a\x32\xae\x67\x54\x5f\x85\x04\xb2\xb5\x55\x72\xfe\xfc\xc9\xef\x42\x36\xcb\xb9\xce\x01\x63\x78\x53\x02\x52\xc8\xc2\x54\xd5\xe9\xfa\xba\x4a\x4b\x6e\x1b\x81\x7d\x2d\x33\x58\x6d\x63\x34\xd7\xa1\x8d\xc8\xe1\xe7\x22\x15\x3e\xd4\xf7\xc8\x73\x0b\x03\x9a\x1d\xad\x49\xcd\xc5\x08\x1f\x96\x48\xf6\xb9\x2c\x4b\xe4\x33\x71\x75\x73\x55\xa5\xea\x07\x98\x05\x21\x6d\xf0\xf9\xcf\xf6\xc2\x7f\x5f\x99\x16\x1a\xa5\x0f\xe4\x9b\xf5\x9d\x29\x56\x39\xda\x23\x30\x9c\xf0\x3d\xb6\x53\xdd\x32\x6f\x18\x37\xfa\xfa\xae\x0e\xcc\x68\x15\xdb\x64\x9f\xb5\x91\x6c\xa1\xaa\x68\x4d\x38\xf5\xba\x69\x83\xb7\x7c\x45\x65\x14\x7c\x3d\x2b\x4d\x28\x7b\x32\x03\xbc\x43\x96\xcb\x14\x46\xda\x68\x3b\x09\x9d\xec\xe2\x81\xb4\x54\x3a\xf5\x78\xb5\xc2\x0b\x19\xb2\x7d\x67\x86\xbd\x79\x9d\xe8\x8e\xaa\xd9\x23\x45\x42\x14\x9f\x3c\x99\xbf\x86\xbb\x6f\xfc\x05\xf6\xa0\x90\xbe\xc1\x08\xa7\x8b\x11\xb3\x8b\xeb\x26\x11\xaa\x78\xb0\xcd\x96\x92\x19\x04\x07\xa7\x45\x64\x19\x5e\x59\x32\x1a\x6a\xf6\x6a\xab\x3e\x59\x4d\x6c\x4f\x53\x2b\xff\x7e\xec\x2e\xbb\x09\x17\x9d\xb1\xc3\xe7\x17\xea\x56\x1d\xb3\x4a\xec\x64\x67\xb9\xeb\x0e\x3e\x5f\x9a\x7b\xca\x6a\xbf\xb8\x0e\x8e\x24\xf2\x0d\xd2\x83\xe5\x72\x67\x7a\xa1\x6e\x2b\x88\x89\x63\x3a\x25\xec\xeb\x3d\xda\xdc\x68\x7b\x68\x9b\x3c\xa6\x04\x39\x75\x5e\x06\x06\x31\xf0\x37\x44\x2e\x23\xb2\xa6\xa7\x22\x4f\xce\x51\x6f\xf5\x5a\x68\xd7\x7b\x35\x76\x3c\x8c\x58\x2f\x82\x63\x61\xd0\xb3\x40\x81\x95\xac\x62\x01\x50\x49\xc4\x00\x69\x49\x7b\x89\x34\x0d\x50\x54\x99\xca\xa3\x48\xc8\xad\x74\xb1\x37\x88\x01\x6d\x0b\x8e\x89\xdc\x2d\x8b\x51\xd4\x0a\xa9\x66\x7d\xdf\xcd\x4c\xad\x4a\xd9\x41\xc2\x7a\xba\x99\x15\x43\xdb\x23\xfc\x87\x58\x95\xb9\xa2\x8c\x58\xfd\x8b\x99\xff\xea\xf8\x1f\x3c\x1c\x24\x3e\xb3\x18\x6f\x45\x86\xc0\xe9\x3d\xd0\xe9\x27\x9c\xe6\xf5\xb7\xa2\x17\xea\x45\xae\x39\xc7\xc6\x4e\x05\x65\xd5\x4d\x73\x92\xcb\x7b\xa2\x48\x1d\xf7\x89\x1b\x70\x8e\x34\x25\x36\x66\xf4\x16\xc6\x3d\x1d\xd1\x30\xdd\x85\x52\x15\x5d\x2a\xc5\xd1\x82\xbd\x32\x62\x87\xc3\xb1\x51\xe7\x8d\x1c\x7c\x50\x58\xe9\xde\x95\xc2\x7b\xca\x11\x57\x68\xed\x33\xae\x67\x0b\xe3\x26\x3c\x19\x58\x09\x2e\xc1\xd4\xd9\x15\xd9\x06\x5d\x7e\xfe\xb3\x83\x35\x1e\xc6\xa3\x7a\x82\x72\xd7\x2b\x9d\xa6\xb6\xe6\xcc\x74\x5f\x72\xda\xe0\x74\x42\x93\x54\x69\x98\xd0\x9c\xfa\x62\x7e\x8b\xbb\x31\x5e\x64\xc7\xe5\x0c\x7e\xa4\xd4\x42\x71\x62\x48\x4d\x19\x51\x12\x8a\x41\x2b\xcf\xa4\x10\x52\xbe\x40\x55\x10\x46\x04\x61\xd8\x5d\x86\xa6\xd3\x99\x46\x52\xa9\xea\x5f\xae\x13\x46\x7b\xd0\x34\x1e\x0c\x70\xc7\x02\x61\xf8\xbb\xe7\xfc\x9a\x62\x43\x72\x72\x53\x24\x09\xe7\xbf\x29\xd6\x39\x47\xa6\xd8\x49\x84\xdb\x06\x77\x7f\xfb\xbb\x45\xd5\xbb\x41\x28\x8b\xb6\xf9\xbe\x64\x73\x83\x75\x03\x38\x6d\x8f\xe0\x14\xf3\x82\xd1\xe8\xf5\x65\x93\x72\xf5\xef\x23\x06\xf3\x00\x49\x4d\x20\x70\x3e\x68\x5f\x6e\xca\x44\xae\x11\xd7\xd0\x1c\x14\xda\x44\x35\x48\xfb\x15\x83\xf0\x26\x89\x1a\xaf\xed\x8a\xd7\xc4\xbe\x94\x8b\x52\xbf\x2f\x19\x3a\x7e\x21\x26\xe4\xc5\x9a\x12\x18\x69\x11\xa9\xaa\xcd\x68\x31\x6a\x0b\x2e\x6d\x4f\x78\xe9\x5a\x2f\x4f\xad\x89\x60\x62\x80\xbb\x34\x55\xec\x14\x8f\x91\x1c\x1a\x35\xf3\x10\xa4\xce\x2d\x1f\x9f\xe2\x1f\x6e\x8b\xae\xcf\x18\xc7\xf7\x87\x0e\x00\x30\x9c\x19\x2c\x77\xc3\xc1\xb7\x60\x97\xbe\x2f\xa1\xef\x6a\xc3\xd5\x9a\x2d\x0f\x34\x65\x4a\xa0\x3e\x0e\x87\x34\x54\x6a\xce\x9b\xa9\xca\xf2\x31\x7e\x55\xa2\x3d\x7a\x84\x93\xf7\x28\x80\x15\xc2\x8f\x52\x99\x78\xa2\x21\x52\x9b\x42\x5e\x95\x31\x61\x1e\xeb\x0a\xec\x8f\xfd\x40\x22\x88\xe5\xa9\xdf\x7e\x0f\xa8\x4e\xc0\x17\x03\x94\x25\x63\xac\xf8\x44\x50\x12\x66\x83\xdb\xa5\xf5\xa8\x89\x87\xf5\x14\xbb\x50\x1f\x8a\x04\xc1\x98\xae\x0b\xa1\xfa\xb9\xc2\x3b\x04\x26\xb4\x56\x57\xb4\x1d\xd4\x22\xdb\x84\xf1\x07\xd2\xa1\x77\x05\xc0\x8e\x4b\x71\xe1\xa4\x4b\x3d\x00\xbb\x65\xd2\x6e\x4b\x02\x48\x63\xf3\x3d\x92\xa7\xb1\x8c\x3a\x28\xb2\x1c\x3f\xf6\x3d\xa0\xf8\xf6\x95\x57\x09\x51\x52\x8f\xb3\xc6\x5a\x1b\x07\x96\xe9\x01\xc1\x17\x8d\xd3\x9a\xe5\xf9\x98\xe7\x77\x1b\xcc\xaf\x4f\xf3\x0b\x6a\xa5\xc3\xca\x23\x1d\x41\x9f\x2e\x78\x2f\xd4\x58\x8a\xf1\x29\x7c\xe3\x45\xfb\xb8\x16\x5f\x44\xcb\x8c\x1a\xeb\x97\x14\x0c\x36\xf3\x7c\x6b\x63\x1b\xca\x53\x00\x97\x34\x75\x74\xff\xce\xf5\x37\x75\x6c\xa8\x1a\x1b\x63\xaa\x46\xc0\x77\xd9\xb2\x40\xc5\xcd\x97\x09\x0c\xde\x07\x65\x65\x9f\x9b\x03\x16\x35\x2d\xdb\xb5\x54\x02\x66\xce\x8c\x93\xf4\x2b\x22\xfa\x93\x3e\x7c\x00\xa0\x43\x15\xcd\x8c\x80\xed\xd1\xc8\x8b\x25\x34\xf4\x6c\x0b\x73\xb6\x0b\x3b\x30\x36\x50\xd1\x9d\x7d\x14\x48\xeb\x51\xe6\x64\xad\x5f\xe5\x59\xd2\xa4\x78\x02\xf5\x3f\x4d\x15\x73\xa3\x4f\x58\x12\xea\x21\xd3\x8a\x95\xc4\x25\xe2\x67\xf4\x11\x03\x05\x23\x04\x9c\x15\xc4\xbf\xe6\x4c\xf1\x50\x01\xa0\x89\xd7\x84\x45\x3e\x73\xc9\x92\xca\xc2\xe9\x0b\x3e\xda\x92\x07\xa7\xb6\xd8\x4c\xb9\x13\x00\x6f\x38\x29\x54\xac\x23\x0d\x5b\x91\xad\x18\x1a\xb3\xf9\x0c\x98\x24\x50\x2f\x23\x00\xa0\x9e\x12\xbe\x0f\x4d\xa5\xcb\x26\x17\xb6\x7d\xc4\x07\x9f\x81\x1f\xfc\xa6\x92\x37\x91\x84\xb8\xfe\xc8\x67\xa0\xc0\xe3\x34\xad\x44\x73\xba\x4e\x50\xb2\x71\xad\x37\x47\xc1\x00\x10\x00\xca\xf3\x43\xfe\xa0\x65\x92\x37\x3e\x8d\xbf\xf4\x8d\x4a\x78\x0b\xc4\x2e\x7d\x37\x8d\x46\xec\xfd\x51\x53\xcc\xd0\x1a\x14\xf7\x7b\xad\xba\xf8\xca\x4c\x5b\xf5\xc9\x60\xec\x13\x48\x80\x61\x65\xed\x3e\xf3\x0c\xfe\xd2\x06\xd0\x4f\x53\xbc\x18\x31\x1f\xfd\x84\x03\x03\xe8\x27\x9c\x4f\xdb\xd0\x6f\x03\xcd\x3c\xe2\xc8\x26\x86\x06\x99\x20\xdf\x2d\x4b\x21\xc7\x3e\xcf\x45\x5b\x9e\xac\xb5\x55\x60\x0a\x21\x82\xdd\xb3\x70\x32\x0b\xf5\xac\x96\x93\x45\xb9\xfb\x98\x76\x16\x22\xd1\xc8\x93\x98\xcb\x79\xcb\xbf\x44\xee\xc5\x11\x13\x65\xc9\xa6\xf9\xbc\xb0\xf1\x28\x7e\xbe\x21\xfb\x76\x00\x7e\xf7\xca\x35\x38\x30\x6d\x3d\xfd\xab\xdf\x0d\x4c\x01\x8a\x45\xca\x56\xd1\xa0\xa6\xcf\x14\x4e\x87\x7c\xa1\x9b\xe0\x54\x01\x11\x6e\xad\x02\x94\x0d\x98\xf2\xb6\x49\x61\x9d\xaa\x2a\xbe\x8c\x1b\x16\xb0\xec\x69\x9f\x94\xc3\xea\xca\xfe\x8e\x9e\xd3\xaf\xbe\xa0\xf9\xcf\x45\x5d\x4b\x53\x02\x18\xb3\xbe\xe4\x70\xac\xd7\x82\x3a\xdc\xf6\x92\x8f\xe6\xcb\xc4\xe3\x51\x7d\x11\x06\x89\x80\x89\x3f\x9e\x1a\x88\x39\x35\x40\x15\xac\xaa\x5f\x1b\x8e\xcd\x13\x6c\xef\x2d\x77\x2c\x6a\x24\xc3\xde\x86\x91\xea\x48\x20\x1e\xd7\x77\x2f\x42\x6a\x05\x8a\x84\x1e\x32\xa3\x78\xff\x14\x5b\xa8\x36\x78\x18\x69\x5a\x9f\x11\x5e\x09\x78\x45\x9b\xea\x27\x51\x58\x49\xe4\x17\x23\xd4\x38\xb5\x5e\x3d\x21\x62\x73\x8c\x80\xc1\x2f\x84\x8b\x4b\x25\x95\x1e\x1e\x1b\x2a\xae\xda\xec\xbf\xc3\x6c\xb1\x3d\x67\x80\xd1\x3b\x1c\xf0\x28\x3f\xb9\x6b\x36\x72\x12\x5c\x72\xda\xf8\xb1\x98\x06\x84\x37\xa6\x1f\x53\x1b\xb2\x16\x50\x14\xaf\x87\x08\x83\xa9\xc5\x6a\x7a\xfe\x66\xe4\xee\x65\x6d\xf0\xba\x14\x2d\x81\xac\xa1\x76\x92\xa5\x77\x59\x43\xc6\xce\xa3\xd2\x4c\xf5\xfb\x12\xee\xae\xc0\x55\x81\x6a\xd0\x06\xc6\x3c\x12\x13\xfc\x3e\xae\xc4\xbd\x29\x5a\x9b\xb1\x05\xa7\x6b\x07\xff\x1d\x0e\x16\xdb\xfb\x60\xed\x31\xa7\xd8\x2c\x29\xf8\x22\x1c\x75\x0a\x67\x14\xa6\x59\x1a\x62\xc9\xf8\x73\xdf\x16\xe8\x98\xb3\x99\xb1\x72\x41\x86\x26\x0c\x6a\xf7\xea\xab\xd9\x03\x9c\x58\x40\x58\x1e\xb8\xda\x97\x85\xee\x9e\xec\x65\x42\x71\xca\xfa\xf9\x44\xf7\xf9\xa1\x20\x79\xbe\xc1\xa5\x76\xfc\xdf\xe1\x78\xb1\xbd\x8f\xdf\xf5\xea\xcb\x38\x11\xb1\x13\x3f\x55\xf5\xa3\x76\x5d\x75\x1a\x35\xec\xca\x93\xa3\xf5\x8f\x42\xb8\x68\x8e\x1e\xfd\x2a\x7e\xb8\x16\x5e\x66\x1d\x4b\x5e\xd5\xd5\x00" +var __10Cc724d664a840aa9b8ebJsBr = "\x1b\xdd\x18\x00\x1c\x07\x4e\xd9\xbc\xf8\xe3\x62\x8c\xbe\x05\x8f\x9c\x13\xba\x11\x92\xcc\xfa\x65\x53\xff\x74\xc5\x2f\x4d\x1a\x63\xa7\x74\xcd\x57\x7a\x3d\xf2\x9b\x0c\x22\x90\x88\x5d\x22\xe1\x34\x19\xa8\x52\xcd\xa2\x58\x7e\xa6\xae\x6b\x65\x42\xe1\x56\x8a\x02\x16\xe4\xa1\xf7\xe0\xbb\x8c\x5c\xf8\xb7\x5b\xca\xb4\xd7\xbe\x63\x86\x05\x29\x29\x4a\xe6\xaf\xb9\x4f\x9b\xdc\x5d\x41\x12\x18\xd1\xa9\x90\x77\x6c\x6b\xab\x64\xde\xbe\xcd\xb6\x1b\xe2\x03\xc6\xe4\x53\x89\x40\x7d\x55\x22\x89\xaa\xce\xb0\xf6\xa4\x37\x53\x38\xf4\x5e\xbe\xb1\x31\x98\xad\x43\xc5\x40\x3c\x70\xed\xbf\x26\x28\xaa\x3f\xc7\xa4\xb4\xf0\x42\xb3\xc3\xb5\xda\x9d\xbc\xe1\x43\x35\xcb\x5e\x97\x65\xab\x3a\xc4\xb5\xae\x95\xab\xaf\x10\x16\x82\xbd\x61\xfa\xcf\x26\xa1\xf3\x75\xde\xa1\x71\x78\x91\xdc\x6c\xea\x34\x6b\x15\x4c\x0e\x21\x39\xe3\x31\x61\xb7\xb0\x13\xbc\x98\x5b\x6b\x6d\xab\x30\x08\xb9\x58\x0b\x5b\x7c\x4a\xdc\xec\x50\xdc\xde\x30\xa1\x69\x30\x5a\xb9\xfc\x52\x54\x7c\xad\x28\x93\x51\xfa\xf8\x0b\xf0\x0e\x98\xcd\x72\xe8\x7b\xe3\xed\x38\xd2\xab\x41\x47\xd6\xb2\xda\xa9\xa5\xc3\x50\x16\x02\x4e\xff\xf6\x8c\x7a\x23\x1d\xeb\x92\x7a\x26\xec\x44\x18\xc7\xc7\x8f\xab\xd7\x70\xff\x49\x7f\x81\x3d\xa8\xa4\x77\x08\xc6\xf9\x72\x51\xd8\xc5\xf5\xe4\xc1\x73\xc9\x60\x8b\x2d\x87\x30\x10\x09\x36\xd2\xc4\x02\x59\x45\xe2\x2d\x37\xbb\xbd\xd5\x9f\xa2\x25\xb6\x6a\x6d\x4d\xef\xc4\xfe\x10\x31\x2e\xda\x63\x8f\x2f\x2f\xb4\xad\x1a\x61\x9d\xd9\xf1\x2e\x57\xc2\x1d\x7d\xb9\x44\x97\x67\x4d\xbf\xb8\x0e\xbd\x49\xe4\x1d\xec\x87\x5c\x79\x33\x61\x16\xee\x69\x07\x26\xc4\x3b\x98\x9c\x08\x1f\xc3\xbc\xb9\xd1\x45\xf9\x7a\x8f\xa2\x4a\x0b\x67\x2b\x4b\x06\xd7\x1d\x40\x38\xc0\x59\x2a\xca\xa6\xad\xa2\x50\xce\x50\x68\xd6\xc2\xb8\xe4\x56\xcf\x08\x43\x42\x60\xe1\x95\x67\xd4\x5b\x1b\xb5\x30\x17\xb4\x11\xf2\x7a\x34\x79\x49\x15\x4d\x1d\x8a\x16\xb3\xfb\xe3\x24\xb4\xd1\x71\x77\xd8\xa1\x6f\xc6\x29\xb1\x70\xb1\x14\x49\xa3\xa0\x56\xd6\x97\xdd\x3e\xab\x35\xe9\xc3\xc6\xe6\xde\x96\xaf\x14\xba\x84\xef\x2f\x12\x75\x4c\xac\x52\xb1\xfe\x97\xb2\xb4\xd5\xf6\x5f\x52\x01\x96\x4d\xa3\x18\x6d\x4d\x46\x60\xf7\x1c\x74\x06\xab\xd0\xbe\x7e\xb7\xf3\x4c\x49\xe8\x5c\xea\x91\xb1\x77\xc1\xd1\x72\x0d\xc9\x70\x7a\x5e\x56\x84\xd9\xd1\x67\xae\xcf\xe9\xc8\x13\xb0\xb1\xa0\x37\x08\x99\x7b\x23\x19\xc1\x74\x90\x5d\x15\xa7\x05\x1a\xcd\xd9\x2f\x15\x7b\x1c\x81\x79\x53\x36\x16\xe0\xb9\xa9\xb5\xef\x5d\x59\x3e\xf7\x04\x22\x65\x3a\xdf\xde\x55\x7a\xf2\x6c\xe5\xc9\xe0\x4f\x84\x04\xb3\xa7\xd7\x7c\xeb\x77\x31\xfd\x67\x5f\xd6\x78\x90\x54\xf3\x04\xe3\xae\x7b\x45\x6b\x6d\x5b\xce\xd4\x1c\xac\x40\x27\x09\xe2\xe5\xc1\x96\xba\x31\xcf\x4f\x5f\x4c\xef\x71\x3b\x21\x8b\x6c\x1b\x17\xf0\x43\x85\x01\xc5\xb1\x21\x0c\xa5\x22\x12\x92\x97\x56\x9e\x4a\x11\xe5\x5c\x57\x17\x7c\x18\x13\x05\xb7\xab\x80\x67\xd0\xa9\xb9\xed\x72\xd5\xbf\xdc\x28\x8c\xee\xb0\x6d\x6d\xcc\xe9\x1d\x15\x60\x18\x55\xe9\xf7\xe9\xde\x70\x98\xa0\x59\x73\x81\x57\xb7\xbc\x70\x9c\xac\x1d\x07\xb7\x62\xf7\x7f\xfb\xfb\x49\xc1\x0b\x27\x96\x79\x5b\xb5\xcf\x44\x95\xf0\xae\x43\xea\xfe\x08\x7e\x62\x9e\xbb\xb8\x78\xfb\xa2\x71\xb9\xfa\xfb\xbe\xc0\x77\x80\x68\x63\x15\x38\x1b\xde\x67\x5b\x2a\xaa\xcc\xe5\x46\x82\x3c\x1b\x5a\x0d\xf2\x7e\xc9\x90\xfa\x64\x49\xf5\x68\x3d\xe0\x75\xd9\x3e\x5b\x99\xa7\xfd\x3e\x13\x94\x71\x40\x4c\x28\x8b\xeb\x7a\x43\xbe\x31\x93\x0a\xba\xc0\x58\x50\x9b\x68\xe9\x7a\xc2\x4d\x2b\x8d\xdb\x6e\x5d\x04\x85\x22\xdc\x6a\xba\x3a\xf6\x4e\x87\xaf\x6e\xea\x3d\x63\xe3\x6a\x17\x56\xa2\x4f\xf0\x0f\xb7\x55\xd7\x93\x6b\x1a\x9f\x3f\x3a\x00\x94\xe1\xd4\x90\x2b\x11\x8e\xbe\x05\xb9\xf0\x7d\x09\x7d\x15\x86\xc3\xba\xc4\x23\xf5\xf2\x52\x0f\xee\xfc\x3c\x0f\xab\x55\xc5\x9d\x89\xca\xf2\x36\xbe\x55\xa6\x6d\x7e\x54\x27\xcf\x51\xc0\x90\xf1\xa3\x54\x2e\x76\xda\x32\xa9\x45\x11\xff\x8c\x31\xe2\xbe\x43\x5f\x61\x7f\xec\x9b\x26\x82\x54\xf2\x7e\xea\x17\xa1\x3e\x45\xbd\x70\x18\x4b\x7c\x64\xf8\xf8\x28\x84\x29\x76\x37\xb6\x19\x0d\x4b\x59\xb8\x42\x5b\xa8\x59\x11\x44\xee\x30\x43\xbe\xb2\x0d\x51\x90\xb1\x6a\xb9\x1e\xcb\x11\xa0\x4c\xb4\xcb\xdf\x64\x91\x76\x05\xc0\x4a\x80\xb5\x00\xab\x00\x62\x30\x57\x9e\x00\x38\x6c\xbf\x07\x45\x3e\x91\x71\x87\x4c\x56\xd4\x87\xbe\x08\x14\xdf\x3e\x0a\x49\x95\x13\x35\xe0\xd4\x91\xb9\x26\x29\x56\xe6\x3e\x49\xa9\xd8\x9b\x59\x13\xc4\x47\x5c\xdd\x2d\xb0\xbc\x0e\xcf\x91\x69\x19\x61\x66\xb3\xb7\x60\x48\x67\xbc\x26\xf6\x6b\x2c\xc5\x07\x7d\xe2\x4d\xf7\x38\x27\x23\xd0\xd2\xe2\x17\xa3\xbd\x01\x73\x5b\x77\xb2\x6d\x23\xf7\x44\x2e\xae\x78\x6a\xfa\xfe\x9d\xe9\x77\x98\xd4\xd0\x26\xe6\x23\xae\xfa\x60\x10\x5b\x2a\x6c\xdb\x74\x85\xc0\xe8\x1d\xb8\x28\x7b\xdc\x6e\xb0\xaa\xd9\xb4\xd5\xd8\x85\x2c\x33\x9e\xd3\x53\xfd\xa1\x48\x74\x94\xc2\x01\x03\xea\xd2\xa2\x1b\x0f\x5a\xdd\x1f\x71\x50\x53\xd3\x3c\xe9\xa1\x3c\xaf\xbc\x1e\xed\xea\xaa\x18\x4e\x3f\x8e\xa4\xe6\x38\x26\x22\xd9\xab\x26\x51\xd2\x97\x78\x88\x7a\x8d\xbc\x4a\xaa\x49\xcc\x06\x99\x12\xb2\x9c\xd7\x73\xa1\x8a\x76\xf2\xe2\x8c\x44\xab\x01\xea\x00\xc2\x32\xf1\xbd\x39\x0b\xd4\x7d\x4b\xde\x2a\xf0\x70\x29\x40\x32\xf5\xec\x7c\xb2\xa5\x14\x51\x66\x51\x46\xb3\x05\x20\x1b\x7e\xee\x29\xb6\x8b\xba\x6d\x1a\x5d\x16\xf6\x36\xe6\x53\x90\x07\x53\xba\x05\x03\xe8\x75\xd6\xd0\xca\x2e\x19\x8b\x7a\x13\xd2\x36\x7e\xe8\x2c\xe9\xe6\xc0\x5f\xf7\x66\x67\xd9\x1f\x22\xd8\xfc\x92\x5a\x64\xe8\x44\xeb\x80\xc3\x46\x91\x21\xb9\x27\xbd\xad\xad\x6a\xcc\x01\xee\xa1\x0e\xa7\xfa\xc3\x4e\xac\xd0\xe4\x84\xc8\xb8\x9e\xab\x57\x69\x91\xe8\x0d\x75\xc3\xe2\xa2\xb8\x7f\x58\x4d\x05\x5a\x4a\x96\xec\x0e\x43\x37\x6d\x61\x00\x73\x15\xbc\xd5\x04\x32\xc0\x2d\xb0\xee\xb1\x2c\xe0\x07\x34\x60\xa0\x35\x5d\x2e\x0a\xaf\xc1\x2a\x60\xce\x2d\x9e\x71\x89\xb5\x28\x99\xf6\x21\x19\x34\x12\x88\xb3\x0b\x4a\x5a\x2c\x7f\x92\xee\xf1\x07\x98\xa5\x29\x58\x4b\x80\x02\x76\x98\x86\x3d\x8d\x24\xf3\xa8\xfe\xe3\x56\x8e\x79\x95\x1e\x50\xd8\x59\x80\x20\xaf\x32\x98\x2a\x78\xd3\xaf\x55\xed\x38\xe4\xea\xf2\x14\xf6\xd2\x91\x08\xa3\x61\x5c\x98\x92\x0e\x00\xb4\xbb\xc5\x58\x03\xd7\xe6\xb3\xbf\xe6\xc5\x81\xa7\x2a\x2d\x5b\x34\x25\x7d\x67\xf6\xf3\xc1\xd9\x26\x5d\xec\x0a\x82\x56\x83\xa8\x59\xd5\xa9\xfe\xe5\xf8\x90\x6d\x85\xaa\x3a\x51\x05\xc6\xdd\x86\xd5\x4b\x9f\x9f\x97\x91\xb7\xfa\xda\x7e\xbf\x13\xa7\x57\xb5\xf0\xfc\x27\x45\x5d\x49\x59\x46\x07\x26\xc6\x33\xbc\x43\xd2\x5b\x3a\xc8\x26\xd9\x47\xf7\x38\xa2\x1f\xd6\x17\x63\x90\x09\x98\xf9\xa3\x29\x50\x2a\x27\x06\x54\xc5\x56\x37\xaf\xad\xbc\xa6\x89\xb6\xfb\x8e\x7b\x11\x8d\x8f\xa9\x7c\x40\x82\xa1\x0d\x2a\x3d\x05\x2a\x84\x38\x14\x44\xa6\x7d\x2f\x90\x54\x8e\x9d\x75\x19\x43\xc8\xd4\x2c\xf4\x9d\x7e\x13\x85\xb5\x4d\x75\xb9\xa8\x23\x4e\x6c\x56\xcf\x84\x1d\x3e\x34\x02\xbc\xca\x82\x84\xb8\xd0\x76\x99\xdb\x3b\xcc\xdb\xa7\xe2\xf3\x7f\x87\xe7\x49\x55\x3e\x83\x46\xde\xec\x30\x7d\xa2\x3f\xd0\x35\xae\x27\x99\x7a\x94\xc7\xbd\xe7\x11\x41\x15\xe3\xc4\x59\x34\xf0\x78\x80\xf2\xba\x53\xec\xa8\xae\x29\x3b\xa7\xca\x4b\xe9\xa0\xf6\x22\x2f\x59\xe6\x5c\xd6\xb0\xa3\xce\x1b\x21\x4c\x1e\x5b\xc9\xcc\x4b\xb4\x2c\xab\x4b\xf2\x89\xbc\xcf\x70\x7f\x8d\x50\x19\x5a\x3b\xc5\x3a\xe5\x18\x1b\xa4\x9b\xb7\xcc\x43\xb2\xd6\x44\xbc\xd8\xbb\x78\xf8\xdf\xe1\x70\x52\xd5\x87\x6b\x4f\xd2\x33\xec\x7d\xa4\x3f\x10\x5f\x38\x21\xf4\x25\x8c\x40\xd1\xe5\x4c\x34\xf7\xec\x5d\x1b\xa6\xec\x48\x2c\x7a\x67\x8e\x0a\x5e\x45\xf7\xb8\xd4\x33\x41\xca\xe6\x5d\x65\xc5\x24\xb8\xc6\x95\x69\xd3\x5b\xe7\xf2\xb3\x21\x2c\x4d\xda\x34\x1f\xe9\x21\xde\x2c\xc2\xf0\x62\x57\xe2\xc9\x7f\x87\x93\x49\x55\x9f\x3c\xeb\x9f\xbe\xd2\x69\x1a\x7b\xf3\xf5\x2b\x7c\x12\x6f\x0a\xce\xfc\x46\x0f\xe0\xa4\xe8\xd8\x23\xfe\x66\x2d\xd1\xc3\xff\xa5\x5f\xdc\x18\x92\x69\x27\x2b\x54\x75\x37" -func _1096048755c97f56836396JsBrBytes() ([]byte, error) { +func _10Cc724d664a840aa9b8ebJsBrBytes() ([]byte, error) { return bindataRead( - __1096048755c97f56836396JsBr, - "10.96048755c97f56836396.js.br", + __10Cc724d664a840aa9b8ebJsBr, + "10.cc724d664a840aa9b8eb.js.br", ) } -func _1096048755c97f56836396JsBr() (*asset, error) { - bytes, err := _1096048755c97f56836396JsBrBytes() +func _10Cc724d664a840aa9b8ebJsBr() (*asset, error) { + bytes, err := _10Cc724d664a840aa9b8ebJsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "10.96048755c97f56836396.js.br", size: 1836, mode: os.FileMode(436), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "10.cc724d664a840aa9b8eb.js.br", size: 1823, mode: os.FileMode(436), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var __4372a5b910e3de57fda50JsBr = "\x1b\x9e\x8b\x51\x04\x1b\x07\x00\x84\xda\x24\x00\xad\x0b\xe8\xb1\xa9\x1d\x75\x92\x60\x8d\xd6\x3e\x74\x66\x98\x6a\x59\xd7\x43\xef\xa3\xcb\x3c\x92\x30\x88\x97\xe1\x45\x7c\x87\xd0\x23\x5d\xad\x83\xe5\xfb\x47\xc2\xb7\xac\x4b\x10\x19\x21\xc9\xac\xff\xd9\xd2\xba\xe7\x72\x02\x95\x4b\xfd\x55\x7e\x26\xc9\xcc\x2e\xcf\x1b\x7a\x59\x76\x4c\x28\x0c\x4a\x42\x16\x20\x42\x4e\xd2\xdd\xe2\x2f\xe7\xfa\xde\xa6\x3a\xb9\xec\x85\xd8\x52\x84\xbc\xa4\x20\xfe\xc0\x20\x3e\x05\xc3\x82\x8f\x45\xb3\xdf\xfb\xba\xea\xbf\x7e\x17\x6f\x92\x37\x9a\x4d\x2f\x6a\x62\x62\x42\x66\x52\x21\x5f\x63\x75\xbb\xab\x38\x57\x25\x68\xc6\x07\xf8\x57\x7d\x7d\xa7\xf9\x19\x1f\x82\x6e\x7c\x7e\x6b\x64\x18\xa6\x63\x6f\x93\xa3\x94\xd6\x2c\xc2\x97\x6a\xbf\xaa\xa5\xb2\xb2\xb0\xb2\xfa\x84\x91\x45\xd1\xd2\x86\xe3\xda\x96\xe3\xfd\xe1\x8e\x4d\x35\x75\x9a\x25\x04\x07\x0a\x4a\x11\x33\x3a\x60\x4a\x1f\xa6\x2e\xbb\xcb\xf0\xa7\xe8\x3f\x32\xd3\xe9\xa6\xfa\xdd\x24\x3b\x10\xa9\x6a\x97\x5d\x33\x55\x2b\xab\xda\x01\x22\x70\xe2\x89\xd0\xdb\x9e\xa8\x2a\x04\x15\xbb\x09\xef\x7e\xde\xf7\x44\xfc\xff\xfd\xa9\xff\xfd\xcf\x47\x26\xf9\xd3\xcc\xc7\x72\x88\xea\x29\x1a\xd9\x7e\xce\x20\xf4\x58\xf4\xd1\x3e\x67\x9f\x1d\xdd\x7b\x25\x8d\x75\x05\x2f\x92\x1c\x4f\x4c\xef\x3d\x3b\xb0\xbe\xf1\x91\x93\x03\x52\x72\x41\xce\x97\x25\x25\xcb\x90\xac\x91\xe1\x91\xff\x30\x06\x87\xa9\x2c\x10\x8b\x7e\x9a\x0a\xa8\xfc\x55\x39\x3a\x65\x18\x27\x32\x74\x77\x26\x85\x96\x2f\xc3\x9f\x7c\xe7\x5e\xeb\x9c\x9b\xf3\xce\xc2\x3f\x40\x12\x02\x85\xda\xbd\xcb\x8a\x8d\xea\xbe\xb6\xb1\x85\x8e\x66\xdd\x46\xaa\xf3\x1d\x3e\x3c\x81\xec\x31\x7f\x8a\x3f\x4a\xce\xbf\xfd\xce\x1b\xa8\xdf\x9a\xb0\x84\xc4\xd8\xaa\xdd\xc9\x25\x9d\x7d\xd7\x04\xe5\x80\x7c\x28\x15\x2e\xdf\xbf\x2f\x68\xc4\x81\x65\x5a\x05\x4f\x7d\x20\xda\x6d\x5a\x3f\xbc\x2c\x9a\x75\xf2\xfc\x97\xd0\x79\x2c\x6a\xd1\x5e\x1c\x71\x38\xe2\x63\x1f\xb3\x5c\x9a\x02\x68\xfe\x2a\x28\x75\xe3\xd0\x0b\xd5\x93\xef\xdf\x15\xac\xff\x67\x06\x1f\xa3\x34\x19\xfd\x57\x60\x0f\x8e\x33\x4f\x29\x76\x13\x57\x27\x5e\xaf\x0b\xeb\x0b\x29\x8e\x84\x7f\x39\x1b\xc8\xde\x94\x5c\x79\x51\x68\xeb\x06\xa2\x2e\x4e\x15\xf5\x05\xbe\xf7\xba\xe4\xc9\xb3\xdc\x5a\x53\x72\x4c\x85\xa2\x83\xd9\xfe\xe4\xf6\x20\x02\x5c\xa8\x38\xc2\x04\xf5\x1d\xeb\xef\xae\xfb\x06\x33\xe2\x5b\xbe\xcf\x66\x8e\x88\x77\xf2\xa8\x0e\x96\x8e\x7f\x18\x66\x24\xd8\x50\x3e\xdd\x22\x90\xbc\xe4\x61\x8e\x2f\x4d\xfb\xa7\xbe\x78\xd5\xdb\x77\xd6\xed\x0d\x0e\xd2\x19\x8e\x2e\x59\x3d\x49\xa4\x2f\x74\x9d\x1b\xc1\xb9\x19\x09\x21\xe3\x8e\xfe\xea\x7e\xf2\xb8\x9a\xbf\x23\xbd\x0a\x02\xc5\xfb\x23\x43\x69\x73\x83\x13\xd3\x39\xe5\xaa\x9d\x85\x6c\xf0\xd7\xfb\xc2\x33\x34\x8d\x67\xcb\x18\x4c\xe3\xff\x03\xc2\xe8\xe8\xa8\xc9\x59\x7e\xac\xce\x4c\xe0\x7e\xe7\xb2\x8f\x56\x07\xbe\xf1\x3f\x98\x1f\x9e\xce\x66\x7e\x04\xd6\xda\x89\x3d\xc1\xb3\x80\x5c\x7e\x1d\x1c\x60\xf4\xd3\x82\x68\xbd\x4e\xe6\x18\x73\x66\xdf\x0c\x47\x3d\x4a\x69\x7e\x90\xd5\xf2\x28\x68\xdb\xcb\x25\xaa\x9e\x96\xf8\x8e\x7b\x88\x14\xc8\xe2\x48\xb5\x40\xa5\x7c\xbf\x7e\xda\x93\xd7\xb6\xce\x40\xb9\x86\x12\xf4\x13\x66\x30\xfa\xaf\x7a\x32\xfa\x28\xc1\x5a\x89\x92\x08\xb6\x24\xb4\x90\x3e\x93\x75\x0b\xf2\xd0\xf7\x70\xf4\xcd\x30\xfb\xff\x79\x3a\xa8\x9d\x85\x8b\xa3\xf5\xc7\xc2\xd4\xfe\x70\x3c\xa7\x7a\x07\x0d\x17\x2b\x5e\xad\x9c\x22\xc8\x69\x26\x24\x2e\x74\x98\x95\x1f\x03\xbc\xaa\xe3\x69\x7a\x73\xe8\xcf\x75\xde\xef\x9b\x68\x20\xef\x1c\x81\xce\xa1\x52\x77\x02\xe5\x08\xcf\x33\xb7\x48\x6d\x8e\xd6\x6e\x49\x22\x51\xd2\x4b\x83\xa7\xa7\x97\x33\x78\xc5\xa2\x0e\x69\xe0\x65\xc6\x88\x16\x55\x81\x55\xbf\x4f\x01\x2c\xd0\x68\x00\xdb\x2f\x82\xfa\x4d\x42\x54\xa0\x03\x19\x70\x74\x1b\xc9\x72\x6a\x4e\x2d\xbe\xca\xf5\x1a\x90\x5a\xa2\x42\xfb\x44\x39\xae\xe1\xa1\x3b\xd7\x18\x0c\xbb\x06\x16\xe5\x0e\x30\x40\x3f\x28\x54\x26\x90\xc1\xc9\x23\xa9\x83\x06\xb9\x01\x63\x26\x59\x81\x9a\xa7\x4e\x52\x09\x40\x29\x0f\xd7\x35\x98\x0e\x09\x4f\x97\x45\xcd\x27\x0f\xd1\x80\xde\x02\x0f\xc4\x07\x9c\x1a\x28\x7b\xac\x5d\x54\x5c\xed\xbe\xf7\xb3\x6b\xc6\x01\xe7\x4d\x20\x09\x36\xa4\xe2\x05\xde\x7f\x85\x6e\xa0\x4f\xbb\xb7\x1e\xdc\xc7\xb1\x03\x45\xf8\x6a\xa6\x6e\xe9\x59\x65\x7e\xa3\x38\xdc\x0e\x85\x72\xbf\xad\x31\x84\x0c\xc0\x83\x4f\xd8\x86\x27\x7f\x5d\x52\xc1\xcc\x65\x6a\x3b\x95\xc0\x55\x45\x7a\xf9\xa7\x3c\x0d\x50\xc4\xaa\x96\xc0\x54\x76\xe4\x35\x26\x51\x3e\x3d\x75\x5a\x40\x1a\xa7\x3c\x55\x7b\x1a\x9c\x1d\x9e\x45\xa2\x05\x66\xc9\xb5\x21\x80\x65\x92\x16\xd5\xc6\x5d\xf1\x0e\xd2\xaf\x2b\x57\x8c\x11\xd3\xb4\xa0\x9f\xb0\xbc\xda\x02\x3b\xef\xf5\xbb\x9d\xf0\xcc\x32\xc6\xe1\x93\xff\x2f\xa7\xe9\xdd\x06\x25\x8c\x80\x6b\x51\xe3\xf5\xeb\xb2\xe1\xc1\xe7\x5f\x40\xb0\x17\xea\x26\x64\x07\x2e\xf8\x7d\xc9\xfe\x39\x08\x66\xde\x1a\xd8\x11\x58\x1e\xc4\x0b\x23\x6a\xba\x1b\x7a\x97\x59\x56\xbc\xbc\x82\x3f\x71\x6c\x8d\x80\xc0\x83\xc4\x91\x1b\x0b\x94\x13\xb1\xa4\x55\xfc\xf5\xfd\x84\xc8\xe7\x8f\x36\x9f\x84\x93\xbe\x79\x90\x2b\x4c\xaf\x06\xf6\xed\x64\x4c\xff\x02\xd2\x43\xdf\xd4\x41\x80\xbd\xcb\xd3\x28\xc0\xe0\xa1\xeb\x23\x4a\x0e\x8d\x8c\x2b\x03\xc5\x69\xff\x45\x07\x42\xc0\x03\xda\x4e\x2a\x7c\x9c\x68\x5f\x64\x14\xe2\xa8\x3e\x1d\xed\x8d\x5f\x32\xc4\x2a\x8f\x22\xba\x9f\x2a\xea\xbf\xc1\x91\xb5\xf9\x89\x81\x33\xb3\x40\xc2\xf1\xf2\x7c\x72\xce\x16\x06\x9e\xe5\xc4\x26\x9c\xa8\x97\x82\x23\xf1\xa0\x17\xb9\x02\x19\x86\xe7\xb4\x63\x84\xa7\x21\x7f\x86\xb0\x37\x11\x98\x59\xbd\xe4\xd8\xe7\x7c\x83\xc2\xa9\xac\x5e\x8d\xd1\xb6\xdf\x05\x20\x1a\x5c\xdd\xd9\x19\x45\xbf\xca\x9a\x31\x4c\x33\x70\x3b\xed\x6d\x95\xbb\x0b\xfa\x04\x55\x0a\x23\x9c\x56\xea\xe7\x95\x1f\x6e\x12\x04\xcd\x4f\x86\xa1\xd7\x54\x85\x24\x8e\x23\x11\x69\x46\x2e\xb0\x19\x50\x78\x31\x5b\xe7\xf0\x52\x73\x87\x9a\x85\x9c\xf1\x31\x4a\x4c\x33\x9f\xca\xc7\x72\xaf\x91\x1b\x7c\xc0\x34\x78\x64\x1b\xf7\x42\x95\xe5\xe0\xd6\xbf\x80\xf9\xc0\x59\x0c\x90\x32\x15\x3e\x4f\x99\xf2\x55\xd5\x54\xd6\x1f\x51\xe4\xb5\x4d\xaf\x73\x3e\xfe\x33\x31\x2e\x26\x5e\x8e\x5d\xc5\x98\xf3\x65\x11\xd8\x48\xac\xec\xe4\xb4\x22\x27\x2b\x2f\xf9\xbd\x77\xd4\xbe\xbb\x90\xcf\x64\x74\xe3\xa6\x1b\x00\xca\x26\x08\x85\x4b\x2b\x2e\x5e\xe4\x3d\x15\xef\x14\xca\x23\xf3\xc7\xfd\x62\x07\x33\x9e\xd2\xe3\xb3\x79\x97\x5a\x85\x22\x72\x7a\x64\x4a\x3c\xba\x19\x89\x8a\x08\xcd\x63\x57\x9c\xae\xee\x1e\x46\x69\xed\x05\xa1\xda\x4c\x2e\xc5\xaf\x7b\x90\x98\x47\x27\x7d\xde\xd2\x3b\xbe\x66\x12\x73\x52\x78\x54\xed\x2e\x62\x5b\x5c\x0e\xd7\x62\xaf\xa3\xe9\x0e\xab\xf0\xbc\xe4\xb8\xb6\xcb\x76\x92\xe7\x1a\x29\x34\xdc\x5f\xaf\x5a\x05\xfc\x4f\xe8\x2e\xf9\x39\xc6\x25\xcb\x3a\xd4\x7d\x9c\x18\x92\xb1\x6b\xa0\xfc\x40\xa2\xab\xe4\x36\x70\x19\xc3\x85\x5f\x19\x32\x25\xcf\x78\x4b\x96\x88\x90\xae\xdc\x71\x5e\xe9\xbb\x56\x5a\xff\x39\x96\x83\x7b\xa1\x87\x82\xea\xb9\xe7\xb3\x1e\x44\x13\xf9\xc7\xd0\xbe\x1c\xaa\xfa\x9b\x9e\xc2\xfe\x1e\x9e\x51\x5d\x54\x73\x77\xf2\xb0\xbe\x71\xeb\x81\x77\x6e\xdf\x64\x3c\x4d\xbc\x0e\x9e\xf9\x3c\x87\x57\xcd\x94\x48\x3a\xbc\x6e\x31\xc9\xe8\x50\x2c\x63\xa4\xe7\x76\x95\x34\x96\xc1\x0c\x08\xb0\x15\xb7\xb2\x70\x11\x4e\xc6\x7a\x09\xad\x5f\x21\x76\x44\xe0\xb6\x69\x5b\xf9\x60\xf5\x38\xf9\x44\x75\x5b\xc6\x35\xa2\xa2\x2e\x9d\xe4\x75\x46\x40\xa6\x8f\x42\xcc\x07\xdc\xd0\x33\x90\x15\x50\xef\x4d\x38\x49\x1c\xa2\xd2\xfc\x47\x39\xb1\x39\x96\x07\x2a\xce\x00\x49\x2e\xe6\xa6\x7e\x89\x53\x80\x62\xfb\xe9\xd6\x19\x3f\x7e\x6d\x04\xc3\xfa\x02\xd5\xf0\x40\xfc\xc8\x6a\x67\x5e\x3f\xd2\x48\x56\x72\xe9\x72\xd3\xe2\xc6\xa5\x88\x6b\x03\x07\xa8\xfc\x10\x8a\x66\x62\x31\x1d\xdc\x9b\x58\x07\x64\x39\xeb\xf2\x4c\x91\x8a\xeb\x80\xbd\xca\xde\xd4\x86\x3b\x55\xda\xcd\x2a\x4d\xb5\xbc\x85\x43\xac\xee\x93\x2c\x14\xc2\xac\x13\x9b\x2f\x5a\xd8\x74\xdd\x36\x7d\xc5\x91\x2a\xec\x42\xe6\x19\xa8\x98\x93\xca\x31\x1a\x50\x89\xf5\x22\xb8\x48\x16\x34\x20\xec\xd9\x1e\x38\x22\xef\x03\xa8\x3f\x60\xc6\x87\xef\x5c\x26\x05\x14\x7d\xe5\x0a\x99\xb6\xaa\x93\x42\x70\x20\xef\xf6\xc1\x1b\x49\xf1\xd7\x78\x0c\xb7\x3f\x4a\x21\xca\xee\x71\x4e\xc2\x2d\x48\xdd\x95\x27\x8b\x43\x3c\x13\x37\xb9\x1b\xa4\xa7\xec\x47\x81\xf8\xec\xb8\xa0\x41\x32\x68\x2e\xf9\x13\xe6\x0c\xfb\xd0\x9d\xab\xaa\xe6\xcd\xbb\xd5\xd9\xa9\x92\x2f\xfd\x09\xab\x4a\x95\x80\xf9\xf4\x55\x1f\xc5\x51\xf6\x6f\xbd\xd8\xcf\xe0\xc7\x35\xc2\xac\x75\x20\xf2\xb4\xf1\x2b\x67\x86\x92\x7b\xd7\x6e\xe4\x5e\x2e\x4a\x19\xa5\xca\xff\x0f\x97\x8e\xc6\x3c\x39\xcc\x9a\xe5\xd7\x95\x0b\xfe\x81\x68\xf2\xbd\x19\x77\xf9\xce\x15\x87\x2b\x13\x6a\xc2\xa1\xa1\xac\xd6\xb1\xf1\x2f\xa6\x52\x21\xb6\x99\x5f\xa6\x5c\xde\x99\x4f\xe4\xfc\x04\xa8\x66\xfa\xd9\x85\x52\xba\x5e\xdd\xd2\xb1\x91\xda\xfc\x38\xda\xc0\xbf\xef\x3d\xe6\x0f\xea\x88\x3f\xc8\x4d\xb9\xb3\x8f\x22\x9c\x07\xa0\x77\x81\x7f\x5d\x69\x16\x2e\xdf\xa7\x76\x66\x6f\x0c\x50\x5f\x9b\xac\xf9\x3a\xe1\x8e\xd4\xb2\x09\xfa\xae\xce\x46\x26\xf8\xaf\x59\x6c\x36\x47\x8b\x6c\xb4\xcc\xc5\x6c\x36\xe5\x76\x9e\xe5\xfe\x49\x72\x9b\xcd\x42\x2b\x93\x06\xb7\xf3\x91\x55\x79\xb0\xd9\x1b\xe5\x92\xf3\xef\x66\x23\x66\xce\x24\x93\x8d\x8a\x85\x52\x8e\x4d\x2d\x0e\x55\x6b\x95\x59\xab\x85\x32\x8c\xbd\x3d\xb1\x44\x5e\xfb\x1d\xce\xe8\x2d\x2c\xd4\xb4\x7c\x5f\x1c\x79\x61\x5b\xdb\x08\x89\x9d\x46\x17\x4b\x57\xa7\xd6\x44\xd2\x5e\x5a\x1d\xa3\x4d\xc2\x12\xdb\x59\xa9\xaa\xdf\x5a\x45\x66\xe7\xf5\x73\x0b\x46\x7a\xa4\xf0\xdb\x2a\x2a\x73\x67\x89\xba\x24\xf7\xea\x71\x54\x62\xa6\x28\x52\xa3\x08\xae\xb6\x8e\x51\xeb\x71\x6a\x1a\xb4\x3c\x73\xde\x3a\x33\x1d\x63\xec\x3c\x13\xa3\x5e\x8e\x5e\x91\x0a\x94\x9a\xc6\x98\xba\xd3\xfb\x17\xe1\x96\x2c\xfd\xd6\x57\x84\x71\x68\x3f\x01\x93\x8d\xc9\x55\xd5\xc5\x5b\x5b\x4f\xa7\xd5\xe9\x0b\x12\x36\xff\xf0\x54\x95\xc2\xc2\xac\x48\x0b\xf6\x71\x5b\x26\x94\xf0\x51\x9e\x19\xaa\x41\x08\xd9\x55\x14\xcf\x6f\x12\xa4\x84\x53\xab\xbc\x30\xfb\x55\x65\x91\x76\x08\xe6\xb7\x20\x0f\xd7\x24\x5d\xf4\x2e\x37\x0b\x41\x6d\xe1\xf9\x7b\x30\xff\xb9\xfb\x22\x04\x93\xe0\x3c\xb7\x69\x76\xcc\x9c\x12\xa1\x65\x02\xfe\x3a\x79\x60\xbf\x80\x3b\xbb\x8d\x99\xb5\xa6\x23\xa7\xc3\xf8\x60\xcb\x8f\x7d\xa2\xaa\x5e\x3b\xdf\xf5\xba\x77\x6a\xe8\xe0\x23\x70\xfc\xa6\x47\x60\xf9\x4b\x8f\x80\x7b\xa1\x87\xbf\xf7\x7a\x4e\xc8\x86\x54\xb6\xd2\x9f\x54\x00\x22\x50\x52\x9c\x73\x2a\x5c\xb4\xb4\x6e\xfa\x67\xb1\x79\x1c\x37\x5f\x26\x95\x63\x7c\x10\xb4\xa8\xa0\x01\x6f\x2e\x39\xec\xd0\x1c\x8d\xf5\x94\x65\x24\xac\xa2\x45\x02\x15\x44\x83\xc9\xdb\x57\x6e\xdf\x86\x0b\x57\xf7\x6b\x65\x28\x61\xe1\x3a\x95\x92\x67\xab\x90\xce\x63\x3e\xb7\x22\x65\x0a\xf3\xed\xba\x83\x05\x22\xfd\x1e\x0c\x19\xbe\x32\x0c\xe5\x82\x71\xd1\x7e\x4e\x0d\xc3\x1e\xc2\x8f\xd8\x24\x66\x45\xc9\xe2\xb2\x5e\x59\xb0\xa4\x54\xfe\xc5\xa5\xab\xc2\x56\xd5\x35\xed\x77\x3b\x9e\x05\xfc\x41\xee\xd5\x0e\x06\x35\xa0\x73\x50\x61\xb0\xe4\xdd\xc5\xfc\x28\xc4\x9f\x54\x50\xd0\x5c\x8d\x3c\xfd\x31\x95\x86\xff\xb3\xd1\x7f\x26\x78\xc0\x56\x13\x45\x2c\x19\x37\x62\xca\xb8\x11\xf3\xc6\x8d\x86\x6c\x26\xbe\x34\x32\x02\xf3\xfb\x80\x8a\xf1\x31\x0c\x2d\x98\xb5\x1d\xcf\x04\xdb\x39\x29\x66\x61\x34\xe7\x0c\x0b\x89\x94\x2e\x6e\xf8\x2f\xf0\xea\xd0\xd0\x43\xb5\x0a\xa8\x82\xbe\xce\x97\xe5\xca\x95\x0f\x58\xa3\xaa\x4b\x3f\xa4\xa2\x85\x46\x25\x1f\x2e\xc6\x64\x4b\x95\x6d\x95\x30\xc8\xb7\xc6\xfa\x53\x97\xf9\x76\x6a\x1c\x94\xa4\xbc\xec\xab\xbc\xca\x4b\xde\x53\xa6\x7b\xde\xbe\xd0\x7d\x28\x66\x27\x4f\xde\xea\xc9\x60\x52\x0b\xc8\x6c\x13\xd2\xb5\x2f\x4b\x7f\x49\x9b\x96\x19\x72\x41\x86\x4b\xf5\x9b\x3e\xfb\xd9\xc4\x72\x5a\x30\x8c\xf0\xab\x33\x0d\x82\xbe\x48\x7a\xa6\x0a\x80\x56\x2f\xe7\x19\x4e\x41\xa6\xa8\xf1\x8e\x5e\xe7\x2f\x92\x0e\x49\xdb\x54\x44\xf5\x00\xf2\xd0\xf4\x4b\xe7\x2f\x6d\x20\x7c\x9e\x6c\xf1\x9a\xed\x85\xb3\xc3\x03\xc0\xcc\xd6\x52\x85\xbf\x2d\xd3\x75\x98\x7b\xba\xa0\xee\xcf\xe2\x96\xbe\x07\x02\x27\x29\x15\x8e\xb9\x0b\x94\x5a\xec\xca\xa9\x6b\x8e\x4f\x86\x68\xba\x92\x3e\x31\x9a\x16\x6a\x3c\x8f\x47\x74\xa2\xfc\x85\x19\x5f\xdb\x11\x81\x5e\x22\xb7\x8e\x97\x93\x0a\xdb\xe7\x86\x7e\x43\x89\xce\xcc\x79\x56\x93\x80\x53\x27\xdb\xae\x42\x90\x58\xd3\xdd\x65\x81\x04\x7e\x2b\xbd\x60\xaf\x6f\x29\x45\x47\xbf\xe0\xde\xdf\xc2\x5e\xb8\x7d\xf2\xc9\x8a\x1f\xd1\xe4\x15\x65\xd3\xd2\xc8\xd4\xaf\x25\x9a\xf1\xda\x82\xd9\x67\x19\x76\xb7\xa5\x48\xe4\x45\x6d\xb1\x99\x9c\x24\x25\x83\x3c\xff\x7c\x41\xb6\x3d\x7f\xde\xf1\x36\x80\x35\x62\xac\x28\x86\xbd\x1a\xab\x86\x36\xa1\xfd\x6e\x4c\xd7\x08\x65\x03\x0a\xd6\xe2\xe2\x33\x27\x3d\x4d\xf4\x0a\x55\xb7\x1f\x5c\xf0\xa6\x67\x48\x9d\x82\xf9\xd1\xa4\x12\xe1\x8e\x35\xb2\xed\xc7\xcc\xb3\xf2\x28\x43\x6d\xc6\xc4\xcc\x2c\x3e\xd2\x42\x6d\x3a\x3f\x85\x73\x37\xca\x6f\xb6\x81\xca\xbf\xcb\x2d\x0e\xf7\xfa\xbc\x73\xea\xe9\x92\x7e\xd5\x39\xa2\x60\x95\xba\x60\xba\x0a\xb8\x64\x24\x71\xb2\x92\xce\xff\x1c\xb0\xfb\xe9\x3c\x7b\xdc\x26\xfe\x9d\xc6\xa3\xce\xdf\x27\x74\x75\xd4\xcd\x62\xb9\xfb\xef\x78\xb4\xfa\x15\x76\x0e\x6a\x79\xf1\x8e\x81\x4d\xcc\x43\x3d\x75\xd4\x3c\x07\xcb\x8f\xd1\xdc\x02\x0d\xc4\x44\xa4\x70\xe5\x22\x2c\xa8\x5e\x51\xc1\xfa\xcb\x3f\x08\xfd\xb3\xcb\x4d\xeb\x4f\x0e\x75\x4d\xeb\x81\x24\x07\x93\x07\x88\x89\x05\x42\xe4\x15\x05\xcc\xe2\xee\x54\xcc\x93\xd5\xef\x63\x3e\x79\xf5\x42\x0a\xb0\x6a\x1a\xea\xf0\xbb\xa0\x74\x74\xb9\x2a\x43\xff\xcb\xfe\xcb\x27\xba\xaf\xe1\x9f\x5b\x2f\x87\xb5\x36\xe4\x59\xd7\x57\xd9\x45\xfa\xf8\xa1\xfa\x2f\xea\xcb\xd1\xb5\x86\xd0\x4f\xbb\xb6\xfa\xbd\x67\x91\xf8\xa2\xb2\x60\xbc\xa3\x25\x9b\x06\xbe\x2d\xc3\x8e\xce\xdf\xbd\x1b\xdc\xa0\xf1\x01\x63\xd8\x40\xbf\x1c\x9b\x5e\x94\x53\x17\x2d\x00\xf8\x6d\x91\xcf\x98\x9e\xfb\x3e\x96\x51\x59\x74\xf9\x31\x7e\x89\x32\x6b\xbc\x88\x1a\xbe\xf1\xd2\xf9\x05\x0c\x0b\x49\x81\xf1\x02\x83\x18\x61\x28\x50\xc0\xd3\x6b\x72\x24\x72\x61\xee\x42\x17\xa1\xb0\xce\xba\x4f\x2f\xf0\x0a\x56\xb4\xe3\x8b\x75\x52\x4e\xe2\xa5\x6e\x40\x15\x93\xcb\x36\x99\x5f\x3c\x38\x27\xcf\xa4\xe0\xd5\x95\x9a\x5f\x3e\x1e\x33\xc9\x3f\xe5\xd8\x39\x07\xcf\xb7\x2e\x83\x1b\x4b\x8e\xbd\x53\xa9\x56\xc6\x92\xee\xbb\xb0\xa8\x2b\x16\xad\xe0\xc9\xb7\x07\xad\xec\x6a\xc3\xd4\x0a\x81\x67\x02\xdd\x64\x5e\x76\x7d\xc1\x60\xdb\x91\xd2\xef\xd6\x3e\x42\xd7\x75\xac\x92\x76\xeb\x50\xf1\x00\xe6\xaa\xb1\x35\xe1\x09\x55\x46\x95\x43\x48\x90\xbd\x8d\x4b\x29\x70\x5f\x8e\xe5\x96\x0a\xa6\xcd\xd1\x8b\xb0\x91\x3e\x58\x71\x7a\x45\xd1\xef\xea\x6d\x9e\x3f\xa6\xfb\x42\x44\x3b\x03\x9d\xbb\xcd\xc1\x68\x64\x7e\xfb\x15\xdc\x44\x6c\xaa\xa2\x98\xb8\x0d\xed\x7d\x74\xef\x52\x98\x90\x79\x9f\xbc\x61\xbe\x10\xa3\x63\x6a\xd2\x03\x56\x08\x36\x62\xbd\x9a\xb5\xa7\x40\xbb\x36\x04\xd7\x6d\x44\x71\xa1\xd1\x96\x37\xaf\x92\xdb\x0b\xd1\x56\x4e\xf0\xbf\xe4\xd1\x2d\xb9\x66\x0c\xd3\x15\x78\xb2\x8b\xdd\x47\x97\x06\x41\x0f\xdb\xaf\x82\x61\xeb\x52\x8d\x68\x17\x73\xb6\x2d\x7c\x2d\x24\x17\x0a\x28\xeb\xac\xac\x3f\x26\x61\x98\xe2\xde\xb2\xde\x3c\x39\x7f\x13\xf4\x20\x11\x44\xc1\x2b\x90\x4e\x32\x8b\xf6\xb5\x56\x41\xf2\xcd\x85\x2c\xff\x54\xef\x8a\x5f\xd9\xf5\x3f\xa3\x95\x1a\x5e\xcd\xd8\x99\x5b\x68\xe5\x05\x70\x7f\x0d\x2f\xf8\x78\x15\x70\x05\x01\xf8\x8e\x38\x38\x4f\xb1\x57\xe5\x9f\x8d\x00\xc2\x16\xd1\x3b\xc0\x9d\x94\x98\xe0\x7a\xf0\x66\x49\x3d\xf0\x14\xaa\xc0\x04\x51\x7a\x82\x44\x75\xd8\x57\x75\x5a\x11\xcb\x5f\x2f\x8e\x92\x64\xaf\x85\x34\xa9\x59\x36\xb4\x35\x03\xd6\xa7\xb9\x48\x77\xca\xf5\xc9\x5c\x8e\x9c\xd7\xb8\x89\xa6\xd8\xe2\xa2\x56\x6f\xb4\xab\x72\x8a\x7a\x75\xf6\x32\xa6\x11\x98\xc7\xa2\x62\x65\x3a\xf0\x2a\xe3\xc0\x94\x9d\xee\xe8\x6d\xd4\x65\x56\xc0\xd4\x91\x81\x29\x9c\x17\xc1\xf1\xe4\x51\x83\x09\x77\xfc\xa4\x06\xca\xdd\xd6\x38\x0e\xe1\x7b\x87\x72\x97\xa7\xe8\x71\xf4\xf1\x8a\x8f\xc5\xe3\x74\xb7\xb3\x8d\xbd\xbf\x44\x5f\x99\x1f\x5a\xdc\x00\x5f\x22\x6f\x86\xd9\xf4\xfc\xd1\x82\x2b\x17\xae\xe0\x36\xe4\x25\x36\x6c\x94\xa6\xed\x31\xaa\x22\x6b\x4a\x2a\x7b\x8a\xd8\x5a\x79\x9e\x96\xe9\xa8\x39\x6f\xb8\x28\xb1\xd4\x76\x5e\x81\x39\x00\xe0\xca\x6f\xf9\x58\xf8\xd9\x6d\xed\x32\xa6\x56\x14\x43\xb7\x30\x58\x78\xdb\xa9\x8d\x70\xd9\x36\xbe\x02\x2a\x3e\xef\xd1\x05\x09\xbb\xd6\xf7\xf6\x21\x04\xf1\x78\x83\x70\xdd\x92\x15\xe5\x01\x84\xa7\x7c\x7f\xec\xd7\xc4\x23\x7b\x65\x4f\x97\x42\xf1\x62\xf3\x63\xd4\xed\x15\x44\xa5\x95\x28\xa9\xef\xea\xd4\xc7\xa8\x55\x85\x74\x43\x8a\x46\x9f\x62\xca\x56\x89\xd3\x0c\x77\x4e\x18\x2f\x99\xb1\x3e\x25\xb6\x3a\x38\x0b\x6c\xda\x52\xf4\xf3\x1f\x2a\x14\x53\x34\xe4\x78\xd2\x83\x99\xac\x59\xbe\x73\x41\xb6\x35\x5a\x79\x90\x8c\x6e\x6b\xd0\x4f\xe8\x83\xe3\x84\xc6\x26\x53\xfa\xd6\xd5\xad\x69\xbe\x70\x29\xe5\xa4\x44\xd0\xe1\xdd\xbd\x54\x79\xcc\xaa\x7c\x19\xca\x7b\xc4\xa9\xb5\xe6\xfb\xc8\x9e\x53\xd5\x85\x43\x57\x8e\x63\x8c\xf0\x5e\xda\xd6\xbf\xc5\x47\xe0\xda\x17\x7f\x5a\x5f\x3d\xac\xf0\x2e\xbd\xc6\x3c\xc1\x58\xab\xe6\x98\xc6\x9b\x58\xac\x88\xdf\xd3\x91\xad\x99\xed\x84\x7a\x90\x4e\xf6\xb1\x06\xfd\x60\xa8\x70\x0c\x16\x0c\xe3\x14\xcd\xf0\xa2\x0b\x78\x3a\x71\xb6\x3b\x89\xd4\xcd\xb2\x69\x6a\x03\x9c\xbb\x36\x95\xcc\x54\x08\x49\x03\x49\x62\xfc\x45\x43\x49\x5f\x85\x8a\xfc\x27\x39\x36\xff\xe6\xe7\x82\xe1\xea\xfa\xd3\xce\xe0\xa4\x00\xd0\xaf\x6e\x08\xfc\x08\xcf\xba\x28\xf1\xd2\x41\xa6\x76\xb0\xda\x1f\x9a\x16\x0a\x5f\xc7\xf6\xcf\xb2\x69\x47\xcd\x97\x4f\xbb\x0d\x49\xe5\xfb\xbe\x5d\x24\x7b\xfd\x2e\xe0\x67\x8f\xbb\x40\xb6\xda\x80\x13\x4a\xcf\x00\xaa\x79\x89\x80\x4e\xd4\xd8\x42\xd7\xc6\x3a\xff\x48\x1f\x60\xd4\xa1\x21\x17\xc2\x53\xa1\x72\x81\x85\xc4\xcb\xdd\x6b\xa8\x5a\x11\x86\xa3\x3c\xef\x97\x8d\x6d\x91\xcb\xe6\x00\xf8\x98\x9f\xc8\xad\x86\x11\x9e\xad\x45\x01\x3f\x36\x37\xe7\x55\xf7\x5b\xd2\xc7\x49\xec\x7f\x30\x8d\x82\x96\xe5\x40\xc0\x3f\xd8\x8f\x23\xb0\x8d\x6c\x7b\x15\x60\x52\xd2\x33\x80\x92\x1e\x7f\x5e\x4a\x07\x4b\xf2\x86\x83\x19\xde\xf1\x66\xe8\x2f\xd0\x75\xcd\x3a\xdd\x91\x93\xa8\x5c\x97\xa8\x4e\xb4\xfc\x09\xe8\xfd\x9f\x9c\xff\x27\xb7\x86\x1c\x6b\x2d\xf5\xd9\xa3\xb0\x83\xd5\xd6\x23\x50\xc1\x62\x77\x34\x66\xb0\x1e\x7a\x34\xa6\xb0\xc2\x79\x04\x8e\x70\x39\x1a\x1b\xb8\xb4\x63\xa1\x21\x28\x58\xfa\x48\x2c\xed\x75\xf1\xe3\x90\x7b\xa1\x8a\x93\xc0\x45\xca\x38\x4e\x82\x10\x2e\xc7\x62\x0f\x97\xe3\xa1\xc2\xe5\x78\x08\xc8\xe5\x78\xac\xe0\x72\x62\x1c\xe0\x72\x02\x48\x70\x39\x01\x12\xb8\x08\xe6\xae\x15\x24\xbc\x86\xaa\x17\xa2\xdb\x61\x78\xdf\x92\x6a\xd2\x40\xa0\xb9\x06\x6b\xf9\x6b\xb6\xd3\xca\x77\x79\x79\x31\x94\xcf\x35\xd7\xd5\x08\x4b\xbc\x66\x5d\xbb\xd9\xf0\xf5\xf0\x7e\x58\x1d\x16\x86\x57\xc3\x87\x61\x29\x9f\x38\x3d\x66\x1e\x51\x05\x45\x68\x64\x67\xf6\xa2\x36\xe1\x94\x4b\x72\x1a\xe8\x23\x17\x7b\x74\x2d\xbf\xd0\x70\xd6\xa6\xbf\xdf\x2a\x3c\xd8\xb5\xbe\x1d\x36\x7c\xd5\x2e\xfb\x09\x16\x33\x0b\x2d\xb0\x6e\x32\x52\x85\x5f\x57\x4a\x37\xed\x61\x8c\xbb\x1e\x7a\xd7\x7a\xf4\x0b\x2e\x0b\xe9\x80\x2c\xc3\x9a\x21\x44\x2e\x79\x14\xf0\xc7\x46\xa8\x44\xa9\x4a\x8f\x2c\x7a\x06\xa8\xc5\xb8\x65\xbc\xbe\xd0\xaf\xd9\x6c\x44\xae\x8e\x88\xc5\x5a\xf0\xbc\xad\x22\xd5\xf1\x03\x72\xe1\x51\x91\x0e\x31\x0a\x62\x5e\xfc\x4a\x46\xc8\x30\x46\x09\xcc\x68\x8c\x47\x04\xe0\x54\xf8\xd1\x97\xc9\x1a\x89\xd3\x78\xd6\xa7\x7f\x40\x80\x33\x68\x25\x2c\x66\xb0\xf4\x2f\xf8\x0b\x77\x5e\xdf\xd8\xc2\x5f\xe8\xc8\xbb\x0f\x86\x46\xd7\xa7\xdb\x30\x59\xe3\x32\x0e\xc7\x07\xd9\xcb\xe0\x27\x47\x28\x74\xca\x20\xc8\x0f\xbf\x5c\x04\x5d\x9b\x10\x97\xfe\x4b\xb8\xd8\x66\x25\xe8\xd4\xed\x42\xdc\x2f\x27\xe1\xcb\x43\xf8\x72\x11\x4c\xba\x76\xcf\x48\x2e\xf9\x65\x10\xb8\x8e\x97\xc1\xca\x26\x88\xfc\xd2\x09\x5f\x26\x81\x3e\x88\x3c\xd0\xc5\x2e\x49\xfe\xf2\x13\x2c\x86\xec\x11\xb7\x7e\x90\x09\x92\xde\x0a\x6b\x21\x2d\xa2\x76\x71\xe9\x6e\x1f\x22\x11\xde\x60\xb5\x2e\x9b\xac\xb3\x68\x83\x7a\x61\x96\xc2\xf6\x05\x74\x90\x2d\x12\xeb\xc2\x15\xff\x3c\x8a\x36\x2d\x3b\xd5\xa3\x5f\xc0\x52\xc6\xd2\x99\x10\xcd\x64\xe5\x3e\xd0\x5e\xd4\x86\x86\x4a\x09\xec\x1e\xb1\xc4\x4a\x20\x4c\xb8\x73\x54\x75\xb1\x17\x32\x2f\x30\x6c\x0c\xaf\x4d\x4a\x20\xfb\xd8\x9f\x16\xec\xb1\x96\x1b\x7b\xf0\x4e\xad\x78\x8d\x18\x47\xf1\x66\xa0\x74\xf1\xa7\xe2\x1d\x6a\x0d\x49\x7e\x96\x5e\xa6\x1b\xbd\xcc\x7e\x46\x87\x97\xaf\x9b\x4e\xbb\x40\x64\xba\x12\x60\xa5\xa8\x28\x30\xd5\x6e\x3c\xfb\xbc\xcf\xa1\xa4\x4f\x08\x59\xa0\x32\x14\x62\x10\x21\xa2\x57\x5e\x50\xb4\xb7\xeb\x6c\x3d\xdc\xda\xbe\xf1\xcb\x4b\x41\x81\x6c\xb3\x8c\xaa\x67\x47\x94\x1a\xbb\x66\x4f\x02\xa2\x6a\xa5\xa2\xa2\x8c\xc0\xc8\x55\x0e\x38\x95\xca\xfb\x8b\xde\x71\x28\xec\xc1\x01\x86\xf6\xdd\x07\xb6\xee\x7a\xf1\xd2\x0a\x5b\x9a\x94\x4c\xc0\x9c\x4a\xa4\xc1\xb6\x64\x37\x0a\x59\x7f\x82\x9f\xe5\x3a\x1f\x29\x35\x76\xda\xbf\xef\x7a\x4c\xe3\x4b\x59\xa7\x6c\xf7\x8b\x68\xd2\xcb\x6b\x9f\xa9\x5d\x01\x1b\x0d\xdd\xa4\x82\x7d\x65\xe1\x27\x70\xdf\x65\x33\xad\xd0\xa3\x7f\xc8\x9b\x02\x32\xa1\x67\xd9\x10\xdf\xa9\x55\xfa\x5a\x4d\xde\xe2\x52\xf6\xde\xfb\xab\x8e\x13\x1b\x58\x7a\xf4\x19\xd3\xe2\x72\x7c\x6a\x82\xbd\xd3\x08\xb1\x12\x0a\xad\x68\x49\x7c\x51\x5b\xca\xe9\xca\xac\x0b\x83\x29\xe4\x9e\xc7\x6a\x18\xa9\x9b\x0e\x91\xc1\x9d\xd3\x5a\x33\x47\x19\x8b\x16\x6c\xc6\x55\xcb\xcb\xc1\x92\xa8\xbb\x93\x29\xfb\x6d\x58\x49\x6b\x71\x9a\xa4\xf3\x20\x14\x18\x09\x62\xcf\x0e\x68\x99\x10\x7b\x77\x4c\x5b\x18\x5a\x6f\xda\xcf\x5a\xdd\xa7\xee\xfb\x81\x09\xad\xec\xec\x56\x53\x58\x47\x94\x5a\x16\x8f\xef\x1e\xf2\x97\x9b\xbb\xd7\xe4\xed\xe9\xe6\x4c\xcd\x0c\xc5\x73\xba\x23\x04\x4f\xbc\xf8\xcc\x19\xaf\x6a\x94\xa6\x81\x7d\x29\x69\x06\xba\x51\xcd\x4a\x64\x37\x15\x6a\xd1\xce\x2b\x8d\xf2\x79\x8e\x26\x6a\x57\x5b\x83\x12\x48\xc1\xbf\xfb\xa8\xf8\x25\x7a\xe7\xfe\xe2\xc5\x87\xf1\x58\x5b\x7e\x0e\x57\x47\xe1\xd7\x93\xbc\x5a\x93\xa9\x0f\xfb\x76\xbf\x90\x61\xd2\xba\xb9\x53\xaa\xeb\x3f\x7b\xd5\xe5\x43\xf5\x9c\xcb\xf6\x82\x99\xf3\xbe\xb9\x72\x12\x6a\xe9\xa8\xd1\x55\xb1\xf5\x74\xcc\xcf\x2b\xa0\x5b\x75\xee\x84\xde\xa1\x3f\xdf\x14\xfc\x3d\x67\xfa\x90\x43\x0e\x36\x58\xaa\x78\x4e\x4d\x3d\x5b\xde\x95\x9d\x87\x36\xc4\x14\x1a\xad\x07\xd0\x16\x3c\x05\x05\xf8\x52\x2d\x3f\xbe\x4b\xb8\xd1\xc8\xec\x5f\xf5\x89\xb7\x7e\xe2\x55\xed\x1f\x58\xeb\xee\xb9\x74\x92\xe0\x5f\x6d\x94\xc1\xfb\xc1\xb6\x97\x08\x8f\x40\x15\x25\x6c\x4d\xcf\x68\xeb\xaf\x6c\xfa\x9d\x36\x0b\x5e\xc9\x38\x4d\x51\x02\x29\x76\xc1\xe5\x3e\x88\xd9\xde\x24\xfe\x26\xa9\x80\x96\x31\x83\x21\x12\xcf\xba\x38\x1c\xfa\x16\x63\xe8\x8b\xea\xa0\xf3\xc7\x6f\x83\xf7\x83\xe2\xaf\x43\xe4\x7e\x95\x56\x86\x64\xf4\xed\x2e\xe8\xa3\x56\x7b\xdd\x26\xd8\x47\xbe\x8a\xce\xc3\xda\xf7\xce\x63\x50\xb5\x06\x02\x18\x00\x35\xaa\xe5\x0b\xb9\x91\xea\xfa\x10\xd0\xb1\x96\x08\x05\x43\xfb\xf2\x26\xf2\x45\x74\xc0\xcc\xa3\xe3\x76\x27\x21\x56\x03\x4c\xb8\xe1\x0d\x0a\xec\x7b\xbe\x88\xde\xf9\x57\xbd\xb2\xc7\x10\xd6\x1f\xbb\x0d\x9c\x59\x41\x61\xa5\x53\x92\x70\xc5\x3e\x8c\x69\x28\x41\xd7\xd0\x95\xaf\x21\x43\xc8\xc5\x37\x08\x30\x9f\xc0\xda\x1b\xd8\x34\x3f\xf8\xa2\xe5\xf2\x73\x9d\x85\xa1\x09\xdb\xd4\x57\x13\x6e\x53\x9f\x4c\x58\x27\xde\x88\x06\xa3\x5f\x4b\x15\xb6\xc1\xad\xb5\x7d\x3e\x49\x7b\x7f\xa9\xce\xcc\x8a\x28\x47\x36\x81\x8c\x82\xee\x82\x2f\xf2\xb9\x4d\x2a\x8e\x34\x3d\xaa\x0e\xd8\xb6\x64\xfa\x4a\x01\x4d\x25\x38\xdb\xa3\xb5\x17\x3b\xb3\xcd\x27\x40\x32\xf1\xab\x5d\x76\xe7\x96\x29\x95\x0a\xca\x4f\x05\x21\x8c\xac\xb1\x1c\x4d\xab\xbe\xd6\xeb\x30\xa6\x66\x44\x34\x96\xf7\xa7\xc7\x52\x91\xdb\x6c\x7e\xc3\x7a\x1c\x5d\xab\x7d\x88\x4e\xf8\x52\x63\xf3\x38\x14\xf8\xaf\xc0\xec\x9f\xb6\x59\xb6\xd5\x9b\x15\x8e\xd6\x76\xd0\xf7\xa9\x0c\x1e\xfa\x15\x51\xdf\x9f\x84\xee\x52\x75\xf7\x39\xd3\x59\xd4\xec\xae\x14\xd4\xc3\x24\xfb\x4f\x6a\x7f\xca\xbb\x75\x5d\xe3\x18\x7f\xa8\xfb\x84\xec\x6a\x9b\xfb\x35\x7c\x07\x49\x28\xee\x17\xf9\x08\x4c\x4a\x51\x47\xf5\x64\x46\x8e\xba\x6b\xda\xbc\xcb\x1a\x13\xef\xa5\x49\xb5\xcb\xa0\x28\xc4\x6e\x3d\xb7\xa3\xab\x3a\x64\x65\x71\x3a\x2b\xad\xa7\xa1\x2f\x7a\x59\x74\x0c\x92\x52\x92\xa2\x78\x3e\x3c\xf2\xbc\x73\x7d\xce\xe4\xe0\xc2\xca\xc3\x8d\xb0\x9b\xf3\x13\x1a\x18\xfa\x74\x5a\xbf\x16\xdd\xbe\xac\x2b\xaa\xde\x5d\x48\x88\xcf\x4a\x69\xba\x19\x36\x01\x79\xdd\x88\x18\x89\x86\x28\xca\x25\xb6\x2e\xe9\x9e\x19\xcd\xda\xeb\x52\x90\x3d\xe5\xd9\x23\xe8\x24\x8b\x3b\xae\x76\x80\xce\xb3\x57\xbb\x37\x58\x6f\x63\x00\x61\xec\xf5\xa4\x4a\x50\xd4\xac\x91\x17\xef\x60\x48\x46\xbd\x6b\x98\x68\xeb\x52\x1a\x8a\x71\x2f\xec\x31\x19\xdb\xbf\x32\x79\xff\x72\x54\x79\x97\xe1\x97\x21\x15\xd9\xa8\xf0\xa5\x8a\x69\xd4\x01\xd2\xa9\xad\x81\x53\xa8\xca\xb4\x6f\x2c\xab\x1c\x82\xe7\xb9\xae\xc2\x0f\x81\xac\x49\x66\xbe\x82\xec\xed\x05\x4b\xef\xe7\x51\xd7\x4f\xc6\x09\x93\xcb\x68\x28\x6e\xa8\x63\x58\xfc\x4d\x7b\x38\xc8\x95\x3a\xaa\x8b\x48\x7f\x8e\xec\x7e\xb0\x11\xa3\x27\xaf\x2d\x9b\x6b\x6d\xb7\xc9\xb8\x53\xf8\xc1\xc5\xed\x80\x14\x7c\xf1\x6b\xc2\xa7\x3c\x0d\xcb\xb5\xce\x12\xc5\xdf\x13\x07\x77\x6e\xe2\xc7\xfe\x65\xb0\x80\x5b\x5f\x43\xbc\xfa\x95\xeb\xb1\x7e\xc4\xcb\x1b\x65\xa7\x36\x58\xef\x0f\x11\x52\xce\x4b\x41\x53\x09\x6c\x28\x1c\x93\x3f\xfe\x65\x8b\xa0\xa8\xa6\x0b\xa9\x67\x39\xb6\x0d\x9f\xcb\xca\xd8\x76\x26\xce\xb0\x23\x74\xf0\x77\x60\xa1\xa7\x1a\x9f\x25\x6c\x33\xbd\x6a\x0f\xae\xf5\xe2\xe1\x70\x87\x74\xf3\x5c\x8f\x9f\x48\x7f\x7f\x86\x91\x05\xeb\x29\x3b\x7c\x86\xb0\xde\x5c\xbb\x7a\x6e\x26\xbd\x74\xfa\xc2\x5b\x65\x73\xd3\xfb\x0e\x29\xbc\xd1\xe9\xd8\x80\x85\x9a\xe3\x5b\xff\x59\x03\x4c\x3b\x53\xbe\x07\xb7\x84\xd4\xbb\x32\x19\xaf\xdd\xcf\x6a\x8d\xdd\x85\x95\xe6\xee\x62\x60\x24\xdb\x67\xd6\x7d\x43\x57\x5b\xdc\x5d\xdc\x62\x04\x81\x42\x40\x6c\x62\x51\x17\x31\xfc\xd4\x51\xa1\xeb\x4f\xbe\x6a\xfd\x75\x3b\xf3\xdd\x0e\x0d\x27\xda\xf2\x8b\x25\x74\x89\xa2\x64\x49\x68\xca\x54\x9a\x23\x22\xaa\x70\xe1\x1d\x6e\x5d\xe2\x2f\x8e\xf2\x88\xbb\xc2\xa7\x4a\x53\xe0\x71\x9a\x38\x0f\x91\x14\x73\x70\x28\xd3\xc7\x09\x69\xb7\x07\x5f\xc9\x3d\x81\x3b\x0e\x0a\x55\x3e\x6e\x41\x04\x61\xf3\x98\x57\xdd\x56\x05\xd0\x58\x0a\x48\x0e\x2b\x5b\xe7\x94\x40\x26\xb5\x5d\x2d\xe7\xeb\xd9\x42\x70\x90\x91\x15\xbf\xa4\x1f\xe8\x89\x0e\x85\x56\x09\x9d\x38\x9e\x28\x35\x8c\x4d\x5c\x03\xe8\x53\x4f\x81\xd2\x5d\x9b\x85\xe9\x3c\x22\x1b\xb3\x5a\x6b\xba\xdb\x6e\x90\x40\x1d\xb7\x60\x39\x5d\x12\x34\x49\x1d\xc6\x64\x28\x03\xff\x6c\x1c\x6a\xa6\x9c\x41\x9a\x10\x79\x5f\xcc\x70\xfb\x96\xa3\x51\xa9\xd0\x29\x27\x5f\x20\xdb\x4e\x0d\x99\x8b\x9d\xcd\xc3\x74\xd3\x87\x63\xdf\x28\x53\x7a\x90\x1a\xdd\x38\xcb\x79\xf0\x61\x92\xc0\x05\xbb\x60\xfe\x98\xc7\x45\xcd\xc1\x6c\x22\x2d\x09\xce\xda\x29\xb0\xf9\xa4\x5b\x1c\xea\x52\x42\x26\xce\xd9\x20\xf5\xbc\x4a\xca\xb6\x28\x0c\x9d\x7b\xa7\x4e\x00\x6f\x26\xa6\x04\x3f\x11\x98\x0a\xa9\x4e\x30\xa7\xd6\xdb\xd6\x1c\x25\x85\x51\x76\xfd\x76\xb5\x7f\x8a\xdf\xcd\x21\xb7\xec\x25\xc3\x5d\x1e\xb2\xa4\x55\x54\xbf\x5c\x22\x1e\xa7\x7c\xa2\x23\x16\x25\x0d\x13\xde\xc9\x85\xfc\xa8\xac\x73\x96\x55\x55\x40\xd9\xbd\xb5\x11\xbd\xb4\x60\xb2\x12\x5f\xe4\x3b\x9e\x73\x5a\xf3\xfc\x5e\x45\xab\x28\xe3\x25\x0f\xa4\x6f\xdc\x85\x6b\xaf\xbe\x91\x22\xda\x6e\x47\xa9\xa1\xd9\xf0\xcd\xa3\x1e\x22\x31\x33\xe2\xa6\x47\xf5\xf0\x38\x19\x1d\x74\xd7\x90\x31\x97\x70\x44\xc5\x2d\x51\x28\xe2\xf3\x42\x57\x10\x6f\xe1\x34\x5a\x0c\x3b\x0b\x59\x77\x34\x5e\x62\x89\x1b\x25\x1e\xab\xb8\x20\x21\xc9\x10\xb2\x65\x42\xf3\x7f\xb0\xdb\x5e\x1f\x78\x5e\xf8\x76\x0d\xe6\xd1\x48\x7c\x7b\x23\x27\x2f\x09\x15\x5c\x78\xbf\x09\x64\x55\x4d\xb9\x23\x68\x54\xbf\xed\x38\xdb\x8a\x63\xfb\x8a\xb5\x1d\x7f\x16\x90\xcc\x58\xc0\xd2\x66\xbe\xe3\x46\x51\x7b\x9f\x0d\x22\x2c\x31\x7c\xa0\xa0\x81\x96\xec\x63\x6b\x1a\x76\x34\x42\x73\x14\xb9\x18\xd8\xb9\x33\x0f\x39\x48\x39\x22\xd9\x8a\xc6\x26\x66\xca\x7a\x95\x9f\x7c\x4f\xde\x05\x95\xf7\xeb\xcf\x94\xe4\xfd\x7a\xba\x4c\x4c\x6b\xf2\x3f\x0c\xaa\x79\x7c\x0a\xbb\x85\x63\x65\xb2\xf5\x92\xbd\x05\xe7\xc7\x10\xfc\x15\xd7\x26\x4c\xa3\x32\xed\x0d\x88\x7e\xef\x8e\x5e\x88\x2d\xe4\xde\x7e\x3f\xf7\x55\x09\x49\xaa\x11\x1d\x79\xab\xc4\xb2\x0c\xe0\x36\xb6\xdc\xe8\x95\x55\xd8\xef\xe3\x4b\x2a\x76\xde\x38\x6c\x43\x7e\x21\x50\x36\x58\x61\xcd\x41\x72\x13\x50\x93\x92\x14\xf0\x47\x89\x51\x50\x62\x2f\xd4\xa7\xea\x26\xac\x00\x5d\xb1\x60\x38\x66\xce\x43\x18\xc2\x37\x14\x3e\x94\x2a\x21\x5b\xe2\xa2\xc2\x5c\x83\xb1\x67\xe5\x05\x98\x73\x1c\xbc\xa4\x71\xf6\x49\x4f\x65\x5b\x35\x14\xea\x19\x8d\x50\x73\xb3\x77\x08\xb0\x31\x1c\xe1\x37\x92\x13\xdb\xaf\x5c\x20\x65\x61\xc1\x0f\xe9\x17\xc8\x8d\xc6\xe1\x80\x2d\xaa\x05\x69\x41\xc2\x1d\x80\x1a\xfb\x5e\x69\x4b\x2d\x86\x82\x90\xc6\xf3\x0b\xf1\xb9\xc1\xeb\x19\x05\x80\xa8\x73\x6c\xfb\x2d\x12\x0c\x98\x87\xb7\xfc\xfc\x01\xb5\x7b\x55\x29\x2c\xb9\x2c\x37\x05\x0e\x1b\x12\x69\x8c\xdb\x4b\xf0\x7e\x5d\xa8\x26\x8a\x54\xae\x94\xb7\x13\xb8\x2a\xc2\x7c\x8f\xd2\x1a\x13\x8a\x2e\x8b\xa7\xee\x44\x1c\xd3\x5b\x0e\xec\x6a\xcc\xff\xbc\x8a\x2b\xc4\x26\xf8\x6f\x09\x71\xb0\x4d\x65\xa8\x19\x34\x87\xa2\x1a\xc5\x44\x29\x5a\x37\x29\x02\xfa\x60\x96\xf6\x89\x82\x62\x1b\x07\x57\x66\xaf\x42\x07\x79\x82\x0f\xdc\x41\x85\x02\xe4\x29\xd2\xed\xc6\x57\x6e\x1a\x43\x00\x63\xcf\x63\xce\x67\xfc\xac\x55\xd9\xec\x8f\x04\x06\x61\xc5\x0a\xcd\x63\x02\x15\x4a\x49\xda\x1f\x76\x78\x35\xff\x8f\x1e\x31\xb5\xda\x45\x19\xa3\xf9\xe0\xea\x15\x13\xb5\x4a\x42\x2c\x5b\xd1\xa7\x1c\x6a\xed\x66\x57\x9e\x16\x09\x1c\xbf\x56\xd4\x4b\x3b\xac\xa9\x76\xb7\x04\x0b\x91\xb1\xf2\x93\x25\x54\x40\x80\x04\xf4\x60\x93\x6b\x48\xb9\x39\xd6\x3a\x51\x05\xd1\x6e\x18\x08\x25\xd4\x61\x4a\x3e\x19\xba\xb2\x70\x51\xba\x52\x34\xb9\x09\x11\xaf\x4e\x2e\xad\xe6\x0b\xac\xef\x8f\x85\xd7\xc8\x4c\xaa\x70\x6b\x37\xa6\xe0\x49\xf3\x6a\x28\x51\xc6\x74\x44\x57\x39\x8c\xf4\x84\xb4\x61\x60\xae\xa5\x55\x7c\xc1\xfe\x0d\xbe\xdb\xea\xfc\x4d\x72\x64\x76\xbc\x8a\x2c\x95\x11\x36\x16\x32\x92\xff\x75\xd1\x16\x4c\x39\xd4\x52\x14\x42\x88\x63\x84\x8d\x72\x18\x95\x7e\x34\x40\x6a\x39\x88\x21\x02\x56\x22\x41\xea\xc1\x69\xad\x4c\x28\x42\x64\x45\x55\x8b\x02\xd6\x20\x33\xa4\x1a\x06\x53\x81\x1f\xa4\x96\x87\xf8\x44\xe8\x8a\xed\x30\xc4\x1e\xf8\x41\x6a\x60\x42\xf7\x52\xf5\x8d\x3b\x2c\xdc\xc3\xed\x08\x64\x1f\xa1\xad\x2a\x86\xe7\xc4\x91\xc7\xcf\xe2\xb4\x35\x5c\x35\x89\x8c\xb9\xbf\x94\x5f\x0e\x46\x91\x27\xf6\x4f\x08\xd0\x62\x6b\x6d\x2f\xd6\x51\xc0\x48\x59\x4f\xe6\x8d\xfd\xb5\x0f\x3f\x2c\xca\xf5\x3e\x16\x4d\xdc\xd1\x51\x83\x0c\x1b\xcc\x48\x9a\x5c\xb7\x0b\x16\xaf\x7a\xaf\xc5\x4b\x16\xd9\xc3\xc6\x9c\x81\x89\xb2\x81\x33\x44\xbb\xfd\xbe\x08\x96\x0c\xe8\x0f\xfd\xb6\x97\xea\x86\x20\x07\xda\xe1\x59\xaa\x18\x65\x85\x92\xfb\xa2\x86\x19\x93\x6a\x00\xa4\x3d\x64\xe9\x7c\x08\x75\x12\xd2\x15\x4a\x41\xa0\x32\xd4\x46\x95\x20\x58\x41\xfc\x20\xa5\x48\x70\x98\x2d\x59\xd6\x53\x35\x8d\x61\xb3\x92\x26\x53\x59\xc7\x43\x90\x6c\x0c\xc6\x7a\x4a\x00\xf0\x8c\x75\xd8\xd6\xac\xb4\x07\x15\x2d\x81\x6e\x26\xfd\xf3\x4a\xda\x1c\x99\xf1\x08\x18\x83\x91\x3b\x1b\x20\x32\xcd\x50\x26\x13\x81\x51\x6b\x07\x19\x0a\xa4\x48\x4d\x88\xa9\x4d\x04\xd0\x16\x0a\x1a\x7f\xc7\xb5\x66\xb1\x76\x20\xc9\xa7\x21\xe9\xbd\x87\x9e\x58\x46\x6c\x51\x7c\xef\x21\x95\x75\x38\x8c\x84\x7b\xf9\xa4\x97\x5f\x62\x9c\x0f\x4d\xb2\x82\x6a\xf4\x6c\xad\x42\x27\x0e\x24\x53\x59\x3d\x5f\x31\xcd\xc4\x08\xf6\x6d\xef\x31\x9c\xbf\xaf\x81\x4a\xc6\x73\xd5\x9e\xae\x09\xfd\xed\xf9\xd3\x00\x4f\xbb\x15\x72\x4b\xa1\xad\x8d\x39\x6d\x88\x55\x63\xa2\x97\x46\xc6\x34\xda\x09\xa2\x2f\x50\xc6\xc4\xf7\xcc\xb9\xf5\xb5\x8b\x92\xd0\xdc\x2e\x8d\x22\x79\xd5\x15\x4c\x39\x9d\x63\xbe\x06\x8d\xf0\x81\x51\x73\x12\xef\x1d\xf1\xff\x41\xfa\x61\x6c\x93\xdc\x0e\x84\xdb\x03\xdc\xea\x24\x54\xb2\xb5\x58\x8a\x76\x70\x79\x59\xf3\x70\x95\xbf\x5e\x45\xd5\x9f\x3e\x70\x29\xff\xb6\x8a\xf3\xd3\x13\xf2\xed\xd5\xfd\x1c\x4e\x55\xc8\x8c\xac\x24\xdb\xd1\x24\x5a\x3d\x29\xee\xf6\x81\x55\x2f\x80\xfa\xd9\x9c\xa7\x7c\xa8\xa6\x39\xdd\x02\x64\x84\xee\x9d\xf0\x6f\xed\x3a\x00\x84\x0f\xc8\x6a\x49\x65\x93\xe0\xab\x91\xf4\x6d\x79\x2d\xa0\x1e\xe1\x38\xd8\xe3\xc4\xe5\xcc\xe7\x5b\x33\x2f\xda\x63\x51\xb5\x59\x90\x3b\x01\x33\x04\x5c\xb0\x18\xad\xa1\x17\x73\x3d\x58\x68\xb5\x92\xbf\x33\x18\x4a\xc1\x5c\x00\xe5\x16\xb9\x20\x97\x26\x2e\xf1\xec\xc7\x84\x92\xc3\x59\x87\x50\xfa\xbd\x48\xeb\xbd\x0d\x4a\x9f\xab\xa4\xe3\x87\xc8\xe6\x04\xcd\xe8\x0b\x41\x83\xb1\x35\x83\x25\x6d\xd2\x7b\x50\x70\x9e\x5e\x85\xdc\x4e\x6d\x6c\x84\x59\x29\xd2\xdc\x80\x71\x60\xe0\x04\x15\x82\x61\x89\x9c\xa9\x16\xc8\x0f\x0c\x4f\x50\x35\xb0\x2f\x80\xb9\x2d\xc8\x08\x18\xd7\x4d\x20\x7b\xad\xbd\x18\x02\xa6\xd3\x46\xe4\x8d\x5e\xfe\xd8\xe6\xdf\x63\xeb\x3d\x0e\x6b\xa0\xd5\x2a\x94\xbc\x50\xef\x36\x7e\xfc\x2c\x5e\x26\xc7\x61\xad\x27\x6a\x55\xc0\x2d\x9d\x12\xb9\xad\xec\x31\x0c\x1e\xa8\x92\xa1\x0a\x61\x77\x66\x30\xb3\xfd\x70\xca\x70\xdb\xf4\x2b\x87\xa2\x8f\x6c\xbe\x00\x34\x8c\x42\x24\x90\x48\x30\x81\x20\xba\xa6\x1f\xac\x7c\x21\x08\xf6\x6a\xaf\x92\xc3\xa0\xc0\x7e\xec\xa3\x02\xcf\xf1\x32\x93\x98\x73\xdd\xd8\xb9\x3d\x35\xb2\x13\x37\xed\xa8\xde\x2b\x58\xe5\xba\x60\x49\x51\xc9\x8f\x69\x35\x31\xa8\x12\x28\xf4\x2a\x64\x80\xf7\x78\x06\x29\x7f\x34\xb6\x34\xa8\x01\xdd\x2c\x71\x51\x5b\x7d\x86\x68\xbe\x75\x27\xfa\x1d\x42\xef\xc9\x99\x06\xda\xf7\x37\xa0\x75\xc1\x40\x8d\xb9\x31\x4c\x2a\x0c\x2c\xbf\x37\xbf\x5f\xce\x0c\x49\xae\xb3\x44\xb0\x2a\x17\xbb\x62\x37\x05\x96\xe2\x97\xa3\xfc\x9b\xda\xde\xf3\xc0\x6d\xf6\xa6\x3b\x15\xf3\x65\x89\x0c\x79\x71\x35\xf2\x70\x36\xb6\x10\x70\x80\xd9\x6c\x17\x93\xea\x39\x71\x3c\xc6\xf4\x3b\xcc\x64\xba\x78\x8e\xcf\x1d\x56\x73\xb2\x73\x14\x23\x77\x3b\x6b\xfd\xf0\x66\x76\x40\xe0\x4c\xc0\x82\x04\xda\x5b\xcc\x9e\x57\xe8\xae\x0f\xae\x0a\x7f\xf7\xfe\xc2\x74\x4b\x0b\x5e\x0f\x06\xfc\x2d\xb2\x97\x54\xba\x37\x35\x54\xae\x4a\x2f\x35\x5c\x33\x54\xa2\x4e\x05\xa0\x11\x8e\xd1\xeb\xe8\x00\x68\x1b\xec\xd1\x9a\x51\xcb\xc8\x90\xab\x9c\x57\xc0\x14\x65\xae\xa1\xa3\x0a\x01\x08\xa1\x69\x4b\x03\x9e\x3a\x11\xa5\x57\x19\x1c\xf4\x8c\x20\x55\xe9\x3d\x58\xc2\x05\x8d\x13\x68\xa0\xa7\xd9\x40\x3a\xa0\xee\x69\xcf\x34\xd1\xd3\xb1\x97\x5b\xba\x4f\x57\x31\xf8\x5c\x47\x88\xf7\x1d\x5a\x3c\x19\x28\x73\xf9\xe5\x51\xf3\x2a\xb8\x14\x2a\xcf\x91\x1d\x36\xbf\x13\x92\xaf\x6e\xc3\x36\x6f\x5a\x75\x78\x51\x08\x73\xee\x4c\xdc\xb7\x85\xaf\xd6\xc1\x10\x9d\x89\x47\x7a\x50\x1c\xda\x66\x4f\x34\xf8\xbe\xfa\x78\xa1\xd2\xa3\x27\x07\x96\x24\x80\xab\x5a\x93\x90\x9e\x37\x5c\x21\x12\xc3\xf4\x53\x70\x6c\x35\x0f\xb4\xaf\xe4\x3f\xb4\x27\x8c\xb7\x92\xeb\xed\x12\xe7\x67\xbf\xb1\x43\x64\x60\xa4\x79\xd4\x84\x43\x9a\x1c\x0b\xcf\x9a\x45\xa2\x95\x66\x4c\x76\x9f\xe6\xee\xb7\x0d\xcf\x7e\xf0\x74\x69\xfe\x82\x15\xd9\xc6\xbf\xad\x46\xe9\x5b\xab\xd7\x90\x09\x12\xc7\xb4\x92\x36\x9b\x74\x89\x16\x1c\xad\x22\x9d\xee\x8d\x75\xbd\x5b\x39\xd7\x78\x75\x4f\x74\x71\x4a\x94\x44\x87\x47\xef\x26\xd4\x5b\xd1\x15\x1e\x6e\xd8\xe8\xa6\x01\xec\x4e\x35\x82\x20\xee\xb7\x9e\xa0\xaa\x56\x09\xbd\x8a\x30\xa8\xd8\xfa\xe6\xc3\xa0\x71\xb1\x40\xc3\x31\xb5\x7b\x74\xc3\x6b\x2a\x81\x10\xb1\x2c\x00\xd7\x70\x8d\x45\xad\xd7\x04\x12\x5f\x57\xb3\xe6\x0f\x6a\xbd\xcf\x8c\x85\x33\xcd\x4e\x2c\x98\xf4\xe4\x03\x8a\x06\x5e\x8a\xdf\xf4\x2b\x7f\xe0\xa1\x30\x50\x0a\xab\xda\xcf\xa0\x40\x15\x6d\xd4\x6e\x1f\xb1\xe2\x8d\xd1\x14\x50\xe7\x69\x76\xaa\x1c\xb9\xcd\xf1\xb8\x5f\x8a\x18\xa7\x3a\xce\x52\xce\xb7\xc3\x2b\x1a\xc5\xfc\x0d\x7f\x00\x02\xca\x15\x54\x52\x05\x88\xc1\xa2\x05\xad\xb6\x13\x51\xc4\x81\x9e\xd5\x78\xa4\x0e\x28\x2c\xcf\xec\x35\x4b\x0c\xaa\x76\xc7\x98\xf9\x76\x68\x50\xa3\xfe\xc2\xb3\xb4\x3d\x14\x79\x4d\x4c\x6a\x0c\xa8\x75\x9f\x02\x2f\xa5\x63\x7d\xd4\xd4\x19\xe8\xb1\xef\x71\x8c\x5e\x62\x13\xd7\x8d\x62\xb3\x0c\xfe\xaf\x9d\x98\x6d\xa6\x1f\xdb\x31\xd9\xb1\xe7\x9c\x14\xe9\x9d\xf6\xa6\x5d\x38\xf5\xc4\x9e\x93\x65\x63\x05\xee\x87\x50\xe2\x8d\x92\x4e\xd9\xfa\xec\xb6\xac\x0c\xf1\x4d\xa7\x48\xff\xa9\xc1\xff\x37\x5b\x5a\x81\x45\x38\xa0\xa8\x60\x8c\xb1\x2c\xf0\x9a\x97\xca\xb8\xb5\xf4\x5a\x9f\x88\x01\xfc\xa1\x5e\xfb\x6a\x0b\xec\xb9\x5c\x1d\x9a\x10\xca\xf9\x9c\x8b\x5f\x57\x0a\xde\x9a\x9c\x82\x4d\x5c\x42\xe1\x98\x2a\xb3\x64\xdf\xb0\xc4\x63\x2a\x51\xe9\x4e\x9f\x96\x6c\x0a\x13\x54\x4e\xc2\x7a\x16\x6e\x6a\x02\x4d\x9c\x51\xb5\xa2\xb1\x91\x75\x2b\xbc\x7b\x6b\xd8\x39\x8e\xf4\x8f\x45\x96\x75\x53\x3f\x5f\xa0\xad\x41\xb5\xb4\x55\x29\xca\x05\x5d\x7d\xbe\x9b\x71\xba\x56\x39\x79\xe8\xdd\x51\x87\xd5\x15\x16\x71\x36\x54\x75\xf3\x25\xd2\xec\x5e\xbb\x0b\x25\x94\x47\x15\x4d\xd7\x07\xd9\xcb\xce\xcf\xc4\xbb\xba\x29\xed\x68\xa3\xee\xe2\x14\x9f\xbb\x6b\x8a\xcb\x5c\x4f\x5b\x1e\x24\x3a\x70\xcf\xe4\xf6\x42\x01\x24\x46\xe7\x21\x75\x35\x04\xe3\xd1\xff\xeb\xd2\xf7\x3b\x7f\xc2\x64\x4d\x10\x36\x46\x4f\xe7\x63\x99\xd3\xf7\x1b\x45\x94\xdf\x5f\x25\xa9\xf3\x42\x6e\x0b\xdf\x7b\x9e\x5a\xd7\x7f\xfc\xa4\x50\xdb\x67\xcd\x2f\x5a\x30\x66\xa1\x5f\x05\x1c\x2d\xa6\xc4\xf8\xf2\x9f\x86\x75\xa6\xb3\x1d\x30\x1c\x73\x5b\xc8\x43\xfe\xf4\x41\xd4\x4c\x46\x4c\x42\x1a\x2c\x8a\x95\xb5\xc7\x50\x0b\x8c\x3e\x5b\x88\xb6\x4b\x9d\x4f\x7e\x06\xb1\x6b\x4d\x35\x4d\xae\x7a\x50\x41\x03\x6d\x1c\x1e\x79\xee\x5f\xfe\x4b\xb2\x70\x92\x1a\xc0\x20\x35\xe2\xc6\x26\xb1\x47\x78\x25\xa4\xf1\xc9\x3e\xc5\x2c\x42\x9a\xca\x85\x4b\xa7\xb6\x54\xa5\xbd\x5b\x58\x27\xe8\x7a\xe1\x42\x0d\xbd\x0e\x08\x02\x32\x2d\xc3\x9a\xa8\xbe\x69\x91\x41\x57\xec\x56\x1e\xc2\x40\xe5\xee\xad\x5a\x7e\x47\x51\x9d\xef\x3b\x7e\xf6\x0f\x92\x7b\xae\xf8\x49\x05\x6e\x32\xa8\x37\x9c\xb3\xdc\xbe\x36\x22\x15\xb8\x47\x63\x47\x1c\x71\xe0\x18\xf4\xa2\x0e\xdf\x15\x7c\xef\x22\xbd\x67\x6c\x4c\xae\x68\xcf\x15\xf1\x4d\x2a\xe2\xbb\xba\x91\x09\x49\x05\x14\x53\x36\x69\xea\xf6\x09\x48\x7a\x5d\x96\x9d\x21\x37\x0f\x19\x16\x26\x6a\x64\x28\x2b\x9d\x65\x26\x6a\x32\xd0\x3c\xc7\xd8\x7d\xab\x51\x53\xbd\xb7\x8d\x55\x11\x63\x28\xf2\x73\xa6\xa1\xcc\xa9\x58\x88\x96\xaa\x03\x85\x15\xeb\x2a\xbd\xe1\x3b\x40\x2f\xb7\x45\x98\x79\x18\x71\xa2\xc8\xb1\x39\x76\xb2\xae\x68\x6c\xe2\x5c\xe3\x1b\x7f\xdf\xbe\xd6\xcd\x79\x7c\x4f\xa2\xe9\xfd\x3b\xda\xef\x30\x6d\xef\xf0\xd0\x35\x1a\x15\x3f\x45\x9e\x04\x7a\x19\x23\x3c\x31\x37\xeb\x0e\x27\xdf\x4b\xf3\x96\x16\x7c\xfb\xcd\xc4\x8d\xeb\x56\xeb\xd3\x14\x56\x93\x74\xd3\x21\x2a\x89\xc3\x6e\xd0\xdf\x48\xf0\xae\x8b\xda\xff\xb9\x5e\xea\x0d\x48\xb8\x29\x74\x97\x0c\x0b\xf6\xbd\xb6\xab\xcc\x42\x14\x93\x96\x60\xfb\xb0\x59\x82\x1f\x3f\x1f\x88\xf8\xa3\x92\x9a\xda\x4c\x20\x2e\x8a\xc8\x07\xee\xfd\x5b\x0f\x0f\x4d\x91\xf2\xb2\xef\xae\x5d\xdb\x47\x02\x0e\x96\x8f\xf4\x97\x2f\xae\x6f\xbb\x7e\x0b\xd8\x16\xf2\x08\xd2\x2f\x8d\xd7\x15\xa6\x59\x5d\x17\x79\x0f\xb6\x08\x59\xc1\x13\x32\x5b\xc5\xf9\xad\x84\x53\x38\x4c\xa1\x50\xeb\xc2\x0f\x07\x09\xdb\x19\x86\xa1\xef\x0e\x19\x6e\x90\x47\xeb\x1e\x26\xd4\x01\x1b\x5b\x48\x46\xd4\x77\x16\x06\x9d\x5a\x5a\xd0\x68\x87\x6b\x27\x95\x82\xad\x19\x88\x33\xa8\x14\x87\xd4\x08\x0f\x3b\x21\x8f\x2c\xe2\xa3\x34\x61\x60\x0b\xa7\x20\xc0\xfb\xec\x0a\x86\x45\xe2\x54\x60\x3d\xb1\x73\xca\xc4\x07\xf7\x12\x56\x17\x69\xaf\xfd\x44\x9c\xaf\xab\x46\x68\x57\x04\x36\xf6\xf9\x78\xec\x07\x71\xf4\x36\xce\x3f\xdb\x6b\xdf\xc7\xcd\xcb\xdb\x6a\xed\xfd\x98\xd6\xbf\xba\xb8\x2e\x58\xdf\x9e\x4c\xbe\x64\xa3\x64\x64\x8f\xc9\xd1\x36\x66\x03\x7b\x6e\x8a\x11\x3b\x56\x4e\x55\xd4\x68\x83\x67\xce\x49\xe4\x1a\xd4\xcf\xd3\xf2\xf2\x7e\x2a\xca\x5c\x4c\xb5\xf6\xf2\x6c\xb4\x3f\x24\x6c\x6b\xf7\xa9\xd1\x66\x11\xca\x32\xaa\xdd\x05\xea\xca\x42\xae\xdb\x9c\x85\xa1\xd7\x3a\x35\x79\x95\xa9\x5b\xc8\x65\x62\x39\x00\x22\x8c\x9a\x01\x24\x11\x59\x85\x38\x9c\x71\xa7\x1d\x96\xdf\x4e\x10\x53\x20\x46\x5b\x5e\x40\x22\x4b\xa2\x94\x38\x62\x2b\x54\x91\x3b\x33\x42\xd6\x02\x75\xae\xce\x1d\xe4\x28\xb6\x3b\x30\xaa\xc3\xca\xe6\x81\xf4\xfd\x10\x0e\x7b\x03\xff\x62\xec\xea\xa8\x12\x01\xf9\x90\x92\x82\xea\x24\x1d\xab\x01\xba\xcb\xe7\x49\x5f\x31\x9e\xa6\xfe\xce\xcf\xe3\x1d\x91\x4d\x83\x30\x17\xbb\xfb\xeb\x9f\xed\x38\xdc\x9a\x12\x27\xfd\x85\xe6\xb1\x3c\x57\x42\xf2\x01\x23\x4b\x03\xa3\x55\x00\x38\x02\x08\x66\xb2\x58\xcd\x97\x0a\x6a\xa8\x2d\x00\x22\xce\x87\xe0\x29\x47\x01\x06\x07\x2d\x82\xc7\xad\xe1\x6c\xde\xb6\x49\xbb\x3d\x83\xc8\x05\xc2\x2e\x35\xd1\x17\xd3\xd0\x58\xa6\xf9\xad\xf5\x51\xa1\x77\x60\x1e\x5d\x12\xc5\x1a\x61\x9f\xba\x22\xc4\x53\x56\x44\x31\xc9\xc5\x6c\x95\x10\xa2\xd9\xa7\x0a\x8f\xcf\x75\x38\x7c\xc2\x36\x2d\xb8\xc0\x19\x8f\x9f\xb4\x3c\xe8\x6c\xc7\x28\xdf\x2c\x6f\x9f\xb2\xe5\xf3\x51\x38\xa8\x11\xd1\xf2\x56\x54\x0c\xa9\xc6\xc6\x95\x5f\x52\x47\x76\xe2\xa2\xe9\xed\x5a\x7d\xbc\xc7\x4e\x72\x83\x1c\xdb\xd0\xc4\x18\x42\xa5\xbd\x32\xbc\x0a\x96\xaa\x88\x70\xbb\x1c\x7b\x65\xb8\xfc\x7e\x04\x4c\xea\x7c\x3a\x64\x9f\xd6\x18\x7e\xf4\x69\x58\x00\x05\x65\xaa\xbe\xba\x2a\x39\x2e\x04\xe8\x52\x2e\x51\xe0\xfa\x92\x2b\xf1\x63\xa6\xf8\x9f\x06\xad\xb8\xef\x42\x70\x9e\xc1\xa4\x82\x43\x7f\xe7\x86\x10\x7e\x23\xb3\x85\x1d\xc7\x42\xb4\xf6\x32\x3f\x02\xbb\x38\xd6\xee\xac\xdc\x5f\x25\x05\xb5\x45\x62\xa7\xce\xb4\x2b\x56\xc9\xc8\x39\x23\x93\x45\x26\xc1\xe9\x26\x67\x6e\x1a\xd7\xd0\x44\xd1\xac\x57\xf1\x8a\x12\xc9\x74\x9b\xf6\xe6\x71\x28\x67\x49\x65\xff\xd6\xc3\x03\x06\xc0\x2c\x59\x40\x18\xde\x47\x5c\xf3\x49\x9b\x61\xc4\x97\x04\xd1\x77\x09\x9e\x50\x02\x8a\x6f\xff\x85\x13\x7d\xe3\xa8\x1f\x06\x79\x6c\x7e\x77\xcb\xef\x5a\x39\x8c\xa6\x3e\x09\x5a\x86\x4d\xbf\xf9\x6f\x60\x08\x59\x44\xc4\x18\x44\x8a\x4c\x0b\x63\x9e\xc6\xfb\x9d\xe2\x72\xbf\xde\xf2\x22\xb9\x60\xbe\x88\x20\x7b\x75\x16\x4c\x43\xb4\xff\xdd\xb4\x62\xa4\xc2\x26\x76\x0b\x83\x4d\xe9\xd4\x10\x53\xbe\x23\x3c\x05\x20\x8b\xc9\xe7\x2b\x94\xf8\xdb\x25\x33\xb6\xe6\x12\x12\xb9\xa4\xbb\xf7\x64\xd7\x26\xb5\xce\xbb\xca\x86\x2d\x32\x04\x02\x9e\x28\x52\x31\xb3\x32\x5d\xce\x2f\xc7\x1a\x0a\x65\x45\x90\x7b\x35\x8f\x59\x0a\x18\x73\x5b\xe1\x9a\xc0\x86\x33\xb3\x84\x7c\x86\x1c\xb6\xcb\xd7\x78\xd7\x25\x29\x29\x3e\x06\xe3\x61\x30\xeb\x5d\x06\x17\xac\xd6\x6d\xff\xda\x6b\xa4\x2d\xb4\x5a\xc8\xf9\xf4\x5c\x0f\x69\xb3\x18\xba\xd9\x9f\xdd\x05\x76\xbf\x3e\x99\xd6\xcf\x82\xfa\x4b\x5b\xdd\xf5\x55\xa5\x60\xac\xdf\x69\x20\xe3\x62\x5f\x02\x3d\x18\x62\x4a\x27\x4d\x95\xa6\x4d\xd9\xfb\xb6\x21\x8b\x34\xdb\xf8\x82\x08\xf4\xb4\x62\x18\x0d\x8a\xc5\xbd\x41\x20\x49\x40\xea\x68\x5c\xec\x77\x03\x02\x97\xf0\xa4\xdb\x5b\x2d\x6e\xf0\xb3\xd3\xc5\xf1\xaa\x7b\x42\x49\x62\x2f\x1e\xba\x73\x51\xa9\x06\xd6\x5f\x05\x69\xcd\x0b\xdb\x41\xe2\xfa\x8c\xc6\x74\xee\xb0\xa7\x65\xdd\x1c\xe1\x56\x7b\x56\x23\x5c\xcd\xe5\x93\x86\x3c\xe9\x50\xd3\xe3\x29\xc9\x15\x08\x98\x07\xac\xb9\x60\x77\x1c\xac\xe6\x44\x76\x9f\xc5\x52\x4e\xe2\x98\x77\xde\x76\x48\x80\xc5\xf1\x85\x78\xd5\x91\x89\xf8\x55\x37\x73\x23\xf9\x61\x83\x39\xef\x56\xe3\x84\x57\x3f\x14\xd3\x92\xd6\x5c\xc2\xb6\x2f\xff\x69\x29\xfc\xec\xee\xd3\x86\x9f\x8e\x5a\x9f\x44\x13\x6e\xb2\x4f\x93\xa2\x2c\xd9\x9c\x48\x59\xd5\xae\x9e\xdc\x4e\xfd\x04\xbe\x6f\xa9\xbd\x54\xaa\xf1\x43\xc2\xfd\x01\x50\x6d\xc1\xfa\xa9\x7d\xe4\x6e\x19\x2f\xc1\x54\xc9\x55\xaa\x15\x0e\xa3\xad\xbb\x19\xbb\x29\xc7\x46\xcc\xa6\xe5\xb0\x9c\xf6\x66\x72\x2d\xbd\x1d\x83\xcf\x24\xe6\x00\x54\xf1\xd9\x4f\xb9\xc6\xf4\x31\x5a\xf1\xe7\xbf\x57\x89\xb6\x4d\xea\xb9\x54\x25\x6d\xde\x79\x75\xcb\xd0\x7c\xd2\xa9\x3e\x76\x0f\x1d\x02\xc4\xbf\xd3\x78\x5b\x4a\xe7\x40\xc3\xfc\xfa\x4b\x50\xd5\x56\xa7\x8d\xb3\x81\xa2\xa9\xf8\x26\xdc\x19\xfb\x3c\xde\x0d\x9a\x42\xd5\xb3\x5c\x75\xc8\x01" +var __4A60e5d61075d61681580JsBr = "\x1b\xfd\x8c\x51\x04\x1b\x07\x80\x90\xc5\x4e\x51\x94\x50\x56\x0c\xa0\x65\x81\x79\xd8\xfe\xc0\x4b\x0a\xb3\x6c\x8a\x79\x4c\x39\x74\x1a\xa3\x3e\x76\x8f\xce\x9b\xaa\x62\x30\xfc\x69\x9a\x6d\xf1\x1e\x47\x4f\x74\x9a\x63\x9e\xcd\x52\x9c\x71\x2e\x87\xc8\x11\x1a\xfb\x24\xd7\x3e\x9b\xd6\xdf\xe7\x72\x02\x95\x8b\x7d\x2a\x37\x6c\xc8\xcf\xdb\x9f\x0d\x21\xdb\x0c\x1f\x83\x3c\x19\x58\x21\x4f\x84\xc3\xe6\xfc\xf3\x79\x55\xba\x1d\xfb\xdb\x01\xb2\x03\x3b\x38\x36\xb5\xa7\x3b\xe0\x11\xb4\xd3\xa2\xa6\x55\xaf\xef\x8a\x3d\x03\x6b\xd1\x19\x5f\x8f\x1e\xe7\x34\xce\xeb\x52\x45\x20\xb2\x1b\x65\x32\x51\x59\x6d\x06\x5f\x7d\xd5\xbe\xbe\x2d\x04\x0f\x34\xdc\x21\xf6\xb3\x85\x6e\xac\x15\xe7\x04\x37\x56\x30\x21\x5d\x69\xba\xb7\x28\xf8\xca\xb2\x5f\xa7\x2b\x3d\x41\x28\x94\xcc\xfb\xce\x95\x28\x84\xb1\x77\x6e\x83\xf0\x6e\xd7\xb7\xd2\x54\xfd\x3e\xab\x36\x1b\x20\x02\xe7\x3c\x27\xf4\xf6\x4e\x54\xf4\x69\x05\x17\xfb\x72\xbc\xfb\x73\x03\x2e\xf3\xb7\xdc\x54\xbf\x9b\x64\x07\x28\xaa\xdd\xd2\x6b\xff\xbf\x4d\xfb\x9a\xe1\x92\x49\x1e\xee\x3f\x94\x2d\x51\xbc\x41\x22\x5b\xdd\xbd\x08\x39\x06\xf9\xd4\x7d\xf7\xbd\xdb\xaa\x2a\x49\xdb\x2a\x49\xfe\x2d\xc9\xd6\xb6\xa1\x01\xcf\x18\xbb\xf9\x81\xe4\x5f\x20\x7b\x64\xc9\xdd\x47\xb6\xfb\x9f\x35\x0d\xf9\x0f\x63\x7b\x00\x28\x4b\xf6\xfc\x6c\x89\x83\x7c\x93\x08\x28\x9c\x28\x5c\x9d\x43\x0c\x9e\xa1\xfb\xae\x4b\x0a\xa5\x7f\x8c\x09\xfe\xa3\x95\x22\xde\x48\x81\x6c\xbb\x86\xa9\x9d\x5d\xc9\x49\xfc\x65\xc6\x82\x7f\x81\xfd\x40\xc8\xf5\x35\x2b\x5b\x54\xae\xbe\x0e\x2d\x74\x34\xeb\xd6\xd3\x9e\x0d\xf8\xf0\x84\xb2\x4f\x30\x59\xde\x29\xf8\xbd\x75\xab\x5f\xa0\xbe\x32\xe1\x04\x22\x56\xb3\x7d\xb9\x28\x2f\x7f\x50\x07\xd3\x10\xf9\x31\x99\xd0\xda\xb7\x17\xa4\x12\xd1\x32\x6e\xf2\xa5\xf6\x81\x60\xb7\x25\xf8\xf4\xb2\x60\xd6\xf8\xf2\xf2\x8a\x4b\x3e\x21\x76\x62\x3d\xb9\xac\xbb\xec\xa5\x8f\x59\x31\x4e\x01\x35\x7f\xde\x46\xd5\x36\xe8\x89\x76\x8b\xf6\xad\x05\xab\x14\x7a\xe2\x63\xd0\x4c\x12\xd5\xae\xbb\x82\x03\xfe\xff\x33\x42\xa3\x1c\x47\xe5\x1f\x81\x1d\x7c\xd7\x9f\x32\x86\x93\xcb\x02\xda\x6b\xd2\xf1\x3b\xb5\x47\xc4\x53\x39\x13\x68\x74\x52\xea\x3d\x2d\x65\x8f\x1a\xf2\xa5\x5c\xa4\xd4\xcf\x68\x77\x1f\x3d\x45\x56\x7c\xac\x1a\xb5\x12\x8d\x93\x18\x26\x8b\x97\xdb\xc1\x1c\xb4\x56\x51\x13\x05\xf9\xcc\xf6\x7b\xab\xb6\x2e\x41\xf9\xa9\xe1\x67\x47\x8e\xe0\x19\x3f\xca\x4c\xd5\xf9\x05\x64\xe6\x15\x3b\xe4\x63\x37\x01\x92\xe5\x50\x9e\x33\x4a\xc3\xf5\x29\x32\x9e\x53\x6b\x67\x7e\x47\x50\xe6\x19\xb4\x50\x96\x27\x93\xf4\x7a\xcf\xbd\x91\xdc\x9b\xb2\x14\x31\x6e\xf9\xea\xfc\x09\xfd\x9b\xff\x64\x70\x16\x86\x1d\x47\xa8\xa9\xb6\x79\xe1\x04\x76\x9e\xf4\x34\x65\x61\x24\x5c\xe5\x2f\x3e\x93\xd3\x7c\x56\x8d\x61\x6d\xfe\x3f\x25\x8c\xb4\xa8\x26\x67\x99\x4e\xcf\x96\xc4\xfc\xce\x8d\xee\x5a\x16\x7c\x63\x57\xd6\x8b\x4f\x7b\x33\xd3\xd4\x5a\x99\x00\x14\x3e\x5b\xc8\xe5\xaa\xa0\x88\xf4\xa3\x92\x6c\x6f\x67\xe4\x98\xe5\x4e\xd6\x4c\x57\xd3\x66\x9a\x29\x63\x2d\xb4\xa5\x6d\x87\x8b\x54\x35\x2e\xf9\x99\xf9\x50\x95\x21\xb2\x2d\xed\x2d\x4a\xe5\xc0\xeb\x0e\x3b\x12\xcd\xbe\x05\xa5\x1a\x8a\xd0\xef\x1b\xa1\xfc\xa3\x16\x95\x1b\x39\x5d\xc9\x51\xa2\x20\x2e\x09\xcb\xcc\x67\xb3\xdc\x43\x1f\xc5\xe1\x4f\xeb\xc9\xab\xb2\xec\xed\x16\x95\x51\x27\x85\x4b\x74\xbf\xdb\xc8\x5e\xef\x90\xc0\xc5\xb1\xd0\x37\x39\x80\xb0\xe6\xb8\x86\x28\x33\x1d\x4c\xca\x9f\x00\xf0\xae\x6f\x1f\xc3\xa7\xeb\x58\xda\x39\xd1\xfb\xa6\x89\x02\xd2\xc9\x33\x31\x79\xca\xaa\x4a\xc0\xad\x60\xf4\xdc\x2d\xb2\x9b\xa2\x75\x6b\xd5\x49\x35\xee\xa5\xce\x33\x96\x97\x75\xa2\x97\xb6\x0e\xeb\xca\xcb\x4c\x09\x23\xa8\x58\xfa\xbe\x45\x01\xa2\x95\x55\x03\x30\xdf\x00\xf3\xb3\x88\x30\xd0\x01\x45\x1c\xbd\x0c\xa9\x10\xe1\xa9\x84\x57\x7a\xba\x03\xa4\xb6\x98\xaa\x07\xaa\x61\xee\xe0\xdd\x0e\x6e\x5d\xbb\xb2\xeb\x68\x91\xde\x00\x07\xe8\x07\x41\xa5\x45\x19\x4c\x32\x49\x0d\x74\xcc\xf5\xb9\xe5\xa2\xc9\x50\x8d\xa5\xc9\x2c\x01\x2c\xe5\xe1\xba\x82\xd3\x01\x61\xf1\x72\x46\x6b\x6d\x10\xf5\xd9\x2a\x04\x10\x8f\x04\x2d\x90\x46\xb6\x9d\x36\xdc\xf4\xef\x11\x99\x96\x09\xc0\xda\x30\x10\x05\x8b\xe2\x10\x0d\xce\x7f\xa9\x7e\xe1\x3e\xf5\x1e\x3d\xb8\xcf\x79\x0c\x22\x7c\x55\x57\xff\xb0\x6e\xd3\xfa\x8b\x25\xd0\xfc\x6e\x58\xde\xee\x5b\xd7\x42\x06\xe8\xe1\xdf\x60\x66\xdf\xf0\x77\x49\xc6\x99\xcb\xd8\xbe\xa1\x8a\xb6\x15\xb9\x16\xb2\xce\xfe\x4c\x14\xb1\x9b\x65\x30\x2b\x8e\xf9\x76\x06\xeb\x83\xe3\x46\x1b\xaa\xd0\x93\xb1\xba\x36\x14\x34\xdb\xb0\x24\x12\x2d\x34\x8b\xd6\x1d\x47\xb0\x88\xd2\xa2\xd9\xb9\x8b\x67\x9a\x7e\x57\xb1\x61\x4a\xb8\x6c\x11\xf4\x27\x16\x4f\x26\x60\xa7\xa3\xff\x61\x01\xcf\x24\x53\x1a\x9f\xd9\x6f\x56\xf7\x77\x1b\x15\x31\x88\xd7\x62\x82\xbf\x5f\x27\x1b\x9f\x3e\x7f\x85\x8a\x7d\xa6\xaa\x43\xa6\xe0\xe0\x5b\x52\xfc\xe3\x50\xcc\xb4\x35\xb0\x70\xb4\x1c\xc6\x0b\x13\x7a\xfe\xde\xb5\x2e\xb1\xcc\x7a\x7d\x80\xdf\x73\xcd\x1f\xc4\xc0\x61\x12\xe8\x5b\x6b\x45\xc1\x82\xc5\xee\x62\x7f\x3f\x4c\x88\xbe\x5c\xc5\x5a\x85\x93\x7e\x04\xc8\x63\x5c\x5e\xf5\x5d\xb6\x93\x21\xfd\x0b\xc8\xcf\xb6\xae\x82\x00\xfb\x27\x8f\x5e\x90\xc1\xa0\xdb\x46\x58\x0e\x0d\x4d\xb3\x49\xc4\xcb\xfe\x67\x1d\x80\x80\x01\xda\x4e\x5a\x3c\xc1\x68\xb7\x64\x10\xe2\x68\x3f\x3e\xda\xb1\x5d\xa5\x09\x55\x1e\x59\x74\x33\x53\x5a\xfe\x7a\x81\x9e\x87\x9f\x1c\x38\x7d\x13\x08\x1d\x2f\xaf\xd5\x39\x13\x0c\x2c\xc9\xa1\x11\x26\xf4\xa5\x10\x88\x3c\xe8\x6d\x2e\x61\xc6\xc2\xf9\x3c\x71\x66\xd8\x90\x7d\x87\xd8\x2e\x1d\x2c\x37\x7a\xc9\x4a\x9f\x42\x41\x49\xf4\x9c\x9e\x2b\x39\x99\xf9\x39\x00\x82\xc1\xec\xdd\x65\x55\xf4\xab\x6c\x2b\x84\x36\x03\x2f\x07\x7d\xec\xf2\xfd\xb8\x7e\x82\x5d\x0f\x2d\x9e\x66\xeb\xcf\xcf\xbe\x3b\x8b\x0a\x68\x36\x69\x86\x5e\xf3\x54\x45\x26\x81\xe3\x48\x95\x9a\x91\x0b\x7c\x06\x0c\x5e\xcc\xf6\x63\x7d\xc9\xb5\x43\xae\x42\xce\xf4\x18\x26\xc6\x59\x6b\xfb\x38\x7c\xd0\xc4\x83\x68\x7f\xbf\x00\x37\xe8\xc0\x3a\xb8\x27\x04\x61\xa9\xff\xe8\x9f\xe0\x3c\x70\x9e\x01\x4e\x98\x0a\xfb\xc8\xbb\xcf\x29\x63\xf8\xb4\xc2\x90\x09\xa5\x5e\x1f\x7a\xfc\x9e\x16\x17\xa3\x68\xc6\xae\x22\xcc\xe9\x74\x0b\xf0\x91\xd8\x99\xa9\xe9\x98\x82\xaa\xdc\xf4\xfe\xf4\xaa\xfb\xf4\x51\xf6\x54\x74\xf1\xce\x0f\x00\xd5\x12\x0e\x84\x4b\x29\x9b\x57\x55\x4f\x46\x3b\x85\xf2\x07\xef\xc7\xe2\xb2\xae\xf4\x68\x4a\xcd\xcf\xd2\x13\x6a\xd7\x82\xb8\xe9\xe3\xc6\x24\xf7\x7e\x8e\x24\x4a\x48\xcd\x27\x4c\xb9\xbb\xbe\x3c\x7b\xe9\xe2\x15\x9d\x5a\x4a\x6e\xc5\xaf\xa7\x90\x98\x46\x2f\x7d\xad\xea\xbd\x58\x33\x91\x3b\x5d\xc7\x54\xe9\x03\xb9\x2d\xf2\x08\x2d\xf6\x02\x4b\x77\xd8\xb5\xbf\x97\x02\xb7\xf6\xd8\x4f\xf2\x4c\xa1\x84\x9a\xeb\xeb\x9a\x76\x2d\xe3\x4f\x58\x8f\x74\x5d\x5e\xb2\x14\xb5\x1e\xa2\xc4\x29\x05\xa7\x25\xca\x4f\x14\xba\x4c\x6d\x03\xd7\x39\x9c\xf9\x95\x21\x4f\x72\x36\x86\x8f\x42\x84\x72\x65\x81\x33\xd9\xf0\x4e\xe9\xda\xcf\x5d\xba\xf3\x68\xf3\xd0\x4e\xbd\x16\xf9\xa4\x07\xb1\x42\x7e\x0f\x36\xb7\x43\xf6\xbf\xe5\x89\xfe\x37\xf0\x9c\xe6\x28\x0d\xaf\xe5\xd5\xfa\xfa\x47\x0f\xbc\xf7\xfd\x7b\xa6\xc7\xc0\x0b\x88\xcc\xe7\x19\xbc\xaa\xb7\xd3\x3f\xaf\x5b\x7c\x5b\xd1\xa1\x55\xc6\xdc\xfe\x5d\xa9\x75\x6a\x19\x8b\x64\x06\x04\xd8\x52\x58\x59\x38\x61\x90\xb1\x7e\x41\xab\x17\xc8\x1d\xd1\xb7\x95\x39\x5e\x20\xeb\x70\x2a\x40\x5b\xf6\xf0\xad\x9e\x17\x8a\xf6\xa1\x53\xbc\xce\x88\xa9\xf4\x6e\x90\x15\x33\x43\x67\xa1\x28\x26\xde\x4b\x60\xbe\x84\x23\x34\x9a\xfe\x2e\x7b\x5a\x63\x59\xa2\xe2\x7e\x40\x92\x93\x99\xa9\xcf\x60\x3e\x83\xe2\xd3\x9c\x35\x9e\x17\x57\x1b\xc1\xf4\x3e\xc3\x54\xba\xa1\xa5\xb4\x76\xce\xb4\xbe\x34\x95\x22\xd7\xd2\x8b\x0d\xe2\xc6\xa9\x88\x7b\x3f\x08\x98\xbc\x03\x45\xba\xb0\x79\x0e\x16\x4d\xec\x00\x64\x39\xfb\x74\xd6\xb8\x62\x3a\x60\xe7\xb3\xa7\xb4\xe1\xce\x94\xf6\xc6\xb2\xa9\x96\xcf\x70\x88\x35\x62\x12\x8d\x02\xdd\x3a\xda\xbc\x61\xa1\xee\x7e\x6e\xf8\xc7\x90\x4a\xdc\xc2\x92\x4b\xe3\x88\x41\x29\xc7\x8c\x80\x4a\x9c\x97\x80\x0b\x71\xa0\x01\xe1\xce\x36\xc0\x65\xac\x0f\x60\xfe\x80\x9e\x1f\xb6\x0f\x9a\xd0\x63\x6c\x2b\x36\xb0\xac\x65\x9b\x14\xc2\xe7\xfb\x6e\xef\xbc\x93\x94\x60\x9e\xcf\xe7\xf9\x45\xa1\x6b\xe9\x1d\xfe\x32\x4e\x37\x52\xba\x2b\x7f\x2c\x20\x96\x89\xb9\xec\x05\x19\x25\xfb\x4a\xa0\x17\xeb\xfa\x43\xfd\xa4\x5f\xbf\x10\x2c\x78\x55\xd8\x8f\x39\xc5\xb2\xac\x9f\xde\xa5\xfb\x57\xa9\x86\xfa\x1e\xcb\x68\x0a\xa0\xf8\xf4\x5b\x8d\xe5\x6e\x36\xdb\xce\xae\x67\xf0\x8f\xab\x85\x57\x82\x40\xe3\x69\xe3\x73\x67\xa6\xba\xf0\x7f\xf3\xa8\xf7\xf7\x67\x8c\x55\x37\xf5\xff\x63\x4b\x9e\xb5\x7d\x71\x33\x73\xf3\xdf\xbb\x98\xfc\x2d\xb1\xc8\xf6\x66\xdc\xe5\xbb\x92\x1b\xae\x2c\x58\x11\x0e\x0d\x55\xb5\x8e\x69\x3d\x79\x29\x15\xb0\x56\x7e\x51\x72\xf9\xaa\x7c\x58\xf3\x13\x20\xbb\xd9\xce\x37\x67\x6c\x3d\x7f\xdb\x6b\x31\xbb\x62\x63\x77\x05\xff\x6d\xf5\x2e\x7f\x26\x22\xbe\x9d\xab\xd5\xf5\xeb\x48\xd2\xb9\x05\x8a\x6a\xf0\xaf\xb3\x2a\x26\xd5\xbe\x0f\xcc\x8b\x45\x61\x80\xda\xb1\xc8\x99\x2f\x10\x71\xd7\xcc\xeb\xa4\xf7\xe4\x65\x55\x87\xff\x9a\xcb\xd5\x6a\x77\x96\x95\xe7\xb9\xd8\xdd\xaa\x58\xa7\x59\x1c\xec\x51\x5c\xad\x66\x89\x71\xa9\x09\x3b\x3f\x72\x2a\x87\xdb\xfd\x72\x2e\x39\xa7\xab\x95\xd8\x79\xc0\x99\x6c\x67\x58\x28\x14\xd8\xc9\xd9\xcd\xae\xf9\xc6\x6e\xcd\xcc\x58\xbe\xde\x5c\x58\x58\xd7\xbe\xc6\x39\x96\x4a\x49\x40\x05\xf4\xa3\x0d\xf4\x63\xa9\x96\xd5\x25\xbb\x6e\x8b\xad\xab\xd3\x52\x44\xd2\xdc\x5a\x9d\xa0\x4d\xe8\xc9\xba\x34\x52\x55\x7f\x29\x13\x51\x9d\x17\x8e\x25\x44\x17\xa4\xf0\x55\x99\xa9\x78\x59\xf2\xfa\x37\x61\xf3\x41\x7a\x23\x06\x43\x2c\x8d\x22\x1a\x61\x9d\x67\x6d\x9d\x87\xa2\x41\x17\x87\xca\xc7\xaa\x4c\x7b\xd8\x58\x2b\x31\x5a\xd7\x4d\xad\x48\x05\x4a\x05\x18\x53\x0d\x7a\xf3\xa5\x9e\x64\xe9\x2b\x4f\x03\x06\x47\x0f\x16\xa7\x62\x53\xc6\xe3\xb3\xa9\x86\xfd\x72\xfb\x82\x74\xd2\xef\x9c\x32\x3a\x1c\x8b\x72\x34\xb2\x8f\x2b\x2a\x42\x09\xe7\xf2\x50\x50\x0d\x22\x65\x57\xa9\x94\x4e\x05\x52\xe2\xb2\x2a\x1f\x8b\xfd\xaa\x04\xba\x1f\x82\xf9\x2a\xec\xd3\x75\x8c\x3b\x1e\x5d\x6e\x48\x41\x75\x61\xba\x06\xf7\xf7\x07\x37\xaf\xc0\x84\x9c\xe7\x0a\x8b\x1d\xd3\x97\x44\x68\x5e\x80\x5f\xa4\xfb\xd8\xc2\x19\x67\x0e\x95\x80\x8e\x1c\x8c\xf1\x31\x94\x1f\xfb\x7e\xbd\x17\x6b\xe7\x87\xb1\x6e\x3c\x14\x6c\xf8\x23\x70\x73\xa3\x47\xe0\xfc\x49\x8f\xc0\xee\x44\x8f\xe2\x55\xb1\xbd\xb5\xe2\xbd\xad\x98\xb3\xd6\x81\x0d\x20\x82\x96\xe2\xac\xa5\x70\x5a\xcd\xcf\xf4\x93\x38\x3d\xfa\xcd\x5b\x64\xaa\xd1\x1e\x76\x74\xbc\x70\x07\xde\xd4\x72\xac\xeb\xe6\x68\xac\x67\x3c\x73\xc2\x8a\x1d\x17\xdc\x00\xfb\x55\x9e\x39\x7b\xfd\xec\x8e\x5d\xd5\xae\x63\xc3\xe9\x0a\x17\xb8\x38\xa4\xd8\x75\x74\x5e\xc4\xdc\xca\xed\x4a\xa1\xff\xbe\xeb\xba\x04\xe8\x32\x93\x21\xd2\x57\xc6\x30\x2e\x44\x93\xed\xf3\x66\x04\xfb\xc2\x38\x62\xdf\xe6\xac\x78\x3b\xb4\x65\xeb\x0d\xb0\xa4\xd4\xfe\xf1\xd4\x15\xa5\xf2\x55\x0a\x4d\x7d\xae\xc8\xf7\xc0\xef\xc8\xbd\x9a\xc1\x20\x27\x74\x0a\x26\x4c\x96\xb8\xda\x15\xcf\xd1\x6d\x90\x86\x82\xee\xaa\x7c\x61\x77\x5d\x6b\xf8\x3f\x4b\xff\x4b\xf3\xd4\x92\xd2\x51\xab\x3f\x2a\xb5\xd4\x51\xa9\xe5\x8f\x4a\x07\x1c\x2b\xbc\x99\x16\x63\xae\xf6\x0d\x1a\xc6\xcb\x30\x34\x60\xd6\x76\xfc\x49\xaf\x9d\xeb\xe5\x2c\x8c\xee\x9c\x52\x23\x11\xca\xc5\x45\x8f\x62\xfe\x9e\x2d\x3d\x94\x45\x40\x19\xf4\x35\x56\xe6\x2b\x33\xde\x62\x81\x12\x97\xde\xa1\x61\x18\x83\x8b\x8f\x2f\xda\x62\x4b\x55\x4c\x42\x18\xd4\x5b\xad\xfc\xd4\x65\xba\x5f\x1a\x5b\xf5\xa9\x2c\x9b\xaa\x55\x65\xc9\xfb\xc6\x74\xcd\x3b\x27\xba\x0e\xc8\x96\xe9\x29\x5b\xeb\xfa\x29\xad\x05\x54\xb6\xb4\x6c\x7e\x65\xee\xef\xac\x41\x65\xc8\x14\x19\x2e\xe2\xb7\xac\xd5\x6e\xc7\x0e\x1a\x19\x46\x78\xaa\x4c\x03\xd2\x17\x4e\xcf\x14\xfd\xcf\x5c\xfb\x9d\x10\x0d\x54\x8a\x0a\xef\xe8\x55\xfe\x22\x39\x20\x65\x9b\x8c\xa8\x0e\xe1\x0b\x34\xbc\xaf\xf1\x6a\x1e\xe1\x20\xbc\x1e\x93\xf1\x8e\xf5\xb1\xd3\x8d\x07\x07\xc0\x16\x26\xec\x6f\x6f\xba\x80\xbc\xca\x83\x60\xee\x5b\xdc\xd2\x9b\x20\xb9\x78\x46\x85\x63\xfe\x90\x28\xb9\xd9\x95\x9f\x85\xe4\xf8\xc9\x81\x82\x48\x99\x44\x01\x51\xe3\x69\x5e\x96\x34\xf9\x33\xd3\xbe\x46\x20\x88\x5e\x22\xbf\x05\x5e\xa6\xe9\xda\xa7\x36\x72\x50\xa3\x53\x5f\xab\x7a\x04\x1c\x2d\xb6\x1e\x11\x0a\x6b\x7c\x77\x17\x24\xf0\x95\x54\x61\xea\x49\x96\x8d\x6c\x9c\xf5\x24\x5e\xb8\xb5\xf8\x48\xf0\x13\x34\x79\x56\x6e\xa0\xb5\x5c\x7d\x21\xe1\xe3\x6b\x08\x59\x99\x11\x7f\xd8\x92\x14\xf2\x28\x2d\x36\x53\x93\x84\x62\x90\xd5\x9f\x9f\x19\x47\xf7\x7d\xf2\x0c\x50\x22\xe6\x82\x62\x38\x56\x8d\x68\x68\xd6\xd9\xf7\x72\x3f\x24\x42\xd1\x7f\xc2\xa5\xb8\xf8\x47\x41\x7a\x1f\x34\xaf\x20\xba\xbd\x7d\x99\xee\xc7\xc4\x63\x99\xc2\x7a\x11\xfd\x58\x88\x70\xdf\x5b\x64\x97\x73\xfd\x4d\x79\x51\xa1\x96\xe2\x63\xf0\x51\x48\x8c\xb4\x50\x97\xce\x07\x70\xaa\xad\xfa\x8b\xd0\x44\xe5\xdf\xd7\x16\xa7\x79\x7d\xca\x39\xf3\xed\xd2\x7c\xb3\xd9\xc5\x84\xeb\xa5\xab\x80\x77\xc7\x3f\xe4\x00\x3a\xff\x7d\xc8\x19\xce\x73\xae\x3c\x26\xfe\x5a\xf5\x98\xf3\xf7\x9f\x74\xf7\xb2\x9f\x4b\xde\x7b\x38\x9e\x8d\xef\xda\xeb\xe7\x52\x5e\xbc\x63\x60\x1d\xf3\x50\x8b\x1b\xea\x9d\x83\xe5\x3d\x88\x2b\x50\x40\x4c\x44\x0a\x67\x2f\x81\x0d\xd9\x05\x15\x2e\xbf\x9c\xd6\x5f\xf7\x18\x3d\x39\xbf\x28\xd5\x97\x44\xef\x58\x68\x32\x59\x82\x2c\x31\x40\x88\xa2\xa2\x84\x19\xc2\x3d\x99\x74\x5a\xf5\x2d\xac\xb5\x55\x5f\x6a\x01\xe6\xcc\x5d\x15\x6e\x07\x94\x76\x2f\x36\x45\xda\xff\xd2\xf7\xbc\xaf\x87\x16\x1e\x7c\xaf\xe7\x66\xaf\x0d\x45\xd6\xf5\x8d\x86\x48\xe7\x77\xdc\x7f\xac\x4e\x7a\xd7\x38\x32\xc7\x89\xd6\xf2\x6d\xc3\xc6\xf3\x43\x6d\x41\x7b\x45\x4f\x46\x0b\xfe\xb7\x37\xec\xe8\xfc\xd5\xbb\xc5\x0d\x6a\x1f\x30\xd5\x0d\x0c\xdf\x31\xd9\x45\x39\x73\xec\x00\xd0\xde\x84\x60\xaf\xfd\xdd\xf4\xa9\xf4\xc6\x38\x32\x48\xfb\x83\x6d\x56\x7b\x42\x09\x5f\x7b\xea\xfc\x0a\x8e\x51\x53\xa0\x3d\xc1\x5c\x47\x3c\x15\x5c\xc1\xb3\xde\xec\x48\x64\x62\x70\xa1\x8b\xd0\x58\x27\x9b\xd9\x97\x78\x85\x0b\xda\xf1\xc5\x3b\x19\x27\x91\x89\x7c\xda\x66\x6e\xc5\x56\x5a\xe3\xac\xd9\x33\x69\x78\x75\xa5\xeb\xeb\xfb\x4d\x25\xf9\xa7\x1c\x8b\x73\xf4\x7c\x72\x19\xdd\x46\x76\x5c\x3a\x95\x6a\x65\x6a\xe9\xbe\x0b\x8b\x3a\x6b\x23\x0d\x3f\x62\xbb\xdf\xcb\x4d\xee\x97\x9a\x25\xf0\x4c\x60\x9b\xd4\x8b\x4d\x69\xf8\xe5\xdb\x91\xd6\xef\xe6\xa1\x44\x77\xed\x58\x25\xe3\x59\x40\xc5\x03\x98\x2b\x36\x3e\x11\x9e\x50\x65\x54\x19\x84\x90\xec\x2d\x5e\x52\x43\x73\xeb\x58\xee\x42\xc1\xb4\x01\xbd\xa0\x0f\xdb\xac\xe2\x14\x43\x1c\x9e\xf5\x0c\xcf\xbd\xf5\xfb\x42\x26\x3f\x7d\x3b\x77\x5d\x83\xb9\x93\xe9\xf5\xbf\xc1\x1d\xaf\x4d\xfe\x83\xc7\x77\xe3\xfe\x5e\xb9\xb8\x14\x66\x64\xde\xcc\x1b\xe6\x0b\x31\xda\xa3\x2e\x06\xc0\xa2\x62\x23\xd6\xc5\xac\x0d\x0d\x3a\xb2\x21\xb8\xe8\x23\x8a\x6b\xfb\x6c\x59\xef\x2a\x85\x3d\x33\xda\xe8\x04\xff\x17\xde\xb8\xa1\xd6\x8c\xa0\x5d\x81\x5f\xeb\xd4\x7b\xe3\xd2\x1f\xe8\x61\xfb\x35\x60\x39\xba\x56\x23\xda\xd5\x9c\x6d\xd7\xbe\x16\xa2\x93\x01\xd7\x75\x8e\x7d\x5a\x15\x61\x98\xea\xde\xb2\x3e\xfc\x32\xfe\x26\xe8\x40\x82\x44\xc1\x4b\x90\x4e\x32\x8b\xfe\xb5\x56\x41\xf2\xf5\x8d\x2c\xff\x43\xee\x8a\xdf\xf9\xf5\xf7\xe8\xa4\x86\x57\xf5\x38\x77\x0f\xad\xbc\x02\xee\x17\x88\x86\x9b\x12\x70\x07\x01\xb8\x45\x5c\x05\x4f\xb9\x97\xf5\x9f\x8d\x00\xc2\x94\xd1\xfb\xc0\xbd\x92\x48\x73\x11\xfc\xbe\xa4\x5e\xb1\x12\x5a\x03\x0b\xa4\xcf\x36\x0b\x54\xd8\x57\xec\xb2\x26\x96\x7f\xb2\x38\x46\x92\x3d\x49\x69\xd2\xb2\xec\x68\x6b\x06\xac\x8f\x72\xe3\xef\x94\x8b\x63\xb9\x1e\x3a\xab\x72\x1b\x5d\xb1\xc5\x81\x54\xaf\xf5\x2b\x73\x8a\xaa\x38\x7b\x19\x97\x51\x62\x1e\x8b\x86\xd5\xb2\xbe\x77\x99\x00\xba\xea\x74\x5f\xef\x42\x96\x99\x05\x57\x8f\x02\x13\x83\xc7\xe4\x78\xf2\xa8\xc2\x84\x3b\xfe\x64\x05\xb4\x9b\xae\xbc\xad\x2b\x32\xe1\x7b\x07\x76\x5d\x7c\x0c\x38\x7a\xa2\xe5\xcc\x38\xe5\x6e\x66\x1b\xd7\x4f\x7d\xa8\xcc\x3b\x16\xa1\x93\x7a\xde\x0d\xb3\x64\x59\xc4\x53\x50\x2d\x9c\x85\x0a\x42\x7d\xc3\x44\x69\xda\x1c\x88\x22\xf3\x2c\x39\x7c\xc4\xd6\x4a\x5c\x96\xf6\xaa\x72\x86\x21\x0a\x2c\xb5\x12\x19\xcc\x01\x00\xae\xb8\x89\xc7\xcc\x9f\x33\xdd\x46\x8c\xc9\x82\x62\x48\xc1\x60\xe1\xcd\x98\x36\xc2\x65\x2b\x30\x01\x15\x9f\x0f\xe8\x82\x82\x9d\xcf\x8f\xe7\xbb\x2e\x90\x8f\xd7\x13\x5c\x8a\xae\x28\x0f\x40\x38\xea\x9f\x91\x66\xc2\x36\x0b\x7b\xaa\x16\x8a\x35\x9b\xf7\xd0\xee\xb2\x0b\x23\x6a\xea\xbb\x0e\x70\x1e\xb6\x51\xa0\x97\x52\xee\xf4\x28\x5d\x4b\x4a\x98\x75\xee\x9c\x32\x5e\x30\x63\xdb\x8c\x38\xdb\xf0\x83\xc5\xda\x9e\x62\x9c\xfa\xe6\xa1\x98\x32\xe2\x1c\x8f\x3d\x2c\xdd\x4a\x2f\xde\x39\x60\x6d\x0d\x6f\xab\x9f\x0c\x9f\xbd\x3f\x48\x18\xfd\xc3\xc4\xc8\x1a\x9f\x34\x0e\x55\xb7\x06\xbe\xf0\x42\xcc\xb1\x8b\xa2\xc3\xbb\x7b\x29\xf3\x98\x15\x69\x59\xca\xbb\xcb\x7e\x25\xe0\xfb\xc8\x9f\xb3\x95\x85\x43\xff\x02\xe7\x39\xe2\xd7\xd2\xd9\xff\xb1\x1f\x41\x68\x3f\xff\xb5\xff\xfa\x08\xe1\x39\x06\x46\xfc\xe1\xb9\x96\xdd\x59\x23\xd6\xc5\x62\x44\xfc\x9e\x81\x6c\xf5\x6c\x27\xc8\x41\x2a\xd9\xe7\x12\xf4\xe1\x64\xc2\x51\x4a\x10\x21\x1a\x9a\xe1\x61\xa4\xb8\x9d\x38\xeb\xbe\x24\x35\x1d\x5a\xa6\x26\xc0\xb9\x0b\x57\x49\x4b\x85\x10\x3a\x48\x12\xfd\x13\x1d\x25\x03\x15\x2a\xf8\x27\x39\xd4\x3f\xf3\x53\xc3\x70\x75\xf9\xa0\xf3\xe4\xd8\x01\x49\xbf\xba\x61\xc2\x8f\xf0\xac\x8b\x1a\x2f\x15\x64\xf2\xf8\xaa\xcd\xa1\x41\x29\x7c\x17\x9f\xcd\xa2\x24\x2e\x25\x5f\x76\x74\x6e\x28\x2a\xdf\xf7\xed\x22\xf9\xeb\xe7\x00\x7f\xbc\xdf\x06\xf2\xb9\x16\x5c\xb0\x1c\x19\x40\x92\x17\x26\x34\x5d\x6a\x4a\x5d\x1b\xef\xfc\x23\x9d\xc1\xa9\xc3\x52\x8e\xca\x53\x34\x99\xe0\x90\x7a\xb9\xfb\x2e\xa9\x5a\x11\x46\xa0\xac\xee\x97\x6d\x6c\x51\xc8\xfa\x04\xf8\xc8\x2f\xce\xad\x86\x91\x9e\xdb\x4d\x92\x6c\xac\xce\xde\x89\xee\xab\x52\xe4\x09\x77\x53\x18\x47\x92\x3d\xcb\x01\xc0\x3f\xd8\xdf\x6e\x60\x1b\xf9\xf6\x1c\xc0\x62\x95\x23\x03\xa8\xe8\xf9\xfd\x66\xe6\xc9\x55\xe6\xeb\x7c\xcf\xc3\x6b\x3e\xad\xc7\x0b\x74\x3d\xe6\x3a\x9e\x67\x4e\xa2\x72\x79\xa1\x3a\xe8\xf9\x43\xe8\xfd\x9f\x5c\xff\x97\x3b\x42\xce\xca\x0c\xf2\xec\x6e\xb8\x24\xc5\xd6\x5d\xb0\x4d\x36\xbb\xdd\xf1\x99\x94\x43\x77\xc7\x47\x52\xe0\xdc\x05\xdf\xc9\x65\x77\x9c\x92\x4b\x3b\x36\x16\x48\xc1\x6c\x4b\xec\xcd\xb2\xf8\x5e\x58\x78\xa1\x8a\xfd\xc0\x43\xe9\x38\xf6\x83\x28\xb5\xec\x89\x6b\x72\xd9\x1b\x5a\x6a\xd9\x1b\x87\xe4\xb2\x37\x24\xd4\xb2\x6f\x7c\x25\x97\x7d\xa0\x97\x5a\xf6\x81\x7e\x6a\x41\xe6\xae\x15\x24\xbc\x1a\xd1\x8b\xa3\xdb\x41\x78\xc1\x3e\x2b\x51\x9a\x04\x9a\x59\x58\x19\x7b\x6d\x5d\x94\xf6\x5d\xb6\x8a\xa3\xfc\xc2\x72\xc1\x2e\x85\x13\x2f\x59\xcf\x6f\x36\x7a\x3d\x78\x1d\xd4\x06\x0f\x83\xd2\xe0\xd7\x60\x2f\xdf\x0f\x7a\xc4\x3a\x62\x9b\x14\xb4\xc8\x7e\xfa\x8b\x3a\xa5\x53\x2c\xc9\x8f\x40\x91\xb9\xd8\xef\xd0\xf2\x1b\x0b\xe7\xe8\xfa\xad\xda\xf8\xa9\x91\xf5\xed\x70\xe0\x2b\x8f\xd8\x4f\xf0\xb8\x49\x69\x81\xb2\xc9\x10\x0a\x57\xff\x94\x6e\xdc\x4f\x38\x77\x7d\xf4\xae\x0c\xe8\x47\x2e\x8b\xd3\x01\xd1\x86\x15\x47\x1c\xb9\xe4\x51\xc1\x1f\x4b\x51\x89\x24\x4a\x0f\x2d\x6a\x05\xa8\x8e\xb6\x66\xbc\x7e\xd6\xd5\x14\x4e\x9a\xe2\x1d\x09\x9b\x35\xf2\xbc\xad\xa2\x56\xc7\x0f\xa9\x17\x1e\x0e\xb3\x83\x9c\x8a\x98\x1b\x3f\x48\x0f\x25\x25\xa7\x06\x66\x58\xce\xdd\x62\xa4\xd9\xf8\x31\x96\x63\xfd\x49\x98\xa3\xd9\x3f\xfc\x0d\x01\x83\x7e\x3b\x61\x5b\x3f\x96\xfb\x17\xdc\xc2\x9d\x57\x1b\xe7\x64\x17\x46\xea\xbb\xb7\xc6\x28\x87\x3e\xdd\x83\x9e\x6b\x9c\xc5\xe1\xf8\x20\x3b\x19\xbc\x7f\x24\xa7\x91\x67\x92\xd4\x1f\xfe\xf2\x48\x92\xb5\x82\xb8\xd4\x27\xe1\x62\x93\x97\xa0\x33\x37\x2b\x71\x7f\x99\x24\x7f\x39\x24\x7f\x59\x24\x75\xb6\xe6\xc8\x48\x2f\xf9\x4b\x90\x64\x36\x9e\x05\x2b\x93\x22\xf2\x17\x27\xf9\x4b\x92\xa4\x33\x91\x07\x3a\x99\x35\xc9\xbf\x7c\x92\x06\x47\xe6\x8c\x1b\xcf\xe4\x82\xb4\xb7\xe8\x2d\x3c\xca\xa8\x51\x5d\xda\x1b\x50\x48\xe4\xe3\x01\x91\x8c\x29\x77\x4c\xfa\xa0\xae\xe7\x4a\xd8\xde\x24\x73\x68\x2d\x12\xc7\xc2\x4d\x9e\x3f\x1e\x6b\x90\xad\x76\x23\x1b\x78\xca\x44\x5a\x87\xe8\x26\x2b\x17\x40\x7b\x51\x07\x1a\x2a\x45\xb0\x77\xc4\x05\xee\x02\x70\xe1\xae\x51\xd5\xe9\x42\x98\x73\x82\x52\xed\x78\x7e\x1f\x02\x2c\xb0\xdb\x2d\xf8\xb3\x32\xe6\xec\xf0\x8b\x32\xbd\x8c\xf2\xb2\x5e\x2f\x7a\xa2\x54\xf5\xa7\x14\x1d\xb7\x1a\xe8\xf9\x5c\x45\x69\x0b\x3d\xcb\x7f\xc6\x80\x97\x4f\x1b\xe2\x83\x44\x64\xf2\x12\x60\xa5\x28\x9a\x98\x4a\x3e\xfe\x7d\x3d\xe4\xcb\xa5\x20\x40\x11\x9b\x0c\x46\x98\x44\xc8\xe8\x95\x77\x39\xb3\x73\x9d\xdc\x8d\xb4\xf7\x6f\x7c\x76\xa9\x68\xc0\x8c\x3f\x8c\x0c\xfb\xd5\x65\x34\x60\xd7\xec\x43\x05\x51\x65\x92\x08\xca\x1c\x18\xb9\x29\x00\x67\x32\x39\x22\xbd\x30\x28\x6c\xe0\x1d\x61\x68\xde\x7b\xe0\xf6\xb9\xcb\x87\x46\xc2\xbc\x24\x13\x98\x92\x45\x19\xac\xe8\x4e\x18\x05\xea\x17\xc4\x59\x56\x3e\x52\x15\xc7\xec\x3f\x74\x1e\xd3\x78\x03\x7d\x07\x2d\x43\x7b\x79\xe7\x1b\xd3\x1d\x70\xd0\x38\x4c\x2a\x38\x08\x0b\xef\xc3\xf7\x92\xc3\x65\x89\x11\xfd\x43\xbe\x6e\xa0\x22\x4c\x95\x9f\xe2\x0f\x6a\x95\xb1\xce\x59\xbc\x27\xff\x16\x77\xfc\x47\x04\x3d\xfc\x82\x76\x1f\x17\xc3\xef\x77\x84\x3a\x89\x2b\xab\x68\x49\xfc\x90\x7b\xc8\xe9\x62\x79\x17\x04\x33\x88\xc4\x32\x2e\x12\x48\xc3\x73\x88\xfc\xad\xbd\xac\x17\x73\x18\x71\xc6\x82\xcd\xb4\x6b\x79\x79\x2f\x25\xd2\x90\x04\x79\x77\x0d\x95\xa4\x52\xb8\xa8\xe1\xdc\x0a\x0d\x4e\x82\xd8\xa1\x03\x7a\x24\x70\xa7\x8e\x71\x0b\x4b\xe3\x75\xbb\x61\xcb\xbb\xd2\xbd\x15\xb8\x30\xd2\x3e\x6e\x55\x43\x0c\x40\xa9\xaa\xf8\xf6\xef\xa1\x5e\xb9\x3a\xac\x26\xef\xbf\xae\x56\x66\xcb\xb9\x5a\x4e\x0d\x84\xe0\xc9\x4f\x3e\xb5\xc2\x55\x9c\xd2\x25\xb0\x29\x65\xb9\x81\xe1\x53\x93\x1e\xd9\x6d\x83\xea\x68\x1f\x84\x45\xf1\x7b\x82\x8e\x11\xdd\x1e\xf4\x40\x0d\xfe\x7d\x6c\x8a\x9f\x63\x54\xee\xa7\x5f\xf6\xab\xb1\xb5\x7e\x49\x77\x2f\xdb\xd3\xbb\xfd\xb8\x25\x27\x3f\x9f\xf9\xc3\xda\xde\x4e\x5a\xba\x6b\x85\xaa\xfd\xb9\xbb\x4d\x7f\x21\xcd\x89\xde\xaf\x9b\x7d\x7f\x66\x6f\xdc\x6d\x6b\xf6\xaa\xd2\xdd\xe0\xeb\xd1\xb1\x5f\x3e\x01\x7d\x57\xe6\xa2\x1d\x15\xfa\xd1\x4a\xf0\xf7\xbe\xa7\xbe\x6f\xfb\xb0\x66\x83\x68\xe7\x48\xe9\x99\x2a\xae\x18\x34\xb4\x28\xd5\x48\x20\x23\x7f\x6e\x23\x96\xa0\x00\x5f\x92\xee\xe3\xab\x66\x9b\x3b\xf9\xa6\xfe\x76\x7e\x95\xa2\xe7\xcf\x95\x7f\xe6\x8d\x7b\x12\xd2\x4b\x73\x7f\xb5\x31\x96\x18\xff\xda\x9e\x23\x3d\x88\x22\x4a\x58\x5d\xd7\x6d\x94\x8b\x55\xbe\xd6\x66\xc6\x1b\x05\x2f\x53\x58\x60\x89\x31\xb8\x3d\x00\xb1\xb5\xe8\xd4\xde\x06\x6d\xc0\xf6\xcb\x24\x54\xe1\xd9\x50\x83\xc3\x98\x62\x9e\xfa\xa2\x39\x1c\xf4\xf1\x55\xf0\x41\x50\xfa\x75\x13\xb9\x4b\xfd\x26\xb0\xb8\x8c\xed\x01\x98\x42\x9a\xbd\x6b\x08\x4e\x91\x6f\x63\xd0\xb0\x72\x5b\x7b\x08\x6a\xd6\x40\x02\x03\xa0\x42\x55\xfd\x28\xdf\x94\xd6\x59\x21\x60\xe0\x62\xd3\x3f\x9f\x71\x79\x88\x7c\x8c\x81\x97\x79\x0c\xd8\xee\x24\xe4\xaa\x8f\x09\x37\x78\x9b\x65\x3f\x51\xcb\x31\x2a\xff\xaa\x33\x7a\x08\x25\x7d\xfc\xc9\x3d\x6a\x28\x1d\x2d\xbf\x59\x4b\xd8\x60\x18\xc1\x78\xd0\xd9\x6f\x21\x73\xc8\xcd\xed\xe3\x49\xe6\x18\xdc\x72\x1e\x98\xf3\x0d\xdb\x1b\x77\xf6\x73\xfe\x18\xe3\x3e\xee\x27\x81\x7d\x30\xb0\xa9\x7f\x66\x28\xc4\xe5\x87\x36\x09\x47\x69\x9b\xd4\xef\x69\xd7\xa9\xdf\xd2\x56\x89\x07\xd8\xe9\xf3\x85\x8c\x6d\xcc\x3a\x5a\x57\xff\x57\x69\xff\xc8\x37\x8b\x71\x15\xdc\xe7\x7e\x40\x1a\x79\xac\x69\x8a\x99\xd4\xe7\x9c\xf8\x47\xd5\x09\xe0\x2e\xd8\xfa\x3b\x00\x7e\x29\x39\x2b\xa3\xb7\x1b\x95\x6a\x6b\x05\xa4\x2b\x9f\xef\xe4\xe0\x48\xb9\x24\xcb\x50\xf1\xd1\x12\xc2\x4c\x1d\x17\x47\xd3\x6e\xaf\x55\x61\x47\xd7\xdf\xc8\x9d\xe5\xdd\xc7\x6d\x29\x29\x78\x96\xbe\x63\xd5\xf7\xae\xb1\xde\xc1\x20\x62\xa9\xb2\x79\x99\x0a\xfe\x4f\x6a\xf6\xb3\x37\x73\xd9\x9c\xdd\xe0\xc6\xba\x9a\x18\x70\xdf\x54\xeb\x21\x91\x25\x73\x9f\x8b\x33\xeb\xce\x6b\x68\xf8\x4e\xfc\xb5\x3f\x6c\x94\x41\x99\xa2\x03\x59\x6e\x56\x3b\x4f\x65\x4a\xe2\xb4\xb7\xf5\xbc\xf5\x3d\x32\xed\xb9\xfb\x00\xe6\x6d\x5b\x71\x6e\x71\xa5\xbd\xcb\x06\x49\x95\x6b\x3f\xe4\x0f\xfb\x0b\x4e\xb0\xe0\xd2\x3f\xf7\xcf\x8c\x60\x3f\xf9\x87\x90\xe8\xf1\xd9\xb5\xd6\x3c\x75\x5c\x8d\x86\x1f\x7c\x89\x9f\x30\x62\xc8\x8e\x04\x95\x87\x82\xd1\x70\xad\x84\xf5\x64\xf5\xd7\x29\xd7\x29\x84\xf1\x2b\x0d\xf9\xee\x9d\x31\x9f\xb0\xfb\x53\x31\x7d\xda\xd6\xad\xc6\x4d\xde\x8d\xe7\xac\xec\xb1\xe2\x1a\x7c\x29\x71\x3f\xd3\xa6\x8f\x1c\x23\xb0\xd0\xa8\xea\x91\x78\xea\x7a\x97\x1d\x0a\xcf\x34\xdd\xba\xf1\x66\x03\xc2\x12\xed\xca\x07\x77\x3a\xa7\x47\x37\x16\x7f\x7a\x43\xc6\x0f\xf9\xac\x67\xc8\xf5\x8c\xc6\x97\x3b\xc5\xf3\xcc\xc6\xa3\x39\x59\x78\x1d\x52\x50\x50\x07\x2e\x15\xdc\xca\x7e\x67\x63\xb1\x23\x89\x23\x39\x98\xad\x43\x77\xc7\x2e\xde\xcc\x28\x25\xc8\x87\xd8\xb1\x2b\xdf\x63\xc0\x73\x47\xd9\x78\x5d\x4d\xd2\x7f\x5b\x83\x73\xda\xbb\xc0\xb3\x5b\x0f\x06\xc0\xc4\xbe\x29\x80\x04\x51\xc5\xc1\x85\xa2\x0e\x96\xc2\x51\xc7\xe8\x61\xa7\xa3\xdc\x63\x8f\x7b\xc3\xa7\xaa\xe8\x88\xcc\xe8\xf9\x6c\x54\xc5\x94\xb3\x9d\x99\x54\x74\x61\x8b\x6e\xa8\x98\x46\xd2\xcb\xe6\xfb\xc6\x8d\x17\x36\xe5\xdc\x47\xd9\xaa\x0c\x50\xa7\x78\x63\x8d\x2f\x01\x59\x95\xc2\xfd\x18\xd6\xb0\x3b\x58\x7e\xe1\x2d\xa3\x2c\xb7\xc1\x86\x8a\x60\x83\x61\x0c\x18\xf4\xab\xc0\x86\xc4\x66\x15\xa7\xdf\x79\xa9\x53\x6b\xa5\x90\xfa\x26\xe6\xcb\x61\xc7\xc7\xd2\x76\xb4\xe1\xa7\xf6\x08\x7b\x03\x38\xf0\xb0\xae\x1a\x5f\x25\xac\x25\x23\xfb\xf3\x0d\x1c\xf0\x2d\x14\xa9\xee\x99\x1d\xfb\x70\xfe\xfd\x35\x39\x99\xd1\x58\xf2\xc3\x8e\x3a\xb6\x3e\xd7\xac\x9e\xba\xb1\x1f\x95\xc6\xb0\x2e\xdc\xdc\xf0\x77\x19\x29\x7c\xb2\x43\xbc\x01\xdf\x35\xc5\x3f\xdb\x9f\x16\xe0\xda\x19\xca\x06\xc2\xc2\x0f\x16\x32\x6f\xa3\x76\x7f\x9a\x35\x76\x45\x2f\xcd\x5d\x71\xb2\x25\xd3\x57\x36\x62\xe3\xa1\xb6\xb8\x3d\xb9\x93\x13\x02\x0a\x07\x62\x13\x8b\xbc\xe0\x94\x56\xbb\x85\x83\x76\xef\xa7\x3a\x7c\x69\x8e\xa6\xb7\x26\x41\x10\x6d\xbb\x97\x27\x1e\x12\x65\xc9\x50\xd0\x54\xa9\x94\x40\x30\xab\xec\x04\xa3\x73\x5d\xf2\x8f\xef\x1c\x89\x85\xc2\x0e\xbf\x26\xc1\xe3\x20\x09\xbe\xb6\xa2\x98\x42\x40\xb8\x37\x4e\xc8\xbb\x31\xf9\x72\xed\x09\xbc\x0c\x10\x4d\xd9\x1c\x07\x11\xa4\xcd\x63\x06\x77\x45\x4e\xa0\xb6\x15\x90\xd2\x56\x74\xe5\x49\x89\x4c\x5a\xbb\x59\xcd\x57\xab\x05\xb2\x9d\x91\xce\x5f\x32\xb6\x8c\x85\x0d\xa5\x56\x4a\x1d\xbe\x47\x29\x39\x8d\x4d\x5c\x02\x18\x80\x4f\x89\x52\x43\x9b\x84\xeb\x22\x23\x8b\x7b\xb6\x2e\xec\xf0\xdd\x20\x12\xdd\x6b\xc3\x6a\xb8\x13\xf1\xa6\x3c\xe5\xc9\x80\x02\xd3\xad\x9d\x96\xa6\xac\x40\x9f\x9c\x87\x38\xad\x68\xfe\x5e\xcc\xc6\xc4\x01\x97\x3a\xfd\x05\xe7\xf5\xa9\xd7\xf3\xcc\xe4\x70\x30\x5d\xf2\xed\xa6\xad\x4d\x18\x1d\x66\x46\x2d\x5c\x87\xb7\xce\x87\x03\x0f\xce\xe8\x86\xf9\x1f\x84\x5c\xb4\x35\xf1\x4d\xa4\x17\x41\xa5\x5b\x13\xe3\xa9\x01\x7f\x5c\x12\xc0\x50\x81\xce\x08\xb0\xfc\x59\x4d\x8a\x8e\x2b\x9e\x3a\xf7\xa5\x20\x01\x7f\x41\x99\x12\xe2\xc3\xc5\x94\xc8\x49\x82\x39\xf3\xde\xb6\xe0\x8c\x2a\x16\xc5\x38\x71\xd7\x06\xb3\xf8\xd3\x03\x72\x8b\x21\x35\x2c\xe4\x01\x4f\xfa\x98\xfc\x64\xea\xf3\x38\xd5\x13\x05\xb1\xc8\x65\x98\x88\x4e\x2a\xe4\x47\x6d\x9d\xb1\xad\xb2\x01\x57\xf4\x1b\x7b\xdc\x4b\x1b\x26\x2b\xf1\xcb\x7a\xc7\x6a\x4e\x6b\x5a\xdf\x2b\x18\x19\x65\xdc\xf4\x4c\xda\xda\x1d\xbb\xe6\xe2\x07\x19\x33\xd3\xf7\x6e\x66\x18\x3e\xfc\x88\xac\x87\x28\xcc\x8c\xb8\xf1\xe1\x9a\x1e\x27\xa3\x83\xee\x27\xc8\x18\x5a\x38\xa2\xe2\x96\x68\x14\xf1\x79\xa3\xf3\x25\x76\x82\xd4\x62\x7b\xd5\x43\xd6\xbd\xc3\x2f\x5c\xe2\x46\x8b\xe7\x72\x31\xa8\x55\x32\x84\xd6\x36\x61\xf9\xbf\x30\x7a\xde\x90\x78\xd6\xf8\x7a\x4e\xd6\x99\x4b\x7c\xbd\x53\x93\x2f\x08\x13\x42\x38\xe2\x02\x79\x95\x4b\x6e\x57\x3a\x2d\xee\xa6\xb0\xa8\x09\xdf\x6e\x2b\xd6\x55\x5c\x5a\x40\x97\x0f\x02\x4a\xa7\xd9\x1e\x1f\x45\xed\x7f\x35\x88\xbc\x70\x7a\x42\xa4\x87\xa6\xaa\x64\xe8\x53\x9e\x32\xba\xe4\x74\xe7\xa9\x53\x1a\xe8\xd5\x73\x48\x7f\xd3\xb3\x63\x09\x36\x79\x1d\x1d\xaf\x12\x0e\x9c\x0d\x5f\x65\xfb\x04\x64\x4a\x72\xc4\x1e\x27\x89\xf9\xb4\x7e\xc0\x18\x7c\x12\xce\x1b\x16\xb5\xfb\x9f\xc1\xf9\xc9\x09\x21\xb2\x4f\xee\xc2\x65\x34\x5d\x76\x04\x16\x1c\x36\x90\x22\x7e\x1f\xd2\x5e\x18\x25\x13\xde\xf5\xb1\xf2\x56\xe6\x6a\x69\x36\x81\x24\xeb\xdd\x88\x10\xbf\x37\xda\x66\x7a\x6b\xb2\x40\xd2\x9f\x58\xd6\xc1\xe4\x96\x14\x0a\x43\x9c\xde\xa8\x44\x86\x0e\xd2\x75\x1c\x5e\x26\xc9\x60\xd2\xa8\x15\x9c\x05\x01\xc6\x5f\x90\xcd\x77\x13\xa7\xc1\xe2\x49\xe4\x5f\x39\x4c\x58\x01\x42\x81\xdb\x45\x91\x30\x9e\xa0\xfa\x45\x08\x3b\x09\xf3\x51\xad\x9d\x66\x16\x9b\xed\xde\xb7\x48\x6a\x08\xc7\x19\x33\x82\x65\x61\x4d\x95\xf1\x5f\x6a\xd5\x30\x49\x50\xc0\x4c\x37\x55\x99\x23\x08\xbc\x11\x1c\xe2\xef\x52\x10\x2b\xcf\x6c\x24\xd5\x7b\x64\xa8\xd4\xd3\xae\xda\xa0\x73\x14\x1b\x4c\x0b\xd2\x81\x84\x05\x00\x62\xff\x46\xe9\x6c\x16\x43\x6d\x4a\xe3\x75\x87\x18\xe5\xe0\x9b\x4a\x03\x40\x54\x59\xbe\xcd\x36\x1e\x0e\xce\x23\x5a\xf6\xa1\x06\xb5\x47\x37\x29\xcc\x19\x01\x34\x05\x0e\xc4\x42\x4d\xf3\x9e\x06\x16\x6d\xb3\x3e\x25\x7a\x71\x92\x59\xca\xe5\x13\x66\xc5\xf4\x3f\x5e\xe9\x82\xa3\xc5\x90\xf1\x57\x0d\x22\x8e\x65\x2f\x66\x9e\xd5\xb6\x0b\x26\xd3\xa1\x1e\x86\xff\x33\x26\x0e\x76\x25\x0e\x62\xc6\x32\xe0\x38\xfd\x25\xe1\x29\x3e\x5a\x79\xb9\xca\x6b\x22\x45\x6c\x8f\x54\x69\xfb\x42\x91\xd9\xa3\x26\x59\xf7\x61\x5e\xf5\xa1\xef\x25\x37\x28\xc0\x7e\xb1\x58\x97\x5f\x78\x6a\x12\x57\x8c\xf6\x76\x5c\xde\x8e\xee\x4d\x15\x0f\x8d\x8f\x04\xfa\x93\x11\x81\x34\x8f\x34\x64\x88\x25\x69\x7e\x98\x61\xd7\xfc\x1f\x35\x63\x24\xe2\xc9\xf5\xa6\xf9\xe4\xaa\x42\x90\x2c\xfe\x10\x7b\x58\xf4\xa1\x02\x1b\xc7\xff\x95\x2f\xcb\x04\x9f\x7f\x17\x65\xe0\x0e\x0b\x9a\x3d\x28\xc1\x36\xa6\x15\xb4\xb2\xa4\x0a\xe8\x16\x42\x0f\x36\x99\x85\x50\xec\x73\x09\x57\x97\x00\x14\x8b\xb3\x40\xd8\x61\xa0\xa2\x50\x8f\x63\xd9\xb1\xdd\xa5\x85\xa9\xfe\xa5\x86\xcc\x5c\x60\x36\x3b\x85\xac\x9a\x6f\xde\x7e\x7b\xae\x6f\xe7\x7c\xac\x0c\xc6\x76\x1b\x06\x59\xa1\xe2\xaa\x31\x2f\x56\x0c\x95\x81\x4c\x2d\x57\x13\xee\x66\x56\x8a\xcc\x0d\xfe\x97\xfb\x6a\x50\x37\x2c\x2b\x33\x68\xc2\xc8\xc8\xcd\xe9\xe1\x64\x20\x46\xf9\xab\x93\xb2\xf0\x52\xe4\x56\x92\x41\x08\xf9\x8d\xd0\xec\x87\xa1\x7b\xe0\x0e\xc8\x2c\x07\x6d\x48\x40\x15\x23\x64\x1e\x1c\xd6\xb1\x01\xad\x8b\xbc\xc8\x66\x51\x40\x28\xe4\x86\x4c\xc3\x60\x4d\xf8\x99\xcc\xf2\xd0\xe2\xa0\x2d\x6e\x87\xa1\x7d\xe1\x67\x32\x03\x17\x6a\x94\x72\x6c\x2c\x60\x1e\x1e\x6e\x47\xa0\x2a\xa1\xb5\x6c\x18\x9e\x0a\x47\xbc\x35\x18\xa7\x11\xb4\xe5\x22\xd2\xb6\x84\x92\xbe\xde\x67\x23\x2b\xec\xf7\x09\xd0\x66\xb2\xae\xb6\xf8\x28\x20\xab\x6c\x2b\xe6\xc5\xc3\x17\x1f\x2e\x14\x4d\x7e\x13\xc5\xd0\xba\x74\x4c\x40\xc0\x35\x6e\x04\x35\xaf\xe9\x86\x3b\x1b\xbc\x43\x53\x13\xcd\x77\xa7\x8d\x60\x62\xa2\x34\x71\x9a\x6c\xb7\x3f\x15\xfd\x96\x0e\x33\x62\xdc\xe6\x16\xde\x10\xe4\xc0\x3a\xbc\x2a\x37\xa3\x54\x37\xba\x29\x6a\xb8\xd1\x99\x06\xc0\x14\x84\x94\x43\x08\x41\x1c\x22\x5b\x34\x0a\x02\xad\x71\x6b\x6e\x12\x04\x43\xc9\xcf\x64\x14\x09\x3e\xb5\x25\x65\x60\x65\xd7\x98\x36\x33\xd5\xd2\xb5\x75\xfe\xee\x2a\x1b\x84\xb1\x52\x12\x00\x3c\xad\x28\xdd\x9a\x2a\x9d\xb8\xa1\x21\xd1\xcd\x94\x7f\x5e\x45\x9b\x23\x4b\x1f\x01\x67\x30\xd9\x68\x03\xf4\xa7\x29\xa2\xa5\x10\x1b\x22\x50\x11\x20\x4d\xc1\x49\xf4\xc8\x50\x27\x14\x7e\xa8\x44\xd7\x91\x4c\x53\xe2\x68\x2a\x21\xd7\x3b\xee\x82\xec\x5e\x48\x7f\x07\x3f\xef\x79\x24\x86\xc9\x67\xa4\xd8\xd7\xe1\xed\x1d\xde\x38\xc3\xe3\xf9\x61\x27\x3f\x38\x65\x89\xa2\xf7\xe1\x66\xf4\xdb\x9a\x53\x87\x6f\x9d\x53\x5a\xbd\x58\x79\x51\xe2\x9c\xfd\x6d\x5f\x71\x00\x03\x3f\x01\x86\x19\x4d\x65\x7f\xaa\x25\xc8\xc6\xec\x57\x03\x4f\xa3\x17\x0a\x4b\x26\xbf\x8d\x05\xad\xc9\x55\x63\x8a\xa1\x46\xa6\x67\x5a\x0b\x62\x35\x30\xe6\x85\xef\xd9\x4f\x13\xd8\xac\xe8\xe2\xee\x7a\x12\x24\xbd\xb0\x6a\xa0\x6b\x00\x0c\x21\x36\xe8\x84\x4d\xf1\x9a\x93\xf2\x71\x97\xff\x0e\xbb\x9f\x90\x37\xc9\x95\x40\xf5\xde\xc7\x3b\x83\x84\xac\xf8\xa4\x34\x13\xfb\xea\xdc\xd2\x3c\xdf\x2d\x3e\xee\x68\xfc\x9f\x3d\x78\x61\xf1\x67\x17\x2f\x3e\x90\x91\x3f\x8e\x4f\x73\xf8\x70\x46\xea\x8a\x93\xe6\x49\xd1\xb7\xad\xcb\x70\x35\x4f\x11\x3b\x01\xda\x57\x73\x91\xb2\x59\xa7\xa6\x74\x6f\x93\x06\xd3\x7d\x99\xfe\xdb\xa7\x9d\x00\x22\xa6\x96\xd5\x95\xb2\x41\x2d\xd7\x48\xf9\xb6\xbc\x50\x9f\x0f\x71\x14\x6c\x70\x12\x5a\xf0\x53\x43\x2c\x8a\xf1\x5c\x91\xae\x57\x33\xa7\x91\x8c\x00\xa6\xf6\x8c\xb6\xd4\xe3\xd1\x2d\xf4\x24\x5c\x6e\x07\x19\x0c\xa9\x61\xce\x80\x0a\x8f\x4c\xcd\x4c\x87\x6a\xf1\xfc\xae\xc3\xd4\x61\xb5\x21\x4c\xff\x78\xa4\x6b\xe3\x21\x4a\x1f\x4d\x8d\xf2\x0e\x52\x5d\x60\x38\xbd\x3e\xd1\x11\x1c\x62\xb0\x64\xa3\x6f\x01\x0c\xbc\xbb\x17\xd0\x24\xca\x3d\xf2\x70\x1c\x0e\x9b\xeb\x0b\x06\x0c\x7e\x48\x0e\xe4\x63\x22\x57\x62\x06\xca\x09\xcd\x2f\x98\x6a\xb8\x1a\x40\xe8\x06\x64\x04\xfc\xec\x12\xb0\xea\xdc\xc7\x59\x04\xed\x0c\x40\xfa\x1d\x16\xb0\x23\x7c\x9d\x5d\x1b\x3c\x59\x05\x5d\xf0\x90\xea\x42\x6d\xfa\x79\xf7\x55\x2c\x4e\x8e\x13\x74\xa7\x93\x0a\xd0\x3c\x1d\x90\x3a\x46\x7b\x0c\x82\x25\xaa\x14\x90\x32\xcc\xc1\xf4\xf7\xec\x30\x31\x34\x7c\x2f\xf9\x95\x53\x29\xe6\x68\x9f\x01\x0a\x26\x54\x42\x24\x12\x5c\x40\xc0\xf9\x85\xb6\x36\xde\x53\x53\x7b\x7d\xdc\xcb\x4e\x50\xe0\x4a\x36\x31\x81\x15\xb9\xc5\x25\x16\xfc\xe4\xfc\xdc\x9b\x19\xd5\x89\xb9\x76\xcc\xf8\x1a\x2e\x95\x4d\x28\xa9\x7b\x79\x8f\x6a\x0b\x87\x5c\x40\xa1\xef\x29\x03\xbc\xc7\x2a\x48\xf9\xbb\x73\xab\x41\xcd\x4d\x67\xc8\x8b\xdc\x27\x35\x40\xfd\x77\x67\x62\x28\x25\xee\xde\x96\x60\x9e\x76\x63\x0e\x68\x9d\x09\xd0\x72\xae\x4d\x93\x0c\x03\xc3\xf3\xb1\x1f\x39\x54\x27\x2b\x74\x2b\x13\xac\xca\xc5\x2e\x7c\x2c\x8f\x95\xe3\xd7\xc7\x2b\xd0\x8d\x0c\xc8\x03\xb7\x99\x3b\x16\x65\xcc\x97\x25\x32\x64\xcd\x55\xcb\xda\x99\xb8\x45\xc0\x01\x7a\xb7\x5d\x6c\x37\xcf\x49\xe0\x31\x61\xff\x40\x13\xd0\xab\xb6\x93\x49\x55\xdc\x89\xe1\x5b\x16\x59\xd8\x59\x8d\xc3\x9b\xd8\x01\xc4\x99\x80\x05\x09\xb4\xab\xcd\xb1\x61\x18\xae\x0f\xae\x12\x7f\x77\xa4\x30\xaf\x6a\xc1\xeb\xc1\x16\x7f\x63\xf5\x12\x46\x8f\xcf\x0c\xb5\xab\xd2\x03\x4b\x57\x9d\x46\xd4\x29\x01\x34\xc2\x31\x7a\x1d\x1d\x00\x6d\x82\x3d\x7a\xd3\x5b\x69\xf9\x74\x99\xf3\x5a\x6b\x61\x99\xdb\xd5\x5a\x2c\x1a\x77\x49\xb0\xaa\x81\x10\x2e\x60\x16\x2a\xae\x41\x48\xa2\xa5\xa9\x10\x59\xf1\x46\x94\x81\x73\xf0\x3e\x71\x90\xd6\xd9\xa7\x3f\x85\x0b\x1d\x20\xd8\xc2\x60\xba\xbe\xf5\x16\x7e\x62\x83\xef\x3c\xb3\x53\xf9\xd1\x58\xb1\xd5\xc3\x43\x71\xc2\xe1\xd0\xa1\x6b\x81\x6a\xa7\x5f\xfe\xb0\xbc\x0a\x6e\x85\xc9\x79\xb2\xc7\xe7\x9f\xc2\xe2\x5d\xd8\xb0\xcd\x7a\x8e\x1d\x5e\x14\xd2\x83\x3b\x1e\xcf\x4c\xe9\xab\xf6\x30\x45\xc7\xe3\x0f\x6a\x52\x1c\xfa\xb6\xbe\x29\xf0\xf5\x40\x5b\x96\x79\xc0\x52\x0e\x3c\x4d\x00\x17\x59\x14\x11\x91\x37\x2c\x51\xe1\x11\x0b\x28\x39\x26\xd1\x85\xfb\x97\xea\x1f\xf7\x87\xce\x5b\xc9\xed\x7a\x24\xf8\xb5\xdd\xc6\x6b\xab\xc0\x9c\x68\x52\x07\x13\x59\x32\x34\x3e\x69\x97\x90\xbc\x34\xe3\xb2\xfb\xb4\x70\xff\x68\x48\xdf\x79\x3a\x35\x7f\xe2\x02\x72\x53\x37\xa3\x53\xbc\x29\x82\x11\xb9\x20\x35\x4f\x2b\x71\x47\x4e\x97\xd1\x92\xa3\x08\xe8\xb6\x36\x36\xec\x56\x73\x12\x99\xd5\x48\x54\x35\x4d\x94\x64\x87\x65\x6f\xd9\x05\x5f\x0a\x85\xa5\x1b\x36\xba\x25\x00\x76\xa7\x1a\x49\xc0\xeb\xea\x93\x54\xd9\x2b\xe1\x67\x4c\x83\x8c\xee\x1f\x7b\x18\x34\xae\x57\x68\x3c\xa7\xc6\x88\x96\x5d\xd4\x09\xb4\x19\xcb\x02\x70\x0d\x8b\x3c\xb2\x60\x14\xc8\x8c\x61\xd5\x87\x7b\x1f\xf0\xdb\xc2\x59\x58\xdb\x9d\xb3\x5a\x6d\xde\x9c\xf0\x8a\x48\x1f\x31\x34\xf0\x12\x9f\xf6\x16\x77\x78\x48\x1c\x99\xe0\x7d\xd7\xd0\x84\x08\x74\x7b\x3b\xa3\x5a\xb2\x6b\x22\xa7\x9b\x88\x95\x68\xb5\xae\x58\x50\xa5\x45\xd2\x97\xdb\xbc\xc5\xf9\x4b\x99\xd2\xdc\xe7\xa4\xca\xb9\xd1\x05\x92\x45\x31\x3f\xe2\x17\x40\x50\xb9\x82\x6a\x2a\x00\x39\x3a\xa3\xa0\x8b\x53\x11\x45\x0d\xe9\xb9\x48\x25\x6c\xc0\xe0\xe2\xc4\xa5\x56\x95\x44\x45\x17\xe6\xd4\xd7\xb1\xbf\x8f\x76\x23\x9e\xa4\x5d\xc2\x90\x89\x7a\xc2\xa2\xcf\x8c\xfb\x61\x78\xb9\x9c\x6b\x93\xe6\xb1\x50\x9f\xf0\x2b\x36\x18\x24\x36\xf3\x93\x33\x6c\x56\x82\xf8\xc2\x6b\xaa\xad\xe2\x1b\x9d\x16\x0b\x07\xae\x45\x63\x1f\x3b\x9a\x0e\xe1\xc0\xca\x25\x67\xcf\x5a\x09\xf1\x1d\x28\xf1\xc0\x48\xc7\x4c\x23\xe7\x5b\x56\x8e\xfb\x31\xa7\x58\xff\xa9\xa1\x0f\x8f\xb5\x3a\x84\x37\xf1\x80\xa1\x8a\x11\x6e\x29\xe2\x3d\x2f\xcb\x70\xc6\xd6\x6c\x6e\xf6\x88\x11\xde\xca\x10\x45\xaf\x3b\x85\x4f\x68\x75\x60\xe6\x50\xce\x6b\x2d\x7e\x9d\xd2\x70\x1c\x8a\x10\x6b\x66\x2a\x10\xc7\x4d\x2d\x4f\x96\x86\x55\x2a\x27\x33\x3b\xdd\x59\xd2\x67\x43\x32\x7d\x93\x98\xbf\x9c\x50\x0c\xe9\x1a\x41\xea\x5f\x4f\xb7\x56\xd9\xa0\x66\xd6\x02\xf8\x26\x46\x06\xc3\xc8\xd4\x33\xb7\x90\x6c\xdc\x80\x2c\x2d\x8a\x6b\xa2\x05\x2d\x7b\xa6\xe7\x05\xd1\x93\x85\x9e\x46\xbe\xbe\x44\x70\x2a\xca\x9b\x38\xff\x8f\xcd\x42\xaa\xdb\x66\xff\xff\xc7\x6a\xd1\x13\x17\xe7\x26\x76\xdf\x22\xab\x0b\xd2\x5d\xe3\x4f\x59\xf0\x70\x7e\xc7\xa0\x10\xc6\x86\xd3\xd3\x8b\xe1\x3c\x64\xf3\x96\x9d\xfc\xfa\xfc\x72\xa9\x03\x81\xd4\xa7\x9a\x51\x1b\x23\x89\xdd\xc4\x66\xd8\xbc\x31\x51\xfb\x53\x6f\xb5\x3b\x2e\x81\x9f\xd0\x50\x97\x33\xfc\xa2\x58\x7f\x76\x7d\xa9\x94\x56\x62\x0c\x0b\xc3\xce\x7a\x15\x0d\x32\x64\xf7\x74\x10\xa0\x0d\xb1\x07\x99\xbd\x71\xbc\x8b\x6d\x58\x30\xc2\x2d\x1b\x2b\x6a\x5b\x41\x62\x5b\xe6\xc6\xbc\x4f\xa3\x82\x88\x7f\xfb\x27\xb8\x68\xb3\x45\x20\x91\x98\x1c\x63\xb6\x3d\x1e\xee\x6f\x40\x8e\x9d\x57\xcb\xe7\xea\x8e\xcd\x63\x62\x08\xe3\x2b\x55\x34\xbe\x0e\x9d\xec\x36\x16\x9d\x95\x9e\x8e\x41\x52\xa2\xf1\x9a\xab\xf7\x9a\x8d\xe4\x5b\x98\xe5\x27\x27\xca\x34\xdd\x2a\x7e\x7a\x49\xc4\x05\xe7\x8f\x21\xd5\x92\xb6\x29\xd1\xb9\x1c\x92\xb1\x04\x86\x6c\xf3\xe8\x64\xa8\x82\x70\xd1\xf2\x3d\xa1\xf2\x31\x4d\xa7\x1a\x54\x1a\xd4\x8d\x58\x27\x9b\x7a\xc3\x2e\xa0\x4e\xda\x7a\x3c\x77\x99\x36\xf8\xee\xa8\x9c\xb2\x71\x43\x8f\xc9\x42\x36\xde\x24\xcd\xb6\x0e\x8e\x8d\x6a\x66\x22\xb8\xb8\xc1\x37\x33\x3b\xcc\xc1\xbd\x7c\x2f\xb6\x51\x19\x69\xa3\x70\xdf\xde\xba\xb4\xb3\xb4\x80\xf6\xef\x2b\xd4\x22\x60\x35\x17\xb7\xeb\xa1\xf0\x11\xa3\x02\x88\x5d\x05\x60\x34\x16\xff\x76\xfe\x72\x3c\x4f\xce\xa4\x41\x39\x6e\x48\x9c\xbd\x2a\x35\x7a\x7f\x57\x44\x7a\xa4\x4a\x52\x87\x82\x8e\x07\xc6\x0f\x83\xba\xa5\xbc\xf7\xac\x76\x1e\x73\xd7\xd7\x22\xe0\x42\xea\x77\x41\x47\x6b\x39\x2e\x7e\xf9\x67\x34\x4a\x2e\x5c\x03\xaf\x08\xef\x09\xca\xc3\x6b\x1b\x44\x8d\x10\x72\x22\x55\xf2\xfa\x42\xce\xa0\x0a\x30\xaa\xf8\x1f\x0d\xd7\x07\x56\xae\x0f\x43\xa2\x4d\x57\x88\xfd\x0b\xd0\xac\x4d\x98\x8d\x83\x7d\x9e\x0c\x23\x6e\x60\xe1\x2c\x33\xb4\x7b\x27\xcd\x88\x2f\x6b\x46\x16\x0f\x63\xed\x9a\xe1\xe0\x0f\xd8\x25\x90\x64\x33\x31\x1a\xed\x6d\x55\xf9\xe8\x17\x56\x89\x7b\xd7\x6f\xd4\x30\xeb\x09\x41\x40\x6b\x0b\x58\x13\xde\x36\xdf\xc2\xb8\x14\x3b\xe5\x86\x20\x79\xc0\xbd\x43\xeb\xea\x28\xda\x03\x7c\x27\x96\x3f\x48\x5e\x32\xcb\x17\x36\xb8\x11\x97\x7e\x98\xab\xe0\x6d\x5d\x26\x5a\x30\x8f\x46\x4e\x9c\x85\xc8\x1e\x18\xc4\x25\xe0\xf6\xce\xe9\x16\x06\xcf\xac\x29\x39\xd2\x20\x47\x7c\x27\x1b\x7c\x9f\x7f\x90\x1b\xd0\xb0\x98\x72\xb0\xa9\x7b\x27\x30\xe9\xed\x52\x6c\x9d\x3c\x7c\x0a\x58\x2c\x91\x03\x43\x49\xe9\x15\x4c\x3a\x11\x40\xb3\x14\x63\xf6\xad\x4a\xae\x3c\xa7\x95\x39\x99\x52\x3b\xc9\xcf\x7a\x41\x92\x91\x5a\x18\x2d\x56\xfb\x8a\x55\x8c\x8f\xc2\x1b\xc6\xd9\xe0\x4e\xb9\x05\xae\xaa\x44\x89\x88\x29\x36\xc7\x81\x10\x63\x09\x8c\x5c\xc7\x80\xc5\xbf\x4f\x55\xd5\x47\xe3\xb9\xc8\xda\x9f\xaf\xed\xfa\x0e\xd3\x4e\x2f\x8e\xdc\x1b\x1b\xcd\xab\xc4\x5e\x27\x8b\x10\xf1\x09\xf9\x59\x70\xf5\xf0\xad\x34\xa7\xb2\xe1\xeb\x0f\x82\x58\x17\xa4\x9b\xc7\x10\x52\xe5\x3c\x48\x36\x3d\xaa\xdb\xa1\x9e\x40\x74\xcf\x71\xe5\x2f\xd3\x4d\xad\x01\x5b\x97\x04\xdd\x8c\x65\xc3\xcd\x8d\x02\x57\x1d\x7b\x2c\x67\xf3\xd0\xf7\x31\xbd\x4e\x57\xa3\xcc\x8d\x88\x3a\x5f\x8d\x19\xa3\x8f\x9b\xb6\xff\xe5\x2c\xd0\x98\x8b\xd0\x51\xa9\x41\x75\x65\x26\xd7\x7d\x3d\xa4\x06\x9d\xf6\xe9\xf8\x5a\x99\x66\xe2\x2d\x4e\x7e\x1c\x10\x8a\x3a\xbe\x30\x80\x02\x85\x36\x85\x30\x1c\xf7\x80\xa7\x87\xe0\x6a\x07\x33\x20\xdf\xc3\xc7\x7b\x51\xa8\x24\x4c\x89\x44\x53\xc8\xa1\x3b\x3e\x42\x9b\x05\xaa\x8c\xd3\x35\xa4\x49\xb9\x33\xc0\x16\x83\xb7\x5e\xa7\xdb\xb6\x0b\xcd\x49\x7e\x45\xde\x65\xb6\x1c\x01\xf9\x90\x92\x03\xea\x24\xa9\xc2\xc6\xdd\x65\xf2\xe5\x67\x4d\x8f\xa1\xbd\xf6\xa7\x3e\x29\xe2\x40\x24\xc8\xb0\x77\x7f\xbd\x2c\xca\xe1\x6e\x2d\x9c\x54\x19\x12\x00\x3a\x91\x2e\x2b\x6f\x87\x96\x06\xd8\x7d\x00\x3a\x02\x00\x33\x59\x8c\xeb\x97\x1a\x76\x57\x5b\x00\x46\x98\xca\x96\x92\x96\x25\xa0\x15\x02\x6a\x52\xe4\x1c\x4e\x8b\xa5\xdd\x13\x45\x2e\x32\x46\xa9\xe9\x7c\xd1\xf1\x14\xd3\xc9\x05\x57\xd9\x69\xaf\xc1\xca\x96\x93\xd3\x38\xc2\x21\xf3\x23\xc4\xb2\x3e\xa2\x90\x0e\x32\x69\x0b\x8a\x9b\x59\xc4\x7a\x7c\xbe\x84\xe1\x27\x1c\xe2\xd4\x71\xec\xfc\x27\x9e\xb5\x3d\x9c\x1c\x6b\x23\xbf\x34\x6f\x96\x75\xf3\xd3\x28\x1c\xd5\x60\xb0\xbc\xb4\xb4\xe0\x23\xcd\x16\xa7\x6e\x4e\x1e\x75\xe2\xb4\xad\xed\xb6\x7b\x6f\x87\x45\x44\x84\x1c\x8f\xd8\x21\xf3\xa5\xd2\x51\xdb\x15\xd2\xc0\xb1\x68\x11\x71\x5e\x42\x61\x5e\xf3\xcd\x08\x98\xd5\xb7\xf9\x2e\xc7\xbc\x75\xed\x1f\x73\x3e\x37\x00\x0b\x49\xc6\x61\xcd\x94\x1d\x47\x6a\xbb\x20\x52\x14\xf8\xe9\x36\x57\x08\x77\xfe\xdb\x28\x90\xb0\x8e\x1f\x07\x21\x38\xcf\xb6\xc8\xa8\x8c\xfe\xd6\xf1\x5e\x7e\x3d\xd6\x12\x1a\x1c\x6f\x77\x6c\xd9\x8a\x5d\xf0\x8f\x9b\xc5\x9d\xa5\xbd\x63\x52\x50\xbd\x85\xd4\xb3\xd4\x0e\x69\x53\x5a\xe5\x84\x93\xc9\x22\xa2\xe0\xe0\xa2\xa0\x1e\x88\x57\x8a\x89\xa2\x79\xaf\xe7\x59\x16\xd9\xcc\x4c\xa3\x99\x1c\x12\x5d\x92\x64\x75\x3c\xeb\x86\xc0\x4b\x3f\x3d\x99\x81\xe3\xf0\x21\x12\x5a\xab\x76\x9b\x33\x5f\x05\x8a\xde\x20\xc4\x82\xe4\x52\x7e\x7a\x35\xd4\x0f\x53\x61\x9b\xa2\x21\xde\xe6\xb7\x2f\xf9\xed\x21\x11\xed\x5a\x2f\x84\x95\xe1\x72\x4b\xff\x0d\x6c\x69\x27\x22\x53\x6a\x07\x19\xba\x5f\x98\xf4\x32\x3e\x38\x50\xda\x1e\x54\xbb\xde\x82\x36\x0c\xb7\x20\xe8\x45\x7d\xb4\x45\xbc\xed\xff\x76\x47\x32\xd2\x10\x33\xfb\x85\x6d\xb9\x42\xaf\x82\x90\xe2\xc0\x75\x02\xc0\x43\x6e\xa9\x2b\x25\xfc\x66\x32\x8d\xe9\xd8\x0a\xd1\x5f\x6c\xf5\x86\x55\xf3\xf1\x37\x6f\x59\xce\x63\x02\x77\x47\x27\x5a\x12\xc4\xe7\xbd\xae\xc2\x02\x51\xde\xf9\xae\x81\x90\x8f\x28\x3d\xc4\x21\x83\x59\x61\xca\x5c\x69\x7c\x50\x2d\x4f\xc8\x8f\xc8\xdd\x0f\xf9\x0d\x9f\xa6\x24\x25\x25\x46\x60\x34\x0c\xa8\xd2\x6f\x71\x46\xad\x1f\x3b\xf9\xde\x21\x9d\xb1\xee\x41\xf4\x53\x53\x3d\xc4\xcd\x19\xf2\xb3\x9d\x3d\x07\xeb\x69\x6d\xb0\xa5\x57\x07\x75\xda\x36\xba\xeb\xcb\xb9\x60\x64\xdc\x6f\x20\xe1\xf2\x9e\x0b\x2a\x18\x28\x0b\x4b\xb1\x25\x79\x33\xbd\xc7\x1d\x49\xa4\xf9\x23\x35\xbc\x00\x3d\x68\x39\x9e\x05\x96\xc5\xfd\x8e\x3a\x49\x48\xea\x68\x1b\x0d\x70\x19\x80\x4b\x44\xfa\xa0\x43\x1c\xcb\xfc\xdd\xe9\xe3\xe6\x51\xf5\x84\xa2\xc4\x9c\x3d\x54\xe7\xa2\xba\x1d\x6c\xfe\x1a\x90\x2e\x22\xb3\x6d\x25\xa1\xe7\x68\x88\xc1\x87\x51\xa7\xd5\x08\xc0\xad\x74\xef\xe6\x78\xd5\xe7\x4f\x62\x3c\xd2\xa1\xe7\xcf\xa3\x1a\xae\x40\xc0\xca\xc0\x67\x42\x17\x32\xef\xd9\x97\x5e\x2e\xb7\x29\x97\x87\x30\x34\x00\x87\x15\x30\xea\x6f\xe2\x95\x9a\x9f\xf8\xe5\x4e\xe4\x25\xf9\x61\xc2\x39\xeb\xc4\xe3\xb4\x7f\xbd\x23\xa6\x79\x6d\xd9\x34\x8d\xfb\x71\x66\x62\x6a\xef\x59\xc1\x4f\xc7\x36\x3f\x86\xa2\xb2\xc9\x2c\x5f\x46\x7a\xc8\x2e\x09\xd4\xf2\xe2\x4a\x6d\x3e\xb5\x16\xfc\xbc\xb0\x36\xd2\x68\xc7\x54\xee\x7d\x1b\x68\xb6\x61\x7d\x54\xbf\x73\xfb\x30\x9a\x07\x19\xd3\xb6\x41\xe6\xd0\x6e\xf5\x20\xd3\xc1\x90\x62\x23\xa6\xb5\x05\x3f\x53\xf3\x31\x75\x25\xbe\x1d\xc7\xcf\x31\xf4\x16\xe8\xe2\xb3\x1f\xf3\x2e\xd3\xab\x60\xa8\x4c\xff\x9e\xe9\x86\x26\xe2\xd2\xe7\xaf\x92\x31\x74\xf9\x7e\xdc\xd5\x3f\x6c\xa8\x36\xee\x59\xc5\x00\xb5\xdf\x89\x61\x99\xd4\x15\x51\xa3\x98\xc0\x93\x04\x53\x1d\xb3\x11\xc1\x61\x9b\xb2\x6f\x22\x9c\xbe\x87\xe5\x03\x60\x8b\x76\xf5\x0a\xaa\x32\xd4\x00" -func _4372a5b910e3de57fda50JsBrBytes() ([]byte, error) { +func _4A60e5d61075d61681580JsBrBytes() ([]byte, error) { return bindataRead( - __4372a5b910e3de57fda50JsBr, - "4.372a5b910e3de57fda50.js.br", + __4A60e5d61075d61681580JsBr, + "4.a60e5d61075d61681580.js.br", ) } -func _4372a5b910e3de57fda50JsBr() (*asset, error) { - bytes, err := _4372a5b910e3de57fda50JsBrBytes() +func _4A60e5d61075d61681580JsBr() (*asset, error) { + bytes, err := _4A60e5d61075d61681580JsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "4.372a5b910e3de57fda50.js.br", size: 10176, mode: os.FileMode(436), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "4.a60e5d61075d61681580.js.br", size: 10258, mode: os.FileMode(436), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var __57ad90c4668f42cf15ea0JsBr = "\x1b\xb2\x4e\x00\x2c\x06\xdc\xdd\x13\x5e\xa0\xb6\x3e\x3d\xe0\x84\xa1\x8b\x69\xba\x8d\x53\x04\x61\x84\x24\xb3\xbe\xb9\x97\x79\x8c\xa2\x11\xef\x1e\xbb\xd1\xdc\x13\x1a\x61\x66\xff\x51\xd8\x0d\x23\xec\xf8\x9f\xcd\xf4\x74\x05\x1d\x94\xff\xcd\x47\xa9\x27\xe1\x67\xa5\xf5\x8d\xdb\x89\x30\x1e\xed\x22\x27\xb8\xa0\x1d\xc4\xa6\x4a\xa6\x66\xda\xbf\x9f\x57\xc5\x97\xd5\xbd\x1c\xef\x79\xb8\xdf\xbd\x4e\xb7\x68\x65\x79\xbc\x11\xaa\x90\x06\x45\x37\x08\x84\xb8\x39\xbf\x9b\x41\x4f\xa8\x64\x50\xa9\x9a\x55\xfd\x89\xe0\x42\xf3\x29\xf8\x0e\x84\xaa\xc6\x29\x56\xce\x95\xb4\x7f\xd9\x2c\x3f\xb4\xd6\x48\x91\x83\xd0\x41\x08\x04\x59\x64\xbd\x7e\xfd\xda\x37\x58\x37\x23\xa8\x95\x34\xbb\x87\xa8\x5d\x03\xf7\xeb\x9e\xd5\xb5\x4e\x5a\xd7\x08\x5c\x75\xc7\x3a\x03\x46\x00\xf0\x89\x83\xe4\x47\x09\x72\x98\x11\xa4\x9f\x93\xec\x07\x49\xf8\xd5\x4d\x04\x49\x0f\x29\x3e\x59\xbe\x46\x56\xd5\x6c\x8a\x55\xb7\xad\x22\x06\x10\xc1\xd0\xd3\xff\x21\x43\x34\xf6\x61\x9b\x5a\x18\x68\x36\x6a\x8f\xe3\x62\xc2\x47\xa0\x2c\xfb\x98\x61\x78\x7c\x43\xed\xf6\xfe\x48\x7d\x6d\x04\x31\x11\x1e\xe8\x90\x42\x55\xd6\x65\xda\xad\x2a\xb1\x0e\x4c\x36\xd1\x35\x8a\x9b\x6f\x42\x57\x57\x33\x2d\x4b\xd4\x54\x54\xa4\xbe\x02\xeb\xba\x85\x99\xe8\xe7\xcb\x12\x5e\x7f\xfe\x02\x86\x9f\xb4\x59\x18\x1f\xc0\xa2\x10\xea\x0e\xc1\xe3\xb7\x94\xd1\x34\x0c\xe5\x82\x65\xa0\xad\x76\xcb\xd6\x14\x6d\xb6\x5c\xb4\xfa\x99\x90\x82\x0c\x39\x74\x69\x83\xa2\x91\x64\x3d\x69\xeb\x31\xe3\x66\x21\x6a\x9d\x41\xfa\xdf\x85\x52\xe8\xf6\x93\x64\x8a\x42\x83\x4d\x95\x38\xed\x2f\x4f\x21\x02\x2e\xfa\x46\x0a\x53\x97\xb1\xa2\x4f\xc7\xe5\x85\x3d\x9f\x8e\x8c\x69\xf5\x3f\x74\xc6\x47\x15\x76\x9e\x3c\x3c\x6a\x3b\xd5\xd1\xde\xda\x50\x11\x50\x13\x97\xfc\xfc\x60\x0b\x2b\x57\xe0\x5d\xb6\xc0\x6a\x65\xfb\xe4\x30\x55\x61\xe9\xaa\xd5\x0a\x60\x9b\x04\x41\xab\x98\x3a\x1d\xf1\xc5\x75\x4f\x8b\x4b\xa2\x69\xea\x1a\x91\x65\x1f\x3f\x5c\xfc\x7f\xb1\x63\x8e\x5b\x90\x2f\xfa\x30\xe1\xb6\x66\xec\x27\x83\x1f\x5d\xab\xa2\x15\x0f\x3f\xa7\x36\x29\x4b\x1e\x8e\xff\x90\xc5\x34\x19\x0f\xea\x79\x90\x09\x30\xca\x84\x17\x64\xfa\x09\x32\x29\xd6\x1f\x9e\x92\x41\x4b\x09\x34\xbf\xca\x00\x43\x48\x62\xec\xdd\x96\xe3\xd7\xbd\xe0\x28\x72\xad\xf2\xbc\x7a\xa6\x6b\x32\x8d\x36\xe7\x28\x05\x5c\x48\x41\x5d\x3f\x23\x21\x97\x99\xff\x61\x9d\x9d\xe4\x8f\x9c\xa4\x4e\x60\x0e\x99\x39\x23\xbf\x0d\x6a\x22\x85\x77\xaa\x22\x82\x43\xd6\x88\x18\xe3\x9b\xa1\x14\x34\xc7\x39\x28\xaf\x92\xa0\x67\x95\x9c\xa4\x52\xae\x88\xbd\x4e\x09\x70\x6e\xe0\x9e\x9c\x0d\x10\x32\x15\x62\xde\x9e\x0a\x7f\x12\x93\xb8\x67\x2e\xf3\xaa\x49\x91\x07\xc0\xa7\xa7\x73\x65\x8b\xd5\x4b\xe2\x4b\xdf\x09\x03\x3a\xd3\xc8\x5a\xb2\x34\x7e\x4c\xe7\x87\x74\x4d\x4a\xc6\x39\xf4\x54\x4f\x83\xb1\xc0\xa8\xe4\xdc\xae\xae\x48\x42\x57\x29\x11\xc6\xcf\x0a\x44\x1b\x74\x36\x94\xb2\x4d\xba\x1f\x5e\x2b\x35\x68\xcc\x21\x54\x09\xdc\x39\xa5\xaf\xe1\x53\x63\xc9\xfc\xba\x24\x57\x9e\xb4\xae\x82\x67\x82\xb8\x60\xbf\x98\xc6\x27\x06\xcd\x01\x41\x5f\xe9\x39\xbb\xdc\xc1\x09\x12\x0c\x43\x36\x97\x62\xb5\xb3\x12\x56\x56\xc3\xc8\x9c\x12\x0d\x15\x2c\xa0\x86\x29\x53\x4d\x22\xf9\x84\x69\x7c\xb0\x21\x2a\x5d\x95\xe3\x66\x5e\xf0\xe1\xc6\xb9\x92\x88\x31\x06\xe2\xfc\x1f\xa9\x3e\xe6\x4a\x5c\xf4\xed\x4d\x48\xde\x7f\x4c\x15\x60\xb9\x46\xc1\xce\x72\x83\x90\x5b\x92\x7c\x68\x89\x38\x96\xdf\x91\x44\xe0\x02\x22\xd7\xe0\xa1\xc3\xab\xfd\x32\xf9\x73\x60\x4c\xa1\xa6\xd9\x13\x6c\x68\x53\x72\xc2\xc1\x36\x27\xc7\x3b\xc2\xa0\x64\x36\xbf\x8a\x8d\xa5\xdd\xbc\xd1\xf3\xef\x67\x4b\x0d\xb2\xd6\x2e\x09\xa8\x12\x10\x4a\x08\x38\xfb\xf8\x56\xd4\xa3\xde\x84\xbc\x64\x4f\x0e\x20\xa3\xf1\x48\x28\xcd\xcd\x89\x7b\x23\x28\x8d\x81\x04\x2b\xc5\x81\xf4\xb2\x79\xe6\x6a\xb3\xf3\x70\x06\xff\xfd\x5c\x56\x56\x1c\x7e\x6f\xb9\xff\x85\x89\x96\xe0\x77\x6b\xfb\x12\x47\x7f\x67\x4f\x3f\xc5\x4e\x39\x88\xef\x62\x3b\xaf\xb0\x94\xe6\x73\x55\xc4\x6c\xcc\x50\xb7\x93\x1a\x84\x2f\x58\xd3\x4d\x8d\x36\x78\x2c\x36\x2d\xb9\x2e\x3f\x0f\xae\xce\x19\x22\x5c\xfd\x7e\xbf\xaf\xfe\x1b\x01\x64\x1c\xd7\x59\x8d\xab\x0d\x09\x09\x14\x50\xdb\x93\xeb\x2f\x81\xa0\x80\xcb\x4f\x56\x88\x39\x84\x3b\xbe\xdf\xc5\xed\xb6\xb5\x14\x7b\xb7\x36\x54\xdc\x95\x7b\x20\x72\x90\x2c\xea\x47\x2a\x25\x9a\x15\xa4\x46\x6c\xfd\x14\xe7\x07\x7f\x80\xf5\x09\x49\xa8\x4d\xa0\x8e\x90\x40\x14\x6e\x78\xe9\x03\x94\x95\x45\x5f\xc3\x20\x1b\x0f\xab\x41\xa3\x4d\xf6\x6b\x1b\x87\xf7\xea\xf6\xaf\xf5\xc5\xbb\xae\x43\x30\x80\x7a\xe3\x8b\x65\x8f\x2a\x7b\x01\x92\xde\x70\xad\x54\xfe\x1f\xa2\x8a\x20\x9c\xcb\xa6\x3b\x5c\x72\xe7\x72\xc9\xe2\x5d\xb3\x74\x69\x42\x15\x60\x1f\xc2\x9c\xfe\xc2\x0e\x82\x15\x70\x69\x18\xf5\xad\x46\x90\xb7\x60\x46\x5a\x55\x47\xb9\xc8\x15\x22\x1e\xda\x46\x78\x8c\x5c\xad\x41\x69\x13\x1d\x0b\xa8\x4a\xc6\x9d\xb1\xe6\x80\x6d\x29\xf7\x35\xbd\x0d\x19\x34\xe1\x8a\x3f\x85\x1c\x89\x5a\xb7\xfa\x0e\x5b\x9f\x36\xfb\x39\x49\x28\xf8\x34\x45\x98\x87\xac\xef\x79\x68\x41\x22\xf1\xb3\x43\x50\x50\x82\x57\x64\x53\x42\x41\x0c\xcf\x3b\x0a\xda\x94\x63\xc3\xef\x68\xf9\x08\x86\xf5\x32\x24\x1b\xec\xb6\x38\xb9\xbd\x0b\x38\x00\xd4\x7d\xa8\xc3\x66\x85\x7c\xf0\xb3\xd2\x75\x28\x63\x81\xc1\xce\x61\x0d\xb2\x99\x08\x2c\xdd\xc7\x10\x45\xf3\x71\x10\x36\x37\xe1\xaf\x30\x3b\x01\x0a\xf7\x2d\x26\x22\xac\xb3\x80\x06\xd8\xa5\x5c\xd9\x28\xc2\xf0\xf1\x6f\x8a\x30\x63\xc5\xd5\x93\x21\xd4\x89\x82\x2d\x65\x26\x60\x4b\x42\x8f\xb6\x10\xeb\x9f\xc7\x6d\x2e\x47\xa4\xe7\xd3\x1d\x0a\x22\xb2\xe4\x53\xaf\x09\xee\xac\xa7\x11\xe7\x69\xd0\x95\x6a\x52\x8f\xad\x12\x70\xbd\xb5\xb5\x26\xe7\x24\x14\xdb\x15\x80\xd3\x21\x02\x59\xbc\xb4\x4d\xa2\xc4\x20\x8d\x06\x56\x40\xac\x60\x79\xdc\x3e\xe1\xcc\x70\xef\xcd\x84\x2d\xcd\xcc\x42\x57\x85\x05\xd7\x2d\x6d\x55\x3e\x4d\x81\x91\xd9\x45\x66\x01\x85\x79\xba\x3b\x46\xad\x73\x67\xd5\x6b\x97\x5f\xa0\x56\x69\x6c\x7d\x62\x59\xa0\xfa\xd2\x36\x9e\x06\x31\xd6\xbf\x77\x01\xc7\xbb\xbd\x2f\x3c\xfd\x4b\x4a\xd9\xa6\x3a\x73\xd9\xb9\x5e\xba\x93\x36\x3c\x32\x74\x74\x97\x0d\x6e\x5a\x2b\x59\xda\xeb\x96\x00\x13\x3a\xe3\xe2\x82\x27\xe3\x2a\xb2\x93\x8a\x03\x68\xd7\xea\x39\xb9\xba\x9a\xd0\x91\xb4\x47\xcc\x34\x53\x8c\x44\xbc\x66\x22\x8d\xec\x36\xad\x81\x84\x50\x8b\xf2\x99\x6a\x28\x53\xc7\x18\x5d\x00\xc7\x3a\x35\xd7\x39\x55\xf4\xe0\xaa\xdf\xd9\x7e\xbe\x8e\xeb\x12\xc2\x2c\x1c\x35\x8f\xc4\x29\x25\x76\xb1\x3e\x25\x9f\x68\x83\x60\xa0\xbc\x57\x8c\x08\xf2\x8e\x10\x11\xed\x9c\x9b\x56\x7e\x35\x62\xa4\x1f\x64\xa2\xcb\xc5\x09\x7d\x6b\x59\x92\x6d\xaf\x06\xcf\x71\x55\x8d\xcb\xff\xaa\x0c\x71\xa0\xb5\xa6\x92\xd5\x05\xb3\x62\xcc\x89\x86\x66\x30\xaf\xa6\xac\x98\xf7\x03\xc4\xf5\x23\x47\xb4\x19\x8f\x73\x17\x9b\x83\xbd\xff\x3e\x0e\xdc\xac\x14\x89\x66\x57\x41\xb1\x03\xee\x35\x3c\x35\xbd\xba\xa2\x8e\xd5\x57\x57\x55\xd4\x02\x22\x3c\xfd\x26\x9b\x59\x3c\x16\x74\x22\xae\x05\x4e\x03\x32\x00\xf0\x06\x4e\xf3\x11\x3b\xbf\xd2\xca\x12\x2a\x2a\x61\x49\xb0\x42\x3b\xc4\x6d\x1a\x05\x23\xf4\x41\x6a\xe6\x92\xff\x42\xf2\x4c\x49\xbb\x00\xd3\x4c\xaf\x40\xf1\x13\x26\x19\x9c\x44\x46\x97\xcf\x95\x89\x42\x64\x46\xeb\xe4\xee\x67\x98\x8b\x8b\xdc\x12\xc0\x1f\xd6\x01\x23\x76\x11\x38\xfe\x1d\x3f\x93\xaf\x2a\x05\x4d\x93\xfe\x21\x4a\x6e\x33\xc2\x44\xb7\xb8\x90\xf2\xee\xd6\xcc\xb1\xdb\x15\xc0\x02\x3f\x37\x9f\x3e\x81\x84\xcd\x8e\x54\xa4\x2d\x30\xd7\x1b\x2b\xf1\x55\x34\x98\xda\x18\xca\x4a\x24\x66\x6a\x69\xc6\x15\x50\x06\x4b\x73\x80\x37\xae\x86\x5d\x94\xa5\x56\xf9\x22\xb2\xd4\x88\xb1\xec\xc2\x09\xd6\x48\xed\x27\xe6\x01\xf4\x1f\x19\x63\x8f\xab\x12\x2f\x8b\x8b\x6d\xa8\x0b\x90\xd6\x67\x89\x05\x35\x2d\x25\xeb\xd2\x0c\x89\x16\x1d\x9e\x33\x0d\xc6\xd3\x5d\x6a\x59\x6f\xe7\x22\xf2\xa7\x10\xa8\xa3\x89\x92\x28\x66\x25\x9b\x1a\xf4\x05\x18\x25\x93\xa1\xde\x84\xbf\x96\x76\x2e\xcd\xd7\x69\xba\xe8\x38\x01\xa8\xb2\x36\x57\xeb\xa3\xcc\xd1\xe0\x98\x8b\x16\x44\xb1\xe5\x52\x5a\x36\xc6\xe9\x97\x58\xa6\x3c\xab\xb3\x59\xf2\xf0\x48\x75\xd6\xc0\x1c\x2b\xd2\x43\xb7\x57\x68\xae\xc7\x52\x5f\x09\x43\x2e\x70\x88\xd7\x5a\x1d\x96\xc7\x82\x21\x26\xb8\xfd\x47\x58\xcf\xd9\xef\x95\x7d\xa8\xab\xc4\xb5\xb1\xcd\xc9\x56\x8c\xcd\xfb\xaf\xa5\xc4\xc5\xbc\x1f\xd1\xf6\x04\x5a\x1e\x4a\x38\xf2\x92\x17\xfd\xc8\x58\xf0\x2c\xb7\x23\x40\x82\x20\x54\x71\x3d\xef\x95\x30\xa3\xe2\x69\x17\x05\x9b\x94\xda\x8c\x47\x94\x0c\xce\xce\xa1\x1d\x8e\xbe\xd0\x5a\x7a\xd6\x60\xa9\x04\x59\xce\x9d\x28\x10\x93\xe8\xa7\x48\x80\x98\x44\x7e\x44\x17\x6a\xe9\x43\x83\x85\xb3\x98\x0b\xa3\x9f\x50\x4a\xab\x45\x03\x6c\x93\x5c\xb2\xf3\xc2\x4a\xcd\x96\x67\x30\x4b\x72\x1f\x2e\xf9\xbe\x96\x9a\x7e\xea\x1a\x5f\xf2\x4f\xcc\x0e\xd9\x08\xb9\x38\x2c\xce\x94\xea\x0b\x8a\xe1\x7c\x58\x30\x1c\x7f\x93\x47\x80\x72\x51\xa3\x5c\x85\x0a\x55\xda\xe4\x92\x2f\xdf\x85\x55\x7c\x7c\xf1\xd2\x0b\xcb\x95\x8d\xef\x79\x9c\xe2\x88\x4b\xc3\x22\xe6\x61\x16\x73\x61\x81\x21\x60\x8a\xa7\x0c\x55\x3e\xba\x22\x17\x9e\x78\x4b\xf1\xfc\x45\xda\x64\x85\x9b\x4b\x39\x87\x79\x6b\xcb\x2b\x62\xa6\x2c\xbf\x26\x37\x47\x97\x67\x07\x68\xd3\x20\x71\x68\x09\x16\xfe\x52\x52\x44\x5b\xf1\xf8\xc5\x48\xd3\xc0\x88\xd8\xa5\x42\xf9\xd1\xd9\xaf\xf9\x86\x89\xf1\x3e\xad\x95\x9a\xdd\xa8\x99\x99\x26\xf0\xf7\x7b\x09\x2b\xd5\xe7\x3e\x0a\x31\x55\xb7\x82\x5a\xe8\x75\xbb\x26\xe8\x8e\x63\x8c\x77\x26\xa5\xe9\xb4\xbe\xe8\xd5\x75\x3f\xe2\x7e\xbb\x87\xb5\xcf\xab\x3b\xa2\x90\x18\x8a\xf2\xdf\x7c\xdb\x53\x11\xc4\xa9\x7b\x43\x05\x51\x24\xc2\x60\xde\x07\x30\xd7\x9c\x9f\x5e\xd1\x79\x83\xcc\x61\x33\x27\x7b\x38\x0d\x61\xcc\xe9\xdb\xcb\xe8\x13\x68\x96\x2f\xc2\x2c\x01\x98\xe4\xf7\xa9\xd7\xfe\xdc\xdf\x6b\x8a\x6e\x94\x73\x7f\x6b\x5f\xa1\xaf\x69\x50\x74\xef\x52\xaa\x85\xc6\x39\x9a\x1c\x9e\x8d\x91\xf9\x05\x0a\x50\x71\x33\x91\xd9\x0e\x47\x11\x73\x1f\x06\xee\xa2\xdf\xd0\xd0\xe3\x8a\xa2\xc4\x54\x9d\x03\xb1\x79\x09\x7b\xa0\x40\x00\xf7\x95\xc8\xe1\x53\x7c\xb4\x36\xbc\x29\x10\x61\xbf\xca\xe1\x19\x37\xd9\xd0\x00\x13\xe2\xfc\xc3\xd0\x20\x1a\x93\x05\x68\x5b\x28\x68\x6f\x93\x5f\x5d\xf6\xaa\xf1\xae\xae\x23\x19\x8a\xb9\xf2\x16\x1f\x3c\x55\x7b\x7a\x53\x76\x18\x52\xad\xdb\xd3\x19\x66\xec\x08\xb6\xc5\x35\x2b\xec\x1f\x84\xd2\x5e\xe3\x20\xc3\x9d\xd3\x77\xaf\x5b\x82\x0e\x0e\x89\x09\xe8\xbc\xa5\x79\xc9\x0d\x75\xbd\xa0\xfb\x69\x8b\x0f\xbc\x9b\x13\x48\xc7\xed\xc5\xa8\x3c\xd8\x8b\x0e\xbe\x4d\xc5\x65\x69\x3d\xb8\x25\x20\x2c\x99\xa1\x58\x77\x79\x89\xf5\xc5\x75\x1f\x2d\xb1\xb1\xd1\x5c\x2c\xee\x6d\x8b\xe5\x35\x69\x31\x3b\xc1\xbf\xa5\xf9\xb7\xd0\x62\xa3\x14\x4b\x1c\x7c\x4b\x96\x96\x1f\x5b\x4f\xdd\xb1\x75\xfa\x76\xc7\x76\x95\x23\xa6\xa5\x74\x58\x44\x64\x89\xc5\x77\x8f\x36\x8b\x12\x11\xd2\xdf\x10\x2b\x7d\xca\xa8\xe9\x53\x9e\x28\xb7\x6e\x20\x9d\xdc\xed\x76\x0a\xaf\xd4\xd2\x52\x7f\x75\xc5\xd6\x51\xb0\x07\xd4\xfd\xf8\x3d\xc7\xdb\x69\xdd\xb8\xa8\x15\x44\x52\x4b\x26\x64\x82\x7e\xcf\xb3\x30\x4d\x87\x64\xe9\xd9\x83\x34\x2c\x4b\xdb\x4f\xc4\xfe\x55\xb0\x63\xd5\xaf\xc3\xa6\x69\x59\xcc\x12\xef\xfe\x5e\x4f\x77\x77\x5c\xf7\xa6\x43\x6f\xaf\x33\xbc\xf2\xeb\xb0\xdf\x95\x6a\x40\xad\xcb\x77\x74\xc3\x2d\x77\x56\x6a\x58\xfa\xc3\xe8\xf8\x5d\x30\x69\x0d\x8b\x5f\xe3\xe2\xe4\xfb\xb0\xf2\x5d\x44\xc9\x54\xa6\x7f\xca\x1b\x65\x71\x9a\xce\xdd\x2c\x5e\xcb\x2d\xaa\xff\xd6\x12\x1b\x39\xfc\xe2\x88\xf4\xef\x2e\xb2\x4a\xf3\xc8\xb2\x21\x60\x47\x45\x8f\x79\x89\xbb\x23\xda\xdf\x7d\x4e\x4d\x30\xbb\x09\xed\x61\x38\xf9\x83\x30\xfe\x72\x03\x5d\x22\x53\x1e\xfe\x0e\xd1\x7b\xea\x2a\xca\xce\x68\x35\x51\x65\xa8\xd8\x28\x57\x00\x4a\x66\x1e\x2b\xfe\xc7\x7d\xd0\x52\x42\x3f\x33\xe6\x80\xe7\x8c\xe8\xce\xfa\x8c\x4e\xaf\x8e\x83\x23\xbf\x05\x5a\x38\xac\xcb\xe4\xfa\xbb\x49\x59\x2b\x95\x7b\x9d\x7a\xc1\x50\x75\x70\x0d\xf0\xa4\xab\x21\x4b\xca\xa8\x5d\xab\x8a\x29\xd7\xd5\x80\x48\x47\x31\x16\xef\x23\x34\x8e\x43\x67\xc5\x07\xac\x2c\x5e\xcb\x4d\x56\x06\xed\x46\x47\xf9\x8d\xbe\xd5\x2d\x0e\x8d\xbe\xf6\x43\x9d\x63\x19\xf0\x29\x62\x80\x11\x69\x13\xe1\x43\x9a\x9c\xb2\x54\x74\xcd\x7d\x90\x47\x91\x0c\x68\xb1\x37\x77\x59\xe3\xa6\xaf\xda\x4d\x02\xc4\xb3\x49\x66\xd4\x43\x8e\x51\x96\x10\xa7\xb8\x2c\xaf\xbe\x72\x97\x6f\xe0\xec\x64\x53\xd0\x9b\xc4\xcf\xad\x5c\x05\xb7\xa7\xa3\x54\x32\x4a\x7e\x0e\xd1\x69\x46\x83\x9e\xf2\x0a\x44\x4f\x71\x4c\x46\x1d\xef\x49\x9e\x64\x2c\xf8\x65\x08\x95\x58\x2a\x2a\x1c\x9f\xda\x15\xc9\x2c\x71\xdf\x87\x9f\x89\x87\xf5\x47\x2b\x69\x67\x86\xab\xbe\xb9\x8b\x4f\x9f\xa0\xd9\x67\x65\x12\x8a\xce\x00\x32\xd4\x23\x90\x62\x4b\x57\xd5\x73\x81\x1f\x3c\x8c\x7e\x25\xe2\xec\xe2\x5d\x38\xa2\x8c\xa8\x2c\x5c\xa1\xc4\x85\xe1\x75\xeb\xef\x5b\x66\x9d\x5b\x8a\x26\xe3\xfc\x74\x5e\xa1\x2c\x03\x42\x51\xfe\x78\xe9\x1c\x34\x9b\x6f\x45\xbf\xc5\x15\xea\xed\xf6\xb1\x2a\x21\x79\xd7\x6e\x52\xca\x7c\xa9\xe4\xc1\xaf\x96\x89\x18\xd8\x9c\x7d\xf9\x1c\x56\x90\xb7\x72\x15\xd3\xcf\x3f\xed\x1a\x9a\x47\x3b\xd9\xf4\xa1\x86\x71\xc3\xa1\x6c\xaa\x5f\x80\x2e\x06\xdd\x49\xd2\xb4\x19\x5a\xd4\xef\xac\x46\xfb\x3b\x7b\x1f\x4a\xfd\xa8\x17\x38\x20\x34\x04\x6c\x44\xc3\x4c\xa0\xba\x96\xaa\x8f\x2e\x39\xfd\x75\xc5\x5c\xeb\x68\xab\x06\x2d\x0a\x81\x55\x13\x17\x9a\x27\x7b\x0e\xa8\x9a\x48\x00\x9d\x16\xad\xba\x9c\x12\x0a\x69\xfb\xcd\x59\x0f\x1d\x7a\x51\x7a\x65\x88\x1d\x77\xd4\xfc\x70\x16\x26\x22\xc5\x01\xa1\x8d\x4f\x38\xac\x6d\xc6\x99\x64\x88\x6b\xa2\xf5\x2d\xe0\xb5\x7e\x35\xd8\x12\x87\x52\xa8\x62\x28\x08\xaa\x9b\xb1\x43\x35\xa0\x01\x67\x6a\xdb\x19\x76\x32\x03\x08\xae\x76\xda\x77\x25\x30\x6e\xb2\x49\x48\x37\xdc\x07\xe3\x28\xca\x61\x4e\x5d\x11\x33\xb0\x27\xfd\x18\x4a\x67\x26\x5f\x76\x84\x59\x4f\x4f\x00\x12\x03\x6e\x71\xb3\xcc\x30\x71\x9a\x9d\xf7\xc8\xee\x24\xaa\x33\x92\x2d\x43\x01\xf0\xd4\x12\x24\xbd\xa6\x1b\x5e\x1d\x70\xc8\xe5\x52\xb8\x1c\xf5\x1e\x9e\x0d\x18\xd2\x5c\x52\x0b\x4b\x52\x2b\xd7\xbc\x9c\x55\xf5\x5a\x4d\x69\x39\x30\x8e\x7e\xed\xe5\x91\x15\x40\x16\xfe\x45\xe1\xec\x37\x7b\x58\x9e\xa1\xbd\xd0\x89\xb0\x17\x84\x56\x86\x06\x5d\x8f\x6c\x9f\xcd\xa1\xec\x2c\xc6\x0a\x24\x2e\xc5\x97\xbe\xc4\x6b\x8f\x31\x78\x58\xd3\xb0\xe2\xab\xbd\x5a\x3b\x32\xbc\xc0\xb7\xfa\x85\x2a\x00\x07\x1d\xd3\xc8\xa1\xfa\x6b\x01\xa8\xe7\xfa\x93\xae\xe2\x5c\x8e\xa0\x22\xf9\x62\x74\xb4\x12\x1d\xb8\xd4\x48\x3d\x1f\x92\xea\xa0\xe1\x47\x0b\x78\xa9\xed\x92\xce\xee\xaa\xba\x18\x95\xd8\xea\xd3\xea\x00\x27\x6f\x7b\x0c\x2c\x05\x0e\xad\xec\xac\x3d\x7a\x27\x5b\xba\x96\x7a\xe5\x07\x8f\xfb\x2d\xfb\x49\x95\x0d\x2c\x00\x92\x84\x3d\x5b\x7b\xfc\x2d\x30\x23\x37\x56\x11\x97\xcb\x28\x26\x87\xb9\x77\xdd\x6d\x24\x33\x36\xb0\x92\xee\x21\x4d\x4b\x8a\xda\xd0\x76\x58\xf1\x11\x45\x54\x53\x66\x49\x34\xd1\x1d\x2e\xc2\x5d\x66\xbc\x3a\x35\x9d\x98\xbc\xf3\xce\xdb\x37\xd8\xa3\xb1\xd6\x9a\x35\xb4\xec\x79\x40\x0a\xf5\x28\x27\x60\x10\x95\x25\x9b\x84\x07\x1b\xcf\x28\x03\x44\x3a\xc0\x52\xd2\x55\xf5\x42\x68\x5a\xfa\xf9\xbd\xdf\xa2\x7b\xb1\x72\x05\x66\xdd\x58\xc5\x2d\x5d\x81\x48\x50\x1d\xb4\x56\xda\x41\x46\x8d\xcd\xb8\x0e\xf8\xa8\x70\xbe\x4d\xc6\xb6\x20\x72\xca\x90\x87\xdc\x32\x29\x78\x33\xb2\xb4\xee\x84\x68\x6a\xe0\x3a\x6a\x56\x14\x60\xdc\x20\xaa\x77\x23\x60\x83\x17\xf6\xab\xa2\xd0\x64\x77\x33\x60\x6e\x83\xb4\xf7\xb6\x2e\x49\x2e\x9d\x2f\x5d\x0f\xd7\x3d\x85\x71\x7c\x2b\x69\xc8\xae\x1d\xfa\x29\x71\x49\xda\xf9\xb9\x91\x33\x5f\xb6\xbe\xfd\x34\x96\x8d\xd1\x9e\x46\x65\x8b\x82\x0f\x6a\xc6\x79\x8a\x0c\x8a\xe4\x07\x4b\x86\xb9\xff\x63\xa8\xa0\xd6\x2c\x90\x83\x04\x80\xd8\x31\x44\x66\x6a\xfa\x1a\xe4\x7b\xba\x57\xa3\x9a\xec\xd6\x4b\x07\x9b\x24\xef\xb8\xc7\x82\x2e\x7a\x30\x34\x4c\x33\x44\x51\x11\x53\x15\xb6\x09\x3e\x27\x53\x3d\x52\x2a\x2d\xb8\x11\xb2\x2d\x46\x24\x11\x84\x69\x95\x0c\x0b\x22\x72\x87\xdd\xa7\xf2\x31\x7e\x21\x61\xdc\xd4\xca\x95\x07\x0c\xdf\x4b\xce\xf4\xb5\x28\xce\x01\x35\xbc\x77\x8e\x31\xe6\xb7\x0b\x13\xdf\xcf\x52\xeb\x53\x64\x96\xc2\x59\x22\xe4\x61\x7b\x1a\xed\x52\x17\xf9\x1e\x79\xb9\xbc\x90\x3b\xcf\x55\xbb\xd4\x87\x16\x16\x3d\xa9\x70\xac\x20\x74\xfa\x0e\xcc\x03\xb3\x20\xa1\xe5\xd9\xde\xd8\xfa\x04\xa3\x4b\xe5\x20\x1c\x94\xf7\xff\xb8\x6f\x85\xbc\x85\xd1\xaf\x70\xc3\x9b\x5f\x3d\x3c\x77\x9b\x21\xad\xd3\x88\x17\x1c\xde\xfd\xc3\x54\x98\x21\xcd\xe2\x72\xd9\x8a\xbd\xb3\xde\x14\x85\x65\xad\xd9\x61\x74\x6b\xc9\xb0\xa3\x8d\xee\x70\xf4\xa1\xeb\xad\xe0\x1c\xc6\x8e\xb7\x86\xff\xc6\x18\xd6\x77\x88\xc5\x9b\xc0\xec\x70\x03\xb4\x82\xb6\xe3\x8d\xf8\xb9\x2d\xba\x0b\x32\x38\x5f\xfe\x85\xe9\xa2\x7e\x83\x8c\xd1\xbf\xa5\x16\xe7\x8e\xdb\x89\x3b\x66\x87\x26\x5a\x64\xe9\xfe\x8f\x8b\x63\xb0\x35\x07\xc2\x0b\xcc\x38\xbb\xc5\x2c\xd8\x57\x3f\xb5\xe0\xca\xef\xb3\x4a\x7e\x0b\x3b\x08\xd4\x91\x0e\x61\x2f\x71\x2f\x51\x4c\x0f\xc8\xfa\x8e\x41\x99\x4c\x9a\xaf\x13\xd8\x65\x1a\x57\xb3\xfe\x0b\x67\xe6\xcc\xd8\xf2\xb7\xe7\x22\x4f\x54\x6e\x66\x22\x59\x22\x41\x41\x93\xa0\x68\x63\x37\x93\xd7\x6a\x7e\x93\xd3\xf1\x33\xe3\xe1\xde\xc8\xb5\xef\xfd\x32\xd3\x40\x5b\x0e\x88\x13\x0b\x90\x70\x45\xc0\x07\x55\x16\x15\x10\xba\xf4\xf9\xa6\x3d\x6a\xdb\xcf\x37\x5f\x2a\x3f\xff\x9d\x62\xcb\x27\x9f\x4c\xda\x98\x22\xd8\x9c\x0e\x42\x14\xd4\xd6\xf2\x03\x42\x19\x75\xaa\x5c\x93\xb0\x32\x00\x32\xdb\xd0\xb6\xa6\x70\x1e\xc7\x84\xe8\xf4\x4e\xee\x48\x12\xe7\x22\xbf\x6d\x5e\x45\x72\xef\xab\x88\xe2\xba\x14\x20\x0d\xbb\x4f\xb4\xe2\xfc\xf2\x4d\x7b\x33\x7a\x0a\xdf\xfe\xf8\x9c\x22\x9b\x86\xdc\x32\x49\x6b\x61\xc9\x42\x83\x40\x8e\x5f\xfd\x81\xbc\xda\x1f\xf4\x87\xeb\x33\x85\xeb\x34\x05\x36\xf3\xe7\xfa\xef\x47\x0e\xa4\xcc\x86\x4b\x52\xfc\xd4\x15\xce\x73\x92\xd7\x52\x3f\xb8\xa7\x74\x07\x71\xf8\xa2\xbf\xfe\x0b\x02\x64\xb8\x61\xb4\xec\xdd\x4d\xd6\x7e\x78\x43\x50\xa8\x98\xa7\x8d\x79\x41\xaa\x17\xf3\xf2\x94\xca\xb9\xd9\xca\x93\xa5\x7e\xd3\x27\x39\xeb\x33\x56\x0d\xa8\xf9\x58\x96\xa0\xe6\x62\x5a\x9d\x4e\xdd\xc3\x2b\xd3\xf0\xa9\x12\xf1\xed\x74\xff\xdb\x3f\xe1\x20\x05\xd2\x5f\x59\x13\x20\x3d\xa4\x46\xeb\x37\x90\x1f\x1d\x78\xad\x2c\x92\x16\xc8\xe8\x3d\xa3\x5f\x24\x46\x28\x0f\x75\x80\xef\xb9\x5c\xef\xb9\xc8\x28\x9c\x05\x6a\xa2\x61\x21\x69\x32\x42\x9a\x42\x86\x6e\x4b\x86\x4f\xf2\x42\x2e\x09\x4c\xd5\xbc\x15\x0f\x78\xb1\x9d\xf1\xc7\xad\xfc\xb6\x7c\xcf\x74\x1e\x66\xbf\x4c\x9b\xf9\xfa\xe4\xe4\xf8\x0e\xa6\x3b\x34\xb5\x5f\xad\x26\x81\xb1\x09\x25\xf2\xaa\xcf\x5c\x06\x62\x89\x32\x36\xf5\x9b\x9b\xb1\x94\x26\xed\x27\xe7\xdb\xf4\x4d\x26\xc0\x65\x31\x15\xc6\x7c\x78\x07\x54\x62\x2e\xf0\xda\x25\x41\x36\x18\xcc\x93\x91\x9f\x3d\xd3\xc9\xd2\x0b\x98\x1a\xbd\xbb\x23\x8f\xcd\x97\xd2\xcb\x3d\x9e\xe8\xd3\x90\x17\x40\x4f\x5b\xdd\xb0\x85\xb3\xc4\xe6\x19\x60\x91\x9f\xce\xd3\x64\x9e\xe6\xf1\x92\x23\xe0\xcb\x39\xf5\xfa\xb4\xf8\x46\x13\x79\x35\xb1\xf7\xfa\x18\xa6\xea\xb7\xb7\x14\x67\x53\x52\x9b\xce\xc0\x49\x55\x0f\x49\x69\x36\x7d\xe2\x13\x36\xd6\xaa\x13\x78\xf7\x99\xe5\xc6\x9d\xe5\x66\x94\xae\xcb\xee\x7f\xed\xc9\xd1\xc3\xe8\xb5\xd1\x00\x26\x1e\x00\x39\x33\xa9\x70\xd4\xb2\x2a\x15\x25\x32\xd9\x2c\x57\xe3\xb6\x54\x5b\xcc\x47\x4d\xfd\x55\x28\xbc\xb8\x8e\x40\x6e\x59\x95\xbf\xe5\x19\xb6\xb8\x36\xba\xa3\x27\xc2\x9d\x3c\x73\xbe\xff\x26\x24\xab\x1a\x8d\xae\x65\x01\x77\x4b\xf3\x16\x32\x30\xda\xe1\x48\x80\xa1\x27\x9c\xdf\x5a\x2f\x59\x9d\x47\x91\x35\xe0\xd5\x5c\x86\x01\xac\x10\x11\x7b\xde\x65\x2c\x56\xb7\x0d\xcc\xae\xbe\xaa\xfd\x85\x3d\x0e\xdb\x3c\xdc\xef\xfb\x0c\x90\x4a\xde\xc4\x86\x2d\x8d\xac\x47\x3d\xa2\xc4\xcf\xa6\x3f\x87\x86\x38\x14\xbd\x8c\x80\xd4\x92\x0c\xdd\x4f\x7f\x6d\x45\x81\x4d\xfd\xb2\x2a\xbc\x99\xd6\x5b\xf2\x88\x78\xbd\xe5\xba\xe3\x53\x3c\xb6\x81\x25\xed\xe8\x6d\x18\x8b\xff\x5c\xd1\xba\x78\x9e\xd3\xc9\x5d\xb3\xe9\x0d\xb0\xcc\x08\x3c\x0c\x6d\x8b\x48\x2e\xb4\xee\xbf\xf5\xc8\x9f\x50\x00\x23\x0c\x24\xd6\x50\x29\xa6\x9f\x7b\xa4\x61\xe0\x6a\x48\x02\x14\xfc\xe5\x58\xd5\xfc\x9b\x34\x66\xba\x76\x19\x14\x74\xe9\x6b\xec\x09\xeb\x8f\xe6\x52\xd0\x28\x88\x3e\x7e\x17\xe9\xd6\x94\x0a\xb4\xc2\xc9\xf4\x69\xba\x03\x59\x59\xf9\xd2\x0b\x87\xab\xc1\x8b\x42\x95\xda\xe8\x4e\x21\x03\xf9\x44\x7a\x38\xc4\xa0\x15\x2e\xcc\xb4\x70\xc9\x53\x01\x5c\x0f\x5e\xb9\x02\xa4\x78\x8a\x4f\x25\xa7\xc0\x78\x75\x3a\xb7\x9b\x00\x52\x81\x1d\x48\xaf\xae\xe6\xbf\xd3\x2e\x5c\x34\xa1\x07\xf6\xdf\xda\x77\xb8\xee\x0f\x63\xca\x33\x0b\x48\x98\x45\x42\x2f\xb6\xe3\xfe\x47\xe4\x62\x32\x0e\x97\xc5\x2c\x94\x99\x40\x88\x35\xc0\x07\xbd\x54\x9e\x00\x2a\xa4\xab\x67\x36\x0c\x6d\x30\x15\x2c\xcc\x47\x23\x3e\xe5\x80\x2a\xed\x0c\x9f\xc6\x50\xda\x46\xfa\x43\xf9\xe4\x18\xe8\x94\x2b\xed\x86\x11\x72\x81\x48\xae\x41\xf9\xe7\x11\xc1\x80\x84\xd3\xa0\x72\x55\xba\xb0\x37\x3c\x8a\x0b\x90\xcb\x68\x15\x20\x92\x9f\x5f\xef\xa8\x79\x8f\xab\x30\x60\xc3\x1e\x0f\xe4\x65\x3f\x95\x40\x49\x9e\xf5\x91\xc8\x94\xc7\xe6\x3e\x40\x1e\x3a\x85\x20\x0b\xfa\x12\x69\xb0\x80\x7c\x2e\x1c\x5d\x2c\x8b\x47\x73\x03\xe4\xd4\x19\x14\x29\xd0\x8b\xa8\xc1\x00\xf2\x93\x29\x61\x53\xcb\x22\xd7\x5f\xc7\x7c\x04\xa3\x56\x4f\xad\x72\xf5\x19\xe0\xab\x60\x70\x87\xab\x4e\x3f\x3c\x01\xa3\xdc\xb5\x71\x3c\x67\x3c\x64\x3c\x3f\x9d\x8f\x57\xce\x83\x8e\x5a\x24\xa5\x6c\xba\x9c\x93\xbf\xbe\x97\x6d\xb0\x86\x95\x58\x8c\x4b\xdf\xa7\x48\x5b\xe2\x51\xa5\x5c\xec\xce\x03\x54\xa7\x1c\x3e\x53\xf5\xfe\xdb\x87\x64\x2e\xd6\xf7\xa5\xba\xcf\xc6\x56\xdd\xbc\x55\x4e\x3d\x40\xb7\x1f\x96\xe0\xa3\x5e\x96\x61\x1d\x5e\x33\x16\x6b\x2c\x35\xcc\xd1\x4f\x76\xf6\x7d\x55\xa7\x8a\x61\x49\xb1\xd3\xd1\x1f\x17\xff\x38\x7a\x1c\x31\x3c\x43\x29\xbd\xd8\x9e\xfd\x93\x8a\x44\xed\xe7\x24\x2f\xf7\xa1\x58\x6b\x1c\x56\xf9\xd3\x4e\x40\x3c\x9c\x4e\x4b\x02\xae\x0d\xcc\xc0\xc5\xba\x97\xd5\xf3\x6e\xb7\x66\x17\x1e\x2e\x19\x22\x16\x44\x8b\xdb\xcc\x88\xdb\xa8\xde\x78\x7b\x1f\xe3\x6d\x52\x32\xb5\xe7\x67\x37\x3d\xc9\x0a\xf6\x15\x2c\x24\x39\x1c\x4a\x19\xf9\xb9\x54\x3e\xeb\x70\x0f\x63\xa4\xb4\xb3\xd9\x5d\xe6\xb8\xbe\xe4\xab\x78\xa6\xea\x83\xd2\x75\x71\x8a\x4b\xaa\x74\x57\x71\x52\xd0\xba\xcc\xf7\xc5\x78\xef\x4a\x49\xe4\x29\x32\x97\x1d\x19\x81\x7b\xcf\xce\xa1\x37\xfa\x29\x8b\x42\x53\xd8\xb7\x7b\x3b\xc4\x4a\x17\x47\xb0\x0e\x88\x0d\xef\xde\x84\xf2\x69\x74\x10\xe5\x96\x89\x4c\x28\xe7\x46\x28\xc4\xe0\x15\xa5\x88\xce\x97\x76\xca\xef\xed\xaf\xb1\x2c\x61\xe7\x3d\xca\x93\xe4\x82\x36\x79\x71\xfa\x73\xb9\x32\x18\x3c\xbc\x04" +var __5785f1443e972b513b230JsBr = "\x1b\x83\x51\x00\x2c\x06\xec\x86\xfa\x45\x2b\x0a\xe7\xaf\x1f\x34\x03\xf2\xe1\xae\x28\x2f\x42\x64\x8c\x90\x64\xf6\x99\xa9\x7b\x96\x29\xc7\x80\x48\x3f\xb4\x33\xa6\x54\xb7\x35\x8d\x97\xb0\xfb\xe1\xc2\xa7\xe2\xf7\xa6\x6a\xa7\x2b\x89\x03\x32\x63\x0e\xb1\xf5\x04\xfa\x1b\x69\x5d\x29\x9d\xe1\xe3\x52\x12\x9c\xd0\x85\xd0\x23\xa0\x75\x0a\x60\xaa\x96\xf5\x69\xaa\x88\x95\x75\xaf\xef\x7d\x9d\xf6\xb2\xd5\xbd\x4e\x90\xc8\x36\x7d\x2b\x44\x4b\x1a\xe4\x38\xc6\x42\xd8\x4a\x59\x81\x2f\xd3\xf5\x45\x29\x5b\x53\xf2\x5b\x34\xaa\x5b\x23\x47\xc9\x27\x8c\xf0\x2e\xf2\xd6\x7d\xfe\xcc\x5a\x47\xab\x39\xa4\x20\xe5\x20\x04\x82\x2c\xb2\xaa\xaa\xab\x6f\x3e\x48\x6f\xbe\xe8\x8d\x34\x7f\x8c\xac\xf1\x02\x57\x75\xff\x91\x5b\x23\xf9\x9e\x28\xb0\x59\x5e\xc0\xe8\x18\xc6\x3e\x0e\x37\x88\x2e\x0a\x90\xc3\x8c\x20\x3d\x86\x72\x57\xda\x2c\x49\x72\x7e\xe3\x29\xea\x7f\x6a\xdf\x5a\xd2\x6f\xec\x10\xbc\x00\x83\x57\x72\x97\xd2\x1e\xed\xcd\x6f\x43\x0b\x0d\xcd\xa6\x1d\xb0\x1d\x3b\x7c\x24\x8a\xb2\xab\xf4\xfd\xab\x5b\xea\xf3\xe3\x1c\x48\x6d\x42\x2c\x10\xe5\x95\x4d\x4a\x7f\x21\x28\x3d\xef\xf6\x2a\xd1\xb0\xdb\xef\x17\xa7\x63\xf4\x95\xa7\x75\xde\x25\x95\x11\x1e\xcb\x4e\xdb\x0e\x4a\x7c\x8f\x19\xc5\xf5\x04\x53\x85\xd7\x7a\x4b\xf8\xf3\x1b\x8a\x89\x4b\xe1\x35\x9f\x53\xa9\x45\x5a\x9a\x1e\x4a\x10\x7f\x33\x05\x72\x83\xa8\xb9\x08\xb4\x87\x43\x65\x0c\xf7\xf6\xd8\x1b\xd6\x58\x2d\xa7\xfe\x0a\x09\xa9\xd2\xb0\x46\xb7\xc5\x28\x6e\x13\x31\xfd\xef\xbf\x28\xd1\x19\x3f\xa3\xbf\xc7\x26\xc9\xec\xa6\x83\x14\xcf\x10\x04\x36\x98\x84\x1d\xb4\x36\x70\x32\xc6\x86\x01\x7e\x89\xe9\xd6\x1c\xfc\x1f\x7d\xf4\x2d\x80\xa0\x3d\xd2\x97\x53\x4a\x7c\x5f\xc3\x4d\x95\x4c\x36\x6e\x3c\x59\xe4\xe1\x5d\xbf\x16\x7a\x35\x58\xde\x3e\x52\x71\x74\x34\x41\xec\xef\x46\x5c\x5e\x4d\x8e\xed\xbe\x6a\xe0\x38\xee\x28\xea\x89\xed\xdc\x9a\x65\x08\xe1\xca\xb2\xec\x5e\x46\xca\x12\xe5\xa0\x4c\xbb\x85\x8a\xca\x16\xca\xbf\x5b\xb2\xb4\xec\x8b\x30\x8e\x6c\x66\x0b\xc9\x83\xe5\xce\x85\x11\x9d\x80\x6c\x58\x60\xb8\xf5\x0c\x5d\xfc\xbf\xe1\x8c\x78\x9e\x0b\xf1\xef\x13\x12\x9b\xeb\x2a\x85\x1a\x6d\xa4\xd1\xf8\x20\x98\xa8\xd9\x52\xd2\xa8\xe4\xa7\x37\xe0\x20\x32\x4d\x42\x97\xd8\xf8\x56\xe3\xfd\xc1\xf8\x72\xf0\x6e\x5c\x8a\x73\x34\x2e\xa5\xf9\x56\xe3\xe6\xcd\xf8\x79\xf0\x7e\x5c\x67\xf3\xce\xf1\xee\xf5\xb8\xe6\xe6\xec\xbe\x02\xff\x06\x1c\x69\x11\x8e\x54\xea\xf9\x92\xdb\x9d\x0c\xa1\xf1\xc3\xe2\x28\x5b\x1d\x45\x3d\xc7\x9e\xaf\x1d\xaa\x05\xcc\x38\x2d\xef\xdd\xdf\x1f\xbc\x80\xfc\x92\xb4\xd9\x3d\x13\x7b\xeb\xf4\xa3\x36\x7d\x47\x8e\xa6\x11\x18\x37\xd8\x0c\xb4\x3d\xae\xd9\x5a\x40\x8f\x58\x29\xda\xfe\xce\x49\x81\x43\x4e\x5d\x51\x05\x4a\x63\xb8\xd4\xbc\xad\xa7\x3c\xb6\xda\xa3\xd9\x01\x52\x86\x12\xe4\x37\xfd\xf0\xe2\xf6\x10\x02\x36\x67\xcc\x5a\x7f\xbd\x22\x0e\xb8\x86\x21\x31\xaf\xcc\x82\xe8\xf6\x72\x58\xef\xc8\x27\xd3\x09\x30\xad\xfe\xff\xe4\xd8\xac\xb0\xf3\xec\x8f\x93\x72\x54\x9d\x4c\x15\x0f\x74\x8d\x14\xcb\xd9\xcf\x27\xa6\xdd\x72\x09\x7c\x98\x32\x65\x27\x6a\xc8\x8e\x33\x45\x36\xae\x82\xc8\x81\x14\xc0\x10\x04\x9d\x95\x6c\x41\x8f\x15\xfd\xec\xb0\x46\x1e\x75\x41\xf0\x8c\xfc\xc7\xfd\xbb\xff\xcd\x7b\xdc\xc7\x46\x6e\x44\x3e\x5c\xb8\xed\xd5\xc3\x6c\xf0\xe3\x4b\xaf\xb4\xf3\x8f\x7e\x6e\x83\xb2\xf8\x87\x6f\x3d\x89\x14\xc6\x4f\xc9\x76\x92\xf9\x49\x25\xf3\x91\x24\xb3\x83\x24\x97\xaf\xbe\x3f\x28\x65\xc2\x24\x6f\x37\xc0\x86\x2f\x60\x53\xd2\xa3\xa7\x9f\x6a\xa3\xb7\x12\x13\x2e\xfb\xc7\xcf\x7c\x4e\xd0\x58\xac\xcb\x5d\xc2\x89\x94\xd4\xf9\xb3\xa2\xd4\x7f\xf5\xbf\x4f\x9d\xed\xe2\x3d\x63\x6c\x11\xf3\xba\x1c\x0e\x56\x93\xb7\xf3\x5c\xc4\xbd\x73\x16\x41\x86\xdf\x24\x1a\xe7\xf3\xd3\xa0\xa0\x25\x2c\x5e\x79\x35\xeb\xd3\x0b\x44\xca\x22\xcf\x8e\x14\xa8\x05\x05\xaa\x02\xc2\x80\xe6\x6a\x8c\x4c\x9d\x44\x54\xa9\x29\x87\x8a\x79\xde\xad\x73\xc2\xa4\xaa\x88\xc7\x01\x88\x1d\xcb\x39\xa3\x4a\xe5\x4b\x66\xb3\xdf\x0b\x80\x3b\x68\x8c\x5a\xc4\x70\x1e\x77\xfc\x64\xaf\x11\x38\x86\x1e\xcc\x09\x80\xa3\x57\x4a\xcc\x9d\xe9\xc2\x41\xe8\x2b\x29\xa2\xd8\xf3\x08\xd1\x7c\xb3\x6d\xa5\x14\xb1\xee\x80\x4f\x12\x1a\x09\xc4\x21\xe5\x14\xb8\x69\x8e\x2f\xf5\x92\x10\xcc\x13\x35\x67\x9c\xd5\x6a\x10\x3b\x67\x06\x67\xae\x68\xcb\x1c\x14\xe8\x37\xf9\xf8\x92\x66\x42\x32\x08\x30\xb4\x40\x5e\xc2\x2a\xe7\xee\x13\xa9\x51\xc5\x9c\x03\x0d\x19\x2c\x21\x06\x92\xab\x2a\x35\xcc\x39\x68\x5c\x93\x21\x4e\x5d\x1b\xe3\x6e\x5a\xf0\xe5\xc1\xb9\x92\x0a\x18\x80\x16\x32\xb8\xd9\xe7\x52\xa9\xf3\xbe\xbd\x0d\x8d\xfb\xab\x54\x09\xc8\xa9\x05\x2c\xda\x84\x91\x6b\x67\xc1\xba\x4a\x34\x96\xdf\x93\x4c\xcc\x0d\x12\xe7\x54\x6e\x09\x0f\xac\xd5\x2c\xe9\xb2\x06\x49\x9a\x91\x60\x83\x88\x54\x10\x0e\x89\x50\x05\x3e\x08\x06\x07\xb3\xf3\xd2\xd1\x34\xfc\xc8\xc6\xde\x4e\xde\x8c\x9c\xa9\x04\x9a\x2c\x21\x4b\xc0\x5e\x28\xaf\x5f\xe0\x43\x37\x8f\x92\x85\x7c\xc4\x5e\x1f\x84\x83\x79\x64\x14\x76\xf3\xb4\xee\x48\xa0\x04\x01\x49\xd6\x12\x07\xc2\xf8\x11\xcb\x59\xac\x2e\x9c\xb0\xfc\x21\x45\x28\x9e\x7b\xe7\x2a\xed\x26\xec\xa7\x2b\x7b\x7e\xe9\x3a\x26\xa8\x8d\xe2\xec\x74\xa9\xa7\xe6\x07\xaa\x68\x34\x60\x4a\x77\x90\x19\xc2\xb7\xac\x29\x98\xc6\xa2\x7c\x4a\x6a\x5a\x3c\x2f\x7f\x10\x5c\x02\xd3\x1f\x70\xf5\xdb\xe1\xf0\xc2\x22\x9a\x59\xa5\x6b\x4e\x42\xf2\x31\xe4\xf6\xec\xf6\xc5\x4e\x90\xc0\xe5\x65\x32\xc4\x1a\xe2\x2b\x7e\x38\xc6\x6d\x5f\xaa\x6e\x27\xb7\x2e\x54\xbe\x2a\x0f\x40\x4c\x9b\x6f\x52\xf7\xd5\x3d\x58\xc9\x8c\x82\xf7\xc0\x14\x96\x5b\xff\x0c\x86\xdb\xe4\x3a\x5a\x06\xd5\xeb\x11\x51\xb8\xd1\x95\x3c\xb0\x46\x43\x39\x24\x47\x3e\x1c\x93\x7d\xae\x4b\x0f\xa9\xf5\xe3\x47\x63\xfb\xd3\x98\x18\xdd\xe6\x21\xe8\x0f\x70\xe8\xce\x72\x40\xad\x4a\x00\x92\xd1\x70\xe9\x5f\x6e\x4d\x15\x11\x81\x25\x05\x95\xfa\xdf\x9d\xe2\xae\xe5\x92\xd3\x3f\xe6\x2c\x29\x4d\xd8\x04\x1c\x42\x88\xd3\xdf\x54\x2f\x58\x11\x95\x86\x4e\x0c\xb6\x43\xc4\x0a\x60\x2a\x5f\x76\xab\x16\xb9\x52\x1c\x87\x67\xc5\x9e\x21\x27\x37\x28\x3d\xab\x9c\xd6\xb7\x6c\x95\x6d\x15\xcd\x19\xd9\xb2\xee\x7b\x7b\x0c\xb9\x6b\x26\x15\x7d\x4a\xf9\x20\x76\x18\xf6\x1b\xed\xa7\xb8\xd9\x96\x20\x91\xe0\xd3\x51\x11\x1a\x72\xa0\x97\xa1\x3a\xb4\x64\x99\x7d\x46\xac\x8a\x23\xf0\xbc\xb1\xa2\x4d\x3d\x05\x7e\x4f\xd0\x4d\x04\xe8\x75\x48\x31\x3c\x79\xe8\xfc\xf6\xca\x63\x03\x94\xee\x2b\x19\x31\x13\xbe\x93\x9f\x5d\xa1\x42\x11\x0b\x04\x76\x13\xd1\x48\x62\xb6\x75\x4e\xee\x33\x88\xa4\xb9\x1a\x8b\x98\x3b\xff\x53\x84\x1d\x00\x8b\x7b\x06\x09\x24\xd7\x43\x80\x01\x87\x14\x2b\x87\x44\x19\xd9\xfe\x6d\x11\x61\x50\x5c\x22\x0e\xa5\x67\xa2\x60\x4f\xce\x24\xec\x49\xe9\xf9\x41\x62\x7d\xb8\x74\x9c\xfd\x71\xf9\xc9\x7d\xb7\xc1\x48\x93\x9f\x75\x4e\x1c\x5a\x46\xad\x70\xa4\x26\x5d\xb2\x66\xf5\xc4\x96\x80\xec\xed\xab\xc5\x38\x2a\x21\xdd\xde\x08\xfc\x1c\x16\x85\x38\x5e\xaa\x06\x56\x0e\x12\x85\x60\x27\x0b\x0a\x96\x4f\xee\xc6\x74\xa6\xb8\xb7\x65\xc1\x9e\x66\x66\x2a\x58\xe1\x5c\xb3\xdd\xb6\x27\x8e\xa8\x05\x56\xe5\xec\xd5\x2c\xe4\xea\x5d\x78\xa0\xd4\x92\x3c\x5b\x2d\x94\xf9\x06\x35\x61\x7b\x3f\x45\x9a\x05\xaa\x5c\x31\x91\x3a\xc8\xb1\xf1\xe3\x0b\x92\xde\x1f\x7d\xd1\x72\x46\x39\x64\x87\xeb\xc8\x09\x6b\x17\x0d\xcf\x99\x78\x05\xd0\x91\x2e\x07\x9d\x59\x94\x28\x1d\x74\x5f\x02\x33\x7a\x43\xc6\x91\x28\xd3\xa8\xc8\xf3\x8a\x23\x0a\xaf\xd7\x73\x36\x7e\x74\x50\xca\xda\x8b\xe1\xc9\x1b\x0c\xa5\x78\x6f\x0d\xd1\xe8\x76\x8d\xe9\x45\x50\x47\x64\x97\x21\x6c\xa4\xce\x30\xb8\x1d\x02\xeb\xd4\x59\x97\x98\xd3\x93\x51\x8f\xd2\xfd\xb6\x1f\xd2\xea\x7d\xaf\x32\xdb\x2f\x2a\x28\x29\xf6\x1a\x5d\x8d\x62\xa0\x1d\x92\x81\xae\x84\x83\x97\x1b\xb3\xa8\x58\x17\xdc\x44\xfa\x35\x89\x5b\xae\x42\x24\x86\x9c\x9c\x50\xcb\xb5\xca\x8a\xdd\xb2\x84\xa4\x3d\x30\xff\x95\x24\xaa\x69\xc8\xf9\x9a\xac\xfe\xda\x26\x60\x52\x34\xd1\x41\xbd\x3a\xb2\xe2\x3a\x56\x46\x5e\x74\x7e\xc2\x36\xc7\x53\xef\xc6\xe6\xec\xe4\x7f\x3f\x0e\xe4\xac\x34\x72\xa1\xdd\x0d\xc3\x01\x78\xd4\x10\xd5\xda\xcd\x47\xe9\xd8\x3d\x7e\x64\x96\x16\x94\xe1\xf9\x2f\xdb\xcc\xf2\x31\x96\x13\xbc\xb6\x3d\x6d\x96\x1e\x40\x34\x90\x9a\x4d\x76\x53\xa2\x95\x25\x4c\x56\xa2\x94\x50\x89\x76\x45\xe8\x34\x26\x0c\xea\x37\x6d\x4f\xbc\xf8\x8e\xe8\x59\x23\xab\x03\x2c\x33\xdd\x0d\xf4\x23\x69\x14\xc2\x59\x66\x0c\x79\xed\x57\xbc\x47\x6e\x2c\x4f\x9e\xfd\xc6\xe6\xe4\x62\xb7\x0c\xec\x8f\xf2\x80\x13\xbb\x0a\x93\xfc\x1b\xef\x28\x16\x93\x82\xa6\x4b\x9f\x56\xc9\x6e\xab\x22\x54\x6e\x69\x60\xf0\xb3\x2d\xcc\xb6\x1b\x14\x98\x05\x7e\x61\x3e\x5f\x83\x94\xcd\x81\x4c\x94\x19\xb8\xf3\x8d\xb7\xf0\xd5\x35\x12\xb5\x19\x24\x32\x11\xb6\x3c\x12\xda\x42\xb0\x6d\x1a\xf3\x56\x34\x8c\xee\x3e\xaa\x6b\xae\x8a\x45\x66\x69\xd2\xa3\x9c\xc1\xc9\xa4\x91\x18\x28\xc7\x01\x54\x20\x15\x65\xaf\x56\xa5\x74\x1e\x56\xcb\xa9\x47\x58\xd8\xcf\xa2\x35\xe6\x2d\x25\x1b\xc2\x87\x90\xa5\xc3\x4b\xae\x91\x8e\xd3\xef\xb9\x6c\xb0\x73\xc1\xf8\x19\x09\xce\xa3\x99\x44\xa1\xd8\x26\x6e\x72\xd0\xb7\x60\x8c\x20\x7d\xbd\xf3\x3f\x2d\xed\x5c\x3a\xf7\x17\xd3\x45\xf4\x49\x40\x55\x31\x5d\x51\x49\x59\xa3\x35\x0d\x39\xcb\x02\x26\x5b\x21\x25\x7c\x7b\x3f\xff\x2f\x97\x59\xcf\x76\x75\x56\x31\xb6\x53\x9e\x75\x11\xc7\xba\x74\xd0\xfd\x19\x5a\xeb\x65\xed\x77\xc6\x14\x17\xd8\xa4\x73\xad\x84\x15\xb1\x64\x48\x01\xee\xfe\xe6\xd3\xdb\x36\x1d\x94\xd7\xa4\x7b\xa7\xb1\xde\xdd\xc1\xb6\x84\x2d\xfa\xad\x75\xa7\xc1\xe9\xef\xd6\x76\xc4\x68\x45\x28\x95\xd9\x4b\x51\xf4\x2b\xc6\x42\x47\xb9\x1f\x01\x96\x04\x21\x8b\xcb\xb8\xb7\xd2\x8c\x3d\x4e\xb7\x18\xc4\xe4\xc8\x33\xee\x56\x1c\x12\x9d\x13\x3b\xde\xfa\xa1\xd6\x22\x07\x8d\x94\x2a\x89\x0b\xba\x73\x05\x6a\x02\xfd\x20\x49\x50\x13\xc8\x4d\xba\x54\x8b\xac\x35\x52\xa1\x2c\xee\xc4\x18\x26\xa5\xd2\x1e\xd1\x30\xb6\x59\x4e\xe1\x79\x5d\xa9\xe6\x8d\x33\xe8\xf5\x7b\x21\xef\xe5\x3a\x97\x3a\x7e\x5b\x5a\x7f\xd3\x43\x13\x1d\x86\x09\x85\xd8\x8c\x2b\xff\xfa\x96\x02\x5c\x28\xbc\x91\x70\x43\x11\x05\xca\xa3\x1a\xd3\x15\x4d\x02\xc6\xc6\x9c\xbd\x98\x48\xab\xb4\xf9\xc3\x17\xef\x20\x67\x34\xbe\x77\x70\xaa\x0b\xb2\x75\x44\xf7\x9c\xcb\x5b\x62\x81\x9f\xd0\x65\xd9\xec\x55\x6e\xd2\x30\x01\xcf\x9a\x53\x7c\xf0\xa2\x6d\xb0\xc2\x2d\xa4\x98\xa3\xb8\xf5\xc5\x15\x13\x53\x15\x5f\xf3\x9d\xa3\x10\x67\x97\xa8\xd3\x58\xc4\x81\x13\xac\xff\xb5\x64\x84\xb6\xa5\xf1\xa7\x23\xac\x41\x15\xe2\x90\x0c\x15\x47\x6d\xbf\xe9\x5b\x22\xa6\x2b\xb5\xde\xd2\x1c\x8e\xaa\x99\x65\x62\x7e\x7e\x0d\x81\x52\x62\x6e\x66\xd1\xa0\x27\x35\xd1\x5b\x76\x0d\x10\x58\x02\xa4\xa9\x20\x16\x3b\x91\xf4\x83\xe7\xa1\x9f\xd6\x4a\xaf\x74\x24\x21\x31\x15\x63\x96\xfb\x76\xae\x22\x0a\xa7\xf4\x46\x1a\xa2\x8a\x08\x83\x45\xef\x60\x7e\x7c\x45\x06\x8d\xce\xd6\xd8\x30\x99\xfa\x7d\xdc\xe1\x3b\xcf\x30\x45\xd0\x2a\x5e\xd0\xcc\x06\x98\x14\xf7\x29\x73\x7f\xe1\x9f\xbd\x45\xb7\x8a\xb9\x7f\xb4\xf7\xd0\x17\x2a\x14\xe9\x5d\xd8\x80\x5a\xb4\xa8\x72\xee\x09\x5d\xee\xa0\x00\x19\xb7\x9c\x36\x76\x65\x3e\xb0\xfe\x73\x50\x17\x79\x23\x4b\x55\x28\x9a\x12\x57\x76\x4e\xc4\x86\x8b\xf6\x6d\x44\x80\xe6\x49\x29\xe0\x13\x3f\x57\x36\xb2\x49\x10\xb4\xc7\x16\xf0\x4c\x93\xc6\x08\xc0\x1a\x71\xfe\x74\x30\x44\x67\xb0\x00\x6d\x4f\x09\x3a\xdf\x34\x25\x97\xf3\x5a\xb8\xca\xeb\x54\x0c\x71\xec\x07\x8f\x0f\x1d\xaa\x73\x3d\xf0\x1d\x86\x9c\xeb\xce\xf5\xc6\x66\xec\x18\xb6\xc7\x35\x2f\x6c\x77\xd4\xda\x0b\x0a\x32\x39\x70\xf9\x1e\x74\x5f\xa0\x93\x63\x60\x12\x5a\x87\xb7\x4e\xb9\x89\xa1\x26\xf4\x30\x6d\xf2\x81\x77\x77\x00\x79\xbb\x3f\x19\xad\x07\x7f\xd2\xc1\x8f\x2b\xb9\x3c\xdc\x43\x9b\x02\xaa\x25\x32\x98\x74\x37\x51\x49\x5f\xb5\xce\x0b\x87\x13\x75\xad\x05\xe1\x60\x5b\x5a\x12\x64\x2d\x76\x27\xf8\xb7\x69\xce\x30\xd2\x62\x73\xc7\x21\x3b\xbe\x23\x4b\xeb\xb7\xed\x44\xcf\x87\x81\xf3\xf7\x1b\xb7\x66\x1a\x74\x51\x52\x47\x1d\x88\x5b\x16\xd0\x47\x44\x93\x9f\xd1\x01\xe9\x31\x1d\x95\xbf\xe8\xd0\xfc\x65\x16\x7e\x2e\x0d\xfe\xf3\xbb\xdd\x4e\xe1\x55\xb3\x34\x74\x65\x4b\x31\x15\x1a\xcc\x69\x76\x07\x7e\xdb\x70\x39\xa7\x8d\x8b\x1d\x11\xa7\x66\xa9\x49\x04\x43\xbf\xf5\x1b\x9d\xe6\x63\xb4\xf4\xef\xdd\x34\x94\x30\xc6\x9f\x0a\xf3\xb1\xc1\x0c\x6c\xbf\x0d\x9b\xa6\x65\x32\x4b\xb8\xfa\x79\x3e\x5f\x5d\x71\xd9\x6c\x87\xd1\xa6\x34\x7c\xd3\x77\xd7\xff\xa1\xd4\x03\x8a\x2a\xdf\x13\x2a\x4d\x21\xb5\x4b\x23\xc4\x07\x4e\xc7\xef\x83\xc9\xc9\xaf\x53\x0a\xab\x93\xef\xd3\xca\xf7\x28\x97\x48\x55\xfa\xa7\xa2\x87\x1c\x35\x53\xb9\xdb\x86\x4f\xe2\x56\xa9\x1f\x8b\xc0\x56\x1c\x7e\xd5\x38\xe8\x3f\x5d\xb8\x4e\xf3\x71\xe5\x60\xc2\x81\x8a\x22\xf3\xb5\x1f\x1e\xdb\xc7\x87\xaf\x85\x21\x99\xdd\x50\x7d\x98\x2e\xfe\x16\xa6\xc7\x4d\x67\x77\x47\x7d\xfe\x01\x51\x7c\x4a\x1d\x65\x4f\xd4\x9a\xa4\x33\xb4\x74\x54\x6b\x00\x0d\x35\xaf\x2a\x02\xa8\x7d\xf0\xd8\x58\xbf\x30\xe6\x88\x77\x0c\x78\x3e\xb1\x43\xa5\xd3\xc7\xc1\x96\xdf\x03\x35\x1c\x65\x66\x76\xfd\xc3\xa4\xad\x35\xda\xbd\x5e\xbd\xd2\x5e\x67\x30\xab\x8d\x4e\xee\x3e\xa5\x94\x53\xbd\xd6\x50\x93\xae\x7b\xc0\xa2\x35\xc5\xaa\x7a\x9f\xa2\x71\x3b\xd4\x56\x62\xc0\x9a\xe4\xf5\xdc\x4c\x66\x10\x37\xde\xaa\x6f\xf6\x87\x6f\xd5\xc4\xf5\xc5\x2f\xd7\x8e\xcd\x8e\x0f\x12\x80\x8d\x4c\x9b\x89\x6c\x12\x82\xca\x92\xd8\x74\x57\x42\xee\x41\x1c\xac\xc6\x3e\xd2\xb9\xc6\x6d\x65\xb5\x9f\x24\x88\x47\x12\x67\xcc\x43\x81\x66\xc3\x70\x4c\xbc\xce\xb4\xb1\x91\x97\x47\x31\x38\xdb\x37\xba\x56\x11\xda\xb5\x60\x35\x38\x5d\x5f\x55\x09\x1c\xfc\x02\xb2\xd3\xaa\x46\xf2\x54\x54\x22\x7a\x90\xa3\x6c\xcc\xf1\xd6\x14\xc9\x06\x7e\x5a\xdb\x04\xe2\xd8\x67\xe9\xfe\xb9\x5b\x91\xcd\x12\x0e\x95\xf8\xd5\x70\x4c\xbf\x22\xa5\x83\x05\xae\xfd\xd1\x2e\x31\x7d\x81\x6a\x5f\xa5\x49\xaa\x4a\x03\x88\xd0\x88\x40\xe2\x1c\xc5\xb6\xea\x02\xbf\xb4\x99\xfc\x1a\xc4\xd5\xd5\xe8\x08\x54\x1b\x51\x5f\x39\x43\xe1\x95\x0e\x0e\xeb\xdf\x67\xcc\x06\xb6\x14\x4d\xc4\xc5\x79\xa1\xac\x2a\x02\x52\xd5\xfe\x44\x79\x51\xa5\x9d\x87\x6e\x3f\x78\xc9\x85\xfb\xe3\x51\xad\x94\x7c\x66\x35\x21\x55\xbe\x30\x78\xfc\x27\x22\x91\x76\x76\x47\x5f\x31\x87\x1b\x52\xb4\x64\xc2\xaf\xa3\xd5\xaf\xa2\xb9\xa7\xb3\xfd\x12\xf4\x30\x61\x38\x94\x45\xfe\x43\xe8\xd8\x8a\xd4\x14\x4d\x9f\xa5\xc5\xfe\x6d\xd3\x58\x1e\xe7\x8f\xd5\xf3\x47\xab\x41\x07\x82\x46\x80\x9d\x68\xb8\x0b\xa8\x54\x53\x0d\xd1\x06\x67\xb8\x2e\x99\x9b\x15\x75\xd5\xb8\xe5\x44\x50\xd9\x24\x84\xea\xc9\x1f\x03\x36\x27\x32\xc0\xa0\x45\xab\x25\x87\x84\xf7\xf4\xfd\x15\xcc\x87\x01\xd5\x28\x99\x19\xaa\x8c\x3b\xa9\x7e\x34\x09\xc3\x83\x52\x0b\xe7\xf6\x33\x3b\x0e\xd6\xa7\x89\x64\xca\x17\xf9\xeb\x3b\xc0\x27\xf9\xd5\x48\x2d\x63\x63\x0a\x9b\x0c\x23\xc2\xd9\xcd\x59\xa3\x1a\xd3\x08\x67\xa1\xdb\x88\xa7\xe6\x03\x08\xa1\xd5\xda\xcf\x24\x66\xdc\x0c\x4b\xa8\x6d\xa4\x12\xa6\x51\x34\x0d\x9d\xfa\xfc\xc8\x40\x9e\xe4\x36\x12\xcf\x5c\xbe\x34\xc2\xde\xaa\x1e\x02\xc2\x16\xe4\x34\xfb\x6b\x1a\x29\xcd\xc6\x0b\xb2\x1b\x44\x76\xa6\x62\xab\x50\x00\x3c\x45\x80\x8c\xd7\xda\x46\x86\xbb\x9c\xf4\x7e\x49\x5c\x85\xfa\x00\x8e\x06\xda\xd3\x9d\x52\xeb\x0b\xd2\x4a\x4e\xbb\x3e\x5b\xad\x5a\x58\x69\x39\xe1\x6c\xce\x3d\x28\x22\x8b\x40\xd6\xff\xcd\xfb\xf9\x6f\xfe\x7d\x75\x84\x0e\x42\x2d\xc2\x9f\x10\x22\x0d\x1d\xca\x1e\xe2\xcf\x9e\xbd\xfc\x24\xc6\x0b\xa4\x5a\x92\xaf\x76\xd7\xde\x06\xec\x77\x4f\xeb\x32\x6c\xe9\xea\xa0\xc2\x47\x26\x17\xe8\xd6\xb0\xd0\x05\x50\x2b\x7a\x6e\x3b\xd4\xfa\x24\x00\x5a\x39\x1f\xf2\x65\xc9\x2b\xb0\x2b\x06\x1f\x9b\xfb\x5b\xd1\x41\x4b\x8d\x5c\xf5\x61\xa9\x0e\x18\x3f\x99\xc0\x4b\x38\x23\x1c\x9c\x7b\x3d\xb6\x4b\x5c\x59\xc2\x2a\x01\xe7\xef\x7b\x1e\x48\x0a\x6c\xda\xd5\x42\x7b\xf1\xc1\xc6\x74\x11\x7a\xeb\x87\xb6\xc7\xed\x1c\xe0\xb1\x2d\x2c\x00\x92\x85\x3d\x1f\x3f\xfe\x0e\xc8\xe1\x0d\x54\xb4\xb9\x4c\x63\x62\x58\x7b\x97\x6e\x53\x99\xd6\x81\xf5\x70\xf7\x76\x58\x8f\x26\xd1\x57\x03\x86\x30\x25\x11\xd5\x15\x59\x06\x4d\x72\x87\xab\xca\x97\x83\xb7\x6b\x2d\xaa\x92\x77\x5d\x7b\x7b\x94\x3d\x37\xd0\x42\xd3\x86\x1a\xbd\x0c\x68\xa1\x9e\xe4\x00\x8c\xa3\x92\x64\x97\xf0\xe0\xa3\x19\x65\x03\x91\x0e\xb0\x34\xe5\xaa\xf1\xce\xcb\xb4\xf1\xf3\x47\xbf\x49\xf7\x35\xca\x1b\xd1\xa5\xb5\x4a\x9b\xba\x12\x95\xa0\x7a\x68\xae\xf4\x83\xac\x14\x32\x13\x3a\xe0\xd3\x22\xf8\x76\x59\xdb\x92\x91\x52\x26\xdc\x8b\xcb\xa4\xe0\xcd\x49\xd2\xfa\x03\xa2\x8b\xc1\xf5\xd4\xae\x88\x60\xc2\x24\xaa\xf7\x23\x60\xa3\x17\xf9\x67\x0f\x21\x64\x77\x37\x60\x6d\x84\xf4\xd7\xb6\x5e\x9b\xbe\x6e\x79\xdd\xf6\x18\x3b\x57\xda\xef\xdf\x4b\x96\x8a\x6b\x8f\x7e\x4b\x52\xd2\x6e\xda\x35\x60\xe6\xeb\x30\x78\x91\x60\x19\x19\xfd\x61\xb4\xc6\x28\xf8\x64\x36\xae\x43\xe4\xd0\x24\xdf\x55\x1c\x70\xff\xa7\x30\x41\xad\x53\xa0\x1b\x19\x00\x93\x63\x38\x98\x8b\xf5\xb5\x29\x2e\xe5\xde\x36\x6b\xf2\x9b\x2f\x03\x8c\x92\xba\xe2\x5e\x15\x74\xc9\x83\x83\x31\xad\x12\x05\x45\x4c\x43\xd9\x28\xf8\x01\x85\xea\x89\x92\x69\xc1\x8d\x91\x5d\x61\x54\x12\x21\x98\x5e\xc9\x70\x44\x54\xee\xf0\xfb\xb4\x3e\x66\x2f\x04\x4c\xdb\x5a\xb5\xf2\x40\xe1\xfb\xda\x9d\xbf\x4f\x8b\x63\xc0\x36\xf0\x5d\x03\x06\xd3\x76\xa4\xed\x5b\x59\x6a\xf9\x02\x5d\xa4\x70\x57\x20\xcc\x66\x7f\x18\xfd\x52\x17\xfb\x9e\xfa\x7e\x79\x65\x77\x1d\xab\x7e\xa9\x8f\x4c\x2c\x32\xa8\xb0\x6d\x44\x68\x3d\x1a\xca\x83\x32\x21\x91\xe9\xd9\xcf\x6c\x63\x82\xd1\xa7\x62\x10\x36\x9a\x13\x9a\x1e\x5a\x7b\xbe\x97\xfd\x94\xe0\x46\xb7\xb8\x7a\xf8\xc0\x6d\xf8\x98\xe6\x3d\x5e\xb0\xf9\xec\x27\x53\x21\x86\xdc\x2d\x31\x64\x33\xf6\x46\x9d\x2d\x8a\xd2\x5a\x18\x62\xa4\xb9\x64\xd2\xc9\x56\x77\xd8\xfa\xfe\xeb\xcc\xe0\x1a\xc6\xa9\x37\x87\xff\xce\x58\xd6\x7b\x6f\xf2\x96\x60\x4e\xb9\x05\xda\x42\x3b\xf5\x56\xfc\xc2\x26\xdd\x75\x59\x9c\xdf\xf0\x49\xe9\xa2\x7e\x87\xac\xd1\xbf\x9f\x26\xe7\x9e\x1b\x8a\x7b\x67\x88\xe6\xb2\xa8\xc2\xfd\x3f\x17\xf6\xde\xd8\x9c\x08\x2d\x70\xe3\x1c\x16\xbb\xe0\x50\x5d\xe7\x82\x37\x7d\xff\xe2\x86\xde\xc2\x94\x18\x2d\xe4\x4d\x54\x4b\x3c\xcf\x28\xd0\x03\xaa\xba\x63\x52\x7a\x47\x17\xab\x04\xf6\x41\xe3\xea\xd6\x7f\x51\xdf\x9c\x55\xac\x3f\x6b\x2e\x66\xe5\x7d\xd0\x2a\xcd\x98\xc8\x40\x41\x93\xa1\x68\x63\x8f\x50\xd4\x76\x7e\x37\xe3\x4b\xe4\xe0\xf5\xf4\xfa\xba\xb7\x69\x5d\xa8\xa7\x39\x34\x70\xa5\x0c\x06\x2e\xee\x58\xd6\x8e\x29\x58\xe8\x5a\xfe\xbb\x26\x5d\xee\xbe\x18\xbc\xa8\x74\xf9\xd9\x55\x59\x77\x3f\x99\xb7\x81\x22\xd8\x1d\x0e\x46\x14\xd4\xd6\xe6\x13\xf6\x72\xea\x54\xb5\x26\x61\x57\x02\x4b\x7f\x43\xdf\x20\xd9\x45\x1c\x33\xa2\xf5\xca\x64\xe4\xfe\x30\x15\xe2\xdb\xe7\x15\x83\x7b\x7b\xc5\x28\xa1\x4a\x01\xd2\x31\x9d\xca\x4a\x58\xee\xbe\x8b\x77\xa7\xa7\xf4\xe1\x6f\xcc\x21\xf2\x69\xc8\x3d\xdd\xb4\xd6\x17\x2c\x32\x08\x14\xf8\x93\x77\xf6\xea\xbf\xcb\xfb\x3b\x32\xf9\xb7\x6b\xf2\xaa\xef\xcf\x3b\xde\x0d\xa6\x25\x65\xde\x5f\x13\xe2\x07\xaf\x08\x9c\xdd\xbc\x96\xe2\xaa\x3e\xb3\x3a\x19\xdb\x2f\xc6\xeb\xbf\x60\x87\x9c\xa0\x46\xcb\xb0\xd3\xc8\xaa\xa8\x5c\x9f\x42\xc5\xdd\x71\x2c\x4a\x52\x3d\xf6\xcc\xb3\x2a\xe7\x4e\x2b\x77\x97\xfa\x9d\xef\xe6\x2c\xfa\xac\x3a\x50\x8b\x79\x9c\x8d\x66\xf0\x8e\x75\xb2\x74\x4f\xae\xa0\xe1\xb3\x29\x12\xe3\xfc\x15\xba\x9f\xd9\x51\x0a\xb4\xbe\xb2\x98\x90\x21\xb5\x5b\xbe\x85\x7c\xcf\x8c\x4f\x12\x45\xc6\x02\x59\xd9\x47\xf4\x87\x49\x90\xca\x63\xbd\xc3\x0f\x5c\xce\x7d\x4e\x12\x14\xce\x02\x35\xd3\x68\x21\xe9\x08\x52\x98\x52\x81\xee\x0b\x46\x4c\xf0\x52\x49\x09\x0a\xd5\x49\x2b\x9e\xd2\x55\xb7\x84\x95\xad\xfc\xbe\x3c\x5e\xe4\xad\xce\xd3\x3a\x1f\xe1\x9b\xab\xab\xcb\x33\xa6\x0f\x68\xac\x0a\x3b\x3c\x0a\x1e\x8d\x94\xc8\xbb\xfb\x9c\x00\x62\x51\x09\x87\xfb\x67\xb7\xa7\x54\x9a\x9c\x78\xf5\xda\xcd\xaf\x7c\xfa\x18\x1e\x2c\xe8\x8c\x7f\xcc\x80\x1a\xcc\x11\xaf\x33\x32\x74\xc6\xcc\x22\x11\xf9\xf5\x33\x9f\x6d\xb8\xd1\x94\x1b\xd9\xbb\x0b\x8e\x67\xdf\x56\x2f\x77\x5f\xbc\xcf\x43\x5c\x40\x79\x3a\xe6\xd4\x16\x8e\x12\x9f\x67\x80\xc5\x7e\x7a\x5f\x26\x8b\xb0\xc7\xd7\x3e\x22\x7c\xd3\xab\x5e\x76\x8c\x6f\x37\x23\x0f\x8f\xf7\x85\x1e\x6c\xaa\x7e\x2b\x62\x58\x4c\x91\x9d\x45\x09\x56\x09\x3e\x21\xc7\xfe\xf4\x59\xb7\xd9\xb7\xca\x30\x2a\x74\x3e\xd8\x66\x26\xda\x72\x65\x25\x5e\x68\xe0\xff\xdb\xb3\x93\x3f\x0e\x2f\x5a\x03\xf8\x06\x1f\x99\x37\x04\xd2\xb2\x5a\x15\x25\x11\xd9\x3c\x67\xa1\xb6\x9c\x5b\xdc\x5b\x5d\xf5\x55\x48\xbc\x6a\x6d\x82\xbc\x62\x4d\x1e\x9b\x25\xe3\x84\xf6\x70\x4f\x38\x47\x77\xf6\xac\xe9\xfe\xa7\x21\x5a\xd3\x58\x28\x70\x16\x70\xf7\xb0\xb7\x94\x81\xf1\x94\x5d\x08\x86\x9f\xa9\x87\x6b\xab\x64\x76\x9e\x46\xa2\x01\x6f\x78\x69\x06\xb0\x53\x54\xf0\x72\xc6\x29\x29\xbb\x1d\x14\x76\x89\x59\xed\x6f\x6c\xa2\xb0\x9d\xe3\xf5\xa1\xce\x00\xa1\xd4\x2c\x36\x6d\xcb\xc8\x01\xd4\x13\x06\x71\xb2\xfe\x02\x1a\xe2\x44\xf5\x32\x04\x69\x45\x1c\xba\x9f\xe1\xea\x98\x02\x87\x97\x66\x4d\x68\x33\x0f\x20\x16\x51\xe1\x8d\xd6\x0b\xe9\xcf\xc7\xf1\x35\x2c\xd9\xc9\x3d\x86\xf8\x29\xe3\xce\x5a\xc5\xcb\x9a\x56\xd8\xc5\x4d\x6f\x80\x65\x4e\xcc\xed\xd0\x8e\xaa\x78\x81\xbb\xff\xde\x23\xff\xd4\x06\xa1\x85\x81\xc1\x1a\x32\xc5\xf2\xa1\xe7\x6c\xea\xb8\x3a\x82\x00\x09\xff\x06\xcc\x96\xfd\xbb\x34\x66\x52\xbb\x0c\x0a\xba\xda\x7d\x9b\xe4\x38\xde\x9b\x4b\x41\xa3\x80\x75\xfc\x90\x74\x6b\x42\x05\x5a\xe7\x24\xfa\xdc\xdf\x81\xad\xac\x7a\xf0\x85\xc7\x98\xc3\x8b\x45\x95\x79\x74\xaf\x90\x81\x78\x62\x3d\x1c\x61\xb0\xe2\xce\xcd\xb4\x70\x0d\x5f\x01\xdc\x00\x1e\xbb\x02\xa4\x78\x3e\x9e\x0d\xce\x88\xe0\x2d\xe8\xdc\xde\x0d\x2c\x75\x60\x43\xed\xe6\xa3\x07\x3c\x4f\x2b\xc7\x3d\x7a\x60\x42\xb9\x0b\x47\xa8\xfe\xe8\x48\x45\xba\x01\xa1\x59\x24\xf5\xe8\x51\xe1\x6f\x44\x5e\x43\x67\x91\x32\x9c\x85\x35\x13\xa0\x58\x03\x74\x30\x0a\xe5\x09\xa0\xc2\xba\x7a\x65\xc3\x10\x8d\xa9\x60\xa4\x49\x6e\xf2\x69\x1a\x54\x89\x25\x6b\xcd\xa0\xb4\x8d\x0c\xc7\xe9\x53\xa0\xa1\x53\x91\xb0\xbb\x5a\xc8\x25\x2a\xb9\x26\xe5\x9f\x8f\x4d\x0e\x24\x82\x0a\x55\xab\xd2\xd1\xde\x70\x0f\xce\x41\x2e\xd3\x55\x80\xc8\x7e\xbe\x3c\xf3\xf8\x01\xe3\x3e\x60\xc3\x9e\x0d\xe4\xe5\x22\x95\x40\xc9\x2c\x63\x0a\x23\xe5\xde\xb9\x35\xc8\x43\x8f\x10\xd4\xbb\x7e\x84\x34\x52\x01\xf9\x5c\x3f\xba\x94\x16\xf7\xe4\x14\xe4\xd4\x2b\x14\x69\xa7\x7b\xd6\x48\x09\x39\x06\xda\x10\x36\xb5\xdc\x73\x3e\x7a\xe2\x3a\xd1\x5c\xbd\xb0\x9a\xf1\x67\x80\xae\x82\xc1\x7d\x51\xf8\x3c\x92\x81\x51\xd1\xdc\x38\x9b\x03\x1a\x32\x5b\xbc\xe8\x90\x57\xce\xd3\xf8\x5e\x5c\x52\x0e\xbf\x5f\xe2\x74\x7e\xda\x78\x30\x28\x1b\x8e\x2e\x27\x27\xde\x12\x63\x96\xda\x90\xe3\x74\x53\x50\xea\xac\xc3\xd7\xaa\xbe\xbd\x7a\x12\xcd\x55\xfb\xda\x54\xdb\x37\x30\x8c\xec\xd6\xeb\xc2\x02\xaa\xfd\x30\xa6\x24\xd7\xb2\x1c\x03\x4b\xbb\xb1\xd8\x6b\xa9\xa1\x18\xbd\xb6\x83\xaf\xad\x3a\x57\xdd\x92\x62\xa7\x27\xac\x5f\x73\xfd\x04\x7d\xac\x46\x80\x52\xed\xdd\x7c\x39\x5b\xf6\x20\x76\x82\x32\x73\xfd\x1a\x71\xf0\x7c\x1c\x2d\x4d\xac\xa8\x3d\x9d\xd7\xd9\x01\x17\xbb\x66\xec\xaa\x9d\x36\x38\x8d\xa2\x46\x83\x86\xe0\x08\x7f\xd5\x36\x32\xaa\xed\xa1\x3e\xf5\x76\x1e\xc2\x65\x54\x72\x69\x2f\x4e\x6e\x06\x12\x29\xb8\x50\x88\x14\xc9\xc9\xb0\x92\x51\x9c\x4a\x15\xb3\x0e\x0f\x30\x46\x4a\x3f\x99\x3d\x63\x09\xe9\xb5\x58\xc6\x73\x65\x1f\x92\xae\x47\xa7\x30\xa8\x4a\x7f\x75\x4c\xde\xb5\xa5\xcb\xc9\x45\x9f\x5f\x29\x0b\x79\x0d\x4e\x65\xa7\x8e\xc0\x7d\x60\xe7\x30\x18\xf5\x94\xd3\x02\x2b\x1c\xda\xbd\x5f\x61\xb5\x1b\x5b\xb0\x8e\x09\xda\x77\x1f\xe6\xf2\x65\xac\x11\xe5\xd1\x89\x20\x14\x73\x53\x14\x62\xf0\xce\x52\x44\xe5\x4b\xac\x61\x7f\xe9\xbe\x61\xb6\x9b\x3c\x9a\x55\x9f\x01\x4f\x3e\x3d\xfb\x7d\x83\x1c\x0c\x1e\x51\x02" -func _57ad90c4668f42cf15ea0JsBrBytes() ([]byte, error) { +func _5785f1443e972b513b230JsBrBytes() ([]byte, error) { return bindataRead( - __57ad90c4668f42cf15ea0JsBr, - "5.7ad90c4668f42cf15ea0.js.br", + __5785f1443e972b513b230JsBr, + "5.785f1443e972b513b230.js.br", ) } -func _57ad90c4668f42cf15ea0JsBr() (*asset, error) { - bytes, err := _57ad90c4668f42cf15ea0JsBrBytes() +func _5785f1443e972b513b230JsBr() (*asset, error) { + bytes, err := _5785f1443e972b513b230JsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "5.7ad90c4668f42cf15ea0.js.br", size: 5218, mode: os.FileMode(436), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "5.785f1443e972b513b230.js.br", size: 5485, mode: os.FileMode(436), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var __6Ed4c30a3e8768f68010aJsBr = "\x1b\x16\x23\x00\x1c\x05\xee\x9e\x8f\x30\x9c\x36\x4d\xcb\x72\x12\xd4\xa0\xd1\x56\x73\xf6\xfa\xb6\x5e\x65\x39\x9a\x93\x03\x76\x95\xeb\xef\x10\x5e\xc0\x23\x4c\xc6\xce\xbe\x3f\xb5\xaf\x6f\x7c\x0b\x6e\xc3\x8d\xd9\xb1\x87\x70\x94\xe0\x44\x91\x5a\x59\x64\xd4\x2f\xf0\x5f\xa9\x6a\xd5\xca\xe9\x66\xff\xe8\x79\x19\x32\x8e\x2b\x15\x9d\x63\x89\x81\xf3\xd1\x19\x54\xea\x88\xfd\x7b\x9d\x7a\xdd\xa4\xf0\x48\xc3\x54\xc2\xb9\x63\x1c\x9c\x8a\xdb\x14\xbd\x0f\xaa\x38\x56\x14\x92\x42\x28\x17\x6d\x57\x05\xfa\x96\x0a\x72\x92\xeb\xc9\xd7\x09\x90\x47\xe6\x71\x6a\xe7\x0e\x6b\xa7\xb5\xd7\x29\xd7\xc7\x68\xb6\xfb\x0c\x23\x11\x10\xf4\x62\xb7\x69\x14\xc3\x1e\xb7\xdf\xda\xc2\x8a\x66\x07\x1a\x7b\x77\xb4\xc1\x87\x2a\x90\x3d\xe7\xe6\xe6\xe7\x40\xaa\x56\x8b\xae\x50\x9f\x47\x08\x63\xba\xb8\xd9\x63\x23\x8b\x4f\xd3\xce\x5f\x84\x0a\xc8\x14\xad\x66\x95\xac\x6b\x24\x30\xe6\x15\x79\x9f\xc8\x6d\x88\x3c\x17\x99\x94\x34\x5c\x27\xc4\x5c\x27\x85\x77\xa3\x64\x21\x9a\x4f\x72\xdd\xf3\xd4\xde\x42\x6e\xc7\xf0\x9a\x83\xcb\xf6\xa0\x49\x0f\xe7\x8b\xf9\x2a\x5f\x8e\x06\x0b\x36\xbc\xaa\xb0\x36\xdc\x70\x60\x08\xd8\x10\xe6\xff\x5d\x76\xaf\x86\x13\xf1\xa4\xdb\x31\x37\x07\x93\x12\x47\x82\x92\x2c\x3d\xcf\xce\x5f\x53\x70\xc1\xbe\x5a\x28\x35\x5e\x85\x31\x23\x05\x80\x98\xc9\xdc\xc7\xa1\x20\x19\xe3\x41\x2f\xa6\x6a\xbf\xa1\x70\x82\x09\x9a\x74\x33\x23\x3b\xb9\xcc\xa4\x4b\xa3\xbf\x0d\x78\xa9\x48\x55\x1e\x82\x9b\x85\x2e\xcf\x89\x10\xdc\x16\x47\xa2\xfe\x2d\x04\xc2\xc7\xd7\xea\x8f\x50\xfd\x75\xdd\xfc\xee\xfd\x50\x8b\x1b\xbe\xf9\xeb\xbd\xa1\x26\x6a\x85\x84\x72\xc7\xe6\x75\x01\x43\x5b\x14\xcb\xa6\x82\x0c\xda\x4a\x0a\x6d\xda\x2d\xa5\x3f\x46\x1c\xd4\x23\xda\x9a\xe2\x22\x33\xbb\x48\x04\x61\x1e\x28\x14\xb9\xef\x92\xd2\x5c\xe7\x39\x09\xfd\x4c\x71\x48\xab\x58\xb6\x66\xf3\xd7\xb9\x43\x3f\x20\x23\x56\x77\x0a\xfa\xdb\xe3\x93\x12\x0a\xb3\x6a\x2d\xe0\xa5\x6b\xa1\xba\x0f\xfc\xa1\x2c\x46\x8a\xb1\x3d\x39\x66\x65\x87\xc0\xef\x14\x02\x07\x59\x61\x7e\xd2\x28\x13\x25\xd5\x6a\x83\x66\x36\x12\xaf\x90\xe7\x80\xb3\xc9\xb3\x54\x3a\xe6\xc7\x6e\x50\x25\x82\xff\x5d\x01\xe7\xc4\x06\x6b\xf1\xc6\xd2\x9b\xc9\xa3\x89\xee\x0e\x6d\x19\x51\xc5\x0c\x86\x70\x6e\x91\xa3\xac\x7c\x24\xf0\xc6\x92\x17\xcc\xe5\xc3\xf6\xba\x8a\x17\x1a\x55\x56\x72\x6e\x36\x65\x22\xf2\x52\xaf\x6b\xbe\x86\xfb\x31\xdf\xb6\x82\xc0\x7e\x5f\x41\x86\xaa\x20\x61\xaf\x43\x98\xa1\x59\xc9\xd3\xfa\x31\xe5\x6c\x1e\xf5\x4d\x06\x67\x66\x9a\xcc\xc6\x6d\x23\x98\xdb\x21\x65\x3f\x69\x26\xb4\x97\x73\x86\xc8\x91\x9b\x71\xa0\x73\xf1\x38\x9b\x05\x31\xf8\x38\xeb\x73\xbf\x9d\xc7\x37\xef\x39\x12\x54\xd0\xaf\x4b\x38\x91\xc9\xa0\x9f\x43\x51\xbb\x32\x23\x05\xd3\x78\x1d\x4a\x33\x08\x5e\xd0\xeb\x3a\x84\xaa\xac\x57\xe3\x6b\xd5\x23\xc1\x85\xd7\x07\x3c\x05\xf5\x3a\xc0\x9b\x8f\xbd\xc2\x74\x13\x5f\x27\x25\xe9\x6d\x08\x34\x88\xdd\x5b\xb2\xa4\x21\x37\xae\xa8\x0e\xe0\x5e\x04\x33\xfd\x0a\x41\xe0\x96\x60\x21\x58\xa6\xb1\x36\x5a\x61\x4e\xc2\x11\x7c\x21\xb2\x6a\x83\xba\x9d\xa6\x10\x35\xd2\xcf\x44\x85\x13\x94\x79\x34\xb4\x60\x84\x1c\xa6\x71\xd0\x2e\x2d\xfb\xf1\x96\xd0\x8c\x4d\xb8\xe1\xd7\x16\xa6\x8c\x90\xd2\xbc\x22\xd1\x92\x99\x4a\x56\xb2\x04\xdb\xd5\x0d\xcd\xd5\x58\x1c\x85\xff\x89\x19\x4b\x3e\x70\xc4\xc7\x78\xb5\x7a\x56\x82\x85\x5b\xf0\x3e\xf1\x63\x2e\x5a\xc7\xf0\x86\xd5\x84\x1a\xec\x9d\xc4\x9b\x8b\xfe\xc4\x9f\xef\x04\xf9\xb0\x0d\x46\xe6\xc7\x92\x51\xba\xfa\xdb\x20\x2c\x2d\x1e\x20\xea\xbf\x36\xf9\xa3\x34\x7a\x8d\x69\x5b\x45\xf4\xd5\x05\x0b\x79\x45\xe2\x2c\x6d\xdb\xb1\x81\x69\x78\x5a\x07\x1a\x4b\x83\xe8\xa1\x8e\xa8\x0b\xc2\x3a\xa3\x07\x4a\xd5\x50\x44\xde\x82\x50\x58\xc1\x68\x56\x92\x9f\x6c\x9c\xa9\x14\x5d\xc1\x22\xbf\xd3\xdb\x15\x43\xc7\x92\x3f\xeb\xfc\x51\x78\xc8\x02\x2a\xd5\x93\x78\x7d\xb1\xa7\x8c\x25\xf7\x00\xe8\xf2\x91\xab\xc5\x93\x27\xbb\xa1\xfb\xff\x3d\x07\x24\x45\xd0\x38\x14\xbb\x0b\xe2\x13\x13\x14\x88\xb4\x03\x41\x8c\x53\x7e\x5a\xff\xd3\xc5\xab\x93\x5a\x50\x4d\xa9\x78\x94\x07\x31\x52\x00\x1c\xac\x44\x7a\x88\x95\x18\x2a\xd6\x18\xaa\x1c\x39\xe2\xc3\xd4\x70\xa4\x1a\x56\x78\xec\x43\x55\xa1\xea\x58\xff\xd3\x29\x95\x7a\x93\x74\xef\x82\xd5\x8f\xa6\x41\xf4\x4c\x84\x87\xf0\x86\x55\x63\xcc\x13\x28\x2b\x49\xe6\x82\x64\x61\x37\x0f\xcf\x40\x21\xdc\xb5\xe6\x8c\xc4\x5c\x24\x28\x1f\x0a\x8a\x46\x51\x9e\x78\x46\xf2\x13\xc9\xa4\x67\xde\x7c\x52\x1d\x18\x2c\xeb\x60\x9f\xb6\xb2\x62\x8e\x49\xbe\x85\x97\xb8\xc1\x91\xb1\x19\xd2\x31\x47\x53\x30\xa2\x93\x86\xb6\x51\xd4\x00\xdf\xb4\x21\x78\xef\xca\xb6\xcf\xf3\x92\x23\x3f\xac\xbe\x43\x56\x8c\xcb\x89\x3e\xdb\xe1\x19\x36\x92\x82\x33\x96\x3e\xb8\x50\xa6\x88\x86\x7f\x02\x9e\x4e\xf4\xd9\x36\x83\x05\x01\x41\x3c\x3b\x49\xd5\xbe\x2d\x7e\x39\x65\xfc\x22\x21\x8d\xdc\x1e\x21\x7e\x61\xad\xcb\xee\x4e\x95\xf7\x4f\xf5\x7a\x74\x54\x74\xaf\x2a\x95\x8c\x86\x0c\x79\x76\x95\xf6\x84\x5d\x2a\x18\xcd\xf0\x5f\x47\x5b\x75\xd7\x5b\x35\x00\xe0\xad\x26\x39\x1b\x6c\x8b\xd5\xf4\xca\x27\xdf\x6d\x15\x97\xe4\xc8\x78\xfa\x5e\x7a\xc7\x5d\x97\x45\x45\x93\x3b\x19\x46\x38\x44\x79\xe3\xb3\x02\xc0\x92\xec\x63\xe6\x56\x18\xab\x33\x24\xb0\x72\xbe\x47\x77\x14\xb2\xc3\xdd\x17\x24\x85\x27\x71\x08\x28\xce\xfe\x1d\x46\xf4\x8c\x17\xd7\xc9\xa5\x95\xc9\xa8\x02\x41\x2a\x04\x36\xf4\x25\x58\xe8\x17\xfc\x66\x7e\x59\x30\x30\xf7\xb5\x4d\x1c\xd8\x58\x24\x30\x32\x93\x09\x1f\x48\x0a\x45\xe6\x72\x0c\xf4\x9f\xdd\x14\x19\xc0\xb5\x6f\xfd\x01\x5a\x0e\x0a\xf3\x47\xeb\xc0\xfa\xb6\x70\x7a\x86\x51\x34\xac\x8c\x88\x3a\xcb\xc4\x40\x5d\xe1\x7a\x4c\x74\xc2\x6c\x1c\x44\x30\x2b\xc0\xa7\x71\xa2\xcd\x40\x15\x60\x30\x91\x0c\xb2\xc7\x3b\xeb\x00\xfd\xa3\x53\x13\x3c\xc8\xce\xbd\xd9\x37\x3a\x24\x4c\x9e\xc9\x49\x02\xa3\x33\x1e\x54\xdc\xc1\x08\x80\xcf\xb3\x54\xe4\xb0\x8c\xe7\x7f\xe8\xcb\x15\xbc\x09\xa3\x25\x09\x41\xac\x94\xf5\xc3\x03\x43\xb2\xbe\x6a\x28\x48\x1a\xc1\x54\x42\x9f\xf9\xb9\xda\xa4\x50\xf4\xd8\xe2\x56\x85\xe8\x6c\xcf\xbd\x8c\x8a\xd6\xd3\x3b\x08\x71\x26\x5c\xb9\x4a\x64\xdc\xe8\x14\xf2\x01\x8c\xd4\x3d\x69\xb8\x1a\xde\x06\xa1\x4e\xae\x5a\x30\x9b\xa0\xa7\x74\xb2\x1d\xe5\x93\x27\x67\x11\x66\x0a\x76\xf4\x45\x7d\x3c\x99\x12\x07\xca\x37\xdb\x16\x27\x74\xac\xb0\xa6\x4c\xd8\x9d\xe7\xa4\xfc\x68\x23\x29\x7c\xe6\x84\x4a\xbc\xe2\x57\x6e\xe3\xff\x8d\x87\xa2\x20\x1f\xe8\xb9\x22\x29\x6d\x75\xcf\x73\xa9\xbf\xdd\x54\x91\x8d\x0a\xb6\x65\x51\x24\x99\xd9\x7d\x4e\x04\x52\x56\xac\xaa\xb4\xcf\xf7\xff\x3b\xf4\x2f\xf5\xd9\xc7\xb8\xae\x1f\x2a\xd5\x8e\x38\xbc\xe9\xed\xea\x8f\xc9\xec\x42\xa7\x30\x6c\x76\xe6\x46\x5a\x52\x0b\xfe\x37\x73\x12\xfb\xb6\x02\xe3\x17\xf2\xd4\x76\x11\xa4\xd8\xf2\xa4\xd3\x02\x94\xbd\x30\x6e\x98\xd3\x9a\x92\x09\xb6\x59\xaf\xa3\xf5\x4d\xdb\x4f\xdf\xe6\x13\x8c\x5f\x33\x5d\x9b\x3a\x44\x64\xd4\xdc\x11\x0d\x4e\x02\x71\x9a\x08\x4c\x17\x41\x61\xf8\xf5\xd5\xde\x81\x94\x3d\xdd\xf9\x53\x60\x12\x13\x3f\xcf\x20\xe6\x05\x97\xce\x97\x31\x42\xb5\xc6\x08\xcf\x31\xbb\x70\x74\x15\x8d\x6e\x06\xff\xf0\x4b\xd9\xe3\x30\x82\x47\xcc\x71\xc5\xf8\x3c\x1d\xf7\xa1\x82\x75\xb3\xcc\x3f\xcb\x21\xb4\x3a\x6b\x3c\x7d\xbb\xd1\x4b\xa3\x77\xd4\x34\xb3\x13\x79\xc2\xd3\xdc\x4c\xc9\xb6\x19\x7e\x1d\xeb\x2a\xd6\x8b\x1c\xe9\x21\x2c\x43\x2d\x54\x99\x19\x09\x6c\xf1\xf3\x8f\xb1\x93\x55\x65\x2f\x75\x47\x15\xc3\xe2\x0a\x7b\x7c\x94\x0d\x21\x64\xd7\x61\xa7\x4e\x11\xcb\x18\x50\x6b\xc1\x0e\x46\x85\x63\x98\x46\xf5\x86\xc4\x01\xa3\xa0\x10\x84\x5a\xe1\x1a\xa7\x21\x3c\xd4\x41\x37\x08\x4d\x31\x4a\x58\xa8\xd5\xa9\x20\xfb\x23\x43\x18\x8a\x4e\x60\xef\xb0\x7f\xa1\x54\x5e\xd5\x7c\x27\x93\xd9\x35\x54\x3b\x4c\x0e\x29\x1c\x69\x56\xb1\x5c\x6a\x65\x64\x8e\x64\x95\x0e\xe6\x58\x16\xa4\x62\xf7\x7b\x77\x39\xce\xce\xa3\xd6\x6b\x51\xe7\x05\xab\xd1\xb2\x47\x31\xd2\x00\x78\xe9\x89\xf7\x14\x04\xce\xd6\x5c\xf2\x73\xb3\x59\x6d\xa4\x9a\x81\x2b\x9b\x24\x6a\xf7\x3e\x81\x0e\x10\xa3\x8a\xcf\x05\xec\x8c\xe3\x81\x8d\x59\xc0\x05\x15\x03\x7b\xc1\xda\xd2\x99\x4b\x0b\x3a\xe0\xba\x11\xf3\x74\xf9\xbe\xe8\xa9\x98\xea\x51\x17\x26\x7d\x91\xb8\xe9\x8c\x49\xc4\x82\x47\x30\xec\x01\x8b\x66\xb8\x9b\xd6\x6c\x71\xed\x4e\xd5\x1b\x61\x2d\xfd\xb5\x35\xbf\x4f\x94\xf7\xa3\xd4\x3f\x6d\x52\x80\xdc\xab\x4c\x19\x25\xe3\x1a\xe4\x1e\xd1\x05\x03\x98\x22\x11\xd7\x04\x45\x3d\x2f\x67\x2a\xf5\x84\x7f\x56\x22\x43\xe0\x7b\x8e\xcd\x47\xb7\x52\x59\xc2\x45\xd5\xc0\xc5\x24\x93\xa1\x71\x96\x47\x3b\xb6\xbe\x95\x23\x84\x6a\x51\x86\x6a\x8e\x5f\xd5\x78\xa0\xbb\xb9\xab\x6b\x5f\x65\x70\x4c\xdc\x9e\x1d\x8f\xc5\xc6\xe6\xa4\x2f\x2c\x0f\x58\x62\x08\xd5\x69\x00\x10\x34\x9e\xce\x7f\x06\xfb\x06\xf8\x0d\x64\xca\xd4\x33\xe6\x65\x37\x14\x33\xfa\xd4\xfd\xd9\xb9\xde\x82\xea\x41\x49\x4f\x3f\xb1\xe1\xd3\x4c\x2a\xdd\x85\x85\x19\x44\x59\x62\x05\xac\x8e\xe7\x93\x1b\xe9\x27\xc7\xe7\x98\xcf\xea\x00\x00\x2f\x3c\xb7\x7b\x0a\xd6\x60\x61\xc7\x28\x35\x4e\x32\x78\x65\x22\xb2\x00\xe8\x77\x30\xf5\x5b\x53\xe3\x5b\x32\x34\x0f\x62\xd1\x98\x5d\x2c\x53\xd5\x5b\x7f\xb6\x44\x55\x9f\xf3\xb7\x3e\x3a\x22\xec\x17\x02\x4d\xcf\x65\xea\x89\x76\x8b\xcf\x15\x86\x7a\x8c\x69\x95\xce\x6d\xb8\x63\x6b\x52\xaa\x58\x16\x17\x7d\xf1\x83\xfe\x46\xa6\x16\xb9\x67\x28\x83\xc8\x3b\x5c\xd3\x96\x97\x87\x88\x4b\xb6\x78\x6d\x92\x12\x15\x03\xd8\x35\x07\x82\xe5\x89\x6d\x52\x8a\x88\x41\xe8\x3a\xfb\x17\xaa\x0a\xcb\x5d\xed\xfc\x13\xa0\xbb\x18\xf1\x69\x8c\x26\xc7\x8a\x7d\x6b\x8f\xa4\xa2\x0f\x0c\x36\x17\xa3\x37\x76\x06\x5f\xc7\x20\x90\x73\x3f\x32\x38\x90\x53\x90\x92\x64\x84\x68\x52\x41\xa8\x41\x9e\xac\xfc\x75\x70\xe8\x2d\x18\x8f\xb5\x62\x83\xf9\xc5\x80\xd2\x6d\xef\x83\xaa\x11\x16\x97\xb5\xf9\xf6\x3b\xe0\x55\xf2\x28\x98\x1a\x23\xdb\x21\x64\x21\xfa\xc0\x6a\x01\x70\xbf\x5e\x39\x12\xdc\x2e\xe4\x00\x3f\x72\x49\x96\x3a\x55\xed\xe1\x14\x7a\x7b\x67\xd1\xbd\x56\x43\x28\x54\xb6\xd0\x62\xfa\xb5\x35\x6b\x48\xc1\x46\x0b\x8e\x42\x56\x21\x60\xde\xa1\x67\x8f\x59\xaa\xd6\xe9\x0c\x38\x71\x8c\x85\xeb\x0c\x87\x66\x20\x15\xe2\x64\x8d\x9f\x7e\x21\x28\x89\x53\xd6\xd5\x95\xf3\x8c\xcf\x79\xe1\x09\x0d\x44\x92\x75\x22\x98\x98\xd1\x5d\x7a\x79\x28\x1a\x11\x99\xe8\x68\x4f\x36\x1a\xe8\x38\x82\x8b\x3e\xe2\x45\xc3\x4b\xd1\x53\x22\xfe\x0b\xc0\x59\xda\x7a\xdc\xf3\xc7\x1b\x60\x9e\x4c\x08\xcd\x8c\x39\x07\xb2\x89\x87\x25\x89\x25\x8e\x79\x28\x1f\xe5\x77\x07\x03\x56\xa2\x00\xe4\xce\x4a\xac\x29\xdb\x3d\x1d\x10\x91\x26\x65\x2a\x7b\xf0\xec\xfe\x03\x1a\xff\xfa\x9d\x71\xe8\x84\x99\xfd\x40\x2e\x01\x72\xd1\x84\x05\x7f\x06\xe4\x7f\xe8\x33\xa4\x4c\xb1\x1a\x66\xbf\xc4\x66\x98\x95\x0b\x71\x16\x66\xbf\xc5\x45\x98\x7d\x17\x1b\x2b\x0a\x84\x76\x24\x65\xae\xd6\x13\xe2\x27\x64\xd5\x11\x4e\x01\xa2\x04\x09\x56\xba\xea\xde\x42\x71\x90\xa4\x24\xf6\x22\x11\xd8\x1a\xd9\xf4\x2e\xe5\x59\x2d\x67\x5e\xd3\xf7\x78\xe5\xc2\x7d\x56\xa6\x25\x9a\x57\xe9\x86\x43\xdb\x0e\x7b\x86\xe4\x6d\x65\x0e\xaa" +var __6D84415b3a87bb1b3232cJsBr = "\x1b\xf9\x22\x00\x9c\x05\x76\xe3\xcb\x8f\x70\x78\xda\x34\x2d\x45\x99\x15\x59\x98\x06\x8d\xe6\xa7\xcd\xcf\xd3\x15\xde\x46\xa3\xb1\xbe\x41\x90\xf4\xf9\x9a\x4f\x7a\x3d\xed\xa9\x79\x13\x14\x9a\xf0\x6c\xb5\xd9\x6c\x5a\xaf\x37\xba\xea\xeb\x70\xfd\xb9\xa5\x16\xe1\x88\xd8\xc4\x91\x76\x65\xa5\x32\xc0\x97\xa9\xbe\x55\xeb\x78\xd8\x81\x9e\xd7\x21\xf3\xb4\xfa\x4d\xe1\x92\xa0\xf3\xc9\x99\x74\xea\xc8\x81\xba\xe1\x34\x1b\x6f\x23\xf8\x28\x7f\x3f\x57\x4e\x5d\x52\x96\x40\x9a\xd0\x57\xde\xb1\xbe\x3a\xd5\x7d\x1f\xd2\xfe\xd0\x05\xaf\x93\x1c\x61\x72\x9c\x6d\x0a\xf4\x37\x29\x64\x53\x00\x1c\x4f\x24\xcb\xb6\xc2\x54\xd9\xb2\xae\xb0\x55\xb2\x76\xa7\x42\x76\x11\xaf\x4e\x2f\xad\x50\x16\xb6\xc3\xe1\x55\x4e\xe1\xcd\xc6\x69\x6b\x61\x41\xb3\xb3\x2d\xea\x8f\x56\xf8\x50\x04\xb2\x77\xdc\xdd\xfd\x59\xe8\xaa\x27\xba\x4a\x7d\x1a\x13\x8c\x69\x87\xcb\x7f\xa1\xc8\xff\xd7\xfe\xcc\xd0\x01\x19\xd1\x6e\x51\xea\xf4\x5a\xa9\x50\x87\x3d\x0d\x4b\xb2\xc2\x60\x54\xd8\x15\x90\x31\x21\xb7\x77\x21\xda\xf5\xc8\xac\x85\xc0\x36\x94\x4a\x2d\xbc\x5d\x25\x9b\x68\xfa\xb6\xba\xd9\x56\xb7\xcb\xb0\xa5\x78\xb5\x06\xd4\xde\xd0\x91\x1f\x3f\x0a\xcf\x8a\x08\xa9\xaf\x51\xc8\xb6\xc3\xe2\x71\x03\xd1\x63\x01\x8b\x48\x83\x8f\x54\x0f\x7a\xbc\x32\x1f\xb9\x29\xd5\x93\xb7\x76\xae\x04\x36\x26\xa2\x68\xff\x1f\x16\xdc\x68\xd0\x2c\x8b\xe6\x5b\x71\x2d\x92\x22\x40\xca\xc9\xd3\x9c\x97\x46\x3c\x69\xd4\xf0\x6c\xaa\x0b\x12\x99\x33\x0c\x87\x23\xa7\x9e\x0e\x59\x59\x48\xbb\xd6\x7c\xed\xd5\xb9\x13\x99\xc5\x18\x2f\x8f\xb5\x3f\x85\xb1\xa6\x71\xbd\x6b\xea\xdf\xc2\x28\x7c\x35\xdd\x9f\xb1\xfb\xd3\xce\x7d\x9b\xfd\xd2\x8a\xfb\x1e\xfb\xd3\x83\xa5\x67\x6a\xf7\x86\x72\x6b\x7a\x7b\x0f\x86\x9e\x28\x8e\x1d\x85\x18\x8d\x5b\xa9\xb4\x69\x37\x37\xfd\x67\x4f\xc0\xce\xd0\x71\x21\xf4\x0d\xfc\x23\x8c\xc2\x3c\x91\x2c\xf2\x3f\x60\x73\x40\x7f\x87\x0e\x1f\x4d\x01\x2c\x96\x2b\x3e\xe7\xf1\x87\x2b\x8f\x53\xc0\x6c\xfe\x1c\x99\x54\x16\xd5\x53\xc0\xb2\x28\x5f\xd3\xfd\x36\x45\x2b\x72\x21\xc3\xde\x29\xc9\x9d\x13\x0b\xd1\x23\x8c\x89\x8a\x4a\xfc\xa4\x59\x21\x32\xd5\xd3\xc2\x37\x0f\xa9\x17\x28\xb3\x2f\x39\xe4\xa9\xe7\x09\x64\xcf\x0e\x54\xa7\x86\x7f\x5d\x11\xd7\xa4\x19\xe6\xfa\xe0\xed\x0e\x7b\x34\xd1\xea\x7d\x5c\x9e\x92\x33\x66\x70\x04\xf3\x90\x5c\x6d\xe7\x33\x61\x37\xef\xf9\x88\xd9\x7d\xd6\x5e\xb6\xf0\x91\x26\x65\x4a\xc6\x8e\xa9\x10\x89\xa9\xc6\xeb\xf0\x21\x7e\x9b\xf1\x9d\x2c\x08\x7c\xf8\x23\x6c\xa8\x1a\x31\xcd\xba\x94\x4d\x38\x32\x2f\xeb\x21\x2b\xf9\x3d\x12\x52\xba\x2f\xcc\x74\x2e\x26\x98\x54\x1f\x20\x99\x42\xd0\xf5\x42\x7b\xca\x18\x19\x93\x93\xc5\xb0\xf8\xa8\x18\xb6\x2d\x9f\x9d\x0f\x52\x57\x40\x8a\x02\x7a\xb4\xc7\x2b\x89\xf4\xa9\x06\x51\xb8\xdc\x93\x81\x69\xbc\xf4\xa7\x9e\x04\x2b\x10\xbd\x3e\x93\x1a\x1a\xd7\x6a\xba\x9e\x13\x4c\x44\x7d\xce\xff\x1a\x66\x5d\xe0\x75\xc8\x3e\x62\xba\x54\x73\x64\x96\xd9\x96\x0a\x13\x92\x8c\x9b\x2c\x0e\xe2\x0e\xea\x3a\x1f\xc0\x22\x00\x19\x44\x76\x63\xc4\xe0\x19\xc5\x68\x0e\x17\xa0\xe6\x78\xa0\x4b\xac\x54\x51\x83\x49\x2d\xf4\x8d\xe2\xb7\xa2\xc2\x06\x5d\x5e\x0e\x6d\x64\xa4\xc4\xb1\x1c\x24\xd7\x42\xe0\xa3\x43\x31\x3e\xe3\x20\x7e\x16\xa6\x8e\x90\xd3\xda\x22\x31\xa1\x78\x12\xb2\xa9\x5e\x04\x17\xb9\xaf\xa5\x06\x8b\x99\x88\x7f\x30\x4f\x99\x86\x42\x12\x73\xa4\x7a\xb2\x10\x1d\x82\x44\xbf\xf5\xd7\x45\x9e\xb0\xb9\x6c\x71\x99\x4c\x40\xdc\x0a\x1e\x0e\xda\x0b\x6b\x7e\xa9\x94\xe3\x31\xce\x2e\x3e\x6d\x59\x1f\x5b\xa1\x0a\x64\xe8\x4a\xeb\xf8\xdf\x0d\x8b\x34\x8e\xfe\x9c\x35\xe8\x86\xb5\x5f\x4d\x90\x10\xdd\x9a\xad\xac\xaa\x92\xf9\xc8\x33\x62\x93\x44\x42\x64\x42\x6c\x51\x5f\x34\x95\x61\x0e\x7f\x21\x5b\x57\xd3\x6b\x17\x26\x61\x8d\x6c\x5a\x36\x3b\xd9\xde\x96\x45\xa3\x53\x4c\x1b\x74\x35\x62\xec\x39\xfb\xff\xa3\x69\xd3\xec\x98\x05\x54\xa9\x2b\x78\x7d\xf0\x16\xcc\x04\x55\x0a\x74\xc5\x2c\xd4\xd2\x0d\x28\xbb\x2f\x9c\x7f\xbb\x02\xca\x21\x58\x1d\x72\xb5\x19\xe2\x5b\x0d\x09\x44\xea\x91\x0e\x26\xa8\xb8\x68\xfc\xc5\xc6\xb5\x49\x3d\x52\x5d\x87\x59\xf3\x54\xac\x26\xd3\x51\xc0\x4d\xcc\x33\x56\x9f\xab\x0d\xb3\xd6\x6a\xa9\x6a\x16\x92\x18\x97\xc4\x73\xea\xb1\xc9\xbf\x39\xd6\x14\x6b\x8e\x8d\xbf\x98\x52\x65\x58\xa1\x87\x07\x6c\x79\x58\xa3\x12\x4d\x98\x89\x0c\x17\x56\x21\xcd\x63\xcc\x13\x28\x2b\x99\xcc\x8d\xd8\xca\xee\x22\x9e\x5e\x27\xc0\x72\xbe\x04\xa5\x89\xa0\x7e\x28\x2a\xea\x49\x79\xed\xdb\x24\x27\xc6\x26\xdd\x56\x0b\x89\x02\x0e\x73\xef\xf0\x53\xd7\x16\xce\x31\x53\xae\xe5\x25\xad\x74\xa4\xa7\x6e\x1d\x73\x5e\xc1\x88\x6e\x38\xb4\x47\xa2\x05\xf8\xee\x0d\xc1\x5b\x58\x36\x95\x2b\x8e\x82\xb0\x05\x0f\x25\x71\x3e\xb7\x6a\xd9\xf2\xd4\xfd\x81\x6d\xbe\xd1\xd2\x97\x39\x39\x3f\xd4\x01\x94\x7c\xb9\x55\xcb\x86\xde\x82\x94\x28\xaf\xd8\x9a\x6a\xfc\xc4\xc5\xf0\x39\xa2\x5d\x0e\x90\xfe\x88\xa4\xa8\xf6\x87\x66\x9b\xca\x27\xa6\x7b\xbb\x3e\x76\xd3\xcb\x2d\xec\x4c\xc4\x8c\x32\xaa\xa2\x9f\xd4\xb0\xa3\x2f\x23\x79\x09\x6d\x05\xae\xb5\x6a\x0a\xa8\x5b\x9c\x79\x1a\xac\x89\x65\xfd\xe1\x9b\xde\x6d\xbb\x3d\x3b\xd2\x9b\x7e\x98\xde\xb0\xd4\x6a\x65\xb7\xa3\xa0\x45\x15\x0f\xd1\x5c\x9e\xd7\xfb\x5f\x53\x57\xe1\x82\x05\x6f\x6b\x6e\x05\xa2\xf0\xb6\x92\x62\x87\x08\x37\xf3\xce\x4c\xf4\xd9\xe9\xbf\xfd\x58\xd4\xbb\x6a\xf7\x7f\xbd\x89\x40\xda\xb3\x00\xc0\x62\x00\x4d\x01\x80\x8e\x86\x0d\xa5\xf6\x6f\x31\x03\x90\xee\x42\x8e\xf3\x48\x1b\xb0\x32\x70\x39\xf6\xa0\x14\x80\x6f\xf7\xe6\x5f\xfc\xeb\x21\x7b\x0e\x68\x1f\x85\xf4\xca\x76\x4f\xd0\x57\x86\xad\x0d\xc9\x28\x39\x36\xb4\x47\x84\x21\x6f\xed\x60\x76\xe2\x13\x61\x9a\x81\x13\x93\x4c\x1d\xd0\x02\xe8\x32\x24\x5d\xe9\x7b\xf6\x77\x41\x60\xbe\x5e\x20\x80\x6c\xc2\x9b\x7f\xa5\x1d\xbf\xe4\x89\xdc\x14\x60\x74\xbb\x06\x65\xd8\xe5\x00\x70\x72\x9e\x58\x7c\x2f\x2b\xa1\xe7\x0a\xe5\xdf\x7f\x23\xe3\xe9\xb4\x1e\xca\x07\xf7\xf8\x1f\x44\x31\xab\xb3\x95\xf7\xd5\x10\x26\x61\xb7\x55\x5b\x13\xe1\x90\x79\xd8\xba\x83\xe8\x36\x9d\xc7\x19\x13\x3e\xf3\xbb\x8c\xe8\x4c\x7d\x0a\x64\x64\x5d\xb5\x14\xca\x01\x84\xd4\x22\x09\x04\x56\x7d\x8c\x62\xdd\xde\xad\x51\x31\x69\x97\x28\x45\x2b\xff\xcb\xec\x10\x5f\x54\xbd\x1b\x15\x49\x43\x62\xb6\xc4\x91\x65\xcd\xcf\x8b\x5b\x06\xe1\x62\x56\x86\x55\x7b\x87\xae\x3c\x3a\x93\x2c\x4f\x94\x26\x87\xab\x77\x15\x84\xf3\x63\x5e\xaa\x82\x42\x40\x36\xb5\x58\x73\xff\xf8\xad\x94\xc6\xbb\x2f\xcb\x5e\x15\x2f\x2d\x59\xf7\xf2\x5a\xce\x0c\x4b\xfe\x39\x73\xa8\x38\x89\xed\x3f\x87\xf6\xd0\x98\x2d\xc6\x75\xed\xd8\x6c\xf6\x25\xf1\x55\x1b\x57\x72\x8c\x79\x1f\x3a\x50\xe1\x79\x70\x77\xc5\x92\xe2\xd8\xdf\x8a\x79\x7d\x8d\x35\x06\x7d\xfc\x88\xa5\xde\x66\xb1\x13\x48\x3b\xff\x29\x7b\x91\xfc\xa8\xd0\x60\x85\xea\x5a\xb6\x91\xac\x7b\x1d\x27\x83\x2b\x21\x9a\x78\x6e\xc2\x3f\xea\x90\x90\x51\x85\xfd\x16\xdc\x06\xf1\x36\x13\x18\x14\x82\xca\x88\x9b\x7d\x3e\x91\x0e\x18\xba\x89\xa7\xd4\x2c\x8e\xfd\xb2\x80\xea\x4b\xa8\x5d\x32\x63\x84\x66\xe5\xc4\xa7\x6a\xfb\xb0\x0f\x15\x2a\x31\xf1\xb7\xb8\x52\x3e\x8b\x53\x08\xa8\x76\x3a\x7f\xd9\xd6\xa3\x3e\x35\xb0\x61\x56\xc5\x57\x16\x63\x2b\xfd\xcc\xd3\x76\x67\xfa\x9c\x9c\x03\xa5\x1b\xbf\x39\xe5\x27\xdd\x98\xcd\x48\xd1\x30\xfe\xb0\x58\x23\xd6\x6f\xe1\x73\x7a\x94\x60\xc4\x54\x79\x77\x14\x76\x05\xac\x1e\xbf\x18\xfd\x98\x9c\xd5\xf6\x3a\xee\x26\xa1\x9b\xa5\x78\xd2\xc4\x99\xff\x31\xec\xd1\xc7\x2f\x56\x08\x46\x96\x93\xcc\x37\xbd\xe0\x86\x93\xe2\xd3\x31\xda\xd8\x2f\x00\x8f\x87\x85\x28\xd4\x09\x57\x2e\x0d\x21\xa3\x06\xce\x41\x6c\x8a\x56\x85\x23\x75\xfa\x1d\x8a\x5f\x0c\x71\x28\x4e\x81\xbb\xd5\x7e\xc6\x5a\xc5\x73\x2e\x5b\x9b\x81\x34\xd4\x44\x4c\x13\x11\xae\xd4\x77\xaa\x97\xd2\x4d\x72\x3b\xad\x2a\x86\x3b\x97\x8d\xb8\xda\x3d\x8a\x0f\xeb\x40\x3c\x9a\x85\xae\xa6\x20\x58\x62\x96\xdf\x61\x91\x0a\xd4\xe7\x9c\xe5\x50\x26\x48\xed\xee\x4b\xfe\x3c\xef\x6c\x2c\x30\xf0\xe5\xb3\x04\x9f\x00\x82\x12\x20\x7a\x97\x5e\x88\xd8\x1b\xa7\x03\x17\x77\x04\x1f\xa8\x06\x09\x82\x05\xa3\x4b\x8f\x2e\x25\xe0\x3a\x88\xca\x7c\xc5\x56\x0a\x94\x5d\xf3\xa8\x0f\x97\x3f\xf5\x6d\x87\xba\x7c\xe4\x18\x05\xc7\x23\xb0\x7a\xb6\x61\x1a\x56\x68\x59\x50\xb5\x5d\x2f\x0a\xdb\x17\x3e\xa8\xdc\xb7\x2b\x7f\xd4\xdb\x1a\x5e\x74\x64\xa0\x54\xcb\xa8\xa4\x66\x42\x40\xfe\xa7\x68\xc7\x00\xae\x4a\xc4\x37\xe4\xac\x3b\xfb\x41\x49\x6d\xc3\x41\xdb\x28\x12\xf8\x41\x62\xe3\x4d\x28\x25\x71\x41\xc0\x4b\xdc\x0e\x35\x3d\xe8\x69\xb6\xf2\x80\xa8\x99\x02\x8e\xdd\x5f\x92\xcb\xc0\x46\x1e\xbd\x6b\x6f\xef\x74\xf7\xd0\x17\xb3\x2a\x61\x9a\x64\x6e\xda\xd8\xb9\x64\xaf\x10\xd8\x12\xc8\xd4\xe6\xc0\xe6\x37\x1f\x1e\x7d\xf7\x0d\x81\x84\xf5\xda\x0a\x0b\x8c\x7b\x3e\x08\xdb\x8b\x5e\x3a\xbe\xd5\xb5\xb8\x20\x56\x18\x1a\x3a\x35\x35\x0d\x98\xd2\x2d\x55\xdc\x1e\xa5\x68\xed\xaa\xd6\x5f\x67\x9f\xd5\x1f\x5d\x91\x1e\xeb\x02\x20\x20\x4a\x35\x1b\x00\x17\x67\x03\xe8\x7b\x73\x92\xf4\x4c\x99\x44\xc4\xdf\xf6\xaa\x74\x6f\x5b\xb0\x2c\x06\xa5\x83\x46\x94\x3b\xa5\x32\x73\x0e\xd6\xec\x78\x6a\xce\x4f\xd3\x26\xa1\xb6\x7e\x90\xeb\x51\xb7\x12\x2b\xd0\x1b\xf6\xab\xa1\x20\xa9\x72\xa3\xb1\xa7\x87\xf4\x74\x37\xe5\x89\x55\x70\x29\x10\x4e\xb4\xf9\x0f\x0e\xe3\xe6\xc3\xb1\x50\x6b\x09\x3e\x69\x87\xca\xb6\xc4\x56\xf7\x2f\x42\xa3\x1b\x76\xd8\xc8\x5c\xb2\x10\x60\x53\x1c\x00\xd4\x5b\xc6\x91\x39\x37\xa5\x06\x6e\x50\xdb\xcf\xd8\x35\x9f\x5d\x5b\xf3\x48\xae\xbd\xc2\xf0\x12\x26\x64\xc1\x5b\xf0\x2d\x33\x11\x8b\xb6\x54\xed\x74\x2a\xa1\xec\x8f\x1f\x16\x80\xb0\x8f\x61\xa4\x17\xe0\xb4\x46\xb4\xc4\x08\xba\x93\x1a\xe1\x08\x65\xb6\xec\x47\x2f\x90\x41\xe5\x55\xbc\x0b\x82\xa4\x7f\xb3\x1b\x68\x42\x56\x5c\xb6\x8b\x6f\xc2\xc9\x71\x25\x21\xdb\x86\x9c\x14\x70\x09\xf4\x29\xb7\xb9\x08\xc3\xfe\xb0\xdd\x0e\x4f\x8c\xd9\x42\x76\xdf\x83\xfb\x3f\x81\x43\xe8\x62\x8b\xbd\xb0\xec\xe6\x6b\xe4\xf4\x26\x0d\x21\x4e\x56\x81\x88\x13\x6a\xec\x7c\xa0\x85\xce\x98\xd4\x24\x64\x29\x01\xee\x0d\xc4\x7a\xb5\x27\x44\xd8\xf4\x82\x80\xc7\xc3\x31\xc7\x71\x30\x20\x0b\x69\xca\x96\xcb\x2f\x84\x24\xf1\xd6\x6f\x6a\xaa\xe7\x3d\x5f\xb2\xe4\x82\xfa\x19\xc9\x62\x0f\x5c\xca\x53\xf7\x11\xf1\x50\x35\xaa\x2f\x91\xce\x9c\x24\x4b\x3a\x05\xfd\x12\x74\x8b\xcd\xcf\x33\x5f\xfa\xec\x67\x84\xd5\x3e\x06\xbf\xde\x7c\xc6\x68\x5d\x21\x36\xd7\xa5\x9c\xca\x22\x5e\xb4\x49\xac\x70\xca\x53\xfd\x28\xa7\xcb\xc2\xce\x3f\x08\x8c\x2e\xdb\xd8\x52\x79\x7d\x39\x2b\x11\x61\x32\xae\x7b\xfa\x78\xfd\x73\xc2\xcf\xa1\x5f\x62\x1f\xc7\xea\x53\x19\x05\x28\x45\xc7\x2c\xf8\x73\x20\xff\x43\x5f\x11\xd9\x62\xbd\x2c\xfe\x8a\xed\xb2\x28\x1f\xc3\x45\x59\xfc\x13\x57\x65\xf1\x4b\x6c\x2d\x02\x90\xd9\x53\x93\x85\x9a\x23\x82\xbe\xf5\x24\xd8\x88\x53\x87\x68\x73\xd6\xd3\xfb\xa4\x0c\x8b\x6c\xe2\xa0\x92\x68\xe9\xdf\xce\x06\xb1\xd3\x7e\x91\xf5\x4b\xec\x2a\xbd\x3b\x77\x00\xd3\xb2\xe6\x6c\x25\x6e\xdb\xe3\x60\x62\xf2\xae\xec\x45\x1d" -func _6Ed4c30a3e8768f68010aJsBrBytes() ([]byte, error) { +func _6D84415b3a87bb1b3232cJsBrBytes() ([]byte, error) { return bindataRead( - __6Ed4c30a3e8768f68010aJsBr, - "6.ed4c30a3e8768f68010a.js.br", + __6D84415b3a87bb1b3232cJsBr, + "6.d84415b3a87bb1b3232c.js.br", ) } -func _6Ed4c30a3e8768f68010aJsBr() (*asset, error) { - bytes, err := _6Ed4c30a3e8768f68010aJsBrBytes() +func _6D84415b3a87bb1b3232cJsBr() (*asset, error) { + bytes, err := _6D84415b3a87bb1b3232cJsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "6.ed4c30a3e8768f68010a.js.br", size: 2549, mode: os.FileMode(436), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "6.d84415b3a87bb1b3232c.js.br", size: 2533, mode: os.FileMode(436), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var __7B3e6afa725f0f18df870JsBr = "\x1b\x2d\x13\x00\x8c\xc2\x71\xef\x31\x14\x53\x6b\x97\xb2\x44\x88\x48\xa6\xa9\x3a\xed\x4e\xf2\xe0\x41\x07\xba\x15\xea\xec\x69\x10\x3e\xbd\x6f\x7a\x9e\x36\xad\xd7\x97\x9d\xbd\x62\xeb\x08\x5b\xba\x23\x72\xbd\xbf\xba\x63\x26\x64\x84\x33\x46\xf6\x10\x84\x1c\xee\x5d\xeb\xb5\x40\xf6\x1b\xc3\xc6\x01\x97\x9d\xbb\x9d\xc9\x6c\xde\x05\x0e\x72\x08\xf9\x57\x00\xcc\x6e\x91\x2c\xb1\x23\x90\x40\x16\xad\x6e\xad\x43\x59\x1b\xe2\x6c\x2e\x29\x31\x06\xe4\x52\x9d\xfc\x6b\xf3\x51\x1c\x1f\xd6\xb9\x85\x1e\xcd\x2e\xd6\xd7\xee\x38\xc0\x87\x02\xcb\xde\xf3\xeb\xd7\x4d\x65\x3e\x5f\xce\x0f\x89\xfa\x3c\x85\x14\x32\x46\x18\xfe\xb0\x48\xff\x91\x9c\x40\x30\x72\x0b\x5a\xb2\x9d\x63\xb1\xce\x0b\xb5\xaa\xc8\x87\x78\x4e\xd0\x6f\xb7\xa7\xd6\x14\x09\x1a\x56\x40\x75\x21\xc5\x46\xa3\x94\x7e\x50\x1e\x5f\x57\x6d\xbe\xe2\xf3\xac\x82\x11\xc3\xeb\x8a\x2f\x7b\x03\xda\xe1\x7a\x36\x9f\x2d\xe3\x6d\x0b\xad\x52\xd0\xb3\x0a\x7d\xc3\xad\x48\x65\x14\x6f\xc8\xf8\x7f\xd7\x62\x19\xf4\xa8\xa4\xb5\x53\xd5\x75\x6c\x4d\x89\x32\x97\x84\x29\x79\x56\x9e\x26\x28\xfb\x6c\xc0\x2b\xb4\xa5\x2d\x88\x8b\xa0\x09\xc0\xe7\xe6\x32\xd8\x5a\x1e\xa8\x87\x49\x85\x8d\x41\x94\x1b\x52\x02\x5c\x13\x5a\xcb\xb3\xda\x89\xb3\x48\xaa\xf8\xf7\x5d\xba\xf6\xb4\xfb\xd1\x46\xc5\xe3\x1c\xe3\x71\x4d\x12\x3f\x8c\x53\xa2\xfe\x21\x2a\x82\x4e\xa7\xe1\xfa\x18\xae\xeb\xf4\xdf\xe0\x6a\x2e\x1e\xf8\xcb\x75\xcb\x1a\x81\xa6\x53\x72\xb9\x9c\xef\xdd\xe3\x61\xd1\x10\x9f\xec\x68\x90\xdd\xc3\x64\x12\x6d\xf8\xf4\x49\x7f\xf6\x04\x78\xc4\x8c\x0f\x1b\xa3\xce\xa2\x67\x92\x35\xc2\x7f\x1a\x8a\xee\x07\xcc\x69\x40\x13\x66\xf1\x33\x06\x84\x56\x2e\xcc\x5a\x91\x6f\xf6\x0e\x16\x18\x3e\xa5\xba\x62\xd0\x77\xaf\x9f\x91\x0c\x62\x3b\x5f\x81\x71\x53\x9d\x23\xc6\x81\xbf\xbc\xb0\x75\xf6\xb1\x77\x70\xcc\x10\xb7\x92\xef\x2d\x54\x74\x0b\x4b\x8c\xb7\x78\xba\x1e\xc9\xf3\xe5\x5a\xcc\x8a\xa5\xd7\x16\xe2\x9c\x77\x36\xbf\x8e\x9e\x39\x76\xda\x5a\x44\x28\xc1\xbf\xae\x24\x73\xfc\x05\xcb\x3a\x33\xe9\x19\xe5\xc4\x24\x56\x4d\xda\xf2\x9c\x43\x93\x0c\x47\x71\x1e\x51\x74\x16\xd2\x2b\x78\x62\x29\x73\x66\xe5\x8f\xe5\x6d\x55\x6a\x78\x15\xa4\xce\x19\x46\x24\xdc\x96\x6e\x5f\x6d\x6f\xd2\xe7\x91\xbf\x5b\x41\x30\xbf\xdf\xa2\x98\x84\xf2\x40\xe1\x40\x55\x3c\x50\x45\xda\x34\x8b\x33\xdc\xcc\x63\xd9\x14\x2f\x23\x33\x3a\xa3\x59\xdd\x28\x19\x8c\x90\xd2\x32\xcf\x10\x7b\xa1\x0c\x62\x9b\x5f\x5d\x88\xd0\xad\x78\xb2\xe4\x27\x68\xe0\x93\x25\xad\xad\x7c\xf5\x1f\xf6\xe7\x79\x69\x81\xc5\x48\x8f\x6a\xd2\xaa\x6b\x84\xb6\xcb\x59\x15\x0c\x73\x9b\xcc\xf3\x9c\xb2\x03\x9f\xba\x35\x85\xc8\xec\xf6\xa4\xd3\xa0\x3e\xf0\xa5\x9d\x5e\xf0\xa9\x30\x50\xa5\x0c\x3e\xf6\x09\xc6\x51\xa7\xad\x29\x3f\x70\x15\x3e\xe0\xc5\xdb\xe6\x3e\x0d\xf9\x0b\x92\x5a\x02\xc2\xa6\x0a\x84\xcd\x31\x40\x9c\x4e\x46\x11\x34\x1a\xf7\x58\xd3\x06\xc3\xa1\x19\x66\xcf\x6a\x41\xba\xfa\x40\x09\x42\x8d\xad\x5f\x85\x68\x24\x29\x32\xaf\x46\x2a\x85\x19\xdc\x76\xc6\xc1\x51\x5a\x5a\x3a\xcb\x62\xe6\x06\xbc\x9a\xee\x8d\x30\x8d\x10\xd2\x48\x0f\xb0\xe1\x91\x41\x9a\x92\x45\xd8\xac\xb6\x63\x8f\x26\xb0\x28\x70\x4e\xdb\xf5\x02\x57\xde\xc3\xc4\x72\xbe\x6d\x4f\x6b\xae\x66\xa0\x73\x2c\xad\x11\x60\x5e\x37\x1d\xde\x4c\xf4\x3e\xb8\x79\x0f\xc5\xf1\x0c\xd9\x4c\x88\xb2\x8a\xa0\xc0\x2a\x04\x81\x19\xc3\x2e\x68\x0c\xb7\xa8\x95\xd2\x5a\x35\xc1\x91\xf6\x76\xb8\xc8\x66\x06\xe8\x17\xcb\x1c\xbf\x1c\x9c\x3d\x01\x5f\x21\xbd\x7c\x03\xd7\x8a\x40\x80\x29\x41\xd2\xf0\xde\x97\x14\xe0\x04\x03\x14\x53\xcc\x07\x9e\x19\x8c\x90\x15\xf4\x59\xf3\xeb\xb4\x92\xcb\x29\xe8\xed\x99\xfd\xef\x88\xa4\x48\x21\xa3\x62\x6f\x5d\x7a\x91\x87\x4f\xd0\x95\x2c\x83\x03\xa4\x41\x2d\xe1\x48\x59\xb1\x43\x3c\x96\xf9\xd6\xe8\x4d\xd4\x40\x39\x46\xf9\x2c\x9d\x60\xc0\xe8\x6e\x12\xc2\xed\x0b\xdb\x38\xc1\xa1\xb9\xb5\xcd\xd3\x54\x30\xd2\xe7\xf7\x90\xf8\xba\x21\x80\x92\x4b\x6a\x80\x37\xce\x06\x7a\x76\x76\x88\x08\x05\x84\x52\xcc\x67\x22\x11\xd5\x7f\x37\xa5\xe1\xc9\xb2\xc9\x2d\x4a\xb5\x58\x88\xa9\x83\x4b\x42\x35\x8e\x5b\x1a\x47\x62\x51\x02\x8f\xd5\xc5\x8f\x1e\xb0\x42\x1b\xb5\xfb\xbf\x2b\x3f\xfb\xc5\x69\x36\x9d\xfe\xf8\x7b\x16\xea\xba\x58\x40\x43\xc0\x4a\xc5\xd5\x1b\x0d\x66\x85\xe4\xc3\x33\xd8\x6b\x30\xd8\xce\x81\x59\x04\x62\xf0\x45\xa9\x44\x48\x3a\xf7\xa3\x17\x34\xe6\x60\x6f\x35\xde\x96\x8d\xcc\xb5\x3d\x8d\xb7\x63\x7d\x83\xbb\x83\x97\x78\xc4\x1d\xd3\xf1\xfd\x2a\x84\x68\x9c\x35\x75\x0c\xe9\x7b\x8f\x13\xe6\xec\xbc\x56\xe8\xc1\xaf\xec\x21\x82\x50\x94\x6a\xa8\x03\x22\x8e\xa0\x8a\x60\xba\xf4\xc4\x94\xe7\x64\x19\xce\x26\x7c\x46\x4f\x26\x5a\x5a\xc7\xca\x7b\x9c\x56\x9d\x2d\xf1\x20\x59\x3e\x3f\xb1\x7a\x27\x78\x23\x24\x5f\xe9\x24\x0d\x8a\xc4\xed\xbe\xfa\x78\xf2\xd3\xa9\xbf\xaa\x2a\x30\x05\xe0\x48\x6d\xdd\x43\x94\x5f\xa3\xe6\x98\x4f\x78\xbf\x3a\xfc\xe1\x50\x2e\x29\x6d\xf5\x73\x2c\x10\x04\xab\xe5\xe6\xbb\x5e\x94\xa6\x6d\x4b\x27\x78\xa9\xe2\xff\xe2\xc9\x7d\xad\xe9\x24\x3c\x79\x84\x41\x41\xf3\xb2\xaf\xa4\xf8\x8c\x09\x0c\x07\xcf\xb9\x7a\xc8\x7e\x1c\xca\x57\xde\xb0\x27\x97\x32\x18\x19\x56\x2d\xd7\x0b\x6e\x3b\x86\x26\xfe\xc9\xfb\xa5\xef\xc1\x74\x51\x25\xdf\xd9\x44\xb7\x73\xe1\xa2\x92\x4c\x8c\x55\x7a\x83\xcd\x40\x58\xa5\x04\x84\x4a\x91\x06\x5d\xcf\xd3\x05\xaf\xe9\x17\xb5\x3a\x4f\xdc\x47\xac\x2c\x73\x1f\xc9\xa0\x56\xef\x16\x1a\x2f\xc4\x29\x80\x2b\xaa\x13\xa9\x3d\x8d\x9d\x9f\x3b\x70\xf7\x10\x85\xd9\xcc\x4a\x73\xf2\xe8\xb4\xd5\x0d\x0f\x98\xc0\x00\xb2\x28\x1f\x1a\x74\xd9\x09\x68\x8a\x93\xd1\x3b\x16\x12\x88\x69\xd4\x1a\x00\x72\xf0\x80\x5a\xe6\x44\xd0\x69\x51\x04\xc8\xb8\xf8\x23\xb3\x38\x29\x23\x63\x92\xe1\x48\x44\xef\xf3\xb6\x2e\x3d\x9e\x34\x3b\x30\xc7\x51\xb3\x73\xca\xd4\x08\xbb\x66\x34\xd0\xef\xa1\x67\x8b\xd4\xda\xb9\x86\x5a\x8d\x47\x26\x97\x9b\x56\x37\x8a\xc3\x24\xe9\xb6\x34\x05\x90\xdc\x3d\x3f\x18\x21\xf6\x93\x02\x83\x91\x31\xe2\x68\xf3\xec\x27\x6b\x00\xc9\xe7\x62\xbb\x01\x3b\xb1\x5d\xce\xc0\xb1\x5a\xcf\x15\x7b\xbb\xe0\x6b\x58\x4e\xf0\x3d\xa6\xf3\x35\xed\x12\x8a\xa6\x78\xa8\x29\x05\x8d\x15\xe5\xca\x21\x20\xc7\x87\xcc\xe0\x77\x65\x5b\xd5\x6f\x3a\x77\xa4\xc3\x39\x0d\xad\x93\x77\x38\xa7\xa5\xa9\xf3\xe6\x39\xa4\x25\x13\xc6\xbe\x50\x4a\xfb\x9e\xbb\x3d\x16\xd2\x91\x02\xbe\x02\xd5\x0c\x29\x56\xfc\x4c\x89\x91\x7c\xa3\x4f\xfc\x0e\x6b\x49\x9a\x59\x11" +var __75bbf24ff044a95c2a3eaJsBr = "\x1b\x58\x14\x00\x1c\x85\x4d\x99\x3d\xf6\xe3\xd8\x9a\xd3\xb4\xd7\x07\xd6\x92\x96\x48\x1a\x21\xc9\x2c\xf4\xa6\xef\xaa\xfa\xe4\xd1\x1b\x76\x74\xa9\xc3\x08\xaa\xe2\x13\x92\x2f\xe5\xce\xd6\x66\xba\x7a\x7d\x73\xba\x66\x53\xb2\xa5\x9b\x2b\xa5\xbe\xba\x71\x04\x68\x62\xe4\x8c\x2c\xc8\x64\x4c\xa0\xe6\xd6\xf2\x35\x7c\x98\x0c\x19\x29\x92\x9a\x47\x73\xa5\xbd\xdc\x93\x7d\x16\x8e\x8d\x41\xa1\xde\xc9\x9b\xd9\xc9\x06\x0f\xf6\x36\xcf\x90\xfc\x73\x09\x36\x29\x53\x52\x24\x07\x2c\x81\x5d\x85\xa9\xb4\xad\x75\x28\x64\x3d\x87\x29\x4d\x7b\x11\x1d\xd2\x6c\x2a\xaf\xd4\x21\xe4\xac\x7b\x71\x2d\xc4\x40\xdf\x96\xa5\x85\x19\xcd\xce\xd4\x3d\xfc\x3a\x2e\xf0\xe1\xa8\xca\x3e\xf0\xeb\xd7\xd5\x52\x4e\x95\x2f\x53\xdf\x66\x10\x46\xd5\x61\xf7\x87\x55\xfe\x17\x0a\x0a\xb5\x22\xd7\xd1\x42\xed\x84\xcd\x5b\xd3\x43\x8c\x47\x3d\x36\x2d\xe9\xb3\x0e\x96\x1c\x67\xa0\x32\x46\xc4\x96\x27\x69\x53\x1a\xc3\x50\xc0\x37\x87\x21\x1e\x7a\x2d\xd6\xaf\x92\xbc\x57\x3e\xbe\xa1\x5e\x7d\xc9\xe7\x3d\x06\x7a\x8a\x77\xeb\x8a\xda\x11\x34\x0e\x97\x76\xcc\x33\x92\x92\xe9\x52\xd0\xcb\x0e\xb3\xc7\xcd\xe6\x59\x8c\xca\x22\x6f\xf0\x99\xf9\x43\xd3\xa3\xe1\x31\x8e\x27\x1e\xc6\x1f\xe1\x28\xd5\x66\x39\x57\xb4\xeb\x71\x0a\x2e\x45\xd4\x64\xeb\x7d\x45\x5c\x89\x04\x20\xe4\x5a\x9e\xfc\xa6\xdc\x33\x1f\x16\x42\x4e\xa8\x3a\x12\x9b\x23\x0c\x64\x8c\x32\xda\xa1\x75\x92\xc8\x88\x3e\xfd\x24\x1f\x26\xd9\x5d\x68\x65\xe2\xf2\x8e\x7e\x0d\x72\x70\xeb\x5f\x9a\xfa\x87\x98\x28\x42\x1c\x77\x58\xc4\x1a\x66\x33\xfb\x37\x85\x4d\x29\x8c\x5f\x75\xfc\x61\x6b\xa4\x32\x67\x2d\x0f\x95\x3b\x77\xea\x70\xc0\x11\x9f\x6c\xee\x90\xb6\x0d\x2e\xd3\x42\x57\xa6\xff\x16\x07\x30\x55\xa4\xad\x9c\x7d\x03\x7e\x04\xd9\x31\xff\x4c\x16\xbf\xbe\xdb\x98\x06\x74\x41\xd1\x47\xe1\x40\x8b\xed\x39\xce\x0d\xf0\x61\xff\x85\x93\x80\x66\xfe\x1e\x25\x12\x6a\xa7\x0e\x31\xd4\x4e\x8a\x1a\xbe\x38\x6b\xe5\x1f\x2a\xc3\x8e\xe2\x98\x95\xdd\x87\xa2\xaf\x33\xd1\xbd\x2c\x13\x19\xff\x6c\x93\x92\x53\x0f\x7d\x1b\x98\xa5\x38\x42\x9a\xd3\xce\x96\xf6\x93\x02\xff\xc5\xd1\xa8\x6a\x0d\xff\xba\xb2\xae\xf1\x06\xeb\x09\x86\xed\x9e\x09\x6a\x92\xad\x5f\xe3\xf2\xa4\xc3\xd0\x0c\xc5\x60\x1e\x93\xe3\xa4\x79\x61\xd8\xf9\x05\x83\xc1\xfd\xc1\x7a\x1c\xe1\x4d\x0d\x6a\x91\x19\x7b\xaa\x44\x38\xa8\x6e\x5a\x6f\x0e\xf9\x73\xcf\x7f\x64\x41\xc0\xe1\xcf\x18\x85\x54\xee\x19\x9c\x68\x13\x6a\x3c\x25\x96\x4d\xe2\x28\xc7\x7b\x74\x52\xb9\x59\x62\xc2\x66\x32\x7e\x13\xd9\xc0\x33\xf9\x40\x19\xa5\xf6\x1c\x18\x2d\x36\xa7\x22\x03\xf1\xeb\x9d\xa2\x5f\xdd\x87\x4f\x1f\x45\x19\x48\x0a\x0b\x98\x54\xa7\x47\x13\x99\x7e\xf8\x10\x65\xe1\xf6\x68\x06\x42\x39\x5a\xc5\xec\xa8\x28\xe0\x7a\x07\x0d\xaa\xa0\x9b\x52\x1c\x37\x2d\xa4\x4e\x34\x7a\xc9\x7f\xc8\x44\x1b\x78\x19\xb2\xcf\xa8\x96\x71\xfc\xbf\x49\x93\x6e\x02\x0d\xf7\x71\x6b\xd3\x68\xc8\x2f\xc8\x6b\x0d\x00\xf5\x00\x1c\x04\xc2\x32\x9b\x44\x18\x28\xee\xf3\x66\x0d\x16\x46\x13\x94\xc0\xce\x5c\xd4\x9f\x53\x0a\xbe\xb1\xe1\xab\x24\x8e\x13\x75\x79\x3d\xa8\x14\x45\xdc\x4f\xcb\xc1\x7e\x2d\x27\x09\x56\x54\x4c\x8d\xd8\xa7\xb3\x63\xf2\x08\x31\xb5\x4e\x12\x0d\xb7\x9e\x85\x32\x39\xbd\x42\x91\x4d\xd4\xc5\x58\x60\x82\xb8\xe5\x5e\x6e\x70\x37\x66\xa7\xca\xa0\x65\xf3\x9c\x76\x80\xb5\xc1\xa0\x12\x7a\xb7\x99\xf8\x26\xa2\xcf\xc5\xcd\x67\x2a\xce\x15\xda\x26\x92\xa8\x29\x12\x83\x49\x83\x82\x9c\x31\xfe\x82\x38\x18\x3c\x34\x36\x1e\x7d\x03\xfb\xed\x4d\x87\x98\xb1\x1c\x74\xc7\xcc\x19\xcc\x9e\xeb\x26\x14\x2a\x62\xa6\x6f\xa8\xb2\x01\x00\x88\x4a\x58\x34\x9a\x40\x48\x03\x4c\x41\x00\x0a\xca\x10\x7b\x8a\x03\x9d\x48\xd8\x35\xf9\x09\x7e\x1d\x2f\xea\x98\x60\xc6\x67\xd6\x7b\xa4\x35\x03\x75\x0c\xad\xfb\x99\xc1\x94\x91\x16\xda\xb8\xb3\x20\x23\x43\x46\x9d\xe0\x61\xb1\xfd\x4e\xc6\xde\x6e\x43\x33\x75\x82\x62\xd9\xf6\xb3\x7a\x87\xa6\x5f\x3d\xbe\xb0\x97\x01\xe6\xea\xd2\x7c\xf3\x34\xfb\x40\xfa\xdd\x3d\x6c\x6c\x2f\x24\x4f\xf6\x42\x1a\xa8\x8d\x72\x80\x19\x9d\x15\x21\x72\xf8\x91\x12\x53\x99\x4a\x36\xf5\xbf\xcd\xd8\xce\x44\xba\x67\xf7\xa8\xcf\xf6\x5c\xc3\x39\x05\x89\xb4\x34\x0e\x30\x8a\x66\xa2\x02\x1e\x6c\x3d\x8e\xbb\xa3\x07\x29\xd2\xd2\xdf\x55\x5a\xfd\xe2\xb4\xd2\x52\xdb\xbb\xab\x06\x43\xd8\xde\x8e\xa8\xae\xbf\x43\xa9\x90\xb5\x0f\x71\x92\x8d\xc5\xb5\xed\x7f\xf0\x19\x1a\x1b\x93\x0b\x16\x8f\x89\x9b\x5a\xbe\x3f\x0f\xde\x7c\x31\x3e\xfe\xb4\xac\x79\xf7\xb5\x6e\x3d\xa0\x9e\x11\xfc\xe9\x67\x1e\x49\x24\xe5\xb9\xed\xdc\x87\x6e\x08\x11\x88\x79\x61\x7f\x1f\x3b\xf3\xda\x39\x3e\x8a\x2e\x6f\x06\x9b\x3b\xa0\xe8\x5e\x16\xfe\x3a\x2b\x83\x62\x23\xd2\xf1\x9e\xba\x2b\xce\xb0\xab\x2d\xeb\x41\x56\xcb\x5d\x0d\x6c\x16\x74\x75\x99\x96\xcc\x38\xbd\x3c\x4c\xb7\x0b\x0b\x75\xb1\xa6\x29\x30\x95\xef\x71\xc0\x92\xe5\x9e\x53\x15\xfd\xb7\x4b\x1b\x62\x28\xbf\xf0\x2b\xa7\x79\xca\x7f\x9d\x69\x91\xc8\x4d\x4b\xea\xbb\x44\xfa\x4c\x92\x3c\x83\x29\xd5\xf0\x7b\x1c\x76\x9a\xa7\x32\x0f\xb9\xe7\x0c\xda\x42\x80\x45\xd7\x66\xe0\x80\xc2\x54\x1f\xec\xdf\x1d\x20\x5e\x9f\x47\x1e\x5f\xfc\xfc\x52\x43\x5d\xd7\xe0\xfa\x81\x4f\xeb\xc9\xd0\x44\xff\xeb\x35\x07\x7d\x1f\x9c\x18\xd9\xfd\xe1\xd2\x34\xa7\x58\xa3\x8c\x91\xb8\x2f\x6d\x27\x90\x48\xde\x54\x9e\xa8\x73\x1b\x30\x01\x52\x10\x1e\x17\x6a\x86\xdb\x4d\x9b\xc8\x5f\x9c\xd1\xa1\x0d\x3b\xb2\xd3\xa2\x89\x9a\xfa\x11\x0f\x74\xd5\x1d\x03\xa5\xc9\x87\xf7\x72\x81\x3e\x4b\xea\xf7\xf2\xdd\x9a\x66\x59\xa9\xcc\xb4\x27\x27\x66\x3b\x4f\x7d\xf3\xb6\x53\x63\x19\x5e\x30\x36\x95\x96\xd7\x91\x5e\x8b\x1f\x35\x7b\x6e\xa4\x20\x71\x8f\xb1\x33\xd0\xbc\xec\x07\xdf\xf4\x26\x0d\x75\x19\xc0\x75\x61\xaf\xc3\x28\x92\xaf\xbd\xa7\x43\x4b\xd9\x61\x32\x1b\x83\xe1\xce\x35\x45\xc1\xe5\xdc\xf7\xe0\x97\xbf\x11\xf9\xa2\xf1\x21\xca\xc1\xdc\xc2\x0a\x49\xd9\x2c\x8c\x63\x3f\x04\x36\xcb\xab\x79\x19\xd8\xb3\x84\xe7\xdf\x90\x15\xef\x69\xe4\x63\xc2\xb1\x87\xc8\xcd\xc8\xca\xc3\x30\x1e\x7d\x59\x6c\x9c\xed\x50\x04\x57\xd5\xa6\x72\x7b\x0c\x43\x18\x50\xd6\xfd\x50\xd9\xe8\xd4\x14\x71\x73\x29\xb7\xa9\x03\xa6\xf3\x40\xc1\x86\x0e\x03\x26\x82\x85\xec\x5b\x29\xe8\x5d\x93\x94\x52\xea\xb8\x4e\xb6\x6d\xd8\x21\x36\x28\x09\xa4\x3d\xa9\x00\x83\x44\xbd\xdf\x8f\x23\x92\x18\xd3\x0c\x45\x23\x2a\xda\x54\x2f\x3f\xad\xf0\x28\xb4\xc6\x5e\xec\xb9\x64\xf1\x93\xdc\x80\xb0\x1a\x46\xd8\xfb\x62\x11\x28\x29\xcf\x48\xac\x7b\x6c\x72\x3d\xac\xed\xb7\x72\xf0\xea\x7d\xeb\x5d\x05\x90\x87\xcf\xf7\x24\x88\xb3\xef\xc0\x12\x77\x4c\xd8\x6c\xd2\x4f\xb6\x92\x92\x36\xd4\xae\xa0\x0f\xb5\xb3\x82\x4f\x23\x3e\x38\x36\xdd\x27\xbe\x94\x21\x6a\xbc\xf7\xe5\x11\x55\x13\x21\xe5\xe0\xfa\x1b\x1c\x66\xb9\x00\x7d\xf1\x91\xa3\xf8\x3c\x1d\x6d\x93\xbd\x87\x63\xa2\xf7\x06\x65\x13\xbd\xaf\xa1\x3a\xde\x3b\xe2\x31\x50\x73\xca\x69\x65\xeb\xfe\x60\xc8\x47\x11\x68\x81\x91\xac\xec\x0c\xf5\x42\x59\x9f\xc4\x57\x7c\xe7\x33\xf6\x7c\x32\x91\x1b\x55" -func _7B3e6afa725f0f18df870JsBrBytes() ([]byte, error) { +func _75bbf24ff044a95c2a3eaJsBrBytes() ([]byte, error) { return bindataRead( - __7B3e6afa725f0f18df870JsBr, - "7.b3e6afa725f0f18df870.js.br", + __75bbf24ff044a95c2a3eaJsBr, + "7.5bbf24ff044a95c2a3ea.js.br", ) } -func _7B3e6afa725f0f18df870JsBr() (*asset, error) { - bytes, err := _7B3e6afa725f0f18df870JsBrBytes() +func _75bbf24ff044a95c2a3eaJsBr() (*asset, error) { + bytes, err := _75bbf24ff044a95c2a3eaJsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "7.b3e6afa725f0f18df870.js.br", size: 1483, mode: os.FileMode(436), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "7.5bbf24ff044a95c2a3ea.js.br", size: 1609, mode: os.FileMode(436), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var __86edda2ef78269650782aJsBr = "\x1b\x4b\x50\x23\x92\x72\xda\x81\x00\xa0\xd6\x05\xdc\x90\x81\x31\xae\x7d\x89\xc5\xa9\xa2\x1a\x69\x78\xce\xdc\x92\x5a\x8c\xa8\xf0\x00\xe5\x23\x13\xd3\x0a\x5f\x55\xf8\x29\x46\xc2\x54\xf5\x6e\x55\x45\xf9\x7c\x7e\x33\x7e\xbe\xef\xb4\x5a\xeb\x53\xa7\xf3\xdf\xf6\x09\x65\x84\x24\xb3\xe6\x4f\x7d\xa7\xd9\x0c\xf7\xe5\x54\x94\x32\xde\xb2\x64\xfd\xa5\x82\xed\x14\xc8\xc3\x72\xaa\x56\x5f\xcd\xff\xfa\x4d\xd4\x37\x94\x9b\x96\x73\xed\xf6\x1b\x33\x1f\xe9\x9a\x46\x61\xe8\x6c\x3a\x22\x2a\x93\x01\x49\x67\x19\xb1\x9a\x96\x45\xe9\xbd\x14\xcd\x34\xa3\xf8\x80\x16\x49\x72\x99\x8a\x60\x6d\xcb\xff\x8f\xdf\xdb\xd4\x4e\x57\x59\x07\x32\x8a\xbf\xd9\x72\xdb\x21\x93\xd2\x1a\xdb\x08\x9a\xa4\x03\x0f\xc9\xee\x40\x42\x73\xe5\x54\x21\xd7\x39\xa2\x4d\x41\xa9\x95\xff\x96\x38\xe9\xd2\x12\x63\xeb\x27\x9f\x4a\x9f\xb9\x99\x70\xaf\xe9\x02\xec\x02\x8d\x88\x52\x5f\x54\xd4\xb8\x36\xdc\x5c\x4f\xd9\xff\xdf\xa6\xbd\xed\xe8\x1b\x4b\xff\x50\x49\x50\x54\xa9\x8d\xc1\x6a\xcf\x6f\xba\xb4\xac\x77\xef\xbb\xef\xec\x1b\x69\xbc\x2b\x69\x25\xb3\x0c\xb2\x17\x58\x0b\xda\xe5\x07\x23\x1f\xcd\x8c\x72\x22\x8d\x95\x1c\x19\x3e\x78\x59\x1f\xc8\x1b\x22\xec\x53\x34\xa9\x80\x3b\xc0\xb2\x4c\x9b\x3a\xea\x4d\xf5\x3e\x4d\xc8\xfc\xd3\x63\xac\xea\xea\x76\xda\xef\x19\x35\x45\x44\x04\x2c\x6b\xdb\xb4\xac\x31\xb5\xdf\x9f\x72\xcb\x36\x34\x5b\xab\x11\x77\xd8\xe1\x23\x25\x94\x7d\x9a\xba\x7e\x52\x99\xca\xe3\xad\x00\xf5\x17\x22\xa0\x51\xf0\xe7\x86\x4f\x6a\xf4\xb9\x7d\x2b\xa3\xad\x3e\x04\xa2\xb9\x92\x24\xb1\x94\x41\x9a\x61\x32\xcf\x3b\xa4\x8a\x1c\x89\xed\xfb\xc9\xf6\x09\x41\x49\xad\xfd\x18\xc9\xa1\x18\xea\xe4\xda\xdb\x34\x43\x4d\xe6\xfa\x64\x62\x7c\x54\x08\x85\x04\x24\xa0\x52\x96\xcc\x28\x32\x35\x41\x74\xa6\xca\xb3\xc4\xf1\xb7\xb4\x41\x6f\x5f\xd4\x09\xe4\xfc\x41\x59\x78\xf3\xe1\x6e\x76\xe9\xcf\xb0\xb6\x95\x8f\xb7\xf8\xa9\xe1\x84\x53\x65\xa3\x78\x29\xed\x0c\x58\xee\x14\x82\xfe\x19\x4c\x80\x88\x2c\x4f\x12\xff\x9d\x16\xed\xc0\x45\x6f\x79\xd3\x8b\xaf\x4f\xad\x92\x5b\x41\xe8\xa6\xd8\xa8\x52\x3d\xcd\x04\xde\xec\x59\x00\x1f\x96\xea\xa2\xf0\x6f\x7f\x23\x32\x27\x2e\xce\x3b\x81\x11\xee\x05\x75\xe2\xf2\xe1\x61\x13\x96\x04\x9f\xc9\xc8\xa9\x94\x6d\xa4\xe6\x89\x03\xfc\x8d\x3c\xe8\x56\xbc\xe6\xad\x2f\x72\x99\x18\xf0\xa1\x2f\x90\xb3\xe5\xc4\xeb\x09\xac\x5a\xd9\xd7\x21\x34\xef\x36\x18\x72\x0a\x71\xc3\x48\xe8\x35\x20\x10\x0c\x95\xc1\x32\x54\xd6\x77\x8c\x28\x62\x44\x35\x23\xe0\x27\xdf\x28\x6a\xaf\x52\x59\x89\xa7\xa4\x07\xf5\xf9\x2e\x5b\x8c\x45\x8b\xb5\xb0\x8e\x6b\x8b\xa7\xa2\x60\x4c\x22\x9b\x45\xc6\x98\x71\xfc\x24\x8a\xe6\x03\xb9\xfc\x73\x77\xbf\x07\xde\xa3\x8f\x35\x74\x13\x67\x06\x1c\xe5\x09\x22\x00\xb8\xad\xed\x11\x01\xdb\x68\xf1\xad\x13\x4b\x60\xfd\xc2\x13\x7a\x6d\x61\xb1\x18\x3e\xf0\x4e\xbd\xa1\x85\x58\x54\x4d\x62\x09\xb6\x00\xfb\x68\x16\x7b\xd1\x82\x3a\x98\xd5\x8a\x30\x17\xef\xfa\xbb\x76\xc3\x48\x25\x5b\x09\x61\x17\x55\x24\x63\xa4\xf1\xe4\xf9\xf2\x09\xad\xe6\x4a\x2f\x67\x91\xe4\x8a\xea\x02\xa3\x28\x1e\xe6\x4e\xee\xae\x36\x7d\x1a\xf3\xb2\x3e\x99\xd7\x66\x78\xb2\x32\xe7\xbc\x03\x9d\xa5\x6b\x2c\xaa\x19\xb6\xd8\x86\xa8\xe2\x0c\xcf\x31\x2f\xaf\x1c\xf5\x78\xeb\xda\x0a\x02\x47\x9e\x0f\x1f\xaa\x0e\xae\x6d\xd4\x99\x90\x7c\xb4\xe8\x91\x9f\x94\x2e\xd2\x66\xb4\xf4\x65\x13\x48\xab\x79\x14\x73\x9d\x84\x67\x34\x36\x95\x83\x0a\x0f\x6d\xb7\x63\xe2\xf5\x06\xbb\xee\xe3\xab\xcc\x77\xdb\x30\x86\x00\x2c\x1c\xf7\xe8\x02\xfd\xf5\x72\x83\xd0\x0f\xa0\x37\x3d\x7b\x17\x43\x6b\x01\x49\x1d\x24\x49\xbb\x6e\xe9\x64\x97\xe8\xcc\x46\xae\x84\x18\x88\x5f\xc0\xb2\x61\x58\x0f\xfd\x6c\xe1\x63\x9f\x36\xb0\x7b\x82\x29\x39\x43\xc6\x4c\x9a\xec\xcc\x64\x58\xca\x78\x7f\x79\x56\x64\xb3\xb3\xb1\x3b\xe7\x24\x0e\x38\xae\xe4\x79\xf5\x16\xcb\x3c\x0b\x5f\x71\x95\xb2\x99\x9b\xe4\xdb\x39\x8f\x27\xfe\x92\x36\xb4\x46\xcc\xa5\x7a\xbb\x0e\xf1\xd0\x36\x94\xc8\xd5\xb7\x00\x5f\x6c\x49\x30\x5c\x07\xad\xdd\x56\xd6\x87\xf5\x71\x89\x05\x5c\xc0\x21\xe1\xe8\x0a\xa8\xc4\x37\x7b\xdc\x79\xd1\xf5\x82\xc6\x25\x04\xb0\x06\x84\x33\xff\x5b\x11\x67\x6f\x8d\x4b\x09\x04\xf0\x2e\x9c\xf3\xe2\x46\x2b\x8d\x05\x8c\x26\x2a\x59\xe0\xce\x72\x7e\x8f\x5a\x4e\x98\xe9\xb4\xe5\x16\x9f\x54\xe4\x1b\xf7\x60\xdd\x10\xd2\x3c\x10\x4b\xb9\x24\x98\xc9\x38\x93\x55\x88\xda\x95\xc6\xc0\x85\x4c\x13\xe2\x8d\x71\x84\xc3\xf5\xfd\x35\xbf\x99\xee\x62\x84\xd9\x0d\xbb\x4b\xb3\x2e\xe3\x4d\x62\xe5\xd3\xe2\x99\xfb\xe1\xaa\x0c\x6b\x93\x9a\xa6\xed\xae\x01\x02\x64\x36\x76\x87\xc4\x5d\xd0\x79\x81\x75\x90\x83\x10\xed\x44\x36\x48\x0f\x8a\xbf\xd6\x9b\x80\xba\xd9\x4c\x86\xdb\xf6\xb4\x6b\x7c\x60\x36\xaa\xf7\x9c\x35\x82\x24\x51\x12\x90\xe4\x52\x7e\x5e\x02\x09\x5c\x42\xdb\xc2\xc2\x93\x12\xc9\x42\xc0\x55\xc7\xdb\x90\x05\x75\x1f\x86\x74\xdd\x39\xcc\x8e\x27\x52\xe0\x5b\x20\xbb\x8d\x57\x52\xae\x7f\x1a\x3d\x5a\x40\xdd\x15\x40\x56\x83\xd0\xce\xd1\xd0\x3e\xc2\x9e\x0c\x81\x35\x07\xa6\xb3\xb0\x6d\xc7\xb7\x8b\x14\x16\x1f\x09\x3c\x16\x80\x5d\x34\xc4\x4e\x81\xa0\x60\x0b\x8c\x44\x84\xd2\x04\x3c\x22\xff\xcf\x00\xaf\x7e\x44\xae\xbf\xe3\xab\x58\x2c\x2b\x32\x2a\xfd\xc5\xc8\x42\x9b\x2b\x63\x64\x2a\xd2\x35\x2d\x23\x1b\xbf\xbb\x1a\xcc\x9a\x38\x6c\x6a\x62\xe5\xea\x5f\xc7\x6a\x6f\xa6\xb9\x05\xe7\xe1\x36\xe8\x00\x68\xb2\x32\x8b\xa7\x4f\x8c\x00\x60\xcb\xc1\x94\x93\x2a\x16\x2d\x47\x72\xeb\xcd\x53\x40\x24\xc9\xb2\xe0\x76\xb4\xfe\x5b\xa7\x22\x82\x38\x16\x62\x0d\xc0\x84\x54\xc3\x61\x29\x47\x07\x2d\x16\x68\xde\x49\x89\x89\x6f\xde\x2b\xc5\x89\x1a\x83\xa4\x96\x15\x75\x0e\x9f\x0c\xb8\xcf\x5e\x77\xb7\x77\x5b\xc2\xd8\xd3\x83\x66\xb3\x95\x52\x03\x90\x18\xb5\x73\x03\x41\xcc\x03\xf2\x46\xb0\xe4\xfe\xc0\x21\xf6\x5f\x3c\xab\x84\x21\x5f\xe5\xa8\x27\xb4\xea\x98\x5f\xad\xf0\x92\x2c\x60\xc7\xce\xf6\x38\x9d\x57\x2f\xaf\xcb\xb7\x5f\xc2\xe5\xc6\xac\x45\xc1\xdf\xf9\x0b\x6b\x51\x9a\x50\x8a\x91\xe4\x5e\xda\x42\xef\xf3\xd5\xcf\xc6\xa0\xf7\xf3\xb6\x1e\x1b\xda\xc7\x9b\xc4\xc1\x45\x69\x2c\x77\x5b\x05\x55\x75\x34\x69\xf3\xbf\x06\xc3\x78\x1c\x5a\x7b\x1b\x82\x6a\xb9\x42\x73\x4c\x41\x7a\x24\xc2\x24\xe4\x39\xd2\xcc\x11\x52\x38\x2f\xb3\x4d\x86\xc9\xe1\x98\xaa\xdb\x9e\x3e\x55\x1c\x9e\x7a\xe1\x9d\x42\x7e\x1c\x7c\x0c\xb3\x34\x8f\xb8\x41\xb2\x5f\xfe\xe2\xd6\x50\x80\x2c\xef\x1f\xdf\xa2\x7f\x4e\x9c\x87\x2f\xea\x97\x74\xd5\x1d\x2f\x00\x92\xff\xd8\xa7\x20\x76\x2e\x27\x2b\xb5\xf1\x21\x14\x92\xc6\x57\x11\x90\xa2\xb9\xbe\x7e\x18\x02\xc8\x3d\x69\xbc\x1c\x9b\xe9\x17\x64\xa5\x44\x47\x71\xd7\x35\x47\x91\xf1\x0a\x53\xb0\x35\x1d\x9f\x10\xd0\x6b\x05\x91\xff\x4a\x6e\xc3\xab\x9e\x49\x3f\xb0\x32\x82\x44\x04\x28\x67\xa7\xe9\x10\xce\xf6\x55\xa6\x50\x2e\x66\xb0\x33\xf2\x3d\xb8\xd1\x98\x9a\xf0\x94\xbf\xeb\x41\x47\x2c\xfb\xda\x54\xd8\xc2\x42\xc6\x4b\x9c\x99\x30\xcb\xd2\x21\x54\x4b\xcf\xbd\x4c\xca\x41\xde\x0f\x07\xf5\xe6\xfa\x62\xa9\x07\x17\xa1\xf0\x54\x4b\xc5\x08\x0b\x47\x7a\xf6\xed\xc1\xae\xa2\xa8\xf5\x2b\x16\x10\x80\x51\x7d\x36\xee\xa9\x68\x64\x82\x82\x72\x16\xb1\x24\xa1\x70\xb2\x15\x2f\x25\x61\xc1\xf0\x1a\xcb\x82\xd9\x69\xa8\xae\x09\xa5\xe4\x02\xfa\x13\x0b\xe7\xc6\x35\xdb\x75\xff\xb6\xe5\x81\x6a\x27\x53\x49\x97\x44\x8a\x91\x4f\x79\x90\x42\x02\xd8\x5e\xfe\xb7\x77\xc7\xfe\xca\x66\x8f\xe7\xcf\xc0\x99\x5c\xe1\x1d\xae\x13\xcf\x14\xb0\x8e\x40\xfe\xa1\xcf\x53\xca\x22\x92\xa2\x65\x05\x2b\xce\x3e\x99\x24\x0a\x49\x45\x38\xdb\x84\xd4\x8a\x83\xda\x4f\x69\xe1\x11\xf1\xc3\x10\x04\x55\xa8\x24\x4f\x0f\xe4\x4d\xbd\xe5\xc5\x02\x49\x84\x96\xb4\xac\x29\xa1\xda\xd3\x18\x12\x18\x79\x03\xc4\x15\xe2\x03\xd9\x84\x3e\x98\xfe\x31\x43\xde\x58\xb9\x98\x2c\x80\x71\x3a\xa8\x7a\x08\x9d\x50\x40\x1b\xad\x61\xe8\x35\x4f\xb6\x44\x19\xe5\x67\x53\x7a\xfc\x77\xee\x29\x12\x65\x4f\x4b\xe7\xcb\xd6\xc2\xfe\xc2\x3d\xcf\x08\x3b\x45\x8d\x61\xc0\x18\x48\xb7\x91\xda\xb9\x6b\xde\x2e\x23\xf5\x68\x8c\xa5\xe7\x6f\x2d\x09\xf3\x39\x67\xee\xa4\xf9\x98\x97\xea\xe7\x16\x50\x72\xa9\xf4\x61\xbe\x47\x8e\xf6\x86\xae\xf9\x41\x81\x25\x99\xfd\x02\xc3\x99\xd6\x3d\x5e\xab\x4b\x2a\x69\x8c\x16\x8b\x15\xa2\x7e\xc8\x14\x1c\x82\x7c\x99\xfe\x0a\xc5\x3b\x31\xef\x71\x07\x7b\xea\x4f\x76\x98\xd0\xca\xf6\x15\xcc\xb4\x52\x7f\xf7\x47\xa2\x54\x68\x73\x5d\xb6\x56\xaa\x5c\x80\x04\xd9\x02\x8d\xa1\xc3\xd6\x4e\x8a\x85\x92\xf5\xa7\xf2\x2e\x35\x79\x3f\xa2\x7c\x23\xb7\x1c\x3e\x83\x59\x0b\x90\x77\x96\x4a\x1b\x0c\x2c\x89\x98\x20\x4a\x7c\xdb\xc8\x02\xd8\xe6\xf8\x64\x08\x5f\xaa\x5b\x9e\x38\x76\x1b\x03\x79\xfb\x6e\x0e\x62\xdc\x0e\x07\x60\xf2\x0e\x5f\x96\x08\x0b\x90\x74\x82\x5a\x1b\xa3\xd7\x7c\x00\x3f\x0d\x05\xea\xf2\x22\x0d\x61\xdb\x15\x9b\x3b\x1f\x8a\x5e\x40\x9e\x85\x21\xb4\xf7\x0a\xf5\xf4\x63\x9f\xb2\x2b\xa7\xb7\xb1\xbb\x7e\x3f\x29\x42\x6c\xae\x7a\xac\xc6\xf3\x3a\x0b\x12\xb9\xcc\x1c\xd5\xa2\x8b\x4b\x30\xa9\xb6\x65\xbf\xfe\x26\x5d\x74\x95\x42\x13\xe7\x60\x56\x6f\xdf\x6b\x6a\x8d\xfd\xaa\xc7\x2f\x53\x39\x1c\x25\x7a\x56\x2c\x18\x8d\xb2\x72\x9d\x12\x6f\x0a\xde\x36\xfd\x47\x8a\xb9\xd4\x67\x90\xf0\xd4\x0c\x60\x4e\xba\x0b\x82\x53\x86\x39\x37\x97\xea\x9b\xa9\x98\xd9\x4e\xbb\x5b\xb9\xa1\xaf\x67\x7f\x10\x11\x82\xcd\x45\x6a\x07\x9f\xe4\xe8\xd5\xfb\x14\xf0\x62\xc7\x41\x95\x74\x88\x2d\x80\xe8\xf3\x6a\x13\x81\x92\x15\x0f\x6e\x1c\x86\x45\x47\x51\x7d\xcc\x21\x46\x0c\xdc\x6e\x19\xa3\x22\x27\x2c\xa1\x55\x64\x7e\xfb\xd1\x6b\x3a\xfa\x0a\x3f\x45\xe1\xa9\x49\x52\x10\x57\x76\x9a\x6b\xab\xfa\x89\x79\xe1\x52\x4c\xc2\x25\x40\x76\xd2\x58\xba\x8f\x70\x45\x0a\xd2\xdd\xe5\x11\x60\xe0\x41\x67\x4c\x0e\x5e\xf0\x9e\xd7\xca\x72\x31\x44\x4a\x65\xca\xdd\x0a\x9c\xa6\x72\x16\xca\xfe\xcc\x59\x21\xfe\xea\x22\x7f\x3f\x36\xe7\x38\x9d\xe9\xa9\x08\xf3\xaf\x00\x8b\x09\x4a\xaa\xb0\xd9\x2f\x3c\x52\x3a\x13\xab\x66\x83\x4c\x25\xa2\xa3\xbe\xf9\x0c\x32\x19\xeb\xd2\x5e\x98\x1b\x26\xf7\x49\xa6\x73\x30\x8f\x1a\xa7\xa4\x80\xd2\xc5\xef\x83\xc4\xbb\xbb\x14\xca\xd3\xbe\x27\x86\x3a\x5f\x0e\x86\xbb\x60\xdd\x7f\x77\x48\x60\xff\xa3\x5d\x98\xca\x72\x24\xe5\xed\x44\x2a\xda\x24\x9b\xfc\xcd\x02\xd2\xfe\xd5\x7d\x0b\x73\xa1\x08\xb0\x2d\x0f\x75\x71\x38\x52\x94\xa2\xa0\x19\x90\x92\xef\xb1\x8b\x44\x8b\x6b\x20\x83\xd2\x27\xd2\xa4\xeb\xa7\xb9\xc9\x50\xfc\xa4\x4a\xc3\x3e\x65\x36\xc7\x12\xf1\x45\xb1\x59\x8d\x43\x62\x5f\x2c\xc7\x04\x4d\x15\x6f\xf9\x04\x31\x2d\x4b\xc5\x72\x97\x79\x40\x3f\xde\x27\xa6\x8c\xa5\x16\x8f\x9a\x47\x64\x9d\x25\x90\xb4\x62\xa0\xf4\x06\xce\xae\x32\x89\x54\xec\xef\x4a\x8a\xdd\xc7\x7d\xb5\x77\xd1\xe8\x8a\x5f\xcc\x85\xc8\x69\xee\x43\xd7\xb3\x9a\x1f\x45\xc6\xed\x95\xda\x57\xa7\x4a\xbb\xf6\x30\x8f\x90\xd2\xdd\x78\x2d\x01\xd3\xfb\x75\x68\x91\xf2\x3c\xf7\x4f\x61\x21\x7a\x9d\x31\x6d\xb9\x5b\x3b\x9b\x2a\x09\x1c\x4f\x5c\x02\x43\x13\x49\x9a\xc7\xec\x18\x17\x44\x77\xfd\x09\x4f\xb8\x17\xad\x96\xba\x00\x3f\xe9\xe2\x6f\x8c\x8b\x75\x5b\x27\xeb\xe9\x3f\xe8\xaa\x13\x85\xfc\x87\x51\x48\x1b\x23\x34\xe1\x92\x26\x7a\x77\x92\xc2\x79\xc7\x8e\x9e\xd5\x7c\x8d\x77\xb4\x7c\x98\x42\x95\x01\xae\xff\xc0\xf0\x78\x2a\x39\x8c\xae\x62\xb8\x09\x18\x6b\x81\xb5\x3e\x0d\xe8\xc2\x83\x5b\xf7\x80\xeb\x4e\xef\xb2\x0c\xca\x30\xbd\x41\x7e\x88\x0c\xb0\xfb\xa6\x36\xa1\xc0\xa4\x0f\x21\x92\x4e\x9e\x94\xd7\x78\xe7\xeb\xe6\x41\x09\xba\x88\x95\xe8\x09\xef\xd1\x30\x17\xee\x39\x5b\x4e\x7c\xc0\x5e\x6a\x18\xd5\x03\x44\x61\x18\x90\x22\x7f\x46\x80\x61\xff\xf6\x0a\x8e\x82\x13\xd9\x83\xf5\x15\xcd\xa4\x2e\xd3\x8a\xa8\x08\x79\x70\x87\x6a\x81\xdb\x2c\x1a\xfe\xfd\xce\x36\xb7\x69\x26\xc0\x4a\xb2\xa2\xd6\x6a\x10\x4f\xed\x40\x8f\xe8\xef\x4b\xd1\x5e\x2e\x10\x6f\xea\x4b\xd4\x56\x38\xc5\x9a\xcf\x9c\x65\xcb\x4b\xe1\x40\x47\x59\xe1\x3d\x90\xd9\x83\xce\x5c\x91\x87\xa8\x3c\x35\x18\x0c\xd8\x22\x38\x28\x97\x4b\x8a\x9f\xf6\x36\xf7\x45\x3c\xe7\xd8\xf5\x74\x2b\xd5\x85\x43\xcb\x2f\xb2\x4f\xed\xd5\x0a\xf5\xae\xf9\xef\xe3\x22\x6e\x3c\x6a\xce\xec\x5d\xd4\xee\xdd\x32\xf5\x3c\xd7\x64\x86\x21\x0b\x4b\x22\x15\x8e\xcd\xd3\xa8\x3e\xab\xd6\x10\xcd\x39\x32\xed\x22\x91\x29\x96\xc0\x09\xe1\xd5\x5c\x6a\x2a\x1f\x12\xca\xa2\xa2\x96\x22\x03\x3d\x88\x9c\x66\xd9\xd8\x92\xaa\x61\xc7\xc9\x5d\xbc\xdc\xc1\x53\x11\x88\x98\x6b\x33\xe4\xe8\x65\x06\xd9\xb6\x60\xe8\x58\x9a\x4a\x28\x04\x4a\xa6\x4e\x43\xa8\x47\x50\xf1\xaa\x06\x54\x4e\xb3\xd1\xcb\xdc\x34\xcd\x91\x44\x8e\x45\x16\x9d\xe2\xa0\x84\x1a\xea\x61\xcd\x6d\xca\x8a\x8c\x6a\xd1\x49\xf4\x21\xc1\x44\xe1\xd6\x7e\xb4\xb0\x6c\x10\xf9\x04\x04\xd0\xbb\xf2\x06\xc3\x06\x09\x69\x3e\x37\x8a\xc6\x8d\x80\x52\x37\x1e\xb5\x63\x54\x17\x46\x3a\xc6\xfd\x93\x69\xea\xe2\xe8\x75\x59\xcb\x43\xd1\x29\x87\x6a\xbb\x50\x64\xed\xc7\x52\xd0\xf9\xe1\xb9\xad\x45\x14\x2f\x14\x80\x8c\x9f\x53\x4b\x71\x07\x9b\x73\xf1\x6a\x89\x94\xc2\x08\xab\xd5\xa6\x36\xc1\x10\x15\x83\xdd\xdf\x40\x1d\xb4\xe4\xe6\xe7\xd2\xa4\x17\x65\xd8\x19\xfb\x26\x04\x7c\xeb\x15\x3c\x48\x95\xda\xf9\xee\x64\x42\x25\xb6\xf7\x44\x6b\xe4\xf5\xf2\x52\xd1\x7a\x79\x09\x61\xa6\x31\x7c\x34\xac\x5b\x5c\xb1\xce\x45\x32\xc5\x75\xfc\xd8\x18\x4a\xfd\xc6\x07\x22\xc3\xd1\xb2\xdb\x30\x6a\x68\x47\xa9\xde\x05\x1d\x34\xd6\xcf\xea\x2c\xff\x37\x5c\xf3\xf6\x81\xda\x82\x1d\x5d\x81\x45\x6d\xdf\x88\xad\x50\xe0\x40\xd6\x80\xac\x05\x94\x83\x2a\xad\x5b\x04\x94\x2e\x2e\xb3\x20\x05\x26\x04\x53\xbd\x1e\x77\x43\xe5\xe2\xd6\x07\xdc\xe5\x7e\x08\x20\x23\x9a\xd1\x0c\x13\xad\x9b\xad\xd9\x0d\x27\x38\xc7\x30\x2d\x3b\x96\x35\xa5\x8f\xa0\x05\x24\x38\x35\xf0\xaa\x6f\x61\x89\xac\x4c\x9f\xc1\x48\xa9\x56\x96\x39\x7d\xad\x08\x6a\x32\xc0\xa4\x67\x8b\x7f\x0f\x0f\x18\x01\x0c\x9c\xd9\x6d\x18\xc3\xd6\xf5\xa9\xb0\xe1\xa8\x50\x66\xb0\xcb\x68\x72\xab\xb2\x33\x4e\x0b\x31\xe7\x3a\xcb\x92\xaa\xd1\x47\xc8\x30\xa2\x5a\xa8\x91\xa1\x7e\x6d\xab\x24\xbd\x66\x6e\x97\x42\x8c\xf8\xc7\x0a\xa3\x85\x44\x04\x38\xaa\xf9\xa4\x0c\x30\x8c\x9a\xb0\x81\x6c\x76\x5a\x84\x86\x90\x8c\xdc\xf1\x44\x3d\xcc\x42\x8d\xd6\x61\x47\x33\x11\x45\xdc\xee\x87\xa8\xc3\x83\x26\x88\x80\x99\x5a\x1f\x80\xc6\x6c\x9b\x7a\x5b\xc4\x20\x60\x15\x8e\xd0\x28\x4c\x88\x0d\xcf\x64\x2e\x61\x37\xc4\xf8\x44\x45\xde\x28\x81\xb4\x47\x31\xad\x87\xd2\xb6\xbf\x6a\xb6\xe2\x5f\xdb\xbf\xa6\xcc\x36\x83\xf2\x0a\xe4\x90\x86\x4c\x8b\x0f\x94\x55\x2c\x3c\xdf\xaf\xaa\xdc\x10\x30\xd3\xc5\x46\x22\xc3\x7d\x5d\x4e\x0f\xab\x93\xeb\xd1\xa6\x51\xca\x58\xc5\x6c\x91\xd2\xde\x75\x10\xfd\x73\xae\x6a\x82\x41\x8a\x68\x53\x7a\xbb\x89\x31\x49\x15\xd5\xc8\x4c\x9e\x85\xd2\x9c\x5b\x21\x20\x8f\xec\xc0\xad\x34\xcc\xee\x9c\x47\xeb\xc1\xb7\x98\x58\x42\x2f\x10\xf4\xe0\x1a\xe4\xa6\x93\x0b\xfb\x13\xb7\xa5\xbb\x87\x8a\x23\x38\x62\xab\xca\x76\xf8\xd2\xbf\x4a\xa7\xc9\x01\xae\xb5\x14\xbc\x8d\x07\x4d\x5e\x63\xd3\x02\xf5\xac\x7d\x7c\x52\xac\xc0\x07\x9a\xb3\x02\xc7\xda\x5a\x8b\xc1\xe2\x4e\x12\xcf\x60\x36\x8b\x05\x58\xf6\x36\xc1\x29\x8b\xfb\xd8\x81\x1d\xc3\x60\x80\xb9\x6b\x56\x0d\xca\x68\xc1\x7b\x79\xda\x4e\x64\xf7\x41\x3a\x61\x71\xaf\xfa\xbb\x18\x5b\xec\xd7\xdd\x06\x5e\xe7\xac\xe5\x2a\x5b\xaf\xf0\x47\x94\xfa\xd7\xfd\x57\xa7\x3c\xe7\xdb\xa1\xd1\x02\x36\x65\x9c\x7e\x2f\xf0\x4c\xa2\xd1\xf0\xf4\x6d\x5c\x23\x81\x4d\x66\x9a\xd6\x68\x2a\x4a\xab\xb5\xdf\x82\x4f\x6e\xa6\x12\x40\x8a\xf6\xe2\x08\xad\x5d\xc4\xc7\xda\xdf\xc9\x90\x43\xd9\x79\x13\xf1\x79\x5f\xd0\xed\x68\xf8\xf6\xe1\xdb\x2d\x74\x84\xb2\x02\x9f\x8c\x75\x46\x49\x83\x83\x29\xcc\x7e\xed\x11\xbd\xf0\x2d\xb6\xad\x0a\x63\xbf\x4a\xe1\x03\xac\x93\xc8\x94\x53\xdc\xf8\x8f\xc6\xb0\x54\x30\xe2\xba\xe3\x43\x4b\x6e\xb8\x8d\x8a\x78\x81\xdd\x61\x99\xef\xd2\xa4\xe9\x43\xe6\x9c\xdc\x77\xa6\xea\x92\xe5\x7d\x86\x3c\xb5\x01\x22\x74\x16\x39\x1e\x97\x59\x7e\x87\xbd\x94\xf0\x90\xae\x8b\x7c\xec\xe1\xf8\xd8\xad\x15\xa7\x01\xf4\xbd\x60\xb3\x60\x63\x2b\xda\xbb\xde\x35\xd4\x27\x2c\x57\x9b\xca\xda\x98\xc0\x5f\xd4\xce\xe6\xd5\x1d\x9b\xb0\xd2\xf4\x33\x4c\xf0\x0c\x11\xec\x26\xe9\x94\x09\xce\x2d\x6b\xa3\x67\xd5\xa9\xb1\x9f\xfd\x66\xc9\x08\xac\x58\x74\xd4\x47\xa9\x32\xfb\x67\xa8\x50\x13\x17\xb6\x23\x0b\x1f\x6f\x0c\x51\xd8\x04\x68\x40\x92\x52\x7c\x58\x99\x19\x37\x81\x31\x64\xb9\x7a\xee\x29\x90\x07\xaf\xa4\xef\xa3\x6b\x80\xc0\x5f\xcf\x22\xae\xb3\x31\x8a\xb2\xb3\xab\x8a\x18\xaf\x00\xb1\x23\x85\xea\x37\x9d\x17\x7c\x75\x6b\xb5\xdd\x25\x6b\xe3\xe3\x71\x1b\x51\x4d\xc8\xba\xf2\xe3\x1d\xa3\x38\x40\xbe\x7a\xea\x9f\xe4\xd4\xb5\x9c\x83\xe6\x27\x18\x0e\x13\x0a\x08\x68\xc3\x91\x34\x66\x7d\x49\x1b\x58\xe1\xf1\xe4\x05\x39\x2f\xc0\x0d\xef\xfe\xd5\x2f\x2a\xb2\xac\x44\x3b\x43\x64\xc6\x11\x6c\xf6\xd1\xfb\xeb\x36\x72\x98\x9d\x5e\xb4\x48\xaa\x3a\xed\xb1\x31\x21\x96\xa7\x97\xc4\x06\x5c\xd2\x24\xa0\x59\x08\xec\x92\xc1\xad\xa0\xaa\x36\x85\x5a\xd3\x27\x16\x53\xa3\x66\x6a\x85\x78\x33\x13\xd3\x21\x3c\xe6\x29\x1b\xbb\xd4\x80\x9d\xc3\x61\x70\x58\x3c\x01\x2b\x18\xfa\xa7\x3d\x89\x5b\xa0\xc4\xf3\x21\xc4\x21\x77\xc1\x0e\xc4\x88\xa0\x60\xeb\x5e\x0f\xb2\x70\x2b\xe1\x3a\xc5\xdb\xa7\xc8\xe2\x0d\x87\x55\xb9\x67\x3e\xd3\x7f\x3f\xd9\x64\xaf\x6b\x5b\x2e\x8e\x82\xa6\x8e\xad\xb2\xaf\xe3\x8a\xe7\x8d\x42\x31\xc2\xcc\xdc\xf4\xff\xfe\x0c\x56\x7e\x60\x3c\x4e\xd4\xb8\x4c\x60\xf2\x62\x66\x88\xa7\xc7\xb9\x8d\xb0\xc9\x28\xda\xc8\x58\xda\x15\xcf\xa9\x55\xad\x6e\x5f\x50\x6b\x17\xc6\xe5\x3b\x92\x5c\xb0\x7d\x10\xaa\x21\x02\x91\x86\x0d\x13\x7b\x42\x7b\xea\x05\x06\x33\x6d\xdc\x4b\x1e\x3e\x7d\xd1\xf5\x29\x40\x44\x98\x55\x90\xfc\xc6\x69\xdd\x2d\x25\x6b\x29\x42\x03\x8e\xd2\xf7\x10\xe4\x5a\x7a\x21\x2a\x58\x1a\x07\x40\x30\x48\x3e\xfd\x0a\xd5\xc5\xab\x71\x22\x26\x3e\xb4\x74\xee\x26\x46\x41\xb0\x13\x42\x46\xa3\xc8\x91\x94\xdc\x74\x10\xc2\x0a\x08\xb2\xd4\xea\x89\x6f\x4c\xb2\x32\x2f\xb2\xec\x94\xa9\x85\xdd\x7a\x13\x94\x15\x40\x14\x4a\x7f\x64\x22\x14\x1d\x52\x13\xc9\x38\x7b\xdf\xab\x3a\xf9\x20\x3e\x4e\x86\x74\x73\x7f\x14\x5f\x35\x3d\xb8\xf1\x88\x1b\x3b\x4c\xea\xbe\xd6\x33\x53\xf3\x4c\x6e\x03\x9e\x68\x4c\xf5\x5b\xe7\x15\x0c\xf3\x91\x4c\x5c\x48\x50\x5a\xcd\x2c\xa8\x1e\xc7\xb3\x88\x17\x17\xd5\x90\x5e\x32\xf5\xf7\xa2\x1c\x95\x39\xc9\x5c\x6c\x6a\x45\xe9\xce\x9a\xbd\xd8\xd2\xd1\x36\x1f\x39\x62\x60\x9b\x13\x29\x20\xf9\xbd\xf5\x3a\x06\x3d\xb7\xcb\xd6\xb7\xb7\x0d\xee\xd8\x99\x1d\xe0\x2e\x08\x5e\xe9\x0a\x73\xab\x47\x71\xbf\xf5\x4b\x77\xc2\x5d\xd5\xc4\x33\xa4\x03\x97\xc3\xa6\x2c\x99\xf4\x79\xac\x27\x18\x1a\xe4\x9a\x74\x61\x83\xe3\x4c\xff\x7f\xfb\xd3\x18\x50\x5a\x95\x7b\x29\x94\xc7\xd6\xe7\xd2\xc7\xd2\xcf\xd0\xa1\xe1\xbf\xc8\xed\xbc\xca\x4e\xae\x36\xc2\xa4\xae\x08\xc9\xb5\x71\x76\xe3\x81\xa1\xd3\xb9\xd0\x3c\xb5\x5e\x83\x2e\x62\x16\x08\x4a\xe3\xa0\xa2\xf3\x0c\x06\x82\x54\xc4\xd6\x42\x5f\x4b\xfd\x5c\xbb\x7d\xaa\x27\x54\xfb\xfc\xd3\x47\xa2\xf6\xe1\x3d\x74\x96\xd8\x91\xbd\x0a\x9b\x2f\xdf\x08\x92\xac\xa6\xa6\x59\x5b\xe4\xd6\xd6\xc5\xa3\xad\x37\x79\x79\x3d\x02\x82\x79\x59\x19\xc7\x4f\x7a\x86\x22\x99\x41\x84\x4d\x68\xbe\x36\x4f\x67\x18\x42\x3c\x03\x93\x78\xbd\x75\xe1\xcf\x3b\x8a\x7c\xad\x3d\x6e\xae\x9d\x51\x3a\x0c\x3e\x0e\x01\x34\x0e\x55\x4b\xb6\x8c\x44\x71\xa9\x07\xde\xca\xf3\x45\xb5\xb0\x05\xc8\x00\xd8\x61\x1d\x66\x7b\x82\xed\x25\x5d\x3b\xef\x71\x94\xc1\x40\xf7\x7d\xc7\x27\xbd\x63\xac\x07\x49\x7f\x09\x72\x2b\x2d\x9a\x51\xd9\x19\xb7\x36\x2f\xcf\x3b\x0c\xa7\xe5\x02\xaf\xfc\xba\xe2\xff\x2b\x7f\x69\x6c\xa7\xd2\xa9\xaf\xf8\xb9\xa9\x50\x7e\x41\xd0\x32\x1e\x23\xe9\x77\x3b\x37\xcf\x79\x08\xfc\x24\xa5\x36\x71\x60\xf7\x3f\xa9\xdb\x8a\xb9\x5e\xd7\x8d\x0e\xd2\xcf\x24\x02\x9d\x39\x3f\x14\xe1\xb1\xf8\xb4\x2f\x37\x8b\x25\xd8\x41\x41\x87\x87\x02\x1b\x1c\x9e\x9a\x82\x7a\x13\x0b\x14\xc8\x61\x7d\x68\x23\xdd\xfb\x55\xb7\x77\x63\x02\x3f\xb0\xd4\xe0\x96\x38\x46\x2a\x01\xc8\x5d\xb5\x89\x74\xc4\xa3\x40\x90\x45\x6b\xd2\x98\x2d\x96\x7c\x88\x26\x68\x1d\x0a\x93\x0f\x54\x00\x23\xd9\xdb\xf1\x3a\x7b\xad\xdb\xe8\x08\x6d\xe0\x50\x64\x21\x0c\xbf\x01\x36\x3f\xe6\x96\xcc\x0f\xf3\xcd\xc7\xdb\x97\xcf\x2c\x2d\x3d\x17\xd5\x4f\xdc\x6c\x00\x7e\xb8\xe1\x7e\xb6\x8b\x6f\x33\xdd\x88\xcf\x66\xe5\xce\x96\xab\x68\xf2\x6f\x0e\x38\xdd\xfb\x84\xbf\x66\x86\xc6\xa2\xc2\x8d\x0f\x0e\x9f\xf5\x97\xf1\x78\x04\x03\xef\x80\xa4\x7c\x18\x52\x55\xf2\x79\x6b\x20\x7e\xe5\x45\xba\xe9\x35\x25\xe1\x74\xa4\xbd\x0b\x04\x85\xd9\xb9\x0a\xb5\xe7\x71\x47\xc0\xe4\xc1\x4c\xb8\x70\xc4\x83\x16\xb4\xda\xf8\x58\xd6\xca\x99\x52\x72\xdf\x8e\x05\x9d\xe5\xb5\x0d\x14\x66\x75\x58\xb4\xc6\xf6\x69\xe1\x5e\x31\x33\xfd\x4e\x05\x16\xf7\xf2\x1f\x87\xed\x36\x5e\xa1\xe4\xb1\xd2\x96\xcf\x22\xea\x2b\x54\x68\x97\x57\x59\x41\x17\x87\x4d\x87\x36\x18\x12\x5d\x9d\x30\xcc\xe8\x94\x67\xb6\x2a\x9e\xb6\x95\xc2\xe1\x2f\xbc\x57\x6b\x97\x57\x49\xbe\x9c\xa2\xb7\xe5\xfc\xb4\x26\xd7\x46\x24\xe6\x4e\xfe\x49\x4e\x45\xd8\x68\x8f\xb5\x23\x58\xb4\xc7\xe9\xed\x63\x19\x09\x12\x67\xaf\x8f\xd5\x27\x60\x27\xff\x28\x23\x2a\x5f\x62\xcc\x21\x54\x0c\x8b\x48\x6c\xcb\x4c\x5f\xcd\xa6\xc2\x89\xac\x3d\x2d\xdd\x63\xc7\x6e\xe9\x26\x3a\xd8\x08\xf2\x03\x87\xc3\xfb\xa2\x1f\x1f\x9c\x57\xe1\x21\xfe\x57\xcb\x1a\xd5\xe6\x22\x01\x33\xf9\xaf\xa0\xf0\xbb\x38\xac\xe2\xe1\xad\xde\xf1\x29\x81\x0e\x97\x2e\x2f\xb9\x22\xb5\xba\x1a\x7b\x87\x47\x54\xe2\xc8\x45\xa2\xc2\x3c\x94\x14\x78\x8d\x32\x29\x7d\x9e\x4d\xb2\x65\x29\x90\xf7\x0d\x58\x79\x38\x13\x5d\x98\xd0\x5d\xb4\x31\xaa\x1d\x52\xa7\x2e\x75\x62\xb5\x55\xe2\x4f\xf0\xc4\x8c\x1a\x57\x15\xdf\xbf\x78\xcc\xd0\x7e\x64\xc4\x6d\x10\xce\x76\x77\x36\x82\x83\x9f\x8f\x32\x51\x71\x48\x78\xf6\x00\xc4\x76\x6a\xac\x78\x7c\xac\xcb\xe7\x62\x15\x6c\x38\x92\x09\x4a\x66\x90\xb0\xfd\x16\x19\xb2\xd7\x8c\xc2\x43\xfe\x03\xd0\xaa\x1b\x20\x3d\x31\x6f\x88\x7b\xc3\xa0\x84\x1b\xa4\x55\xab\x0e\xde\x94\xeb\xcb\x54\x5f\xeb\x60\x4a\x3a\xad\xda\xdd\x72\xd5\xea\x28\x14\xdf\x48\xa7\x3c\xd8\x94\xbd\xb6\x89\x5d\x74\xca\xbb\xae\x02\x0b\x04\x4a\xb4\x6f\xd0\xe1\xe3\xf4\xa1\x7e\xf7\x72\x1f\x51\x67\x2f\xc2\x23\x55\x38\xcb\xa1\xf2\xde\x52\x00\x58\xf5\x55\x10\xba\xca\x9a\x9a\x9d\x01\x39\xbb\xdf\xf5\xcb\xf4\xc4\x19\x98\x11\x8b\xd2\x1b\x9d\xd6\x12\x5e\xa3\x08\x4e\xe9\x55\x73\x84\x6f\xd0\xa6\x2e\x68\x87\x8b\xfb\x65\x60\xc8\xb1\x87\x44\xa9\x65\xf4\x46\x8e\xff\xeb\x35\x91\x19\x79\xb0\xb2\x74\xca\xde\x7f\x5d\x66\xc7\x0f\x7d\x16\x5c\xe4\xa7\x87\xde\x08\x37\xf9\xe5\x21\xd7\x3a\x08\x0c\x27\x8f\xe6\x6b\xf3\x93\x37\x59\x7a\xa1\x77\x3d\x80\x46\xab\x7b\x83\x12\x5a\x15\x13\x75\x6e\xbc\x1e\xee\x8a\x94\x5b\x0c\xbb\xe9\x13\xb1\xcc\x02\x8d\x6c\x69\xa6\xc3\x9f\x0f\xea\xce\x8c\xaa\xa7\x46\xb5\xf8\xaa\xb8\x7b\x5c\x2a\xa6\x2e\x15\xa3\x78\xd4\xab\xf8\x0a\xfa\x53\xda\x99\xbd\x34\xec\x16\x88\xec\xd2\x47\x0a\x29\x77\x13\xd9\xaf\xfe\x29\x75\x66\x48\xcb\xc9\x63\xce\xc7\xbe\x8f\xf2\x19\xa2\x81\x4f\x45\x96\xbc\x82\x2e\xfd\x67\x84\xc1\x8f\x06\x3a\xfd\x81\x96\x5f\x07\x45\x8b\x0f\x69\x06\x03\xe2\x7a\xa8\xd8\x6f\xdb\x27\x64\x95\x18\xdf\x2c\xf2\x3b\xf9\xf5\xd4\x72\xc2\xc5\x7b\xcc\x77\xd7\x4a\x33\x26\x35\xb1\x1d\x8c\xcc\xf4\x9e\x83\x39\xd0\x54\xbe\xff\x9a\x22\x16\xbf\x34\xcd\xd1\x7d\xac\xcb\xb4\x16\xe5\xb1\x0d\x94\xd0\xf7\x9f\xa4\x44\xc6\x89\x51\xb1\x85\x7f\xd7\x4f\x5e\x53\xf1\xc7\x9b\xc2\xc0\x04\xac\xa3\x4c\xc2\xd2\xa4\xc0\xd8\x08\x57\x79\xd3\x52\xf8\x31\x60\x3b\x84\x48\x83\xab\xf5\xe3\x44\x2a\xba\x61\x19\x5a\x2c\xa3\x38\x56\xac\x8d\xb2\xd2\x31\x42\x12\x4a\x53\xe0\xa2\x26\xd7\x62\x7a\x42\x82\x6d\x11\x5b\x32\x1f\x59\xff\xed\xbd\x5f\x16\xdf\x3a\xa0\x68\x4b\x36\x0a\xe3\x22\x5d\x3b\xb5\x52\x73\xfb\xfb\xdb\x10\xa6\x61\x09\x80\x51\xe6\xe1\xee\xea\x41\x34\xd4\xfa\x99\x03\x01\xe8\x32\x74\x74\x8b\xa9\x15\x5a\x1e\x5f\x60\x64\x24\x7d\xfa\xdf\x48\xf7\xf8\x31\xc8\x52\x2d\x12\xbf\xfe\xd7\x37\xff\xcc\x40\x85\xdb\x2b\x36\x4f\x5b\x59\xe9\x41\xf0\xbb\xd0\xfd\x76\x24\x15\x0f\xc9\xc7\x00\x68\x82\x8b\x64\x97\xd5\x08\x0d\x3a\x93\x25\xc9\xef\x98\x2a\xfc\xbb\x4e\x96\xc7\xac\x58\x82\xfe\x17\x8f\x59\x55\x1c\xff\x80\xf6\xc3\xdf\xaf\x51\xf4\xa6\x3d\x8f\xf2\xe7\xbb\xcf\x30\xef\x70\x15\x57\x31\xa0\x45\x2c\xd8\x00\x04\x83\x3d\x04\xad\x1e\x18\x73\x90\xcc\x64\x6c\x1c\x64\xa9\xd3\x6e\xb9\x1e\xc0\x21\x4b\xf1\xfa\x01\xb8\x34\x84\x76\x4a\x92\xc1\x1f\x11\x97\x92\xcc\xc4\x7d\xe4\xe3\xc4\x83\x1a\x65\x9f\x50\xcf\xad\x43\x3d\x73\x61\xfa\x53\x98\x8a\x53\x90\xba\x3d\x01\xc1\x2b\x43\x7d\x7b\x16\xea\xe5\x15\xf1\x5f\xe5\x32\xd5\xc1\x4f\x79\x8c\xf0\xcc\x29\xde\x03\xbc\x70\xb7\xba\x28\x61\x32\x80\x28\x66\xf1\xf2\x2a\x20\x30\x6a\x63\x37\x56\x5d\x89\x9a\x66\x9f\x44\x6d\x8c\x20\xb4\x9b\xa2\x7c\x15\x18\x8d\xd6\x3f\x29\x0e\x31\xd1\xa4\xae\xec\x6f\x1e\xbb\x31\xfa\x25\x1e\x96\xd7\xcb\x3b\x0a\xab\xdd\xf2\x45\x31\xfc\xf4\xcd\xec\x9c\xf4\x6e\x36\xb0\x79\x52\x3b\x72\xb4\x10\x9b\x1f\xf2\x6b\xab\x8d\x4a\xa5\x62\x30\x7d\xbe\xa7\xb9\x6a\xc2\x89\xee\x38\x50\x4e\x12\xec\x42\x7b\xf3\x43\x7e\x03\x52\x09\xf4\x2a\x51\x16\xf5\x7c\x20\x37\x27\x97\xf3\xc8\x8d\xe9\xaf\x00\x6a\xdb\xe9\x15\x15\xd3\xf3\xa9\xc8\xc6\x7b\x24\xe7\xc1\xf2\xc8\x8d\x9f\xd3\x86\xb8\x3c\x92\xcd\xa9\xcc\xcd\xc9\xe9\xc3\x07\x35\xe8\x99\x82\x4f\x26\x3d\x10\x1e\x87\x16\xe0\xc4\x9e\x39\x7e\xfa\x41\x34\xea\x69\x75\xf3\x40\x87\x6f\xa4\x33\x85\xce\x84\x76\xc0\x37\x33\xe3\x6b\xed\xe5\x62\x8f\xfb\x7a\xb9\xad\xee\xed\xef\x40\x71\x2c\xc1\x0c\x67\x44\xad\x04\x2a\x0a\xba\xeb\xf6\x11\xd9\xa4\x7e\x9d\xa1\x5f\x27\x01\x48\x15\x93\x47\x6e\xfb\xf3\xa7\x34\xe9\xbb\x5b\x9b\xd3\x7b\xe4\xe7\x0b\xe4\x17\xf2\x8e\xd5\xb7\xb0\x23\xed\x33\xf5\xf2\xfd\x9d\xa1\x8a\xae\xc3\x4a\xbf\x1d\xb1\xf0\xc8\xa2\x7a\xf6\xef\x7d\xe9\xf5\xd9\xee\xae\xa1\x90\x7f\x04\xd7\x88\x1a\xd0\x63\x04\x93\xe8\x26\x18\xad\x3f\x9c\x11\x74\x11\xb5\x55\x99\x84\xb3\x87\xda\xa2\xce\x7c\x86\x69\x04\xc3\x19\x01\xa4\xad\xb0\x13\x31\x29\xce\x35\x60\x55\x62\x56\x66\xbe\xfe\x08\x75\x35\x42\xc3\x14\x5c\x2f\xe8\x18\x8e\x35\xc5\x42\xad\x86\x98\xc8\xd1\x43\x63\x25\x66\x9a\x71\xd2\x4a\x05\x67\x7a\xd3\xfe\xd3\x8c\xf0\xd1\x4c\x93\x98\xf4\x89\x1c\x67\x3b\xeb\x75\x1d\xcd\x48\xb5\x03\x9c\x34" +var __85e9b0ddea6da6e65c007JsBr = "\x1b\xd2\x55\x23\x52\xb2\xde\x0f\x40\xad\x0b\xb8\xc3\x62\xe1\xef\x50\x26\xc2\xa2\xc1\x88\xa7\x31\x10\x1b\x65\x04\x42\xd0\xa7\x1a\xa7\xc6\x29\x96\xea\x7c\xe1\x5d\x36\x42\x88\x74\xbf\xbf\x3a\xbe\x7a\xca\x9e\x4e\x58\x50\xaa\xf1\x67\x13\x45\x8c\x90\x64\xd6\x37\x9a\xda\x9f\xae\x98\x03\x2b\x8d\x1f\xda\xfd\xa5\x09\xbf\xb0\xa5\x74\xb6\x11\x90\x7f\x9c\x02\x1e\x20\xdd\x6c\xbe\x6a\xfd\xd7\x6f\xcc\x0f\x1d\x95\x36\xa4\xb2\xa5\xf1\xea\x2b\xbe\xd2\xb2\x79\xd5\x73\xa3\x61\x64\x28\xc2\x2c\x05\x78\x00\x48\x2e\xb2\xe1\xeb\x73\x86\x45\xa9\xec\x8a\xa2\xff\x30\xab\x3b\x3f\x4d\x41\xac\x20\xde\x87\x8c\xf3\x5d\x20\x27\x6e\xb5\x28\x96\x9d\x1b\x14\x11\x69\xe1\xc3\xdb\x72\xa2\xd2\x33\xbb\xe3\xc7\xba\x0f\x04\x4a\x8a\x88\x52\x95\x33\x6e\x6b\xb8\x9e\xb2\xb9\xe9\xd2\x12\xf3\xf7\x36\x2b\xd3\xd6\xce\x52\x78\x1c\xfb\x92\xc4\xf1\xa0\x31\xda\xba\x24\x73\xca\xfa\xef\xfd\xf7\x6f\xbb\xd5\xad\x13\x0f\x6b\x40\xb3\xb3\x80\x1a\xd0\x1d\x7f\x68\xa9\xd4\xdd\xba\xb2\xa4\x91\x5d\x92\x66\xce\x35\x3a\x60\x30\x10\x85\x14\x24\x8e\x00\x30\x0b\x1d\x3a\xb5\xdd\x26\xc2\x68\x49\x71\xce\x71\xe6\xbe\x0c\x5b\x75\x75\x47\x9d\xe7\x17\x28\x84\x90\x8f\x80\xad\xdb\x3d\x57\xd6\x98\xde\xc7\x7e\x6d\xd9\x44\xb3\xad\xb6\x0c\x87\x3b\x7c\x24\x84\xb2\x0f\xb2\xd9\xbc\x3b\x58\x9a\x3f\xff\x1d\x40\xfd\x99\x04\x60\x10\xfd\xe5\x4e\xc7\x48\x74\x1a\x36\xcd\x94\xa6\x4f\x81\x68\xae\x24\x8a\x44\x25\x48\xb3\x2c\x16\x79\x27\x29\x84\x8e\xc4\x72\x57\x93\x7e\x42\x50\x12\xe5\xaf\x91\x9e\x8a\xa1\xce\x2e\xdf\x67\x1c\x8a\x62\x6e\x19\x0c\xcc\x8f\x1a\xa1\x90\x55\x24\x20\x53\x96\x5d\x50\x64\x02\x21\xda\xa8\xf4\x4c\x31\xfc\x2d\xdf\xa1\xcd\x09\x75\x02\x39\x3f\x2b\xbb\xb3\xd8\xd8\x5f\xbd\x8d\x67\x58\xdb\xc9\xd1\x66\xfa\x52\x70\xc2\xa9\xb2\x59\xac\x95\x1e\x19\xa0\x39\xab\x48\x7a\x98\xcf\xbf\xf3\x12\x85\x9e\x28\xd6\xd5\x5d\x13\xc7\xc0\x45\xdf\x8b\xa6\x57\x5f\x5f\x0a\x93\x1b\x41\xd8\x4b\x6d\x33\x5b\x75\x9d\x11\xac\x6d\x45\x00\xdf\x2c\xd5\xe5\xa3\x76\xe2\x56\x68\x46\x5c\x5c\x76\x82\x20\x4c\x81\x26\xed\x4a\xfd\xb4\x0d\x53\x92\xcf\x16\x64\x54\xca\x26\xa9\x79\x0c\x80\x7f\x23\x0f\x3a\x17\xdf\xf3\x2e\x16\xa5\x4c\x1b\xf0\xae\x2f\x50\xb2\x65\xc5\xf8\x04\x56\xad\x5c\xc6\x70\xdb\x8b\x34\x19\x4a\x0a\x71\xc6\x4c\xe8\x2d\x20\x10\x8c\x94\xe1\x32\x52\x7a\x67\x26\x14\x31\xa2\x9a\xf5\x60\xcc\x97\x34\xee\x95\x98\x95\x64\x8a\x9b\xf3\xf3\xa3\x9c\x6a\x0d\xa7\x6a\x2d\xe4\x71\xe5\xe2\xa9\x29\x98\x90\xc8\x14\x59\x30\xa6\x95\xdf\x44\xd3\x3c\x93\xb7\xdf\x3d\x6c\xdb\xaa\x2a\x12\x63\x4c\xdd\x92\x54\x00\x47\x79\x82\x08\x00\x6e\xeb\x17\x44\xc0\x26\x2d\xbe\x67\x61\x0b\xf4\xee\xce\x80\x5e\x53\x5a\x6c\x86\x67\x3e\x6b\x32\x3d\x55\xde\xb2\x6a\xa1\x15\xd8\x01\xec\xb3\x95\xf6\xaa\x24\xb5\x30\x13\x1d\x61\x2e\xdd\xf7\xfd\x30\x31\x52\xaa\x56\x4c\xd8\x41\x15\x49\x1b\x68\x3c\x5e\x9f\xbc\x8a\x8e\xab\x48\x4f\x97\x62\xa0\xab\xd9\x05\xb6\xa2\x78\x82\x99\xee\x13\x37\x7d\x90\xe4\x57\x3e\x25\xbf\x1b\xc7\xd4\xe6\x5c\xe7\xc4\x96\x8e\xd9\x04\x9b\xa1\xc6\xd6\x64\xd5\x2e\xe1\x24\x6d\x7e\xfd\x1c\xa8\xe6\xdb\xd0\xce\x10\x38\xb9\xae\x8f\x22\x02\x9c\x54\xa9\x33\x23\xf9\x54\x58\xa4\xb4\xa3\x74\x51\x36\xa3\xa5\x4f\x9a\x55\xbe\xe3\x2a\x88\x55\x34\x53\xa7\xca\xa6\x72\x64\xc8\x71\x35\xdf\x31\xf1\x96\xc6\xe5\x4d\x9d\x5f\x65\x35\x57\xe3\xf7\x70\xc0\xc2\x7e\x8f\xae\xa6\x5f\x3d\x5d\xee\x96\x09\x54\xd5\x93\xaa\x63\xb4\x88\x81\x5b\xd8\x14\xed\xa4\xa6\xb3\xe7\x42\x67\x5f\xe8\x5a\x88\x81\xf8\x31\x52\xda\xe4\x6e\xbb\x65\xbf\x74\x47\x71\xa9\x60\xaf\x18\x13\xc9\x7a\x49\x27\x4b\x4f\x76\x76\xc1\x56\xc6\xd3\xf5\xab\x50\x5c\x5d\x58\x1f\x1c\xc7\x83\x38\xd6\x5c\x2f\xdb\x6c\xc5\xaf\xe2\x49\x5e\xa5\xe2\xca\x15\xf9\xde\xf5\x3a\xb7\xed\x5b\xda\x50\x94\x98\x43\x7c\xdb\x83\xfa\x44\x37\x94\xc4\xf5\x1d\xc0\xc7\x53\x48\xd3\x18\x00\xee\x36\x8a\x3e\xe4\xc7\x65\x26\x98\x81\x43\xc6\xd1\xf5\xa0\x14\x7b\x89\xe9\xce\x8b\x4e\x6b\x68\x5c\x4b\x40\x53\xb3\xca\x69\xfe\xd3\xa9\x93\x9a\x36\x2e\x65\x95\x07\xbc\x8b\xe0\x3c\xdd\xd6\x4a\xdb\x0a\x41\x13\x05\x1e\xb8\x4d\xae\x8d\x29\x9a\x05\x2b\xed\xa6\xd2\xe2\x55\x85\xbe\x3d\x9f\x5d\xaa\xe1\xac\x0e\xb9\xdc\xce\xeb\x93\x85\x0b\xbf\x4e\x51\xff\x55\x8f\x81\x1b\x99\x3a\xc4\x6b\xf3\x08\x47\xe8\xd3\x4d\xbe\xb6\xdd\x9c\xe1\xea\x5e\xdc\xb9\xde\x97\xf1\x16\xb3\xf2\x61\xf9\x95\xbb\xe2\xd2\x86\x35\x59\x4d\x33\xd6\x6f\x81\x00\x9b\x8d\xdd\x20\x73\x17\xfa\xbc\x20\x3a\x28\x40\x98\x76\xa2\x1a\xd4\x0f\x6a\x7f\x17\xcf\x02\xea\xd6\x64\x71\xdc\xf6\x40\x44\x7e\xd0\x6f\x6c\xf4\x52\x35\x82\x24\xd6\x10\x90\x14\x52\x7e\x09\x22\x98\x85\xb6\x83\xdd\x19\x3a\x91\x2c\x05\x1c\x75\xbc\xbe\x4c\xe0\x7d\xa0\x8f\x67\x9c\x2a\xd9\xb0\x65\x83\xef\x00\x36\x1f\xaf\x8d\x5d\xff\x30\x16\xc9\xb2\x8a\xef\x0a\x60\x77\x1b\xa1\x9d\xc7\x54\x3f\x5a\xef\x7a\x62\x2a\x03\x58\x9f\x85\xcd\x1d\x1f\xa4\x38\x9b\x8f\x04\x1e\x4b\xc0\x0e\x1a\xe2\x5d\x45\x05\x25\x5b\x64\xad\x22\xa1\xa8\x80\x7b\x4c\xcb\x05\x90\xd5\xf7\x98\x36\x7f\xe1\x59\xac\x6d\x62\x64\x54\xb6\x9b\xb3\x54\x5a\x8e\x8c\x91\xae\x49\xb7\x4c\xc9\x2c\x79\x7f\x34\x98\x15\x73\x58\xa7\x62\xed\x2d\xbe\x81\xbd\xd1\x4c\xbd\x06\xe7\xe9\x7a\x6f\x01\x70\x60\x16\x16\x0f\x9f\x2c\xa0\xc0\xcc\xc1\x84\xb3\x2a\x96\x52\x26\x48\xeb\xed\x87\xac\xca\x24\x2e\x0b\x69\x47\xeb\xbf\x67\x49\x26\x88\x65\x21\xa6\x00\x26\x99\x5e\x8a\x95\x1c\x5d\x68\x31\x40\xf3\x7e\x1a\x50\xf8\xf6\xb5\xaa\x39\xb1\xc7\x60\x93\x66\xc5\x3e\x87\x4f\x01\x7c\xc0\xde\xfa\x36\xf6\x5a\x2c\x31\x97\x07\x6a\xb3\x93\x26\x12\x90\x19\xf5\xc8\x4d\x89\x62\x95\x90\x2b\xc1\x92\xfe\x02\x83\xd8\x7f\xf3\xd4\x08\x43\xbe\xda\x51\x2d\xa8\xe6\x98\xaf\x55\x7a\x3b\x89\x80\x47\xac\x69\xc3\xe5\x35\x7b\x79\xab\x7a\xfb\x25\x5c\xee\xcc\x5a\x12\xfd\x75\xf9\xc6\x34\x4a\x0b\xb2\x19\xc9\xee\xa5\x19\x7a\x1f\xad\x5f\x27\xa6\xfa\x7c\x30\xf4\xe7\x09\xc5\xf9\x94\x38\x38\x28\x8d\xe5\xee\x5e\x4d\x5d\x3f\xb9\xb4\xf9\xbf\x06\x43\x32\x6f\x5a\x7b\x40\x85\xf6\x72\x45\xcf\x31\x01\xe5\x91\x09\x13\x93\x4b\x64\x65\x96\x50\x87\xf3\x3a\x56\xc9\xf7\x24\x83\x7d\xaa\x0e\xec\x1f\x07\x03\x1e\x7a\x77\x5e\x45\xc8\xf6\x83\x8f\x69\x96\x57\x01\xb7\x91\xec\xe9\x17\x5d\xa2\x8c\x37\x90\xed\x87\xcd\x14\x9f\x15\x8f\xc3\x17\xfb\x97\x74\xd4\x1d\xaf\x06\x20\xfb\x12\x97\x20\x76\x6e\x27\x4b\xdc\xb8\x0b\x02\xea\xf1\x55\x64\x15\x88\x59\x7f\xfd\x04\x44\xa1\xf0\xb8\xf1\xba\xd8\x5c\x53\x4d\x61\x49\xb4\x17\x77\xb5\xe7\x28\x2a\x5e\x61\x8c\x69\xab\x3e\x3e\x21\x60\xbf\x15\x84\xf1\x47\x2a\xfb\x9e\xab\x6e\xa4\x04\xbb\x44\xb4\x10\x01\xca\x66\x1b\xea\xf1\xd5\xbe\xab\x14\xda\xc5\x0c\x76\x46\xbe\xc7\x2a\xfa\x6e\x21\x9e\xea\x77\x4b\x30\x93\xdb\xbe\x1e\x1a\x5b\x78\xc8\x78\x8b\x33\x17\x66\xd9\x50\x8f\xdd\x8d\xcf\xa3\x4c\xd2\x4e\xde\x4f\x8c\xd1\x26\x77\x07\x4b\x3d\x58\xa7\xc2\x87\x5a\x2a\xb6\xb0\x70\x72\x61\xbb\xb3\xf3\xab\x48\xdd\xfa\x23\x96\x55\x0e\x18\x39\xa6\x7f\x09\xde\x23\x13\x14\x94\x35\xc1\x92\x0d\x8d\x93\x29\xf0\x50\x12\x16\x4c\xdf\xda\x32\x31\x3b\x03\xe5\x31\xa1\xb4\xb9\x81\x7e\xcd\x90\x65\xc5\x45\x59\xde\xd4\x9f\xaa\xf2\x1d\xd5\x56\xa1\x96\x2e\x91\x98\x33\x9f\xf6\xc0\x0e\x09\x60\xbb\xf4\xb3\x3d\x9f\xb1\xcf\x14\xbf\xf7\xfa\x0b\x24\x93\x23\xbc\xc3\x71\xe2\x99\x06\x6c\x32\xb0\xbf\xd3\xe7\x9a\xa6\x9e\x44\x55\xb3\x82\x17\x27\xc7\xc5\xa2\xb0\xa9\x09\x73\xdb\xf1\x20\x8e\x60\xef\xa7\xb4\x3b\x07\xcc\x0f\x4d\x12\xec\x42\xc5\x7b\x7d\x41\xd6\x72\x27\x8b\x05\x92\x08\x2d\x2e\xd7\xb4\xd1\xb5\xa7\x6d\x48\x60\xe6\x4d\x90\x50\xc8\x0f\x6c\x13\xfa\x64\xfd\x8f\x59\xb2\xd6\xcb\xc5\x6c\x01\xcc\xb3\x15\x19\x21\xfa\x69\x04\x6d\xb4\xa6\xa1\xb7\x1c\xc5\x13\xa5\xb7\x9f\x75\xe5\xf1\xbf\x73\x4f\x91\x4c\x7f\x9a\x5b\x0e\x5b\x0b\xfb\x17\xee\xb9\x20\x9e\x15\x35\xa5\x01\x67\x20\x9d\xc7\xea\xe6\xdf\xf3\xee\x32\x56\x8f\xce\x58\x7a\xf9\xc2\x06\x62\xde\xe5\x3d\x66\x6a\x9e\xf3\xa9\xf0\x2b\xcb\xaa\x96\x4b\xd8\xd3\x93\x2c\x52\x1a\x76\xe7\x95\xc4\x41\x83\xc5\x3b\x33\xab\xc0\x99\xd1\x98\x8e\xd5\x25\xb5\x34\x66\x8b\xcd\x0a\x59\xef\x9a\x05\xa7\xa0\x58\xd6\x7f\x85\xe6\x9d\xd4\x98\x76\xb0\xa7\xfe\xf8\x84\x19\xad\xec\xbe\x82\xe9\x81\xfc\xbb\x2a\x04\x61\x68\x3d\x2f\x1b\x99\x2a\x9b\x55\x16\x64\x07\xc9\x04\x3a\xcc\x76\x92\x3c\x94\x6c\x3c\x95\x0f\xa9\xd9\xcf\x5b\x94\x6f\xe6\x41\xc2\xa7\x71\xa5\x01\xf2\x2e\x4a\xe9\xd2\x04\x91\x44\x42\x10\x2d\xbe\x01\xb1\xac\x12\x9b\xc9\xc5\x11\xbe\xdc\x0f\xbe\x48\xec\x2e\x07\xc8\xf6\xc3\x1e\x24\xb8\x2d\x0f\x20\xe4\x2d\xbf\x4e\x95\xb0\xac\xf2\xe5\x04\x95\x1b\xa3\xcb\x18\xc0\x4f\xd3\x00\x5e\x5e\x4a\xa6\x25\xb6\x2b\x2a\xf7\xfa\x54\xe2\x00\xf2\x2c\x1e\x42\x67\xaf\xb7\x59\xbe\xc4\xa5\xbb\x66\xe6\x3e\x6e\x8f\xdf\x4f\x02\x88\xf5\xac\xc7\x38\x9e\xf3\x2c\x58\xe4\x4e\x11\x28\x35\x5d\xbb\xac\x5a\x64\xdf\xb2\xef\x78\x4d\x5f\xb4\x46\xa9\x49\x72\x30\xaf\xb7\xef\x35\x15\x65\x5f\xf3\xfc\xd9\x23\xe4\x42\x8b\x9e\x35\x0b\x66\x23\xad\xdc\x20\xf3\x4d\x20\xda\xd4\xff\xb9\x97\x64\x01\x4d\x12\x6e\x6e\x00\x7d\xd1\x43\x10\x92\x32\x4c\xc3\x1c\xe1\x37\x5d\x33\xb3\x3b\xed\xee\xe4\x03\x9d\xbc\xf8\x83\x88\x10\xac\x6f\x52\x33\xf8\x64\x47\xd7\xee\x4b\xc0\x8b\x03\x07\x55\xd1\x21\x69\x00\x31\xe6\xd5\x25\x84\x4e\x56\x7b\xb0\x72\x18\x15\x2d\xc5\xee\x63\x06\x39\x63\x94\x76\x2b\x98\x98\x25\x61\x09\x1d\xb3\xf0\x5b\x45\xcf\x65\xef\x2b\xfc\x21\x0a\x7f\xb0\x62\xe0\x72\x61\xe6\x2a\x6a\xd5\x57\xe6\xdd\xd9\x07\x33\x4d\x59\xe5\x67\x6b\xcc\xed\x33\x3c\xc2\xc0\x70\x73\x65\x52\x30\xf1\xb0\x0e\x8b\x83\x57\xbc\xe5\x75\xb6\x5c\x1b\xa1\x4e\x65\x42\xcf\x05\x96\xa5\xdc\x05\x12\x6b\xaf\x0a\xc9\x57\x07\xf5\xfb\xa6\xbd\xc8\x72\xa1\x87\x6a\xb1\x9a\xb3\xca\x64\x50\x55\x1d\xc2\xe6\xa9\xce\x89\xd2\x99\x59\x35\x3f\x72\x69\x11\x05\xf5\xad\x17\x90\xc9\x44\x97\xf2\xca\xc2\xb0\xb8\x57\x59\x2e\x85\x59\xe6\x34\x5b\x0a\x68\x5d\xfc\x22\x88\xbc\xfa\x47\x2a\x9a\xbf\xce\x23\x31\xc2\xfa\x89\x11\xe2\xf4\xff\x9c\x90\x9d\x99\x90\x41\x84\x15\x16\x85\x35\x69\x0d\x20\xa1\xda\xf2\xa9\x3b\xe4\xe7\x6e\x05\xa0\x91\x95\x48\x2f\x01\xb2\x5d\x2a\xc2\x46\x74\x08\x5f\xa8\xc5\xff\x60\x1b\xb7\x29\x81\xe2\x93\xaa\x90\x5d\x40\x3c\x53\xbf\xd4\x45\xe5\x36\x71\x9b\x98\x9d\xa0\x11\xc0\x56\x3f\x51\xc9\xf7\xab\xe9\x4b\x5a\x8d\xdf\x70\x42\x07\x6e\x64\xa1\xc1\x38\x51\x67\x90\xca\xf3\x54\x1d\x5a\x63\xbe\x99\x7a\xe4\x4b\x99\x9c\x09\x9a\x08\xb5\x9f\xd3\x85\x38\x43\x1b\xda\xd2\x58\xbe\x34\xaf\xb4\xc8\x87\xbc\xae\xf2\x81\x5c\x8e\x59\x25\x4c\xe9\xcc\xb8\xeb\x27\x29\x60\xdd\xc9\x3d\x11\xe8\x22\x5d\x14\xa4\xe5\x80\x30\x68\x86\x59\x3a\x61\x59\xf2\x40\xe3\x8f\x29\xb6\x15\x83\xab\x53\x80\xe5\x85\x64\x4f\x73\xcd\xf2\x13\xbb\x15\xfb\x2d\x0f\x8f\xca\x1d\x0c\x73\x9a\x7b\x30\xea\xcf\xcb\x02\x74\x1f\xb7\x20\x75\x8d\x97\xf9\xbf\x65\x4b\x21\x31\xa9\xdd\x91\x9d\x71\x7c\xef\xce\x02\x86\x2d\xf9\xd7\xf7\x8d\x36\xc7\x49\x9a\xe9\x9e\xb9\x60\xeb\x03\x97\xf5\xc2\x38\xaf\x5a\xff\x9a\xa4\x6e\xb2\x67\x2b\x81\x11\xc1\x3d\x30\x39\xc8\xfe\x30\x0e\xda\x3c\x38\x42\x0d\xe4\x10\xfd\xa4\x07\xae\x29\x81\x1f\x3e\x73\x0c\x63\xed\xe3\x5c\x45\x91\xd8\xa1\xf1\x4b\xe3\x86\xe6\x41\x0d\xe1\xd3\x63\x8d\x8a\x4a\x24\x57\x88\xd4\x9e\x75\x7f\x9d\x87\xe6\xf0\x24\x85\x91\x02\x49\xd2\x41\x53\x10\x3b\xc0\x6d\xa5\x61\x3a\x4e\xf1\x53\x4d\xb1\x17\x31\x49\x28\x1d\x2a\x3d\xf3\xdb\xf9\xbc\x9f\x29\x30\x68\x8e\xbe\x3e\xa4\x8c\xbc\x2b\x09\x2c\x0b\xd8\xa0\xe2\xf1\xbb\x78\x66\xf8\xad\xc7\x4c\x91\xba\x6c\x50\xe3\x8b\xc5\x1b\xc4\xa3\x33\x34\xc2\xc3\xdb\x32\xfe\x7d\x66\xc7\xc6\x42\x9e\x48\xad\x63\x8d\x1c\xf5\x27\x20\x50\x3a\x9d\x0f\x3e\x31\xdc\x87\x50\x16\x53\xa8\xd8\xc4\x0a\x6c\x5f\x84\x59\x5c\x4d\x18\xd2\x43\xd8\xde\x11\xd7\x9d\x79\xc8\xb2\x21\x92\x99\x3b\xd4\x6e\x16\x86\x81\x9e\x45\x9b\x0a\x86\xb1\x20\x45\xdc\xc9\x8b\xf2\xd6\xd1\xf9\x7e\xfb\x24\x25\x3d\x8e\x27\x86\x49\x4d\xda\xb4\x0b\x68\xce\x12\x8e\x84\x03\x33\x04\x5b\xb2\x81\xee\x1f\x6c\x84\x25\xff\x8a\x00\xc3\x39\x1d\x47\x70\x22\x3c\x78\x43\x58\x5f\xea\x8d\x37\x64\x9e\x00\xe2\x21\x9e\xdc\x92\x7a\xd0\xb0\x4b\xa6\xbf\xcf\x37\x06\x74\x69\x11\xb0\x15\x3e\x89\x58\x4a\x9f\x1f\x0a\x8a\xa8\x84\x58\xcb\xa7\x53\x0c\x6f\xa1\x27\x0f\xb0\x60\x5b\xe0\x2e\x3c\xd1\xad\x08\xf1\x11\xf6\xcc\x93\x2d\xf7\xe4\x21\x5d\x7a\x2a\xc2\xf5\x3c\x9b\xc0\xf5\xc0\x0e\x80\x00\xe9\xf8\x60\xf1\xc7\x79\xce\x63\x11\xc9\x59\x77\x53\x3b\x24\x61\xc5\x41\x75\x4d\x1b\xd5\xbf\x5b\xa1\xd1\x32\x3e\xe7\x21\x6f\xdc\x4d\xd4\xdc\xa7\xac\xf3\x19\xca\xa2\xf5\x55\xac\xda\x31\x4c\x61\x33\x24\xc6\x9d\x51\x35\x45\x5b\x77\x73\x8a\xd6\x22\x56\x4a\x91\xc0\xe4\x4a\xe0\x84\xf0\x6a\x8e\xd8\x86\xbb\xc6\xa6\xee\x48\xa5\xe8\x80\x08\xa2\xa5\x39\x37\x98\x8e\x72\xda\x24\x85\x8b\xd7\x3b\xf1\xac\x12\x88\x58\x6b\x1d\xe4\x14\xa5\x07\xd9\x74\xc1\xd4\x6d\x65\x69\xa1\x10\x68\x99\x06\x0d\xa1\x1e\x41\x45\x7c\xc6\x48\x9c\x4e\xda\x28\xf1\x2e\xf8\x39\x47\xfc\x04\xf9\x25\xe4\x9e\x0d\xbf\x8b\x87\x6c\x3b\x5b\x48\x87\x03\xa9\x07\x99\xf9\x12\x37\x9d\x23\xc7\xac\x42\x90\x3d\xc5\xe1\x81\xe4\xb0\x6c\xad\xbd\x8a\x80\xea\x33\x73\x05\xdf\x47\x40\x41\x79\xae\xa2\xa3\x72\x43\x3f\x80\xb0\xca\xbd\x57\x7a\x0e\x69\xba\x66\xba\xdd\x11\x3e\x2c\xa7\xc4\xbb\x73\x68\xba\x14\x05\x57\xd8\xfb\x89\xcb\x60\xe0\x7e\xb7\x3e\x2d\x5d\xdc\x30\xad\x9f\x29\xdd\x2e\x0d\xd3\xc3\xed\xd5\xf0\xa5\x0f\xcf\x65\xe7\x81\xc9\xac\xdf\x9e\xcf\x0b\xa3\x23\x29\x9e\x9e\xcb\xeb\xba\x9b\xce\x7b\x4c\x92\x3e\x2e\x67\x7b\xbf\xae\xc2\x38\x19\xa2\xdb\xda\x0c\xe2\xcc\x0d\x45\xf1\x3a\xfa\xd9\x2f\xd9\xeb\x4b\x8b\xd3\xab\xb4\x2d\x26\xf3\xbc\x1a\x3e\xa5\x0b\xf7\xdc\x06\x93\x67\xe4\x03\x1a\x1b\xc2\xba\x23\x89\x41\x90\xa4\x50\x88\x2f\x49\x06\x88\xdb\x94\x0a\x89\x32\xec\xb9\x5a\x5f\x50\xe9\x08\x01\x6f\x3a\x99\xb0\x4a\x4a\x2e\xf0\x8d\xa6\xe1\xa7\x50\xce\x52\xef\x77\xec\x98\x53\xce\x66\x6c\xab\xf2\x71\xc5\xad\x1b\xeb\x0b\x09\xdc\x3c\xb6\xe9\x44\xe1\x1c\x54\xb1\x08\xb7\xd1\x83\x06\xbe\xe2\x8a\x4b\x69\x97\x1e\x6e\x44\xd6\x24\xf8\x1a\x57\x79\x15\x59\xa2\x38\x73\x1f\x36\xe7\x7b\x97\x26\x5a\xad\x26\xa1\x8d\x70\xd5\xee\x82\x9d\x37\xf9\x0d\x03\xe9\x03\x67\x0a\xd5\xec\xcf\x58\x68\x44\xeb\x05\x08\xe6\xb8\xaf\x25\x72\x27\x6a\x6f\x5c\x23\xad\xf8\x88\xde\x81\x4d\x31\xbc\x13\xa5\x51\xe2\x40\xa1\x4a\xb7\x02\x98\xdf\x95\x56\x9a\x80\x8e\xc1\x6c\xbd\xfd\x1e\xd7\x43\x4d\x80\x25\xdd\x46\xb1\x71\x9e\x11\x0f\xb9\x09\x04\xad\x88\xe2\x1e\xc7\x42\x1b\x4e\x7a\xfd\x56\x67\x55\x27\x69\x3a\x56\x2e\x5b\xb2\xcf\xa0\x03\x6c\xe1\x54\xc0\xab\xde\xd6\x10\x7e\x65\x8d\x75\xd1\x5c\x64\x66\x56\x10\x33\x77\x91\xfe\x81\x5d\xc0\x64\xe6\x77\x33\xa5\x1c\x06\x30\xd6\xde\x07\xd9\x9c\x45\x9b\x37\xdb\xdc\x1c\xda\x47\x66\x7b\xd4\x79\x09\x29\x71\x12\xe8\x0e\x64\xe7\xec\xba\xc8\x3d\x74\x61\xb1\x09\xce\x51\x69\x26\x00\x7c\x40\x2e\x39\x03\x5f\x49\xc5\x86\x1a\x6f\xa5\xa1\x2c\x3d\xdc\x35\x76\x88\x71\xc7\x44\x61\xbc\x60\x05\x04\xb0\x9a\x2f\xaa\x29\x43\xb9\x0e\x71\xba\x1e\xb8\xed\x76\x2d\xec\xe9\x5d\xb8\xe9\x40\xcd\xc3\x21\xd7\xad\x27\x47\x9b\x5a\xa5\xad\x0b\x90\x1f\xaf\x03\x48\x1e\x11\x58\x82\xa6\xcb\x8f\x52\x40\x02\x76\x1a\x04\xea\x54\x37\x54\x41\xef\xdb\xbe\x51\x74\x28\x92\x36\xc1\x37\x93\xe5\xb9\x02\x22\x58\x2b\xcc\x0c\x31\x18\xb4\x34\x0a\x81\x80\x91\xac\xc0\x22\xc3\x38\x26\xac\xb0\x25\xc2\xcd\xba\xe8\xa5\x92\x67\x79\xb6\x38\xcf\xec\xb4\xe7\x2c\xd1\x2c\x84\x9a\xd3\xa6\x18\xdb\x8f\x82\x02\xa4\x84\xda\xbd\x51\x5d\xd5\xc6\x03\x43\x4e\x69\x40\x1c\x55\xf3\x45\x6e\xbe\x31\x32\x1a\xb2\xdc\xaa\xfb\x4a\x8b\xa6\x24\x2d\xcf\x02\xe2\xdd\xaa\x17\x3d\xd7\x3a\x36\x01\x7b\x95\x68\x93\xf4\x16\xa2\x11\xa2\xae\x3c\x59\x72\xad\x3d\x73\x30\x89\x2b\x70\x11\x4e\xe8\x9f\x38\x6b\x5c\xee\x26\x69\x8d\x8b\xff\xaf\x6a\x92\x41\x89\xe8\x34\x7f\xef\xd1\x5b\x2e\x99\xe6\x34\x0e\x98\x81\xb2\x81\xd3\x35\x50\x1e\x25\x80\x3b\x25\xd8\xc0\x5a\x1e\x5d\x04\x9f\x12\xb6\x1b\x3d\x81\xeb\xdd\x21\x84\xfd\x1b\xde\xb9\xf3\x53\xc5\x33\x38\x62\x4b\x11\xf2\x60\x73\xb9\xf3\x19\x23\xc5\xcd\xbe\x10\xd4\xad\x52\x98\xd7\x46\xd0\xe2\xc5\x66\xed\xbf\x87\x6e\x79\xf7\xf4\x29\x10\x04\x9f\xe8\xba\x0f\x9c\xe4\x4e\x3d\x26\xbb\x91\xcf\x96\x7d\xd9\xc8\x67\x3f\xef\x79\x18\x0d\xe2\x10\x8f\x24\xd3\x2c\x83\x43\xa9\xa0\xa8\x60\x83\xa8\xd9\x27\xee\x2d\x96\x49\xcd\xde\x87\xb9\x72\x87\x7f\xa1\x56\x5c\xfa\x91\x9b\xbf\xc8\xbe\xd8\x6f\xe7\x49\xae\x1f\xe7\xb1\x7d\x3e\xae\xe9\x97\x7c\x8c\x9b\xfa\xce\xc4\x24\x3e\x0a\x30\x6a\x9e\x36\x96\xbf\x1b\x7d\x7a\x60\xe0\x64\xfd\x76\x7a\x64\x10\xd3\x06\x83\x8f\xdd\xf3\xd2\xd3\x7e\x1a\x28\xe7\xae\x7a\x01\xa4\xd0\xa4\x27\xfd\xa3\x4a\x02\x7c\xd7\xaf\x4d\xd3\xd5\x2c\x5f\x49\x13\xfa\x82\x6e\xfa\xe5\xf7\x79\xf6\xa6\x61\x94\x82\x10\x56\xf0\xcf\x03\x16\x5a\x1b\x8c\x83\xd9\x4c\x53\x67\x4a\xcc\x2a\x0d\x63\x44\xb9\x70\x64\x5c\x06\x75\x50\x82\x69\xcf\xb4\xf5\x5e\x09\x0f\x8e\xdb\x33\x7e\xfc\x6e\xb6\x1c\xbb\x63\x0a\x1f\xdc\x0e\xe9\x93\xb0\xc0\xb3\xe4\x5c\xac\x55\x54\xcf\x2a\x07\x3a\xe2\xa9\x8c\xff\x58\x25\x57\xe1\xa7\x71\x6f\xef\xb9\x0b\x97\xfb\x95\x3b\x67\xe2\x9e\xac\x97\xfc\xb4\xbb\x87\x05\x40\x2d\x03\x15\x8a\x5f\xc9\xfe\x3a\xae\xd9\x2a\x15\x66\x92\x30\xca\x87\x3a\x0c\x7e\xc0\xd4\x7e\x7a\x6f\xc5\x96\x59\xa5\x9a\x5b\xf7\xce\x12\xc3\x48\xbb\x17\x98\xe1\x02\x31\x1c\x26\x6a\x35\x31\xce\x3d\xdc\x63\xc0\x26\x77\x0a\xce\x29\xba\xad\xb0\x0a\x56\x6c\x2c\x52\x0d\xb2\xc6\x61\x32\x5c\x67\x0f\x09\x39\x4e\x1f\xb7\x0e\xd9\xa8\x84\x54\x20\xb1\xa8\xf5\xa2\x14\xb2\x3a\x08\x6a\x95\xab\x16\xa4\x02\x79\xf0\x46\xae\x1e\x0c\xd5\x2b\x4b\x45\xea\xf4\x47\x53\x75\xa2\x54\xa1\x82\x5d\xc5\xbb\x58\x33\x55\xd0\xef\xce\xcd\x9e\x87\x14\xb7\x3e\xae\x03\x64\xaf\x53\x36\x54\xae\x77\x9a\xcc\xa7\xca\x80\xac\xbc\x9a\x12\xee\xf1\x32\xc6\xca\xa2\x8a\xe8\xd2\x91\xb9\x69\x7e\x75\x13\x58\xd9\x88\xbb\xc7\xd2\x26\x61\xd4\x5d\xdd\x5a\xd4\x1c\x9d\xd4\x06\x4f\x79\x14\x56\x53\x5e\xe6\x26\xf4\x53\x6c\x4c\x52\xe2\xce\x4d\xee\xf5\xe7\x21\x45\xa5\x10\xff\xa0\xe2\xc8\xbb\x7b\x6c\x0a\x41\x9a\xa5\x8f\x37\xaa\x1f\xd0\x3d\x88\x13\xfc\x75\x56\xad\xac\x24\x15\xa5\x28\x2e\x42\x4b\xe9\xf4\x9e\x4e\x3b\x91\xfa\xc9\xdb\x82\xf4\xde\x0b\x6d\x71\x79\x64\xee\x5f\x1d\x78\xc1\x66\xd8\x12\xb0\xf4\x02\xac\x96\xed\x1f\xf4\xd7\xbc\x03\x5a\x96\xf2\x40\xa7\x2d\x90\x83\x97\x90\xd1\x49\xc1\xb6\x3b\x81\xd9\x21\xac\x84\x9b\xc3\xf9\x35\x8a\xf9\x82\x47\xaa\xcb\x44\xa5\xf4\xb2\x3c\xf6\x6e\xef\xa2\x66\x3e\x68\x36\x46\xec\xbc\x26\xcb\x3c\x46\x7a\xb5\xc9\x34\x65\x25\x0f\x75\x25\x96\x55\x2f\x70\xe5\x99\x7d\x98\x0a\x8d\x34\x15\x30\x79\x9a\x0b\xea\xe1\xf1\xc5\x8e\x62\x5d\x51\xf4\xa0\xb2\xb2\x2b\x3e\xd2\x9a\x24\xa7\x5b\xd5\xc7\x71\xc2\xf9\x92\xa4\x91\x7a\x23\xa8\x5b\x0f\x20\xa6\x85\xf9\x21\xa0\xce\x9f\x72\x4c\x5d\x79\xa7\x3a\x7c\xf0\x4b\xb7\x77\xa7\xca\x8b\xb1\x45\x81\xe4\xa7\x4e\xdb\x79\x53\x8b\x57\xf8\xf3\x04\x8e\x34\xfc\x17\x64\x46\xbe\x3a\x3a\xb6\xac\x7c\xaa\x20\x18\x26\x1f\x7c\x45\x59\x7f\x8c\x84\xe0\x9c\x1a\xa5\xe7\xac\x73\x14\x34\x3d\x29\x30\x9a\x85\x1a\xd9\x52\x9b\x7b\x24\x15\xc7\x51\x4b\xb5\xf0\xfe\x64\x6b\xf3\x22\xdb\x1e\x41\xba\x18\xd2\xd8\x06\x6d\x0d\x50\x87\xd6\x2f\x97\x53\xe5\xd1\x02\x8e\x42\x0b\x63\x13\x21\xec\xb8\x86\x97\x86\xc1\xa7\x9e\xb9\x38\x79\x9c\x96\x11\x17\xfd\x60\x3d\x5f\xd5\x6d\xc3\x78\xc6\xcd\x33\x63\x2f\xbe\xd6\xd3\xd3\xf6\x6c\x65\x07\x3c\xd1\x8c\xe9\xec\xfc\xc3\x91\x11\x9c\x08\x27\x35\x22\x2f\x85\x77\x0b\xea\x6b\xa1\xf8\x9a\xcc\xe6\x61\xe8\x64\x05\x8e\x8e\xd7\x2a\x7b\x1e\x4a\xe7\x9a\x5f\x8d\x45\xef\xe3\x04\x37\xa2\x87\x5e\xeb\xa9\xbe\x4d\x74\xe8\x19\x50\x31\x27\xa4\xb8\xe5\x7c\x8a\x0e\x03\xd9\x3a\xff\x8f\x17\x70\xdc\x03\x02\xc9\x38\xb5\xe6\xc7\x17\xd3\xe6\xb9\x4d\xa7\x8a\xd6\x34\xc4\xb4\x5b\x37\xf9\xe1\xf6\x57\x66\x0b\xbb\xec\x31\x74\xe0\x9d\xbd\xbc\x31\xe0\xe6\x64\x44\xf1\xc9\xdb\xf6\x32\x34\xd3\xca\xf4\x05\x70\xc1\x81\x07\x2a\x9b\xc3\x0f\x6d\x66\x41\x4c\x8d\xa5\x71\x21\x4c\xeb\x30\x90\xf0\xf2\xbb\xdf\x69\x50\x9b\xd7\xa1\xd1\x3e\x8f\xa1\x8a\x61\x34\x7f\xf4\x63\x14\x83\x66\x4e\x30\xd2\x3c\x0d\x80\xd9\xcc\xe8\x73\x17\x3e\x30\xba\xde\x83\x6c\x96\x9d\x39\xaf\xc1\x04\x15\x8d\xa7\x00\x19\xfd\x36\xe3\xcd\x2d\x1e\xef\xac\x18\xe1\x6b\xdc\x05\x87\xcf\x7e\x12\x31\x76\x4d\x88\x6d\x6c\x3e\x80\x7b\x68\x93\xc4\xc4\x60\xca\xe1\x97\xcf\xe5\x76\xb6\xe5\xbc\x6a\x8b\xcf\x6a\x58\xfb\xac\x9f\xc7\x7a\x53\x37\x37\x33\x20\x19\xc9\xab\xfe\x73\x31\x58\x19\xe9\x82\x29\x6c\x69\x83\x9b\xf7\xe5\x82\x20\x6a\xff\x01\x84\xd3\xdb\x1c\xe7\xf3\x6b\x6a\xd1\xef\xe2\x28\xbc\x63\x0f\xec\x1f\xf6\x01\x01\x09\x14\xc9\x58\x4f\x7e\xa4\x18\x39\x34\x11\xca\xa8\x6b\x04\x8f\x99\x12\xa4\x01\xb2\xaf\x01\x73\x0c\xc2\xb4\x75\xc7\x1e\x7e\x3e\x9a\x87\xd0\x43\x7f\xdf\x8b\x01\x5b\x36\xae\xa9\xbe\x06\xdd\xdf\x27\xd4\x77\xe6\x52\x13\x9c\xa2\x17\x86\x5d\x39\xce\x36\x3f\xa9\x2c\xff\x7c\xc2\x63\xd8\x70\xc9\xb9\x55\x52\x9c\x63\x9d\x84\xab\x8d\xd1\x4d\xcf\x91\xe2\xa7\x59\x8b\x64\x3d\x24\x7e\x90\x26\x76\x53\x6e\xb7\x5f\x55\xbb\xb7\x45\x5f\xf7\xbb\xb8\x83\xdf\x85\xdf\x7d\xc3\x61\x08\xc7\x11\xd3\x7d\x2d\x91\x4b\x70\x86\x82\xf6\xd2\x07\xae\x52\x7c\x84\x20\xf2\x59\x5c\xa0\x41\x4e\xe8\x87\x61\x92\x5b\x3f\xee\xee\xdd\x5e\x60\x39\xd0\x48\x84\xc5\x8e\x91\x2a\x00\x6a\x57\x6d\x21\x77\xc9\x0f\x47\x81\x2a\x1a\x8b\xc6\x6a\xb1\xe2\x43\x62\x81\xc6\x2d\x12\xf3\xed\xc5\xc0\x0e\x45\xcc\x78\x9d\xbb\x8b\x9f\xec\x08\x6d\x10\x50\xfc\x20\xc0\xf0\x53\x70\x5b\x8e\x4d\x66\x5b\x0e\xa7\xdb\x9e\xdf\xfe\x7f\x5c\xa5\xe5\xcf\x35\xfd\x8e\x9b\x3e\xb0\x1c\xce\xb8\xb9\x83\xa5\xcd\x29\xbe\xcb\xcf\x34\x04\x91\x69\x90\x4d\xfe\x8f\x3b\x62\xf0\x29\xe1\xa6\x85\xe9\xa6\x65\x85\x13\x99\x4e\xbc\x5a\x3f\xe6\xe3\x8e\x64\xbc\x27\x24\xe5\xc3\xdf\x2d\x93\xcf\x7b\x02\xf1\x6b\xbf\x28\xd7\x6d\x94\x84\xcb\xc9\xee\x9d\x0a\x34\xe6\x5d\xd7\x9f\xca\xe9\x4c\xc0\x14\xc1\x3c\xed\xb0\xe3\x99\x0e\x46\xce\xcf\xb3\x37\xfd\x46\xa9\xe5\xbe\x98\x88\xa9\x0f\xd2\x63\x24\x6b\xa5\xb2\x69\xcb\xed\x83\xc2\xfb\x71\x53\x7a\x2a\x69\x40\x0f\x2f\xff\xf2\x60\xb7\xad\x6f\xd1\xe2\xd9\xb5\x3e\x74\x3d\x89\x6b\x13\xc6\xcd\x6d\x71\xd2\xa5\xf1\xa2\x47\x47\x35\x24\x87\x5a\x71\x94\xc9\x6a\x36\x76\x0e\xdd\xad\x8d\x51\xfa\x43\xef\xdd\xc5\xcd\xed\x60\xdf\xd4\x8c\x71\xa2\xb4\xf7\xb3\x7c\x61\xd2\xcc\xcc\xf6\xef\xbc\xa6\x19\xa6\x78\x9b\xab\x92\xc8\xf1\xd6\xc7\x39\x0a\x45\x33\xcc\xdc\xa2\x5e\xaa\x9f\x81\xad\xfd\x1b\x37\x53\x3e\xc1\xd4\xa2\xe5\x0c\x43\xd6\xcc\x71\x99\xed\xd3\xdc\x3a\x9c\xc8\xba\x87\xbe\xbd\x0e\xce\x7d\x5b\x83\xba\x04\xf9\xef\xcd\x83\xc3\xbb\xdc\xc7\x0f\x83\xf4\x63\xfd\x0f\x96\xe7\xa8\xd6\x37\x09\x8c\x65\xfc\x18\x8e\x9f\xa0\xec\xd0\x7c\xe7\x23\x7c\x8e\xa1\xc5\xa5\x9b\x1b\x4e\xa4\x56\xc7\xb1\x77\x12\x54\x92\x44\x2e\x12\x0a\xf3\x48\x92\xe0\xd5\xf4\x0b\xa4\xaf\xcd\x64\xeb\x0f\x49\xf2\xbe\x15\x68\x94\x2b\x31\x84\x31\x3d\x44\x57\xc6\xee\x8e\xad\xcb\x90\x5a\xb9\x5a\x96\x78\x05\x21\x8a\x32\x6f\x0e\x96\xb3\xa8\xd0\x2a\x92\x75\x1e\x86\x73\xdb\x77\xb6\x21\x1d\x3f\x9f\x65\xe2\xa0\x64\x3c\x7b\x00\x62\x37\xad\xdc\xe1\xf9\x24\x37\x1f\x25\x12\x5c\xf0\x98\xed\x82\x47\x31\xc3\x84\xdd\x7d\x9c\x21\x7b\xcb\x2c\x32\xe4\xdf\x00\x6b\xba\x0f\xf4\xe1\xac\x1d\xed\x88\x01\x46\x3c\x10\x01\xb6\x9a\xe4\xfe\x15\x94\x6f\xd3\xa7\xb4\x64\x52\x39\x9d\xda\xbb\xcb\x0d\xb6\x25\x4c\xce\xd8\x99\x4e\x7b\x88\x25\x23\xbd\xb0\x2b\xb4\x79\x97\x65\x40\x87\x40\xca\xf6\xed\x3a\xfc\xb8\x7a\xcf\x8f\x2f\xcf\x11\x55\xf5\x22\x04\xa9\x22\xd8\x1e\x99\xf7\x76\x05\x89\x55\xdf\x08\x71\xa8\x29\x1c\x75\x7d\x46\xf2\x6c\xff\x3d\xff\xf7\x78\x92\xc0\xa1\x1b\x2c\xda\xe2\x0f\xdb\x4a\x44\x8d\x23\x5a\x8d\x77\x78\x4a\x7c\x83\x36\xfd\x82\xce\x70\x71\x93\x4c\xa4\x9c\x78\x8c\x35\x4a\x45\x2f\x3f\x66\x23\xbf\x10\x99\x56\x06\x4b\x97\xbb\xca\x93\xfe\xcb\xb5\x38\xde\xfd\x21\x8e\x24\x3f\x35\x75\xbf\xdb\xfb\x87\x6f\xbb\xa4\xc5\x04\xc3\x2a\xe3\xf9\x5f\xeb\xbb\x5d\x2c\xbd\xd2\x87\x9a\x40\xa1\xd5\x54\xcc\x04\xad\xa2\xa3\xce\xfe\xbf\x4c\x73\x93\x72\x67\xe6\x5e\x7a\x25\xb6\x45\x0c\x50\x3c\xc0\xab\xf9\xdd\x41\xbf\x82\xa1\x7e\x0f\xca\xf0\x48\xbc\x7b\xec\x89\xd1\x9e\x58\xc3\xa3\x7f\x7b\xf0\xdb\xad\xfe\xe6\xd6\x1e\x39\x05\xbb\x05\x4f\xae\x71\x3b\xd8\xf4\xe8\xbd\xfb\xf1\xef\xb1\x29\x44\x47\x99\x3d\xb6\x7a\xe4\x3e\x68\xcc\x08\x0d\x7c\x6c\xb2\xf8\x23\xe8\xd2\x7f\x45\x18\xfc\xe8\x3b\x54\x9f\xe8\xf2\x93\xa0\xa9\xfb\xe8\x30\x05\x10\xb7\x04\x35\xc7\x0d\x7c\xbc\x2d\x6e\xb1\x8c\xb7\xd9\xd0\x5f\xca\xfb\x3d\xca\x8c\xdd\x7b\x6c\xaf\x64\xd6\x86\xb3\x7a\xff\x8e\x65\x0a\xde\x73\xac\xc5\x80\xd2\xa7\xaf\x73\x56\xf7\x0f\xd0\x1a\x5d\xc6\x2f\xdd\xd0\x16\xb9\x62\x7b\x48\x46\xdf\xbf\x93\x66\x0a\x9e\x59\x89\x6b\xfc\xde\xbd\xdb\xe6\x70\x79\x73\x2c\xc2\xc0\x3a\xc5\x90\xba\x4a\x81\x4d\xd4\xc4\x6d\x67\x1e\x92\x2f\x03\xf6\x2e\x02\x62\x70\x75\xfe\xe8\x80\x54\x54\x9f\x37\x68\x2c\xad\x39\x56\xac\x0c\x5b\xe9\x34\x69\x16\xac\x29\x08\x91\x8b\xeb\x70\xf8\x84\x04\xd3\x45\xcc\xef\x3d\xb9\xfd\xbf\x8e\x7c\x5b\xda\x9b\xc8\xa6\x2d\xd9\x31\x18\x17\xee\x26\xa8\x93\x0d\xeb\xdf\x9f\x85\x30\xa6\x1e\x49\x50\xe5\xe1\x66\xed\x20\x1a\x69\x07\x99\xf3\x22\x39\x64\x18\xe8\x84\xa5\x13\xea\xd7\x4b\x0d\xd6\xac\x2e\xff\x1b\xc3\x7b\xfc\x68\x6c\xa9\x0e\x3d\xbf\xfd\xd7\xef\xfe\xd3\x03\x15\x66\x6f\xa4\x9e\x76\xb2\x86\x83\xe1\x77\x75\x77\xdd\x41\x0e\x4d\xf6\x31\x00\x1a\xe3\x22\xc5\x0d\x1b\xa1\xb7\x67\xaa\x89\xe8\x2f\x19\x35\xde\x8c\xa9\xc5\x1e\x9b\xaa\xc7\xfc\x85\xb6\x48\xcd\xf1\x77\xe8\xc9\xe1\xde\x90\x65\xb4\xee\x79\x2d\x77\x26\x5f\x14\xd1\x61\x6a\xae\x52\x42\x83\x59\xd0\x07\x0c\xdb\xdc\x09\x66\xf7\x40\x5b\x83\x78\xc6\xa3\x7f\x4c\x94\x4e\x5b\x47\xf0\x00\x0e\xbb\x31\xaf\x3f\x00\xa2\x48\x6d\x35\x64\x83\xdf\x23\xf6\x26\xa2\x12\x97\x51\x1e\x1d\xf0\xa4\x5a\xdb\x27\x54\xa4\x75\xa8\x08\x17\xd6\x7f\x0a\xaa\x39\x55\x52\x37\x16\x40\xec\x10\x2a\xfa\x2c\x54\xec\x15\xe5\x0f\x49\x99\xea\xe0\xa7\x3a\x46\x88\x70\x6a\x2f\x00\x2f\xdc\xac\x2e\x4b\x58\x34\x20\x8a\x93\x78\x7d\x23\x48\x18\xb7\x89\x9b\xa8\xa1\x0b\x4e\x33\x2f\x82\x1b\x23\x04\xed\xba\x2c\xdf\x08\xc6\xa3\xf3\x5d\x34\x87\x58\x68\x91\x57\xf6\x77\x9a\xb8\x09\xfa\x11\x1e\xdb\x54\x7f\x7c\x3d\xc8\x26\x53\xc1\xa8\xeb\xf5\x27\x9a\xc7\xb2\x65\x20\x7c\x99\xdc\x16\xbc\xe8\xf0\x47\x95\xcb\xa6\x87\xcb\xed\xc3\xf9\xfd\x9d\x95\xb5\x50\x82\xdd\x0f\xa6\x24\x41\x1e\xb8\xac\x1f\x95\x41\x5a\x02\xce\x16\xca\xb2\x5e\x68\x30\x39\x15\xdd\xc7\x4e\x4e\x93\xd0\xf2\x9f\xac\x54\xd3\xd3\xe7\xfb\x1d\xd8\xc6\xdf\x03\x6e\x2a\x9b\x6a\x06\x4e\x7a\x15\x3d\x94\x75\x43\x86\xc7\xf3\x53\x87\x39\xf8\x6e\x50\xc7\xa2\xcf\xeb\xea\xe3\x01\x74\xb9\xa7\x9f\xdf\xbe\x96\xbd\xf5\x79\x6d\x3d\x70\x57\x9a\x25\x2e\x4c\x42\x7b\x5e\x85\xe9\xab\xb5\x52\x0a\xbe\xc9\xaa\x54\xc6\x8e\x33\xdb\x4f\x04\xb1\x4b\xdd\x93\x5d\x50\xb9\xa1\xdb\xd3\xcf\x64\xb3\xf9\xb7\xca\xfa\x49\x08\x60\x77\xfa\xf8\xec\xb6\xdf\x3c\xb3\xc7\x4a\x32\xe1\x39\xcf\x7e\xbe\x1a\xdf\x83\x5f\x67\x7f\x84\x3d\x6b\x9f\x75\x2f\x9f\xee\x9d\x76\x54\xfb\x44\xe9\x17\x43\x87\x6a\x8e\xd6\x97\xff\x73\xd3\xc6\x3a\xbd\x0b\x97\x44\xfe\x11\xce\x11\x75\xa0\xc7\x08\x27\xd1\x6d\x30\x58\x7f\x34\x63\x18\x22\xb8\x55\x2c\x52\x70\x1d\xb8\x45\x9c\xe8\xc4\x96\x31\x8c\x66\x34\x54\xb6\x24\x4e\xc4\x22\x05\xd7\x41\x54\x89\x93\x74\xe2\xeb\x8f\xf1\xa1\x8f\xf1\x51\x1e\xfc\xe5\x82\x81\xe1\x58\x53\x5c\x48\x6b\x88\x85\x02\x3d\x28\x2b\x71\xa2\x13\x2e\x4a\xab\xe0\x89\xde\x95\x3f\x74\x42\xf8\xe8\x24\x16\x5a\xd4\x85\x02\xe7\xe6\x8e\xc3\xeb\x9a\x26\xdd\x0f\xd9\x4e" -func _86edda2ef78269650782aJsBrBytes() ([]byte, error) { +func _85e9b0ddea6da6e65c007JsBrBytes() ([]byte, error) { return bindataRead( - __86edda2ef78269650782aJsBr, - "8.6edda2ef78269650782a.js.br", + __85e9b0ddea6da6e65c007JsBr, + "8.5e9b0ddea6da6e65c007.js.br", ) } -func _86edda2ef78269650782aJsBr() (*asset, error) { - bytes, err := _86edda2ef78269650782aJsBrBytes() +func _85e9b0ddea6da6e65c007JsBr() (*asset, error) { + bytes, err := _85e9b0ddea6da6e65c007JsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "8.6edda2ef78269650782a.js.br", size: 6078, mode: os.FileMode(436), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "8.5e9b0ddea6da6e65c007.js.br", size: 6464, mode: os.FileMode(436), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var __9Ec83286d14b56ebb8488JsBr = "\x1b\x1f\x4a\x00\x2c\x0b\x78\x93\x75\xa9\x09\xca\xae\x31\x48\x50\x1c\xdf\x5a\x4a\xcf\x5f\x87\x81\xda\x18\xd9\xbf\x73\x2a\x5d\xba\xf7\x33\xcc\x15\x55\xdc\x34\x4b\x00\x4a\x54\x9b\xa5\x88\x4b\x9a\xef\xd7\x4c\x4f\xd7\x30\x4e\x23\x15\x70\x6b\x15\x83\x58\x26\x0b\x12\x19\x7d\x16\xe3\x79\xb6\x34\xd5\x5e\x5f\x9b\xc0\x11\x3b\xf0\x48\x97\xfb\x0e\xc1\x28\xbd\xbe\x4a\xb5\x52\x9a\x85\x92\x76\xca\xaa\x4e\xf1\xfc\x7a\xfe\x86\x38\x80\x20\x71\xd4\x31\xd5\x5c\x2b\x9d\x3b\x98\x25\x62\xf2\x6d\x4b\x42\x39\xa5\x22\x6b\x64\xb4\x54\xad\xaa\xcd\x9a\xc5\x08\x46\xd1\x58\x90\xaa\x82\x97\x1c\x70\x9f\xe9\x4f\x89\xbf\xaf\x6a\x02\x99\x3e\x6d\xa7\xb6\xb5\x2d\x5b\x46\xf9\x9a\x90\x31\x99\x32\x8d\xd1\x7b\xef\xff\x1f\x93\x22\x19\xab\x39\xa7\x0a\x58\x2e\xc0\x5d\xd7\xb5\xc6\xff\x45\x19\x14\xa5\x33\x54\x7c\x2e\xba\x52\xda\x96\x52\xdb\x36\x26\x37\xa6\xad\x73\xe0\x29\xc8\x36\x6a\x95\xde\xd9\x8c\xfe\x55\x23\xfc\x69\x48\x42\x08\xed\xb3\xbb\xb6\x84\xc8\x7e\xb9\x2d\x2d\x28\x9a\x75\x6b\xb2\x3d\x4e\xf8\x88\x03\x64\x1f\x72\x7f\x3f\x3b\xf4\x89\x6b\x65\xea\xdb\x19\x11\x54\x0c\xe6\xe3\x5b\x3d\xd2\xef\xed\xd3\x5d\x1f\x12\x20\xd7\xf0\x5e\x2b\xa9\x3a\x6b\x9d\xc9\x4b\x1d\x79\x4d\xe0\x0f\xa3\xc3\xc0\xff\xbd\xb0\x8d\x63\x21\xe4\x45\x22\x45\x9b\x51\x4a\x45\xfc\x7e\x5c\xe9\x97\xf6\x79\xc6\xcc\x86\xe1\xed\x12\x2e\xbb\x07\xfc\xfa\x92\x4a\x4f\x97\xc9\xf8\x84\xa3\x8a\x0a\xda\x70\x93\x1d\xad\x61\xc3\x91\xff\x8f\x2a\xb2\xb6\xaf\x86\xff\x5e\xff\xcc\xa2\xfd\xef\x05\xf6\x50\x32\x45\x79\xf6\x8e\x1c\xc4\x84\x37\xd6\xd0\xa6\xd5\x95\xed\x23\x81\x07\x08\x59\x89\x56\x3d\x46\xc8\xaf\xc3\x59\x4c\x02\x89\x6e\x58\x88\xd0\x96\xb7\x85\x8f\xcd\xce\x8c\x13\x29\xa2\xd7\x31\x95\x9d\xdf\xbd\xec\xab\xd9\xf5\x1f\x86\xcb\xea\xd4\x9c\xaf\x57\xa2\xfe\x47\xcc\x82\x99\xa3\xce\x16\xbb\xcf\xe6\xb6\xba\x69\xd9\x63\x29\xae\x79\x96\xcd\xd9\xa4\x48\x53\xe9\x80\x72\x7e\xf8\x1c\xc3\x30\x2b\xe6\x93\x6d\x45\x1c\xe6\x47\x99\x4e\xe8\xd6\xd2\xdf\x45\x26\x4c\x2c\x5d\xee\x65\x63\x12\x5d\xac\xee\x04\x3e\xb7\x50\xb4\xdf\xc7\xdd\xcc\xd3\x0d\x7d\xf5\x4b\xc8\x54\x5a\xab\x40\x6b\x59\x3e\x7c\x5a\x94\x03\xa5\xd7\xea\x82\x48\xc7\x77\x77\x38\xc5\x5a\x49\x80\xd6\x14\x15\x69\x1b\xf8\x13\xa3\xca\x3e\xc4\xee\x22\x8e\x04\xc1\xf5\x7b\x13\xb3\x02\x2c\x33\x6f\x4c\x05\x73\x70\x26\xb7\x9a\x6d\xa6\x7a\x0b\xa8\x6d\xbb\xd0\x59\x2b\x4e\xa4\x6d\x4f\x1d\x2a\xc1\xca\xaa\x04\xa4\x99\x7a\xc9\x82\x99\xd3\x90\x3f\x31\xca\xa1\xd8\x53\x7f\x9e\x2b\x91\x68\xb3\xdd\xc8\xd1\x13\x56\x0a\x99\x52\x3f\xd0\x1d\x30\xf0\xea\x59\x6b\xe1\xd0\xc4\x27\xed\x4f\xad\x8f\x24\x88\x71\xb1\xdd\xb5\xac\x9e\x82\x51\xa3\x7c\xe8\x88\x05\xf7\x86\x0d\x32\x9d\x3d\x75\x1d\x53\xc0\x75\xa3\xb6\x89\x8a\x7b\xf4\xb7\xb3\x0e\x9a\xcd\x02\xfb\x6a\x91\xdb\x6a\xef\x29\x0c\x40\x75\xd0\x62\x8b\x23\xfd\x04\x29\x6b\x8a\xcc\x7c\x84\x2c\x51\x8d\x7a\xd2\x10\x89\x47\xbc\xb8\x15\x63\x82\x9c\xf7\x77\x4d\x95\x30\xe2\x4b\xdc\x40\x28\x14\x94\x0d\x33\x3e\xb2\x21\x3a\xb0\xb9\x5f\xab\x5f\xcf\x2e\x57\x36\xfd\xf1\xc9\x36\x32\xfb\x0f\xf0\x9c\x1e\x4b\xdb\xa7\xf5\x7b\x2f\x1d\x70\x07\x40\xbe\xed\x57\xcd\xa6\xf9\xfb\xf7\x30\x2f\x0d\x7b\xac\x80\xe5\x92\xe7\x27\x44\x95\x8a\x28\x02\x47\x8b\x48\x4a\x82\xd9\x2f\xe2\xb2\x30\xa6\x2e\x81\x7a\x8c\x5e\x20\xcd\xf6\x59\x73\xe0\xb0\x53\xa2\x5c\x47\x98\x44\x00\xc6\xa9\xa6\x34\x12\xec\x5a\x4d\xa4\xe3\x77\x49\x98\x10\xb8\x52\x44\xbc\xf2\xd7\x1c\xf2\xc3\x28\x0e\x44\xaf\x40\xe9\xb6\x94\xbf\x93\x89\x44\xb6\x54\xf7\x12\x9a\x72\x6f\x19\x0e\x1a\x73\x45\xc2\xe6\x94\x47\x5d\xe4\x94\x57\xbc\xa9\xb1\x92\x9b\x36\xbc\x7a\xc8\x6f\xb3\xcf\x96\x65\xbe\xea\x8e\xdf\x28\x2f\x2e\x92\x76\x7e\x22\x32\x1f\x6a\x09\x23\x4b\xa1\x29\x92\x26\x31\x37\x59\x09\x6a\x1f\xc6\xd3\x24\x06\x9c\x0c\xe7\x57\x56\xfe\x57\xd4\x6e\x0f\x22\x30\x04\x4e\xd0\x6c\x89\x68\x3f\xc2\xbe\x7b\x25\x6d\x27\xd4\x2a\x4b\x57\xb0\x3d\xc8\x59\x74\x5d\xa0\xd8\xd3\x11\xf5\xa0\xf3\xd8\x54\x3d\xca\x4d\xad\x29\xc7\x9d\x5a\xcf\xc8\xc2\x6a\x27\x59\xcb\xdb\x24\x9a\x9d\xa4\x33\x35\x86\x11\x4a\x8d\x4c\x59\xb7\x2f\x25\xcb\x68\x69\x92\xb2\x5b\x9b\xcd\x4d\x71\xa7\x06\x68\xb3\x9d\xa3\x92\x73\x26\x5a\xee\xaf\x1a\x40\x7b\x3d\x84\x81\x33\x84\x5a\x36\xd0\x93\x09\x05\x8c\x2e\x33\x9c\xd1\xcb\x51\xbe\xdd\xe2\xcd\x46\x9f\x07\x1d\xd7\x64\xc7\x34\x59\x4b\x06\x16\x20\x2f\x61\xf5\x0e\x53\xa5\x72\x58\x47\xc3\x55\x9b\x2b\x28\x7d\x9b\xbd\x9a\x72\x88\xaa\x6b\x8e\xd2\xab\x5e\xa8\xea\xa2\x45\x76\xa7\x20\xcb\x4f\x4c\x89\xec\x1f\x36\xc2\xc5\x33\xf1\x1c\x0b\xa7\xef\x3e\x7f\xce\xcf\x2b\x34\x53\xd3\x62\x5e\x34\x96\x4e\xb1\x5f\x1f\xe4\x06\x78\x12\x3d\xd1\x49\x39\x73\x75\x5d\x02\xee\x0d\x73\x98\xc9\x3e\x1e\xa0\x21\xc8\x57\x3c\xdc\xb2\x28\xce\x20\x55\xa1\xf4\xa8\xfe\x61\x6c\xb4\xd1\x6f\x9f\xb9\x34\xb7\x1c\xb2\xac\x72\xe7\xaf\xcf\x0e\x72\x03\x96\xd9\xe7\x71\xcd\x0e\x76\x83\xe4\x4e\x1e\x24\x91\x15\x13\x23\x7d\x3a\x5d\x64\x9f\x3e\xe7\xb5\xa5\x4b\x4a\x97\x5c\x45\xb3\x85\x3c\xfd\x11\x46\xae\x2b\x13\xe8\x3f\xc0\x81\x6b\x3e\x16\x36\xa2\x1c\x77\xe0\xcf\xeb\xf9\xca\xb5\xad\x8e\xbc\xcd\x40\xd6\x86\xab\x18\xc4\xd0\xd4\x5f\x42\xae\x00\x3b\x57\x88\xa8\x63\x47\x34\xbc\xd3\x15\xdb\xbf\x3b\x49\x9f\xeb\xf7\x5d\xe5\x37\xaf\xac\x6c\x26\xfb\xc9\x02\x52\xb3\x32\x5b\xda\xd6\x2b\x75\x46\x5b\x59\x2e\x30\xab\x03\xe6\x7b\x24\x99\xff\xe0\x2c\x0d\xac\xcc\x2d\x09\xac\x19\xf3\xb2\x43\x15\x7e\x35\x2e\xbb\xca\x29\x0f\x6f\x75\x15\xfa\xdf\x22\xc8\xac\xbc\xd3\x9e\x67\x22\xa4\x02\x24\x5a\x03\x86\x23\xfe\xf8\x38\x44\x39\xc2\xaa\x73\x38\x1a\x21\x2d\x80\xa0\xaf\xac\x39\x41\xaf\xde\x2a\xe4\x64\xe8\xdb\x0d\x8d\xc7\x32\xd3\x4a\xc6\xf5\x09\x23\x9a\x00\x58\xb7\x5b\xe9\x53\xda\x6a\xe3\x45\xf8\xcd\x2f\x76\x87\xeb\xd0\x28\x44\x33\x8d\xef\x91\xc0\x86\xc9\x0b\xc0\x49\x4a\x86\xc9\xb2\x1d\xa3\x42\x8b\x90\xb8\x55\xd4\x3e\xcb\x46\x0f\xe9\xd9\xe5\x52\xf8\x82\x03\xe1\x1d\x79\x5e\x2d\x13\xde\x72\x3c\x90\x08\x08\x7a\xba\x47\xc0\x7d\x16\x9e\xca\xb8\x58\xfe\x77\x5b\x51\xd9\xac\x43\x49\x49\x31\x47\x1c\xc9\xf1\xe3\xa5\x80\x2d\x58\x93\xc5\xf6\x17\x2c\x96\x2c\x25\x53\xb5\x3c\x69\xcf\x2c\x1b\xa1\x95\xcf\x46\x4c\x5b\x1a\xb0\x0a\x59\x8b\x88\xca\x45\x1c\x46\xee\xb7\x0d\xd1\x95\x9e\x83\xa8\xc2\x93\x38\x2b\x7d\xc0\x56\x78\xd7\xd4\x84\x66\x07\x2b\x0d\x42\xa1\x70\x46\xb7\x1e\xc0\x4d\xe0\xc5\x63\x01\x38\xb2\x8e\x18\x1a\xfd\xa2\x43\xbf\x8b\x76\x7f\x68\x1d\xcf\x71\x6f\xcc\x90\xcc\x4a\xf0\xad\x27\x18\x96\x69\xaa\x08\x35\x80\x78\xe1\xd5\x0e\x2c\x60\x9d\xe7\x7a\xd3\x2f\xf1\x5b\x3a\xe7\x62\x2f\xe2\x95\x8f\xf3\xe6\xf7\x35\xeb\x3c\xc3\x97\xae\x5f\xf7\x5f\xf3\x1a\x0e\xab\x29\x0f\x63\x16\xe2\x34\xcf\x55\xe2\x6c\x56\x42\xe0\x59\x69\xf1\x7f\xfc\x38\x79\x9e\x0f\x20\x46\x19\xf2\x30\xcc\x48\x42\x96\xed\x55\x78\x6e\x26\xde\xee\x93\xcf\x08\x65\x56\xd8\x4e\x43\x62\x3f\x5d\x7b\x89\x38\x32\xba\x45\x87\x6e\x17\xed\xee\xd0\xd7\x3d\x24\x03\x9c\x9d\x69\xee\xd8\x80\x21\xce\xa3\x5f\x89\x5e\x70\xe1\x5c\x80\x83\xa6\xff\xdf\x44\x56\x75\xc9\x9a\xb6\x5d\x6f\x43\x6c\x23\x5e\xee\xb3\x67\xc4\xab\x43\x9d\x77\xde\xbb\xa7\x2f\x10\x79\x4f\x67\x3f\x31\x88\xae\xc9\x2a\x7c\xad\x8a\x5d\x64\xde\x2f\xef\x75\x70\x66\xa5\x20\x8e\xc2\x14\x52\xa3\xed\xaf\xea\xca\x38\x34\x45\x58\xb3\x57\x33\x7a\xfb\x7d\x44\x83\x32\xb7\x95\xec\xbd\xd1\x11\x99\xe1\x40\xe1\x38\xc1\x75\xad\xc2\xa7\x7f\xab\xe8\xdc\xea\x88\xfd\x81\xac\xb3\x5b\x3c\x13\x66\x64\xf5\xa1\x17\x2c\x39\x94\x93\x90\x97\x3a\x39\x4e\xd3\xc8\x1b\x87\x86\xe7\x6e\xa5\xe2\x2d\xf3\x50\x94\x69\x84\xf5\x4f\xa6\xc9\xbe\xc6\xdb\x5d\x13\xd1\xff\xd9\x79\x5b\x03\x6c\x37\xf0\xd1\xdc\xfb\x4e\x76\xc1\xb0\xdb\x8e\x8f\x19\x15\x6b\xe8\x22\xe8\x5d\xb3\xc9\x36\x9f\xa8\x24\xd9\xb2\xe1\x9a\xf3\x6e\x89\xde\xab\x7e\xed\x6a\xf3\xfc\xe0\xb0\xad\x3a\x6a\x5d\x68\x6b\x56\x9b\xe9\xdc\x56\xfd\x13\x33\x6c\xb6\x73\x8b\x3f\x75\xf1\x96\x82\x98\xcd\x77\x2c\x0b\x31\x26\xbf\x0e\x4c\x0c\x4c\x0f\xcc\x8c\x24\xb1\x32\x3f\x0a\xeb\xfc\xfc\xdc\x72\xd5\xf3\xc7\xb4\x86\xcf\xb3\xec\x70\x9e\x85\x69\xeb\xf3\xdc\xd7\x2d\xb6\x59\x1e\x2b\xeb\xaf\xda\xd4\xfc\xf6\xfa\xf1\x79\xa2\x1d\xbe\xc1\xee\x27\xcf\x2c\xbf\x26\x28\x93\x1c\xd0\xf3\xa1\xff\xac\xec\x34\x68\xfa\xd0\x19\xb1\xa4\x62\x2e\x1c\x46\xf5\x97\xa0\x65\xfb\x26\x64\xb5\x43\x97\x17\x1b\x45\x82\xe7\x3c\xc0\x07\xc0\xab\x6d\x50\x47\xfc\x59\x04\x5a\xeb\x45\xf2\xb8\x3e\x83\x18\xd1\x65\x76\xea\x83\xec\xdb\x3b\x79\x72\xca\x37\xf4\xd1\xf2\xeb\x25\x19\x9e\xde\xd7\x36\x70\xdc\x58\xd0\x91\x58\x2b\x0c\x34\xb6\x15\x54\x54\x55\xc4\x63\x0a\x6a\x72\x9f\x30\xad\x48\x44\xbe\x82\xd4\x56\xf3\xd0\xed\x7f\x7d\x46\x39\x7c\xe7\x4c\x3f\x40\xc9\x88\x10\x6a\xfc\x98\xb5\xf1\x23\xbc\x04\x39\x1a\x78\x6f\x6b\x28\xfe\x72\x99\x98\x85\xda\x15\x38\x80\x51\xe0\x8c\xca\x18\x07\x8b\x0e\x07\xbb\x68\x1f\x3c\xf4\x9c\xcf\x86\x1f\xbf\x2e\x9c\x9e\x1c\xf2\x1a\xb7\x7e\x38\x67\x82\x17\x1c\x8b\x4c\xd4\xd3\xad\x47\x60\x4f\xf9\xf1\xdf\xf7\x9f\x84\xba\x03\x75\x66\xa9\x51\x24\xc5\x72\x1d\x1e\xc5\xba\x40\x7f\xff\xc2\xe4\xc0\x28\x03\x14\x66\xdc\xaf\x97\x7a\x86\xaf\x58\x05\xaf\x6e\x94\xcf\x8b\x8b\x0e\xa2\xa5\x35\x38\xc3\x9e\xb6\xa0\xfe\x3b\x59\x32\x3f\x2f\xf3\xd9\xbc\xd1\xec\x9d\x6a\x3e\xc8\x64\x15\x8f\xdc\x84\x79\x12\x28\xa2\xcf\xf2\x6c\x12\x9b\xb6\x79\x84\x9d\x20\x16\x54\xa5\xbc\x5f\xcc\x1b\x3b\xdb\x9f\xa6\x0c\xd3\x74\xc6\x7a\x12\x87\x09\xec\x5f\x06\x4c\x7c\x7f\xa7\x4c\x25\x4f\xb7\xde\xf6\x59\x9d\x36\xa7\x5a\x96\x73\x06\x3c\x3b\x78\xb9\x4c\xe5\x10\xf1\x6e\xac\x2d\x3a\xac\xed\xa2\xb9\x46\x75\xf7\xab\xaf\x5d\x92\xb2\x67\x26\xe5\xca\x9b\xb8\xe9\x43\xb0\x63\x85\xcd\x21\xf9\xdf\x7c\x44\x22\x2f\xa5\x21\xb8\x00\x12\x47\xda\xb0\xa9\xab\x9c\x9f\x15\x51\x14\x35\x53\x51\x70\xca\xcf\xa7\xf6\x06\x6b\x3e\x1a\xbb\xfc\xdb\x0e\x2d\x21\x34\xc0\x9a\xc5\xa5\xe9\x76\x15\x64\xc2\x1e\xc4\x0e\xbe\x07\x66\x2f\x59\x3f\xfa\xba\xf5\x74\xab\xe2\x3c\xdd\x95\xab\xf3\x67\x09\xc7\x12\x49\x30\x48\x3c\x76\x7c\x31\x14\x8d\xe8\xa1\x86\xc8\xe6\x39\xd0\xa2\x85\xaf\x6a\x28\x49\xc8\x7c\x62\x07\x7b\x2f\x9d\xcd\x46\xfa\x23\x75\x5a\x33\xbe\xc6\x09\x27\xa8\x06\xfa\x01\xa1\xa4\x09\xc2\x0d\x69\xd9\xbb\xf6\x02\xf9\xe0\x9a\x78\x97\xed\xb5\x91\xac\xe9\xa2\x2a\xc1\xf7\x3b\x4d\xf8\x56\xa5\x8d\x8e\xa4\x34\x13\xf0\x4c\xc0\x66\x6e\x68\x4c\xb0\xfa\xb5\x7b\x19\x49\xad\x0e\xfb\x4b\x13\x4c\x04\xec\x50\x77\x30\x25\xa4\x97\xfe\xfc\xe0\x03\x68\xf4\x5a\x54\x98\xa0\x1f\xa8\x02\x44\x35\xc3\x56\x32\xd8\x1e\x2f\xcf\x6f\x0f\xfa\xdc\x10\x40\x4d\x7f\x8e\x8f\x1e\x7e\xdd\xf1\x2e\x12\x06\x35\x1b\x32\x3d\x0e\xa4\x65\x54\xd8\x2b\xc1\xe1\x00\x9b\x94\xd8\x7d\xf9\xe5\x8b\xea\x37\xd7\xf2\x7e\x51\x0b\x41\x05\x10\x0a\xe9\xcb\x6b\x8e\xe0\x4e\xa0\xd8\x26\x07\x14\xda\x2a\xa4\xec\x3d\x89\xaf\x70\x62\x01\xa0\xc1\x65\xfb\xd8\xad\xd4\x64\x48\xde\xd5\x28\x99\x5e\x46\xc0\xba\x0c\xd8\x5a\x77\x11\x8f\xb0\xcf\xcd\xcf\x81\x9a\x4f\x92\xe3\xe0\xba\x87\x70\x68\xc7\xc2\x4b\x6e\x55\xcf\x46\x1b\x6a\x4b\x21\xd1\xda\x50\x6e\x8d\x0b\x35\x58\x58\x90\x7c\x20\x99\x0f\xd2\xd8\x7f\xe9\xf0\x59\xaf\x00\x79\x91\x25\xea\x51\x8d\x6b\xc5\x5d\x98\xbf\x09\x39\x70\x2b\x9e\x86\x83\xe3\x6a\x4f\x7f\xf7\xd8\x42\xbd\x91\x73\x55\x29\x80\x95\x3a\x26\xee\xac\x05\x08\xb3\xf1\x6c\xca\x62\x48\xee\x34\xa3\x3d\xfd\x93\xeb\x71\xf5\x28\xb7\xa3\xd4\x96\x82\xf4\x5a\x23\x8c\xae\x69\xc6\xdc\x2b\x96\xc5\xeb\x09\xa1\xee\x15\xbc\xd0\x23\xb4\x4a\x1e\x2a\xe0\xf9\x0a\x61\xa4\x81\x00\x83\x08\x50\xa3\x42\x1e\x8c\x8d\xb6\x54\xe2\x41\x16\x95\xd4\xd9\x56\x2e\xda\xd9\xb6\x0d\x42\x5f\x25\x0b\xd1\xe1\xf7\xe0\x3d\x51\x79\xc6\xe8\xcc\x5f\x63\x13\x21\xa1\x71\x8a\xb9\xc8\x64\x19\x92\xd6\xc0\x82\x0c\x56\xc9\x57\x83\xf9\xb7\x66\xd9\xa5\x04\x2c\x6e\xcf\x8a\x5e\xb6\xae\x43\x3d\x85\x2f\xd7\x4a\x43\x6d\x3d\xdc\xb0\x15\xcf\x61\x52\x4d\x36\x5e\xe3\xa6\x0b\x3b\x0a\xb7\xb1\x55\x67\xfa\x98\x58\x04\x01\x4d\x32\xa4\xd2\xbf\x90\xf8\x5f\x12\x30\x46\xf2\x7d\x2a\x70\xe8\xd4\xd1\x04\x65\x0d\x67\x17\xd4\xb2\x62\x29\xf0\x8f\xdd\xaa\x05\x49\x9f\x96\xa1\xf6\xaa\x3e\xc2\xb8\x8e\xa6\x0f\x54\x44\x5d\xb9\x0d\x49\x49\x44\x96\x48\xf3\x80\x57\x3d\x0d\xd4\x49\xc7\xd3\x51\x16\x9d\x5f\x9b\x62\x2c\x86\xab\x42\xb0\xdb\x3e\x6b\x77\xb7\xaa\x96\x61\xf0\xb8\xb2\xb7\xb3\xef\xe1\x10\xa7\xd8\x7a\xb4\x3b\x63\x37\x03\xca\x3d\xf2\x6d\x1a\x89\xe4\x57\x97\x4f\xc0\x9b\x40\x46\x0c\xb8\x8c\xca\x44\x8e\xd0\x07\x15\x21\xd2\x1d\x47\xb1\xeb\x8e\xbc\x68\xc9\xac\xd2\x0b\xd9\x87\x95\xb9\x61\xc7\x6e\xf8\x2b\xef\xb5\x75\xe5\x66\xbe\x2a\x86\x97\xdc\x78\xab\x32\x92\x93\xcb\x0e\x10\x95\x26\x4c\x93\xa5\x79\xd0\x51\x5c\xe1\x9d\xc6\x86\xea\x75\x8b\x48\x22\x1d\xe8\x94\x41\xd7\x53\xa2\xd9\x53\x9e\x9f\x7b\x85\xac\xe8\x03\x55\x8d\xc8\xce\xc8\x82\x37\xe7\x7d\x22\x82\x6f\x81\x94\xd5\xc3\x41\x04\xad\xb9\x13\x5e\x48\xc0\xb6\xec\x92\xa7\xf9\xe5\x85\x74\x09\x07\x4a\xf0\x39\x16\xfa\x43\xfa\xe3\x3c\x34\xdd\xe3\xac\xd7\x17\x96\xa0\x83\x56\xe4\xc9\x85\x0a\x26\xe9\x52\x35\x6b\xa8\xf7\x8c\x5b\xc8\x43\xb4\x72\x4a\x16\x81\x80\x6e\x28\xd9\x0a\x21\xd5\x0e\x02\x14\x3d\xcf\xa2\xc9\x8b\x74\x9c\x7e\x70\x6b\x50\x4e\xc8\x4f\x83\x9c\x41\x99\xb4\x97\x64\xcb\x74\x84\x7d\x78\xe1\x13\x05\xaa\xcc\x49\xa2\x6e\xd0\x28\x2d\xd8\x8b\xd0\xcc\x96\x9a\xdf\x49\xd5\x2a\x43\x17\x37\x13\x07\x0f\xd6\x37\xa9\xa9\x5b\x25\xe4\x0d\x14\x66\xd6\xe1\x74\xb7\x8f\x92\x3c\xb5\x72\x9b\x6e\x4d\xaa\x51\xb2\x58\xb8\x07\x35\xe9\xf8\x09\x9e\x9e\x47\x36\x9b\x6f\x97\x87\x71\x3a\xfb\x37\xc8\xe4\x5e\x75\xbb\x6b\xc0\x49\x20\x94\x95\xf8\xbd\xa1\x90\xbe\xf0\xd4\x7e\x5a\x86\xac\x25\xee\xaa\x0d\xf3\x61\x75\x56\xb6\xc6\xae\x97\x49\xef\x13\xd8\x09\xaf\x09\x75\x8f\xda\x77\x6c\xba\x61\xeb\x73\xdf\xeb\x9f\xd0\x07\x17\xa8\x9e\x29\xd7\x0c\x2b\xb2\x69\x6d\x73\xd8\x54\x11\x69\xe7\x0f\x05\x71\xb6\x6c\x4c\x16\xd7\xbf\x73\x64\x8d\x36\x16\x23\xcd\x4b\x69\xb2\x62\xea\xc2\xe3\x87\x7e\x97\xad\x3f\x9f\x8a\xed\x3d\x84\xa9\x37\x81\x6e\xa0\x43\x1a\xae\x7e\x8e\x4b\xe5\x7e\x67\xd3\xdf\xc2\x71\x13\x56\x92\xd8\x2f\x1f\xcc\x71\x9e\xd2\x9f\x87\x8b\x93\x5b\x48\xe9\xdc\x47\x53\x62\x4b\x9a\x20\xdc\xe9\x63\x76\xec\x4e\xf9\x59\xb7\xdd\xdd\xcd\x7b\x81\xbb\x4c\x2e\x99\x45\x31\x3e\xc9\xd0\x02\xa7\x72\x8f\x88\x1b\xe3\x74\xd1\xe1\x74\x17\xbd\x53\x5a\x6d\x87\x7c\xcb\x3b\x29\x27\x4c\x86\xa1\x23\xe1\x43\x3e\xd7\x03\xff\x24\xf7\x5c\xbe\x72\x1d\x1f\xd7\x59\x82\xce\x19\xfc\x21\xf0\xd9\xc2\xd3\xf5\x57\x7c\x06\x1b\x57\x06\xe2\x75\x08\xf5\x80\x36\xc7\x79\xca\xd6\x44\xc2\x92\x2c\xf8\xb5\xe4\x5d\xdb\x50\x87\x59\xdb\xdc\x6f\xe1\x8c\x4f\xfd\x68\xc8\x0e\xf9\xd9\x4f\x80\x99\x00\x0e\x3c\x6a\xd1\xb0\xff\xd5\xc3\xe8\x34\x79\x83\xae\xaa\x8f\x7e\xf5\xbe\xa9\x8f\x16\x9e\x26\x0c\x00\x67\x75\xa0\xb7\xfd\x63\xf3\xbb\x01\xbf\xcd\xd6\x38\xe0\xd0\xd5\x71\xa0\xfa\xe9\x55\xf6\x0c\x72\x52\xd5\x91\x9f\xfe\x22\xf7\x0c\x10\x10\x9d\xfd\x5e\x1a\x05\x25\xd4\x63\xf5\xbf\x3f\x6b\x95\x56\x57\x78\xd6\x0c\xcf\x95\x2b\x31\x7f\x3d\xa8\x2e\x37\x70\x16\x4d\xf5\x28\x13\xa7\xf2\x4e\x9a\xc2\x96\xa7\x20\xcb\xc3\x8a\xd8\xfb\xee\xc4\xd2\xd7\x4f\x03\xdb\x0a\xd9\x97\x09\x80\xcc\xe2\xd7\xaf\xb3\xaf\xd3\xca\x67\xcf\x4a\x68\xa6\xcf\x64\xc8\xa2\xbc\x43\xf9\x3c\xb7\xd1\x67\x85\x12\x3d\x37\xec\xd3\x69\x87\x0f\x4e\x2e\xe5\x47\x15\xe4\xb6\x50\x46\xa7\xfe\xc3\x29\xcb\xeb\x8a\x50\x43\x4e\xeb\x47\x05\xa3\xda\x06\x37\x68\x60\x83\xa7\x0b\xd0\x1e\x67\x53\x86\x18\x30\x6c\x59\xfb\xe5\x10\x09\x80\xd4\xa1\xf1\xd0\x07\xe3\x76\xd1\xe1\x76\x17\xcd\x5b\x1a\x99\xe1\xa3\x31\xfa\x91\x11\x5a\xab\x72\xcf\x79\x02\xc0\x46\x6a\xbb\x61\x4e\xae\xed\x61\x64\xf9\xdf\x01\x59\xe6\x12\x59\x68\xd0\x61\x4e\x25\xf3\xbf\x6a\x1a\x67\xe0\x7c\x71\x0d\x32\x7e\xc4\x3e\x3a\x09\x7b\x47\xda\xf1\x12\xc9\x4a\x42\x72\xef\x3f\xe2\xda\xef\x21\x24\x52\x02\xfd\xe4\x29\xbd\xa3\x54\x11\x12\x07\xd1\xcc\x12\x79\x10\x2b\xb9\xcb\xe2\xbf\x97\xfb\xdc\xe9\x68\x5d\x56\xba\x18\x87\x3e\xce\xa4\x9c\x18\xc7\x9f\xc0\xc6\x2b\xac\xa9\x45\xca\xa0\x97\x21\x34\x09\x00\xd6\x93\xd2\x69\x70\x3c\xe6\x55\xa3\x24\x42\x7d\xcb\xc5\x27\x88\x77\xef\x16\x91\x43\x73\x11\x4c\x08\xdd\x70\x96\x2f\xcf\xf4\xb4\x85\xfd\x68\xbc\xe1\x1d\xd5\xae\x84\x76\xb9\x00\xf5\x4c\x5c\xa6\x5a\x78\x74\x79\x57\x79\x33\x7b\xbd\xd7\x13\xbe\xe6\xe7\x4d\x17\xa4\x8a\xc9\x29\x97\xee\xa7\x78\x99\x31\x7a\x8f\x19\xdd\x02\xdd\x1b\x9d\xfa\x3e\x28\xf5\x37\x8b\x09\xf9\x13\x3d\x25\x47\x7f\x97\x99\x27\xd1\xcd\x03\xe0\xd1\x5d\x22\xf6\xa0\x65\x86\xfe\xad\xed\x4e\x16\x2a\x58\x51\xaa\x3e\x5d\x7c\xd0\x5d\x54\x15\x67\x87\xa7\x92\x09\x96\xe7\x38\xb5\xff\x93\x20\xc4\x33\xc3\x64\xff\xf3\x90\x76\xb9\x0e\x6d\xcf\x03\x9b\x3d\x30\xdf\x4a\x07\xbc\xfa\x0b\xb2\xc3\xae\xcd\x3d\xa9\x4b\xb3\x55\x18\xca\xb6\xee\x71\x2e\x5d\x10\x5d\xa4\x7e\x74\xae\x5e\x03\x19\x23\x72\xd6\xba\x11\x19\x52\x58\xf5\x3d\x30\x8e\xd9\x2d\xb0\xa1\xe8\x2a\x05\xad\x4a\xa6\x68\x0a\xaf\xa3\x29\xf7\x6b\x27\x52\x7a\x92\x34\xd5\xfc\xc0\x59\x3f\x2a\x4c\x30\x1b\xe6\x2b\x3c\xbc\xc9\x4d\x12\xe8\x6c\xf4\xa9\x7a\x67\x0a\xf9\xba\xe5\xd2\xf7\x08\x8a\x89\xfe\xf8\x44\x0c\x67\xce\x88\x79\xe1\x51\x57\x2d\xca\x14\xdc\xc1\xbb\x36\xc6\xde\x0c\xf4\x49\x4a\x37\xa6\xfa\x46\x99\xac\x8d\x7a\xf1\x09\x31\xda\xfe\x97\xd5\x2d\x9c\x38\xe2\xcc\x5b\x55\x1e\xc3\x9c\x56\xc2\xde\x46\x91\x27\x3b\x56\xa2\x13\xc8\x54\xa1\xc3\x4a\x12\xd9\xc2\x7c\xb6\x97\xdd\xd4\x7f\xb7\x9d\xf5\xe5\x16\xa4\x35\x5e\x0b\x6d\x70\x30\x79\xa4\x9e\xa6\xc9\x46\x34\x98\x2b\x6d\x8d\x01\x4a\x25\xf8\x3f\xff\xad\xfa\x7e\x96\x98\x31\x1c\x79\x7f\x48\x86\x8c\x0e\x74\xb2\xc4\xcd\x38\xaf\xbb\x13\xc6\x8c\xa3\xfa\x6b\x50\xe4\xef\xae\xd3\xd8\x6a\xa4\xbd\x7e\x7d\xfa\x18\x6b\x68\x5e\x0d\x87\x74\x3e\xa8\x69\x8e\xe4\xc2\x3f\x54\x5c\x5c\x56\xb4\xe2\x3c\x22\x98\x2d\xaa\xd8\x2b\x7d\xf0\xbc\x40\x70\xad\x54\x4e\x93\x53\x43\x53\x52\xcb\x42\x2e\x50\xcf\xa9\x6c\x8d\x85\x82\xea\x39\x4f\xae\x09\x35\x8c\x10\x4e\x9d\xeb\xa9\x73\x9a\x51\x1d\x0d\x64\x92\x1d\xc7\xd5\x9f\x91\xf1\x20\x7a\x5c\x42\x77\xb6\xad\xd4\xb2\x5e\x52\x56\xa3\xa2\x1c\x4d\x5a\x52\x52\xef\xa0\x44\x52\x59\x15\x72\x39\x58\x3b\x5f\x35\x75\x0c\xda\x35\x1a\x3c\xac\x8a\x64\xba\x39\xf4\xcc\x6f\xea\x8e\x36\xe6\xa5\x8e\x65\x31\x99\xbb\xe5\xd9\x91\x42\xc5\x92\x86\x34\x19\x75\x29\xeb\x81\xea\x71\x09\xa1\xa8\xb2\x19\x35\xf4\xb2\x73\x00\x68\x75\x96\x2c\x4a\xe3\xc9\xa9\x64\xeb\x38\x50\x15\xa5\xae\x80\x3b\xb3\xa8\xac\xb3\x34\xcb\x27\x77\xc5\xda\x97\xdf\x35\x6b\x7d\x4d\x79\x1c\x6c\x5d\xd9\xc7\x2a\xfc\x33\xb7\x6a\x6f\xcc\xad\x91\x2d\xa3\x35\x78\x32\x0e\xf6\xd9\xe0\x48\xea\x35\x8b\x77\x36\x98\x97\x65\xfb\xb7\x1e\xee\x08\x63\xba\x9d\xdc\x6a\xbd\xa8\xc1\xda\xe3\x25\x95\x29\x1b\x11\xe4\x85\x95\xa7\xb4\xea\x7d\x4c\x93\x72\x9c\x20\xb3\x54\xc1\xc6\x0b\x91\xad\xc8\xac\x63\x56\xd7\xf5\x44\x9f\xb2\x37\xfd\x5c\xa1\xf1\x63\x0e\x7c\xd2\xc3\xcc\xbc\x50\x6d\x30\xcb\xa7\x6a\xb5\xc9\x90\xb5\x87\x12\xa3\x2c\xed\x04\x1c\x3f\xe1\x48\x98\xfd\x2c\x0a\xba\xe3\x6b\x4a\xc0\xba\x30\xbc\xf5\x22\x5c\xe3\x8e\x96\x83\x80\x8a\x87\x65\x59\x3a\x82\x6c\x4a\x42\x85\x8b\xe7\xb2\x5e\x85\x8c\xd8\x5a\x84\x0d\x3a\xf2\x7a\xa9\xb5\xea\xa7\x2e\xa6\x84\x91\x17\x82\x02\xb6\x4c\x62\x6f\x88\xa1\xc3\x21\xeb\x01\x00\x64\x1d\x79\x81\x94\x06\xcf\x25\x7a\x87\x40\x46\xa4\xfa\x3d\xa8\xb3\xad\xd0\xf6\x98\x6d\xdb\x21\xf6\x87\x08\x6d\xb3\x55\xd6\xc7\xf5\x7c\x90\x40\x4f\x66\x42\x05\xa5\x84\x72\x00\x60\xa7\x14\x9e\x66\x9c\x83\x0b\x68\xf5\x42\x32\x4f\xb2\x0d\xf6\x24\x0b\x4b\x95\x4a\xb2\x17\x48" +var __9Ae2f008c1ea027b7f593JsBr = "\x1b\x39\x49\x00\xac\x0a\x6c\x63\xd1\x68\xbf\x99\xa0\x8b\x6c\x1c\x29\x7b\x08\xfa\x71\x38\xa1\xd3\x11\x66\xd6\x72\x4a\x7f\xe6\x67\x27\xf7\xb4\x2c\x55\xc5\x18\xc0\xbd\xa3\x38\x7a\x8e\x1e\xdf\xaf\xa9\x9d\xae\xcb\x6c\x65\x2b\x90\x52\xed\x94\x5a\x31\x08\x90\x8b\xe4\x1d\x7d\xec\x38\xbc\x68\xa9\xea\xb4\x76\xdd\xff\x11\xc6\xb0\x58\x90\xa6\x81\x69\x2e\x48\x3a\x95\xd6\x68\x69\x9a\xbe\xbe\x67\x22\x21\x76\xa1\x91\xd2\x7e\xc3\xac\xe5\x5e\x5f\xe7\x9a\x88\x76\xd7\x09\xc5\x95\xa6\x4e\xdd\xf9\x79\xfe\x45\x0a\x23\x03\x58\x8c\x46\x9b\x4e\x72\x6e\xc9\x35\x88\x83\xd2\x76\x85\x7c\xa6\x14\xf2\x8d\xe4\xcc\x34\x6d\x97\xaf\x58\xca\x45\xe9\xa6\x73\xa9\x4c\xb8\xb4\x2b\x57\x2d\x67\x67\x76\xa1\x8b\xf8\x63\xb2\x8f\x7c\x12\x78\x8a\x22\x20\xbe\x62\xde\xdb\x3b\x0a\x77\x47\x4a\x60\xf8\x44\xfa\xe5\x40\xc7\x54\xa5\x2e\xe4\x2a\xe5\xaa\xcd\x5d\x6c\x6b\x81\x95\xe1\x6d\xd8\xca\xbb\xb5\xd5\xfa\xce\xac\x40\x79\xd2\x90\x84\x10\xaa\xae\xad\x6b\xf8\xbf\xff\x95\x16\x0c\xcd\x46\x75\xe6\xce\x07\x7c\x58\x0a\xb2\xf7\x78\x78\x58\x28\x34\x89\x9d\xc8\xd4\xa7\x13\x02\x60\x99\xdc\xcb\x5b\x9c\xd8\x7b\x7f\xff\x7f\x74\x01\x90\x4b\xb2\xb6\x88\x51\xe7\x6d\xbd\x48\xed\xd4\xf7\x98\xb4\xc1\xe0\x28\xd1\x8d\x90\x51\x13\xdb\x7b\xc1\x67\x92\xff\x54\x91\xf3\x5c\x70\xd6\xe2\x5a\xb8\x5f\xa5\x82\xc7\xef\x8f\xaa\x6c\xe9\x5f\x97\xc4\xed\x29\xde\xae\x00\x75\xb9\xd3\xaf\x5c\x52\x39\x33\xc2\xb4\x39\xe0\xc8\xb2\x83\x79\x5c\x6b\x00\x0b\x58\xc4\x0d\x3e\xa4\x9c\x25\x5f\x0b\xfe\xd3\x7e\xad\x16\x2f\x35\xa8\x01\x9b\x41\x56\x74\x75\x94\x15\x18\x70\xcd\x4d\x76\x6a\xff\x80\xdb\x44\x33\x00\xac\x79\x32\x6a\xff\xdc\x43\x7f\x9d\x37\x9d\x3d\x0d\x8c\xc4\x44\x84\xb6\x7e\x4e\x7c\x5e\x0f\x8d\x38\x91\x5a\x8e\x3c\x17\xcc\x87\xbd\x8a\xaf\x85\xa7\x5f\x48\xd7\x76\x2a\xf1\xdb\x5b\x53\xff\x2b\xc2\x89\x4c\x51\x66\x23\xaf\xb3\x32\x28\xd7\x35\x3b\x2f\xc5\xcb\x4e\xb3\x32\xab\x10\x69\x21\xed\x50\xae\xa6\x2f\x2d\x0c\x7d\x0a\x5e\x9c\x4b\x42\xcf\x1f\xcc\xb4\x67\x73\xd5\x7f\x1b\x3a\x57\x04\xbc\x6f\x58\xbf\x81\x7e\xb4\x07\x02\x2f\x55\x96\xbb\x5f\x93\xb3\xb8\xfb\x23\x34\xf8\xe8\xd1\x61\xb1\x59\xd2\x39\x5f\x36\xaf\x0e\x7d\x0e\x9b\xf9\xa7\x68\x86\xca\x22\x99\x00\xcb\x22\xbe\x08\xd9\xd2\x0e\xe3\xa4\x2f\x64\xb8\x5c\xc9\x1e\x40\x08\xd1\x4f\x11\x26\x52\x32\xf1\x07\xe8\xa7\xf8\xcc\x48\xd6\xc5\xb7\x25\xe3\x13\xf8\xf1\x05\x3e\xad\xfc\x42\xda\xf6\xec\xf1\x64\xa0\x2f\x63\x03\xd0\x48\xb3\xe4\x03\xd9\xaf\x87\xed\x00\x55\x98\x86\x01\xf9\x54\xa9\x32\x30\x69\x7b\xa8\x50\xf7\x98\x96\x99\xd2\x50\xd0\x4d\xa4\xb8\x3d\xeb\x25\x4c\x75\xbd\x25\x7f\xc9\xed\x90\x57\x90\x5e\x5e\x01\xfb\x56\xb3\x60\x58\x3b\x77\x1c\xf1\x86\x82\xf1\x9a\x59\xb4\x86\xcd\x1e\x64\xc0\xf6\xc3\x4a\xca\x2d\xf8\xb8\x65\x20\xaf\x3e\x80\x96\x6a\xdc\x36\xeb\x7d\x41\x13\x4c\x1d\xd4\xdc\x9a\x7b\x1c\x28\x65\x36\x44\x2d\xc2\x9a\x75\x98\x48\x50\x11\x64\xf5\x9c\x3e\x9e\x85\x98\x80\x64\x7d\x31\x65\x27\xd8\x0d\xd2\x51\xb0\x38\x5c\x2a\x64\x22\x85\x13\x72\x83\x25\xfd\x4a\x66\x91\x7c\x8f\xc7\x8b\x2d\xac\xf6\x2b\x48\x99\x8e\x00\xb7\x26\xb6\x23\xad\x6b\xce\x45\xaf\xf6\xe3\xea\x7c\x8a\xfd\x08\xad\x9d\x26\x8e\x71\x8d\x8a\xfb\x7b\x52\x55\xf0\xc8\x3c\x11\x46\xce\x4c\xe2\x16\x96\x53\xb3\x34\xa4\x2d\xa1\xd9\xb2\x56\x4d\x71\x60\xd6\x1d\x11\x66\x4e\xa2\xf7\x15\x12\xa2\x5b\x22\xa0\x8d\x4b\xac\xa7\xf5\xd4\x7e\x93\x40\x03\x9a\x63\x20\x3d\x22\x5b\xbd\x69\x36\x18\xe9\x88\x7c\x0a\x8c\x6d\xcb\x46\xb3\xa7\xcd\x71\x90\x48\x4e\x9b\x69\x53\x48\xcd\xc1\x1a\x44\x2a\x8e\x25\xd7\xc4\x8d\xf9\x86\xbb\x0a\x21\x51\x1c\xed\xda\x81\x63\x65\x9b\x1f\x79\x32\x9d\x79\xeb\xaf\xe5\xac\xd5\x22\x6e\x7f\x78\x64\x3c\x4d\x12\xe5\x52\x04\x1c\x25\xf6\x69\x12\x4a\x09\x4e\xd3\xcc\x39\x2c\x75\xf4\xcc\x77\xab\x2b\xd1\xec\x93\x0e\x30\xed\x48\xa6\xa0\x12\x8a\x7d\x1e\xf5\x44\xb8\x8f\xae\xb5\x8e\xa4\x0a\x6e\x8c\x54\x20\xbe\x1c\x36\x37\x42\x19\x7b\xd5\xe3\xb8\xfa\xf0\x39\xc7\xb4\xd5\xf0\x48\xd9\xca\xec\xb9\x28\xe1\x4d\x32\x8e\x3e\x02\xcd\x2c\x01\x68\x5e\xa4\xa1\x5f\xc2\x23\x42\xee\x87\xea\x90\x9a\x53\xee\x68\x80\x83\x9b\x9b\x55\x2a\xe0\x8f\x95\xcc\x46\x3d\xe6\xc6\xcc\xa5\xa8\x99\x6b\x18\x1c\x27\x9d\x88\x0e\x32\x0e\x2c\xdf\xa1\xa1\xfe\x01\xe8\xa9\x59\x77\xdc\x51\x7e\xac\x62\xa0\x03\xc8\x4b\x0c\x97\x31\xc7\x15\xc6\x06\x6a\xeb\xd0\x48\xa9\x5e\x7a\xe4\xcd\x79\xfb\xdb\xfc\x30\x46\x4e\x21\x7e\xe6\x6e\x1c\xdb\x52\x89\x7e\x26\x84\x9a\x4b\xa8\xb0\xe7\xf8\xf4\x24\xe4\xf1\x1a\x37\x3b\xa3\x20\x31\xde\xdc\xbd\x9e\xa6\xe4\x11\x0a\x9e\xe5\x82\x68\x1c\x9d\xf2\x9f\xe1\x38\x8a\x14\x34\xf4\x7c\xa5\x90\x91\xab\x57\x04\x65\xce\x9d\xc4\x57\xb2\x26\x1e\xe0\x13\x5c\x68\xb8\xa3\x46\x51\x9b\x47\x40\xa1\xe2\x64\x70\x62\x92\xa9\xb3\x5f\xdf\x75\x4f\x7e\x1f\x74\x6f\x75\xdb\x63\x8e\x77\xf1\x9b\x99\xf1\xbd\xf8\xca\xbb\xfa\x5d\x74\x9b\xec\xa2\x3b\xf7\x99\x66\xd2\x3b\xd3\x51\xd7\xe9\x3d\x9e\x6a\xba\xbb\x74\xf7\xfd\x6c\xd6\x90\xa7\x3f\xc3\x48\x83\xc8\x08\x34\x1f\x8a\x52\x03\xe1\x14\x76\x95\x6c\x65\xe0\xaf\x9b\xa0\x23\x92\x9d\x51\x7e\x9e\xa9\x34\x4c\x0e\x4e\x80\xa6\x49\x54\xa1\xa1\xf5\x74\x25\x05\xd8\xfc\xa3\x47\x8b\xea\x4b\x51\xa1\xcf\xb1\xdd\x9d\xe6\xfa\x89\x0c\x6d\x27\x31\xd2\xb1\x79\xf6\x4f\xb8\x0b\x57\x6c\x63\x96\x99\x39\xc2\x50\x0d\x18\xc4\x91\x67\x85\xb4\xd5\x65\x88\x98\x6b\xe4\x2d\xa0\x18\x44\x2d\x66\x0d\x9f\xb5\xfc\xc9\x5b\x2e\xa5\x67\x6f\x9e\x63\x2d\x2b\x9d\xe1\xe8\x56\xee\x86\x16\xa5\xe7\x42\x96\xbd\x5a\xa0\x20\x42\x6f\xcd\xad\xd1\xf0\x08\x36\xfa\x16\x3d\xb4\x06\x09\xb4\x81\x35\x0b\xb4\xd6\xcd\x52\xff\xc5\x43\xbb\xae\xba\x98\x6e\xb8\x48\x93\x9f\x04\x11\x1d\x52\xc5\xa0\xa6\xca\x90\xd2\x55\x1b\x2f\x07\xdb\xfa\x72\xb7\xb9\x3d\x9f\x11\x06\x31\x0c\x1d\x73\x7c\x90\x0a\x40\x4c\xa4\x2c\x90\xcd\xd6\x15\x0c\xd6\xe1\xf6\xa3\xd6\x95\x4d\xff\x94\x81\x13\x52\x8a\x70\x38\x20\xa5\x91\x97\xb6\x0e\xb8\xd2\x73\x25\x1e\x10\x54\x5a\x39\x20\x55\x2e\xdc\x87\xf3\x31\x9b\xdf\x6d\x46\xa5\xa0\x0f\x2f\x66\x39\x6b\x72\x74\x7e\x3e\x8a\x3a\x81\xbb\x62\xbf\x0a\x84\x90\x96\xc3\x2d\x25\xed\xe5\x65\x7d\xed\xc0\x77\x1e\xc6\x3d\x08\x98\xa5\x0e\x45\x44\xe5\x22\x8e\x5d\x73\x7d\xad\xc1\x1b\xbe\x06\x15\x84\x92\x38\xab\x22\xc0\x56\x04\xd7\x60\x42\x8f\xe5\x46\xe3\x09\x70\xa5\x8b\x6e\x3b\x80\x9f\xa0\x84\x8f\x54\xd5\x4c\x9e\x77\xea\x65\x26\x33\x87\xc9\x21\xdb\x93\x8d\x8c\x71\x41\x6d\xad\xa4\x87\x0a\x6a\x80\xa6\xf4\xc2\x75\x38\x82\x35\xc0\x2a\xc3\xdb\x4e\xea\x4b\x34\x62\x2e\xb5\x78\x49\x99\x85\x92\xf1\x33\x0a\xe9\xbe\x9d\xa4\xfc\xf8\x5c\x29\x45\x60\x37\x63\x5e\xd7\x1e\x9a\xd2\x4a\x46\xa9\x26\x53\x6e\x92\x66\xb3\x23\x14\x99\x27\x4b\xfc\xff\x33\x2a\x03\xaf\x57\xd5\x18\xe5\x9a\xb7\xe0\x26\x92\x90\x19\x8d\x07\xe5\xee\x81\x7a\xbc\x88\x11\xca\xac\xb0\x5d\x04\xd5\x79\xba\xfa\xb2\xd3\x71\x66\x3c\x73\x18\x1f\xb2\x3d\xde\xf8\x86\x8e\xd9\x00\x09\x30\x3d\x9d\x54\x2a\xfc\xe1\xf4\x9d\x24\x90\xa6\x75\x23\x55\x5b\x4c\xd6\x2c\x7e\x6f\x0a\xa8\x44\x70\xc6\x5d\xd2\x17\x54\x74\x31\xe2\x5d\x3c\x27\x7a\x5c\x9a\xcd\xd5\x8c\x07\x7f\xe7\x5c\x87\xc7\xbc\x76\xbc\x0f\xde\xf2\xb5\xbc\x05\xc5\x25\x74\xed\xd2\x46\x97\x65\x95\x05\x55\xb4\x4e\x33\x15\xf8\x09\xb4\xfd\xda\x74\x25\x38\xb4\x17\xc7\x20\x09\xe7\x52\x87\x96\x41\x51\xa9\x77\x3b\xe6\x32\x04\x13\xa2\x08\xae\xaf\x14\x11\xc3\x9b\x65\x5b\x56\xc7\xeb\x57\xb2\x81\x56\xf0\x72\x04\x91\x25\x5d\xb3\x57\x0a\x28\xd3\x49\xed\x41\x4d\xb3\x6c\xd5\xbc\x11\x34\x94\x87\x91\xd6\x5f\x0f\x47\x8a\xc9\xed\xce\x4c\xf7\xfe\x64\x9e\x89\xbd\x9d\x12\xd3\x0a\xec\x69\x28\x9d\xb7\x2d\xc0\x4e\x63\x1f\xb5\x7d\xee\xf2\x92\x4c\xa7\x35\x9e\x1b\xf0\xea\xc0\xd6\xaa\x99\x05\x73\x33\x52\xa9\x78\x2d\xaf\x49\xe6\xfd\x48\x25\xba\xb7\xce\x6d\x5b\xb3\x58\x7a\xf1\x38\xd7\x14\xa5\x8d\xb4\x93\xaa\x6f\x6f\x65\x50\xc6\x0b\x27\xde\xb7\xd7\xfd\xf2\x34\x71\xf1\x0d\x4b\xa0\xf8\x0f\x8c\xcb\x31\x8a\x5f\x37\x4f\x6f\x9e\xdb\x3c\x5f\x4e\x7c\x63\xbe\x1f\xa6\xf9\xf9\x9f\x8d\x2f\xfe\xf0\x94\xd6\xfc\x85\xa7\x0b\x2e\xfc\x77\xce\xf2\xc2\x8f\xa3\xdf\xfa\x0b\x9f\x23\xeb\xb7\xda\xe4\x7a\x7b\x7a\x79\x3d\x99\x0d\xbe\xab\x3c\xcc\x8c\x8d\x31\x4d\x99\x61\x29\x02\x6f\xbc\x58\xd9\xb2\xcb\xdc\xc6\xe9\x3e\x15\x62\x4e\x04\xa3\xe4\x15\x68\xd9\x81\x91\xaa\xd7\x03\x57\x57\x5b\x8b\x04\xaf\x69\x85\x77\x81\xbe\xf4\x6b\x11\xf3\x7b\x0b\xb4\xfe\xf3\x10\xf0\x98\x01\xe8\xd1\x95\x76\xe3\xfb\xe9\xdb\xbb\x79\x72\xaa\xcf\xe9\xd1\xf7\x95\xaa\x0b\xa5\xb9\x75\x0e\x14\x27\x46\x6a\x24\xb6\x0a\x03\x76\x59\xc5\x8d\x52\xd5\x70\x1e\x56\x35\xa4\x11\x58\xb4\x4c\x44\xbe\x31\xd4\x59\x6b\x33\xec\xff\x6d\xa0\x38\xfc\x29\x99\xbe\x80\x41\xd2\x43\xa9\xca\xb9\x59\x95\x73\xcd\x25\xa8\x50\xd7\x8f\xac\xc6\x95\x5c\x2e\x12\x33\x15\xbb\x62\x87\x30\x8a\x9d\x33\x99\xcc\xe1\xcc\xe1\xf0\x90\xed\xc3\x1d\x2f\x3a\x9f\xbf\x7b\x9d\x88\x9d\x6c\x68\x1d\xdb\x27\x12\x4a\x72\x57\xde\xb9\xe8\xc7\x66\x4f\xf0\x17\x7a\xb7\x45\x81\x36\x47\x6c\x0e\xc4\x3c\xab\xc9\xab\x74\x38\x14\x43\xcb\xa1\x79\x10\x6f\xa0\xc7\x00\xca\x51\x38\xe7\xef\xa8\x77\x30\xdc\xbb\x15\x55\xad\xd5\xf2\x10\x55\xac\xcb\x39\xd9\x74\x34\x7d\x49\x2f\xa5\xd0\xf3\xc7\xc4\x4b\x09\xa2\xdd\x48\x1f\x10\x48\x88\xab\xc9\xb5\x08\xd2\x30\xc7\x94\x4b\x94\xce\x2e\xf1\x88\x01\xca\x04\x54\xdd\x0e\x42\x66\x63\xe7\x37\xd2\x15\xe1\x26\x9d\x4b\x9c\x28\x58\x82\xd4\x57\x52\x24\x7e\xa3\x6b\x59\x92\xd2\x4d\x72\x53\xd5\xe9\x73\xaa\x95\x34\x97\x81\xf3\xa3\x22\x5c\x06\x8f\x3b\xbd\x67\xd6\x67\x0e\xeb\x87\x6c\xae\x23\xee\xfe\xbc\x1b\xcd\x92\xb2\xaf\x78\x51\xae\xd5\x4d\x2c\xad\xb0\x36\xe4\xff\x4b\x7a\xf0\xac\x9d\x82\xe0\xfd\xa8\x75\xb4\xe1\x92\xa8\xbd\xef\xe6\x51\x23\xd5\xf9\xa4\x92\x55\xdd\xed\x97\xc1\x0a\x67\xea\x51\xdd\xf7\x1d\x87\xa6\x14\xea\x24\xf5\xb1\x74\x6d\xad\x05\x3a\xf7\x0f\x74\x0d\x91\x3b\x57\x9f\xf7\x7c\x8c\xb1\x0f\xf4\xb3\xb1\x6f\x76\xa7\x8f\xb6\x17\x2a\x1d\x83\xa0\xf5\x5b\x22\x68\x5b\x0c\x12\xda\x43\xc7\x2d\x3d\x2e\xb3\xc0\x04\x41\xb4\xb9\xc8\x83\x74\x3c\xb9\xa3\xbd\x9f\xc4\x19\xee\xf1\x68\xde\xde\xfd\x6e\x1b\x89\xef\x8f\x7b\x18\xa8\x36\xc3\xe2\xec\xba\x26\x2d\x35\xa2\x37\x1c\xfc\x3f\x73\x8e\x99\x64\xcc\x05\x1d\x2e\x2a\xf8\xad\x02\x95\xce\x68\xf6\xe2\xe6\xd4\x61\x3f\x35\xd4\xbf\xa7\xbf\x45\x4c\x09\xd4\x58\xa9\xee\x66\x8b\xf1\x9f\x48\x6e\xf0\x6e\xdf\x4b\x8d\xef\x25\x05\x57\x2d\x1c\x43\xd3\xc2\xad\x2a\x57\x3b\xdb\x3d\xbf\xdd\xd2\x15\x80\xf4\x0a\x71\x40\x7d\xa0\x26\x34\x25\x0b\x46\x32\x38\x0f\x39\x98\x2e\xc8\x80\x10\x45\xe9\x19\x24\x0c\x79\xa7\xb3\x54\xfc\x9c\xfc\xc3\x96\x8c\x3f\x42\x42\x05\x78\x76\x31\xae\x7d\x6f\x4c\x16\xc1\x19\x01\x71\x8e\x05\x14\x9a\x51\x50\xb6\x92\xc4\x5f\x60\x62\x0c\xc9\x2e\x62\xfb\xd8\xaf\xde\x19\x54\xea\xc1\x28\x99\xed\x65\xc2\x96\x2c\x8b\x6d\x0e\x17\xf1\x08\xf7\xca\xfc\x4f\x48\xf3\x2d\x52\xec\xd2\xf5\x01\x1c\x07\x31\xca\x8c\x67\xc5\xe2\x56\x81\x2a\x0b\x81\xa6\xaa\xf1\xfb\xd8\xa2\xa4\x84\x25\xc9\x07\x9a\xf9\x18\x75\xdb\xd7\x37\xaf\x71\x03\x88\xab\x2c\xcf\x84\x7a\x1b\x9b\xed\xd9\xf1\x87\xa0\x07\x39\x51\x0a\xb6\x9e\xdb\xe6\xf1\xff\x5d\x85\x54\xa2\x26\x2b\x27\x80\x53\xb0\x63\xdb\x59\x0b\x9f\x94\x6e\x69\xca\x9e\xb4\x32\xc2\x74\xf0\x7d\xd2\xaa\x04\x9c\xe4\xae\x8f\xb0\x89\x9c\x08\x12\xeb\xf7\x98\x75\xd5\x33\xe7\x7f\xd2\xd8\xba\x19\x20\x36\x53\xf0\x06\x8d\x40\x8d\x69\xad\x98\x65\x2a\x05\x91\xc6\x1a\x8a\x21\x60\xcc\x0d\xe9\xa0\xb7\xb3\xaf\xd6\x00\xb2\x9c\x68\x86\xf6\xc0\xa2\xee\x5d\x07\x40\x4a\x55\x94\x50\x18\xb1\x92\x99\x19\xd2\x96\x22\xa5\x70\xe4\xb4\xce\x77\xa3\x7f\x02\xa5\x52\x02\xdc\xc7\x0c\x40\xc3\xd7\x47\xb9\x4c\xe6\x57\x53\x02\x94\xef\x81\x0a\xdf\x68\xae\x1c\x1b\xb8\x92\x09\x19\x37\xad\xe3\x7b\xa1\xea\x23\x44\xc0\xbc\x89\x37\xbc\xce\x6c\x81\x15\x45\x7a\xd1\x45\x25\xbb\x78\x6a\xe7\x41\x06\x5c\xf8\x4c\xa9\x0d\x27\x24\x91\x97\x6c\x8a\x11\x43\x3f\x1e\xcd\xca\x65\x98\x73\x56\x16\xce\x2e\x8c\x09\x9b\x82\x70\xcf\xdd\x43\x56\x28\x9c\x9e\x79\x22\x5f\xcb\x92\xc6\x2d\x73\xe3\xca\x26\xb4\x5b\xb3\x2b\x59\x05\xe5\x05\x0d\x06\x08\xd5\x24\xac\x2d\x86\x2f\x4a\x71\x88\xae\x3a\x42\x9e\x2a\xd4\x8a\xc3\x5f\x48\xd1\x11\x91\x79\x54\xfd\xd3\x49\x50\xcc\xfe\xbf\xd9\x7b\xef\x86\x53\xee\xe4\xd9\x9d\x89\x91\x31\x93\x0a\x69\xd7\x43\x22\x33\xed\xea\xe2\x91\xca\x1c\x90\x91\x0c\x5c\x21\x59\x22\x47\x3c\x04\x96\x41\x6d\x53\x8c\x0f\xf4\x8d\x89\x84\x96\xea\x1a\xb0\xa4\x62\xc5\x16\x75\xeb\x3d\xb6\xd1\x36\xd9\x95\xb7\xf8\x34\x8b\xb2\xab\xf2\x8d\xd1\x12\x5a\x9e\xf4\x9e\x8c\x92\x1b\xb4\x24\xff\x19\x86\x80\x23\xdd\x34\x69\x14\x03\x23\x04\x60\x8d\x29\x29\xe9\xe3\x9e\xff\xf9\x29\xe7\xd0\xaf\x14\x1a\x91\x6d\x64\x81\x6a\xef\x35\x1e\xcd\x3d\x00\xaa\x61\xb7\xa2\x1e\xec\x64\x1b\x54\x50\xc0\xde\xe6\xf2\xa7\xfd\xe7\x05\x19\x11\x26\x6a\xff\x09\x12\xe6\x5b\x8f\xc7\xbd\xe9\x86\xbb\xd9\x68\xd1\x2b\x61\x07\x35\x47\xc9\x45\x10\x4c\xd2\x27\x34\x6b\xdc\x32\x99\xef\xc3\x8e\xd3\x92\xc7\x25\x11\x00\xe8\xae\x9a\xad\x14\x30\xe6\x38\x40\x31\x71\x1a\x55\x5e\xa4\xe7\x4d\x55\x41\x0c\x8a\x08\x59\xe9\x62\x79\x93\xa9\x06\x18\xb2\x50\xba\x4a\x21\x58\x1f\x92\xab\x45\x99\x97\x2c\x3b\x43\x8b\x34\xca\x5a\x11\x76\x4e\x5f\x1c\x95\x78\x75\x18\x1e\x8c\xf0\x85\xc8\x2b\xf4\xfd\xb1\x60\xff\x89\x51\xaf\xa2\xf4\x85\x89\xcc\x59\x19\x55\x1e\xd4\xcf\xae\xb0\xd2\x8c\x49\x0b\x31\x46\xcd\xbb\x26\x9e\xd0\xdf\x24\x6a\xad\x24\xcb\x08\x44\x92\xdd\xdb\x10\x35\x9e\x3d\xb9\xd7\x2d\xe8\x0e\xc8\x10\xe8\x55\x25\x21\xef\x4a\xea\x2e\x02\x0d\x9c\x9e\x99\x9c\x25\xb9\xea\x8c\xd8\x71\x34\x0e\xec\x27\x5d\xdf\x4e\xcf\x07\xb5\x95\xef\xfe\x1a\xc7\xd1\x63\x73\xdd\xba\xa7\x5a\x2a\xde\xa3\x6b\x98\x20\xdc\x6d\x50\x77\x34\xec\x2a\x18\x36\x32\x27\xe5\x02\x34\x21\x4a\xe9\xea\x11\xa1\x90\x96\x75\xc8\xc4\xb6\x77\x8e\x9c\xb9\x4b\x2a\xe2\x6d\x83\xdf\xe3\xf3\xb7\x71\x77\xa8\xd2\x57\xa7\xc2\xad\x82\x34\xb6\x12\xb8\x1f\xd8\x75\xa6\xb3\xe1\xe2\xc2\xea\xde\xd9\x0c\x37\x3e\x65\x22\x24\x92\x88\x15\x2e\x3d\x56\xa1\xed\x75\x3a\x05\xb5\x71\x68\x13\x32\x7a\xa2\xf4\xd1\x03\xc0\x8e\xdf\x7f\xe3\x72\xe8\x67\xec\x87\xff\xd7\x6d\x81\xbb\xcd\xf0\x55\xae\x88\x47\x2d\x58\xec\x4c\x83\xb1\xd3\x6d\xe6\x6c\xe6\x70\x76\xc8\xde\x19\x6e\xb6\x0d\xdd\xe1\x5e\x4f\x69\x8a\xe5\x97\x0d\x2a\x48\xc3\x2f\xf8\xce\x55\xa5\x30\x40\xbd\x33\xb6\x38\x81\x71\x18\xec\x93\x35\x4f\x6f\xd8\xd3\x54\x68\x1b\x4c\xc6\xcd\x77\x08\x67\x2e\x65\x86\x74\xdf\xb0\x02\x97\x3a\x95\x35\xb8\xfd\xef\xab\xe4\x51\x16\xc8\xfd\xda\x1d\xc8\x65\xcf\x9c\x8e\x50\x9e\x77\xb2\x71\x31\xb5\xa5\xe2\x5c\x1f\x48\x8f\xb7\xf4\x28\xbc\x87\x6a\xe2\x6d\x74\xa6\x71\xba\x75\x00\x04\x6d\x87\x86\xdb\x37\xd6\x77\x03\xc1\x99\x45\x0b\x99\xd5\xa6\x99\xec\x31\x55\x0b\xcc\xb8\x24\x15\x4e\xdd\xf4\x57\xf9\x8f\x01\x56\xe4\xde\x51\xaf\xdd\x9c\x65\xe8\x23\xed\x3f\x5f\xa6\x9e\xe1\x76\xc7\x9a\x2e\xb4\x46\xad\xee\x47\x80\xa0\xcf\xab\x98\x46\x55\x9f\x62\x2e\x40\xd5\x06\xb6\x0a\xda\x05\xa5\xe3\x2d\x79\xec\x43\x0f\x47\x65\x21\xfd\x55\xea\x08\x51\x86\x73\xaa\x74\x8b\xaf\xaf\xb3\xb7\xd3\x93\xcf\x89\xb5\xd2\x20\x9b\x56\x88\x22\x82\x43\xf9\x94\xfb\xe2\x39\x42\xaa\x89\xbb\x96\xe9\x0c\x6a\xee\x40\xdc\xd3\x6d\x40\xe9\xda\x47\xee\x41\xfa\x0f\x27\x4f\x6f\x11\x0c\x33\xc4\xf5\xfb\xf1\xd6\x6f\xb1\xef\x80\x50\x3b\x1f\x28\x49\x00\x74\x53\x44\xee\x08\xe0\x2b\x1b\x54\xca\x03\x0a\x03\x34\x1d\xcc\x0a\xf1\xcf\xdc\xcd\x1c\xee\x0e\xd9\xbc\xc3\x0e\x14\xed\x26\xa7\x0e\x0c\xda\xaa\xf2\x1f\x31\x7c\x20\x44\xc1\x2a\xc3\xbc\xdc\xda\xf3\xf0\xf4\xbf\x03\x3c\xad\x25\x3c\x61\xef\xc0\x9a\xaa\x07\x5b\x75\xd4\x21\x40\x42\xaf\x4e\x23\x8f\xe4\x26\xba\x5a\x7c\x28\xed\xfc\xec\x64\x24\xae\x6d\xef\x3c\xde\xce\x1f\x49\x12\x65\xc1\x7c\xb8\x33\xdd\x10\x25\xbb\x72\x81\x8e\x45\x97\xa7\x09\xf8\x4f\xdd\x0d\x6e\xc0\xd3\xbc\x45\x0c\x7a\x8c\xfa\x98\x68\x9a\x17\x45\xeb\xd2\x89\xb6\x40\xaf\x0b\xe8\x55\xc1\x96\x24\x3b\xd0\xf8\x5c\x8f\x54\x87\x2a\x85\xe0\xa7\x1b\x9e\x52\x77\xad\x44\xe4\x60\x7e\x0e\x2d\x08\xde\xf9\x80\x5a\xca\x75\xaf\x61\xab\x98\x6e\x1e\xc1\xee\x49\x1a\x78\x87\x6f\xf5\xe5\x78\x0f\x75\x50\x2c\x6b\x0f\x37\x6e\x76\x7d\x63\xb5\xfb\xb2\xaf\xd7\x83\x23\xcc\x84\x0b\xde\x4d\x49\xf1\x66\x5e\xf8\x49\x2e\x86\x07\xd6\xb2\xa4\xd6\xdf\xcd\xb4\x16\x25\xb5\x1e\x6b\x09\x79\xca\x9a\x91\x67\xb4\xeb\xf2\x13\x6f\xb4\x01\x2c\xf1\x21\x29\x79\x9c\x05\x9f\xdb\x35\x1f\x64\xa1\xe2\x7d\xd6\x34\x67\xb3\x07\x3b\x64\xd5\xf8\x98\xeb\x82\x8d\x43\x29\xe7\xeb\xfa\x43\x6a\x0d\x65\xd4\x87\xbe\x9f\xd4\xc0\x1f\xf6\xc2\x07\xb2\x60\xb4\xdb\x0b\x78\x3b\x95\x16\x0d\xf9\x90\x0f\x9d\xc6\x3f\x30\x64\x84\x51\xb5\xc6\x43\xc7\x42\xfd\x1c\xd4\x08\xda\x44\xc3\xeb\xe8\x7c\x28\x53\x9c\x35\x9d\x27\x68\x3a\x3a\x68\x94\xc7\x0a\x60\x5e\x7a\x0d\xa9\x3e\x37\x62\x7c\xac\x48\x72\x13\x86\x80\x12\x92\x2c\x49\xff\x9c\xa2\xcf\xb1\x85\xc1\x83\x98\x9f\xca\xaf\xa6\xd2\xa2\x84\xb8\x68\x13\x53\x07\xe7\xa8\x77\xe8\x43\xe2\xab\xd0\x40\xcc\xdc\x59\x57\xaa\xa3\x08\x82\xc1\x48\x9f\xfd\xd0\x48\xc1\xaf\xb3\xe8\x26\x22\xb0\x45\x2a\x25\xae\xfb\x7d\xa8\x66\xae\x24\x86\x9a\xa4\x90\x1c\x20\xb5\x24\x7c\xd8\xaa\x4e\x55\xa2\x55\x7f\x97\x05\xda\xde\x8a\x87\xf0\x75\xc2\x81\x21\x64\x76\x57\xcc\x30\x58\xca\xac\x32\x6b\xe7\xc3\x4b\x0a\x43\x30\x47\xa3\xd6\xa3\xf0\xbe\xda\x72\x6c\x52\xf0\x0b\x14\xae\x72\xce\x0f\xa0\x30\xa0\x0f\xc5\xd2\xcf\xd1\xf0\xaa\x56\x09\xff\xa1\xa0\x39\x6b\x02\x73\xdb\x9c\xc6\x7a\xc0\x38\xab\x09\x63\x60\x4e\x5c\xc0\x8d\xeb\xdb\xdd\x63\xb6\x18\xc6\x8e\x93\xc7\x03\xb0\x58\x8e\x23\x53\x08\xa2\x15\xc7\x1c\x95\xc9\x87\xbe\x6e\x9b\x45\x27\xdc\x1c\x8a\x86\xe4\x69\x7d\x4b\x07\xb7\x48\x60\x52\x8b\xaa\x19\x11\x16\x4e\x35\x74\x03\xcd\x22\xa0\xb9\x76\xf4\xd9\x1e\xc6\xfe\x45\xd7\x4c\xb2\x13\xb9\x55\xa5\xb9\xb8\x9e\x12\x60\x78\xb6\xa3\xc3\xa7\xc8\x48\x43\x25\x0d\x74\x12\x98\x6c\x17\xae\xf6\x95\xf6\x17\xe8\xc2\x1f\xe4\x40\x46\x0d\xa5\x14\xa3\xb2\x9a\x6a\xbf\xe6\x7b\xb0\xa5\x51\xfe\x11\xe2\x52\x76\xe2\x8a\x46\x65\x6d\xb3\x46\x43\x18\x5e\xcb\xb5\x5a\xc3\x28\x95\xb7\x91\x31\x4a\x68\x0d\x57\x4f\xba\x2a\x43\x75\xa3\xd3\x52\x43\xf7\xb0\x97\xd9\xea\x9b\x99\x51\xbd\xd8\x1e\xeb\x5c\xbe\x7d\xfe\x9d\x1b\x36\xa6\x80\xda\x97\x1d\xb3\x08\xcf\x68\x0e\x82\xb1\xbb\x69\x94\xfb\x31\x4b\xef\x26\x30\xf1\x1e\x38\x0a\x1d\x4f\xea\x78\x2a\x55\xca\xba\x5d\xf7\x0e\xd8\xf7\xe6\x8e\xd5\x4a\xc7\x94\x92\x52\x1f\x1f\x67\xe5\x4a\x88\xe1\xf4\xdc\x95\x2e\x8f\x18\xba\xf2\x05\x32\x8b\xcf\x5a\x41\x9e\xa6\x0c\x5c\xc9\x52\x9f\xb8\x5a\x2a\x05\xfd\x64\x94\x21\xf1\x69\x64\x41\xf0\x69\x54\x2f\x83\x68\x53\x22\x19\xe6\x78\x23\x4f\x63\x94\x55\x98\x43\x59\x03\x46\x0c\x8b\x82\x5e\xd8\x71\x85\x94\xb1\xb1\xbe\xf9\xa8\x00\x23\x4f\xd3\x43\x40\x47\x87\xa9\x2c\x5d\x20\x6f\x18\x85\x8f\xfa\xac\x17\x54\x7a\x2d\xd7\x8d\x1b\xf1\x6a\xd4\xae\xe8\xa4\x8b\xc9\x54\x91\x06\x0a\x18\x5f\x54\x1c\x62\x48\x4d\x61\xc2\x1c\x80\x0b\xd9\xbc\x55\xbe\x96\x84\x1e\x56\x62\x45\xfc\x70\x4a\xc1\x0d\xe6\x3d\x5e\x30\x39\x01\x44\x98\xd0\x27\x6d\x8f\x57\xb6\x0e\x4a\x34\xac\x46\x0b\x25\xc0\x00\x1b\x0a\xff\x56\xee\xca\x16\xee\x74\x5f\x22\x77\x45\x3a\x94\xb3\x9e\xa4\x56\x1c\xfe\xb9\x06" -func _9Ec83286d14b56ebb8488JsBrBytes() ([]byte, error) { +func _9Ae2f008c1ea027b7f593JsBrBytes() ([]byte, error) { return bindataRead( - __9Ec83286d14b56ebb8488JsBr, - "9.ec83286d14b56ebb8488.js.br", + __9Ae2f008c1ea027b7f593JsBr, + "9.ae2f008c1ea027b7f593.js.br", ) } -func _9Ec83286d14b56ebb8488JsBr() (*asset, error) { - bytes, err := _9Ec83286d14b56ebb8488JsBrBytes() +func _9Ae2f008c1ea027b7f593JsBr() (*asset, error) { + bytes, err := _9Ae2f008c1ea027b7f593JsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "9.ec83286d14b56ebb8488.js.br", size: 4580, mode: os.FileMode(436), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "9.ae2f008c1ea027b7f593.js.br", size: 4492, mode: os.FileMode(436), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _boot5f7e76008bc7f3968ebdJsBr = "\x1b\xd4\x00\x00\x64\x73\x2e\xe5\xab\x92\x01\xa9\xf1\xf9\x09\xcb\x90\x0e\xf0\xe1\x1b\x9b\xd7\x18\x9b\x27\x0e\x4f\xce\xb5\x97\xb1\x49\xdc\xc6\xc6\x6d\x08\x42\x5a\xb3\x08\x52\x60\xc4\x5d\x17\x6a\x5b\xc1\xce\x69\xf1\x70\x5a\xf8\x10\xb4\x6c\x09\x43\x3d\x96\xbe\x86\x61\xda\x49\x15\x20\xa9\xc7\x2f\xf3\x4f\xd3\x9e\xfa\x23\x4d\xbd\xa6\x3e\xca\x0e\x98\x0a\xbd\x4c\xfa\x96\x5b\x5d\xd5\x74\xf4\xf9\xb4\xdb\xac\xdd\x44\xb6\x2c\xd8\x1f\x9f\xab\x31\x92\xe7\x7f\xfb\x06\x48\xe1\x23\x56\x8d\xe9\xf1\x1d\x10\x9d\xa3\xdb\xf8\xed\xf5\x7d\xd5\x38\x81\x14\x01\x38\xd3\x74\xe0\x1f\xff\x7f\x29\x0c\x0d\xc3\x94\xb4\x38\x18\x3a" +var _bootD16572e50321c967f35fJsBr = "\x1b\xd4\x00\x00\x64\x73\x2e\xe5\xab\x92\x01\x2b\x3c\x3f\x61\x19\xd2\x01\x3e\x7c\x63\xf3\x1a\x63\xf3\xc4\xe1\xc9\xb9\xf6\x32\x36\x89\xdb\xd8\xb8\x0d\x41\x48\x6b\x16\x41\x0a\x8c\xb8\xeb\x42\x6d\x2b\xd8\x39\x2d\x1e\x4e\x0b\x1f\x82\x96\x2d\x61\xa8\xc7\xd2\xd7\x30\x2c\x3b\xa9\x02\x24\xf5\xf8\x65\xfe\x69\xda\x53\x7f\xa4\xa9\xd7\xd4\x47\xd9\x01\x53\xa1\x97\x49\xdf\x72\xab\xab\x9a\x8e\x3e\x9f\x76\x9b\xb5\x9b\xc8\x96\x05\xfb\xe3\x73\x35\x46\xf2\xfc\x6f\xdf\x00\x29\x7c\xc4\xaa\x31\x3d\xbe\x03\xa2\x73\x74\x1b\xbf\xbd\xbe\xaf\x1a\x27\x90\x22\x00\x67\x9a\x0e\xfc\xe3\xff\x2f\x85\xa1\x61\x58\x92\x16\x07\x43\x07" -func boot5f7e76008bc7f3968ebdJsBrBytes() ([]byte, error) { +func bootD16572e50321c967f35fJsBrBytes() ([]byte, error) { return bindataRead( - _boot5f7e76008bc7f3968ebdJsBr, - "boot.5f7e76008bc7f3968ebd.js.br", + _bootD16572e50321c967f35fJsBr, + "boot.d16572e50321c967f35f.js.br", ) } -func boot5f7e76008bc7f3968ebdJsBr() (*asset, error) { - bytes, err := boot5f7e76008bc7f3968ebdJsBrBytes() +func bootD16572e50321c967f35fJsBr() (*asset, error) { + bytes, err := bootD16572e50321c967f35fJsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "boot.5f7e76008bc7f3968ebd.js.br", size: 151, mode: os.FileMode(436), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "boot.d16572e50321c967f35f.js.br", size: 151, mode: os.FileMode(436), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -539,22 +545,22 @@ func icon_512Png() (*asset, error) { return a, nil } -var _main1d1419ddb5eb2d7ed47cJsBr = "\x1b\x99\xb5\x51\x94\xe9\x5d\x13\x45\xee\xd6\xba\x40\x0a\x22\x00\xf4\x50\x60\x1b\x4b\x97\xea\xaf\x78\x7a\x1a\x49\x47\x56\x51\x64\x31\x2b\x4b\xcd\x15\x76\xa1\x5e\x53\xb7\xa9\xe1\x6c\xec\xf5\x23\x51\x0e\x9e\x8d\x74\xf4\xbb\x19\x21\xc9\xac\xa5\x5a\x65\x94\xfa\x25\xba\xa1\x9a\x82\xe3\x1d\x95\xe4\x37\x34\x1c\x39\xa2\x19\x08\xd8\x1a\xac\xee\xce\xe2\x62\x64\xff\x22\x7c\x6f\x6a\x0a\x55\x1d\x4f\x30\x88\x1d\xf9\x29\xa5\xff\xb1\x66\xd1\xb9\x0a\x91\xc0\x3a\xa5\x4b\x62\xb7\x37\xfb\xfd\xd4\xef\xbf\x7e\x83\xb6\x79\x6e\x21\x80\x4b\xb6\x25\xbb\xb9\xa5\x34\xd6\x27\x1e\x0b\x61\x26\xc6\x12\xd1\x88\xb4\x79\x7e\xbe\xae\x37\x53\x4e\xb7\x05\x8d\x9e\xfc\xa7\xc2\x4c\x4f\xe2\x6d\xfd\x54\x2b\x4b\xd2\x4d\x04\xde\xfa\x9d\x3f\x9d\xfa\xd3\xee\xf3\xed\xf9\xeb\xef\x54\x1b\x17\x70\x2b\x49\x74\x4f\x15\x81\x90\x88\x0a\x98\x84\x88\x66\x66\xab\xea\x27\xfb\xf0\x49\xde\x90\x3f\x54\x05\x1a\xc8\x3d\xea\x6f\x2c\x4d\xcd\xd7\x97\xe6\x43\xd8\x8d\x57\xca\x33\xc0\xf0\xd6\x4a\xaf\x2f\xc3\x90\x8b\xe8\x82\x53\x28\x81\xe4\x15\xe1\xcc\xe8\xf9\x3f\x53\xad\x36\xac\x26\x41\x72\xd7\x6b\x66\x6d\x64\xce\x27\x29\x08\x8a\xeb\x8c\xb2\x48\xf8\xbf\xfe\xaf\x41\x77\xa1\xfb\xd4\x00\x1a\x12\x00\x02\x7b\xa4\x28\xdd\x93\x28\xe9\x8d\xa8\x11\xdf\x88\x63\xaa\x0a\x4d\xa9\x1b\x00\x77\x40\x4a\x7b\x03\x51\xe3\x0c\x47\x6b\xbc\xc9\xce\xf9\x28\xb1\x3e\xb4\x51\x3e\xe1\xb9\xe8\x7c\x94\x1e\x3d\xf4\xf7\xbe\xfa\x5e\xba\xe2\xce\x9c\x5c\x85\xb4\x0a\x12\xaa\x18\x0d\x97\x46\x3f\x4d\x20\x0a\x01\xa4\xf8\xf7\x23\x7c\x75\x14\xd3\xce\xf6\x91\xfd\xd1\x4f\x67\xa7\xd6\xcd\xd9\xbe\xa7\x07\xff\xe3\x42\x08\x21\x41\xba\x6a\xb8\x68\x8d\xde\xa7\x16\x18\xcd\xae\x36\xe9\x76\x1c\xf0\xa1\x95\x65\xf7\xa8\xeb\xca\x48\xc5\x8c\xd2\xaf\x97\x08\x06\xce\x0e\xe3\xe9\x8d\xfb\x23\x5e\x0e\xd9\x26\x93\x86\x01\x9a\x2f\xb0\xca\x10\x7a\xe8\xad\x1d\xc2\x4e\x2a\x26\x23\x24\x0d\x97\x57\xc8\x7c\x06\x64\x4b\x48\x46\xa5\x40\x73\x80\xe7\xd4\x17\x75\x02\x7d\x62\x86\x24\x74\x29\xc1\xa9\x98\xf2\x85\xc8\x0d\x55\x06\x9a\x14\x8c\x59\xd3\xe6\x40\x96\xdf\x24\xb9\xe2\x98\x8c\x32\x1b\x4e\xd9\x12\xe5\x04\xca\x9c\x79\x2e\x38\x64\xc9\x36\x13\x8a\x4c\xd9\x65\xc6\x26\xb7\xbc\x32\x26\xcd\x88\x6b\x76\x9c\xb3\x60\x99\x6b\xf2\xdc\xb1\xc8\x6a\xba\x9c\xa7\xc6\x88\xbf\x0c\x36\xda\xed\xd0\x31\x3b\xcd\x30\x45\x79\x29\x4e\xd9\x0c\xb2\x2a\xc4\x1b\xb8\xed\x25\x3c\xbe\x42\x2e\x13\xf1\x25\xd0\x71\x82\xd6\xb8\xf8\x96\xb0\x20\xcc\x96\x41\xeb\xe7\x7c\xd8\x84\xc2\xa9\x61\x57\xd1\x1a\x31\xbf\x0b\x45\x69\x5a\x29\x49\x57\xd2\x2c\x39\x2c\x19\xf2\xae\x70\xf3\x97\x14\x65\xc9\xfa\xb0\x60\x84\x45\xff\xd3\x51\x9a\xa2\x3c\x3e\x9b\x2c\xb3\x14\x2d\x9c\x71\x9d\xe1\x83\x36\x1e\xa6\xe2\x0e\x2d\x09\x4c\xff\xad\x80\x57\x98\x7c\x31\xaf\x42\x1c\x3d\x44\x57\x2c\x2a\xb9\x94\xcd\x6c\xae\xd1\xea\x3f\x1f\x5e\xa2\x81\x49\x6e\x1f\x5e\x9b\xab\x34\xda\xcc\x18\xa7\xbb\xcd\xdb\x66\x5b\x5a\x40\x67\x1f\xad\x60\x72\x9d\xcc\xa5\xcb\x44\x24\x32\xef\xcc\x58\x88\xa3\x5c\xad\x67\x95\xad\xa2\x84\xd5\x3b\x5e\xe5\xf4\x67\xdd\x9f\x0f\x93\x88\x70\x7e\xeb\xb4\x49\xa0\xc3\x47\x6d\xd1\xf3\x3d\x15\x94\xfb\x4f\x1f\x36\xc8\xf5\x7b\xc6\x55\x50\xfe\x9a\x6c\xff\x5c\x97\x55\x71\x9c\x51\xd8\x10\x49\xb9\x37\xb3\xfb\x08\xd0\xfa\x1e\xd7\xd9\x6c\x3e\xba\xce\xee\xb1\x78\xc9\x25\x82\x26\x27\x22\xe5\xe9\x80\xcb\x72\x24\xae\x72\xa9\xa2\xdf\x85\x4e\x51\x6c\xe2\x0c\xb3\x10\xf7\xd1\xfa\x22\x27\x2c\x13\x47\xdb\xe6\x72\x98\x6e\x38\x2c\x44\x72\x94\xf8\x44\x77\x11\x2e\xb3\xdf\xa5\x1d\xab\x64\x9d\x9d\xd0\xdc\x87\xd3\x13\x7d\x67\x78\x86\xf5\x08\x3c\xee\xdc\xae\x8b\x72\x72\x91\x5b\xb8\xca\xed\x27\xbc\xd2\x1e\x15\x3d\xc5\xc8\x7b\x5c\xb6\xc0\x8f\x88\x74\xd2\xad\xfa\x15\xcf\x35\xc4\xaf\x6c\x61\xa3\xd4\x80\x8e\xb9\x93\x74\xab\x79\x4d\x08\x4d\x59\x09\xf9\x31\x5f\x56\x3b\xbc\xc8\xf8\x26\x44\xb2\x4c\x06\x5e\xa4\x3b\xac\xa8\xac\x28\x34\x35\x01\x44\xa4\xc6\x00\xfe\x55\x9e\x84\x35\xc1\xab\xb8\xf7\x37\xc0\x93\x31\x2e\xf4\xba\x3c\x01\x53\xf3\x6c\xe5\xf7\x71\xeb\xc5\x9f\x17\x15\xa2\x44\xcf\xc0\x53\xc4\x3f\xcb\x8c\x92\x5f\xdf\x8f\x59\xa6\xc4\xa7\x00\x25\xfd\x41\x56\x1c\x8b\x04\x44\x4c\x1d\x0a\x24\xfe\x44\x44\x55\x66\x54\x25\x31\x68\x21\xed\xa4\x1c\x64\xf7\xcf\xa3\x5e\x66\xdb\x23\xf5\xce\x46\xab\x58\x3c\xd3\x40\xe4\x2e\x4f\x23\xab\x3f\x5b\x2b\x22\x79\xdb\xc5\x57\x36\xe1\x4c\x38\x80\xca\x5c\x57\x25\x0c\x9c\x47\x47\x0f\x06\x9e\xb9\x19\x3c\x45\x57\xc0\x7d\x4b\x17\x15\xc8\xe7\xcc\x7e\x3e\xb2\x8e\x4f\x70\x05\xd6\xcd\x47\xe4\x91\xcc\xd1\x88\xaa\x0e\xa9\x3e\x0f\x0a\xc9\xde\xcc\xd7\x6f\x3e\x9f\x47\xaa\x02\x19\xeb\xf3\x41\x93\xc5\x2b\xd1\xc4\x56\x74\xfb\x94\x42\xfc\x59\x2d\xe3\x2c\xa0\x13\xc1\x28\x9c\xb6\x2b\x3c\x88\xb8\xab\x7f\x60\x85\xb2\xfc\x2e\x20\xbb\x71\x4b\xfc\x14\xc9\xb3\xcf\x64\xb6\xc4\xe5\x28\x23\xdb\x4a\x34\x11\x17\x89\x49\x63\xc0\x1b\xa9\x0a\xb6\x2a\xb2\xce\x73\xaf\x88\x73\xef\xc5\xdf\xa6\xcf\x13\xf5\x35\xb6\x33\x3a\xfa\xfa\x67\x9e\xc8\x52\xb5\x80\x1a\xb5\xf0\x52\x8c\x13\xa7\xa4\x95\x35\x38\x71\x81\x2f\xb7\x72\x84\xcc\x93\x74\x12\x8f\x63\x7f\x1f\x53\x68\xf6\x73\xff\x68\xd3\xad\x68\x1e\xc1\x51\x61\xff\x86\x75\xc6\xdd\x33\x7b\x7f\x19\xf5\x02\xe3\x25\x5b\x99\xb8\x23\xc5\x8f\xd6\x2b\x3c\x87\x83\xcc\x7a\x9d\x10\x28\x54\xa2\xe5\xc4\xb8\xab\xd5\xc1\xd6\x0a\x4a\xcd\xbc\x3b\x1a\x51\x41\x66\x13\x01\x46\x91\x9c\x4c\x82\x6a\x53\x70\x0a\xfc\x45\xae\xb7\xec\xb2\xbd\x76\x71\xba\x8c\x4c\xe9\xdd\x85\xc9\xdd\xf9\x2a\x0b\x4b\x4a\xb6\x6c\x36\xba\xcf\xe4\x61\x4c\xee\xeb\x9f\xd2\x1a\x9b\xc2\xd3\x23\xb5\xac\x58\x49\x6f\x09\xbc\x87\xb7\x89\xb5\xfa\xbd\xc2\xf1\xcb\x5b\x37\x17\xde\xea\xaa\x76\xef\x21\x1f\x84\xcb\x25\xfa\xfd\xb4\x14\xfb\x61\x06\x17\x7f\x23\x84\x89\x57\xb1\xfc\x8c\x77\x3f\x8d\xba\xdf\xd5\xb7\x54\x7c\xc8\xb5\x9f\x16\x96\x9e\x56\x43\xf1\xec\x3c\xfd\x3c\xc8\xc3\x16\x7a\xbc\xd8\x08\xc2\xd6\x33\x22\x1d\xcb\xfa\x0e\xd9\x2e\x05\xb8\x2b\x50\x1f\xb1\x25\x96\x21\x93\x56\x60\x38\x6b\xd9\xe2\xf6\x6a\x81\x7e\x41\x1f\xab\x53\x9c\x10\xe9\x88\xd6\x93\xc4\xd9\x15\x64\x91\x9b\x70\x80\xd1\x9d\x2e\xe1\xf4\x47\xf9\x74\xae\x64\x7d\x47\x8b\x21\xce\xde\x52\x4e\x72\x82\x4a\x2c\x9d\x6d\xaf\x61\xf2\x3e\xb0\x9e\x8b\x01\x65\x92\x57\x54\xf5\x61\xb8\x90\xd1\x58\xd1\xaa\x97\x8e\x97\xad\x8a\xe5\x01\x91\x8d\x48\x8a\x72\x8f\x2c\x0b\xba\x67\x5e\x21\xb3\x65\x04\x3e\xfc\x0a\x89\xac\x4a\x4b\x18\x9f\x83\xad\xcc\x89\xc2\xf9\xef\x34\x78\x72\x13\x21\x5b\xa4\xfe\xea\xc8\xd5\xd0\xd4\x36\xca\x62\x4f\x57\xfe\xd8\x69\xd3\x96\xf6\x73\xce\x2b\xa5\x93\x28\x3c\xea\x70\x30\x08\xe9\x67\xbc\x24\xf1\x19\x77\xd1\xfa\xd1\xa9\x69\xdb\x00\x28\x79\xbc\xd4\xa2\x1e\x00\xdc\xd7\xb8\x35\xd1\x5d\x86\x76\x4c\xb7\xc3\x30\xe6\x52\x0a\x30\x2c\x48\xe4\x1d\x9c\x11\xa0\x9e\xc6\xd8\xf7\x59\xfa\xb4\xb2\x14\xa9\xc8\x2f\x7d\x25\xfb\x76\xd2\xb6\xec\xe6\x89\x0b\xd5\x6f\x86\xa7\x91\x85\xe7\x57\x68\x0f\xf4\x89\x21\xe4\x37\x1c\x79\xec\xa6\xdc\xfe\x88\xc2\x82\x61\xb7\xe8\x3a\xd9\x81\xd4\x61\x04\x59\x61\xa3\x45\xa2\x69\x09\x29\xe9\x08\x2a\x5e\xa6\xc5\xd8\xff\x54\x92\x1e\x91\x6b\x61\xbe\x0a\x9c\xc0\xf0\x8a\x3e\xbe\xeb\xd5\xe7\xb8\xfd\x86\x6a\xc8\x0a\x35\x2e\xf9\x1a\x4c\xba\xa5\xed\x9f\x6b\x30\x6b\x60\xee\x9b\x91\x11\xc8\xbc\xe9\xa2\x05\x65\xf9\xb2\xf8\xcd\xad\xee\x91\x23\x1c\x59\x41\xc6\x4e\xac\x96\xf4\xa5\x20\x26\xc2\x83\xa0\x18\xdc\x2e\xd0\x54\x20\x0b\x63\x46\xdb\x8d\xb5\xee\x8c\x87\xe1\x58\x50\xf3\xe2\xf1\xfc\xdd\x78\xb9\x78\x82\xce\xb3\x72\x98\x2e\x37\xe5\xf5\x54\x7f\xfe\x6d\x0b\x16\x66\xbd\xcb\x58\x02\x63\x20\x30\x82\x58\xa9\xfa\x8b\x4c\x48\xcb\x41\x55\x33\x59\x3e\x03\x08\x6c\xa7\x15\xb2\x2b\x9b\x46\x0c\xb1\x73\xd9\xe6\x69\x23\xea\x52\x48\x2f\x5c\xc4\x17\x2e\xf3\xf3\x57\x3d\x75\x82\x44\x83\x57\x8a\xbb\x33\x86\x9e\x2f\xb2\x22\x2b\xa1\xe7\xac\x2a\x51\x9b\x91\x19\x11\x32\xb5\x1e\x59\xa2\x14\x8e\x68\x1c\x97\xb5\xdf\x21\xcd\x76\x59\x5e\xd6\x97\x91\xf2\x9e\x03\x59\x6a\x16\x2f\xd1\xaa\x36\xa0\x7a\xc8\x43\x8a\xe9\xa5\x5f\x81\x59\x0d\x7a\x09\x57\x08\x96\xe1\x5a\x60\xfe\x0e\x1d\x15\xa1\xb8\x93\xc3\x98\x24\x83\x1b\x9f\xd7\xdc\xae\x49\x5a\x79\xba\x14\x70\x06\x44\x76\x54\x9f\x79\x4e\xd2\x19\x19\x46\x28\x79\x91\xe3\x89\x32\x1b\x4e\xb9\x26\x4a\x0f\x4a\x04\x72\x47\xc8\x2d\x97\x68\x20\x29\x04\x59\x79\x3a\x55\xb0\x0d\x4d\xa1\x02\x92\xb4\x14\x1d\xcf\x94\x60\x83\x72\xcc\x04\x62\xcd\x6b\xcb\x72\x4d\xf2\xb0\x47\xe2\x12\xdc\xc2\xfd\x2e\x59\x15\x3f\x12\x4b\xbf\x9f\xa0\xfa\x05\x7c\x26\x77\x04\xbf\x5f\xcf\x24\xe4\x3d\x64\x35\x3c\x5c\xee\x16\xfa\x8b\xd3\xe0\x32\x0e\x8c\xa4\x8c\xe3\x75\x34\x16\x83\x8f\xa4\xd9\xef\xad\x92\xd4\xde\x1a\xab\xfb\xc5\xc2\x86\x42\xcc\xa9\xef\xcd\x2f\x95\xbf\x0c\x80\x56\x6e\x91\xda\x7b\x94\x09\xc2\xa8\x16\xc6\xf1\xb9\x2a\x20\x5e\xc8\x30\x39\x99\x5e\x72\xb3\x1d\x1d\xd1\xc1\x1c\x99\x47\x3f\xde\xa3\xf0\x67\xf9\x9d\xad\x98\x11\x3b\xb3\x5f\x81\xba\x76\x39\xe2\x8f\xc0\x6e\x35\xfb\xa2\x13\x98\x0f\x32\x9c\xb8\xdd\xc8\xf3\xf9\x3e\xa2\x3c\x58\x93\x61\x76\xc5\x60\x76\xf4\x1a\xb6\x43\x85\x70\x51\x50\xe5\x26\x4c\x33\xd1\x77\xb7\x46\xf8\x85\x88\x33\x46\x46\x47\xd9\xf5\x4f\x98\x34\xf8\x23\x91\x65\xe5\xf2\xbe\x40\xb1\xee\x9a\xb7\x8c\x31\xc7\x3e\x33\x5b\x74\xd6\xed\xdb\xa4\xf7\x46\xc8\x34\x3a\x78\xfc\xc2\x30\x65\x5f\x46\x7a\x20\x11\x9e\x0d\x75\xb6\xf4\x49\x0c\xb9\x96\x29\x26\x45\x3f\x78\xe5\x1f\x03\x47\xc0\xe4\xba\x52\x02\xf1\x12\x62\xc1\x8b\xa5\xea\x91\xd3\x0e\x2f\x78\x7b\x2c\xc9\xa1\x7b\xc7\x29\xd5\xee\x7f\xab\x74\x93\xd1\x1c\x56\xfe\xbd\x49\xbf\x8d\xd6\x95\xdf\x24\x14\x0d\xa0\xf5\x61\xf0\xd4\xaa\xaa\x79\xbc\xf5\xce\x3a\xe1\x27\x85\x96\x18\xde\xd7\xe6\x18\x8f\x32\x21\xb8\xc3\x71\x3c\xe2\x4d\x70\x66\xc9\x5e\xc9\x7a\x81\x5e\xf4\xd7\x04\xab\x5f\xfd\xd4\x4a\xc5\xd9\xde\xad\x1d\xf3\xf7\xb5\x8f\x5e\xcd\xf8\x5c\x45\x52\xf3\x6e\xc4\x35\x31\x3e\x72\x05\xcb\xcc\x0c\xf9\x7f\x21\xd3\xc9\xa2\x93\xde\x01\xa7\x29\x98\x98\x7b\x3f\x7d\x27\xbc\x04\x8c\x1b\xfc\x5e\xc9\x67\x4e\xfa\x43\xe0\xcc\x85\x52\xdd\x95\x8e\x3f\xf4\xf3\x3a\xe3\x30\x6e\x16\x96\x36\x4e\xce\xbf\xd1\x31\xf6\x44\xdf\xbb\xf1\x61\xec\xfd\xbf\x0f\x9f\xd6\x39\xd5\x78\xec\xcd\x10\x0a\x8e\x87\x53\xca\x2b\x82\x01\x38\x76\xbf\xce\x82\x99\x58\x54\xb5\xad\x71\x0e\xf5\x77\x67\x2c\x88\x50\x70\xa0\x6e\xd4\x85\x09\x0b\x41\xd5\xe4\xbc\x7b\xec\x15\x34\x8b\x47\x1f\xed\xba\x4a\xa5\x36\xc7\x9e\x8c\x55\xb7\x6b\x8d\x46\x1c\x20\xbc\x8d\xc2\xd8\x85\x25\x95\xc9\x01\x5e\x0a\x93\xd1\x26\x5e\x45\x95\xfa\x91\xb1\x97\x9a\x54\x56\xfd\x2d\x00\xfc\xed\xff\x77\xf7\x3f\x7c\xb3\xef\xf6\xaf\xd3\x5f\xf6\x19\xf7\x26\x25\xa9\x52\x58\x75\x4d\xe9\x82\x18\x2c\xc1\x90\x11\x3e\x2a\xd9\xaf\xed\x08\x41\xd5\x1a\x9a\x16\x1d\x6b\xa3\xd1\x3a\x18\xa1\xe8\x7c\x15\x4e\x59\x95\x74\x4f\x53\xc6\x6d\x90\x0c\x51\x2a\x62\x6b\x69\x6f\xc2\x5a\xf8\x20\x59\x94\xea\x05\xf4\x08\x1a\x57\xbd\x82\xea\x9d\xca\xf3\xc7\x5e\x30\x17\x13\x28\xea\x8f\x16\x29\x02\x6c\xc9\x02\x7f\x35\xe3\x21\x1b\x44\xae\xa9\x12\x6d\xde\xb3\x1b\x6f\x84\x46\x36\x9b\x09\x0f\x48\xaf\x5b\xb4\x0d\x45\x2f\x00\x9e\x27\x99\xe3\x51\x95\x5c\x0e\x53\x9c\xfd\xe5\x1c\x8c\x70\x2a\xe7\x7e\x9a\xcd\xcd\x79\x01\x5f\xaf\xb8\xea\xf4\x8e\x61\xb7\xfb\x75\x77\x7f\xf0\x70\x77\xf0\x7f\xbf\xc7\x04\xcf\xaf\x08\xff\xd2\xf1\x0b\x97\xd3\xdd\x1f\xe6\x84\x94\x4f\xb4\x89\x68\x75\x87\x87\x35\x56\xcd\x71\xa6\x67\x86\x3c\xc1\x95\xb6\x5a\xdb\xca\x15\x7e\x7b\x3b\xe8\x1f\x32\xa4\xa0\x34\xc0\x0f\xec\x87\x5b\x3e\x28\x69\x9b\x13\xfc\xf2\xb1\xe7\x27\x1b\x6d\x10\xa2\xbc\xc1\x2e\xf3\xb0\xaf\x8e\xe5\xc2\x06\xa1\xf8\x9c\x0f\xd9\x05\x27\x0c\x5a\x6d\xaf\x08\x9e\x7c\x2d\x1a\x49\xb3\x10\x48\x27\x41\x63\x5b\x51\x27\x8e\x01\x6d\xf8\x9a\x7b\x27\x67\x4c\x32\xca\x47\xd8\x95\x76\x38\x46\x6b\x07\x3b\x54\xb1\x22\x28\xb7\xf9\x6e\xc3\xd1\x8f\xdc\x64\x86\x74\x3d\xc2\x6b\x8c\x37\x69\xdb\xa9\x97\xb0\x9b\x20\xb5\xce\x0d\x3e\x27\x49\x94\x12\x9b\x15\xe3\x7d\x73\x98\xcc\x82\x0b\xeb\x1a\xde\xd2\xe7\xbb\x6d\xe5\xdc\x87\xb6\x2a\x34\xc7\x25\xb1\xbc\xa2\x91\xb7\x52\x48\x1c\x58\x99\xb3\x12\xb9\x6b\x7e\x78\x87\x7d\xfd\xd9\xd6\x49\x9c\xb4\x2c\x6b\x9c\x05\xcd\xb2\x36\x29\x4f\xb9\x33\x25\x91\x4d\x8e\x1f\x50\xc2\xd4\xcd\x63\xfd\x0e\x57\x40\x63\x6b\xb7\x4d\x60\xb1\x51\x12\xff\x49\x59\xd8\x97\x15\x84\x70\x5f\xb4\xb3\xdc\x19\x00\x60\x52\x9a\x93\x07\xae\xef\xeb\xc5\xdb\x78\xac\xeb\x89\x71\x83\x5c\xbf\x67\xbd\xf9\x35\x5c\x31\xd4\xf4\x1f\x2d\x81\x54\x36\x8d\xf3\xcf\x83\xb7\xf7\xf6\x9a\xb9\x33\xff\x46\x1b\xd2\xc3\x61\x97\xc9\x9d\xc5\x1e\x33\xad\x33\xea\x65\x83\xa5\x78\x24\xd4\x62\xa2\xa1\x4b\x55\x42\xa0\x36\xdd\x05\xb1\x1f\x6e\x7d\x86\x45\xea\x2d\x82\x37\xd7\x3b\x2c\xb9\xc8\x8d\x3a\x3b\xd7\x06\x74\x8e\x18\x9a\xa0\x3e\x31\x0a\x78\xc1\x71\xe3\x00\xa5\xe1\xf6\x13\xe4\x6f\x27\x8a\xfe\x6f\xef\x94\xcf\x79\x5f\x2b\xb5\x11\xcf\xf4\x59\x99\x4d\x38\xe9\xf6\x40\x5f\xea\x90\x30\xee\x05\xc5\xae\x2b\xf7\xa9\x38\x9e\x12\x1c\xf2\x84\xf2\xf5\x40\x4f\x3a\xee\x94\xa4\xa1\x19\xb6\xd7\x6e\x68\x8f\x9e\x04\x94\x96\x04\x76\x1e\xc4\xf9\x47\x53\xf7\xe0\xcf\x74\x2e\xed\x7c\x1c\x21\x09\xf8\x75\xe3\x81\xfd\xed\x32\x5e\x0f\xe2\x58\x5b\xa2\x63\x6f\xcb\x77\xb4\xcc\x77\xe5\xb2\xff\xbd\xbb\x10\x4a\xf2\x94\xff\xd4\x69\x4f\xaa\x1b\xba\x86\xae\x35\x64\xe5\xbf\xe9\xac\x54\x58\xa8\x4a\xfc\x3f\xf0\x23\xb8\x56\x68\x7f\x9d\x8d\x92\xe3\x1d\x9a\x6b\x9d\x8f\xd6\x3c\x89\x2b\x32\x1f\xf4\xf7\x69\x42\x54\x9f\x2b\x22\xb2\x03\x4e\xf5\x55\xfa\xca\x6e\x27\x63\xd4\xc6\xc4\x63\x8d\xf8\x5b\xa2\xb8\x89\x8a\x6c\x57\xb3\xf0\x4d\x07\x2d\xa2\x5b\x27\x86\x90\x8c\x09\x73\x36\xd0\x8f\xbd\x81\x22\x05\x41\xa8\x7f\x1b\x8d\xda\x0f\x4c\x4a\xd8\xb0\xb2\x89\x56\xcd\xa7\x7e\xe3\x1b\xb0\x4e\x6c\x2d\x4d\xc6\x19\xe3\x76\x81\xb6\x11\xbf\xe3\x25\x45\x33\x11\x89\xde\x03\xdd\xff\x5a\x78\x8a\x1e\x99\x20\x14\xef\x36\x72\x59\xed\xbe\xcf\x9a\x50\xfe\x04\xa6\x81\x54\x27\x4c\x19\x08\x6f\x6b\x8b\x28\xfd\xf0\x7a\x2b\xc1\xf1\x0e\x52\xd5\xaa\xc0\x76\x04\xec\x2a\x56\xd4\x35\x2c\x20\xdc\xb6\x87\x00\x2b\xee\x31\xcc\xc8\xe2\xbb\x1a\xbb\x4c\x59\x1b\xa6\x8b\xdc\x52\x53\xa9\x56\x3c\x32\xb0\x54\xe9\xd9\xc8\xbe\xc2\xa4\x8a\xd1\xfc\x87\x94\x6d\xdc\x86\xc8\x0c\xa3\x1c\x3d\xbf\x5e\xf5\x77\xdc\xae\x04\x96\xf1\x9c\x4b\xab\x50\x29\x43\x2e\x9a\xcb\x90\x0a\x3c\x92\xd5\x09\xb7\x34\x54\xbc\x82\x37\x89\x76\x99\xf2\x62\x55\x50\x46\xda\x59\x96\x28\xab\x16\x55\xf3\xdc\xbd\x9f\x16\xd4\xa0\x50\xb2\x83\x40\x4b\xd1\x18\xee\x12\x13\x66\x14\xe6\xdf\xfa\xbf\xe8\x36\x39\x70\xbf\x33\x45\xeb\x53\xd5\xec\x84\x7a\xe3\xae\x00\x38\x3f\x15\x90\xf9\x47\xb0\xe4\x96\x84\xbd\xbd\x47\x48\x1f\x8b\xce\x3b\x40\xb8\x67\x38\x2e\x90\x12\xd7\x2f\x13\x10\x06\x18\xf9\x48\x30\x62\x46\x73\x0a\x14\x9c\x59\xcc\xfb\x4a\xb2\xce\x5c\xc6\x48\x00\xfb\x2d\x17\x07\x0c\x96\x0b\x6f\xae\x01\x26\x68\x55\x9a\xcd\xb4\x7d\x00\x8a\x6f\xd7\xf7\x53\xd9\x5a\x53\x11\x2e\x11\x99\x04\xa4\xf7\x37\x0e\x09\xad\x19\x6f\x6e\x35\x4f\xb4\x43\xfc\xca\x5e\xd9\x9d\xf9\x61\x2a\xaa\x2e\x1d\x1b\xa2\x38\x71\xd7\x41\x46\x2d\xbc\x85\xaa\x6d\x9c\xcf\xc2\xf9\x63\xa0\x7e\x93\x17\x85\x65\x77\x78\x0f\x01\xbc\x6b\x19\x19\x50\x44\x90\x58\xe4\xcf\x6f\x91\x7c\xa7\x0d\xe6\x11\xa7\x9b\x19\x01\xb5\xe7\x2c\x9e\x93\x77\x46\x06\x2a\x81\x9e\x52\x20\x13\x22\x62\x43\x39\xbe\xf6\xfb\x80\xf9\xf5\xda\x27\xa3\x87\x2c\x44\x47\xc8\x19\x6a\xa4\xf0\xb5\x4e\xd5\x47\x4e\x71\x5b\xb3\x58\x3a\xde\x1d\x15\x7b\x4f\x32\xeb\x3b\xa4\x61\x84\xdf\x7e\xbd\xef\x3a\x66\xbd\x1b\x41\x93\xad\x6a\xdf\x08\x8c\x1e\x02\x03\xc2\x4a\xf2\x4f\x2f\xe1\x11\x59\x35\x50\xec\xe5\x32\x64\x28\xfc\xdd\x63\xb9\x80\xc9\xc2\x75\xe1\xb6\xad\x51\xb8\x85\x35\xca\x58\x7d\x3e\x2e\x63\xb3\xd0\x5e\x8e\x32\xe6\x1d\xe7\xac\x64\x77\x89\x4b\x9a\x83\xd0\xa5\x7f\xf2\x37\xc8\x5c\x22\x98\x2f\x7d\x34\x4a\x33\xa7\xd5\x80\xb8\x5b\xdc\xe5\x31\xca\xf0\xa7\xcd\x20\xbc\x94\xea\x6f\xcb\x4a\x05\x1b\xdb\xe2\x78\xee\xc4\xac\x9f\x0b\x8b\xa4\x0a\x99\x9a\x51\x78\x94\xc0\x44\xe5\xc3\x42\x8f\xdf\x3a\x3e\x25\x4f\x27\x28\x5a\x60\x2b\xa0\xd2\x2b\x01\x8f\x86\x97\xab\x13\xc2\xa2\xe2\x13\x11\x1b\x89\xaa\x5e\x90\x53\x84\x38\x41\x5a\xa2\xa3\x0a\xac\x44\x30\x64\x89\xee\x42\x7a\xd4\x80\x9d\xbc\x86\x32\x3c\x2e\xec\x21\xfa\x4e\xe3\x8d\x56\x2f\xfb\xc1\x27\x67\xd6\x1c\x8f\x0c\xe7\x9e\x6f\x73\xc9\x32\xfc\x12\xa9\x85\x11\x24\x03\x5a\x80\x8c\x9e\x49\xbd\x27\xfe\xa4\x79\x71\x2f\x2d\x38\x8d\x2c\xa0\xd5\xad\xf6\xad\x62\x27\xf2\x9a\x7f\x77\x68\x7e\xbd\x3e\x1b\xd9\x87\xd4\x24\xbd\x07\xfc\x4b\x87\x70\x05\xfc\xfb\x54\xab\x92\x3f\x41\xaa\x57\x1b\x82\x9a\xf5\x61\xd3\xe7\xb0\x21\xe4\x78\xb3\xf9\x1d\x1a\x84\xbc\x0b\x4c\x24\xad\xb3\xa6\x6d\x4d\xdf\x88\xb5\xb7\x19\x9f\x0b\x36\x67\xaa\x22\xe2\x5d\xfe\xbb\xc3\xe5\xaf\xd7\xe7\x25\x40\x95\x7c\x73\x95\xbc\x51\xf8\x41\x23\x7d\xf0\x4c\xb8\x57\x57\x44\x53\x87\xae\x0b\xda\xd3\x61\x8b\x88\x84\x76\x1d\x91\xf0\xe2\x12\x22\x57\x3c\x51\x71\x62\x00\xf2\xd8\xd5\x04\x86\x42\x79\x41\x02\xdb\xf6\x75\x40\x67\x6c\x64\x0a\xe6\xdc\x72\xb8\x52\x90\xe0\x21\xde\xbf\x81\x4b\x97\xb9\x56\x70\x8a\x95\x0a\x08\x32\xb3\xca\xe9\x3f\x70\x1e\x25\x0d\x71\x1c\x87\x94\x65\x00\x66\x1b\x3e\x87\xc2\xb2\x50\xb7\xde\x06\x8c\xf4\xb2\xe3\x83\x51\xe1\xe1\x74\x66\xf1\x6f\xc8\xa0\x74\xc0\x58\x2b\xc8\xc8\x61\x3d\xdb\x1f\x51\xa5\x2c\x55\x70\xf8\x1e\x37\xe1\x0a\xa1\x86\xd9\x20\xc0\x31\xa2\x7a\x26\x36\x2e\x1c\x49\x41\xa1\xb9\xdc\x06\x26\xce\x62\xc0\xd0\xc7\xaa\x30\x61\x21\xe8\xaf\x96\xca\xe7\x9d\x5b\x3c\x16\x57\xcb\xe7\xc9\xc3\x1a\xc4\x3c\x24\x8b\x8e\xde\xf6\xdf\x1d\xb6\xbf\x5e\xdf\xdb\xaf\x56\xe2\x93\x3e\xc6\x86\x80\xb4\x14\x07\x3e\x48\xf1\xa1\x91\x90\x46\xc1\xbc\x1d\xdc\xf5\x8e\xd3\xeb\xbb\x40\x28\xc6\x95\x20\x7e\x3d\xcb\x87\xb6\x95\x66\x0d\x83\x24\x7c\xc5\x8e\xa2\xe2\x55\xdf\x58\xf4\x34\x36\xf4\xf4\x18\xc9\xf5\xc5\xc7\xe9\xe5\x79\x9e\xf0\x1a\x33\x16\x54\x0e\x97\x6c\xff\x85\x1f\x47\x94\xc2\x2c\xd1\x1c\x53\x43\x90\x01\xcd\x6c\x77\x34\x99\x01\x76\x6b\xdf\xe4\xdb\x28\xaa\x1e\xbe\xe1\x21\xc7\x83\xa5\x91\xa7\xbf\x54\x9b\xc5\xb2\x69\xb7\x35\x4d\xde\x0f\xc3\x89\x16\xf0\xa6\xf7\x37\x22\x36\x99\xf7\x20\x5d\x68\x5c\x24\xc8\xa5\x0f\x12\x84\x83\xd1\x8e\xad\xbf\xf0\x43\x90\x3a\x7e\x02\x87\xa8\xff\xad\xb9\x53\xa6\x53\xf5\x12\x2f\xf8\x05\x67\x98\x6a\xc5\x1d\x49\x20\x8f\x63\xcd\xd7\xd2\x0b\x1c\x74\x83\xbc\x1e\xa8\xc0\x1d\x12\x8a\x74\xed\x0b\x99\x4b\x30\xf5\xef\x9e\xfb\x18\x8f\x91\xc8\x80\x04\x91\xea\x40\xdc\x51\x41\x38\x06\x35\x92\x83\xaf\xee\xd4\x8a\x82\xc9\xe5\x1e\xf9\x3e\xcd\xd4\x66\x05\x10\xfb\xed\x56\xbf\x00\x3a\x3a\xcf\xc2\x81\x87\x04\x95\x67\x44\x30\x20\xd2\x70\x8d\x11\xa0\x85\x38\x21\xf4\x9a\xd4\x63\x86\xf0\x67\xdd\xf2\x3b\x00\x7e\xf2\x4b\x0a\x1c\xcc\xd2\x89\x66\xfb\xdd\xad\xdd\x8f\x9d\x9b\xf7\x56\xf7\x71\xb9\xb8\x5d\xe8\x23\x30\x56\x05\x7c\xe8\x47\xf8\xcc\x03\x36\x94\xcd\xaf\xe6\x13\x38\xf4\xf7\xc6\x0c\x4f\xa0\x46\xef\xb6\xee\xb6\x29\xf2\xdb\x46\x92\x54\x3d\x80\xf3\xe5\xb0\xab\x90\xe4\x29\xc6\x82\x64\xec\x2e\x6a\x0d\x99\xbd\xae\xc5\xe3\xd4\xfc\xf1\x52\x69\xe3\x14\x85\x90\xf4\xdf\x0f\xe3\xe9\x93\x4f\x29\x88\x74\xca\x35\xb1\xb0\x4c\xdf\xe0\x1c\xe7\xb2\xd4\xbf\x90\x10\x37\x73\xa4\xa5\x25\xd4\xee\xa6\x91\xa4\xc4\xc8\x73\x39\xde\x4e\x2d\x17\xcb\x53\x4d\xd5\xa4\xd8\xbd\x05\xcf\xac\xfe\x80\xad\x67\x23\x67\xd1\xb5\x5c\xfd\x7e\xa3\x9f\xc1\x91\x31\x50\x6a\x12\x0e\xc0\x32\xae\x42\x44\x35\x4d\x8e\xef\x9b\xc0\x4f\xeb\xef\xf5\x8b\xd2\xef\xec\x87\x19\xb1\x0e\x4b\xd1\xb5\xb2\x35\x75\xb6\xcd\xd1\xf6\x28\xb7\x16\x95\x45\xc6\xcf\x7e\x59\x12\xf9\x18\xa7\xfa\x30\xd5\xc2\x29\xeb\x57\x0f\xf9\x07\x46\x65\xd3\xb8\xfa\x4c\x3a\x53\xa5\xc1\xd1\x4c\x03\x83\x5d\xf5\xc7\xc1\x60\x22\xf5\x53\xe9\x4f\x05\x94\x77\x16\x75\xe4\x64\xe6\x18\x86\xf7\xe6\xdf\x1d\xde\xfc\xba\xef\xdf\x0c\x2d\xc9\x1c\x88\x01\xfc\x76\x52\x03\xae\x5c\xe9\x3f\x5e\xee\x6f\x03\x7c\x1a\xa8\x66\xb2\x98\x03\x26\x8b\x52\x98\x75\x66\x6f\x3e\x10\x13\xef\xa1\xa7\x20\x3e\xef\x55\x8d\x90\x78\xed\x5d\xe1\xf7\x51\xfe\x38\x4f\x85\xc5\x3f\x2f\xcc\x0e\x66\x31\x95\x16\x7c\x07\x2e\x87\x1f\x5d\x45\x96\x88\xf4\x05\x1b\xfd\x4c\x3b\x90\x04\x09\xf1\x36\x0e\x19\x43\x0c\x22\x28\x65\x76\x08\x5f\x48\xac\xa7\x93\xb4\x96\x83\xe3\xda\x3b\x93\x0e\x33\x81\x2c\x3c\xf6\x9f\x7e\x26\x7e\x10\x54\xcd\x1c\x36\x20\x60\xa9\x27\x7a\x7e\x9f\x1a\xf2\xfd\xa7\xa0\x38\x06\x94\x14\xf5\x4b\x90\x7f\x2c\xbc\xe3\x91\x7e\xa6\xc8\xe3\x9f\x6d\xf2\x21\x79\x49\xed\x36\x0c\xab\xb3\x31\xf4\x67\xe0\x41\x56\xc3\xfa\x6c\xa6\x11\xe3\xae\x36\xad\xfb\x99\x5a\x24\x76\x08\x53\xf4\x31\x0d\xc5\xeb\xeb\xf7\x92\x2d\x4c\xbd\xfd\x5d\xfa\xb9\xc2\xd4\xcc\xfb\xf4\xbb\x27\x2e\xbe\x2a\xc6\x48\x5d\xee\x1f\x6f\xcc\x6f\xef\xb3\xf8\x40\xad\xa1\xdc\xb2\x39\x6b\x22\x3f\x55\xc6\x00\xe7\x69\xb1\x94\xc4\x52\x21\xf2\x8d\xdf\xf2\x0c\xa8\x5e\x59\x96\x5e\xf4\x46\x1c\x40\xc5\xce\x4e\x69\x50\xc4\x4a\x9b\x59\xd2\x7e\x90\xd8\xa1\x54\xe6\xc4\xd2\x39\xeb\x6e\xe9\x87\xe5\x6a\x42\xbb\x46\x1a\x28\x74\xb7\xee\x74\x79\xeb\x5a\x97\xdf\x24\xbb\x2c\x38\x29\xf8\x11\x19\x11\x5e\x4f\x78\x28\x08\xf5\x30\x6b\x12\x17\x3a\x5a\x14\xfa\x66\xb8\x9c\x52\xa5\x8d\xef\xdc\xab\x87\x82\x8b\x70\x7e\x40\x3b\xfb\xa3\x7b\x8e\xb6\xe0\x2f\x7c\x41\x9a\x92\x8a\x81\xb5\xa7\xc5\xd9\x3e\xdb\xf6\x60\x8e\x84\x19\x7d\x54\x82\x20\xdb\x27\x81\xb8\x76\x10\x70\x6d\xc1\xe3\xda\xc3\x88\x1c\x7e\x5c\x34\x43\x31\x89\x6e\xc2\xbe\x96\x47\x38\x38\xa2\xaf\xd6\x56\x76\x05\xaf\x6b\xed\x3b\xf3\x44\x1c\x47\xe0\x29\x3c\x55\x06\xf0\xe5\x22\x9a\x77\xf1\xdc\x59\x12\x2f\x01\x8c\xe9\x17\xbc\x59\xde\x6d\xa5\x9a\xde\x83\xa8\xdc\x11\x03\xee\x94\x01\x95\xde\xc9\xa7\xa4\x58\xf9\x1e\x4f\xc8\x53\xdd\xbb\x20\xc9\x90\xeb\x5f\xb2\xce\x83\xe5\x5b\x62\xe4\x5e\xe5\x05\xee\x53\x9a\x88\x12\x7d\x63\x78\x9f\x8a\x9a\x5d\xcc\xbe\x0a\xbe\x90\x0c\xf1\x4d\x29\x33\xbb\x0f\x48\xb2\xb7\xf2\x22\xe4\x42\xfc\x13\xb8\x25\x45\xb9\xaf\xc6\xc6\x61\x95\xd9\x53\x11\x8a\x1e\xde\xfb\x7f\x77\x78\xff\xeb\xf5\xfd\xfe\x19\xcc\xfa\x23\x88\x42\x1b\xbf\xe3\x5b\x96\x67\x09\x2a\x77\x7a\x5f\x50\x90\x10\xc3\x88\xf5\x8f\x08\x04\xa4\xed\x4d\xd8\x21\xb3\x9e\xcc\x86\x5d\xf2\x4f\x07\xa0\x26\xfd\xd6\xd9\x9e\x06\xc6\x10\xfa\x07\xa5\x2d\x11\xbd\x78\x24\x66\xe9\xa9\xa0\x0b\xbb\x02\x88\xc1\x59\xf1\xf6\x4d\xee\xd1\x11\xfd\xbe\x01\x3f\xdd\x07\x09\x6b\xf5\xf2\xa9\x1b\x42\x15\xfb\x50\xfd\xd3\x4f\x3e\xf4\xcd\x7b\x18\xd2\xc4\xc3\xf9\xc4\x10\x0a\x68\x3f\xec\x38\x16\x6e\xb5\x52\x93\xb7\xf0\xfa\x54\x75\x91\xd6\xa9\xe4\xeb\x5d\x17\xa9\x54\x2a\xac\xe9\x45\x08\x8e\xd0\x32\x05\x76\xd0\xde\x67\x26\xc0\x75\x2e\x50\xab\x31\xff\x19\xac\xb2\xb0\x35\x90\x19\x75\x0c\x02\xcf\x75\xdb\x8c\xf9\x22\xb2\xee\xb3\xd0\x1b\x65\x58\x01\xcd\x1c\x15\x70\x95\x38\xad\xda\x0d\xb5\x0e\xe9\xf8\xe0\xbb\x4e\x39\x9f\xe4\x40\x45\xfc\x57\x2f\xc3\x68\x45\xda\x82\xf9\x2c\x78\x97\x63\xea\xb9\xa8\xeb\x70\xf6\x6e\x12\x8f\x30\x24\x48\xee\x56\xfb\xbb\xd1\xa5\x21\x35\x07\x0e\xe7\xdc\xcb\x69\xa4\x08\x6b\xce\xb6\x70\xae\x99\xc6\x44\x68\x9c\x02\x39\x47\x28\x7e\xe1\x93\xbb\x2e\x18\x57\x05\xf4\xcb\x44\x2e\xee\x00\x44\x38\xdf\xbc\x56\xf4\x06\xc1\x77\x60\xb2\xa6\xa7\x8e\x93\x49\x93\xe6\x68\xb8\x07\x8c\x36\xfd\xca\x79\xf6\x67\xd0\xba\x91\x59\x0c\x0a\x49\xc5\x38\x91\xbd\x2d\x27\xe7\xc0\x07\x99\xea\x9b\xc7\x98\xda\x0e\x76\x8c\xb8\x1c\x34\x39\x44\x81\x7a\x8d\x41\x70\x5f\x82\x80\xed\xbf\x2a\xac\xfd\x3c\x6c\xad\xe1\x50\x96\x5f\xf5\x77\x82\x5b\xab\xe1\xfe\xdc\x3e\x9a\xf0\x19\x5d\x22\x86\x43\x69\x7f\xd5\xe7\xc6\xca\xe6\x9a\x52\xf1\x48\x82\xbe\x9b\xe6\x29\x38\xd5\x74\x0e\x92\x1b\xfd\xdf\xcf\xc0\x7b\x29\xf1\x14\x36\xc1\x17\xc8\xa4\x28\x57\x96\x1e\xed\x6d\x69\xd2\xad\x0f\xb9\x4f\xc0\xc1\xea\xa5\xcd\x6f\x12\x37\x78\x07\xd2\xcf\x49\x56\x27\x19\x81\x4d\x14\xa4\x18\x3c\x9f\x42\x6c\x41\xaf\x20\x46\xb0\xed\x6c\x26\x59\x63\x05\x62\xc6\xf7\xe8\xe5\x79\x22\xd9\x8c\x1f\xb2\x0a\x8f\xde\xa2\x14\xf8\xe1\x4e\x31\x84\x54\x0f\x67\x7c\x1f\x5c\xdb\x66\x4f\xcc\x48\xf8\xf9\x26\x39\x0e\x29\xbf\xec\x1c\xd7\xcf\x4d\x61\x82\x45\x5b\xce\xfa\xf9\xe7\x20\x52\x1f\xde\x9f\x61\x9a\x2c\xd8\xf7\xe7\x6d\xbc\x24\x87\x7b\x3f\xb5\x4a\xa8\xe3\x54\x82\x68\xc8\xea\xf3\x32\xbd\xc1\x18\xa1\xc0\x47\xb4\x61\xee\x99\xc9\xba\x3d\x38\xa0\x3c\x01\x83\x1b\x17\x1f\xde\xe4\x8d\xbd\xf7\x41\x5c\x64\xf5\xb9\xb0\x1f\xa7\xcf\xf2\xfc\xe0\xfe\xbc\x53\xd0\x94\xe4\x6a\xef\x66\x9e\x3b\x87\x5c\xad\xa7\x98\xc7\x4b\x6e\xa0\x61\xb3\x24\xea\xcc\x63\x0e\xb1\xd9\x9e\x43\x53\xad\x7c\xe9\x60\xde\x1e\x1b\x9e\xe3\x07\xee\xd3\xe7\x0a\xde\x08\x5c\x59\x7b\x57\x27\x0b\x37\xd7\x18\x4d\x18\xe6\x1d\x40\xaa\xcc\x15\xdc\x3f\x61\xa3\x65\x6b\x79\x6c\x9e\x5c\x59\x83\x1b\x89\xad\x35\x9d\xf7\x4b\x80\x51\x06\xd8\x96\x03\xa1\x3d\xdd\x38\x1d\x9b\xe0\xc1\x56\x14\x70\xaa\x70\x3d\xc5\x04\x2c\xf8\x4f\xc1\xa1\x1c\x07\xa2\x55\x07\x2b\xe3\x03\x2f\x48\xce\x57\x58\x4a\xe1\x17\x69\x3b\xe4\x22\xd2\x92\x01\x04\x97\x0f\x78\x62\x03\x48\xc1\x64\xe4\x02\xcf\x66\x7c\xe6\xea\x30\xab\xce\x24\x4b\xf5\x25\xc4\xc3\xd4\x36\x91\x81\xd8\x0c\x4a\x7f\xa6\xa5\x65\x53\x78\xb7\x98\x7b\x10\x54\xb1\xaa\xe4\x82\x17\x56\x08\x07\x5e\xb2\x0d\xec\xea\x03\xac\x14\xc7\x9f\xe5\x79\x11\x67\xcc\xb1\xa0\x3e\x5f\xdf\x93\x9d\xaf\x56\xe3\x31\x74\x52\x43\x06\x1b\xc9\x26\xe3\x82\x82\x44\x36\xc9\x72\x79\x2b\xb7\x38\x87\xcb\x9d\x2e\x57\x9c\x45\xfa\xcb\xd1\xaf\x35\x16\x2c\xbc\xb0\x19\x1b\xab\x5e\x80\x24\x5f\x2c\x83\x90\x07\x31\x00\x16\x64\xe5\x03\x2b\x91\x68\x93\x2d\xe4\x79\x0d\x5b\xd9\x54\x99\xb2\x56\xab\x88\xae\xb1\xda\xfb\x01\xc9\x6d\x1e\xf4\x30\x8e\x1a\x8a\xe4\x22\x7c\x4d\xf7\xcd\xf5\x76\x9a\xd2\xa2\x92\xbf\x00\x29\x8e\x1e\x16\x92\x17\x7e\x28\xcc\x78\x0f\x87\x78\xaa\x41\x07\x9e\x93\x0c\x71\x99\xd7\x20\xd4\xcc\xc0\xf5\x72\xcc\xb1\xbe\xaa\xed\xa3\x70\xf2\x81\xe3\x90\xb2\x47\x4c\x21\x71\x28\x2c\xd9\x97\xbd\x12\xf9\x10\xce\xd9\x7a\x29\x88\x42\x66\x62\x26\xd7\x91\x62\xf3\x70\xee\xce\x53\x81\x8c\x9e\x17\xfb\xcb\x54\x3c\xbc\xab\xc2\x7c\x7e\x55\x6a\xce\x45\xc1\x3c\x5d\x96\x42\x51\x82\xb3\x98\xfe\x29\x1b\x06\x64\xf9\x40\x99\xb8\xcd\x07\x04\xe6\xce\xd0\x1a\x2b\x53\x74\x3b\xc9\xf4\xe7\xbd\xc9\xf5\xf0\xff\xb5\x64\x75\x48\x5d\xa9\x7c\x3b\x48\xa3\x83\x48\xa2\x00\xb2\x35\x2c\xb3\x6a\x9e\x2d\x92\x2c\x82\xd9\x92\xd1\xcf\xfa\xed\xb6\xdb\x40\x29\x09\xd2\x98\x90\xdc\x97\x66\xc1\x9e\x61\x60\x08\x58\x7e\x5f\xf5\x32\x97\x60\xa6\xd3\x0b\x81\x08\x91\x17\xbd\xb5\x01\x01\x85\x63\x26\xaa\xd7\xea\x5a\x55\xd1\x87\x27\xe4\x61\x36\x24\x22\x34\x6a\xa4\xb9\x66\x70\x9c\x67\x4f\x25\x31\xd7\x01\xd2\xb3\xa5\x13\x17\xca\x05\x6c\xb1\x78\x5a\xa8\x1e\xfe\x10\xce\x7a\xc7\x43\x6c\x2a\x86\x08\xe3\xdf\xd1\x49\xe8\x64\xd6\x48\x02\x8e\x44\xec\x18\x40\x17\x1e\xd9\x56\x7f\x8a\xa1\x21\x44\xcb\xc7\x66\x89\xc7\xfd\x3f\xe6\x7b\x6b\x74\x7b\x48\x19\x00\x6b\xb3\x4b\x10\x63\x0e\xec\x84\x76\x43\x1d\x36\xba\xa4\xfb\x61\x4b\x9a\x79\xe8\x8d\x5c\x31\x86\x03\x5a\x07\xa2\x68\x97\x09\x9c\x68\xde\x73\x69\x55\xee\xef\xd2\x68\xf0\xbe\xb2\x2e\x78\x00\xb8\xeb\xa4\x15\x05\x41\x21\xb6\xcb\x9a\x0d\x06\x0a\x59\xc4\xd9\xb0\x80\x2f\x66\xcf\x0a\xea\xe9\x0f\xe9\x6c\x77\x3d\xc4\xba\xea\xb4\xce\xb1\x59\x71\xf1\xa0\x2a\x7d\x3e\xc8\x0d\x9e\xab\x43\x47\xb9\x09\x6e\x55\x17\x1e\x0f\x4a\xa7\x13\x4d\xd8\xbf\x7e\xcc\x68\xf3\xbe\x9f\x01\xce\x15\x5d\xbc\x36\x5b\x79\xa3\xf3\x19\x60\x1d\xa4\x1e\x90\x4b\x23\x85\x0b\xe8\x62\x5d\xe3\xe5\xea\x26\xf5\x8f\x27\x3f\x24\x33\xdf\xe5\x10\xfb\x2a\x42\x28\x70\xca\xfd\xdb\x0e\xd9\xb7\xfd\x97\xd3\xdd\x86\x0c\xfd\xd9\x21\x52\x37\x31\x1d\xb3\xee\xf4\x67\x6b\xf4\xb0\x83\x12\x0f\x80\x8d\x30\xe4\x79\xae\x39\x96\x15\x11\x5f\x8e\x83\x37\x5d\x7b\x06\xb5\x36\xf0\x21\x89\x51\x7a\x4d\x74\x9a\xe5\xe4\x8f\x77\xa5\xe7\xc9\x8d\x2a\xb1\x2c\x25\x1c\xeb\x04\xc4\xe8\x91\x26\xc2\x56\xa0\x4c\xf8\xda\x78\xcd\xb6\x3e\x21\x69\x65\x8d\x33\x3b\x9b\x6e\xae\x70\x69\x32\x6c\xbd\x33\x5b\x06\x8d\xfc\x09\x49\x61\xe4\xeb\x59\x5e\x43\x8b\xab\xbb\xa6\xc1\x5e\xb3\xcb\xfc\xe0\x61\xd3\x3e\x9e\x1a\x9c\x94\xbf\x38\x31\xd7\xe6\xe9\x0c\x3e\xfa\x73\xfc\xa1\x39\xc4\x9a\xa5\x2f\x90\x27\x4e\x2a\xc9\x68\xe2\xfe\xc5\x51\xea\x26\xfa\xe8\x13\xf0\x08\x6d\x1c\xce\xc9\xef\x21\x59\xfc\x7d\x4b\xfa\xd8\x98\xe7\x39\x26\xb4\x9a\xd0\xd8\xe7\x60\x7b\xa3\x84\x99\xb0\x08\xba\xc7\x72\xca\xe2\xe0\xff\x79\x86\xa4\xbd\x8a\xfa\x72\x91\x64\x43\x67\xc5\x3c\x9a\xb1\x45\x51\xfd\x25\x95\x18\x61\xf8\x42\x6b\xa8\x91\x51\x2a\x19\x85\x1c\xb7\xf8\x74\x45\x7c\x98\xdc\x38\x9a\x6e\xb7\x00\x0a\x31\xc8\xb2\x14\xc4\x10\xaf\x92\xf7\x40\x40\x33\xef\xc7\xb3\x60\x35\x1b\xed\x91\xbd\xa7\x97\xe3\x43\x07\xc5\x5c\x3e\x36\x83\x45\xcd\x32\x07\x72\x38\xf2\xcc\xf6\x86\xf3\x0e\x31\xf0\x9b\xd2\x5c\x1c\x66\xa5\x73\x73\x9c\xeb\xf5\xb1\xb7\x38\xf8\xc6\xa9\x09\xca\x52\x22\xac\xb0\x3b\x82\x77\x9b\x6b\x5f\xf6\x2d\x4e\x0a\x54\xda\x25\x05\xed\xe3\x6e\x8a\xa8\xc4\x69\xbb\x09\x8f\x04\xc3\x65\x23\xc4\xbe\x75\x2b\x0b\xa4\xd7\x27\x85\x85\xab\x5c\xca\x5f\x33\x5b\x1a\x59\x2a\x86\x2a\x5d\x3e\x0f\x4c\x43\x42\xae\xc3\x68\xbd\x88\xe1\x2c\x9a\xba\x8f\x0e\x9e\x1f\x9d\x0a\xfc\xec\x9d\x81\xd9\xd4\x21\x37\x63\x7b\xee\x6d\x4d\x63\x73\x93\xd7\x1e\xf6\xc2\x6f\xaa\x26\xb9\x9a\x55\x47\x7d\x74\x83\x72\xd9\x0e\xf2\x6c\x50\x07\x9b\xbd\xb5\xb5\x9a\x1c\x21\x4d\x43\x67\x20\x4a\x8a\x3f\xf6\x2f\x26\x57\x3c\xab\x07\x58\xf7\xeb\x16\x43\x53\x0a\xc0\xe5\x48\x15\xa0\xe0\x64\x9b\x0d\xad\x2f\x36\xc0\xd2\x8c\x64\x40\x60\x9d\x27\x2a\x69\xa2\x30\xa1\x8f\xef\x35\xa0\x90\xe4\xa7\x7b\xa3\xaf\xa7\xc7\x25\x77\x5f\x0f\xc8\xd6\x44\x26\x6c\x92\xcb\x7c\x13\x9f\x53\x3d\x0e\x11\x23\x2a\x5c\xe1\x8b\x0f\x82\x87\xf6\x1e\x04\xe1\xa8\x88\x34\x2c\x73\x32\x55\x70\x26\xbb\xea\xc7\x82\xc7\x71\xc9\x81\xb1\xca\x45\xaf\x08\xfa\x74\x3a\xe7\xcc\x99\x45\x77\xe5\x06\xef\xbb\x86\x33\xe0\xe6\x6b\x9f\x78\xa4\x62\x58\x2c\xdf\x80\x45\xaa\x82\x27\x43\x88\x28\x4f\x48\xcd\xc7\x99\x04\x23\x7d\x99\x11\x85\x15\x5f\xbd\x47\x16\xd8\xf9\xf1\xd3\x3b\x18\x6f\x55\x61\x12\x28\xe7\xe8\x55\x50\xb2\x84\x90\x9b\xb2\x7d\xea\x3b\x26\xc6\x13\x0a\x80\x24\xc1\x94\x2d\x44\x98\x79\x83\xb3\x71\x52\xf3\xbd\x5d\x82\x02\x66\xdd\xb1\x27\x32\x76\x79\xdd\x03\x88\x2c\x32\x26\xd0\x34\xe1\x54\x76\x57\xde\xff\xb5\x7e\xf7\x4b\x25\x4a\x6c\x2c\x89\x3f\x97\xb0\x89\x6c\xfd\x76\x63\x82\x45\xec\x57\xdb\x07\xb0\x1e\xbd\x40\xb9\x59\x59\x91\x5b\x7b\xac\x9b\x39\xda\xde\x1c\x42\xeb\x89\x45\x8e\xb4\xad\x5e\xf5\xa3\x8c\xcf\x5c\x93\x1c\x51\xd9\xd9\xd6\x49\x5a\x28\x74\x9a\x4a\x9f\x3b\x6b\x85\xaf\xd1\x23\x58\xbc\xee\x4c\xdc\x9b\x46\x21\xd5\xdf\x7a\xa0\x14\x32\xab\x36\x2d\x81\x7b\x66\x29\x49\x3f\x23\xfc\xbb\x4d\xe5\xa2\xfc\x5b\x70\x53\x20\xc2\x10\x16\x2f\x45\x0e\xb2\xa2\x37\x3d\x35\x4f\xc5\x2f\x16\x19\x2d\x4d\xc5\xd7\xe6\x07\xbd\x0c\x7e\x17\x08\xb4\x87\xc0\xfc\x84\xf7\xaa\xcc\x7a\x82\xe1\x0a\xe4\xce\xcf\xc3\xd5\x7c\xfd\xe7\x9f\xa5\xd9\x4b\xf5\x9b\xa4\x05\x7d\x99\xc3\x2f\x31\xb6\x97\x7f\xf6\xff\x9b\x82\x3b\x57\xe5\xad\xd8\x57\x76\x98\xef\x23\x4b\x1b\xb7\xed\xe2\xd3\x1f\x8b\x60\xd3\x19\x3f\x3e\xf5\xd4\xa9\x4f\xfd\xd9\xac\x03\xd8\xd5\xf5\x3e\x37\x84\xd7\x91\x5a\x13\x98\xeb\x48\xe2\xe3\x3a\x88\x6b\xe2\x1e\x82\xfc\x14\xbd\x6e\x0e\xa9\xdf\xa8\x59\xe5\xd1\x3a\x99\x38\xae\x5e\xe2\xde\x39\x7e\x09\x27\x27\xee\xc8\x17\x74\x20\xa6\x31\xaa\x67\xaf\x46\x85\x1c\x46\x30\x1d\x65\x94\x98\x8a\xb6\xc0\x45\x9a\x38\xb9\xa7\xcc\x10\xc7\xb6\x1f\xa9\x43\x73\x4c\xc8\xd6\x7c\x8d\x8d\x0a\xb2\x40\x73\xb5\xb5\x37\xe0\x38\x65\x3c\xa0\xf7\xeb\x0c\xb7\xcc\x93\xdc\x18\x87\x61\x1b\x2d\x82\xc7\x4f\xa5\xaa\x5a\x8a\x46\xcd\x8c\x17\x4b\x09\xfc\x09\xc0\x3d\xaa\x26\x0f\xac\x7c\x70\xaa\x8a\x05\xfc\x2e\xd4\xb0\x95\x20\xfd\x2d\x8c\x12\xb9\x35\x6c\xae\x73\xb3\x66\xc9\xc1\x82\x3e\x9a\x25\xc3\xad\x69\xe6\xf6\xad\xbf\x3a\x93\x0d\x54\xb3\x89\xfd\xe3\xdc\xc2\x82\x15\x96\xff\x93\x87\x33\xf8\x5a\x1a\xe7\x7f\x4e\xb7\x0f\x24\xd0\xa8\x5d\xda\xd8\x21\xc1\x64\xd2\x89\x76\x5c\xab\xbf\xa5\xd9\x89\x7e\x0f\xa7\xdb\xec\x14\x18\x47\xda\xe3\xf1\x98\x84\xbf\x7b\xeb\x06\x22\xed\xf6\x80\xf2\x6f\xc1\xdd\xf6\x88\xf9\xdf\x82\xe7\x7b\xce\x3e\x22\xaf\x8a\x73\xb0\x3f\x33\x26\xad\x97\xa1\xc6\xbe\x1f\xdd\xa9\xaa\xc8\xa0\x9b\xeb\x91\x76\xba\x72\xf5\x8f\x3f\x55\x68\x48\x89\x23\x0f\xb5\x8f\x15\x31\xa1\x65\x55\x31\x0f\x96\x23\xf2\x07\x17\xe5\x9c\xdc\x7d\x96\xd6\x39\xce\xe4\x9c\xe6\x84\xf9\x1b\x9b\x83\xe3\x83\xca\xa3\x33\xae\x3a\x58\x8d\xd9\xef\x2d\x9e\xe8\xcc\xd0\xb7\x15\x73\x8e\x85\xdd\xec\x17\xd3\x3c\xe7\x1f\x2e\x26\x3b\x19\x18\x89\xf8\x70\x3f\xa5\x9c\xc8\x39\x52\x98\x92\xfe\xf7\x3d\x2b\x50\x34\x0f\x2e\xbe\xc7\x11\x97\xfe\xbf\x39\x72\x74\x23\xc5\x65\x3b\xae\x96\xb7\xb6\x31\xec\x56\x2b\x19\x78\x1c\xd1\xe9\xd9\x13\x0f\xdc\x2f\x69\xf7\xb8\x1d\x13\xaa\xf9\x03\x3d\xc4\xfb\xe7\xbd\x12\x55\x09\xfa\xb2\x70\x41\xdf\x03\x1a\xfe\x7e\x9c\x13\x06\xd9\xc6\x9a\xfb\xa2\x33\x6d\x5e\xcb\x8d\x75\x31\xcb\xd5\xf0\xfd\x68\xe8\xa9\xcd\xeb\x00\x11\x28\x4a\x83\x7a\x69\xb5\xf6\xe0\x20\x2a\x24\x75\xfa\x27\x50\x59\x21\x27\xfb\x88\xa0\x99\x53\x84\x5b\x31\xa6\xb2\xa3\x7e\xe9\x72\x9c\x71\xb1\x2a\x21\x6f\x00\xd5\x9c\x69\xdc\x76\xcf\x5e\x73\xab\xfb\xe8\xda\x7a\xfe\xab\x44\x0d\x36\x1c\x59\x65\x6f\x0e\x6a\x33\x80\x3a\x1b\x3a\xc8\xba\x5c\x10\x66\x2c\xa6\xd8\x35\x24\xde\x76\x61\x0e\x8f\xb7\x0d\xeb\x6b\xa6\xbd\xdc\xd0\x2e\x55\xe6\xe3\x33\x0f\xac\x40\x43\xa1\xef\x9b\x5f\xfc\x94\xfe\xbb\x75\xf7\x7f\xba\x2c\xfa\x4d\xd4\x2d\x9a\xce\xa9\xee\xde\x2f\xdb\x9f\xba\x4e\xee\xfd\xd5\xac\xb8\xa1\x60\x16\x45\xdf\x78\x6d\xef\x01\x79\x1b\x99\x0c\x85\x08\xf6\x08\x86\xc5\x46\x01\x15\x44\xfb\xf1\x80\x0c\x71\x61\xc4\x71\xa0\xe3\x06\x52\xcd\x6e\x49\x97\xa9\x6a\xab\x22\xcb\xaf\x99\x29\xc6\x4c\xd1\x85\x8d\x49\x33\x59\x2e\x97\xc7\x12\xf9\x01\x0c\x16\xf6\x65\x40\x85\x08\xb7\x8c\xc1\x4c\x39\xbb\x1b\x6f\xf1\x9d\xeb\x6a\xb6\xca\xa1\x52\xa9\xe7\x2d\x58\xf8\x89\x34\x43\xbe\xa7\xb6\x6c\x50\x35\x7f\x56\x9a\xb6\x0b\x25\xde\xf2\xd8\x9d\xe4\x72\xdb\x94\x3c\x7b\xf7\xf8\x9b\x87\xbb\x4f\x3c\x20\x6e\x37\x64\x30\x3c\x2a\x64\x6d\xe6\xcc\x71\x4f\xc0\x53\x03\x16\xf5\x3e\x72\x7f\x1b\x05\x28\x3f\xf1\x19\xc7\x7b\x1e\xb8\x09\x26\xaf\xb3\xbe\x2d\x2c\x6c\x8d\x66\x97\x8d\xc2\xac\xa5\xb4\x58\x1c\xf4\xd0\xa7\x29\x23\x6a\x84\x12\x5f\xe9\xbd\x92\x5d\x26\x4e\x89\x8a\x6b\xdd\xfc\x3b\x21\x60\xb6\x4d\x97\x8c\x66\xdb\x65\xb4\x5a\x8d\x7a\xc2\x99\xf0\x58\xf2\x79\xcf\x18\x83\x8a\x84\xfe\x5d\xc2\x01\x00\x65\xfd\xbf\x36\xce\x47\x20\x74\x08\x72\x04\xa2\xfc\x28\xe5\x74\x6c\xbe\xc9\xeb\x2e\x39\xf9\x18\x77\xf9\x9c\xc2\xc6\x4e\xd2\x9b\xfe\x7b\xbc\x23\xc9\xad\x5b\x71\xeb\x7f\x3f\xe3\xf2\xdd\xcc\x27\x97\x3c\xb0\xa4\xa6\xdb\xdf\xba\x88\xe7\xae\x6f\x61\x07\xdc\x2b\x0b\xeb\xd4\x64\x60\xe3\x34\xdb\x82\xd8\xa0\xd3\xaf\x6c\x28\x51\x03\xf0\xba\xda\x2f\xb5\x0a\x8c\xd9\x00\xa2\x69\xeb\x0d\xae\x46\xd9\xf7\xb2\x17\xa4\x20\x52\x42\x00\xa3\xdd\xea\xf8\x14\x43\x8a\xcc\xef\xb6\x8e\x6e\x30\x5e\x92\x37\x06\xb1\x02\x81\x45\x86\x33\x57\x4d\x5d\x2f\x52\xa8\x29\x34\x2a\x8b\x34\xd0\xa1\x32\xcb\x8e\x85\x0c\x6a\xcb\x38\x86\x7f\x6f\xc7\x2e\x2b\x03\x9f\xe2\x51\xd3\xd2\xfa\x78\x78\xb2\xbf\x51\x8a\x3d\xa6\x37\x4a\xe4\xb3\x7b\xc1\x4b\xff\x1b\x1e\xa5\xe8\xb0\x85\xf0\xf2\x5a\xac\x33\x16\xf3\xbf\x29\x9c\xc7\xd7\xa9\xb8\x4b\x2e\x62\x92\x94\x12\x29\x35\x96\x76\xb0\x39\xab\xcd\x5e\x81\x9b\x84\x96\x32\x5c\x3f\x4e\x2c\x33\xfc\x6e\x17\x18\x76\xe0\xc1\xed\x6d\x2b\x8a\xaa\x0d\x5e\xc4\x05\x11\xc8\xbc\x8d\x46\x7b\x7c\xa0\x72\x92\x05\xdc\x10\x87\x1b\x8e\xec\x32\xfd\xc7\x96\xa2\xd3\x6f\x6e\x4c\xda\x9e\x09\x89\xa8\xb2\xa1\xa8\x9a\x2c\xaf\x6c\xc7\x8c\x8e\x1b\xc5\x3d\xb2\xf5\x30\x30\x01\x52\x8d\xa5\x33\xb4\xfa\x2b\xff\x01\x2d\xd1\xf6\x35\xc6\xfc\x43\xcc\x1a\xe9\x3f\xcc\x20\x98\xa2\x27\xae\x63\x09\x4f\x76\x5a\x06\x5b\x4c\xc1\x6b\x0a\x4a\x44\x62\x37\x51\x27\x15\x82\x60\x25\xf4\xea\x15\x28\x42\xca\xa2\x22\x51\x72\xa0\x87\x36\xb0\x2c\xab\xa4\x85\x1b\x66\x3d\x0e\x85\xff\x5e\x6d\x6c\xa0\x94\xb9\x2d\xfa\x47\x80\x73\xd2\x13\xb4\x2b\xa3\x02\x37\x90\x94\x75\x03\x59\x69\x17\x46\x18\x28\xde\xd1\x69\x19\xf9\x08\x55\x70\x0e\x57\xa2\xd1\x62\x74\x75\x85\x6f\x88\x21\x59\x27\xe9\x13\xe4\xdb\x6b\x76\x3d\xf7\xa6\x24\x80\x39\x76\x17\x54\xa6\xe5\xda\x9c\x5b\x27\x05\x67\x8f\xae\x59\x67\xfb\x52\x45\x34\xb7\xbd\x28\x81\x41\x2e\xf2\x71\xbd\xda\x1f\x63\x38\x10\x13\xfa\xda\xf1\xea\xf5\x49\x9d\xdd\x7f\x6f\x52\x0d\x5b\xc0\x14\x66\x6c\x36\x17\xb4\x3d\xe1\x09\xe6\x49\x86\x26\x88\x10\xc1\x56\x39\xcb\x79\xfc\xa4\xd4\xc0\x83\xe7\x90\x26\x3f\x15\x1d\x70\x47\xfb\x2c\x12\x0e\xeb\x56\x21\xd4\xa3\x7a\x79\x52\x24\xf0\x50\xf2\x09\x1b\x0a\xfd\x8b\x87\x92\xc1\x90\x11\xf8\xe1\xf4\x56\x65\xf4\x2e\x82\x11\x4b\xda\x72\xdd\xad\x9f\xac\x4f\x68\x75\x07\xfa\x7b\x25\x94\x47\x3f\x40\x2b\x4f\xb3\x42\x70\xfe\x17\x94\xae\x0a\x2b\xd9\x91\x90\x96\x83\xb0\x03\x9f\xde\x56\x8b\xa1\x2a\x67\x50\x0c\x8a\x68\x75\xad\xa0\xde\x9c\x1a\x2f\x2b\xbe\xe6\x65\xee\x69\xef\xe6\x76\xac\x89\xf4\x1a\x1f\x99\x7d\x27\xb8\x68\x5a\x86\xa4\x23\x58\xbe\xbb\x00\x94\xd7\x83\xf5\x57\x86\x36\x9e\x0d\x90\xfd\x27\xa5\x5a\x1e\x72\x7b\x45\x25\xdd\x6d\xe9\x77\x95\x39\xd2\x93\x33\xc6\x1c\xf0\x89\x20\x82\x72\x44\x31\xc9\xa8\x5d\x85\x40\x03\x49\xd4\xfb\xec\x34\xe2\xfa\x8e\xaa\xb4\x5f\x0f\x8d\x6c\xbb\x90\xc7\xcb\xc1\xcd\x2e\x05\xb2\x25\xf3\xe7\x5e\xe7\x79\x6e\xcd\xf1\xce\x94\xf6\x18\xac\xb7\x2d\x3a\x03\x35\x11\xd3\xf9\xa9\x8a\x25\x70\xe6\x33\xd6\xc0\x76\xa4\xc0\x77\x49\x83\x2d\x0b\x57\x68\x57\x93\xd1\x00\x18\x60\x02\xf8\x45\x76\xc2\x88\x8d\x72\xf3\x8d\x7c\xa9\xb9\x7c\x59\xe3\x11\xaf\x1d\x8b\x74\xe8\x8d\xc4\x6c\xda\x4f\x48\xfd\xa5\x96\x06\x15\x64\x5a\x2c\xb3\x7d\x21\xeb\x62\x53\x2f\xa5\xc2\x15\x4a\x76\xc4\x85\x16\x13\x0e\x9e\x35\x20\x54\x60\x05\xf9\xb9\x13\xc9\x4d\x6e\x8f\x7c\x20\xcb\x1b\x03\x84\x37\x7e\xe8\x0e\xfc\x5c\xf1\xdb\x0d\x11\x46\xce\x16\xfa\x34\x82\x20\x20\xae\x99\x85\xdc\xe0\xd6\x0a\x09\xa9\xbb\x0a\x97\x1e\x4e\xff\x05\x86\xf5\x5f\x0e\x2f\x3c\xda\xe5\xfe\x7c\xe1\xcb\xc9\x62\x16\x3c\xfc\x01\x5d\x0b\xad\xe7\xf0\xde\x3d\x3a\x12\xa5\xd2\x3d\xe9\x2e\x0d\x63\x24\x88\x24\x4b\x7c\xc3\x12\xef\x76\xaa\xc6\x86\x76\x75\x8a\xbe\x1e\xa6\xe8\xc2\xdb\xe8\x40\x34\xe0\x22\xf1\xcd\x9c\xa8\xb3\x08\xf0\xd2\x79\xd0\x6f\x20\x97\xb6\x50\x66\x27\x40\x09\xee\xd9\xdf\xc7\xe4\xab\x9e\x93\x2e\x59\xf0\xb6\x40\x64\xef\xd0\x1e\x17\x6e\x7b\xe3\x44\xdb\x3c\x9c\x29\xdb\x1e\x1b\xba\x43\xa4\x2e\x76\x3f\xe5\x63\x83\xa0\xb2\xf1\xeb\xeb\x06\xab\x9c\x29\x13\xab\x8f\xdf\xa5\xab\x11\xb9\x45\x3d\x32\x89\xb5\x4c\xe5\xa1\x36\xde\x21\xc8\x35\x6a\x22\xb1\x5f\xb7\xeb\x67\xe2\x7a\x33\x1c\x54\x77\xb3\x11\xe9\xa6\xe9\x36\xac\xdb\x61\xab\xb2\x82\x8e\xaf\x48\xda\xe3\x13\x77\xb9\x58\xf5\x13\xc1\x9b\x3e\xf5\x09\xa3\x76\xc4\x65\xd1\x6c\x9d\x0e\x43\x4d\x46\xef\x6f\xfe\xb5\xe6\x71\x1c\x2e\xf0\x03\x9a\x41\xaa\x16\x48\x1a\xd9\xf4\x77\xd3\x9c\x96\x6f\x0e\xd5\xda\x86\xc2\xfa\xb6\x9f\xc5\x38\xbe\x3e\xd7\x0b\x36\x45\x61\x3b\xa4\x53\x7c\xe1\xd6\x14\xf3\xe8\xcd\xe5\xd0\xc6\xfe\xf7\x9d\x61\x1f\x15\x9b\x0f\x26\x80\xa5\xc1\xdd\xa5\x48\x34\x47\xce\x80\x5e\x6a\xca\x61\x74\x9e\xc7\xba\x61\xa3\xb4\x2a\x2e\x4a\xd3\xfc\x5a\xea\xf1\xb4\x9a\xa1\x0b\x84\x8c\x29\x6d\x93\x92\x1d\xbd\xc2\xfd\x61\x6f\x42\x71\x8d\x9b\xbb\x16\x1e\xb5\x10\x9e\x77\x91\x6b\xa7\xca\x5f\x75\x57\xdb\x50\x8e\x63\x72\xf1\x69\xe9\xc8\x0e\x9a\x1b\x78\xb6\x54\xe9\x69\x16\x61\x55\x0a\x23\xbb\x91\xf5\x08\x76\xf3\x1a\xf5\x5f\x94\x19\x38\x65\x4f\x94\x5b\xe7\x33\x04\x09\x40\xdd\x6d\x56\x75\x39\x04\xe5\xb9\x1e\xf3\x6b\xe1\xa8\x30\x53\x87\x50\x9e\x16\x4d\x3d\xa2\x5d\x26\x75\x00\xa1\x98\xdd\x91\x28\xbb\x41\x9d\x03\x49\x9c\x42\xeb\xcf\x71\xd3\xa4\x9b\x40\xef\xc0\x87\x8f\x7a\x69\xd1\x86\x99\x6b\x04\xb1\xa2\x26\xbe\x42\xe2\x60\x34\x24\x3c\xe4\x8a\x8a\xd8\x54\x8a\x0e\x48\xb5\x01\x6e\xc6\x57\x9d\xfa\x71\xc9\x77\x33\xd9\xab\x18\x48\x68\x6b\x6a\x5e\x0d\xaf\x18\x1a\x2a\x52\x51\x32\x37\x5f\xd4\x88\xf7\x80\x61\xc1\x34\x3b\x87\xe6\x4c\x74\xe0\x9b\xf5\xd3\x68\x6c\xfa\x17\xd4\xee\x41\x36\xa3\xe0\xed\x19\x59\x0e\xd5\x96\xda\x08\x63\x9c\x1e\x27\x5f\x68\x93\xba\xc3\xfc\x36\x61\x3e\x9b\xea\x8f\xb9\xd5\xd6\xcd\xc0\x78\x20\x33\x37\x69\x4d\xbb\x83\xf7\x55\x25\xd8\x21\xa3\xad\x93\xc6\xee\xd9\x8e\xbb\x8c\x97\x35\xa1\xa7\xc7\x79\x44\xe9\x02\x68\x5c\xc6\xd6\x17\xc9\x59\x8a\x43\x61\x42\x86\xbc\x80\x3a\x2b\x74\xeb\x44\xa9\xf5\x5b\xa3\xf2\x6f\xb1\x19\xef\xc6\x71\xd1\xf2\x15\x69\x56\x8b\x9e\x42\xfc\x76\x10\xe5\xeb\xd5\x88\x28\x5f\x75\x80\xd5\x3b\xd4\x6a\xe6\xb5\x1d\xa1\x9a\xc3\xa8\xdc\x51\x91\x02\x42\x7d\x85\x7a\x38\xfa\x9a\x19\x13\x94\xd8\xf4\xa9\xfd\xd6\xa6\xd9\x31\x58\x26\x27\x8b\xcb\xb1\x3d\x85\x2e\xd0\x48\x95\x31\xab\xcc\x94\x44\x35\xed\x9e\x06\x8a\x03\x6a\x62\xd1\xd4\x30\x96\xd0\x0a\xba\x69\xd3\x27\xb1\x62\x9e\x38\xe2\xfd\x38\x7a\x32\x63\xc7\xe6\x0b\x52\xe3\x24\x5c\x82\xc4\x03\xa4\x21\x23\xed\x12\xd2\x2d\xb7\x78\x41\x22\x1c\xf8\x70\x32\xed\x1a\x29\xa0\x8d\x79\xd1\xfe\x6c\xe4\xb7\x20\xca\x3a\x7c\xcb\x02\x6e\xd8\xf1\x3a\x24\xec\xed\x5f\x6c\x09\x21\x7f\x0d\x6b\x03\x5a\x6f\xdc\x9a\x44\x89\xff\x0e\xf6\x43\xfd\x8e\x57\x78\x19\x39\x0f\x04\x8f\x2d\x11\x33\x71\x2a\xd2\x0f\x97\x83\x9b\xf2\x8b\x69\xf3\x64\xcf\x9c\x50\x68\xb3\x85\x43\xd5\x04\x4f\x11\xc4\x1a\xe6\xa1\x38\xfd\x06\x70\x93\xda\x8a\x80\x27\xcc\x2e\xb5\x57\x4f\xa5\xc7\x00\x11\xd0\xb0\x03\x80\xac\xd0\x80\x47\x09\x13\x40\x53\x83\x85\x03\x81\x87\x52\x15\xf8\xed\x94\xf2\xb5\x58\x6d\x1d\x9e\x46\x96\x70\xa8\x02\xa4\x8f\x01\x09\x51\xb8\x36\x1b\x4a\x36\xd9\x55\x73\x83\x72\x51\x76\xf5\x6f\x12\x86\xab\xad\x64\x6c\x40\xeb\x19\x77\x38\x31\x95\xf9\x9c\x84\x4b\xcd\x86\x10\x47\xaa\xc0\x4c\x2c\x5e\xc6\x4d\xa4\x72\x5e\x07\x26\x1d\x7b\xf5\x90\xee\x95\x11\x5a\xda\xcd\x30\x60\xe6\x23\xf9\xc1\x19\xa8\x1c\xec\x01\xeb\xaa\x20\xfa\xab\xda\xe0\xc3\xa3\xb6\x09\xf2\x26\xa5\x62\x9a\x87\xac\x23\x3e\x6d\xc5\x7a\x9a\xa0\x10\x0d\x2c\x6e\x9d\x1a\x60\xca\xa1\x94\x26\x5e\xa4\xef\xcd\x52\x31\x5c\x4a\x81\x46\x1a\x80\x47\x35\xc1\x2b\xd8\xdd\x04\x76\x4c\x49\x5e\x10\x30\x8a\x71\x89\xaf\x76\xdc\x8c\x89\xc8\x96\x20\xb3\xb8\x9a\x40\x20\xb1\x3f\x31\xe8\x90\x32\x0e\x88\x7f\x86\x55\xd1\xc8\xbd\xe4\x1c\x4c\x8a\xf2\x72\x91\x09\xcf\x4c\xf7\x6c\xa9\x7c\x73\x10\x7d\x04\xed\x7d\x2f\x88\x40\xca\x1e\x07\xea\xe7\x7b\x03\x67\x3c\x36\xc7\xab\xc9\x3c\xec\x3c\xd3\x59\xc6\xce\x62\x1f\x4e\x51\xcc\x1b\x12\xfc\xec\x29\xb4\x86\xb8\xd5\x29\x3a\x7c\x08\x5f\x19\x9b\x52\x89\x4d\x57\xb7\x87\x73\x1f\xfb\x52\x2b\xc9\x2c\x9b\x0b\x87\xee\x89\x4d\xf9\xa9\x13\x7b\x11\xa6\xc6\xc4\x75\x52\xfe\xdb\xeb\x90\xe2\x86\x43\x22\x1e\x9a\x9e\xc4\x9b\x6e\x72\xd6\xed\xd2\x6c\xc9\x4b\x4e\x7f\x9f\x6a\x7f\xb7\x7a\xa9\xc8\x7f\x1e\xb5\x9f\x96\x8b\x4a\x3e\xa0\x71\x68\x54\xd3\x97\x5f\xf7\xb7\x61\xf0\x42\x81\x57\x35\x19\x03\x0b\xbd\x28\x8d\x25\xd8\x27\x00\x26\xac\x05\x96\x31\x6b\x2b\x5f\x19\x8e\xe5\x0d\xc7\x31\x02\x91\x33\xb1\xad\x98\x0c\xd3\xc1\xc3\x4b\xe5\x4a\x5e\xd4\x1f\x60\x56\xd6\x2b\xd8\xc0\x0d\xb0\x1b\x3c\xd3\xe6\x16\xf7\x86\xd6\x9f\x94\x2a\x0f\xd0\xca\x95\xd4\x24\x33\xa4\xd7\xe1\x92\x5e\xaf\x49\xcd\x91\xf4\x42\xcb\x33\x8a\x4c\xa9\x8d\x81\x19\xbc\xa3\xca\xde\x49\x64\x69\x35\xfb\x39\x54\xa6\x14\x9b\x40\x44\x9c\xf3\x28\x9d\x50\x77\xbc\x18\x29\xb8\x81\xa7\xc0\x8f\x42\x08\xc3\x2d\x0c\x05\xf0\x0a\x59\x8d\x97\x2b\xa5\xc1\x82\x74\x13\x60\x0d\xf1\x70\xc9\x10\x30\x16\xc3\x17\x53\xe7\x06\x45\xa3\xae\x73\x73\xd6\xce\x76\x43\xab\x5e\xea\xe2\x15\x2e\x29\xc7\xc4\x3c\x64\x48\xa9\x0e\x15\xb7\x98\x35\xa9\x75\x11\xbf\xba\x05\x5a\x6e\x10\x79\x58\x2a\xb7\x8c\x42\x6a\x4e\xe6\xb0\xb1\x1d\x77\x6b\xc9\x20\xa0\xdd\x6b\xfd\x4e\xfa\xe2\x49\x78\x59\x80\x89\x58\x32\x27\x1e\x5e\xfd\xa6\xd0\xb3\x66\xe9\xb6\x6f\x29\xdb\xa0\x78\xb6\xdf\xa9\xf6\xc0\x5b\x92\xf2\xaa\x0a\xfa\x75\x49\xa2\xea\x24\x11\x6c\x39\x66\xe6\x28\x96\xf5\x25\x5c\x89\xa8\xe5\x4d\x1f\x3b\x98\xcb\xae\x48\x41\x6a\xd2\x95\x63\xa5\x9d\x4b\xe0\x4a\x28\x60\x1b\x15\xf5\xf6\xd8\xba\xf4\x14\xc2\x03\x29\xb7\x08\x87\x72\xac\xc7\xf5\x43\x68\x6e\x25\xa2\x43\x34\xc0\x46\x86\x20\x9a\x59\x16\x78\xf3\xd9\x48\xa0\xe0\x52\xce\xcb\xcd\x92\x17\x8d\xbc\xfa\x1a\x87\x07\x93\xfc\x6e\x77\xde\xc1\xa3\xaf\x84\x26\xb5\x6c\xd1\x2a\xf9\x9e\x72\x37\x2b\x92\x72\xa1\xee\xd4\x21\xc0\x5e\xc6\xba\x45\x05\xf9\xad\xe2\x7a\x33\xe3\xa3\x0b\x9d\x70\x92\x10\xab\x9a\x81\xa6\xd0\x38\x4c\x31\x97\xa2\x3d\x24\x28\x07\xd8\xa7\xfc\xa8\xfb\x24\x12\x5d\xf1\xe1\x2f\xb9\xa5\xcd\x25\x9a\x29\x82\x9a\xf2\x90\x69\x4e\x13\x76\xb5\x00\x91\x9e\xc4\x8a\x15\xc2\x98\x66\x4e\xda\xa6\xa3\x65\x82\xd0\xeb\x53\xa6\x86\x36\x59\x8b\x03\x72\x05\x4d\xfd\xd8\xa6\x47\xe5\x76\x80\xfd\x1b\xbf\xa1\x06\x2f\x01\x9c\xd8\x55\xa4\x3d\x19\x01\x24\x88\x6f\x4a\xaa\x47\x46\x2d\x1a\xd4\x23\xc0\x57\x07\x5b\xa4\xaf\x4c\xb5\x73\x13\x2b\xa2\x0e\xb9\x39\x9d\xc9\x66\x31\x97\xbc\x0a\xe0\xfb\xeb\xbf\x0e\x14\xe1\x26\x6f\x17\xdf\xf2\xb5\x68\x01\x5e\xbc\xcc\x13\x54\x3b\x8a\x75\x01\x27\x2a\x35\xc0\x91\x63\xac\x89\x65\x05\x57\xef\xa4\x19\x7a\x0f\x91\xef\x23\x5d\x8a\xc8\x3f\xbb\x0d\xbd\x79\x31\xb0\x98\xb0\x80\xca\x14\x78\x10\x66\x30\xb3\xb7\x19\xa0\x76\x64\xd7\x52\x35\xdc\x5c\xca\x24\x8e\xb9\x82\x1c\x6c\x61\xdb\x04\x3d\x94\x70\x0b\x36\x19\x57\x85\xd7\x1a\x8e\xb1\x1f\x0a\xbf\x61\x57\x4c\x04\xc5\xd5\x81\x0f\xbf\x83\x30\x6d\x0e\x0f\x3a\x36\xa7\x83\xf7\xe1\xcd\xd3\xb4\x9e\xad\x90\xdc\x29\xe9\xf4\xef\xc2\x04\xed\x3e\xf8\xef\xda\x8a\xc0\x17\xfb\x6b\x28\x38\x2b\xce\x30\xe6\xd6\xdf\x05\x43\x10\x5b\xad\x11\xe6\x70\xe5\xc6\xdd\x39\x17\x7b\x5d\x73\xe6\xc4\x35\x29\x02\x09\x61\x8e\xac\x21\x5d\x56\x50\x15\x79\x17\xae\xdc\x05\xa8\xbe\x6c\x45\x87\x5a\x3d\x9c\xf3\x83\x50\x5a\x75\xc6\xb4\xa2\xa6\xbc\x6a\xd2\xa0\x4b\x02\xc7\x20\xab\x99\x4c\x19\x4b\x9f\x4a\x9b\x4d\xf5\x57\xad\x8a\x25\xe1\x96\x40\xdf\x08\xef\x13\xde\x3a\xf6\x86\x55\x3e\x16\x9c\x0b\xb5\x8a\x93\xe0\xa1\x1f\x64\x7b\x0a\xdb\x51\x54\xfe\x87\xe5\x03\xa6\xe7\xee\xd8\xaa\xb6\x40\xa1\x61\x2b\x6a\xa3\x15\x16\xac\xaa\xa4\x82\x2d\xee\xbf\xd2\x47\x1c\x73\x61\xb4\x53\xd0\x8b\x77\x7b\xea\x70\x2e\xe1\xa8\x97\x2f\x71\x89\x21\xb7\x35\xb5\xa7\xe8\x66\x2e\xa3\xa4\x58\x7f\xd1\xa0\xa9\x96\xa8\x7c\x8c\x6b\xa2\x19\xc2\x37\x2c\x59\x88\x29\xab\xe3\x71\xa7\xac\x03\xc2\xd6\x11\x41\x32\x10\x4f\x5d\x6f\xe1\xe2\xe9\x92\x48\xc8\x06\x9a\x5e\xae\x70\xbe\xba\x48\x92\x7e\x21\x7a\x41\xcc\x72\x1e\x4c\x15\x82\x8d\x66\xd9\x65\xdf\x4d\x3b\x7f\xee\xc7\x25\xf6\x8f\x52\x49\x9d\x44\x52\xa5\xb6\x34\xb2\x0b\x37\x4a\x2c\xb4\xcd\x89\xdb\xf1\x12\x56\x9d\x7a\x6d\xad\xae\x30\xf7\x11\x3f\xe1\x39\x50\xc0\xa0\x82\xb3\xef\x79\x4e\x49\x87\xce\xdf\x84\xc3\x6d\xe9\xda\x14\x12\xa3\x83\xe2\x56\x5b\x41\xda\x5c\x7c\x85\xe7\xe0\xe0\x79\x02\xcf\x64\x0d\x39\x5a\xdd\x52\x43\x8b\x4c\x5a\x74\x65\xd6\x1c\x57\xab\x86\x66\x51\xc0\x88\xbf\x85\x60\x18\xa0\x8f\xb3\xfa\xf3\x15\x33\x3d\x50\x02\xb2\x4d\x00\xdd\x39\x22\x86\xd2\x16\x9e\xb6\xa4\xa6\xef\x2d\x9f\x15\x55\xa6\xaa\x65\xc5\x56\x3d\xfa\x47\x97\xca\x1f\x78\x2a\xe8\xf8\x58\x9d\x82\x51\xce\xec\x4c\xef\x37\x56\x44\xf2\x5a\xf1\xbb\xdf\x19\x09\xe9\xa1\x24\x56\x2f\xe5\xce\x7a\xbb\x5d\x17\x50\xbe\x44\xf9\x37\x2b\xfc\xdd\xbe\xb9\x78\x20\x46\xcb\xba\x7f\x89\xbb\x95\x06\xfd\xeb\x46\xf2\xc1\xe8\xa4\x9d\x25\xdc\xe2\x4a\xf6\x26\x2e\x88\x42\x50\x44\xc7\xab\x63\xce\xe6\x9c\x23\xe5\x2a\x07\x0a\xa8\x7b\x44\x5a\xfe\x1d\x80\xe0\xdf\x27\x08\xb1\x24\xe1\x2e\x12\x36\xc8\xff\x9a\x35\x95\x98\xc5\x85\x8b\x1e\x0f\x24\x04\x1e\xf7\x64\xd0\x50\xe8\xa3\xfb\xcd\x3a\x82\x89\xd2\x89\x3e\x88\x46\x89\xe3\x9d\x68\x49\xea\xa7\x76\x47\xf8\xaa\x0c\x78\xdd\xb8\xe3\x92\xa0\x04\x7f\xfb\xf3\xf3\x82\x3e\xe7\x5a\xbe\x43\x7a\xef\xa2\x89\xff\xd8\xc7\xac\xf2\xed\x06\x0c\x99\x97\x82\x27\x6b\x2c\x4a\xba\x0a\xa5\x74\xd3\x1d\x3c\xd5\x91\x01\xcb\xbd\xd0\xd5\x38\xd8\x80\xe6\x65\x05\x8f\x14\x6d\x43\x17\x05\x35\x9d\xe7\x6c\x9c\x0b\x84\x89\xee\xf0\xed\x3f\x66\x0a\x63\x83\x11\xc3\xb0\x95\xf8\x29\x25\x7b\x1e\xf3\x44\xf8\xb0\x6d\xae\xc4\x50\xef\x21\x28\x76\x1b\x9a\xf5\xc2\xaa\x1e\xe7\x04\xd5\x52\x50\x2b\x12\xcb\xdf\xab\xd2\x1e\xd4\x8d\x29\xa7\xcf\x30\x0f\x3f\xe4\x5a\x58\xb5\x09\x2a\xbc\x94\xf3\x45\x0d\x87\x91\xd4\xad\xa8\xa1\x57\xc9\xd1\x0d\x86\x9a\x29\x8e\x72\xd7\x02\x57\x78\xc9\xff\xb2\xd6\xd1\xae\x84\x89\x87\xf0\x3b\x12\x9a\x24\x84\x8c\xed\xb5\x18\xae\xac\x4c\xfd\x9a\x09\x7a\xb5\x8d\x35\x69\xe4\xd2\x64\xc5\x1a\xfc\x7e\x9a\x64\x8e\xea\xf9\x12\x24\x5b\xdc\x7f\xde\xb4\x65\xda\x3f\xb0\x93\x01\x9a\xdd\x62\xbc\x2d\xc4\x14\x8a\x65\x53\xe2\x4b\x53\x9a\x7d\x14\x0c\x4c\xaa\x65\xe4\x4f\x26\xf1\x32\x3b\x9e\x6c\x31\x04\x4e\xcc\xc5\xd9\x66\x28\x41\xf3\x03\xe9\x30\x32\x62\x3c\x60\xdc\xe5\x4e\x4a\x4c\xc3\xb6\xc9\xb1\xc2\x93\x89\x44\x4c\xab\xf2\x68\x12\x59\xe8\x8a\x2b\x2e\x8a\x0b\x34\x75\x49\x55\x20\x45\x03\x09\xdc\x9b\x46\x40\x02\x70\xc1\xc9\x17\x1c\x8b\xe7\x20\x21\x27\xbe\x08\xaf\x81\x01\x0d\x04\xd4\x31\x73\x10\xbd\xa7\x55\x3c\xa3\x08\x06\x30\xec\xc7\x98\x07\xff\x4c\x66\x3f\xe4\x46\x94\x2d\x8f\x91\x29\x8e\x3c\xd8\x49\x02\x1e\xac\xf1\xe4\x59\x46\x94\xdb\x68\x39\xa8\x7c\xb1\x09\xd5\x19\xba\xda\x24\xeb\x1c\x5d\x1d\xe4\x6b\xc4\x67\x92\x9f\xf4\x3b\x53\x12\x2a\x69\x84\xc2\x73\x43\x9d\x6b\xfa\x6c\x18\xf2\x9c\x2e\x77\xe0\xf4\x4c\xb9\x1d\x11\x23\xd5\x82\xcd\xdc\x31\x4c\xe5\x6e\x9d\xf4\x63\xa9\xfb\x0f\x9a\xc6\x7a\x57\xc2\xc1\x82\x62\x72\xeb\x80\x66\x1e\x0f\xaf\x46\x20\x46\xe9\x87\x26\xca\xee\xe0\x54\x18\xd7\x32\x8e\xce\xd6\x52\x01\xc7\xfa\x98\xe4\x60\xa4\xc8\x59\x56\xb1\x01\xe4\xf1\x88\x6d\xd0\xfa\xab\x26\xc7\xc1\x86\x4a\xff\x4c\xd1\x39\x94\xcb\xe8\x17\xcc\xba\x50\x72\xd9\x05\x60\xd4\x46\xaa\x89\xf6\x61\x9b\x01\x21\x91\x6f\x18\x06\x2b\xba\xc8\x08\xa6\xd9\x07\xa6\x1f\x4f\xf9\x96\x69\x1b\x7b\x0e\x2f\x61\x00\x95\x83\x27\x03\xfc\x7d\x4c\x0b\x6b\x0a\xa6\xe1\xcd\xe2\x50\x8a\x27\x46\xa5\xdd\x5d\xc6\x03\x9c\x82\xea\x38\xf2\x41\x05\x6e\xcf\x52\x66\x28\x0e\xea\x58\x89\x91\x53\xf6\x4a\xe3\xe8\x23\x7e\xb8\xac\xdb\x74\xab\xa1\x53\x08\xdb\x64\xdd\xde\x20\x50\x32\xfd\xdd\xe4\xdd\x51\x24\x82\x58\xf4\xd3\x83\x8b\x1c\xaf\x14\x8e\x89\xcd\x80\xdc\x33\x8e\x85\xce\x1b\xe3\xe6\x17\xfd\x9f\x2a\x8a\x98\x66\x26\x34\x8a\x3b\x85\xa1\x0a\x83\x94\x76\x06\x3e\x70\x14\x69\x94\x9b\x7d\xba\x4e\x28\x43\x50\x48\x17\x14\xe6\xc8\x31\x75\xf3\xdb\xc8\xd3\x9c\x16\x8b\x77\xdc\xfe\x7b\x8e\x1f\x7a\x7b\xd5\x11\x24\x3d\xdd\xd9\xf7\x3b\xd7\x1c\x4b\xa7\x4f\x6e\x0a\xe4\x4b\xe6\x52\x1e\x94\xdd\x33\xa2\x08\x0e\x25\xe4\x89\x42\x63\xf7\x82\x2a\xda\x43\x43\x44\x9b\x7b\xc3\x11\x7f\x23\xdc\x82\x3e\xef\xc7\x14\x50\x03\xeb\x7a\x99\xd8\x35\xb9\x4c\x70\xf8\xe6\x80\xc0\xe8\x38\xb2\x8b\xb0\x02\x5e\x26\xf7\x07\x95\xf6\xa6\x33\xa0\x95\x51\x17\x44\x12\x8e\x23\xbe\xaa\xa9\xba\xd9\x4e\x4e\x54\x69\x18\x0b\x4c\xd0\xba\x36\x92\x73\x46\xf5\x05\x60\xaa\x84\x4e\x63\x88\x3f\xc6\xf8\xb2\x4f\x19\x02\x67\x97\x03\xa5\x87\x19\x99\x28\x4b\x79\xd6\x0f\x5b\x0a\xd0\xa6\x97\xaa\x1c\x72\x3b\xc3\xf3\x15\xea\x00\x57\xb9\xea\xd0\xd9\x7f\x56\x5e\x14\x58\x30\xbc\x88\x7b\x59\xf6\xab\xf2\xfe\x1c\x13\xef\xca\x3f\xd5\xf2\x3f\x13\x64\xd9\x90\x47\x6c\x88\xe5\x23\x13\xcb\xc1\x40\x5f\x9a\x92\xe2\xc4\x1b\xeb\xab\xab\xbb\x69\x69\xa6\xcc\x76\x55\xde\xf0\x81\x77\x8c\x03\xed\x4b\xb7\xc6\xcf\x49\x55\x98\x49\x47\x89\x4a\xe0\xbc\x8e\xbb\x29\xc3\xe4\x24\x28\xfa\x1c\xf8\x88\x5c\x5b\x91\x98\x9f\x51\x85\xf2\x3f\x89\x43\xbb\x42\xc9\x5c\xa2\x47\xd0\x06\x65\xa5\xc6\x4a\xf9\xfd\xf7\x47\x18\x2f\x91\xb6\xed\xa4\xd3\x24\x75\x11\xeb\xbf\x85\x8e\x7e\x90\x53\x53\x76\x05\x37\x77\x32\xbc\xb6\x1a\x7c\x01\xe2\x5d\x13\xbf\x24\x58\x65\x3b\x42\xb5\x6c\xee\x49\x97\x4c\x69\x07\x91\xba\x02\xec\x79\x94\xba\xb2\x9c\xa2\x8d\x77\xf4\x6f\x93\xe3\x95\x88\xec\x90\x71\x73\x56\x97\x8b\x5b\xb6\x27\x97\x1c\xf4\x5c\x9e\x73\x86\x41\xa0\x1b\xd0\x89\xec\xe2\xc8\x06\xf1\xb0\x94\x86\x25\x5b\xb9\xd8\x47\xdc\xc6\xc6\xbd\xb1\xf8\xb8\x9d\xa6\x95\xbe\x18\xbf\x98\x76\x31\xb4\xf0\x7a\x4b\xad\x68\x24\x04\x07\x79\x1d\xc3\xe4\x45\xf2\x02\xf0\x66\xea\xdc\xcd\xaf\xad\xe5\x37\x65\xc6\x59\x5e\x62\x8d\xd5\xd0\xcf\x53\xbf\x9e\xf3\x96\xfd\xb2\x51\x1a\x8a\xfb\xd2\x41\x18\xb3\x1e\x9b\x56\xa3\x77\x3d\x20\x9a\x75\x14\x2d\xce\x52\x1a\xa2\xd7\x70\x5c\x6f\xf3\xd4\x3a\xc9\x03\xd4\x50\xb3\x9f\xca\xd8\x2f\x06\x4a\x98\xa8\xf1\xb5\xa1\xef\x13\x39\xae\x8a\x6b\xac\xcd\xa9\xf2\x55\xfd\xea\x31\xc3\xc8\xb4\xf5\x7e\x34\x98\xd7\xe7\x6f\x82\xa0\x69\x7d\x92\x79\x6d\x39\x72\x33\xcf\xf4\x56\x35\xd8\xa9\xd7\x93\x92\xb9\xf8\xb4\x98\xf5\x62\x70\xe1\x66\x8b\xb4\x19\x09\x0f\xb6\x06\x5b\x8a\xbe\x0d\x86\x4b\x5a\x35\x15\xf7\xc4\x6e\x1c\x20\x26\xad\xdb\x6b\x1f\x2e\x7e\xa3\xac\x86\x41\x21\xc9\x43\x81\xc7\xaa\x41\x53\x6a\x90\x94\x75\x30\x06\xe6\xef\x8c\x3b\x6f\x66\x05\xde\xf2\x70\x27\xb9\xd7\x16\x51\x20\x80\x9e\x85\xec\xbd\x2b\x32\x19\x11\xde\x17\xbb\xd5\x4b\x06\x01\x96\x69\x74\x52\x1e\xc1\x33\xee\x59\xdb\xe5\x4c\xb2\x5d\x32\x84\xe7\xa1\xf7\x15\xf9\xb8\x7d\x5b\xba\x9a\xbc\x1f\xc7\xbb\x1b\xd3\xd5\x1e\xe2\xd0\x8d\x35\xac\x20\xfb\x71\xad\x4f\x31\xd6\x54\x4e\x78\xdb\x4e\x64\x14\xc6\x71\x5a\x3f\x6e\x96\xce\x2b\x0e\xba\x7c\xf0\x47\x60\x73\x22\x24\x21\x3d\x34\x2b\x6b\x97\x2d\x1d\x27\xe5\xf5\x15\xea\xba\x8a\x83\x05\xa7\x36\xd1\x31" +var _main6bbc82fd5fade1a19ecaJsBr = "\x1b\x26\xb6\x51\x94\xe8\x5d\x19\x45\xee\x66\xed\x12\x15\x45\x17\x80\x1e\x8a\x37\x96\x26\xe9\x62\xaf\xf1\x0e\xac\x02\xc1\x84\x35\xb0\xc2\x18\x04\x3e\xf0\xae\x54\x17\x8a\xc5\x92\xde\xdc\x86\xad\x41\xa8\x87\x6b\x09\x43\xfc\x9d\x46\x48\x32\x6b\xaf\xda\x9b\x55\x9b\x93\x78\x03\xcd\x1f\xa4\xb6\xf4\xa4\x9c\x65\x90\x2a\x15\xc3\x42\x80\xc7\xb0\x76\x37\xa2\x61\x25\xb7\x18\x22\x66\xd6\xca\xd7\x37\xa3\x4a\xba\x34\x0b\x5e\xeb\x80\x1d\xa6\x27\xa0\xa3\x3b\x96\x37\x1e\x85\xe5\x57\x3f\xf5\xfb\xaf\xdf\xa5\x37\x3c\xcd\x46\x40\xb2\xbc\x89\x1b\x52\xe2\xa9\xb6\x50\xd3\x58\x63\xa3\x6e\xdc\x73\x70\x9a\xd2\xff\xba\x55\x55\x4f\x51\xcd\xb5\xe7\x88\x8e\x84\x31\xdb\xbc\x1f\x25\x48\x82\x05\x86\x3d\x6d\x65\x69\x5e\x3f\x77\x45\x8b\xaa\x82\x61\x8f\xbb\x48\x85\xb9\xcf\x57\xab\x85\x0e\x1b\x9a\x84\x18\xd6\x76\x86\x41\xdd\x2c\x7c\xf9\xa6\x5a\xb5\x26\x21\x1c\xfe\x88\x4f\x29\xed\x62\x7d\xad\x2b\x57\xee\xa8\x4c\x27\x85\x7c\xdd\xbf\x31\x55\xcd\x69\xfe\xf4\x73\x68\xe0\x48\x89\xaa\x5f\xa6\x21\x60\xd2\xf7\x60\xb7\xa2\x87\x82\x5a\xa6\xf4\x9e\x89\x09\xd2\x2e\x4d\x6d\x09\xd2\x1c\x91\x50\x4a\x76\xe6\x2e\x23\x33\x67\xce\xf2\xff\x6f\xaa\xbd\xbf\x7c\x03\x42\xc4\x8f\xa9\x72\xae\x0a\x10\x10\x9d\x82\xec\xae\x30\xee\x7d\xf7\x5d\x73\xe6\xcd\xcc\xd1\x60\x30\x90\x08\x90\xf0\x12\x24\x75\x94\xcf\x8a\x5a\xd1\x16\x37\xbc\x37\x33\x94\x06\x00\xb9\x1a\x52\xfa\xff\x43\xe4\x26\x69\x1d\x24\x39\x49\xeb\x94\xb5\xeb\x98\xda\x5c\x35\xaa\x9c\x42\x99\xba\x42\xa5\x53\xf5\x8f\xbb\xc6\x66\xc7\x4e\x0d\x5b\x44\xfd\xd8\xdb\x46\xa9\xd5\xa9\xed\x24\xe7\xb4\x9d\xb1\x79\xc5\xb3\x20\x84\x10\x2c\xc9\xed\x87\x8d\xf3\xd9\x4d\x68\x57\x18\xcd\x7e\x36\x8b\xfa\xea\x80\x8f\x3d\x45\xd9\x07\x6d\x5b\x07\xb9\x1c\x20\xfd\x2f\x0a\x41\x45\xa7\xfb\xcb\xaa\xe1\x0f\x3f\xb4\x11\x52\xc5\x02\x24\xf3\x05\x46\x37\x4a\xe8\xdb\x7e\x08\x33\xe9\x31\x19\xa0\x19\x19\x72\x41\xe5\x78\x02\xa4\xc0\xa6\xa6\x4e\x03\xcb\x16\x91\x1d\x45\x02\x6d\x12\xa6\xa4\x34\xa9\x20\x59\xb3\xe4\x07\x99\x1b\x50\x5a\xe6\x94\x94\x59\x50\xe5\x44\x98\xdf\xf8\x99\x71\x4c\xce\x2e\x4b\x4e\x59\xe1\xe6\x02\xce\x88\x43\xc6\x6c\x73\x47\x9e\x3e\x69\x06\x7c\x32\x64\x93\x5b\x82\xf4\xb8\xa6\xcb\x39\x1b\x92\x4c\x89\x72\x4d\x9c\x39\x97\x44\x53\x77\x90\x33\x46\xfc\xca\x67\xbd\x9b\xe7\xf8\x18\x9e\x1c\x4c\xba\xbb\xa4\xa7\xd0\x81\xee\x0a\xf1\x1c\xc3\xca\x16\x1e\x5f\xa1\xb6\x89\xf8\x12\x60\xec\xe2\x3d\x2e\xbe\xc5\x6e\x08\xf3\xfa\xcf\xcf\xef\x35\xf5\xd2\xb0\xf7\xf1\x1e\x31\x5f\x60\x37\x08\x76\x16\x64\xd7\x41\xe8\x1f\xb6\x0c\xf9\x87\x08\xfd\xf9\x74\xb7\x60\xb1\xa4\xab\x00\x4f\xed\x83\x1b\x04\x38\xf2\x5f\xf9\x49\x18\xe0\x8d\x33\x3e\x63\x7a\x5b\x57\x5c\x12\x9b\xa5\x68\x48\x10\xfa\xb1\x02\x1e\xb2\xb8\x62\xde\x85\x3c\x71\x70\xaf\x58\x20\xb9\x95\xcd\x4a\x5f\xe3\x9f\xfe\xdf\x15\xe6\x45\x6e\x9f\xc0\x5b\x64\x1b\x36\x0e\xe5\x72\xb7\x95\xda\x6c\x45\x1b\xe8\xec\xe2\x1d\x4c\x8e\x09\x6d\xa6\xe9\x08\x5f\xc6\x9d\x09\x85\x38\xca\xdd\x7a\xe6\x68\x15\x3b\xd8\xbd\xe3\x35\x4e\x7f\x7e\xee\x7f\x87\xb8\x7f\xd6\xb7\x4e\x4a\x02\x7f\xeb\x60\x15\x7d\x48\x29\x6f\x97\x7e\x7a\xab\x20\xf7\xef\x19\x77\x41\xf9\x1d\xc9\xff\x5c\x13\x94\x1e\x1d\x52\x13\xc2\x6f\x71\x0b\x9f\x37\x0f\xef\xef\x71\xcc\x46\xf9\xc4\x3a\xbc\xfb\x22\x90\x5b\x04\x4d\x56\xc4\x55\x2d\x07\x5c\xe6\x23\x71\x96\x5b\x15\xfd\xed\xf8\xe4\x7a\x4d\x24\xb0\x0a\x71\x17\xef\x2f\x72\x42\x14\x38\x52\xab\xc5\xb0\xdc\x70\xd8\x88\xe4\x30\xf1\x89\xe5\x4b\x58\xe2\xea\xdb\x1f\x91\xbf\x0e\x4f\xd8\xb1\x01\xa5\xaa\xb1\x33\x3c\xc3\x7e\x04\xc6\xc1\x19\x39\xe9\xd2\x26\xdc\xa5\xfa\xfa\x98\xf9\x80\x88\x9e\xe1\xb9\xe8\x7e\xd3\x02\xdf\x92\xe4\xad\x8e\xea\x52\x74\x55\xfe\x3d\xde\x02\xa3\xb5\xd4\xda\xc7\x4a\xce\xad\xe6\x35\xa1\x33\x2d\x23\xd4\xc7\x7c\xe9\x57\x58\x91\xf9\x4f\x0d\x57\x2d\x41\x58\x91\xae\x70\xa2\x56\x45\x91\xa9\x09\x24\x20\x35\x82\xa4\xaf\x76\x20\x9c\x09\x5e\x45\xdd\x7c\x00\x96\x8c\xb0\xd0\xeb\xd6\x05\x78\x9a\x03\x0b\xbf\xa7\x8f\xfe\xf7\xe7\xc0\x3e\xd2\x42\x40\xdb\x10\xf6\xd9\x2a\x88\xf7\xfd\x18\x80\x2b\x99\x0a\x9d\xe2\x66\x0d\x64\x8b\x48\x43\x91\x1d\x6d\x5a\xa6\x6c\x16\xc7\xcb\x68\x38\xfc\x3e\xfa\xd4\xf8\xcb\x81\xa5\x4a\x87\x03\x56\x14\x65\x26\x05\x5c\xe8\x5d\xaa\xc4\x22\xb4\x50\x94\xe1\x02\xdd\x93\x43\xb5\xe6\x75\xbf\xfa\x79\x19\xee\x32\xeb\xc3\xde\x43\x77\x19\xd5\x68\x67\xbb\xcd\xac\xaa\x59\xac\x2a\x98\xdc\xd3\x89\x7e\xb5\x3b\x9e\xfc\x57\x2c\x6c\xab\x2c\x33\x78\x66\x5d\x03\x1d\x76\x40\x88\x14\xcb\xd1\xcc\xd3\xf0\x2a\x8a\xb9\x86\x45\x93\x51\xb4\x09\xf1\x0e\xa4\xcc\xc7\xad\xaa\x69\xa4\x80\x25\x73\xee\xc6\xf5\xe6\x9c\x6b\x9a\x6e\xfb\x0f\x5e\x1b\x7a\xce\x40\x6a\x3d\x0c\x58\x13\xe8\xcf\xd4\x16\xe2\x5d\x77\x8a\x8f\xcb\xb9\xdc\x9a\xf2\x56\x6f\x02\x68\xf4\x26\xa2\x4e\x29\xe8\x5b\x8e\xe8\x3c\xb8\x3d\x8c\x47\xca\x76\x88\x57\xe8\x8b\x9a\x1b\x4c\x29\x9f\xd4\x62\x08\xd8\x8f\x37\x22\xe0\x90\x8a\xc6\xf0\x1f\x2d\x63\x5b\x38\xea\xdd\xd8\x18\x7c\x7b\xfb\x6a\xa7\x15\x0d\x13\x65\x02\x7e\x4d\xa2\x4a\x8c\x97\x2a\x3d\x0f\xdd\xe3\xab\xcd\x7d\x96\xd3\x17\x19\x37\x7f\xa9\x4f\xf3\xf1\xe1\x05\x9b\xa9\xbf\xd4\xae\x34\x0b\x4d\xa9\xde\x76\x9b\x59\xd4\xe2\x2e\xc0\x8b\x40\x65\x4e\x6c\xa4\x11\x05\x5b\x51\xd3\x55\x3c\x1c\xfe\x49\x59\xcc\x91\x1f\xee\x6b\xb5\x2a\xed\x0a\x7a\xd2\xe6\x86\x5f\x9b\x05\x0c\xe0\xdf\x0b\xb5\x72\x1f\x80\xfc\x06\x60\x1a\xe1\xab\x2c\x0a\xa0\x17\xe8\x6c\x37\x78\xe6\x96\x2c\xb6\x93\x49\x68\xf6\xbf\x00\x53\xfd\xf8\xf7\xdd\xf2\xdd\x37\xfb\xfe\xfe\x39\xdd\xd8\x12\xf6\xae\xa0\xb8\x14\xf0\x5f\x49\x76\x00\xc1\x12\x83\x11\xf1\xfb\x64\xf5\xa2\x06\x41\x48\x45\xc3\x61\x29\x47\x7f\x5c\xdc\x86\x32\x66\x9d\xad\x94\xb6\xb9\xd8\x11\xa8\x12\x9b\xd1\x10\x96\x39\x8b\x9d\xcb\x07\x13\x77\xe3\x03\x8b\x66\xc2\x49\xd0\xa1\xcd\x82\xf4\x82\xee\x1c\xc7\xf9\xdd\x77\xa5\x31\x1d\xc8\xea\x77\x5a\x3a\x3d\xfc\x79\x24\xcb\xa6\xd2\x86\x24\x05\x99\x0d\x28\x5b\xe6\xaf\xd9\x35\x24\x46\xec\x48\xdf\xc3\xc7\xa5\xe7\xee\xfa\x7a\x1a\x7f\xdd\xaf\xa5\xc3\x6e\xef\x45\xdd\x40\x54\x9c\xd2\xac\xbb\x3c\x02\x33\x9c\xea\xd9\x38\xad\x66\xfd\x41\x59\xbe\x5e\x89\x6c\x73\x0d\xb6\xc3\x2d\xcb\xb5\x6f\x7d\xd4\x4b\xfa\x9f\x36\x74\xa8\x49\x98\x78\xc8\x91\x9f\xf8\x3e\xa5\x07\xdc\xe7\x2a\x4b\x4a\x75\xd8\x39\xe3\x27\xb1\x0c\x1a\x87\xf5\xf1\xdf\xa4\x44\x22\xc7\x0c\x89\x06\xc3\xa1\xa2\xa9\x76\x48\xe8\x46\x7b\x99\xfe\x91\x3e\x45\xa9\xae\x55\x49\x1d\x90\x52\xc5\x38\xee\x1a\xb4\x6e\x36\xd1\x63\x21\xb8\x17\x71\x07\x01\x16\xa2\xf5\xb6\x8a\xe0\xe0\xbd\x87\xec\x42\x81\x3a\x35\x77\xa2\xb2\xe4\x9d\x70\x16\x43\x13\x4a\xde\xf2\x7a\x83\x34\x0d\x90\x01\x59\xd7\x02\x9d\x8a\xee\xe1\xad\x45\x65\x85\x62\x52\xe5\x74\x38\x3e\xdb\x73\x1c\xa6\x58\x09\xb4\x68\xee\xa0\x70\x62\xad\x4d\x8f\xb0\xae\xa3\xbb\xad\x3c\x45\xbc\x7e\xbb\x81\xd8\xf5\x60\x2e\x64\xa9\xe8\x9c\x96\x94\x90\xd8\x84\xa0\xef\x5f\x00\x09\x03\x5c\x1c\x3a\xba\xa0\x69\x23\x94\x42\xee\x9f\x12\xf6\xf7\xe8\xa3\x86\xaa\x2d\xe3\x0b\x4a\x2d\xa3\x9a\xc6\x0b\xdc\x73\x16\x94\x4a\x51\x26\x46\x6a\x68\xa0\x89\xfa\x51\x46\xfe\x16\xfc\x0a\xdb\x52\x86\xac\xd3\x26\xa3\x44\x17\xdb\x4b\x46\xaa\xc2\xe6\x12\x7d\x12\xe5\x1f\x76\x41\xe5\xfa\x6e\x0f\x11\x5a\xb9\xb8\x78\xb5\xcf\x65\x62\xa7\x65\xf2\x57\x4b\x95\x2b\x43\x8e\x11\xfe\x52\x6a\xa5\xc7\x00\x94\x91\x52\x9f\x1c\x48\xfb\x77\xbb\x78\x0d\xc7\x86\x51\x84\xd7\x8c\xf6\x77\xaa\x5b\x9b\x08\x0d\x6c\x45\x28\x9e\xd6\x9e\x2c\x1c\x88\x73\x2f\xbd\xd7\x8f\xde\xa6\x4a\xcd\x7f\x9e\x9c\x76\xd7\xd6\x11\xc3\xee\xd4\x7d\xc4\x2d\xa2\xdd\xe8\x78\xf1\x4a\x0f\x6c\xbc\x62\xaa\xd7\x10\xaa\x58\xe8\xe3\x3b\x30\x98\x7a\x7b\x6b\x23\x1b\x24\x74\x15\xce\xed\x6f\x52\xb6\x31\x32\x2a\xec\x91\xca\xa3\x8b\xa8\x74\x94\xf3\x89\x11\x8f\x9b\xce\x9b\x07\x9c\x1e\x21\x9d\x20\x7e\xfb\x29\xe5\x47\x8b\xa5\xd5\x2f\xd9\x54\x69\x03\x9e\xe9\xdd\x4c\xdb\xa5\x94\x82\x12\x5d\xef\x57\x08\x5a\xb0\x57\x85\x70\xe7\xb4\x4b\x7d\x3a\x23\x34\xec\x09\xc5\xeb\x87\x47\xb1\x72\x50\x90\x26\x86\xa8\x5e\xaf\x57\x7f\xf8\x24\x2c\x61\x49\x18\xd7\x71\x1a\x7f\x34\x73\xb0\x7a\xcf\x67\xd3\x8e\xc7\x1d\xf8\x1e\x7f\xf9\x8c\x40\x7d\xbf\x86\xf7\xa3\x38\xb6\x13\xb6\x2c\xb6\xfd\x40\xc3\xea\x91\x6d\x93\x1f\xcb\x93\x20\x27\x57\xba\x97\xe6\x03\xb9\xed\x35\x34\x5c\x2d\x3c\x79\xc4\x69\xf7\x08\x1f\x85\xd9\x51\x95\xe8\x25\xf0\x23\xb8\x2f\x70\xc2\x97\xe7\x2c\xbb\xdd\x2f\xe7\x7b\x6d\x6b\x34\x77\x22\x24\x0a\x48\x7e\xc7\x28\xf5\x5d\x73\x53\x66\xed\x45\x9a\x4e\xf0\x97\x10\xf5\x18\xb8\xaa\x19\x7f\x4b\x84\x95\x28\xd7\x0e\xa4\xc8\xff\xf0\xb8\x95\xe8\xd6\xfa\x14\x06\x30\x14\x6d\x85\x36\xde\x9d\x20\xc2\x52\x5e\x15\x09\x02\xa7\xbc\x10\xc1\x50\x9a\x0b\x07\x6f\xcd\x7c\x32\x07\xd7\x80\x78\x93\x37\x40\xf6\x15\x01\xbb\xcc\xdb\x80\x5f\xf1\x92\x60\x4c\xb4\xc1\x76\xf8\xfe\xd7\xd4\x45\x74\xa7\xe2\x66\x09\x8a\x0f\x1b\xb1\xf4\xbb\xe3\xb3\x10\xae\xde\x81\x64\x91\x79\x59\xb1\x4f\xe6\x7d\xfd\x7a\xd6\xa9\x5e\x5e\xed\xd2\xfc\x52\x29\xc3\x75\xaa\x20\xb6\xef\x76\xfd\x2a\xfc\x1c\x17\x30\xab\x1d\x60\xe4\x5a\xbb\xc4\x80\x14\x4f\xa8\x64\x9b\x71\x3a\x12\x6e\xe4\x6d\x5b\xac\x3e\x71\xc4\x22\x5b\x20\xe2\x92\xbb\xaa\x94\x35\x22\x56\x90\x84\x9e\xf4\x13\x30\x5e\xa4\x51\x6f\x72\xab\xe1\xec\xb8\xad\x43\xf6\x07\x6a\x63\x05\x80\x98\x28\x1c\xdd\x26\xb9\x0b\xe9\x77\xf9\x03\x41\x87\xbc\x7d\x41\x65\x21\xd2\x1d\x38\x37\x95\x6d\xe7\x2b\xcd\xef\x06\xd9\xc3\x98\xdd\xb3\xe1\x74\xc8\x4c\x50\x89\xd3\xd4\x3d\xeb\x4f\x3c\x19\xd1\x91\x60\xd9\xac\xf2\x39\x82\x30\xde\x36\xfe\x23\x8f\xe5\x61\x78\xc0\xe5\xb4\x3c\xe5\x46\x26\x54\x14\xcf\x87\x80\xfc\x55\xc0\xfa\x6f\x21\x2d\x09\xc4\x24\x3e\x20\xc2\x47\x9e\xf5\xc0\xe2\xcc\x55\xe8\xef\xd4\x02\xcb\x67\x76\xf0\xe1\x60\xb7\xa3\x8f\xca\x83\x23\x3e\xde\x0b\x00\x33\x66\x7d\xbd\x4b\x42\xdd\xb5\x02\x01\x7a\xfa\xa4\x11\xca\x04\xe8\xb1\xca\xb1\x41\xe9\x98\x6d\x1a\x8d\xc9\xfb\x84\x2a\x21\xf1\xcd\x2c\x1a\x23\x9b\x8e\x04\x8e\xd7\x34\x23\x03\x2a\x2d\x90\xf5\xc9\x27\xd8\xd6\x8c\x73\x64\x35\x4f\xf4\x80\xfb\xb5\xe6\x42\xdd\xe7\xc6\x4a\x62\xd2\xa1\x5d\xb0\xa4\xe2\xaf\x73\x80\x98\xea\x55\xa8\xda\xae\x76\xcf\x2e\xb1\x07\x84\x86\x7e\x7c\x97\x27\xa0\xd2\xb5\x9c\x00\xa8\x57\x8f\x65\x73\x0e\x12\x8b\xdc\xf5\x24\x4d\x8b\xa8\x90\x85\x4d\xb5\x73\x44\x42\x05\x3a\x4b\x6a\xf6\x8d\x58\x96\x30\x7c\x76\x7e\xdd\x33\x1f\x0e\xea\xb8\x32\xd8\x53\x5c\x64\x33\x70\x1c\x1c\xcc\x92\xae\x90\x45\x15\xd4\xbe\x14\x92\x2d\xe6\xd1\x55\xb2\x24\x2b\x4f\x89\x8e\x11\xdc\xf6\xc5\x7f\xb2\x69\x30\x43\xa0\xc8\x69\x22\x08\xb8\x87\xbd\xff\xc3\xdc\xbd\x5b\xd9\x12\x20\x66\xc4\x0b\x02\x37\x3c\x3e\x5a\x5e\x86\xda\xf3\xd2\x9a\x34\x41\xae\xa8\x8f\xd7\x79\xfe\xc4\x35\x29\x31\xd7\x64\x12\x59\xf4\xe3\xfd\xda\x4d\xe2\xcf\x11\xa6\x57\x60\x63\xe2\xb7\xf4\x8f\x7c\xa1\x48\x52\x94\x4d\xe3\x9b\x13\x4e\x2e\x91\xd3\xb0\xf2\xb4\x59\x9f\xaf\x93\x2c\x05\x65\xd4\x6a\x59\x30\x55\x6e\xbe\x31\x93\x27\xd8\x02\xe3\xe6\x9f\xc0\xe5\xba\x99\x2f\x64\xa8\x37\xd1\x69\xe8\xd4\x3e\xc7\xfb\x9e\x25\x31\xe6\x52\x90\xc5\xfa\x95\x65\x9d\x7e\xba\x7c\x4a\x3e\xfe\x3a\xa9\x8c\x12\xda\x36\xce\xc9\xd3\x5e\xd9\xca\xcd\xa1\xdf\x36\x41\x5b\x1f\x0a\x18\x8f\x92\x40\x37\x01\x79\xe1\xd2\x16\xe0\x58\xa3\x88\xec\xd5\x29\xeb\x0a\x94\x8c\x01\xe8\xf1\x66\x96\xa5\x0c\x59\x46\x9d\x33\x7c\x32\x2d\xa3\x93\xfe\x82\xee\x26\x1e\x6b\x6a\xbb\x7a\x9a\xec\x3b\xb6\x6d\x2d\x14\x70\x9f\x03\xbb\x74\xce\x53\x61\x30\xa4\x31\xb8\xa8\x32\xad\x45\x55\x00\x99\x17\x69\x25\x9a\x47\x7a\x2f\xd6\xec\x09\x18\xc3\x04\x86\xdb\xc3\x7b\xa4\x46\x05\x0a\x81\x8a\xb8\x17\xa3\x8f\x77\xf0\x98\xa4\xbd\x04\xd5\xf0\xaa\xc9\xd9\x94\xe2\x04\xcf\xa1\xa8\xb5\x5e\x27\x48\xf3\xc3\xd3\xee\x08\x3d\x1f\x34\xc7\x0e\x95\xa9\xf0\x71\x0d\xb9\xd5\xd7\x0d\x0f\xc2\x1c\x3b\xd0\x9c\x2c\x12\x2a\x04\xde\x66\xeb\xf5\x23\x77\xe4\x2b\xf9\x0e\x46\xe6\x93\xa5\x95\xc9\xf9\x69\x0b\x24\x0d\x8c\x1a\x9b\x87\xcf\x94\x53\x86\xd2\xfa\x19\xd4\xd4\x0c\x9e\x1e\x2f\x2b\x91\x92\x7d\xcc\x1b\x1d\x3c\x6b\x77\xfc\x3f\xd4\x98\x6e\xe5\xc9\x32\x26\x7d\xc4\xe2\x66\xa1\x1a\x5d\x5f\x0f\xd0\xbd\x88\x94\xd0\xf3\x70\x47\x6a\xff\x39\x18\x74\x59\xce\x6e\xe1\xb9\x9b\xe6\xe3\x43\xed\x5a\x28\x1e\xba\xef\xa6\xcd\x48\x47\xfd\x98\x3d\xfb\xa7\x1f\xae\xc7\x61\x8f\x47\x16\x53\x9b\x84\x67\x5e\x19\xe8\x48\xb7\x13\xfe\xbd\x9a\x20\x35\xba\x3b\x56\x89\xf4\x14\x49\x43\x06\xff\x63\xd4\x41\x75\x7f\x6b\xa3\x7b\x2d\x54\x67\x84\x20\xf2\x11\xad\xe7\x09\xb4\x86\x5c\x88\x28\xa1\xbc\xa4\x9f\xca\xe0\xfa\x2f\x63\x17\x8e\x5c\xc6\x8a\x09\x11\x85\xa4\xd0\x3c\x1b\xf3\x82\x22\xe4\x4d\x6b\x91\x84\xed\xa9\xf5\x24\x92\x9c\x52\x95\xe7\x86\x0d\x83\x80\x1a\x24\x75\x18\x1c\x20\x2e\x38\x9a\x14\xae\x84\xa8\x18\x1c\x53\x67\x8e\x31\xea\xf9\x18\x54\x6b\x49\xf7\xef\x23\x24\xc8\x8a\xa4\xe3\x96\x3d\xac\x86\x91\x79\x7f\x8d\xdc\xeb\x23\x57\x13\xe7\x90\x91\x17\x07\xba\x6a\xf9\xb0\x37\x46\x95\x64\x55\x90\xbb\xc4\xe9\x50\x87\x82\x52\x9b\xa5\xbd\x24\xf1\x1e\xed\xa2\xf6\xd4\xf9\x3b\x75\xe7\xd3\x9a\x35\xae\x06\xdc\x23\x93\xeb\x5b\x76\x9d\xe8\x3e\x25\x60\xc4\x2e\xc1\x10\x72\x39\xa9\x19\xec\xaf\xee\x65\xc1\x18\x99\x10\x1e\x59\x13\xa5\xdf\xab\x24\x45\x28\x46\x53\x57\xc9\xbc\x15\xb4\xed\xdb\xf9\xae\x0b\xcf\xdf\xaa\x3c\x35\xe8\xfd\xd7\x29\x05\x32\x20\x84\xf8\x86\x23\x4f\xd9\x69\xd1\xdf\xbc\x8c\xd0\x0e\x0c\x0d\xfc\x5b\x86\xc7\x2e\x47\xe8\xa9\x6e\x5f\x2b\x01\x90\xd9\x86\x22\xba\xc8\x4b\xd0\x16\x48\x23\xce\xe5\x74\x59\x97\x14\xa3\xa0\xa4\x20\x9d\x4b\xa9\xa0\x54\x7d\x96\x87\x8c\x4d\xf5\x0e\xf6\x27\xe9\x50\x20\x4c\xe6\x02\x17\x7a\x07\x5c\xb5\xc5\x8b\x69\xc0\xc0\x28\x50\xf2\x4b\x69\x82\x2b\x15\x89\x87\xa4\x51\x7e\xc1\xc7\x65\xb9\x24\x28\xfc\x38\xa2\xdd\x4a\x7d\x7b\x64\x04\xb9\x52\xb2\xce\x85\x8e\x1a\xa0\xf8\x7c\x07\x5f\x56\x7e\x84\xaf\x08\x5f\x57\xda\x7b\x4f\xaa\xb7\xd6\x1b\x1c\x98\x7b\xa6\x0e\xff\x1d\xa8\x91\x60\xe1\x70\x46\x58\x8e\x0a\x1d\x29\x46\xe1\x81\x87\xc4\xaa\xee\xae\x6f\x18\xd1\xc7\xfe\x1d\xbb\x4f\x3b\xc2\x5b\x35\xbd\x7f\xd3\xde\xbf\x95\xdf\xbb\xdd\x72\x07\x48\xcc\x78\x4f\x83\x3d\x85\x74\x5e\x27\x0c\x61\x03\x5d\x83\xaf\xa0\x1d\xd1\x23\x2a\xb4\xb2\xb3\x63\x05\x69\x4c\x49\x6f\x7a\xe2\x1d\xcb\x82\x3b\x74\x7d\xbd\x83\x27\x31\x12\x44\xe9\x28\xa8\x8b\xb9\xba\x3b\x15\xe3\xe7\xa5\x84\x45\x68\x52\x84\xe1\x8e\x06\xff\xca\x81\x5a\xe8\x97\x3b\xad\x88\x29\xd5\xa7\x09\x0e\xf9\x7d\xc7\xee\xb2\x11\xa0\xc9\x09\x92\x03\x32\x8f\xa0\xaf\x79\xc3\x97\x36\x32\x8f\xd8\x74\x1c\x73\x64\x97\x86\x53\x36\xb8\x59\x83\xb3\x05\xf2\x0e\x9b\xb7\x13\xc3\x89\x2f\xca\x0b\xf3\xd2\x99\xd4\x30\xe6\x19\x0a\xf8\x6a\xe5\xfc\x97\x8a\x9d\xd5\x60\x7f\x55\x5c\xae\x9a\x36\xc8\xea\x96\xf4\x7d\xb6\xea\xab\xda\xdd\x7d\xaf\x03\x28\xf3\xd1\xdc\x9a\x6f\x05\xe9\xb7\x5f\x52\x12\x60\x8d\x3e\x3c\x58\x58\xec\x9a\x80\xf7\xf7\xec\x8a\x90\x18\x5c\xcb\xab\x71\x50\x24\xbb\x38\x56\x77\xc6\x21\x78\x2b\xe6\xf8\x0e\x4a\x59\xbb\x8b\xb1\x45\x89\x4a\x62\x7a\x80\x3e\x0d\x20\x70\x7f\x9d\xc1\x7a\x0c\x0c\xbf\x16\xbf\xf0\x40\x90\xc5\x17\xd5\xbd\x28\x64\x90\x3d\x52\xbb\xb1\x28\xcf\x08\x82\xec\xec\x46\x03\x3a\x5e\x81\xb9\xf3\x51\x8b\xff\xb3\xfa\x4d\xfb\x54\x85\xce\x99\xcc\xd1\xe6\x06\xde\x3d\x44\x00\x1e\x3d\xfa\xc2\x53\x11\xef\x15\xfb\x32\xdd\x56\xd7\xf3\x7b\x50\x30\x47\x43\x61\x76\x11\x8c\x1d\x51\xf9\xcb\x75\xa8\x0c\x24\x51\x52\xe1\x97\x89\x9e\xed\x1a\xfe\x57\x5d\x15\x31\x12\x1c\x36\xeb\x9e\xf0\x67\x70\x67\x4c\xf4\xf5\xdf\x08\x0c\xf5\x92\x5a\x25\xc4\xb9\xb9\x1f\x00\x74\xe1\x27\x06\xd8\x02\xf7\x5f\x7e\x1f\xc3\xd4\xd6\x99\x0e\x3a\xec\xb6\x4e\x9f\xe5\x44\xa4\xa9\xff\xb1\x19\xb4\x1c\xff\xe8\x56\xaa\xb5\x5f\x3a\x4c\x4a\x41\x7f\x70\x9c\x4e\x77\x89\x5a\x5e\x6d\xd0\xd5\x5f\x1e\x3d\xe1\x62\xa8\x02\xfd\xa5\x97\x16\x33\x16\xed\xfb\x83\xeb\x8f\xd7\x25\x3d\xfd\x69\xd2\xcb\x2f\xe5\x44\xb7\x2d\x23\x02\x92\x33\x88\x4a\x47\xa2\x45\x4c\x47\x4f\x72\xe6\x41\xd5\xd1\xf8\xe5\x2e\x0b\x41\x88\x9b\x06\x89\x4b\xf8\x4f\xfb\xa7\xe4\xe8\x14\xe3\x40\xe6\x14\xb0\x30\x9a\xa4\xdb\x91\xe5\x0e\x48\xa4\xe1\x86\xe0\x29\x1f\x25\xb4\x5c\x6c\x41\x51\x0b\x69\x51\xec\x80\x19\x1a\x98\xe2\x43\xef\xbc\x59\x9f\xb8\x4f\x77\xb1\x05\x56\x80\x7b\x1d\xe5\x70\xa2\xe1\xd0\x8c\xd6\x75\x19\x90\x0b\x7b\x23\xb7\xcf\xd5\x24\x7b\x91\x59\x86\xd4\x0a\xa9\xda\x4b\x45\x2b\x51\xdc\x45\xc7\xdd\x4b\xbc\xa0\x46\x91\xd1\xa1\xcd\x49\xc9\x0d\x6b\xa7\xff\x5f\x87\xfe\xd7\x57\x64\x2f\xcb\xd5\x2e\xf9\xe4\xee\xaf\x9e\x22\x34\xaa\xdf\xe6\x6c\x8e\xf8\x01\xb9\x55\x78\xdb\x8c\x52\x6f\x81\x21\xec\x3c\x87\xfc\xbe\x0c\xfc\xdd\x07\xe5\x3c\x8a\xd9\x32\x8c\xcc\x5c\x8b\xad\x73\x52\x5e\xd5\xea\xac\x80\x32\x88\x73\xf1\xbf\x0e\x17\xbf\xbe\x22\x2f\xa0\x14\x09\xe7\x3b\xd1\x07\x3a\xe0\xb7\xee\x32\xd0\xfe\xda\xc4\xb9\x11\x00\x5d\xe3\x2e\x0b\x04\xcc\x31\xd2\x4e\xdc\x09\x80\x30\x66\x9e\x62\x57\x96\xdd\x1d\xb1\x33\xe7\xc2\xcb\x32\xc5\xbd\xc9\xfc\x38\x0f\x51\x38\x19\x6d\x5b\x6e\xbf\xa0\xba\x89\x8f\x5f\x66\xa8\x77\x0c\x53\xc1\x19\xf7\x1c\xc0\x2b\xf4\x16\xce\xfe\xd0\xe8\x2e\x26\x00\xcd\xec\x0b\xa5\xd7\xa6\xbb\x70\x02\xf9\x78\xf1\x75\x38\x63\xb6\x6c\x78\x10\x14\x35\x30\xce\xcc\xf1\x1d\xb9\xd4\x6f\x50\x4a\xe0\xb0\x1a\x4e\xed\x01\xa2\x38\x2c\x78\x2f\xd7\x2f\x63\xe4\x3a\x42\x13\xb6\xb4\xac\x83\x53\x28\xbd\xbb\x6e\xf3\x6e\x60\x2b\x68\xdc\x0b\x4b\x18\xc0\x24\x0c\x5d\x5f\xa5\x6a\xe4\x07\x64\xaf\xf4\xb7\xba\xe5\x9b\x56\x7c\x28\x4e\x57\x2e\xc1\xfd\xfa\xd2\x3c\x08\xeb\x8e\xce\xd9\xff\x3a\x9c\xfd\xfa\x8a\x3e\x7b\xbb\x1d\x3f\xe4\xfb\x90\x02\xe6\x3d\x35\x70\x49\x1c\x0f\x0d\x69\x34\xf2\xe5\xb3\x28\x25\xe2\x6e\xf8\x3e\xce\x90\x8b\x17\x06\x75\xb3\xe5\x3a\xf4\xac\xd4\xeb\x28\x2c\xaa\x2b\x1a\x24\xf3\x9d\x59\x4c\xc3\xd3\x20\xcf\xb3\x93\xc7\xd0\x77\x11\x67\xf0\x7b\x4a\x01\x6f\x13\x83\x3a\xe5\xb8\xc7\xde\xd7\xae\x39\xa0\x54\x3f\x0d\x6a\x63\x60\x74\x7e\xdc\xa1\x9e\x65\x8b\xd6\x24\x40\x36\xed\x0f\x79\x32\x44\xfe\xcf\xa7\x2d\x64\xff\x51\x22\xc5\x73\xdf\xd4\xb2\x23\x62\xb9\xfb\x36\x40\x06\xb2\x29\xec\x0d\x9b\x49\x18\x6e\x6b\x81\x95\x63\x18\x41\x86\x3c\xb0\x6d\xc0\xb8\xc4\x7f\xae\xaf\x5d\xf3\x36\x86\xc8\x46\x7b\xb3\xee\x9d\x99\x7a\x64\x1e\xe5\x69\xa4\x13\x07\x6d\x14\xb3\xac\x82\x2b\x2c\x90\xe2\xb9\x64\x9a\x5e\xba\xac\x21\x07\xc5\x0d\xe3\x6a\x19\x8c\x07\x8a\x55\x0c\x3b\x82\x57\x18\x53\xc9\xc1\x14\x98\xf5\xf7\x11\xb2\xe0\x08\xad\xbc\xf5\x22\x65\x8e\x8b\x33\x26\xd1\x41\x61\x00\xdc\x7b\x68\xc4\x2c\x7f\xe3\xa8\xd3\x2b\x63\x65\xbe\x64\x25\xe2\xfa\x86\x01\x8d\x9d\x85\x0f\xdf\x17\x14\xc0\x0d\x87\xa8\x2c\xb1\x54\xb5\x99\x8b\xaf\x20\xae\xe3\xbc\xad\xdb\xa1\x3e\xf8\x2d\x6a\x79\x02\xe8\x82\x0e\x94\x98\xc3\xd0\x7a\xbe\xfd\xee\xd6\x7d\x8e\x8d\x8d\x97\xd6\xf3\xbc\xee\xdf\x2e\xf3\x7d\xc9\xcb\xd9\x79\xe2\xfb\xc2\x58\x8d\xb4\x60\x93\x6f\xd7\x01\xfa\x99\xf4\x8c\xe8\x18\xbb\xc8\xb9\xed\xda\xed\x8a\xf8\xb6\x51\x20\x2e\xf4\x71\x99\x1b\x76\x7d\x91\x6c\x62\x10\x47\x00\x49\x24\xbb\x1b\x57\x6c\xa2\x4c\xf7\xcd\xc2\xb6\xd4\xe1\x09\x28\xe0\x4f\xa0\x88\x23\xf8\x00\x11\xaf\x76\xee\x30\x3b\x65\xa9\xee\x2c\x7a\xc7\x7d\x76\x0e\xa1\x6a\x25\xd0\xac\x62\x5a\xcf\x95\x5d\xe4\x15\x4a\xa2\xed\x64\x8a\xc7\x4f\x06\x59\x78\xb5\x36\xe0\x99\xc5\x44\xb7\xfd\x38\x94\xf1\x73\x2b\xeb\xdf\x3f\xe8\xbb\x66\x64\x0c\x6d\xda\x43\xca\x30\xee\x1b\x84\x9f\x97\xb3\xf7\x2b\xd0\xc5\xce\xf7\xf6\x6f\x6f\x77\x76\xc3\x04\xab\x4f\x12\xb0\x56\x9c\xe6\x8e\xb4\x1a\x76\x87\xb8\x9a\x17\x84\xe3\x7b\x56\x84\x84\x11\xe2\x5c\x6f\xe6\x44\x6e\x6c\xfc\xe6\x09\x9f\x30\x8e\x9a\x46\xc2\x17\xc2\x95\x6a\x07\x03\xcc\xec\xe2\x36\xad\xa2\x38\x1a\x4e\xd5\xde\x67\xfc\x5c\x25\xf0\xde\x4d\xbc\x8f\x85\x03\x2a\xe1\xbc\xfa\x5f\x87\x57\xbf\x6e\xfc\xab\xde\xd3\xc2\xb6\x5d\xaf\x4e\x00\x35\xa2\x56\xb4\xd1\x8f\x4a\xee\x5f\x00\x7c\x1a\xb1\x55\xf1\x38\x02\x2a\x1e\x15\x71\xa5\x5d\x7f\xb5\x0e\x55\xe4\x70\x06\xbd\xf8\x59\xaf\x0b\x21\xf1\xc6\xb9\xea\x9f\x3b\xf8\xeb\xfa\x5e\xef\xf3\x7f\x5a\x5d\xed\x64\x0d\x57\x45\x9b\x5e\x81\xcd\xc9\xc7\x77\x61\x12\x63\xbe\x6c\x93\xef\xa2\x21\x85\x84\x30\x6c\xe3\x90\x31\x04\x17\xc2\x34\xca\x29\xe2\x12\x92\xde\x0b\x40\x3a\x97\x88\x78\xe0\x9c\x45\x5a\x29\x15\xf9\xcf\xbd\x8f\x3e\x53\x2f\xa2\xa5\xd5\x88\x14\x10\x89\x34\x90\x3d\x9e\x59\x86\x3c\x63\x14\x14\xa0\x80\xb2\x9d\x7e\xaf\x2a\xee\x88\xf8\x9c\xef\x62\xd0\xf1\xcf\x30\x5b\x17\xac\xce\x03\x0f\xf6\x53\x63\xe2\xbb\xc2\x83\x8c\x06\xd9\xd5\x0c\x23\xc2\xce\x4a\xab\xef\x42\xb0\x1a\x82\xfa\xae\x1c\x41\x53\xe4\xb7\x1d\x24\x53\x14\x7a\xeb\x5f\xe3\x94\xf1\x32\xf3\x31\xf3\xf9\xae\x8b\x8f\x09\x31\x72\x63\xe5\x83\xfb\x38\x4f\x4e\x58\xda\x32\x37\x7b\xc2\xa8\xa5\x6a\xa0\x41\x11\x88\xfb\xd5\x69\xcd\x1b\xd8\x5c\xf6\x63\xb5\xb0\xc8\x1d\x6b\x91\x27\xe7\x99\xbb\xc3\xd8\x77\xe2\xee\x79\x44\x0b\xdd\x9e\xdd\x94\x64\x69\xf0\x64\x36\x57\xf2\xc0\xdd\x1e\x3e\x18\x9c\x0a\xbc\x23\xad\x7d\xcb\x2e\xb8\xff\x15\x8a\x5f\x05\xa7\x05\x57\x51\x30\xa5\x69\x82\x63\x82\x98\x0d\xa3\xa6\x48\x45\x35\xeb\x62\x66\x84\xca\x45\x4e\xda\xa8\xcc\x4b\x7a\x2c\xb8\x8c\xe0\x3f\xd0\x5e\xfe\xe1\x3d\xe7\x50\x70\x9f\xae\x20\xfd\x87\x21\xb0\x52\x52\xe0\xa7\x22\x8a\xcd\x78\xbd\xe9\x10\x24\xe1\xd6\xef\x5b\xf9\xcc\xcc\x1f\x7e\x34\x36\xbc\x28\x78\x5c\x2b\x5f\xcd\xe3\xd4\x38\x06\x9f\x88\xa3\x42\xc5\xf9\xf1\xa8\xd6\x9c\x1f\xde\xbd\xa2\x78\x0e\xc5\x94\x7e\x36\x56\xc9\xb9\x39\x53\x27\x70\xcf\x24\x27\xc4\x98\x7b\x0b\x9f\xc3\x3b\xfd\x49\x0c\xe1\x3e\xe0\xb1\x44\xa8\x07\x3f\xa4\x1a\x21\xb7\x3f\x57\x11\x07\xbd\x1b\x91\xcc\x79\xf8\x33\x91\x5c\x24\x47\x83\x1c\xf6\x36\xe7\x06\xd2\x32\xd8\xd6\x73\xd1\x21\xbe\x64\x8e\xcc\xe5\x7b\xa2\xd1\x3b\xf5\x4c\x34\xe3\x4e\xdf\x88\xbd\x0f\xcf\xc5\xc7\x61\x53\xd8\x93\x03\xea\x1e\xce\xdb\xff\x75\x78\xfb\xeb\x2b\xfa\xed\x7d\xdc\xca\xb7\xa0\xee\x6c\xfe\xca\x2f\x68\x8f\x50\x14\x76\x47\xdf\x70\x5b\x4f\x8a\xa0\xb5\x6d\x7a\x84\x12\x50\x53\x1d\x33\x97\x8a\xc9\xa8\x69\xb6\xad\xd1\x76\xff\x89\xd5\x8e\xba\x46\xef\x6c\xe5\x80\x0d\x89\xe6\xa6\x17\xef\x5e\x59\x25\xea\xd2\xa8\x00\x1a\xef\xcb\xc3\xdd\xa6\x0f\xf8\x20\x7b\xd7\x94\x3e\xcb\x2f\x68\x23\x8d\x57\xa2\x73\x4a\xdd\x7a\x58\xfb\x6e\x67\xeb\x4c\xa7\x42\x68\xec\x28\x42\x05\xad\xb1\x84\xfc\x1c\x6b\x55\x9a\x9c\x84\xd7\x8f\xa9\x42\x04\x61\x48\xbf\x69\x13\x11\xc5\xfe\xcc\xec\x02\xb0\x84\x86\xc9\xa3\xa3\x1a\x5d\x1d\x0f\xe7\x16\xad\x0b\x0f\xe3\xe0\x8c\x11\xa3\xa0\xea\x49\x4f\x57\xcc\x7d\x5a\xb6\x2b\xf3\x97\xad\x14\x8c\xce\x2c\xfd\x39\xc5\x2c\xd2\xe0\x87\x54\x87\xc4\xa0\x81\x47\xbd\x9c\x79\x46\xe7\x52\x6b\x99\xf2\x3d\x85\x1b\x41\x6a\xfb\x93\x02\x1d\xa8\xae\xf0\x25\x58\xba\x2c\x8a\x98\xaa\x73\x3a\x3c\xce\x74\x93\xf4\xab\xde\x7b\x8b\x1b\x34\x6a\xf2\xbb\x15\xcd\x23\x4e\x41\xd9\xc0\xca\x13\xc7\x9a\x07\xbb\x7c\x8c\xb6\x11\x33\xe6\x17\xb8\xd5\x99\xc3\xea\x04\x5a\x5b\x63\xbc\x9e\xbc\x66\xea\x81\x10\x7b\x18\xa3\xb3\xb3\x41\x52\x0e\xd6\xdc\xb5\x3c\x9b\xce\xe1\xd4\x1d\xb7\xc1\x57\x1b\x07\xe7\x0a\x0d\x1c\xae\xfb\x28\x3a\x39\x0f\x01\x46\xeb\xaf\xa8\x96\xf1\xc9\x4c\x51\x96\x85\x3d\x03\x6e\x47\x4d\x8f\x51\xe0\x4e\x49\xfb\x5a\x09\x36\x69\x64\xfd\x12\xc9\xd5\xfa\x19\x4b\x4b\x3f\x4b\xd3\xf3\x7f\x87\x7a\xf1\xfa\xdb\x72\x75\x1d\x5d\x50\x24\x86\x88\x7e\x96\xb7\xe7\x3f\x15\x17\x0e\x61\x3c\xc9\x22\x89\xda\xee\x1a\x2f\xba\xd4\xb4\x0e\xb2\x13\xdd\xdf\xcf\xc0\x79\x29\x73\x14\x94\xe0\x2f\xc8\x85\x68\xed\x2c\xdd\x3f\xc2\xe6\xa0\x5b\x6f\x32\x59\xc0\xc2\xda\x95\xd5\x6f\xda\x34\x38\x07\xf2\xc7\x49\x5a\x26\x69\x81\x49\x14\x65\xe8\x3d\x9f\x02\xb4\x30\xb3\x1f\x02\xd8\x73\x54\xcb\x9c\xb1\x3c\x31\xe1\x3d\x71\x75\xf5\x22\x9b\xe5\x13\xae\xfd\xa3\x93\x84\x02\x37\xd2\x43\x0c\x3e\xc5\x36\xc0\xfb\x8a\xa7\x7d\x75\x24\x15\x08\x37\x7e\xc8\x41\x77\x14\x5f\x76\x8c\xeb\x27\xba\xb0\xc4\xa1\x6d\x47\xfd\xdc\x0b\x10\x6a\x0f\x67\x48\x98\x27\x0a\xee\xf9\xfd\x3a\x0d\xc1\xe2\xc1\x8f\x1c\x65\x04\x72\x28\x41\x38\xa3\xff\xbc\xcd\x1c\x10\x22\x14\xb9\x88\x26\xcc\x94\x99\xee\xfb\x62\x81\xe2\x04\x34\x0e\x4f\xdf\x3e\x89\x1b\x3b\xf5\x41\x60\xa3\xff\xdc\x5a\x8f\xb3\xbb\x29\x5d\x5b\xae\xfc\x04\x75\x49\xb2\xf5\x7e\xc6\x27\x0e\xd9\xda\x88\x09\xcb\x03\xd7\xc5\x60\xd2\x32\xb5\xe5\x81\x32\xc4\x89\xfa\x08\x9b\x5e\xad\xa0\xa3\x79\x7d\x72\x7e\x9f\x1e\x78\xcc\x5c\x72\x61\x23\xc8\x95\x5b\x6b\xe4\xad\x69\x54\x53\x49\x20\x8e\xf2\x39\x04\x55\xd3\x54\x68\xff\x81\x97\xd6\x67\xd6\x0f\x2d\x8b\x53\x4b\x74\xae\x78\x66\xc9\xa7\x7d\x70\x05\x94\xd5\xed\xae\x37\x06\x3e\x07\x9b\xc7\x13\x23\x3d\xde\x73\x02\xae\xd5\x6d\xa0\x58\x94\x0a\xee\xa7\xa2\x50\x8a\x41\xd0\xaa\x71\x59\xfb\xc3\xcf\x44\xdb\x4e\x16\x59\x70\x8b\xa6\x1b\x54\x39\x64\x51\xa6\x1c\xb8\x16\x05\xa7\x59\x0a\x0f\x79\x94\xf0\x1a\x16\x01\x4a\xad\x08\xb2\xa6\x4c\x8a\x5a\x3d\x02\x08\xe6\x4c\x0f\x05\x00\x64\x5c\xba\x33\x63\x8b\x36\xd9\x76\x7b\xf1\x06\x3e\xd5\x3b\x07\x14\x5c\xb0\x3c\xf8\xf0\x73\x55\x1e\xee\x2e\xa5\xd4\x7e\x28\x7f\x67\x51\xd1\x02\xec\x0a\xe6\xea\xfd\x56\xf7\xbe\x73\x5c\x21\x64\x8a\xbb\x7d\xbc\xe1\xc0\x2f\x6b\x66\x78\xbf\xc4\xd6\x83\x5b\x7b\x8c\x88\xd8\x42\xca\x6a\xa6\xc5\x46\x29\xdc\xb7\xa9\xe9\x21\xc8\x5f\x37\xb5\x11\x6b\x1e\x13\xc8\x31\xe3\x41\xf8\x23\x02\x5c\xc7\x8a\x03\x35\x77\x43\x8f\xee\x2e\xba\xdb\xc4\x73\x3c\xb5\xa4\x88\xaa\x44\x34\x1d\x7a\xf0\xff\x25\xc4\xd6\xe9\x6c\xa2\x07\x74\x06\x16\x4b\xd5\x8c\x7f\x5c\x49\x67\x67\x11\x2b\xe8\x4d\x68\x7d\x72\xb8\x5a\x9d\xf8\xc5\x71\xe1\x39\x1e\xe3\xab\x46\x11\x21\x89\x4b\x9c\xfa\x27\x91\xed\x48\xb1\x87\xa8\xb1\xbd\xb7\x8d\xd2\xc1\xda\x43\x6f\x6b\xb3\xcd\x5c\xf8\xeb\x8b\x51\xd8\x07\x96\xe0\x67\xaf\x36\x1e\x32\x38\x82\xa7\x0c\x28\x54\x21\xc5\x70\x8c\xe5\x97\xd7\x71\x7f\xf5\x19\x31\xfc\x39\xb7\x5f\xa3\xac\xe1\x1c\x56\x37\xe6\xd6\x8d\x36\x28\x1b\x58\x97\x6b\x92\x21\x1a\x68\x91\x83\x5f\xc1\x24\xca\x92\x1f\xb0\x49\xfb\x7a\x24\x70\xd4\x4c\xee\x20\x99\xb2\x92\x49\x86\xbe\x4a\x43\x55\xeb\xbe\xfe\x01\x74\x2c\x3d\x1d\x91\x76\x94\xa0\x83\x47\x56\xf8\xc4\x5b\x66\xc7\xd3\xb6\xf0\xda\x20\xc5\x19\x48\xc9\xd8\xed\x54\x72\x12\xab\xf7\x94\xe1\x33\x13\x0b\x7e\x1f\xa8\xb4\x52\xf8\xfb\xeb\x77\x0c\xb5\x8c\x4c\x75\x42\x30\x16\xc0\xcd\xcf\xb6\x5f\x39\x90\x87\x6b\x74\xf3\xad\x4e\x62\x6f\x1c\x29\x0f\xae\x09\x01\xcf\x4e\x23\xc8\x6d\x83\xcb\x3c\x35\x55\x42\xad\x01\xdc\x66\x1b\x17\xce\x8c\x4d\xfa\x7a\x73\xbc\xda\x1d\xfe\x62\x5e\x7c\xe6\x63\xbc\x55\x0e\xb8\x50\xff\xc6\x43\x1a\x5d\xcc\xfa\x47\xc0\xf1\xc4\xfa\x84\x10\xec\x4a\x93\x36\x7a\x84\x87\x61\x29\x36\x1a\xca\x12\x5b\xfb\x7f\xcb\x1a\x30\xbe\x2f\x01\x83\x02\xda\xec\xc5\x43\xc0\x4f\x59\x2d\xa3\xf9\x8d\x2a\x29\xb2\xef\xa8\x8d\xac\x86\x8b\x67\x47\x09\x1f\x7b\xa2\xf2\xe4\xf1\xac\xd7\x46\x92\x5b\x6c\x2e\xdc\xfd\xbd\x32\xa0\xa6\xd3\x20\x32\x00\xe3\xad\x2b\xba\x32\x08\x66\x09\x65\x00\xda\x84\x31\x02\xea\xd5\x41\xd5\x1d\xff\x62\x5f\x30\xfb\x31\x5e\xab\xcf\x78\x4d\x8d\x50\x07\x2a\x36\x44\x5f\x8a\x71\x81\xe7\xcc\x25\xcc\x76\xbc\x5b\x3d\x85\x87\x01\x4f\x9a\x44\x2b\xe2\x8f\xdd\x8a\x15\xdf\xf3\x33\x88\x5c\xab\x45\x5b\x0f\x9f\xee\xec\x7c\x85\xc2\x0d\x42\x0f\xc8\xa3\x11\xc2\x26\xba\xde\xcf\xe9\x7a\x78\xb3\xda\xc6\xb1\x2f\xb6\x45\x67\x3b\xc6\x67\x35\x61\xe4\xb9\x8a\xe8\x1e\xa4\x9e\x78\x85\x9e\x66\x38\x80\xbd\x38\xc1\xf4\x00\x64\xd3\x20\xc1\x9f\x56\xe8\xb0\x3b\x11\x33\xfe\x66\x82\xbf\xa7\xd4\x23\x6c\x44\xc2\xbd\xc2\xdf\xbd\xec\xd3\x53\xd0\x59\x3d\x03\xec\x92\xb8\xa4\x5f\x89\x48\xb3\x9a\x9c\x3a\x29\x9d\x91\xec\x70\x6e\x25\xc9\xf8\xb2\x12\x40\x8c\xfd\x14\x96\x30\x02\x79\xc2\xf5\xb6\x69\xb1\x72\x09\xa9\x26\xe7\x14\xb9\xb3\xee\xd6\x04\x57\x46\xf0\xcc\x89\xb9\x08\x3a\xf4\xeb\x0d\x42\xcb\xf5\xab\xbc\x07\x1e\x40\x79\x4b\x93\x9d\x56\x36\x47\x27\x07\xbb\xf6\xd1\xd4\x51\x10\xf2\x3c\x9f\xdc\x26\xa8\xdf\x53\x96\x9c\xfb\x06\x3b\x7f\x68\x7a\x2d\xc4\x49\x2a\x11\x64\x67\xe2\xc2\x95\x23\x12\x13\x11\xb6\xe8\x62\xb1\x11\x40\xe0\xc4\xa9\x3f\x61\xc8\xfe\x6e\x4f\xd9\xd8\xfc\x7b\x4a\x15\xc8\x76\x3d\x63\x17\x82\xed\x0c\x33\xda\xab\x41\x91\x77\x1b\xb2\x10\xd9\x76\x73\x80\xe4\xba\x05\xcc\x95\x66\x40\xa1\xbf\x28\x8d\xbc\x9e\x05\xa6\x3f\x93\x91\xc9\x43\xff\x45\x6f\x73\x0a\xff\xe0\x60\x54\xb3\x8c\x78\x4f\x03\x7c\x92\x7d\x28\x30\xd3\xed\x42\x21\x88\x5e\xb6\xb4\x6a\x06\xeb\xff\xa8\x87\x1f\x99\x71\x5f\x2e\xb2\xd1\xa2\x9b\x22\x07\x2f\x2f\xcd\xb1\x83\x03\xaf\xef\xae\xd4\x24\x56\x99\x43\x4c\x52\xe2\x8c\x9d\xb1\xe2\x0e\xf1\xed\x07\xca\x52\x1e\x61\xa4\x7f\xd5\x48\x75\x5e\x5a\xc5\xd1\x57\x96\x36\x80\x8b\x87\x56\x61\xef\x82\x4a\xb6\xb4\xb4\xcc\xcc\x4e\x5c\x54\xda\x39\x05\xcd\x63\x32\x85\x9a\xe3\x74\xaf\x84\x47\x82\x61\xb3\x13\x66\xde\xfa\x68\x29\x84\xd7\xa5\x99\x45\xd5\xb5\x14\xbf\x66\xb4\xc4\x45\xcd\x86\x26\xef\xd9\x70\x00\x33\x81\x36\x45\x6b\xa3\x48\x11\x2c\x12\xb9\x8b\x0f\x9e\x2f\xab\x3b\x78\xe7\xfc\x07\x7a\x95\xad\x58\x1a\x47\x52\x2d\x7f\x47\x1a\x99\x09\x1d\xef\xeb\x69\xd0\xf3\xaa\x54\x6e\x12\xed\xbc\x78\xba\x7a\x34\x87\xc6\x98\x79\x5c\xd9\x82\x5e\xfc\xe5\xfd\x20\xd6\x9d\x2d\x3d\x3a\x44\xc7\x35\x4d\xaf\xd0\xc1\xae\xeb\x79\xda\x69\xb9\x46\xa4\xca\xad\x65\x7c\x6a\x79\x12\xea\x7c\x69\x92\x73\x18\x4d\xa9\x09\x0f\xa9\x26\xb2\x86\x03\x84\xba\xa8\x8b\x5d\x01\x65\x15\xcb\xb8\x8e\x86\x27\xbc\x40\x5f\xe8\x45\x4a\x7e\xeb\x82\x1d\x60\x4b\xaf\x17\x95\x1e\xc7\x50\xac\x1d\x2f\x05\x5c\x44\xf7\xf8\xa6\xad\xc3\x86\x62\x3c\xd4\x9e\x99\x81\x12\x1f\x09\x0b\x63\x98\x09\x17\x03\x23\x97\x52\x13\xce\x5f\x1f\x76\x34\x8b\x03\x7a\x29\xfe\x7c\x76\x0e\xb1\xfa\x7c\x48\x18\x27\xa2\xe4\x6d\x18\x28\xbf\x8a\xe8\xcf\xa8\x68\xa8\x84\x79\x85\x7e\x88\x97\x42\x04\x38\xe9\x40\x38\x4a\x43\x49\x41\x9a\x0e\x09\xac\xc9\x9e\xfe\x52\xb4\x28\x15\x29\x8a\x8a\x6d\x14\x37\x0e\xad\x7c\xd6\x89\xab\x8b\x1e\x6c\x47\x3e\xf6\xb5\x97\xc7\xdd\xa7\xbe\x28\xf9\x40\xc1\x66\xf8\x10\x12\xa1\xf2\x1e\x4b\xec\xa0\x48\xa1\x79\x3d\x40\x08\xab\xcf\x5e\x16\xf4\x0c\x15\xae\x19\xb0\xb2\x65\xe7\x1f\xaf\x5e\x33\xf4\xd7\xd7\x3c\x06\xad\x35\x7a\xe5\x6d\x51\x42\xc8\x56\xab\xfd\x44\x77\x8c\xca\xc7\x92\x2c\x22\x83\x93\x89\x12\x4b\x4b\x62\x15\x9d\x4d\xdc\xc4\x14\x8f\x72\xc4\x4a\x06\x9b\x58\x5e\x91\x2b\x58\x88\x30\xca\xee\xb7\x06\xb3\xb8\xb2\x4c\x3c\xd1\x1e\x33\x47\x99\x99\x57\x65\x1f\x40\x34\xe8\x58\x0a\xd1\x62\xdf\x69\x9f\xcb\x34\x25\x47\x96\xa9\x47\xb4\x3b\x64\xb5\xe1\x1b\x23\x3f\xce\x24\x46\x12\xe8\xd3\x80\xe4\xd5\x09\xca\xe0\xd9\xf8\xea\xa7\xe5\x96\x7c\x45\xd7\xce\x2e\x95\xeb\x8b\x9b\xc3\xf8\xbf\xfd\x17\xbf\x44\x60\x0d\x2d\xdc\xc2\x53\xc6\x46\x8a\xf1\xb2\x7b\x69\xc9\x04\xe6\xc3\x6b\xe5\x68\x56\xff\x64\xd9\x16\x8e\x63\x4a\xe8\x33\x45\x6f\x39\x66\xd1\x6f\x6d\xa3\x37\x5d\x9b\x88\xa7\x73\x8a\x01\x9d\x9f\xcf\x33\xa6\x44\x2c\xef\x2b\xe7\x77\xaf\x72\xf5\x49\xf8\xb1\x76\xdb\x10\x59\x46\xe3\x70\xaa\xf8\x87\x47\x7c\x21\xa7\x6e\x17\xf0\xdc\x31\x4b\x20\x7f\x5b\xf3\x9f\xbb\xe4\x12\xd5\x9f\xb8\x0e\x2f\x46\xc1\x02\x75\x52\x5c\x40\x1e\xcc\x96\x73\xcb\x92\xf2\x83\x8a\x85\x91\xba\x62\xbd\xf5\x5e\x9f\x46\x5b\x3b\xa4\x09\x4f\x60\x49\xc5\x07\x55\xd3\x4c\x6d\x0c\x77\x20\x10\xff\x2c\x9c\x83\xf6\x7f\xff\x5d\x85\xb9\x5c\xbf\x49\xbc\xf0\x2f\xf2\xc7\x27\xb1\xfa\xf2\xef\xe0\xff\x09\x7c\xe7\xda\xdf\x56\xfb\x76\xcc\x1b\xf5\xf8\x56\xa4\x2d\xfb\x31\xbf\x2f\x35\xc6\x97\x78\xf9\x89\xc7\x51\x7d\xb9\xb6\x56\xe3\x41\xe3\x67\x89\x6e\x0c\x55\xa5\x99\x58\x60\x79\x26\x89\xf5\x5b\x37\xae\xa5\x1e\x83\xf8\x14\x3d\x36\xa7\xa8\x72\x9c\x0c\x06\x19\xb1\xcd\x11\xe0\xc4\xbd\xb4\x3a\xb8\xbe\x10\x8f\xec\x2a\x7e\x15\xc9\x68\xc5\xd1\x4e\xfc\x22\xed\x85\xb4\x7e\x66\x94\x89\x80\x86\xc0\x42\x1e\x88\xd2\xd7\xf8\x10\xf9\xb2\xdb\xad\x2f\x73\xae\x20\xd7\x7c\x8d\x8d\x34\x32\x40\x8b\xcb\xb5\x15\x62\x14\x91\xbf\x89\x76\x57\xe6\x45\xe0\xf7\xa6\xd1\xee\x51\x79\x44\xcf\x9e\xca\x99\x75\x09\x88\xb6\x9a\x6f\xd6\x9c\xf5\xeb\x4c\x5a\x90\x8e\x8f\x7c\xbb\x80\x41\x88\xf0\xb4\x6a\xdc\x63\xab\xbd\x21\xe7\xc8\xca\x62\xf3\xd6\x9b\x15\xe3\x08\xed\x3f\x64\x66\xae\x50\x73\xe8\x3c\xbb\xa4\xe5\x0a\x10\xa8\x0d\xd9\x98\xc2\xa5\x90\x41\x8b\xe9\x89\xff\x58\x51\xaa\x13\xfd\xfc\xfb\x82\x95\x03\xb6\xf0\x63\x4f\xdb\xa2\xea\x84\xe6\x6f\x5b\x95\xfa\xef\x0f\xbd\xf5\xf6\x70\xfd\xc7\xec\x12\x58\x6a\x7a\x53\xd7\xc1\xff\xaf\xdf\x3b\x87\xc8\xfb\xc3\x71\xf5\xf7\xbb\xec\xf7\x1f\x7c\xf4\xf7\xbb\x9c\x1e\x31\x5a\xcf\xbf\x6f\xf8\x62\xd4\xf7\x3c\x6f\xbc\xe5\x6b\x64\x8d\x38\x28\xae\xde\xbd\xae\xaf\x67\xa2\xf3\xf0\xea\xe6\x4b\xf5\x1f\x60\xc8\xc8\x41\x3d\x42\x45\xec\x77\x45\x99\x44\x08\xb3\x10\xb9\x83\x1b\x88\x4e\xf6\x7e\x9a\xbd\xa3\x5f\x31\x38\xcc\x09\x61\x2d\x32\x27\x2f\x8c\xcc\x89\xa9\xa0\xea\x6c\x32\xe2\xbf\xb7\x1d\xc3\x4a\xd3\x05\x94\x62\x84\x3d\xe8\xcc\x02\x74\x94\xa2\x0f\xf7\xbd\x9d\x34\x8c\x30\x0c\x3f\x46\xd7\xc3\xc9\x20\x61\x38\x32\x1f\x07\x26\x60\x20\x8f\x4e\x3e\x63\xc1\x2d\xf3\x37\x83\x46\x7f\x69\x86\xb5\x3d\xe7\x88\x58\x5b\x1b\xd2\xd4\xfc\x8d\x07\x90\xbc\x3c\x3d\x50\x70\x9a\xe4\x4e\x6c\x82\x83\x90\x13\x64\xba\xc8\x8e\x75\x1e\x8a\x0e\x93\x7a\xe1\xae\xc3\x47\x22\x04\x6e\x95\x92\x66\xb9\x25\xba\xe9\xae\x2f\x94\xf1\x2c\x15\x63\x0d\xc3\x7e\xb8\x7e\xc2\x19\xa4\x39\x7d\x49\x36\x3c\xe3\x7a\x2e\xb5\x12\x6f\x1c\xe6\x8e\x98\xfd\x59\x92\x0c\x31\xc8\x0e\x62\x59\xac\xc2\x83\xaa\x08\xa8\x64\x65\x58\x1a\xba\x15\x7d\xf4\x05\xdf\xf4\x86\xdd\x94\x20\xee\xba\xc7\xad\xa9\x9a\x7e\x54\x6d\x3f\xf2\x39\x50\xe3\x5d\x7e\xac\x91\xdf\x4e\x0a\x3d\x94\x6f\x76\xa9\x20\x2b\x6f\x21\x18\xaf\x18\xe2\x94\xb1\xf1\xb6\x0d\x6b\x9c\xbc\xad\x19\xef\x95\x7e\x75\xa8\xdd\xea\xc8\x37\x27\xbe\x7a\x9a\x0f\x6e\x72\x6c\x7d\xfb\x53\xf0\xed\x56\xdd\xff\xe9\xb2\x31\x39\x61\xb5\xb1\x3b\x67\xaa\x7b\xbf\x6c\x3f\xce\xc7\xf2\xd2\xcf\x11\xcd\x39\xa3\xb2\x69\xba\x46\xc5\x07\xf7\x24\xc8\x0c\xa4\x29\x4c\xf0\x37\x28\x11\x8a\x02\x16\x18\xdd\xc7\x7b\xe2\x84\x45\xda\xde\x17\x03\x83\x14\x53\x2e\x24\x69\xcb\xf7\x96\x50\x91\x5e\x33\xab\x90\x11\xa2\xcb\x7b\xa3\x23\x55\x7a\xb7\xa3\x12\xdb\x41\x2c\x19\x6b\x69\xcc\x44\xa0\x52\x42\xf9\x95\xf6\x37\xce\xe2\xd9\xf5\x6a\x32\xaa\x7c\xa5\x4c\x4f\x2a\x32\xef\x13\x75\x8b\x5c\xcf\x6b\xd8\x24\x0b\xff\x91\x1c\xb6\x9b\x80\xce\xfa\xa1\x49\x72\xbb\xd7\x1a\xbf\x70\xb3\x7e\xeb\x81\xfa\x53\xf7\x44\x9a\x3a\x05\x1e\xfc\x15\xb0\x7f\x74\xe6\xb8\x2e\xe8\xd7\x00\x83\xfa\xa0\x89\xf2\x6d\xe8\xe0\x0c\x0b\xf7\x2d\x37\xbe\xba\xd9\x68\xdd\x1d\xb8\xe4\xdb\xd4\x7e\x11\xe2\x3d\x1d\x85\xab\xd1\x72\xb8\x41\x62\xe6\x24\x6f\x80\x89\x02\xcb\x89\xc7\x3d\x1f\xad\x8e\xa8\x90\xa8\xb3\x36\x1c\x9c\x43\xd0\xa2\xa0\xae\x9a\xd4\xb6\xbb\x09\xb4\x69\xf6\x84\x27\xe1\xe1\xe4\x6a\xe2\x18\x83\xa8\x84\x86\x81\x2d\x8f\xa4\x5f\xcb\xff\x95\xb2\xbe\x13\x7c\xbf\x43\x21\x00\x0d\xf3\x20\xdc\x21\x0a\x43\xf3\x2b\xbc\xeb\x2e\x06\xeb\x7d\x1d\xaf\x39\x4c\xec\x25\x9f\x9b\xe0\xda\x31\xb9\x8c\xe7\x0a\x56\xf6\xe3\xbc\xdb\x17\x4b\xbc\x26\x5f\x2d\xd1\xf9\x80\x7b\xde\x22\xff\xe6\x57\x6e\x6c\xa0\x13\xf9\x93\xe9\x57\xd0\x2c\xf2\xbc\x6b\x04\xf9\x5f\xcd\x56\x2e\x36\x55\xf5\x2f\x13\x2c\x4b\x01\x5e\xfb\xfd\x16\x27\xe0\x58\x5f\x5a\x94\x46\xf5\x90\x73\x70\x14\x7f\xfc\x99\x18\x88\xa8\x14\xd8\x1e\x6c\xde\xec\xf1\x93\xb6\xc9\x39\xe1\x73\x89\xc6\xc8\xde\x48\x69\xf2\x96\xf4\xbb\x56\xaa\x03\x9c\x9b\xd1\x90\x4f\xb1\x0f\x9e\x26\x50\xf9\x7d\x15\x9a\xb6\xb5\x89\xd4\x6d\x45\x13\xe3\x8e\x8e\x78\x26\x8f\xb4\x45\x9d\xef\x0f\x69\xe5\x60\x98\x92\x50\xe8\x04\x90\x4e\xea\x66\xec\xa5\x50\xf7\x03\x37\x80\xa0\x97\x3b\x71\x88\x28\xbd\x62\x30\x68\x79\xd8\x01\x21\xc0\x2c\x7d\xbd\xb0\x2f\xcd\xad\xbe\x68\x41\xca\x42\x51\xf3\xde\x28\x8b\xfa\x33\x9a\x7e\x37\x0b\x4c\x50\xf0\x47\x91\x10\x14\x74\x4c\x75\x68\x04\x62\x0b\x8d\x99\xe9\x0f\xd8\x05\x9b\xce\x96\x47\xb4\x3b\x70\x5c\xf2\xf0\xc8\x3b\xb4\x20\x2d\x47\x99\x67\x7b\xac\xb9\xe4\xa8\xd2\x44\x53\x6e\x33\x73\x56\xdb\xd9\x37\xc6\x6c\x38\xf9\x9d\xef\xb3\xf1\xc7\x70\x61\x12\x7b\xd3\x7e\xe0\x4f\x9c\x6a\xd5\xbe\x47\x8c\x4f\x66\x7a\xc9\x7e\xb3\x5d\x67\x82\xa9\xf8\xfc\x93\x7a\x04\x8c\x80\x8f\x35\x06\xae\xa2\x2f\xda\x22\x49\x32\xec\xd8\x42\x7c\x43\x08\xcd\xae\x99\xe2\x1e\x32\x25\x7c\x90\x7f\xc7\x06\x0d\x32\x32\x4d\x1f\x0e\xcb\x35\x7f\x42\x67\xaa\x04\x05\x32\xb3\x8a\xed\x73\xba\x08\xe9\x84\xea\x3d\x0a\xd8\x3e\xc8\x36\x8e\xc5\x02\xfb\x85\x9b\x26\xd3\x42\x5d\x26\x76\x08\x9b\x07\x53\x9b\xd6\xcd\x14\x6e\x21\xae\x64\x5d\xa4\x3b\x10\x4f\x5f\xb0\xef\xd1\xf0\xf0\x40\x4e\xf0\xac\x6c\xc8\x74\x71\x9b\xc9\xed\x94\x70\x74\x8a\x9b\x95\xb7\xeb\x15\x45\xb2\x37\xa7\x4b\x3d\xae\x80\xbc\xdd\x52\x32\x74\xbe\xa3\x39\x45\x22\x4d\xcb\x2b\xc3\x12\x04\xd5\x7d\xab\x12\x69\x5a\x5a\x9a\xa1\xe7\xf7\x97\x48\xd3\x72\xce\xf0\x37\xe2\x44\xb1\xa6\xa5\xd8\xcb\x2f\x3a\x1e\x03\x5a\xe6\x9a\xd4\x51\x27\xbd\x65\x49\x8c\xc7\x8a\x55\x08\x27\x7a\xdd\x76\x28\xf8\xb8\xcf\x74\x09\x5b\x08\xa9\x19\x81\x65\x21\xa8\x62\x21\xe3\x00\x15\x84\x63\x76\x1f\xe3\xe8\x2c\x62\x0e\x48\x9f\x3f\x2d\xdd\x2b\xb4\x04\x52\x35\x65\x1a\x6a\x9a\x6a\x98\xa4\xec\xb2\x8f\xee\x39\x3e\xe7\xd3\x56\x7b\x24\xe4\xfd\x2a\xec\xd3\xd7\xd7\xed\x6c\xf0\xd5\x12\x8f\x61\xa6\x5c\x9d\xcd\xa0\x6f\xce\xdd\xab\xd6\xe5\xaa\xf6\xe1\xa7\x57\xaf\xe5\xd0\x1b\xe9\x34\xfe\x31\x59\x1c\x2a\xa5\x9b\x27\x31\x96\xa7\x3f\x80\x62\x86\xb0\x56\x2a\xd0\xb6\xb3\xcb\x56\xf7\x71\x36\x96\x07\xd7\x41\x9c\x79\x7a\x39\x4e\xaa\xf0\x34\x9c\x35\xc1\x48\xb4\x52\x81\x91\xad\x2a\x37\xc4\x09\x92\x09\x95\x1f\x60\x3e\x99\x04\x3c\x45\xd6\x84\x22\x6d\x2f\x34\xf5\x7b\xec\x84\x30\x7d\xab\x36\x3c\xa4\x9f\xbd\x8b\x4b\xb6\x5c\xc8\xe1\x95\xe8\x3c\x0f\x82\x6c\xc7\xfc\x9d\xb7\xbf\xa7\xe4\xcd\xf1\xc2\x98\x0f\x80\xc6\x7b\x16\xbd\xa9\x2b\x26\x41\xeb\x32\x14\x38\x49\x15\x09\x0b\x55\x6e\x97\xf8\xeb\xbb\x61\x41\xab\xf5\xb3\x21\xd7\xee\x30\x08\x07\x50\x89\xe2\x82\x73\x1d\x05\x65\x71\x5c\xa9\xb1\xf5\x3f\xda\x34\xe0\xa1\x51\x5c\xaf\xdc\xfd\xd8\x63\x31\x6a\x81\x50\x5e\xa7\x8d\x3e\xbb\xc7\x45\x59\x6f\xb2\x64\xd9\x77\x51\xc7\x21\x63\x54\x25\x3b\x36\x2c\xd8\xb7\x19\xfb\x63\x28\x9a\xf6\xb0\xc7\x0f\x17\xb6\x6e\x69\x01\xf3\xa3\x7c\x32\xc1\x9f\x4b\x79\x3e\x94\x09\x12\xbd\xd0\x1f\x66\x0a\x16\x78\xdd\x22\x87\x86\x4c\xf9\x26\xf0\xfe\x26\xd4\x3a\x8f\xdd\x1b\x94\xea\xff\x1c\x6e\x3c\x2e\xe8\x73\x79\xe3\xdb\xa9\x06\x6b\xe4\xfc\x15\x6d\x62\xc6\x76\x38\xef\x90\xbe\x44\xae\x4c\x5f\x30\x98\xa6\x91\x25\x44\x9d\x25\x8e\x6b\x89\x68\xa7\x4e\xeb\x0d\xed\xed\x1c\xdd\x56\x8a\xb8\x0b\xa7\x00\x82\xb8\xc0\x15\xe2\xad\x25\x13\x6a\xb1\x2c\xcc\xe7\x40\xd6\x90\x37\x0d\xe5\xcf\x5e\x88\x28\x3c\x80\x87\x73\xe1\x58\xef\xca\x17\x2c\x38\xa5\x11\xd9\xd1\x75\xc0\x73\x97\x3d\x8b\x62\xe8\xb6\x47\x12\xb7\xa3\x86\xc8\x40\x39\x8f\xbc\x1b\xe2\xb1\x83\x54\x15\xb9\xd9\x7d\x13\x28\x57\xcc\x74\xeb\xd5\xfb\x70\x0e\x72\xb7\xf0\xe3\x4b\xd9\x2b\x38\xf7\xb9\x71\x76\x23\xb7\xa8\x91\xd6\x7e\x5b\x6d\x56\x2a\x7b\x62\x4f\xf2\xbb\xdd\xb2\x4c\x25\x7b\x74\x7a\x37\xce\xd6\x64\x05\x41\x9f\xe9\xdb\xe5\x45\xb8\x5d\x59\xf7\x1e\xe9\x7d\x5f\xb6\x85\x51\x77\xe2\x96\x6e\x2e\xde\x59\x4f\x95\x1c\x9d\x9b\xfd\x17\x99\xae\x1b\x07\xf8\xe6\xd2\xb8\x8e\x4f\x20\x61\x65\xcb\xdf\x79\x79\x01\x6f\xed\xab\xa5\x86\x32\xf7\xa1\xcf\x4f\x13\x40\x2c\x66\x93\x06\xfb\x39\x76\x3e\xf4\xee\x2a\xe6\x04\x11\xce\x91\x1c\x04\x9a\xfd\x98\xb6\x47\x3e\x9c\x73\xaf\x8e\x3a\x80\xb6\xc1\x23\x6d\xd6\x80\x11\xb1\x06\x24\x54\x53\x5a\x7f\xea\x04\x0e\xa5\x66\x98\x68\x5c\xd7\xa7\x8d\xd9\xe8\x7a\xca\xa4\x19\x37\x7d\x17\x1c\x08\xa4\xa4\x26\xe7\x84\x10\x69\xc6\x9b\xad\x84\x13\x3f\x6c\x6d\x5a\x74\x6c\x4d\xf0\x7c\xc0\x5a\x5b\x65\x77\xd5\x83\xd5\x70\x22\x08\xf4\x27\xc8\x1d\x79\x84\x65\x8f\xc8\x0e\x94\x35\xf3\xe7\x38\xa9\xb9\x23\x77\x23\x4d\xb6\xf8\x69\x38\xe6\x0d\xbb\x1c\x38\xe5\x88\x9b\xb7\xcf\xc3\x04\x3c\x75\xca\xbe\xab\x34\x0b\xa4\x94\x8a\x49\xd7\xea\xf1\x1d\x2b\x30\x1e\x42\xa3\x2c\x6b\xea\x19\xf9\x0a\xff\xb0\x15\x30\x75\x45\xe1\x46\x12\xf5\x32\xb0\x31\x45\x60\x4c\x9d\xf1\xee\xa2\x36\x8d\xae\x04\xb3\x16\x3e\x3a\xda\x8d\xc5\xe0\xe7\x48\x3f\x85\x0b\x0a\xdf\x56\x6e\x62\xb7\x21\x90\x1a\x46\xb6\xf9\x20\x72\x4d\x93\x48\x13\x23\xa2\x32\xbe\xea\x57\xbb\x61\x69\x9a\x6e\xb3\x1c\x7e\x69\xcf\x33\xbd\x16\x9f\x79\x6a\xc6\xc8\x69\x9e\x55\xe3\x86\xa5\x01\x78\x1c\x3f\xa6\x95\x45\x74\x57\xa4\x0f\x3f\xa8\x9d\xe6\x0b\xcc\xde\xc8\xc9\x83\x1c\x5c\xde\xd3\x2b\xb2\x73\xb2\x4a\x7b\x80\x36\x2e\xed\x93\x6e\x4a\x89\x1f\xb0\x36\x4f\x58\x8b\x27\x7d\xda\xaa\x96\x00\x79\xc6\x03\x15\x81\x48\x7b\xd8\x53\x18\x8a\x8d\x00\xdb\x62\xe9\xfa\x09\xf5\xd4\xf6\x87\xab\x78\xd9\xd6\xf2\x74\x95\x06\xb4\xae\x81\xce\x45\xa8\x7e\x40\x2e\x0a\x0c\xd5\x05\x79\x1d\x3d\xe9\xc4\xd0\xa5\x15\x96\xe4\x7d\x0e\xab\xbf\xdf\x37\xed\xfd\x28\x6e\x5a\xff\x0d\x25\xaa\x45\x4b\x3e\xfe\x5a\x88\xd4\xf3\x39\x58\xa4\x9e\x65\x62\x8b\x47\x24\xe8\x8f\xa2\x85\xc1\xed\x64\x94\xe7\x1e\xc8\xe8\xce\x40\x5e\xe1\x2c\x9e\x99\x7a\xc6\xe2\x2a\xb6\x7c\x98\x7e\x9b\xa6\xd5\x09\xb9\x51\xa7\xcb\x4b\x63\x8e\xd1\x05\x1a\xee\x93\x80\x9a\x72\x40\x36\x93\x2d\x0a\x49\x42\xf3\x04\x09\xd4\xc2\xfe\xaa\x69\x18\xa6\xe5\x77\x82\xe9\x5d\xb1\xb9\x5e\x76\x2c\xbf\x09\xec\x22\xc8\x81\x90\x34\xf0\x92\x93\x1e\xee\x1b\x3a\x28\x55\x4a\x3c\x64\x1d\x08\x3a\x5e\x39\xa1\x0d\xd8\x49\x71\x54\x4f\xf2\xa2\x5c\xa8\x24\x36\x0e\xf1\x26\xb3\xb6\x61\x26\x68\x78\x85\xee\x5b\x6f\x8d\x1c\xb3\x6c\x6c\x4c\xe5\x4c\xfa\xb4\x01\xc4\xd4\x08\x29\x10\x5f\x92\x74\xfb\x70\x70\x40\x88\x08\x40\xc9\xc4\xa9\x0e\x8f\xca\x89\x46\x7d\x82\xe8\x7e\xe5\x58\x6a\xf9\x13\x21\xf8\x86\x9f\xe9\x43\x61\xf6\x60\x19\xa6\x93\x8e\x51\x72\x88\x05\x80\x63\x8a\xe7\xeb\xa0\x51\xf5\xf4\x87\x88\x7a\x06\x55\xd1\xa7\xe6\x41\x54\x34\x3f\x55\xb2\x31\x79\x11\x4b\x42\x49\x0a\x3d\xe3\x52\xcf\x5b\x9d\x6a\x0b\xec\x37\xa2\x44\xf9\x2a\x40\xba\xe8\x89\xa0\x89\x5b\xc2\x90\xa8\xcf\xb6\x4a\x1b\xe6\x92\x7a\x99\x8b\xa2\x3a\xd6\xa0\xa2\x2e\x28\x9e\xdb\xe4\xa2\x45\x48\x8f\x86\x80\x00\x55\x55\xa6\xfc\xc4\xd7\x91\xd9\x35\x07\x1d\xfb\xf9\x24\x01\xcc\x20\xaa\x3d\x08\x90\x11\x8f\xe4\x86\x8a\x40\xb6\x70\x00\xd1\x67\x90\xcc\x9c\xa1\x93\x51\x7d\x7d\xc2\x47\x46\xa1\x98\xd1\x09\xaf\x80\xcf\xa0\xde\x31\x07\xe3\xc4\xad\xe9\x53\x71\x82\xae\xf2\xa5\x31\x75\x12\xfd\xdb\xaa\x24\x45\x48\x2b\x98\xc8\x16\x4a\xa2\xb6\xf1\x15\x24\x37\x15\x38\xe6\xa2\x04\xc0\x63\x57\xb2\xdd\x4f\x70\x8e\xca\x08\x01\x6c\x03\x3a\xcb\x83\xc0\x42\x4c\x7f\x65\x3e\x34\x87\x27\xc0\x5f\xd0\x33\xd8\xca\x54\x4a\x1d\x80\x8b\xc2\x80\x91\x93\xd0\x0c\xf7\xec\x8e\x5d\x4b\x21\x04\x09\x39\xe4\x5e\x70\x4a\x29\x39\xec\xb9\x9b\xdf\x17\x15\xf1\x50\x1f\xef\x26\x47\x76\xea\x95\xae\x12\x3a\x8b\x27\x3b\x47\x36\xef\x28\x0e\x12\xc8\x31\xd9\x68\xba\xfc\xf4\x14\x17\x82\x4f\xc4\xe6\x9c\xfb\x76\xd9\xef\xcb\x35\xc3\xbc\x9c\xcc\x74\x96\xd7\xe2\x37\x3b\x8a\xd8\xb9\x4e\x4e\x15\x38\xbb\xeb\x6d\xc3\xf2\x1a\x0e\x32\x79\x75\xa3\xa8\x1b\x23\xa1\x57\x05\x9c\x1b\xf0\xc6\x9f\x2a\xec\x19\x95\xfd\x7e\xed\x66\xae\xae\x39\xd2\xfb\x5a\xf7\xab\x76\x4f\x46\xf2\x51\xfd\xde\x1a\x19\xff\x58\xe3\xfd\x02\xef\x3c\xdf\x9a\x85\x54\x34\xe6\x06\xfc\xc7\x00\x48\xae\x25\x6e\x31\x8b\xe1\x46\xf6\xdc\x90\x71\x1c\x74\x11\x3a\x0e\x17\x15\x8b\xae\x1e\x79\x68\x71\xac\x8c\x9a\x54\x46\x17\x26\xde\x9f\x00\x15\x20\x15\x1c\x68\xd8\xc5\xc4\xd0\xfa\xdc\xee\x5c\x89\x68\xf6\x3a\x4f\x41\x3b\x71\x9c\xff\x35\x7b\x5e\x54\xe9\xa4\x27\xf3\x7a\x5b\x6e\x69\x07\xa7\x7e\x63\x54\x04\xf5\x3a\xc7\xb3\xe6\x55\xb5\x3f\x52\x66\x5c\xad\x87\x60\x44\x9b\xf7\x72\x5b\x6c\x85\xc4\x8a\xfb\x8b\xd2\xe0\x37\x88\x76\x65\x23\x0d\x1f\x51\xba\xec\x35\xd3\x8a\xf3\xeb\x37\x1b\x26\xcd\x72\xd8\x3f\x58\xcd\xd4\x1b\xd4\x29\x18\x45\xfa\x78\xea\x28\x1c\xf3\x81\xf9\xd8\x26\x35\x37\xcd\x34\xa5\x61\x28\x46\x0b\x8b\xab\x3a\x1b\x43\x0a\x4e\xa6\x31\x22\x1f\x1b\x21\x55\xd4\x3e\x26\xb0\x84\x0f\x4a\xdc\xe7\x58\xa6\x2d\x98\x54\x85\x24\xbc\xd6\x6c\x19\x49\x9f\xf8\x0f\xaa\xec\x43\x42\x82\x7d\x46\xb9\x5a\x08\x0a\xe2\xee\xf0\x10\x42\x73\xf5\x64\x8f\x36\x5e\x55\x5e\x41\x42\x65\x45\xa5\xba\x77\xb9\xcf\xe1\x18\xed\xfb\xa9\x35\xc1\x15\xfb\xef\x44\xb0\x56\x1f\x22\xe4\x96\xad\xa6\xd6\xf3\x8c\xb6\x85\xc3\x48\xd2\x2b\x0d\x15\x99\x83\x6a\x72\xe4\x44\xad\x08\xd8\x0f\xe0\xd3\x69\x73\xbe\x0d\xb9\x76\x3a\xc7\xf6\xee\x64\x4a\x75\x5a\x6e\x5d\xc3\x90\x3a\x07\x15\xb3\x31\x97\x74\x02\xc6\x0e\x85\xd2\xd6\x74\x47\xbe\x15\x9e\x14\x3d\x1f\x8c\xae\x64\x36\x9b\xcc\xc4\x95\xd9\x92\x69\x4b\x11\xea\xd8\xb7\xd5\x21\x9d\x7c\x22\x3e\x9f\xcc\x8b\x80\x36\xd2\x8a\x51\xe8\xbb\x3e\x9e\xc3\x74\x28\xf3\x54\x63\xee\x80\xb5\x6c\xa7\xa8\xb2\x0a\x64\x19\x36\xa2\x14\x2d\xbf\x60\x0b\x12\xa9\x5c\xc8\xfa\x4f\xba\x88\x1c\xbf\xc6\xc0\x06\x74\xe2\x65\x0f\x2c\xd6\x7c\x05\x7a\x2b\x48\xe5\x17\xb2\xdb\x16\x3c\x45\x3b\xb5\x90\x82\x62\x59\x41\x8d\xae\x20\x50\x45\xaf\x78\xc3\xc3\x85\x72\x54\xe8\x49\x29\x8b\xe5\xbd\xb6\x0d\x44\xd8\x80\x42\x43\x14\x73\x9e\x7f\xdc\xa0\xd5\xb5\x4e\x34\x6d\xeb\x8a\xa6\x66\x64\x5a\x81\x49\xda\xf5\x43\xab\x6c\x13\x92\xe2\x8a\xb7\x6a\x69\x09\xae\x0f\x58\x0c\xaa\x06\x58\x20\x75\x1e\x77\x41\xc3\x5d\x73\x27\xe7\xf2\x86\x6c\x05\x8b\x44\x40\xd8\xae\x12\xcb\xa4\x45\x31\x68\xb5\xe9\xb2\xa8\x41\xdc\x41\xf0\x92\xed\xab\xd8\x53\x27\xca\xc3\x07\xc3\x25\x90\x17\x1b\x9e\x65\xad\x6f\xaa\x07\x84\xee\x78\x2c\x0c\x22\x7d\x76\x68\x5b\x2e\xd7\x54\x60\x46\x0c\xc6\x24\x09\x83\x6f\x8c\xa3\x30\xf4\xf1\x4f\xd8\x22\xb4\xc4\x56\xe9\x4d\x73\x0c\xbd\xc0\x0a\x6a\xd5\x36\x47\x2f\x58\xb4\x80\x20\x0b\x71\x23\x46\x26\xd8\x2d\x3a\x54\xc5\x89\x5d\x11\xc2\x6c\x75\x89\xc8\x01\x82\xb7\x4f\xe1\xf1\x94\x68\x1f\xd7\x07\x26\x98\xe6\x65\x0d\xf7\x61\xe5\x0b\x49\x20\x39\x10\x63\x44\x76\x86\x7b\x50\x09\x1c\x4b\x87\x92\x61\xbb\x57\xfe\x71\xb8\xf8\x7d\x3e\xee\xb5\x9d\x54\x2c\x55\xb1\x57\xc7\x4c\x23\x12\xbe\x45\x29\x88\x56\x86\xea\x4e\x35\xc6\xae\x1f\xbb\xbf\xdf\xd9\x9b\xc5\xa1\x85\x87\xcf\x92\x33\xe7\x11\x40\x90\x31\x98\x2a\x11\x20\xa6\xd3\xc2\x3d\x3a\x4f\xff\x1c\xda\x3c\x77\xc1\x2c\x8a\xba\x3b\x05\x25\x45\x30\x53\x9c\x3d\xcd\xc4\x6a\x63\xba\x00\xf9\x34\x57\xc6\x71\x4b\x8e\x88\xb3\x75\x77\x96\xa1\x42\xa7\xcf\x98\x7d\x6c\xa3\xb1\x28\x32\x6a\x50\xd7\x0d\x35\x3d\x2f\xf1\x01\x88\x19\xc6\x6f\x68\x90\x34\x00\xe6\x1d\x58\xce\x07\xe2\x24\x6a\x37\xa5\xfb\x4b\x67\xb9\x2d\x7a\xb6\x33\xea\xca\x47\x55\x28\xaf\xcc\xc5\x37\x94\x17\x2c\x49\x5b\x1d\x96\x96\x40\x6d\x66\x3d\x91\x6c\x56\xe0\xfa\x57\x7c\xe1\x81\x7e\x40\xce\xce\xbf\x52\xf7\xba\x1d\x38\xf1\xb1\x4e\x40\x09\x42\xf3\x31\x69\x5d\x0c\x0d\x61\xe9\xcc\xfd\x17\xe9\x56\x2c\x7d\x13\x47\xe8\x43\xc9\xbb\x7b\xde\x9a\xb6\x75\xb6\xa9\xa9\x63\x4d\xeb\x7a\xb1\xb7\x6e\x37\x24\xdb\x57\x93\x17\xe9\xf5\x5f\x85\x4e\xdb\x52\xd1\x2a\x75\x8c\xcb\xc4\x9a\x3e\xfe\xee\x76\x83\x7d\xa0\x94\xb1\xa6\x59\x6c\xd5\x1b\x34\x8c\x0b\x15\x65\x49\xdc\x53\x60\xb7\x6c\x61\x34\x75\xe1\x1b\x56\x77\x57\x3a\x8a\x35\xd5\x69\xa2\x75\x41\xda\xdb\x8f\x51\x41\x2d\x87\x0e\xde\x44\xc3\x6e\xe3\xc2\x64\x23\xd3\x71\x65\x17\xf6\xf4\xe9\xb5\xf4\xc9\x4e\x53\x0a\xcb\x13\x38\x26\x33\xcf\xc4\xa2\x2d\x06\x46\xec\x99\x5f\xd2\xe2\xaa\xa6\xbe\x2f\xe1\x44\x18\x68\xa9\x7f\xc2\xa4\x17\x6b\x48\xf9\xcf\x9f\x18\xe7\x1e\x48\xc4\x36\xa5\x73\xef\x00\x00\xa5\x29\xbc\x5c\x9b\xc9\xfc\x5f\x8e\xd5\x04\xea\x7e\xd5\xa4\xd0\xc7\x39\x2b\xae\xf4\x16\xff\x59\x6f\xf1\x9f\xed\xb6\xba\x04\xb3\xf4\xdd\x0f\x30\x56\xfa\xd5\x0e\x06\x29\xbc\x7a\x37\x44\x3b\x66\xca\x91\xfe\x85\x34\x5e\x67\xbf\xef\x1a\xb3\x49\x51\x44\xce\x4a\x77\x9f\x46\x57\x4e\x22\x1c\x54\xf4\x25\xa9\x2e\xa4\x71\x7f\xbb\x8c\x5c\xd2\x3a\x05\x57\x12\xda\x73\x3d\x7b\x0e\x9b\xb6\x42\x12\xa0\x65\x54\xd8\x96\x47\x0a\xe2\x2d\x5b\x60\x7c\xda\xa1\xd2\xf0\x13\xb0\xb0\x7b\x9b\xd9\x44\xb0\x80\x65\x16\x28\xc8\x1f\x21\x9b\x61\x12\x70\x83\xa5\xcb\x51\xa4\xbf\x73\x9d\x38\xf7\x12\x82\xa1\xab\xcd\x3a\x92\x89\xb6\x89\x2e\x38\xbd\xaa\x0b\xa7\x06\x51\x9c\xb2\xb7\x13\x10\x91\x16\x26\xfc\x97\xc7\x7c\xf0\x85\x60\xc8\x66\x55\xf3\x45\x5a\x71\x53\xae\x6c\x8d\x4d\x66\xcb\x4c\x7d\x7c\x9e\xc6\x38\x86\x76\x30\x09\x24\xee\xf2\xc4\x7a\x09\xb8\xb7\xd5\x89\x52\x8a\x35\xa1\x77\xfb\x70\x32\xa2\xd0\x4a\x92\xd6\xa4\x11\x14\x70\x52\xf0\x2b\x12\x93\xbf\xcf\xcc\x07\x78\xbd\x09\x72\x62\xc6\x39\xfc\x91\xd7\x64\x53\xf8\xe1\xd5\x8a\xef\x55\x1e\xc1\xd6\x0e\x18\x91\x05\x60\xb4\xcd\x36\xe7\x94\x82\xf9\x93\x00\xc1\x4b\x75\x29\x82\xa5\x7d\x73\x98\x89\x53\x9d\x67\xd0\x34\x31\xe4\x74\x2f\xa7\x08\xba\x5e\xc6\xbc\xa4\x41\xd0\x55\x36\x7a\x86\x89\xc8\xaf\x93\x39\x5a\x6f\xd6\xc8\xd0\xa2\x98\x90\x7b\xa5\x4d\x2a\x86\x5d\x0f\xb0\x6b\x87\x28\x6d\x7a\x60\x47\xcf\x69\x0a\xe8\x62\x96\x42\x84\xf7\xd0\xd8\xd4\xf5\x54\x14\x8d\xae\xda\xde\xa1\x91\xe5\xa9\xa3\xe1\x73\xc4\x71\x45\x5f\x47\x9b\x76\x75\xc3\x7f\xe6\x9e\x7c\xd4\xbc\xde\x0e\x8b\x41\x1d\x6b\x7a\xdc\x9d\x20\x3f\xc1\xd1\xd5\xd5\xe9\xa5\x39\x61\x51\x21\x6a\x30\x75\xb2\xa4\xbb\x0b\x92\x29\xf1\x52\x3f\x5b\x62\x13\x6c\xd4\x25\x93\x4a\xd3\x80\x8d\x0e\xac\xc3\x88\x88\x6e\x10\x64\x29\x52\x05\xc6\x08\x93\x0c\x15\x5e\x4c\x2c\x62\xc6\xd9\xa1\x69\x2e\x72\xaf\x5b\x7d\x59\x5f\xa2\x6e\x9a\x14\x08\x9a\x57\x21\x01\x3d\x83\x54\x42\x50\x31\xe0\xfa\x8c\x4e\xa6\x6b\xd4\x40\x56\xe6\x08\xaf\x81\xcb\x0c\x24\xfa\x29\x0e\x20\x3a\xe9\x56\xbc\xa2\xc8\x08\xd0\xcc\xe2\xbe\x83\x2f\x93\xa3\x0f\x59\x0e\x25\xb5\x67\x07\x8c\x2e\x41\xa8\x71\xaa\x9c\xe4\xf1\x9a\x3a\x31\xab\x48\xe5\x30\x88\x35\x1c\x2d\x65\x41\xaa\x5b\x63\xa0\x8a\xf8\x57\x16\x45\xd7\x1e\x81\x0a\xe2\x31\xc8\xaf\xf4\x27\xe3\x11\x75\xda\x11\x86\xc8\x9e\x22\x1b\xda\x34\x4c\x79\x43\x93\x77\x90\xac\x59\xf2\x76\x44\x8e\xa0\xcf\x9c\x57\x96\x75\x99\xf4\xd6\x49\x16\xdb\xdc\xe7\x69\x9c\xb1\x07\x35\x5f\xb0\xd9\x0e\x3d\x20\xe8\x7e\xa1\x4f\x5f\xc0\x28\x82\x22\x23\xcd\x05\xfc\xd8\x3c\x09\xe1\x69\x77\x17\x70\x10\xc9\xb4\x8e\x32\x5a\x4c\x7a\x09\x36\x57\x4d\xfd\x78\xd7\xec\xbc\x42\x31\xf8\xad\x37\x33\x54\x8e\x07\x0e\xfd\xd9\x62\x67\x51\xee\xf3\x9f\x77\x35\xf5\xcb\x48\x92\xc2\x8c\xda\x88\xdb\x68\x8f\x2c\x07\xc2\x4c\x30\x57\x65\x30\xd3\xa2\x77\x60\xf2\x95\xa7\xba\xed\xd8\xb5\x42\xd5\xda\x4b\x71\x12\xc7\x48\xd9\xec\x17\xe0\xee\xdd\x2d\xd0\x16\xcc\xc1\x80\xa5\x7c\xa9\x5b\x18\x87\x4e\xef\x1d\x1e\xe3\x10\xf8\xf3\xc0\x07\xf6\xdc\x5e\xc4\xdc\x44\xe2\xd5\xc9\x1d\xe7\x9c\xb3\x03\x1a\x47\x1c\xa9\x3f\x69\xc6\xed\xbe\x82\x89\x8b\x0f\xbb\xe4\x3d\xdc\x20\x88\x33\xff\xc3\x66\xd3\x21\x1a\x41\x94\xf2\xed\x8d\x0b\x02\x43\x94\x1c\x0d\x5b\x00\xb9\x71\x0a\x0a\x1d\xb5\x92\xcd\xbf\xf4\x43\x5f\x14\x6a\x3f\x85\xd0\x28\x1f\x16\xc6\x23\x8c\xf3\xfe\x0a\x70\x41\x81\x48\x03\xda\xec\xcb\x6d\xc2\x79\x7f\x02\x7e\x43\x31\x98\x0a\xd2\x74\xd6\x1a\x79\xa9\x69\x11\x7f\xe3\xfd\xce\x12\x7c\xd2\xd9\x9b\x0e\xe8\x46\xd1\x95\x79\xb7\xb2\xcd\x50\xda\x2e\x65\xf5\xf9\x7c\xe8\x88\xec\x40\x6b\x0a\x97\x7d\x30\x13\x29\x75\x22\x63\x25\x3f\x18\xb1\xe6\x30\xd4\x25\xcc\xc2\xbf\x08\x1f\x7e\x36\x61\x96\x1f\x50\x52\x90\x8d\xd5\x3b\x8c\x47\xee\x08\xe3\x2e\x5a\xc6\x55\x11\x42\xa0\xb6\xf0\xfd\xb5\xc9\x07\x13\x19\xd0\x6c\x93\x98\xa9\xe0\x04\xab\xa4\xec\x79\x6e\xa5\x79\x44\x61\xa0\xdc\x42\x5d\x21\x68\xdd\x08\xd7\x9a\xf8\x13\x0d\xfa\x1a\xcb\xda\x10\x10\x04\xfd\xda\xae\x2c\x0a\x57\x9f\x07\xd9\x47\x31\x2d\x51\xc4\xaa\xc5\x41\x6d\xcb\x37\xea\xa4\xca\x8e\xae\x4c\xfb\x74\xbd\x1e\x3d\xde\x14\xb9\x7e\x46\x5b\x60\x89\x5b\xe0\x44\x1c\x4d\x4b\xff\x91\x76\xf2\xde\x53\x33\x4e\xb2\x39\x84\xc6\x36\xef\xea\x6a\x75\x9c\x99\x11\x6b\x64\x2a\xdf\xaf\x9c\x43\x29\xa9\xd2\xa7\x2f\xbd\x4d\x9c\x7a\x68\x33\x11\xf3\x59\xed\x25\x6f\xa6\x87\x0c\xb9\x4d\x83\x03\x07\x91\x05\x2b\x31\x19\x3a\x2f\x4e\xd7\xcf\xa9\x43\x9c\x80\xfb\x8e\x9a\x87\xa4\xc0\x46\x62\x12\x9a\x79\xa3\xea\xb0\x87\xfc\xad\x23\x9d\xd7\xc9\x8b\x78\xfd\x47\xe4\x34\xe3\x56\xe3\x76\x5f\x6a\x83\xa6\x20\xea\xa3\xb1\xe7\x85\x78\xfa\xea\x33\xed\xfa\x8f\x2c\xdd\xfd\x8f\xda\xc7\x85\x97\x55\xbc\xcf\xcc\x1d\xac\xf6\x52\x4e\x8d\x18\x67\x90\xb5\xba\x24\xe3\x7b\xa3\x6e\x2c\xe2\xa7\xf0\x9a\xe7\xf8\xba\x7f\x53\x19\x95\x9b\x1e\x7a\x31\x25\x43\x68\x78\xa2\x80\x56\x64\xbf\xf1\x64\xbb\xce\xa4\x52\x7c\x99\x89\xd5\x5c\x40\x48\xac\x68\xaa\xcc\xbf\xed\xc6\xb4\xc7\xe7\x53\xcf\xa7\x9b\x8f\x6d\xde\x6c\xab\xbd\x8c\x44\x5f\x4f\xb6\x54\x4c\xde\xe4\x48\x31\xa5\x4c\x5d\x1c\xa3\x7b\x63\xa3\x87\xbc\x93\x9a\x6f\x22\xcd\x8d\xd9\x1f\x15\x9e\x89\xd4\x8f\x62\x67\xa2\x31\xd4\xb7\x8d\xad\x30\x66\x9d\x35\xe3\x46\x1f\x93\x07\x98\x31\x97\x6d\xcb\x7a\x8d\xa0\xc9\xc2\x8d\xaa\x68\xb5\x2e\x26\x72\x01\xe7\xea\xb9\x97\x2b\x6b\x17\x0d\x96\xbb\x6a\xfc\xdd\xd4\xf6\x19\x03\x77\xe6\x07\xeb\x29\x94\xd3\xfc\x8e\x21\x01\xa1\xe9\xc9\x6f\xa2\x31\xa7\x2d\x5e\x79\xc1\x6b\x72\x22\xfd\x76\x3a\xb7\x33\xc7\x0c\xae\xab\x34\x13\x67\xcb\xac\xf9\x14\x70\x18\xcd\xa7\x6d\x6e\xb6\x49\x86\x91\x05\xc3\xf6\x0a\x99\xba\x6f\x83\x8d\x92\x76\x70\x25\x7d\x95\x77\xd9\x65\x4d\xa6\xdd\x5b\x1f\xce\x7f\x3b\xc9\x86\x35\x21\x75\x83\xcb\x49\xdf\x65\x54\xbe\xb2\x09\x73\x93\x59\xdc\xc0\x62\xa2\x31\xf5\x8e\x64\xe0\xae\x1a\xbf\x84\xc9\xf6\x75\xf8\x4b\x71\xb4\x6e\x97\x96\x7c\xd7\x63\x5d\x62\x9c\x18\xfb\xb5\x1b\xfe\x2b\x25\xbc\x68\x4d\x9d\xce\x92\x3d\x46\x4d\x5d\x2e\x6b\x3b\x4d\xde\xf2\x1c\x76\x36\x52\x00\x2d\x18\xba\x99\x2a\x8e\xe4\xfd\x95\x61\x64\x0a\x78\x2c\xc6\x39\x50\xa0\x6e\xdc\xea\x57\x0c\x1e\x95\xab\xef\xb6\x03\x19\xc6\x81\x99\xd6\xf7\xbe\xa5\xff\xc8\xe2\xb4\x46\xf8\xfd\xb8\x59\x8f\x20\x86\x87\x96\x88\x9d\x66\x4a\xa7\xf5\x79\x3e\xa6\x6d\x6b\x73\x29\x65\x19\x6b\x1e\x05" -func main1d1419ddb5eb2d7ed47cJsBrBytes() ([]byte, error) { +func main6bbc82fd5fade1a19ecaJsBrBytes() ([]byte, error) { return bindataRead( - _main1d1419ddb5eb2d7ed47cJsBr, - "main.1d1419ddb5eb2d7ed47c.js.br", + _main6bbc82fd5fade1a19ecaJsBr, + "main.6bbc82fd5fade1a19eca.js.br", ) } -func main1d1419ddb5eb2d7ed47cJsBr() (*asset, error) { - bytes, err := main1d1419ddb5eb2d7ed47cJsBrBytes() +func main6bbc82fd5fade1a19ecaJsBr() (*asset, error) { + bytes, err := main6bbc82fd5fade1a19ecaJsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "main.1d1419ddb5eb2d7ed47c.js.br", size: 12563, mode: os.FileMode(436), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "main.6bbc82fd5fade1a19eca.js.br", size: 12592, mode: os.FileMode(436), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -574,7 +580,7 @@ func mainDfac952ed634d0cb3ecdCssBr() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "main.dfac952ed634d0cb3ecd.css.br", size: 2973, mode: os.FileMode(436), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "main.dfac952ed634d0cb3ecd.css.br", size: 2973, mode: os.FileMode(436), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -599,47 +605,47 @@ func manifestJsonBr() (*asset, error) { return a, nil } -var _precacheManifest9e98b44ce2e0f5dcb4d5872414bbf468JsBr = "\x1b\x95\x05\x00\x2c\x0e\xec\xb6\x1e\x93\x25\xd5\xd2\x6f\x1f\x32\x06\x9f\xb4\xb5\x44\x43\x34\x63\x9e\xb3\x4a\x25\xc0\x00\x7b\xb4\x2b\x29\xa5\x7e\x67\x5f\x20\x5d\x0d\x22\xb2\xd7\x37\x45\x7a\xb6\x5a\x81\x45\x67\xa7\x55\x37\xce\x39\xb4\x6d\xe6\xe4\xc1\xca\x02\x6d\x02\xb9\xf6\xcd\xe2\xc0\x03\x89\xe1\x67\x93\xbb\xf9\x99\x82\x72\xd3\x1b\x04\x05\x37\x97\xf8\xd8\x3c\x76\xc9\xd0\xa1\x10\xdf\x3c\xef\xef\xbf\xff\x9c\x13\xde\xbe\xd5\xcf\x2f\x3b\x7f\xfd\xfd\x21\x63\x7c\x89\xfe\xf9\xf3\xfb\xcb\x78\x45\x78\xd2\x40\xc2\x55\x6f\xfa\xaa\x05\x1b\xa7\x3d\x5f\xff\x7a\xc1\x8b\x32\x6f\x20\xf4\x87\x7d\xf7\xc6\x9a\x5f\xa4\xe3\xc5\xad\x43\xeb\xdb\x88\x25\x17\xeb\xd4\x4b\x4a\x48\x58\x79\x2d\xff\xda\xfd\x7a\xfb\xf5\xf3\xd7\xc7\xbf\x29\xef\xf4\x7f\xbf\x76\xa9\xa7\xcd\xc3\x2b\x77\x16\xeb\x9c\xe8\xab\x73\xbd\x98\xaa\x33\x3a\xab\xbb\xc1\x02\xd7\x55\xad\x42\xb4\x2c\xea\x82\x70\xdc\x40\x5c\xc9\x4a\xc5\xab\x0b\x07\x07\xb4\x08\xbf\x1a\x03\x5f\xee\x40\xef\x1d\x8e\xf0\x32\x0c\x9d\x22\x4d\xf7\x6d\xb3\x46\x00\xab\x36\xc1\x64\x46\x60\x99\xf5\x5d\x91\xfc\xc2\xb7\xac\x76\xb1\x05\x98\x55\xb5\x58\xc5\xb2\x52\x65\xd8\x87\x13\x94\x85\x71\x4c\x73\xc0\xcb\xe8\xe3\xd5\x09\x57\xcc\x62\x85\xee\xa2\x4e\x41\x6b\x0a\x1b\x05\xb3\xfb\xe8\x1c\x6a\x9f\x16\xbf\xfa\xe5\xf5\x0a\x54\xdf\x5b\x37\x95\xa6\x8d\xa5\xe1\x1e\x9e\xdb\xcf\xfd\x4b\xa0\x57\xc2\x4a\x81\x4e\xb9\x8b\xd6\xb0\x01\x69\x03\xb3\x7c\x08\xb7\xc5\x5d\xa8\x29\xac\x1c\xd9\xcb\xa1\x92\x2f\x1c\xba\x4a\x6d\x72\xc4\x90\xb9\x6a\x64\x79\xcf\x61\x78\xbb\xd0\x5f\xf3\xe7\x9f\xf5\xb7\x85\xc3\xb1\x5c\xd2\x5a\x4d\xb8\xca\x43\x90\x81\x5d\xed\x2e\x6a\xa3\xaa\x8b\x57\xc8\x4d\xef\xdc\x9d\x53\x86\x78\x73\x25\x95\x2c\x71\x45\xfb\x20\x40\x0b\x44\x91\x9c\x7b\x02\xf2\x31\x59\x02\xa7\xf7\xfd\xf2\xe7\x5f\xff\x27\xb2\xa9\x30\x50\x9e\xae\x10\x2e\x5a\xe6\xe0\x74\x93\xf8\xc9\x3f\x9c\x6c\x9c\xd8\x7c\xe6\x06\x53\x58\xa3\x1c\xb5\x39\x27\x24\x62\x88\x8d\xc7\xa6\xbb\x68\xd6\x83\x2c\x4d\xc1\x83\x0a\xb1\xfe\x1c\x1e\xab\x2d\x27\x5d\x58\x8c\xde\x70\x40\xac\x3d\xd3\x72\x19\x8a\x27\xdc\x62\x2d\x00\xa1\x78\x28\x0f\x3b\x95\x9e\x44\x18\xee\x51\xdf\x2e\x05\x66\x0f" +var _precacheManifestBef7d3fcb747de0d3bbae81a7517d996JsBr = "\x1b\xbd\x05\x00\x1c\x07\xb9\x39\xf4\x6e\x74\xec\xbf\x08\x82\xf6\xdd\xcf\x94\xcd\xab\x1a\x50\x81\x06\x42\x7e\xa1\x86\x49\xda\x8e\xf1\xae\x15\x58\x52\x74\x3e\x9d\x4a\xb7\xc0\x2f\x4e\x7e\xb9\xc1\x9b\x1a\x80\x84\xb2\xe7\x71\x36\xc0\xce\xc3\x3d\x90\x44\xcf\x05\xca\x52\x0f\x70\xb7\x03\xe1\xd6\x4e\xc1\xc7\xf6\x14\xc2\x6d\x42\x8e\x20\xa9\x08\x38\xcf\x75\xe6\xf3\xd3\x25\xcf\xf0\x56\x15\xfe\xeb\x92\xaf\x37\x18\x41\xed\x30\x7a\xa1\xc4\x45\xbd\xc3\xc7\x03\xe3\xad\x36\x06\xf0\x2d\x0d\x00\x71\xbf\xec\xc4\xe5\x3d\x5d\x09\x1f\xb3\x27\x19\x33\xc9\x27\x90\x19\xeb\x6d\x75\x36\x57\x01\xe0\xaf\x51\xa7\xe6\x43\x07\xab\x63\x08\xae\x87\xda\x43\x7d\xa0\x7a\xb6\x9f\x7f\x7a\x28\xc2\x1b\x4e\xa5\xc8\x45\x8c\x66\xdd\x97\x82\x08\x6a\x71\x3e\xaf\x92\xc5\xc4\xd4\x68\xd6\x7f\xb6\xaa\x28\xb9\xeb\x89\x64\x68\x53\xf2\x26\x51\xd0\xe9\x46\xc1\x4c\x46\x37\xe9\xd6\xb4\x01\x1c\xcd\xc6\x0f\xb3\x3a\x80\xd7\xb8\xd9\x23\x2f\x3f\x0d\x06\xa6\x8a\xae\xab\xe2\x40\x37\x76\xe5\xef\x93\x89\xb1\x8d\x42\x16\x27\x18\xcc\xd5\x3e\x91\x7d\xdd\xa5\x82\x1c\x95\x76\x1c\xcb\x40\x97\xde\x4e\x1d\xbe\x06\x05\x73\x7d\x7a\xb9\xfe\x1b\x30\x4a\x26\x96\xcf\xb0\x42\x6d\x19\x99\x76\x93\x0f\xee\x71\x5a\x9a\x34\xcf\x06\xb4\xf2\x12\xc4\xc3\xc9\xe4\x5d\xd4\x56\x55\x2f\x50\xd6\xbd\x1b\x51\xcb\x8f\x23\x74\x88\x1d\x27\xa1\x64\x81\x27\x3a\x25\x01\x46\xe0\x25\x49\x35\x20\x41\x24\xdd\xaa\x93\xbd\xe6\xcb\x05\x6f\xed\x3f\x0d\x38\xf8\x79\x2c\x45\x39\xfa\x1d\xf4\x90\xc1\x0d\x45\xad\x34\x26\x25\x86\xcc\x99\xd9\x1c\x5f\x51\x02\x3f\x22\x4c\x52\x5e\x6b\x58\xe9\xa1\x53\xdc\x49\x1b\xb8\x07\x61\x0b\x7b\xba\x08\x6f\x4c\x02\xf7\x4e\x4e\x71\xac\x8e\xff\x71\x42\x7f\x93\xb8\x70\x38\xf3\x46\x2a\x4f\x1e\x5d\x3a\xbf\x91\x98\xd2\x98\x55\x15\x95\xd7\xc6\xe2\x93\xde\x22\xb3\x28\x4c\xdb\x6d\x9f\x4c\x39\xf1\x4d\xe4\xa4\x04\xe8\x80\x0b\x0a\x49\x0f\x8f\x53\xd6\x38\x02\xcc\xaa\x9a\xac\x62\x91\xa1\xb2\xec\xcb\x01\xca\x02\x38\x9d\xe8\x5c\x06\x65\x5e\x71\xd3\x6f\xc5\x66\x58\xaa\x54\x1a\xee\x37\xce\x06\x01\x2c\xc7\x09\x06\x33\x12\xcf\xe2\xe3\x62\x24\x4d\xf6\x9e\xe3\x3d\xc4\x93\xc8\x50\x6c\x3d\x28\x5c\xd0\x24\xd8\xbb\xbb\xc0\x97\x80\xc0\x46\x4d\x37\x00" -func precacheManifest9e98b44ce2e0f5dcb4d5872414bbf468JsBrBytes() ([]byte, error) { +func precacheManifestBef7d3fcb747de0d3bbae81a7517d996JsBrBytes() ([]byte, error) { return bindataRead( - _precacheManifest9e98b44ce2e0f5dcb4d5872414bbf468JsBr, - "precache-manifest.9e98b44ce2e0f5dcb4d5872414bbf468.js.br", + _precacheManifestBef7d3fcb747de0d3bbae81a7517d996JsBr, + "precache-manifest.bef7d3fcb747de0d3bbae81a7517d996.js.br", ) } -func precacheManifest9e98b44ce2e0f5dcb4d5872414bbf468JsBr() (*asset, error) { - bytes, err := precacheManifest9e98b44ce2e0f5dcb4d5872414bbf468JsBrBytes() +func precacheManifestBef7d3fcb747de0d3bbae81a7517d996JsBr() (*asset, error) { + bytes, err := precacheManifestBef7d3fcb747de0d3bbae81a7517d996JsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "precache-manifest.9e98b44ce2e0f5dcb4d5872414bbf468.js.br", size: 514, mode: os.FileMode(436), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "precache-manifest.bef7d3fcb747de0d3bbae81a7517d996.js.br", size: 519, mode: os.FileMode(436), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _runtime80a48224acd0a73f7d03JsBr = "\x1b\x34\x09\x00\x9c\x05\x76\xc3\xf5\x15\x8c\xdb\xa6\x39\x91\x1f\xb4\x44\x0a\x32\x55\xcd\x69\x16\x37\x6f\x92\x3f\xa5\x4e\x53\x27\x64\x1a\xb9\x2f\x94\x71\xa0\xd2\x04\x5b\x6a\x6a\x55\x6b\xb1\x20\x76\xc0\xf1\x3a\x64\x52\x03\x17\xe5\xc7\x8e\x20\x8c\x93\x4c\x7f\x0e\xa7\x6d\x13\x91\x95\x96\x4f\x67\x29\x8f\x5b\x32\x41\xf9\x3b\xe7\x68\x81\x73\xf7\xd7\x7e\xad\xee\xde\xa1\xa9\x51\xe2\xd5\xc8\xbc\x95\x3f\x26\x6f\x71\xf1\x6a\xa5\xb8\x97\x4e\x88\x0c\x8d\x98\xb0\x35\xd2\x92\xaf\x4d\x8f\x43\x40\x58\xfc\xa4\x3b\x71\x12\xe3\x72\x33\xac\xd4\x75\x34\x62\x15\xe7\x54\xa7\x12\x62\xcf\x83\xf5\x95\x14\xba\x92\xf9\xd2\x45\x99\x9b\x5e\xde\xda\xb2\x05\x90\xa6\xde\x3d\x5c\x86\x45\xe8\xcb\x60\xeb\x3a\x72\xfe\x6a\x67\x78\x86\xf0\x62\x4b\xb2\x94\x5b\x03\x19\x7e\x84\x5f\x58\xa1\x9e\xeb\x6a\xb4\xf5\xaf\xe5\xc7\xb3\x3f\xff\x69\xcd\x03\xcd\x6f\xb1\x4a\x47\xce\x66\xdd\x87\xea\xb3\x09\x2e\x7d\xcf\xd9\x47\x23\xda\x26\x42\x38\x7d\x9d\x00\x8e\xf4\xc9\x7a\xc7\xec\xaf\x6c\x16\x36\xb2\x3b\xd7\xe3\xae\xf8\x20\x99\x1b\x3a\x2f\x08\x7b\xe8\x6b\xa4\x72\xe3\xb6\xf3\xdd\xc0\x32\x8a\xaf\x84\x7a\xe7\xa0\x2b\x9d\x12\x2a\x0d\xdb\xa0\x8d\x00\xe8\x5e\x5f\x15\x1d\xa3\xe5\xcd\xf3\x73\xeb\x75\xe4\x6c\xae\x74\x86\xf8\x5c\x72\xfa\x89\xd4\x37\xdc\x4f\xe3\xf1\x59\x9f\x82\x26\x35\x0d\x14\x06\x52\x08\xb1\x43\x0b\xe3\x9f\xad\xb1\xb3\x69\xe4\x9a\x83\xdd\xd8\x9a\xd0\x86\x76\x52\x2f\x3c\x99\x77\x0e\xac\x08\x65\xdb\x43\xcd\x6a\xf2\x52\xbf\x4c\x03\x95\x3c\xd7\x74\x46\x82\xda\x3a\xf6\x68\xf7\xd4\xb8\x95\x9d\x58\x7f\x03\x83\x65\x5f\xf1\x68\x9c\x35\xd6\xea\x0f\xc5\xe2\x26\xd7\x81\xf6\xee\xa2\x5e\xde\x18\x6a\xdd\x46\xc3\x93\xe9\xef\x07\x0a\x39\x81\xef\x4e\x90\x11\x7d\x7e\x31\x5a\x38\x59\xab\x7e\xb9\x3e\xff\x5c\x55\xe8\x01\x10\x50\x43\x3a\x56\x56\xbe\x5e\x2a\x0e\x8e\x40\x63\x82\x72\x1c\xda\x51\x27\x1c\x78\x00\x62\x2c\x0d\xdf\x29\x22\x8b\x70\x9f\xff\x8b\x2f\xbf\x7e\xaa\x9c\xe3\xab\xee\xfb\xec\xdd\x61\x23\x8d\xcf\x51\x69\x26\x82\x64\x70\xf1\xf7\xbd\xbe\xc2\x74\xdf\x44\x7d\x2b\xa5\x62\x63\xef\x36\x0e\x87\x89\x92\x5c\xca\x7a\x55\xe5\xe2\x86\x52\xcf\x5e\xd8\x5c\x7d\xe5\x53\xcb\x15\x02\xaf\xab\xdc\x2c\x75\x87\x57\xcc\x62\x84\xee\x9c\x69\xe7\x42\x72\x73\xda\x7c\xbc\xbc\x8c\xc9\x1d\xfe\xfa\xaf\x59\xe0\xc2\x04\xde\x56\xd9\x5d\xb4\xe5\x2c\x37\xa4\x83\xb3\xa2\xe6\xd6\x11\x78\x57\xe5\x7a\xd6\xe3\x72\xde\x73\x13\x64\xdb\x14\x3d\x28\x81\xf7\x55\xe6\xfe\x96\x29\xac\x96\x1c\xb5\x3e\xbb\x5b\x89\x00\x96\xd3\x4f\xee\xae\x51\xc2\x55\xef\xf6\x51\x0b\x36\xde\x06\xd1\x6d\x94\xe4\xc7\x1f\x29\xcc\xc0\xae\x2d\xa1\x8d\x19\x80\x50\xc2\x4c\x55\x30\xd0\x1f\x94\x12\xd0\x6a\x9f\x0c\xd9\xf9\xe6\xfa\x28\x3a\xbb\x8a\x99\x09\x8f\xaa\xa4\xe7\x67\x5e\xd4\x0a\x75\x1f\xc4\x87\xa9\x56\x82\x00\x40\x8b\xdf\x1d\xad\x06\x94\xa0\x13\x42\xaa\xc3\xb0\x09\xcd\xb3\xe5\x10\x50\x0d\xea\xdb\x5f\x9f\x3f\x1c\x7d\xe7\xcc\xd2\xed\xc9\xa7\xf3\xeb\x67\x93\xf2\xb9\x54\x17\x91\x5f\xd5\x48\x68\xda\x44\xad\x9c\xea\x88\x78\x9e\x3a\xa3\x97\x61\x8a\x70\x35\x18\x5b\x96\xe4\x88\x16\xbe\xc3\xc3\x62\xd1\xda\x6d\xf0\x52\x55\x9c\x08\x13\x45\xfc\xb5\x8a\x40\xb0\x9c\xb7\x3c\xcd\x68\xe9\x9d\x9e\x0a\x98\x3c\x18\x7c\x5d\x44\xbc\x88\x04\xc3\x23\xb1\x33\x11\x54\xbf\xc8\xfe\x32\xab\xe8\x13\x17\x1f\xec\x4a\x32\xb0\xaa\xb7\x62\x2e\x0e\x07\xf8\xe4\xa9\x48\x82\x26\x23\x55\xc3\xce\x4b\xac\xe9\xee\xe3\xac\xe9\x94\xe2\xd2\x00\x53\x0c\xf6\xe9\x09\x92\xda\xd5\x46\xff\x17\xf0\x53\xae\xc3\xec\x6f\x79\xd9\x40\x4e\xf4\x5a\x7f\x59\xab\xc3\xd0\x87\x1c\x09\x07\xab\xdc\x04\x2d\x76\x14\x20\x83\x5a\x79\x78\x98\x3f\x48\xe5\xaa\x98\x4e\x45\x8e\x0d\x8b\xc0\x17\x94\xec\x56\x80\x9e\x7d\x0c\xe0\x5d\x26\x5e\xc0\x0b\x8d\x2b\x0a\x2b\x5d\x08\x3f\x47\x7a\x65\x59\xf6\x6b\x82\xb7\xa6\xad\x28\xbc\x98\x0b\x28\x10\xc5\x30\x77\x37\xc0\xf2\x44\xea\xb4\x10\x9f\x84\x1c\x88\x0c\x69\x75\xae\x49\xb5\x05\x38\x0b\xc5\x2f\x82\x60\xe2\xc6\x45\x8e\x85\x54\xf8\x03\xc3\xe2\x8b\x05\x9d\x71\x38\x10\xa8\x8d\x98\x3e\x16\xf6\x96\xee\x48\x70\x46\xd8\x69\x3a\x87\xe4\xa1\x34\x76\xef\xa9\x06\x70\xb6\x5d\xfe\xe5\xa2\x12\x68\x59\x02\x64\x3b\x83\x94\x25\x91\x20\x9b\x8c\x6d\x13\x28\xe9\xe8\x73\x39\x1a\xbd\xbc\x6a\x93\x9c\x24\x7e\x13\xe7\xa3\xd8\x95\x59\x8c\x16\xd9\x0c\xa6\x94\x18\x68\x11\xaa\xa0\xf1\x4d\xd6\xcf\xdc\x8d\xcd\xe0\x60\xf1\xd3\x7e\xad\x87\x34\x5f\xc2\x2a\x64\x7f\x66\xbc\x1c\xa0\x55\x35\x13\x09\x61\x8a\x5e\xd2\xa6\xd6\x13\xc6\x3a\x30\x19\x30\x96\xa1\x6b\xd2\x77\xc3\x75\xa0\x5c\xd1\x59\xb5\x0d\x1b\xaa\xec\xe5\x0d\x0d" +var _runtime6d8adf50c30e0820a841JsBr = "\x1b\x41\x09\x00\x9c\x05\xee\xde\x2d\x4c\x7f\xbc\xe3\x54\x68\x01\x1f\x1a\x06\xd9\xd4\xac\xaa\x36\xdd\x76\xf6\x7e\xc8\x55\x95\x11\x87\xf5\x5c\xc0\xab\x79\xf8\x64\x9d\xa5\xa6\x56\xb5\x16\x0b\x62\x07\x37\xa6\x43\xe6\x6a\xe0\xa2\x4c\xff\x1d\x41\x67\xea\x73\xa0\xb6\x4d\x44\x56\x5a\x3e\x75\x35\xed\x6c\x46\xa3\xbc\xa5\x75\x5b\x2e\xd0\xd2\xdb\xbc\xef\xf2\xd5\xbb\x9f\x8e\x11\x8b\xe0\x07\x8c\xf1\xcc\xee\x2f\xb3\xf7\xaf\xce\xa6\x97\xae\x4d\xa4\x74\xeb\xcf\x43\x96\x17\x0b\x28\xc7\x5f\xbe\x6a\xb2\xdb\xfe\x79\x61\x04\x08\x1e\x6a\xb2\x75\xb6\x0b\xe3\x5a\x53\x4c\xea\x16\x18\x30\xc5\xb9\xd6\xc9\x34\xa1\xd5\x4e\xf9\x35\x9a\xd9\x8d\xf5\xde\x4d\x95\x5f\x7a\x7e\xf5\x6d\x6d\x40\xfa\x11\xdf\x96\xe1\x51\xd6\xb6\xce\xd1\xb8\xe7\xfc\xc3\xce\x30\x03\xc2\x0b\x97\x14\xa8\x7a\x01\x79\xbe\x63\x03\x16\xa8\xe7\x14\x35\x7a\x96\xcf\xc7\x1f\x57\x7f\xbe\x6e\xcd\x03\xcd\x9f\x31\xa1\x23\x67\xd3\xe6\x5d\x72\x55\xe0\x32\xea\x98\x7d\x34\xc0\xad\x1c\x2c\x3f\x3a\x80\x23\x77\xb1\xda\x51\x29\x05\xf6\xc2\x46\x61\xb2\x3f\x77\xc5\x03\xc9\x9c\xd0\x79\x4d\xd8\x69\xa4\x12\xaa\x8e\x75\xf2\xdd\x83\x65\x14\x5f\x09\x65\x43\xa7\xab\xec\xd3\xd4\xdc\xd6\x41\x1b\x32\xa0\x7b\xbd\x28\x9a\x75\xaf\xab\xa7\xa7\xd1\xa4\xe7\x6c\xae\x72\x80\xf8\x3c\x65\xe7\x8b\xd4\xb7\x7d\x1e\x86\xdd\x73\x7e\x16\xaa\xd8\xd8\x57\x18\x48\x23\xc4\x0e\x34\x8c\x7f\xb3\xe6\x99\x43\xb3\xd6\x1a\x4c\x63\x47\x85\x26\xae\xa4\x61\xb6\x31\x6f\xe8\x58\x11\xa6\x13\x25\xd4\x2c\x97\xd7\xf4\xfb\x34\xad\x82\xc7\x5a\x0e\x48\xd0\x5c\xe7\x39\xfc\x68\xaa\xb0\xb2\x1d\xeb\xef\x61\x70\xda\x63\x9c\xe9\xa8\x71\x74\xfe\xb9\x78\x2c\x2a\xd7\x81\xf2\x5e\x82\x9e\x5f\x19\x1a\x4d\xbb\xdb\xc6\xf4\xf7\x02\x13\x45\x81\xef\x4e\x90\x17\x6d\xfd\x21\x0f\x27\x6b\xea\x57\xec\xe3\xcf\x57\x85\x1e\x03\x01\x4d\xa0\x63\xb2\xf2\xf4\x3c\xe3\x6c\x0f\x38\x13\x96\xe3\xd0\x91\x92\xe6\xc0\x63\x10\x63\x63\x2b\x37\x45\x14\xd0\x8a\xcf\xff\xc5\x97\x5f\x3f\xd5\x0e\xf1\xe2\xe2\xcf\xd9\xbb\xc7\x46\xd2\x17\x95\x2a\x11\x64\x80\xeb\xbf\x3f\xeb\x2b\x4d\xf7\x2d\x5c\xb6\x25\x38\x6d\x9e\x9b\xf6\xed\x76\x60\x49\x37\x9d\xf3\xb2\x52\x9c\x62\xd9\x6a\x84\x3e\xf6\x9f\xb6\x4e\xd6\x11\x78\x55\xc9\xcf\x6d\x93\xaa\xd4\x70\x4e\x23\x49\x16\x04\x5e\x57\x5a\xe7\xaa\x64\x29\xd1\x3d\xf3\x20\x85\x85\x27\xf0\xa6\x92\x3d\xe5\xe6\x50\xf7\xde\x57\x8d\x61\x93\x43\x2a\x12\x6f\x2b\xd9\x18\x89\x6b\x8d\xc7\xd3\x15\xa7\xd5\x6c\x22\x3a\xf0\xae\x52\x8c\xc3\x8d\xd8\x27\x55\xec\xb3\xa7\x6f\x1b\x02\x6c\xfb\x2f\xcd\xe7\x33\xd6\xd5\x9a\x46\x57\x8c\xb8\xc8\x5e\x99\xa2\x69\x5f\xd2\xbd\xff\x91\xc2\xd4\xba\x4a\xea\x06\x1f\x3b\x98\xcd\x53\xc5\x98\xd6\x23\x10\x5a\xd6\x73\x15\x98\x04\xc6\xa5\x08\xb6\xce\x69\x42\x67\x50\xf3\x2c\x2b\xbf\x01\x99\x11\x8f\x86\xa4\xa7\x27\x7c\xf4\x0a\x7d\x19\xe4\x73\xaa\x33\x0b\xc0\xa4\xe5\xef\x05\xbd\xc6\x4c\x41\xa5\x14\xbb\x94\x6d\x98\x46\x3e\x1e\xaa\x8d\xbc\xfd\xf5\xf9\xc3\xce\xb9\x68\x2c\x6d\x5d\x3e\x79\x2f\x9f\xed\x5c\xfe\x79\xe9\x5d\x64\xfc\xaa\x3c\xd2\x25\xfc\x3d\xf9\x84\x84\xc7\xdb\x94\x8c\xd6\xba\x09\xc2\xef\xa0\xa1\x59\x58\x23\x34\xd9\xbc\x0b\x23\x2b\x66\xda\xe4\xa5\x2b\x79\x14\x27\xca\xf7\x6b\xd5\x02\xc1\x76\x58\x7a\xb8\xc5\x72\x93\x6e\x0b\x00\x3d\x1e\x89\x1d\x0b\x7f\x19\x16\x54\xc2\xb2\x3f\x10\xe4\x72\x92\x8e\x65\x8a\x7c\xee\xce\x21\x07\x12\x0c\x4c\x2e\x63\xb2\x18\xdb\x2d\x96\x8a\xbc\x14\x41\x50\x24\xd5\x53\xdf\x58\xac\xe3\xd3\xc7\x51\xcb\x3e\xc5\x0d\xc5\x7e\x2e\x70\xf0\x39\x94\xe7\xf5\x4a\xff\x24\x88\x97\xb1\xe3\x6c\x3c\xf2\x41\x41\xae\xf4\x9a\xff\x59\xa9\x93\xd0\x07\x9c\xd9\x87\x2b\x6d\x8f\x16\x47\x0a\x90\x41\x33\xfd\xee\xc7\x0f\xd2\xc8\xaa\x5c\xf6\x45\x0e\x0f\x8b\x28\xe8\xb7\xec\x53\x00\xa5\x23\x14\xe0\x6d\x06\x7e\xc0\x05\xe9\x92\xc2\x4a\x9f\xc8\xcf\x96\x5e\x05\x9a\x0d\xe6\x94\xd2\xa2\x2b\x4a\x17\x16\x02\x4a\x78\x21\xf3\x75\x02\xcb\x2b\x71\x81\x85\xf8\x46\x44\x5a\x25\x13\x5a\x5d\x68\xd2\xa8\x01\xae\x42\x89\xcf\x23\x98\xb6\x72\x90\x70\x21\x2f\xfe\x40\xf1\x58\x76\x16\x74\x06\xe1\x58\xd4\xa6\xe8\x4b\x16\xfc\xcb\x75\x64\x3b\x0a\x3b\x2d\xe6\xf8\x3c\x91\xc6\xce\x25\xd5\x18\xce\x89\x22\xff\x66\x51\x09\xa2\x29\x03\x64\xbb\x01\xa4\x48\x04\x88\x22\xc3\xc7\x1c\x4a\x3a\xfd\xc4\xce\x4a\x2f\x6f\xd8\x44\x4f\xe2\x37\x77\x9c\xe5\x4d\xce\xb2\xe9\x88\xdd\x99\x52\xa5\xa0\x46\xa8\x36\x35\x76\x0a\x7e\xc6\x53\x43\x0d\x1e\x23\xbf\xe8\xd7\xf9\x90\xf3\x2b\x29\xb2\x54\x22\x8c\x57\x64\xf0\x59\x9d\x04\x9a\xac\xbf\x5e\x72\x16\xaf\x09\xea\xad\x94\x31\x0d\x1b\xb3\xa7\x7f\x37\xee\x1d\xe2\x2a\x8e\x12\x6f\x43\x34\xd8\xf3\x2b\x1c" -func runtime80a48224acd0a73f7d03JsBrBytes() ([]byte, error) { +func runtime6d8adf50c30e0820a841JsBrBytes() ([]byte, error) { return bindataRead( - _runtime80a48224acd0a73f7d03JsBr, - "runtime.80a48224acd0a73f7d03.js.br", + _runtime6d8adf50c30e0820a841JsBr, + "runtime.6d8adf50c30e0820a841.js.br", ) } -func runtime80a48224acd0a73f7d03JsBr() (*asset, error) { - bytes, err := runtime80a48224acd0a73f7d03JsBrBytes() +func runtime6d8adf50c30e0820a841JsBr() (*asset, error) { + bytes, err := runtime6d8adf50c30e0820a841JsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "runtime.80a48224acd0a73f7d03.js.br", size: 1073, mode: os.FileMode(436), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "runtime.6d8adf50c30e0820a841.js.br", size: 1081, mode: os.FileMode(436), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _swJsBr = "\x1b\x3d\x01\x00\x9c\x07\xb6\x2d\xe3\xb3\x3d\xc7\xc1\xb8\x32\x98\x6f\xc6\xd3\x46\xb7\xa5\xfe\x86\xdd\xac\xb1\x4e\x24\x8a\x59\x81\xf4\xa5\xc8\xd6\x5e\x2b\xbc\x80\xec\x54\xd9\x01\xf3\xf7\xbf\xa4\x24\x7f\x52\x16\xe7\xf1\x2d\xcb\x38\x49\x3c\xdd\x26\x44\x1e\x57\x98\xd2\x3c\xbc\x46\x41\x4c\x8a\xa8\xf2\x94\x1b\xda\xcf\x06\xaa\x1f\xd0\x09\xfe\x41\xd3\x18\x5d\x72\x5e\x35\xb4\xc1\xad\xa8\xab\x92\xd7\x42\x2b\xca\x09\x2f\xcb\x96\x4b\x0d\xc7\x0b\xf8\x53\xf6\x47\xb9\xfd\xc1\xcb\xa0\x84\x6c\x94\xeb\xdb\x64\xce\xcd\x0e\xaf\xe6\xd6\x5a\x5c\xfa\x70\xa0\x36\xc9\x4d\x4c\xbe\x4d\xb5\x81\xd1\x36\x0d\xbb\x64\xe5\x56\x97\x36\x4e\x26\x82\xc1\xa2\x29\x1e\x0a\x09\xcb\xd6\x84\x6b\xfd\xf1\x73\x28\x7a\x85\x59\xe6\xcb\x11\xe2\xc9\x37\x5e\xc8\x38\xe2\x73\x26\x7b\x31\x9b\xeb\x3e\xac\x9d\x55\xd0\x45\x89\x5d\x05" +var _swJsBr = "\x1b\x47\x01\x00\x9c\x07\xb6\x2d\xe3\xb3\x3d\xc7\xc1\xb8\x32\x98\x6f\xc6\xd3\x46\xb7\xa5\xfe\x86\xdd\xac\xb1\x4e\x24\x8a\x59\x81\xf4\xa5\xc8\xd6\x5e\x2b\xbc\x80\xec\x54\xd9\x01\x73\xfb\x57\x52\x92\x97\x94\xc5\x81\x84\xa7\x30\xe3\x24\xf1\x74\x9b\x20\x75\x5c\x61\x4a\x93\xf0\x1a\x06\xa1\x06\x91\xed\x29\x37\xb4\x9f\x0d\x54\x3b\xa0\x13\xfc\x83\x65\xd3\xaa\x9a\xb5\x55\xa9\xb8\xaa\x1b\x5c\xb3\xb2\x2c\x1a\x4d\x0a\x25\x88\xaa\x8d\x91\x70\xbc\x80\x3f\x79\x7f\x94\xdb\x1f\xbc\x1c\x32\x48\x24\x5f\xdf\xa6\xe2\xdc\xe8\xf0\x6a\xee\x5e\x8b\x8b\x1f\x0e\xd4\x26\xad\xc4\x64\x5b\x57\x3b\x68\x8d\x7a\x8e\xb8\x7e\xec\x5b\xb9\xa5\x9e\x29\x54\x28\x61\x98\x41\x88\xcc\xd9\xf9\x65\x6b\xc2\xb5\xfe\x02\x3a\x84\xbf\xc2\x2c\xd3\xa5\x08\xfb\xe4\x1b\x6f\x65\x1c\xf1\x39\xd3\xbe\x84\xd7\x75\x1f\xd6\xce\x2a\xe8\xa2\xc4\xfc\x02" func swJsBrBytes() ([]byte, error) { return bindataRead( @@ -654,287 +660,407 @@ func swJsBr() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "sw.js.br", size: 197, mode: os.FileMode(436), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "sw.js.br", size: 200, mode: os.FileMode(436), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _vendorsMain86053eda843a2f338397JsBr = "\x5b\xd2\xbf\x73\x05\xdd\xb6\x3d\xa4\x02\x2d\xdd\x86\xc0\xeb\xd8\xbd\xce\x36\x95\x5c\xc5\xd8\x85\x01\xb2\x33\x95\x24\xe9\xbf\x8f\x9f\xd0\x27\x70\x73\x1c\x15\x57\x05\xb6\x8b\x00\xae\x92\xff\xed\x02\x40\x55\x55\x55\x13\x93\xca\x90\x99\x50\x4d\x0b\x0c\x60\xc2\xf7\x79\x6f\x4a\xe4\x91\x4b\x2e\x24\x94\x7a\x04\x5a\x3f\xb8\xb0\xb8\x37\x27\xd7\x60\x45\x38\x04\xcd\x11\x10\x64\xf1\x8c\xe9\x4e\x67\x6e\xa9\x57\x6d\x42\x2c\x95\xe0\xbc\x04\x6f\x9a\xac\xb1\x8b\x63\x67\x47\x83\x20\x93\x63\xd1\x8f\x78\xa6\x73\xaa\x22\xf3\x95\x1c\xa8\x89\xd1\x30\x2b\xb2\xff\xc2\x71\xdd\xc9\x81\xa3\xba\x70\xba\x06\x02\x37\xf2\xb9\xbd\xaa\x23\x9a\xee\x0c\x27\xa9\x53\xab\x79\x0d\x6a\xaf\x82\xd8\x0e\xaf\x56\x1d\xed\x31\x2d\x9d\xb1\xb2\xf1\x84\x52\xcb\xb2\xb0\x1f\x2d\x5b\x57\xf2\x6d\x7a\x3b\xf2\xe3\xdd\xa2\x25\x08\x7f\x1f\x34\x8b\x9e\xee\x48\xa8\x86\x45\xf4\xff\x4c\x07\x0a\x04\xd9\x3f\xcf\xe4\x70\x08\xb2\x05\xd6\xa2\x8d\x6d\xba\xe8\x07\x95\x64\xea\xbc\x9d\x75\x7f\x51\xde\x96\x89\x8c\x9b\x46\x28\xa5\xe0\x2f\x02\xce\x1f\x56\xd5\x87\x15\xeb\x9a\xe8\xf9\x8b\x01\x41\xc6\x0b\xa7\x4d\x7c\xb2\x9a\xf8\x05\xf1\x99\x0e\xbe\x70\xa8\x41\xb6\x93\x3b\x26\x56\x2a\xb8\x62\xc2\x13\xff\x24\x1a\xd4\x3a\xfd\x3a\x6d\x68\x76\x2f\x11\x6f\x01\xf4\xd8\xfc\x14\x2a\x08\x61\x32\x9a\x42\x9c\x5b\x34\x85\xc6\xcc\x9a\x46\xe8\x99\xfd\xfd\xde\x2f\x5d\xff\xcf\xcf\x17\xd2\xf0\x2a\x37\xd3\x31\x51\xd9\x24\x6c\x47\xac\x61\x5f\x1d\xc6\x47\x69\xcb\x8e\xa0\x5b\x32\xea\xea\xac\xf5\xee\xfd\xa9\xf5\xf5\x6b\x06\xc7\x9e\xb1\x06\xc9\xb0\x5d\x8e\xa2\xb4\xb2\xa5\x7e\x69\x80\x25\x06\x97\x2d\xf6\x25\xfd\xde\x89\x83\xff\xd7\xcc\xcf\x56\xdb\x38\x40\xb1\xdf\x2d\x5e\x29\xc3\x4c\xe9\x98\xc8\x66\xcd\x16\x1a\x0a\xbe\x3e\xca\x19\xac\x82\xfd\x2b\x53\x93\x97\x5f\x33\xff\x3f\x3f\x5f\x42\x95\x9a\x6d\x85\x1e\x72\xdc\x3d\x6e\x2b\x0e\x47\x76\x6b\x1f\x86\x5a\x20\x17\xa1\x1c\x79\x24\xc6\x13\xcf\xf5\x24\x61\xc0\x9e\xf1\xab\xd7\xf9\xff\xff\xf5\x7b\x35\x45\xd5\x1b\x5e\x14\x78\x7b\x9f\xa8\x0f\x30\xe0\x44\x30\xc9\xf1\x9e\xe2\x8d\x45\x03\x6d\x44\xb7\x69\xad\x21\xa9\xf6\x56\x96\x56\xff\xfd\xbc\xcc\x9c\x8b\x1c\xb5\x46\x64\x95\x2e\xc7\x2c\x63\xc2\xad\x6e\xcf\x71\x79\x46\x6e\x7b\x77\xcb\x0a\x35\x2a\x13\x59\x84\x95\x04\x68\x24\x50\xc7\x56\x68\x1f\xbf\xc7\xc2\xf7\x56\x5a\x76\xba\x8a\xc4\xa0\x50\xd1\xf5\x9a\x1c\x73\x8b\x3f\x39\x29\xad\x31\xbe\xe4\x29\x2c\x81\x5e\x52\xe0\xb0\xe5\x2a\x63\x9d\xaa\x78\x9c\x87\x81\xb1\x40\x5c\xb5\x6b\x4b\x98\x14\xe4\x43\xc7\x3a\x81\xe8\x34\x0a\x24\x9e\x84\xd7\x34\x9c\xd6\x5c\x3a\x7d\xf4\xdd\xbe\x65\xe8\xd6\x55\x51\x88\xd7\xa0\x5e\x50\x2a\x57\xdf\x54\xc5\x9f\x66\x69\xd0\x1d\x92\x67\x1b\x8d\x20\x09\x4a\x76\xfa\xb2\xf8\xf4\xbb\xb3\xfe\xb5\x99\xf0\x8f\x6a\xff\x69\xd5\xce\x77\x12\x81\x17\xba\x43\xf4\xd4\x3b\x9f\x45\xe9\xad\x14\x84\x40\x46\x38\xb0\xbc\x90\x01\x1f\x99\x55\x8a\x95\x0e\x4b\x47\x37\x6f\xbd\xaf\x9a\x5f\xbf\x3a\x7e\x20\x33\xcf\x63\xa5\xf4\x85\xd7\x7b\xb5\xcb\x29\x4a\x97\x4d\xca\x5d\x52\x48\xf8\x2a\x70\x2d\x35\x5f\x6f\xf9\x52\x70\xaa\x94\xd6\x97\xd5\x2a\x15\xa4\x91\xc8\x9b\x31\x67\x54\x71\x19\x0f\xb1\x59\xe7\xd4\xa6\x39\x4c\x33\x7f\x28\x46\x50\xd9\x79\xcf\x8b\x73\x0f\x9f\xd3\x9f\x0b\xe8\x64\x92\xc2\x80\x0a\xa3\x77\xf3\xee\xe0\xfd\x74\xe8\x38\x77\x1c\x05\x88\x58\x8d\xe1\x71\x8e\x3f\x29\x1d\xd4\xf3\xb8\xdf\x15\xe2\xa0\xd4\x41\x85\xe0\x53\xb3\x91\x3d\x5e\x6f\x91\x08\xe2\x23\xa0\x3d\xec\x6c\x4b\x47\x04\xe9\x86\x42\x9b\x13\x42\x13\xb6\x84\x50\x98\xf9\xa5\x7c\x9f\x06\xc0\x1d\x78\x5c\x77\xc1\x04\x7e\x3f\x26\xb5\xba\x83\x85\x7e\x29\x1b\x7e\xb0\xec\x81\xe8\xff\xdf\x5b\x6a\x55\xdd\xab\x1f\x26\x13\x20\x25\xd5\x80\x94\x69\xd5\x58\xd6\xd8\x76\x66\x3b\x26\x0d\xc8\x36\x4e\x4d\x49\xe3\xfc\x66\xc1\x78\xf7\xde\x77\x99\xdf\x85\x10\x96\x88\x88\xcc\x6c\x64\x22\x81\x21\x1c\x8b\x60\x82\x3c\xa2\x48\xea\xbe\xf7\x7e\x24\xfe\xff\x11\x80\x22\x22\x93\x54\x44\x26\xc8\x4a\x80\xac\x73\x00\x8a\xd5\x07\x22\x55\xd3\x14\xd5\x56\x64\x49\xed\xd4\xd3\xce\x6d\x7b\xb3\x67\xa9\x8d\xf1\x8b\xdd\x6c\x16\x1a\xcf\x1e\x63\x97\xb3\x9b\xcd\x6a\xcc\x7f\xb5\xb4\x25\x31\x70\xe0\xcc\x2a\xec\x76\x2e\xaa\xee\x04\x7c\x27\x02\x4e\x07\x65\x76\xba\xa2\xd4\xf3\xff\xa9\xaa\x1a\x0f\x70\x5a\xa1\x53\x81\x54\x50\x52\xf4\xa8\x07\xbb\x0f\x5b\xa6\x8c\x23\xee\xff\x3b\x90\xb8\x3b\x80\x32\x40\x51\x26\x48\xa8\x52\x2e\x94\xa0\x0a\x51\xd5\x36\xed\x89\x52\x1a\xe3\x29\xa5\x6e\xc9\x96\x97\x29\xd9\xdc\xda\x98\xb2\x25\x9b\x97\x21\x5b\x32\x4d\x19\xc6\x39\x3c\x7c\x3b\xcf\x83\x02\x4c\xf9\x65\x56\x97\xf4\x21\x98\x85\xb4\x9b\xe0\x70\x24\xb3\x68\xda\xec\x26\xb4\xd9\x53\x33\x5f\x9a\x42\xf2\xa8\x80\x57\x77\x09\x35\x4f\xef\xae\x54\x09\x0e\x61\x91\xae\x49\x85\x31\x16\x28\xbe\xfb\x52\xab\x97\xaa\x71\xc1\x66\xed\x0f\x00\xee\x75\xe5\xa2\xbc\x80\x05\x3c\x4e\x89\xc6\xd6\x18\x78\x96\x28\xa9\xe6\x82\xe7\xd9\xb6\x0c\x55\x5c\x9a\xfe\xf4\x6c\x35\x47\x80\x10\xe2\x98\x9f\xec\x90\xa9\x64\x93\x37\x4e\xb6\x5b\x23\x84\xc6\x3c\xdd\x12\x90\x2f\xfc\xfb\x32\x3f\x3b\xf7\xc9\x4c\xc1\x69\x08\xc9\x30\xf0\xab\x9d\xf4\xdd\x73\x2c\x2b\x6e\xdb\xfd\xac\xd7\x44\x06\x04\xe4\x53\x60\x18\xb0\xb0\xb7\x89\xaa\x9d\xdb\xd8\x71\xe3\xf5\x2f\x6e\x70\x8a\x43\x22\x25\x80\xd9\x1f\x9a\x7d\x2f\xff\x26\x4e\xdf\xd9\x62\x43\x17\xb8\x00\x02\x49\xf8\xa0\x4c\xe6\x7f\x95\x0d\x9b\xee\x32\xe9\x25\x90\xc6\x12\xfb\x53\x1b\xa2\x6d\xe2\xb4\x89\x46\x50\xdc\x9b\x8c\x19\x75\xb5\xab\x94\x80\x01\x42\x40\x9f\x8c\xfb\x9b\xa8\xf6\xdf\xe5\xc7\xf1\xa6\x3e\xcf\x58\x14\xc5\x56\x41\x10\x2c\x3e\xbf\x8e\xfd\xff\x7d\xbf\xff\xcc\x4d\x92\x24\xc4\x52\xd9\x3d\x2f\x82\x8e\xce\xe1\x78\x74\xad\xaa\x68\xb6\x5b\xc7\xe2\xd0\xe0\x23\x14\xca\x5e\xb0\xd9\xac\x4f\x36\xdf\x7d\x67\xa5\xdf\x5f\x40\x9b\x59\x5b\x78\x78\x3a\x51\xdf\x7c\x99\x47\x59\x38\x7b\xfa\x9f\x22\xcc\x31\x70\xa1\xf0\x9d\x2e\xb6\xaa\xaf\x4a\x34\x3b\xff\xb3\x41\xc6\xd1\xc6\x65\x4e\x61\x0e\xcd\xe7\x70\xf8\x77\x4b\x1e\xf1\xba\xec\x75\x83\x1e\xe2\x1d\x11\xec\xd0\xd2\x86\xec\xb6\x81\x2b\x8a\x0c\xba\xc8\xec\x02\xdd\xdf\x1d\xbb\xbe\x7a\xc8\xc4\xd9\x13\xca\x30\x74\xb5\x45\x73\xb3\x7d\x69\x3a\xf1\xa9\x75\x6d\xaf\x5b\x98\xe2\x9f\xe4\x66\xcc\xeb\x9f\x9b\x10\xfa\x21\xab\x2d\x92\x9b\xed\x5b\x13\xc8\x9e\x28\x18\x7f\xae\x44\x0f\x40\xe7\xe5\xec\xa0\xc3\xdd\x81\x57\x00\xd8\x9b\xd0\x13\xb0\x8f\x4c\xcc\xef\x7f\x75\x8c\x4b\x40\x0b\x64\x13\x3a\x0c\xcd\x68\xe5\x79\xb9\x2a\xdb\x98\x24\xe8\xe1\x23\xd0\x6f\x8d\xb1\x79\xde\x3b\x9d\x29\xa1\x5c\x6d\x4d\xc7\x6f\x2f\xf0\x1b\x49\x65\x1f\x7c\x7b\x16\x7c\x9c\xc7\x9d\x6e\x40\x08\x97\xcd\xd6\x37\xa1\x6a\x05\x31\xda\xde\xa6\x80\x3f\xaa\x93\x53\x61\x1a\x6c\x94\xb4\x65\xa8\x64\x26\x57\x1a\x5f\xcc\xe0\x86\x9c\x8c\x85\x25\xf5\x7c\xab\x37\xfb\x5d\xe5\x6c\xcb\x3d\xc5\x7e\x5f\x30\x66\x15\x05\xdc\x74\x0f\x95\x70\x38\xa8\xc7\x86\x32\xb6\xd6\x66\x07\x54\x02\x33\x63\xec\xff\x8d\xa4\xb2\x1e\xf2\xb3\xc9\x4d\x04\x96\x88\x60\xf8\xed\xdb\x20\x9b\x27\x0c\x27\x9c\xf7\xea\x07\xaf\xb6\x70\x6e\xb6\x4f\x81\xe5\x35\x78\xe3\xcd\x14\xe6\x1c\x99\xa2\x66\x1d\x15\xc9\x30\x6e\xd7\xc1\x17\x2f\xbc\xc9\x19\x1c\xe7\x26\x58\x97\xe7\xa5\x0b\xec\xbe\x98\xed\x5e\x77\x0d\x4c\xfb\x01\x90\x5e\x9e\x8b\x9f\x94\x9f\xa0\xef\xe3\x23\x5e\x9e\x80\x82\x4f\xdf\xbe\xda\x08\xb3\xa3\x8b\xa7\xd8\x99\xe1\xec\x02\xe7\xad\x66\x1c\x16\xc8\x9f\xfa\xdb\x61\xbc\x95\x2f\xd4\xe9\x15\x21\x2a\xe4\x37\xbb\x1e\x79\x1c\x89\x15\x56\x46\x08\xbd\x87\x0a\xca\xda\x88\x87\xbf\xb4\x14\xa5\x14\xb8\x4a\xaa\x42\xc2\xe7\xc5\xb0\x26\x1b\xbc\x52\xd2\x4c\x07\x77\x75\x73\x36\xb3\x1f\x7d\x4d\x86\x42\x40\xff\x1b\x81\xdd\x7e\x1b\xca\x88\xd8\xd7\x97\x96\x70\xe7\x4b\xb8\x0d\xc3\x14\xf2\xaa\xbb\xa0\x99\xaf\x20\x86\xbc\x9e\xab\x78\xc6\x36\xc8\x51\x48\x83\xca\x1d\xda\x00\x0a\x65\x9c\xdd\x80\xf8\x47\x65\x15\xf5\x02\x12\x5a\xf0\x25\x60\xba\xc2\xe1\x59\xf8\x12\x94\xad\xc2\x62\x15\x38\x39\x4d\x15\xc7\x57\x74\xbe\x26\x04\xb3\x90\x23\xf6\xd6\x71\xb7\x2d\x22\x58\xd9\xd9\xe5\x9c\xf9\xc8\x86\x0b\x7d\x09\xbd\x7b\x82\xd7\xa6\xcd\x23\xef\x64\x81\xb4\xd2\x6a\x81\x15\xce\xf8\x0b\xb4\x36\x33\x0e\xce\xaf\x8a\x92\xc8\x09\x09\xea\x76\x8e\xdb\x4a\xb1\x99\x53\x25\x92\xf8\x69\x1e\xb1\x7a\x70\x98\x31\xd8\x5c\xa1\xc4\xaf\xc3\x83\x47\xa9\xb9\x88\x79\x77\x5b\xfe\xc3\x4c\xcc\x95\xc1\xae\x5c\xd7\x50\xa5\x57\xbf\xb9\x07\xb4\xe2\x33\xc4\xd0\x36\x13\x92\x3e\x63\x23\xd2\x32\xab\x7f\xff\xf3\xf6\x34\xde\x4a\x0b\x3c\x49\xf1\x26\x1c\x8e\x4f\x39\xad\xd3\xbf\x0f\x7b\x86\xf1\x2e\xbb\x5b\x7c\x3a\x3d\x4e\xe8\xfc\x32\x21\x02\x43\x07\xfc\x5f\x77\x62\xcc\xaf\x26\x38\xb1\xa4\x09\x88\xc4\x5e\x78\x7e\x3d\x3c\xed\x61\x75\x68\x6a\x39\x8b\x00\x37\x40\x38\xf2\x2d\xfb\x61\x2b\x1d\x6d\x65\x96\x1b\x4c\x4b\xb2\xf1\xec\x34\xbd\x82\x4a\xc6\x14\xd6\x02\x0d\x81\x38\x5b\xc4\xed\x6d\x1c\xa9\xab\x4d\x35\x81\x88\x66\xee\xa7\x55\x85\xf7\x86\xa9\x25\x02\xbe\xa8\x9a\xa8\x9a\x8d\xe0\x67\x00\x61\x25\x95\xec\x55\x48\x04\xea\x63\xa0\x70\xa8\x47\x93\xb4\xc3\x9e\xe5\x5f\xa8\x0a\xd5\x65\xeb\x57\x3a\x6a\x37\x61\xbd\xf9\x06\xc4\x73\x1d\xf9\x45\x18\x1f\x57\x6a\x35\x54\xbb\xaa\x21\xdb\x3c\xb1\xce\x62\xa9\xb3\x2c\x32\x71\x1e\xd8\x2a\xc9\x2a\xb2\xf8\x39\xf3\xe6\x49\x2c\x51\x00\xf8\x1a\xaa\x32\x77\x09\x36\x7e\x4f\xd9\xb0\x9b\x34\x76\x55\x22\x77\x24\xa1\xbf\x70\x4f\x2b\x7a\x3c\x8e\x1f\x28\xf3\x2d\x90\xd0\xae\xa5\xeb\x53\x13\xa2\x60\x2b\xd5\x0d\xee\x98\xe6\x20\x99\x43\x16\xd1\x69\x17\xd3\x57\xa4\x16\x8f\x93\xa7\x41\x29\x19\xb9\x6c\x97\xf2\x64\xe6\xb2\xf3\x6b\x89\xc9\xd0\x54\x56\xb3\x6c\xb3\x60\x5a\xb6\xf5\x52\xb5\x90\x5c\x54\x87\x3a\x33\x55\xaf\x37\x74\x66\x7a\x1d\x94\xb9\x68\xdd\x51\x27\xc9\x3a\x05\xf7\x2c\x2d\x29\x10\xe7\x89\xd6\x6f\x50\xd8\x7f\xc0\x44\x6b\x97\x2f\x45\xae\x90\xb9\xe8\x1a\xea\x6c\x17\xb8\x90\xa6\x5f\xfc\xbd\xe2\xe9\xa7\x4f\xf2\xc4\x6e\x31\x76\x58\xef\x2c\x76\xbe\xb5\x20\xeb\x77\x6a\x01\x60\x23\x49\xe0\xf6\x03\x24\xeb\x49\xdd\x5d\x21\x43\x05\x03\x08\x00\xd8\x00\xb4\xd9\xf0\x46\xd4\x2f\xad\xef\x4a\x94\x8d\xf8\x75\xb8\xca\x00\x55\xfd\xfe\x4d\x49\x99\xc0\x4e\x9d\x34\x14\xe1\x60\x66\x62\xd1\xc7\x7e\xdb\x01\x50\x1f\x84\x85\xb6\x7c\x5a\xb9\xd5\x6d\x5f\xb4\x59\xbb\x5c\x9d\x60\x40\xfd\xc3\xc0\xb0\x03\x02\x80\x46\xbf\x44\xd6\xa6\x51\x3f\x60\x98\x69\xd8\x8d\xe0\x36\xc1\x0f\x6a\xe3\x34\xd4\x0f\x9a\xc6\x58\xb5\x3d\x5d\xf2\x19\x2d\x24\xaf\xf0\xc9\x5a\xdf\x64\x18\x28\xe3\x1c\xfa\x21\x95\x1c\xdc\xea\xbc\x87\x2c\x04\x01\x06\xc6\x6d\x12\x6c\x34\x2b\xda\xdc\x98\xdf\x0d\x90\x14\xd0\xb4\xfb\x11\xfc\x1a\x45\x0d\xea\xb0\x8e\xfe\x6a\xc8\xdd\x4d\x09\x51\x8d\xc5\x10\xf1\xe7\xc1\x90\x2a\xc5\x89\x3e\x55\x51\x78\x76\x01\x39\x07\x2e\xfb\xa3\xb7\x59\x51\xfa\x9b\x84\x4b\xb6\xbf\xec\xb2\xde\x85\x2c\x2b\x17\xc2\x8a\xf2\x1a\xf1\x8c\xd4\x55\xb0\xea\x9b\x90\x04\x03\x7c\xdd\x85\x45\x09\x45\x11\x99\x78\x15\xc3\x99\xb1\xaa\xa0\xc2\xc5\x7d\x4c\x2b\xd4\x16\x05\x55\x65\x2a\x4f\x5d\x5e\xab\x9c\xcf\x62\x6b\xf3\x08\x0a\x89\x18\xbe\xe3\x73\x3d\x69\x85\x7c\xf2\x81\x8a\x8d\xa1\x56\x84\x5e\xc0\x18\x90\xb5\x51\xba\xa3\x82\x7e\x41\xe4\x08\x92\x16\xc6\x00\x8b\xcc\x48\x61\xb4\x43\xa9\xee\x3b\x9e\x25\x88\x2b\x4a\xb2\xec\x5c\x52\x32\x56\xa4\xdf\xa5\x7e\x4f\x95\x0d\xf0\x61\x58\xf7\x30\x08\xc6\x79\x17\x8f\xe4\xc4\x59\x8a\x5f\x76\x66\x79\x3a\x52\x04\x3e\x08\xcb\x76\xb8\x2a\x83\xaa\x0f\x3a\x7d\x97\xdf\x9c\xcb\x75\xce\xef\x5a\x35\x2c\x4a\x96\x22\xd2\x08\x4e\xf5\x90\x4e\x4d\xc8\x38\xb8\x76\x68\x7c\x9b\x8f\xd3\xfc\xb6\x67\xc3\x2e\x80\xa3\x0a\x9e\xfc\x49\xdd\x24\x81\x4e\xd6\xf1\x5b\x31\x31\x0f\x21\x8a\x74\x39\x3f\x33\x32\x93\xd3\xb8\xac\xbc\x90\xa2\x23\x03\x23\x69\x84\xe9\x21\x4f\xaf\xd9\x4a\xf3\x44\xaf\xc9\x41\xe9\xa6\xc3\xd2\x5f\x8e\x7c\xef\xc5\xf5\xe9\x46\xc3\x48\x31\xc8\x49\xe5\x09\xf6\xd5\x3d\xc8\x5d\xe8\xdb\xe5\x0e\xd8\x03\x25\x85\x79\x6e\xef\x37\x1d\x98\x23\xea\x24\xfe\x43\xc8\x3f\x20\x91\xd2\x55\xb9\x68\xec\xea\x31\x3d\x22\xfe\x70\xf3\x6c\xbc\x0b\x20\x50\x2e\x42\x70\x82\x4a\x37\xb7\xa6\x3e\x1e\xb7\x94\xdd\xc7\xb9\xdf\x70\x62\x5b\x0e\x50\xa5\x5a\x69\x9b\x7e\xd8\x39\x96\x67\x0e\xa9\x64\x0b\xa1\x74\xaf\xce\xb7\x70\xbe\xe1\x1a\x6f\xb9\x27\xbd\x55\xad\xc2\xaf\x79\x23\xfc\xeb\xa6\x5b\xc0\x73\x1b\xe1\xfe\xfd\xb0\xc7\xf5\x6d\xa1\x71\x88\x94\x88\x46\x05\x93\xa9\xb6\x8c\xf0\xec\xc5\xd7\x2a\x19\x99\xa2\x21\xf8\x22\x7f\x9b\xb6\x87\x35\xde\x34\x77\x30\xaf\x5e\xe9\xec\xe3\x1c\x9f\x0e\xd1\x0c\xb6\x3c\x7d\x10\xad\x70\x0e\xc8\x3a\xed\x9d\xf3\x6b\x34\xbb\x46\xad\xd2\x64\x22\x08\x45\x81\xa1\x96\xab\xd4\x24\x29\x0c\x2c\xb9\xe8\x7e\xa8\x1e\x42\x84\x97\xe0\x28\x35\x04\x7d\x73\xfa\xb7\xce\xb0\x35\xfc\xf0\x45\xb4\x31\xd7\xb6\x43\x80\x9c\xa3\xc2\x9f\xfd\x02\x4a\x1c\x6c\xc5\x8f\xee\x0c\x3a\xa1\xfa\x73\x3d\x8e\x40\xbd\x72\x01\x57\x01\xab\xe1\x1c\xcb\x46\x42\xcf\xb7\x60\x8a\x2e\x3f\xc0\xca\x28\xe7\x0a\xfd\x16\xc9\x82\x95\xd8\x49\x80\xde\x1f\x46\xe1\x29\xa9\x44\x99\x02\xc7\x6f\x5a\x22\x29\xdf\x94\x0a\x81\xe4\xaa\xbb\x32\x28\x70\xa2\xad\xa3\xc6\x6e\x8e\x15\x9c\xfb\xab\x59\xcb\x16\x72\x31\xaa\x6d\xee\x45\x6f\x45\xa2\x31\x37\x1c\xca\xf6\x4a\x64\x69\xde\x05\x3e\xca\xa7\xd5\xad\x88\x09\x91\xab\xc2\x81\x10\x2b\xc3\xd4\xa7\x10\x09\xf3\xf8\x62\xf0\x60\x60\x93\xcb\x1d\x43\x77\x6f\x62\xfc\x24\xb8\xa0\x68\xf5\x75\x3e\x0f\xbe\x8d\x10\xf5\xda\x45\x95\x5b\xb2\x0b\x95\x81\x4b\xfd\x26\x79\xb2\x11\x67\x6d\xc3\xba\xf8\x8c\x93\x09\x41\xc2\x15\xc7\x53\x8d\xa2\xf0\x0d\x43\xb2\x6b\x0f\x7c\x6f\x67\x97\x0d\x1c\xab\x98\x7e\x5b\xaf\x29\x7b\xcd\x82\xdd\x97\x90\xab\x70\xa6\x29\x7a\x96\x50\x6c\x1c\x8e\xa7\xbf\xe6\xa0\x6c\x8d\xf3\x32\xc2\xb1\xb6\x80\xff\x68\x35\x07\x15\xd7\xd1\x8c\xa5\xbe\x66\xdf\xab\x4a\xb6\xb2\x20\x27\xa6\x50\x19\xe5\x9b\x05\x72\x44\x00\x34\x78\x5c\x85\xb6\x9e\x84\x9d\xea\x2f\xc7\xc9\x0f\xfd\x99\xbb\x35\x16\x9c\x29\xec\x32\x17\x8c\x8b\xe9\x6c\xde\xdd\xd9\x52\xe9\xc4\xa9\xea\xf0\x65\x26\x76\xa3\xc4\x88\x02\x72\xa3\xfe\x76\xef\x2f\x22\x50\xb2\x3a\xc7\x59\x5f\x16\xe8\x12\x5a\x51\xb0\xcd\x43\x64\x6b\x3a\xab\x4e\x11\x07\x9a\xea\x9c\x59\x83\x59\x1c\x89\xe8\x8f\x1c\x39\x8d\xa0\x32\xf7\x80\xf1\xd6\x40\xcf\x35\x1d\x00\x5b\x18\xc6\x83\xf1\xbf\x87\xe2\x01\x44\x2b\x48\xda\x9c\x2b\x41\x9b\x68\x5c\x62\x38\xc2\xd9\x45\xa1\x95\x6c\x3b\x30\xcf\xfd\x2a\xd4\x2b\xd3\x2b\xf9\x1d\xa1\x8a\xbe\x49\x34\x4a\x80\x49\xf5\x36\x3c\x71\x3f\xec\xbc\x1f\xf8\xa0\x44\xd9\x81\x32\xc2\xb3\x4c\xab\x0c\x0f\xb7\xb7\xda\xe4\x37\x08\xc9\xd5\x99\xc5\x35\xf0\xd6\xa2\x36\x20\x0e\x4c\x39\xdc\x05\x1c\x50\x4b\xd4\x47\x6c\xbd\x0a\xc8\xe4\x34\xe0\xc4\x37\x1a\x86\xb4\x11\x05\xfa\x04\xad\x3e\x4f\xdf\x34\xe2\x8d\x36\x2a\xdc\xe2\xc0\xc5\xc7\xa7\x6f\x66\xa1\x46\xb6\x15\xb5\x70\xd9\x29\x48\xbd\xf8\x00\xa3\xf9\x9c\x4a\xca\xf5\x17\x7c\xeb\xb6\x58\xd1\xae\x9b\x8b\x1f\x73\x0c\x6e\xd7\x5a\x0a\x02\x4c\xd9\x4a\xe5\x73\xf5\x11\x71\xe0\xdf\x55\x1d\x31\x5e\xa4\x43\xe5\x9c\x60\xcc\xa9\x71\x04\xe4\xdd\x75\xa9\xce\x92\xfb\x77\x45\xac\x47\x50\x2a\x67\x4a\xc2\x1a\x75\x16\x91\x3e\x2a\xbd\xa7\x77\x20\xcd\x2b\x4d\x13\x34\xee\xc7\x6a\xdb\xd2\x81\x7c\xea\xb2\xa5\xc5\x8c\x6c\xa9\x03\xae\x92\x30\x70\xb4\xd9\xfc\x56\x33\x3a\xc9\xe6\x80\xed\xbe\xfa\x6f\x07\xe6\xbd\x83\x02\xd9\x74\x39\xc8\xe5\x3e\xa3\xa0\x44\x22\x89\xf9\x65\x5e\x6a\xc4\xe3\x1b\x02\xc0\x46\x5b\x25\xee\xcf\x0d\x0b\x41\x1b\x6d\xad\x00\x55\x65\xb3\xc8\x9c\xe2\x32\x62\xce\x51\x55\xcd\x9a\x98\x83\x82\x75\x40\x63\x74\xc1\x7a\x70\x3e\x33\xd5\x35\x36\x4e\xf9\xad\x4e\x62\x75\xb6\x71\x98\xa3\x92\xcc\x54\x42\xd1\x7a\x67\xca\xdd\xcb\xa1\xc6\x46\xbf\xaf\x29\x91\x13\x54\x16\x33\x49\xa1\xc0\x05\x2e\xf1\x22\x9e\x67\x28\xfc\xba\x63\x1d\xa4\xc9\xa1\x37\xe1\xe3\xc1\x9a\x2f\xa4\x57\x37\x1d\x22\x69\x89\x9f\xc5\x60\x14\x4b\xcb\x8f\x81\x23\xf8\x1e\x8b\xa4\x08\xa6\xe3\xce\x1d\x79\xa2\xdf\x2c\xe8\x63\x7b\x35\x8a\x8e\x01\xf1\xd5\xb2\x29\x06\x73\xcc\xc4\xa2\x8c\x81\x25\x42\x8e\x78\x08\x09\x45\x67\x9a\x40\xdc\x29\xd2\x92\xc1\x08\x66\x91\xee\x6c\x97\x61\xe8\x01\x18\x4d\x4f\x18\xdc\x6f\xf1\xbc\x5a\xc5\x91\x81\x23\x1f\x86\xd2\xfb\x6b\x4c\x20\x72\xf8\x34\x06\xa1\xdb\x26\x60\x31\x18\x7e\xa0\x4b\x20\xa5\x34\x3b\xa2\x4e\x64\xba\x41\x60\x08\xcf\x06\x95\x39\x2a\xa7\xc4\x5d\x4a\x82\x09\x4d\xab\xa5\xea\x6d\x0b\x25\x6c\x27\xb5\xad\x3c\xc0\x8b\x44\xe4\x8c\xb2\x7b\x6f\x39\x71\x7d\x65\xdf\xc6\x46\x1d\x2a\xf2\x5b\x1e\x24\xa1\x20\x22\xb5\x13\x95\x32\xaa\x8c\xeb\xee\x32\x9f\x5f\x61\x0f\xe1\xf6\x51\x52\xe6\x5c\x22\xcd\x3c\x5b\x01\x0a\xde\x2f\x5b\xf2\x94\x41\x99\x90\x95\x8c\x11\x0f\x9c\xef\x59\x21\xdd\x6d\xd7\x60\xf5\x5c\x3c\x56\x9f\xd6\x9b\x85\xc5\xc5\xef\x83\xd3\x9d\xf9\xd4\xef\x55\xc8\x5a\x7d\xc4\x46\x2f\x7d\xaf\x85\xc8\x2c\x3e\xa2\xfb\x57\x0d\xef\x47\x58\xcc\x22\x64\x23\xa8\x21\x75\xe9\x3e\xb6\xd6\x80\x84\xd5\x15\x36\x64\xa6\x0c\xa1\xbe\x38\x39\x4f\x8e\xa7\x7d\x24\x48\x32\xb2\xea\x7b\x58\x2d\x26\x83\x1d\x9f\x42\x04\xf5\x6c\x01\x46\x0e\x9b\x9e\x68\x69\x7a\x1f\xca\x06\xf9\xc6\x9c\x91\x9a\x2b\x2b\xca\x64\xf4\x2e\xf1\xd9\xa4\xbd\xe5\xe9\x74\xbc\x70\x41\x77\xf2\xe9\xcf\x97\x04\x98\xa6\x69\x8a\x54\xc1\x7f\x46\x32\xa9\xc4\xf9\xd5\x0b\x93\x40\x0c\x24\x70\x2a\xbd\x89\x84\x82\xab\x66\xfa\xd1\x06\x37\x65\x6c\x5f\xaf\xfa\xbf\xbb\x2f\xd6\xa4\xa4\x73\xad\xe6\xe6\x57\xd5\xc1\xcb\xd7\xd4\xbc\xc8\x8c\xf0\x9b\x9f\xa8\xad\x66\xc9\x0c\xd3\xd8\x06\xe5\x68\x34\xbf\x9b\x61\x2b\x6b\xe9\x78\x40\x19\x65\x55\xde\x1d\x9c\x43\x0c\x08\xe9\x62\x0f\x4d\x11\x40\x94\x92\x7e\x67\x23\x57\xbc\x82\x4a\xf8\xb8\x98\xa1\x43\xc3\x64\x8d\xb7\x57\xcc\x5a\xd3\x0a\x9b\xda\x20\x14\x28\xc3\x38\xa0\x5d\x44\x5f\x74\x81\x9a\x6e\x18\x3e\xee\xd9\xac\x77\xad\x7f\x2b\xa4\x77\x5b\x41\x83\xeb\xef\x35\x4a\x01\x4d\xd6\x6a\x34\x56\x71\x7b\xde\xaa\x11\x44\x08\xa0\x1e\x36\x90\x83\x0f\x85\x97\xbf\x42\x79\xc0\xff\xe9\x06\x63\xfe\xc5\x58\x02\x35\x51\x0d\x54\x1b\x69\xc4\xef\x72\xed\x0c\xa2\x8b\x5a\xf1\x2c\x05\xa1\x38\xf9\x0f\xaf\xda\x08\xbb\x29\x2b\x2a\xab\x84\x9e\x28\x68\xad\x64\xbf\xd5\x2d\x14\xad\x57\xf2\x30\xe7\x08\xe6\x05\xff\x58\x7d\xd6\x58\xa0\x94\x44\x5d\x03\x82\xf7\x0d\x40\xf5\x98\x9c\x30\xd5\xa4\xef\xa7\x07\xa3\x43\x52\xc9\xfb\x8b\xd7\x51\x28\xad\xa5\x90\x6f\x9c\x9a\x89\x3d\x8f\x4b\x43\x1f\x95\xf4\xbb\x6f\xc5\xa1\x56\x8e\x8a\x4f\x3b\xd4\x9d\xb9\x0b\xe6\x87\xf7\x4f\x0c\xcb\x71\xbd\x50\x8c\x3b\x1b\x21\xd0\xb0\x5d\xc5\xf8\xa6\xc3\xa9\x2e\x6c\x9e\xcc\xd7\xd7\x1b\xf5\x5d\xbd\xd6\x56\x67\x3b\x5a\x61\xa8\x0d\xdf\x7c\x15\x12\x68\x0d\xf3\x40\x64\xf4\xa9\xa8\x6e\x03\x3c\x46\x06\x27\x04\x57\xa4\xb2\x31\xcf\xaa\x95\x95\x73\xb2\x8e\xc6\x0d\x08\xe7\x77\xf0\xb6\x98\x1b\x26\xe3\xe1\xb3\x4a\x0b\x12\xb2\x84\x6c\x00\x66\xe1\xa1\x80\xe9\x78\x5b\x7b\x7b\x91\xc2\xa2\x45\x97\xa0\x6a\xa3\xe8\xa4\x38\xea\x04\x5e\x5d\xb6\x6d\x30\xb0\xda\x9c\x57\xca\xe8\xd4\x85\x46\x6e\xa2\xee\xc3\x6d\x43\xa0\x78\x79\xf5\x72\xed\xd1\xe6\x83\x9f\x1e\x7c\xde\xda\x71\xc9\xa1\x4c\xcd\x2a\xc7\xd5\xdf\xd2\x72\xf5\xef\x7e\x61\xef\x06\x4e\x69\x37\x4b\xad\x83\xcb\x96\xd8\x98\x81\x49\x5b\xf2\x6c\x33\x23\x32\x66\x94\xc1\x08\xac\xe6\x33\xa6\x34\xf8\x6f\x7a\x38\xfe\x71\xcf\xff\x59\x72\x72\x7a\x4c\x4e\x17\x56\xe4\x23\xae\xdb\x9c\xb5\x45\x81\x7c\xc9\x6e\x8b\x30\x7a\xac\x0b\xa2\x63\xf3\x5c\x5e\x06\x8e\x73\x9b\x8e\x75\x31\xd6\x66\xf2\x5a\x20\x89\x57\xe7\x5b\x63\x04\x2c\xf9\x3f\x19\x23\x88\x5f\xce\xc4\xb0\xb2\x84\xbb\x72\x04\x5d\x05\xa6\x78\x3b\x97\xf8\xb3\xfb\x61\x67\x47\x97\xb7\xbb\x60\x02\xf0\x8e\x07\xe9\xa9\xa6\x23\x77\x3c\xa5\x69\xfd\x9f\x46\x05\x7f\xbd\x0c\x21\x05\xf3\x1a\x05\xdc\xe2\xc8\x2c\x44\x34\x25\x40\x88\x8a\x2c\xb2\xb2\xc3\x5f\xbf\xee\x19\x8c\x65\x66\x0a\x63\x15\x8b\x1a\x84\xee\xd9\xcc\xd9\xfe\xf3\xb7\x04\x6b\x01\x14\x0e\xa5\xc1\xf2\x04\x33\xb8\x68\x2b\xee\xe0\xb2\x72\xb5\x42\xfb\xb3\xde\x5d\xfc\x68\x89\x80\xf3\x0e\x73\xe3\x92\xbe\x40\x1e\x9b\x30\x3a\x0e\xb2\x1b\xb4\x74\xe1\x95\x7f\x56\x72\xf3\x77\x12\xca\x4e\x21\xc2\xfc\x71\x02\x17\x83\xce\x6d\xad\x62\xa5\x18\x3d\x91\x9e\x64\x81\xb8\x41\x97\x08\x03\xf2\x1f\x19\xf5\xeb\x8c\x05\x04\xa3\xdb\x60\x7e\xde\xeb\xd5\x9e\xb1\x07\x5a\x40\x4e\xff\x26\xf3\x97\xf5\xe7\x85\xf5\xcd\xbb\x98\x3f\x31\x7f\x89\x1f\x08\x69\xe8\xdc\xb8\x61\x79\x5a\x8e\xa5\x9a\xce\x50\x6a\x66\x67\x4c\xcc\x0a\x67\x2b\x8d\x69\x28\xeb\xf9\x1c\xf9\x67\x2a\xba\xc7\x60\xda\x8d\x62\xea\x25\xee\x4a\x88\x22\x18\x61\xfe\xaa\xab\x33\xc9\xa7\xc9\x06\xdc\x85\xfe\x20\x99\x27\xa6\xa9\x27\x8c\xa8\x67\x5f\xe7\xf5\x0b\x02\x24\x7e\xdc\x7d\xc0\xc0\x55\x90\x49\x18\x97\x68\xbf\x43\x13\x31\xf9\x9e\x86\x4b\x74\x3d\xa6\xd5\x79\x0a\xc0\xc1\xdb\xc3\x12\xdb\xb8\xe8\xd2\x9f\x8d\x9a\x94\x70\x86\x6b\xd8\xd8\x10\xc6\x45\x3e\x39\xf6\x37\xfc\xe1\x7c\xf3\x18\xce\x57\x49\xa4\x47\xc5\xba\xce\x5e\xdf\x62\x41\xe6\x48\x17\x72\xb5\x99\xe6\xca\x76\x00\x29\x4f\xe4\xe8\x26\x02\x0c\xcc\x94\x6e\x15\xd9\x09\x76\xd5\xd0\x86\x5f\x8a\xec\x90\xdc\x86\x90\xfd\x00\x41\xac\x96\x57\xf9\x82\x3b\xfc\x81\xfd\x81\x8f\x1f\x29\xfe\xb3\x8b\x4d\x7f\xb9\x7d\x2e\xdb\xf3\x1f\xee\x7c\xb9\x6e\x60\x5b\x6a\xc7\xeb\xd4\x76\x87\xe3\x2c\xc7\xa4\x08\x9b\x5f\xdc\x98\x98\x68\x9f\xed\x2e\xd0\xe2\x23\x4c\xd4\x1c\x98\xbf\xb1\x5d\x60\xb5\x3e\x2a\x0a\x05\x69\x8f\x13\x29\x90\x6d\x48\x8f\xce\x54\x7c\xce\xe3\xe6\xda\x6a\x95\x18\x5a\x9d\xab\xd9\xfe\x7d\xea\xb2\xea\xb6\xa7\x38\x12\x7c\x07\xce\x3a\x2b\x25\x17\x5e\xc8\xcc\x1f\x07\x52\x88\x7f\x03\x63\x55\xea\xa0\x22\x1e\x6e\x10\xa0\xe3\x7b\x36\xd1\x14\x23\xc3\x8e\xdb\x3b\x1c\xa3\xb3\x3c\x4d\x87\xbd\x92\x6a\x09\x8c\x1b\xf2\x46\xc5\x1c\xa3\xd1\xc8\xbe\x32\x4f\xfb\x8b\x41\x27\x54\xc8\x91\x5c\x56\x97\x0f\xf0\x89\xcd\xec\x69\x0b\x2e\xbb\x67\x5c\xa4\x99\x6e\x14\x98\xa9\x06\x96\x0b\x99\xd1\x8b\x45\x41\x18\xc4\x2c\x21\x80\x99\x6c\x2b\x89\x8e\x82\xd8\x1b\xfe\x5b\x55\x94\x06\x6e\x15\xef\x24\x7b\xda\x9f\x03\xbe\x05\x7b\xb4\x4b\x80\x4c\xc0\xd5\x21\xc9\x64\xf3\x33\x1d\x0e\x8f\x20\xb5\x6b\x81\x84\x94\xdd\x5a\x42\x56\x0a\x2a\x81\xa5\xf5\x5e\xb1\x65\xef\xe9\x08\x80\x0e\x33\x90\x6c\x9c\xa0\x7b\x54\x7a\x91\x6f\x6a\x4b\x6b\x5c\xf2\xe2\xf7\x89\x9e\x4e\xef\xba\x9a\x94\x4f\x73\x3b\x35\x80\xa8\x48\xb0\x37\xad\x58\xde\xa9\xb0\x5e\xd3\xd0\xba\x1f\xf8\x10\xc3\x5d\x95\x77\xb6\xf2\xde\x83\x7b\x72\x08\x37\x16\xcb\x9c\x9d\x18\x1a\xda\xff\xe0\xf1\xed\x8e\x89\x58\xee\x2f\xa5\x63\x15\x50\x7c\x06\xf1\xfb\x3d\xe3\x36\xd1\xfa\xd9\x7e\xfe\x6f\x57\x54\xe3\x11\x47\x1c\x71\xc0\xa1\x0e\x0e\x38\xd2\x46\x23\x22\x48\xd9\x97\xce\xd6\x30\x91\x17\x7a\xf1\xc0\x17\x51\xee\xb1\x5f\x0e\x72\x8d\xbc\x0b\x07\x88\x69\x75\xc1\xec\xef\x81\x7a\x80\xec\xfd\xd3\x93\xe2\xb6\x78\x2c\x1e\xae\xe5\xa5\x07\xab\xbe\x1c\x6f\xf8\x39\x34\xb2\x1b\x95\x74\xe8\xb4\x4e\x48\xa1\xf2\x24\x4d\xcb\xf3\xe6\xdf\xb3\x69\xc1\x27\xb5\x25\xfb\x02\x14\xee\x9b\x67\xf8\x5d\x66\x2a\xce\x66\x55\x66\x2b\x94\x3a\xfb\x6d\xc9\xd0\xd5\x7e\x47\x26\xd3\x87\x3b\x30\x73\x09\x0e\xb1\xc3\x49\xd6\xf6\x5e\x27\xe5\x53\x5f\xed\x9c\x44\xa0\xa5\x38\xe5\x09\x4a\x0d\x1a\x9e\x50\x29\x37\xf3\xfa\xdc\x15\xfb\xf8\x2d\xbd\x5b\xfa\x74\x67\x89\x4e\x34\xc6\x7f\x8e\xe8\x1b\xa6\x64\xee\xa0\xc8\x46\x90\xd5\xc0\x7d\xea\x51\x06\xbb\x7a\x0c\x79\xd6\x2a\xbe\xdc\x58\x3c\x2d\xdc\x2d\x3f\xc9\xdd\x17\xcf\x0b\x4f\xcb\xcf\x5c\x82\xbc\x77\x20\xbf\x22\xf9\xfa\x87\x07\xce\xfc\xd5\x21\x08\xf7\x1f\xa1\xf4\xd0\xb4\x54\xfd\x93\x18\x91\x3e\xdf\xa2\x8e\x9f\xba\xd7\x58\xad\x78\x52\xf2\x69\xa5\x6a\x03\x23\x5c\x2a\xda\x06\x0b\xc9\xac\xb9\x44\x1c\x4b\x2f\x9f\x7e\x10\x04\x55\xf9\xf9\xd0\xd5\x45\x23\x2b\x2f\x3e\x23\xeb\x08\xd8\x39\x57\x8f\x08\x8a\x69\x29\xe8\x21\x25\x4f\xc0\x19\xee\x3f\xc3\x6a\x73\x94\xd2\x1d\x67\x59\xee\xdc\x1d\x91\xe9\xfd\x3f\x31\xed\x81\x41\x79\x36\xca\x9e\xa4\x43\x96\xf7\x61\x6f\x08\x0a\x82\xf2\xca\xf1\xdd\xe0\x69\x72\x17\x6c\xab\x69\xa0\x2a\x01\x6b\xa4\xa5\xd0\x3e\x22\x78\xef\x29\xa3\xd7\x86\x74\x4f\xb5\x87\x6f\xf3\xbc\x58\xee\xd1\x3c\x2c\xa8\x18\x05\xab\x36\x79\x16\x66\xc6\x8e\xab\x71\xcd\xe1\xf8\x4d\xea\xab\xa5\xb5\x92\x86\xe1\x15\xb8\x53\x42\x26\x9e\xb2\x60\xf5\x4a\x8c\xeb\x2c\x96\x3d\x0d\x37\xec\xa4\x90\xc0\x31\x51\xa9\x5e\xe5\x64\x8b\x90\x17\x75\x0b\xb3\x85\xb7\xae\x7c\xb9\x0e\xf1\xfe\x62\xe0\x5b\x64\xbc\x2c\xd5\x66\x6e\x2d\x36\x44\x44\xf0\xdf\xab\xd7\xcf\x0f\xe1\xcb\xe1\xf8\x35\xf3\x5f\x14\xee\xe7\x5e\x7e\x9a\x8a\x97\x93\xc7\xe3\x91\xc6\x97\x16\xba\xff\x4b\x8b\x63\xaf\xee\x1b\x94\xe2\xd8\xd7\xfc\x17\x10\xfe\x6c\xd1\xf8\xea\x35\xbf\xac\x9f\x87\xbd\x6e\x4e\x2b\x84\xd6\x93\xa7\xd2\x3d\x77\xac\x0a\x5a\xa1\xf6\x8f\x31\x6d\x95\x28\x6e\x6a\xd8\x60\x66\x42\xff\xa8\xd7\x97\x83\x4f\xa4\xb3\x73\x9b\x0e\xa2\x1a\x58\x59\x04\x47\xc5\xbb\x3d\xd7\x1f\xe7\x77\xd3\xed\xc3\xc1\xfc\xf7\xd3\xcf\x0d\x1f\xfe\xd4\x3c\x9f\x7b\x78\x0e\xec\xf3\xf1\x61\x21\xe1\xd0\xff\x6e\x70\x14\xfc\x1b\xb3\x87\xb9\x1a\x34\xee\x84\xfd\x29\x40\x7d\xd1\x49\x07\x86\x48\x82\xc1\x46\xdf\x42\xbd\xbb\x5e\x7e\xa7\xe4\xe4\x76\x43\x93\x2f\xb0\x4d\x1d\x01\xdb\x3a\xaa\xb0\xca\x67\x6e\x70\xae\xf5\x8c\xae\xae\xf0\xf3\xc8\xfc\xb2\x79\x23\x57\xcc\xa9\x5a\xf1\xa9\xf4\x78\xad\x0d\x70\x78\x4a\xe6\x94\x4d\x89\x23\x21\x74\x71\xde\x2f\x58\x56\x5f\xcc\xad\x91\x6e\xfc\x3d\x89\xae\xce\x5e\x9c\x3c\x79\xa6\xc7\x9e\x06\x74\x2a\x36\x2f\xaf\x71\x83\x53\x56\xb2\x9d\xa6\xa1\x87\x48\x6d\x39\x04\x9f\x88\x56\xaa\x60\xc0\x2a\x95\xef\x27\x66\xcc\x0b\xeb\xc1\xb4\x9a\x31\x2a\xde\x51\xdf\xf7\xc7\xe9\x58\xd4\xf2\xfc\xd4\x35\x5f\xa5\x87\xdf\xdf\xda\xbf\x75\x9d\x28\x4e\xfd\xb5\x65\x37\xaa\x07\x14\x4f\x47\xa2\x8b\x48\xfa\xd8\xbe\xac\xbc\xf8\x63\x95\x80\x85\xd4\x21\x0f\xd8\xef\x93\x36\xe1\x89\xb5\x5c\xbe\xab\x5d\xb0\xf3\x86\xcb\x7a\xc9\x3c\x1c\xd5\x9e\xe2\x83\x45\xb9\x74\x2c\xdf\xef\x29\x51\x5b\x8f\x02\xe5\x36\xee\xe9\x65\xd7\xcc\x43\x58\x3b\x30\xaf\x2a\xc8\xe9\x28\x7f\x1c\x56\x34\x84\x37\x4d\x30\x33\x86\xed\x31\x89\xc7\xe3\x56\x33\xe8\x78\x9e\x36\xb1\x0f\xd2\xe6\x32\xe6\xc9\xaf\x78\xe7\x8a\xc3\xfa\xca\x96\x96\x9b\xc4\xbf\x75\x4a\x84\xd7\x35\xb1\xdc\x7f\x3b\x06\x85\x69\xa8\x83\x06\x6b\xbc\xb0\xda\x98\x7c\x09\x0c\xcf\x63\xa6\xdd\x21\x3b\xd5\x95\xb9\x04\xf2\xf5\xf6\x3e\x06\x05\xcf\xe6\xb8\xfb\x17\x98\x9c\x7d\x22\xe8\x65\xe9\x96\x4d\x61\xd9\xaf\x6e\x69\xd3\xaf\x42\x27\xf1\x30\xb9\xea\x47\x06\x83\x0a\x86\xb5\xb4\x98\xc3\x07\x2f\xa9\x02\xfe\xb4\xc8\x44\x25\x8f\xbe\xde\xe4\x61\xb2\xfa\xfd\x14\x9e\x9c\xb1\xc7\xfa\xf3\xeb\xa6\xbc\x84\x44\xa7\x94\x61\x87\xda\xda\x1b\xbc\x2d\x7b\xbc\xeb\x7d\xb9\xbd\x65\x07\x97\x86\xd3\xee\xa2\x69\x11\x1b\x4e\xbd\x9f\xd3\x1f\xb5\xba\x5d\xb6\xff\xfa\x3a\xbd\xba\xed\x5a\x40\x02\x25\x70\x41\x53\xc9\xe6\xef\x67\xda\x5a\x15\x6b\x95\xa3\x3e\x58\x08\x58\xa9\xd4\x57\x33\x67\xff\x11\x3c\x16\x73\x0a\xe2\x4f\xe0\x63\x25\x7e\x3d\x58\x40\xd1\x38\x2f\xbe\x57\x93\x3f\xef\xa6\xb5\x93\x5a\xc4\x82\x4b\x85\x72\x3b\x65\x70\x10\x39\x54\x4e\x0f\x68\x85\x7e\x61\x3b\x28\xa4\x5e\x79\x13\xbe\x0b\x66\xb6\x19\x65\x95\x42\xbd\x8b\x88\xc6\xc1\xec\x04\x85\xb4\x8c\x13\xba\xa5\xb1\x2f\xfd\xff\xec\x2b\xc7\x5f\x61\x97\x4b\xe5\x33\x9f\xf3\x2c\xb9\x32\xda\xf6\x78\x03\x60\x1f\x19\xf0\x67\x91\x2f\xeb\x1b\xe8\x61\x9c\x5f\x0b\x79\x36\x96\xc5\xa5\x31\xbe\xf3\x61\xe8\x5b\x6c\x2b\x12\xeb\x61\x41\x59\x5f\x34\x8b\x29\xfe\xc3\x6c\x1d\xb4\xfe\x07\x72\xc1\xa1\x9d\x00\x36\xb1\xb0\xb3\xce\x8e\x28\x2d\x02\xe3\x7c\xdd\x49\xda\x82\xb1\x3d\x2a\x4e\x9c\x06\x24\xe9\xaa\x34\x32\xcf\xab\xce\x90\x31\xcc\x1c\x9c\x4e\x97\x54\x55\xe5\xbf\x14\x10\x0e\xfa\x6e\x3b\xc1\x2f\xee\x96\x5b\xe1\xaf\xef\x3f\x24\x97\xaa\xac\x4e\xb1\x8f\x85\xef\x47\xf4\x15\x13\x3b\x77\x1f\xa7\xcc\xff\x9b\x9d\x03\xe0\x94\x6b\xc0\x31\x83\x21\xfc\xf8\x9d\xca\xe3\x15\x44\x5c\xfd\x37\xff\x72\xf9\x65\xfe\x84\x24\xf5\xa1\xe5\x59\x13\x00\x48\xf0\xf6\x9b\xaf\x57\xf8\x84\x3e\x22\xfd\xbc\x06\xd2\xd0\xb8\x54\xe5\x90\xa7\xd3\x22\x71\x72\xfc\x10\x5c\xd9\x7b\xea\x1f\x2f\x3e\xf9\xa5\x9f\x7d\xf6\xbe\x7a\xdf\x7f\xaa\x6f\xfd\xf4\x47\x3f\x7b\xe0\x06\xbf\xf7\xbe\x78\xdf\x7e\xea\xef\xfd\x3e\xbf\x6f\x7e\xf1\xbe\xbd\xd9\xaf\xea\xb8\x76\x3a\x7c\x39\xaf\x30\xda\x97\x84\x21\xf0\x2c\xd1\x42\xfe\x24\xf3\x41\xee\x2b\x65\xd9\xfc\x0b\xbe\x6c\xaf\x54\xa6\xbe\xc8\x15\x60\x1c\x0b\x50\x20\xf5\xd8\x22\x9d\x5b\x14\x12\xb8\x4e\xc9\x3e\xcc\xde\x48\xd5\x7a\x5c\xde\xb9\x25\x76\x41\x99\x14\x55\x9a\x5c\x4a\xe5\x5c\xcc\x96\xed\x6d\x2d\xb9\x1b\xf7\xae\x00\x56\xe5\xa2\x47\x97\xab\xec\xb1\x97\x36\xe3\xd2\xca\xe0\x7f\x44\x16\xab\x8c\xaf\xf0\x2b\x3c\xd7\x1f\xf8\x9c\xfe\x3c\x6c\xab\xa9\x65\x77\xed\x85\x7e\x2c\x6b\x55\x7b\x6c\x69\x4b\xd4\xb6\x6c\x57\x84\x38\x25\x26\x92\xdc\x65\x30\x88\x3f\x13\xc7\x86\x9a\xa0\x5f\xeb\xf7\xf7\xba\x05\xe3\xc4\x8f\xd3\x1c\x3f\x18\x7f\x67\xd0\xd3\x50\x4c\x4c\x7b\xce\xe0\x92\x89\x82\x81\x9e\x58\x33\xa9\xf5\x6e\xca\xbe\x6f\x4e\x78\xa8\x92\xf5\x09\xc6\x35\x2a\xfd\xd4\x0e\x93\x67\x99\xbf\xc2\xd0\x63\x37\xca\x04\x10\xe1\x60\x35\x15\x74\xbc\x74\x5f\xbb\xa6\xb2\x7c\x9f\xf3\x2b\x18\xe3\x38\x6b\x03\xa6\x45\xab\x14\x4b\xf5\xef\xb6\x79\x6b\xb6\xdd\x26\xa5\x0c\x6b\x52\xc7\xbf\xb1\x5a\xab\xaa\xa6\xce\x41\x02\xb5\xc8\x17\xd4\xa8\xd8\x54\x41\x19\x92\x19\x29\xfd\x73\xa8\x15\xa7\x6e\x8f\xcd\x53\x02\xa2\x2b\x06\x6f\xab\x6c\x52\x40\x86\x85\xf0\x47\xc2\x65\xe4\x22\x56\x00\xf2\x95\xc0\x18\xec\x73\x1b\x70\x9a\x2e\x79\xba\xa1\x24\x12\xe8\xe0\xa8\xbe\xaa\xf3\x6c\xd6\x56\xfa\xc5\xbd\x8a\x15\x4d\x77\xd2\xf1\x35\x38\x0d\xf7\xad\x99\x43\x70\x1c\x7e\xbb\x29\x43\x1f\xf4\x0a\x79\x44\xf0\x3e\x1d\x7c\x13\x60\x67\x67\x15\x31\xe1\x44\x5b\xcd\xc0\xee\xea\xc2\xa4\x02\xc0\x6c\x0a\x9e\x51\x2b\x14\x86\xc0\xce\x01\x86\x49\x43\x70\xba\x2e\x75\x3e\x6f\x41\x3e\xd6\x23\xda\x85\x8e\x9f\x2b\x48\x07\x3c\xd8\x74\x9e\xa9\x33\x68\x36\x4f\x80\x2c\x8b\x88\x8d\x48\x99\xb9\xa0\x69\x77\x46\xb6\x3e\x49\xc3\x12\xc1\xad\xad\x3e\xa7\x67\x4b\xb9\x36\xb9\x71\x00\xcb\xd2\xb1\xa3\x41\x1e\x55\x4b\xe1\xc1\x3b\xae\x7f\x64\x61\xb0\x89\x09\x41\xf7\x87\x0e\xf5\xf6\xe1\x89\x16\xb1\x8d\x52\xe2\x11\xe1\x43\x95\x58\x0c\x83\x89\x41\x5e\x20\xb0\x5e\xa1\x84\xa0\xb4\x04\xc2\x4e\xf1\xaf\xbd\x08\x5e\x88\x75\xe5\xa2\x78\x6e\x26\xfd\x08\x9b\x4c\x4b\x81\xc7\xd2\xf6\x46\x0b\x77\x5d\x65\x2d\xc7\x95\xdb\x19\x33\x4f\x45\x37\x70\x8e\xc7\x91\xab\x7b\xcb\x90\xc3\xa8\xf1\x70\xe6\x83\x4a\xad\x2e\x5f\xbc\xde\xd1\x35\x49\xc9\xc8\x70\x58\x6d\x8b\x94\x60\x2a\x48\x60\xce\xf9\xcd\x66\x41\xa4\xe7\xda\xbd\x52\x76\x62\xdf\xc1\x09\xe6\x2d\x9c\x2b\xf1\xd4\x18\xfe\x42\x53\xa3\x03\x12\x6a\x72\x74\x2b\x2a\x72\x78\xcc\x32\x07\xa0\x41\x14\x06\x95\x67\x92\x8f\xd8\x24\x9f\xe1\x1d\xb2\xe5\x42\x91\xc8\xa1\xf4\xbc\x36\xa1\x67\x75\x97\x8c\xee\xed\x16\xa0\x8d\xcb\x39\xad\x0e\x62\x1f\x61\xc6\xb1\xfc\xaa\x75\x0a\xf0\x1e\xdc\xaf\x98\x8c\xec\x56\x25\x3a\x53\xe5\x20\x2c\x96\x30\x83\x74\x92\x56\xc4\xca\x88\x89\x8f\x88\x9c\xc3\x10\x32\x89\xfd\x4c\x58\xee\x80\xb5\xbd\x8a\xd3\x1d\x71\x63\xdf\xc6\x71\x4e\xa8\x2a\xa2\xba\x82\x24\x64\xf9\xa4\x2a\x5b\x56\xc1\x92\xb2\x69\x22\xf8\xa8\x18\x42\x25\x81\x76\x44\xcf\x6e\x21\x57\x4b\xa4\x51\x88\x69\x21\x41\xfc\x0e\xdc\x38\xae\x56\xed\x07\x07\xe7\x08\x43\x41\xc1\xb4\x05\xe5\x2d\xf2\x6c\x73\xbd\x1d\xe9\xdc\x52\x04\x20\x80\xec\x51\x91\x96\x37\x75\xd0\x18\x6f\x70\x20\xa9\x4a\xf8\x50\x58\x2a\x8a\x03\x34\x83\xf0\xa6\x3b\x24\x2d\xf5\xa9\xed\x39\xe7\x5b\xcf\x7d\x42\x80\xf4\xb6\x8f\x74\xc5\xa3\x82\xee\x29\xdb\x4d\x4f\x95\x3e\x79\x8b\x64\xf8\x4f\xfb\x44\x47\xbc\xe1\x74\xee\x68\xb6\xbd\xf8\xc7\x5d\x32\xeb\x43\x95\x94\x05\x2d\xaf\x7b\xdf\x13\xcf\x28\x4e\x47\x70\x6a\xc3\xf3\x66\xb9\x4b\x33\x2f\x7c\x26\x5a\x5c\xde\x42\xfc\xe1\x82\xb8\x27\x71\xa1\x44\x2b\x6c\x41\x50\x41\x13\x79\x55\x09\x93\xc7\x2a\x2e\xb9\xbf\x32\xc8\xb5\xf8\x24\xb7\xdd\x4d\xae\xaa\x75\xa8\x9f\x1c\xe5\x1f\x6c\x5b\x15\xfc\x96\xf0\x38\x6e\x0f\x85\x20\x6e\x03\xee\x19\x8e\xf1\x4f\x12\x3e\x80\x73\x93\x62\xf2\xb8\xc5\x33\xa0\x83\x26\x79\xcf\xf2\xc8\xfa\x6a\xc2\xf8\x76\xf2\xd8\xa1\xa6\x75\xd9\xcf\x68\x06\x78\xf4\xba\xb1\xa5\xc0\x4b\xad\x50\x2d\xe4\x30\xad\x0b\xad\xf4\x7d\x0b\xbc\x06\x84\x3c\xe0\xe2\x13\x76\xdb\x34\x51\x6b\x77\xb5\x07\x62\xfd\x22\x46\xc0\xad\x31\x76\x0a\x9a\xb6\x08\x5f\x09\xeb\x24\x9f\x11\xfb\xab\x61\xb5\x6d\xf7\x4c\xb8\x6a\xd5\x10\x3c\xa4\x89\x88\x01\x04\x9d\x41\xea\x90\xd6\xbb\xf7\x24\xc7\xc0\x8b\xc3\x35\x88\x67\xe5\x0c\xfd\xeb\xea\x4b\xb1\x36\x75\x8b\xab\xc1\x7f\x2d\x5e\x1f\xde\xbd\xed\xe5\x98\xf3\x32\xa7\x5a\x93\xfa\x15\x6d\x58\xed\xf6\x70\xca\x33\x92\x4e\x00\x75\xd6\x10\x71\xe5\xea\xd1\x3f\x85\x66\x24\x37\x8e\x08\x8c\x05\xf8\xa1\xf4\x52\x99\xa9\x23\xf4\x09\xf4\x13\x34\x3c\x48\x46\x35\xda\x5a\x36\x76\x21\xf5\xec\xfb\xb8\xda\xbf\xc7\xa7\x26\x2d\x29\xec\xd1\x52\x29\x85\xa8\x7e\xf9\x02\xfe\x7b\xd5\x7a\xf8\x5b\x48\x02\x31\x88\x28\x92\x57\xe1\x5b\xed\xd9\xe1\x2d\x2c\x3f\x9f\x42\xd1\x0f\x47\xa5\x3f\x23\x3a\xf8\x13\xf4\xe9\xc3\x74\xf4\xd2\xd8\x66\x30\x9c\xb2\xa3\x60\xd3\xc3\x89\x5f\x6a\x84\xb4\xbe\xc6\xe2\x94\xbb\xa6\x71\xc9\xbe\xe7\xd9\xb8\x01\x5b\xbe\x10\x44\xd4\x90\xdc\xbc\x15\x03\x69\xec\x4c\xd8\xc8\xfa\x2a\xe2\xea\xcc\xef\xc4\xc1\xd1\xa5\x97\xde\xf9\xe0\x73\x90\x4e\x1b\x38\x10\x9c\x13\x48\x83\x5b\xad\x6c\x32\x8b\x58\x95\x03\x3c\x39\xec\x8f\x87\x93\x6c\x35\x71\xdd\xd4\xa6\x2d\xc5\x74\xb9\x8a\x3d\xe8\x8e\xc6\x72\x43\xc6\xa8\xd6\x53\x33\xf2\x65\x0a\xd8\x67\x16\xff\xc0\xee\xba\x0d\x1f\x70\x3a\x5f\xa8\x68\xeb\x09\x82\xd4\x05\x45\xe3\x4c\xdc\xec\x83\x37\xec\x99\xe6\x25\x14\x4c\x20\xa7\x8b\x85\x20\xe9\x2d\x07\xa0\xbc\xd4\x5f\xba\xca\xe3\xc3\x6f\x1b\xc9\x32\xce\x63\x8a\xf0\x13\x18\xa0\x17\x13\xe0\xc0\xaf\x76\x1d\xb0\x8f\xee\x46\x41\xfe\x02\x1c\x6e\xc5\x0e\xf2\x01\xf8\x0c\xe0\x31\x69\xe3\x82\xe7\x51\xc7\xca\x31\xc3\x37\x24\xce\x3e\x63\x49\xb3\x16\x89\xa1\x78\xa3\xba\x64\xcb\xe4\x72\x61\x65\xae\xfb\xf6\x95\x35\x48\xfc\x63\x62\x7c\x1a\x45\x86\x51\xaf\x4c\x70\x57\x15\x8a\x75\xf2\x7f\xcc\x29\xa5\x34\x79\x53\x2d\x57\xd9\x6f\xd1\xab\xac\x04\xb8\x2f\x84\x75\x4b\x4e\x4e\xfb\x47\x95\x25\x75\xa6\xf3\x55\x71\x7c\x63\xa9\xd0\x84\x5d\xba\xe5\x5f\xa5\xb7\x37\xee\xe6\x55\x1f\x85\x9d\xd8\x55\x95\x32\xf3\x00\x55\x6d\xbb\xeb\x03\xa9\x53\x21\x84\xa0\x53\xa3\x45\xcd\x98\xd0\x2a\x33\x63\x01\x4e\x6d\xa1\x19\x8d\xa2\x42\x9e\x77\x64\xad\x85\xf0\x63\xd6\x19\x13\x58\xd7\x30\x81\xef\xde\xd0\xa3\x90\xad\x38\x2a\xc0\x33\x40\xac\xb6\x72\x4a\x36\xad\xa5\xf3\x37\x38\x60\x43\x41\x21\xe4\xe3\x7e\xaa\xff\xd4\xcc\xc0\x8f\x09\xdf\xee\xe2\xa1\xbc\xde\x94\x67\x5e\xa2\x13\x26\x9e\xa3\x0d\x55\x19\x8c\x76\xf9\x34\x07\xb7\xc2\x15\x9c\xea\x88\x80\x39\xdc\x02\xa9\xae\xe0\xcd\x9c\x5d\x25\xee\x14\x91\x53\x14\xab\x93\x90\x79\xcc\x3b\x79\x3f\xf0\x14\xc6\x73\xbb\x50\x9f\x4f\x49\x48\x3b\x2a\xb3\xe2\x19\x18\x76\x5e\xcc\x27\x52\x6a\x02\x48\xce\x3f\x35\x0d\x9f\x44\x76\x4b\x87\x6e\x7d\xea\x01\x68\xc0\x8f\xac\xae\x24\x42\xa3\x1f\x96\x0f\x0f\xe2\x0f\xf3\x57\xa2\x63\x65\xbd\xa8\x91\x93\x0f\x9f\x7c\xab\x8d\x23\x48\x41\x17\x5d\x02\x81\x6b\xd3\x10\xb1\x42\x29\x51\x67\x7b\x7c\x66\x15\xd2\x26\x55\xb6\xd1\x51\x37\x82\x3f\xe7\x86\x9a\xb3\xa0\xd6\xd4\xd3\x3a\x78\xee\xd6\x70\xab\x1c\x0d\xb6\x62\x32\x72\xd0\x31\xf0\x46\xee\x57\x12\x2f\x02\x32\x10\xfb\x64\x94\x3a\xc9\x8d\x9a\xe5\x28\xe4\x9b\x2b\xce\xb7\x20\xa8\x1d\x90\xa2\xfa\xf9\x5d\xba\xf5\x2e\x19\xed\xc9\xbc\x3e\x6e\x1b\xdf\x98\x7e\xd4\xda\xca\x99\x06\xee\x5d\xe5\xc6\x8e\x98\x58\xc2\x6f\xaf\xb5\x17\x23\x92\x19\x29\xbc\x84\x8a\x71\xd7\x91\x41\x16\x1e\xbf\xb2\x4c\xd4\xb7\x6a\x00\x3b\xe4\xd8\xf4\x06\x95\x72\x41\x61\x57\x8c\x87\x0d\xe7\x65\x6e\xde\x95\xfc\xaa\xd2\x94\x7a\x99\xd0\x72\x29\x99\x42\xef\x9b\x75\x21\xb8\x7a\x3c\xba\x26\xc2\xc5\x8a\xd7\x7b\xb0\x0a\xfa\x0a\xcc\x98\x2b\x0e\xbf\x94\x1f\x06\x94\xc4\xec\x20\x7d\xb3\x86\xdc\x5d\x6e\x82\x0d\x21\xf2\xfb\xea\xf4\x44\x6e\xb8\x05\xc3\xd2\xd9\xc1\x39\xb0\xe8\xda\xea\x36\x6e\x15\xfe\x71\xe0\x50\xd2\xeb\x83\x3b\x8d\x18\xdf\x54\x6c\x52\x6b\x05\xca\x5b\xe8\x45\xb0\x01\x2b\x75\x71\x70\x55\x18\x1f\x9a\x27\xbb\xd5\x7e\x8b\xba\x82\xd2\x10\xf0\x5d\x61\xe7\x4a\xe8\x6e\x49\xbe\xe8\x0f\xe1\x4f\xa6\x9d\x0e\x4c\xdb\x26\x74\xe8\x45\xd2\x74\x48\x46\xda\xe6\x17\x86\x5c\x16\x4a\xa1\x30\xa9\xee\xa9\x46\x21\xfb\x50\xd8\x2b\xae\x2a\x4f\xd7\x25\x89\x69\xbf\xcf\x88\xc5\x73\x2b\xf7\x76\xb1\x45\x7a\x5d\xcd\x1b\xba\x12\xc8\x6c\x03\x04\x7b\x9a\x61\xd5\x21\xa9\x91\xb8\x31\x46\x2a\x60\x90\xfd\xf9\x85\x73\x97\x68\x04\x50\x84\x52\x24\x5c\x19\x53\x7d\xa1\x9f\xf4\xb7\x5d\xf9\x93\x5d\xaa\x7c\xbc\xb8\x09\xea\x25\xc7\xbb\x1a\x0c\xbc\x3b\xc9\x2a\x2c\x1d\xc4\x9a\x64\x08\x22\xc3\x08\x7f\xa3\xa2\x0e\x2c\x7d\x58\x68\x9d\x11\xa1\xc0\x0e\x02\x2d\x65\x07\x05\x11\x0b\x02\x53\xe3\x39\x09\xd1\xc5\xfa\x57\xf4\x21\x83\x76\x61\x17\x77\x70\xf1\xd6\xf1\x26\x28\x7f\x00\x3b\x92\x4d\xd8\x38\x8a\xc8\xc6\xbb\x85\x60\x1b\xbe\x5f\x45\xce\x9f\xfc\x38\x52\x76\x97\xf9\xd8\x2c\x74\x70\x20\xba\x6b\xa5\xf0\x5b\xde\x02\x50\xcf\x99\x3c\xbf\xb2\x1d\xf1\x19\x75\x26\x90\xdd\x65\xe8\xd2\x9e\x9a\xb5\x11\xb4\x6d\x5a\xe7\x84\x7e\xcc\x29\x14\x73\x34\xce\x32\xd6\xa7\x00\x97\xbb\x07\x4b\xdc\x9d\x37\xf2\x77\x43\xae\xc4\x82\x0e\x99\x97\xd0\x56\xee\x2b\x50\xce\xe3\x3a\x70\xa5\xdb\xa6\xdf\xa5\x9e\x50\xdc\x94\x0d\x11\xd3\xf8\xab\x7d\x70\xa8\xb2\x7f\x3c\xe5\x61\x9f\xcf\x8c\x7d\x9d\xe8\xf4\x22\x7e\x90\xb6\x4a\xec\xd9\x51\x69\x07\x99\x56\x8e\xfa\x87\x3a\xc9\x11\x1c\x09\x84\x6a\x4f\xa4\x5e\xf7\xfa\x6a\x91\x31\x30\xb1\x02\x2b\x01\x45\x2d\x50\x62\x56\x1b\x39\xac\x78\x55\x57\xe3\xa8\xfb\xa6\xb1\x9d\x84\xbc\x1c\xd0\x06\xdf\xa0\xbd\xfb\xbb\x35\xf4\xc0\x13\x5f\x7c\xef\xb9\xfb\x7e\xf1\xde\xb5\x9d\x3b\x3f\xfb\x11\x4c\xc0\x00\x67\xf7\xbc\x61\xbe\xfc\xe5\xa1\xe6\x21\xb9\xed\xfd\x08\xf9\x62\xe3\xbb\x31\xc9\xe7\x69\xe2\x7b\xde\x44\xe6\x26\x1e\xcf\xed\x6d\xa5\x0b\x38\xdf\xe3\x67\xbc\xcf\x9f\xd2\xbd\xfb\x9c\xcb\xf6\xc7\x82\x97\x9f\xbe\x9f\x3f\xa7\xbe\xf7\x9c\xfb\xc2\xf2\x82\xda\x4f\xbb\xcf\xef\xd3\xde\x77\x5a\x8f\x3e\x7e\x4f\x5d\xf1\xf9\xfe\x26\xef\xf2\x41\xba\xb3\xee\x03\x46\xfe\xde\xe7\x33\x3b\x62\xdb\x15\x33\xa3\xed\x76\x2a\x38\xf5\x16\xb8\xca\xe8\xba\xb6\x37\x5a\xa9\x62\xed\xad\x7a\x7d\x74\x27\x3a\xb6\x62\x26\xc6\xf7\x0d\x9c\x96\xe8\xdc\xac\xa5\x26\xbb\x85\x7c\x2c\x7b\x76\xf7\x1c\xa9\xfd\x57\x61\x9e\x9d\xbd\xab\x6d\x85\xad\x8a\xc5\x3e\x12\x21\xcc\x68\x68\x06\x50\xda\x33\x37\xb8\xbc\x56\x75\xf0\xbe\x13\x5f\xf7\xfb\x89\x5d\xfe\x3f\x0a\xe1\xc2\xf6\x98\xf9\xb3\x91\xd9\xfc\x28\x1c\xef\x63\xff\x52\xd4\x69\x6e\x97\xf7\xb9\xc4\x27\x84\x82\xc4\x57\x69\x0c\xf9\x24\x00\x56\x2b\x21\x12\x9e\x91\xef\x09\x11\x5b\x0c\xe6\xee\x26\xb7\x4b\x9f\x81\x3d\xf9\x61\xec\xd6\x1d\x7b\xf4\xeb\x3e\x04\x4e\xed\x87\xb5\xc5\x9f\xc6\x56\x7f\x3a\x3b\xf9\x32\xbb\x1f\xde\x69\xfc\x97\x98\x6b\xf1\x5a\x4a\x55\xe8\xde\xa3\x9b\x31\x77\x4f\x0b\x2b\x8a\x0c\x83\xe8\x7e\x8e\xe1\xae\x8d\x59\x32\xdd\xf0\x44\xe6\xf6\xd4\x0a\x2c\x12\x43\x0f\x28\x9e\xc6\x55\xa9\x25\x7f\xef\x8e\x99\xb7\x88\x36\xec\x97\xe5\xbf\xd6\x5d\x89\x8e\x12\xd0\xdb\x4d\x15\xa4\x5c\x1f\x22\x06\x18\x97\x9a\xbd\x6d\x7d\x22\x39\x85\x4a\xa4\x1c\x22\x9a\x1e\xbc\xe4\x24\xe5\x91\x81\xab\x4a\x9e\xde\x5f\x33\xac\x5f\xc8\x1b\x9e\xa7\x91\xa4\x55\x41\x47\x35\x61\xd0\xf1\x17\xbc\x1c\x69\x9b\x20\x83\xf0\xba\xf0\xe0\x17\xf3\x90\xd5\x92\xad\xd3\x6b\x23\x36\x7c\xc7\x87\x7a\x4c\xd6\xeb\x68\xd7\xb3\x74\xa7\xee\x61\x78\x53\xf2\x10\x8b\x9e\x8a\x8f\x98\xdd\x6b\x45\xad\x78\x51\xf2\xff\x25\x53\x65\x01\xdc\xfc\xd4\xf6\x0e\x6e\xb4\x2b\x16\xa2\x0f\xc1\x0c\x95\x70\x8f\xd2\x78\x65\x3e\x84\xcd\xfb\xa8\x77\x45\x25\x76\x1c\xca\xad\x10\x20\x3c\xca\x19\x76\xe8\x24\x61\xd7\x2f\x86\x27\x4a\x9a\x5e\x05\x0b\x3a\x7e\xe1\xde\x5f\x55\xc1\x57\x53\xbf\x2d\x60\x3b\x4a\x47\x87\x0d\x46\xa2\x83\x0e\xcf\x4f\x76\x4e\xe2\x93\x93\x87\x65\xaf\xa9\x34\xc5\x42\xbf\xf1\x96\xb9\x4e\xeb\xf7\x0f\xd3\xe2\xd5\xb9\x77\x81\x71\x55\xa1\xb7\xfd\x7b\x9e\x5f\x6e\x9f\xd2\xbe\xcf\xb0\xb1\x5d\x93\xb0\xb3\xb4\x56\x9c\x55\x03\x2b\x77\x5f\x64\x35\x17\xd3\x44\x55\xe9\x3f\xd6\x46\xe9\xea\x49\x5c\xeb\x47\x85\x7a\x2a\x5e\x1f\x79\x3d\xfe\x0e\x0f\xee\xed\xd1\xd5\x7e\x13\x07\x3c\x39\xd3\x3e\x7b\xcf\x61\x75\x78\xb6\xe7\x91\x4b\x4c\x5c\x2b\xe1\x87\x9b\xbe\x98\x75\x93\x13\xf0\x49\x83\x4b\xb1\x96\x64\xc7\xa6\x6d\xf3\xda\x0e\xbd\x9b\xdc\x9d\xa6\x4a\x45\x9e\x2d\x91\xc0\xd0\xee\xfd\x87\x92\x74\xd1\x6d\xde\xdd\x3f\x58\x83\xab\x62\x24\x0d\x2e\xff\x70\xa6\xd9\xce\x16\x4e\xbb\x27\xfa\xe7\x2f\x25\x6a\xa0\xe2\xc9\x34\x8a\x11\x9c\xe9\xfb\x44\x64\x03\x86\x03\xd4\x3f\xc8\x66\x7c\x93\x56\x88\x7d\x49\x55\x32\x34\x13\x90\x80\xfa\x54\xb0\x81\xb4\x45\xc6\x84\x7b\x86\x3e\xd7\x5b\x04\x75\xaa\x24\xd9\xce\xfb\x9e\x9f\x6f\x97\xb2\x59\xd3\x0c\x11\xf0\x08\x2d\x70\x30\x79\x47\xc4\x3e\x63\xbb\x4a\xd6\x9b\xb1\xb5\x16\x20\x09\xab\x7e\xad\xe8\xb8\x96\xe3\xa3\x5b\xc6\xab\x83\x1e\x3c\xf3\xb5\xa0\xe9\xfc\x1e\x77\x7c\xe1\xd0\xce\xbf\xbc\x56\x6a\xd5\x2b\x22\xaa\xfb\x4d\x06\x23\xc4\xc8\x31\xb1\xbb\xa3\x05\xf2\x60\x2c\xa8\x96\x83\xbf\x6b\xfe\x9e\x23\x1a\xeb\x5e\x0e\x56\xd4\xd2\xed\x01\xf3\xa4\x1f\x93\x71\x69\x3c\x5d\xd5\x69\x44\x20\x5d\x8c\x85\x93\xe6\x77\x01\x6f\x62\xdd\xa8\xbf\x8f\x39\x58\x95\x12\x2d\x2f\x7e\x5c\x12\xc5\x30\x27\x2b\x62\xa7\x33\x51\x6c\x78\x11\x98\x0a\x49\x19\xdf\x4a\xc4\x53\x62\x8a\x7c\xda\x0c\x34\x9b\x53\xfc\x49\x87\xa1\xc5\x7b\x78\x09\x7e\xfa\x8e\x7e\xec\xd6\xa9\x17\xed\x5d\x34\xeb\x40\x9c\x3f\x31\xb5\x9d\xc2\xe5\xc7\x1b\x50\x3b\xf1\x37\x6b\xa2\xba\xe2\x9d\x94\x4e\xbc\xbe\xd0\x87\xda\x6b\xfb\x96\x1a\xec\x13\x94\xf5\x74\x0f\xf3\xc9\x5b\x58\xca\x3b\x4e\x7e\x0d\x1f\xf2\x35\x59\x33\x92\x6e\x6d\x44\xda\x36\x43\x73\x75\xf4\x6d\x4c\x12\xd8\x93\x79\x72\x20\x5f\xdf\xf2\xc9\x06\xc3\x6f\xa1\x7e\x9a\x22\x3c\xf1\x66\x8d\x45\x4b\x56\x0c\x63\x8d\x12\x7d\x3d\x95\xcd\x00\x0c\x91\x5b\xfd\xe8\x35\x55\xbb\x56\x37\x92\xcf\x48\x2a\x6d\xa7\xb9\xf5\xa3\x02\xe6\xcc\xf9\x9e\xd7\x65\x32\xb0\x35\x04\x30\xb3\x3d\xa7\x15\x77\x20\xd5\x59\xac\xd3\xe4\x6f\x87\x2c\xd1\xb8\x5a\xad\x61\xd3\x68\xd6\x12\x0b\x36\xca\xb2\xa9\xeb\x67\x47\x25\x19\x10\x5e\x81\x82\xc3\x54\xb5\xe0\xef\xd3\x67\x88\xfa\x60\x43\x8d\xf5\x4e\x3c\x8a\x7f\x3a\x85\xcf\xf6\x79\xf4\x81\x5f\xff\xd1\xcf\x0e\x26\x41\xf2\xca\x76\x4d\x42\xab\x71\x41\x23\x6e\xb0\x23\x41\xc4\x54\x29\x54\xa5\xd7\xd4\x89\x68\x01\x8c\x03\x64\x33\xa7\x6b\x44\xd2\x6b\x7e\xc9\x55\x61\xff\xc5\x8a\xed\xe6\x6c\xa1\x3d\x24\xe1\xd5\xca\xd8\x9e\xd4\x01\x0f\x96\xd3\x39\x77\x50\xf3\xfc\xaa\x30\xb5\x39\xf0\xb2\x1a\x6a\xab\x5f\x5e\x9d\x4e\x35\x5d\x3d\x2e\xf5\x27\xd3\x3a\xc7\x5a\x1b\x7b\xfd\x27\x7f\x98\x8a\x9a\x97\xa8\xad\xaf\x97\xdb\xde\x4c\x73\x69\xae\x37\xdc\xe6\xd1\xcc\x83\x71\x80\xaf\xcd\x31\x9a\xaa\x08\xff\x41\x58\x77\x2c\x9e\xca\xff\x9e\xab\xba\x69\xbb\xff\xfb\x10\xe5\x5c\x4e\x2e\x1d\xec\x1e\xfe\xba\xd0\x86\x5b\xc3\x21\x5c\x18\x6f\x23\x71\xca\x4c\x7b\x85\x94\x6e\xab\x02\xa7\x9b\x05\x4f\x74\x28\x95\x30\x5d\xb6\xef\x37\x0c\x89\xc2\x8e\x1b\xa6\x2d\x35\x15\xb0\xb9\x27\x28\x30\x5d\xe6\xe9\xf4\xf1\x6f\xef\xa1\x1c\x51\x14\x6c\xd1\x66\xd8\x66\x70\x52\x00\xcf\x37\x32\xa3\x28\x0c\xa3\xc8\x63\x14\x8b\xc9\xef\x1e\x73\x4b\xc2\xf6\x9f\xb6\x2f\x9b\x74\xd5\x91\x59\x8c\xf7\x7b\x8b\x5e\xa4\xe9\xe3\xee\x00\x34\x98\xa9\xfd\x52\x3f\xea\x0a\x3e\x15\x6a\x7c\x76\xe4\x34\xb4\xba\x7d\xa8\x35\xf5\x80\x6f\x31\x87\xdb\xf5\x73\x08\x6d\xaf\x22\x2d\x59\x74\x7b\x7b\xd1\xeb\x90\x55\x7e\x4a\x0f\xa2\x35\x0a\x90\x87\x3a\x02\x3c\x96\xfc\x83\xc8\x2b\x2d\xdd\x09\x6c\x12\xd6\x38\x37\xbf\xa4\x3f\x58\x0d\x39\x9f\x60\xa4\x1a\x75\xa5\xf6\x37\x9a\x6e\xdc\x48\xdb\xfa\x59\x0d\xe2\x02\xa8\x53\x80\x6c\x37\x16\xd9\xf0\x05\x7d\x8e\x9b\x29\xa0\x2d\x77\x2c\xae\x69\x08\xec\x28\x81\x8e\x25\xfa\x1f\xc7\x24\x74\x19\x49\x67\x47\x2f\xf2\x22\x15\xd5\x91\x8b\x14\x4e\x3a\x59\x63\x2d\xc6\x0e\x7b\x9d\x8e\x72\xcb\x02\xa7\x33\x7c\x18\x6d\xbd\x95\x05\xe5\x0d\x7d\xd0\xf6\x72\xd5\x44\x09\x6d\x68\x7e\xc1\x27\xcc\x18\x3a\x35\xe7\xe3\x8c\xd0\xd5\x2a\x79\x89\x86\x29\x43\x1c\x1d\x10\xd1\xaa\xb3\x9a\xc9\x84\xc1\xa0\xc2\x83\xcd\xba\x2e\x2c\x98\x9c\x86\x78\x6e\xfa\xd5\x8a\x92\xe6\x96\x5b\xa9\x56\xec\x5d\xee\x75\x66\x52\x5f\x3d\x6f\x78\xf3\x56\x35\x5c\xc6\x9c\xd4\x62\x72\xe8\xe9\xfb\x19\x88\x94\xda\x45\x85\xb6\x24\x81\xfe\x12\x88\xa4\x33\x43\x94\x6f\x2d\x01\xf4\xf6\x64\x18\x48\x35\xea\x2c\x16\x36\x2e\x84\xd5\x58\xdb\x02\x05\x32\x4b\x84\xe6\xb1\xc9\xb0\x17\xb9\x20\xe5\x71\x69\xee\xaf\x3e\x2b\x54\xcb\x72\xba\x8a\xc2\x14\x95\x0a\xc9\x72\x2c\xaf\x0a\xaa\x53\x6b\x16\x6f\x53\xb0\x0b\xc9\xf0\x52\x91\xaf\x91\x67\x44\xcd\x45\x35\x9a\x02\x39\xfc\xfb\xc1\xb5\x14\x76\x23\x89\xf2\xb5\x49\x8d\x45\x77\x4f\xee\x6f\x28\xb9\xfd\xfd\xeb\xda\x97\x46\x02\x55\x0f\xfe\x4b\xdc\x53\xa0\x2c\x0f\xef\xa2\x29\x6b\x2c\x02\x91\x29\xa1\xe3\x4e\x1e\xe8\x25\xed\xa1\xf7\xc4\x62\xdf\x00\xa1\x9e\xfc\x87\xb9\x57\xe3\x6f\x07\xb6\xe2\xd0\x65\xf3\xcb\xe6\xd7\xcb\x7f\x44\xa5\x4e\xfd\x9e\xae\xb6\xd0\x7d\xc9\xe5\x82\xfb\x63\xdf\xcb\x6b\x31\x7a\x7f\x37\x2e\x37\x97\x6a\xd5\xea\x93\xb0\x6a\x3b\x30\x18\xac\x93\x01\xa8\x51\x52\x90\xda\x27\xc3\x82\x6a\x04\xa0\x93\x80\x0d\xe7\xa2\xbf\xbe\xca\x7a\xed\xa9\xd0\x19\x17\x44\x77\x85\xaa\x1f\x07\x5a\x1b\x03\x2f\xf6\xbb\xd1\x1f\x43\x01\xff\x62\xcf\x2a\xca\x52\x9d\x01\x07\x60\x9b\x8f\x0b\x5e\x87\x0b\xe4\x5a\xd7\xd6\x7c\xab\x0f\x81\xd2\x5d\xdf\x6e\x45\x70\x9d\xe6\x3d\xd9\x6d\xfc\x28\x53\xb9\x88\xa3\x9f\x9d\x70\x53\x1a\xa1\x7b\x6e\x42\x3d\xf7\xea\xd0\xa5\x1f\x36\x89\x7e\x6f\x21\x72\xc9\xa8\x8f\x1a\x66\xb2\xf2\xc5\x8b\xa6\x5d\x2b\x5e\xf4\xd2\x42\x09\x03\x43\xce\x36\xc8\x74\xd6\xca\xe1\xcd\x45\x92\x00\x98\x4a\x96\x76\x5b\x04\x49\xff\x82\xe5\xae\x4d\xd3\x5e\x7c\xad\xab\xd2\x18\xd4\x76\xe2\x49\x6a\xa2\x31\xaa\xb5\x11\x62\xf1\x5b\x1d\x84\x2c\x86\xdc\xbd\x2a\xcd\x91\x9c\x91\x5b\x7f\xe9\x46\x68\xe3\xd4\x24\xbf\xc9\xf9\x08\x12\xa7\xf9\x87\xd7\xba\x3a\x94\x58\x54\x2a\x07\xb0\xe2\xb5\x92\x7b\xbd\x58\x46\x83\x31\xd1\x0b\xa2\xea\xcf\x59\x59\x0a\x0c\x29\xa0\x7f\x84\x4d\x70\x70\x0f\x81\x3d\x9d\x3c\x7c\x81\x60\x5e\xb9\x21\x8e\x22\x47\x81\xa3\xdc\x11\x3f\x17\x96\xa1\x23\x7e\xb8\x2a\x98\xde\x84\xd8\x09\xd2\x97\x2e\x7a\xf8\xf6\xc8\x4a\xc3\x88\x51\x0d\x8c\xcf\x9b\x12\x26\xc2\xc0\x26\xab\x0b\xf2\xff\x19\xf9\xe2\xb9\xa8\x4b\x2b\xd8\x87\x17\xbe\x5a\xe7\xc2\x47\xa2\xdc\x1b\xf1\xc6\x06\x38\xab\x72\x8e\xbc\x15\xe8\x94\x97\xcf\xa6\xe0\xa5\x38\xb4\x31\x15\x12\x98\x60\xce\xbf\x08\xe8\xbf\x23\x83\x9c\x68\x79\xfd\x1a\x94\xa9\x4c\x95\xca\x44\xfc\xee\x4d\x89\x8c\x44\x3f\xdb\x9c\x60\x3d\xf6\xe7\xe2\x57\xdb\x83\x5a\x3b\x0f\xa7\xb1\x66\xb5\xee\xec\x55\x19\x05\x82\x02\x14\xd9\x90\xd5\x8e\x19\xfb\xc6\x63\xfd\xba\x10\x3a\xe5\x91\xe2\xcd\x27\xb7\x98\xa9\xfc\x6c\x14\xb1\x55\xfe\x6e\xe6\xda\xc5\xd6\x27\xcf\x36\xa3\xab\x5c\xe2\xe4\x2d\x74\x1f\xda\x94\x75\x46\x53\x84\x47\x7e\xc3\x58\x07\x0d\xe1\x67\x3a\x34\x48\x3c\x13\x74\x2c\x10\xd0\x96\xb5\x64\xc7\x2d\x9b\x29\x76\xc6\x59\x87\x27\x26\xc4\xf3\x6d\x9c\x8c\x09\xda\xae\x8a\x75\xb8\x9b\x7e\xb1\x6e\x3a\x6c\x03\xe1\x01\xcf\x2b\x5d\x3f\x5d\x94\xb1\xf9\xc6\x85\xf2\xd6\x66\x5b\x93\xee\xa8\x54\xab\x61\x13\xaf\x7b\x36\xfc\x1e\xca\x4e\x63\x01\x89\xec\x76\x6f\xed\x95\xab\x66\xe4\x2a\x32\xa8\xc1\xdd\x5b\x4d\x48\x0c\x10\x17\xd7\xc9\x85\x22\x7d\x61\x7c\x20\xda\x81\x6a\x28\x52\x6a\x90\xf1\xf4\x3a\x7f\x7f\x3a\x1e\x5d\x4e\xfe\x04\x51\x68\xbd\x8e\x33\x3d\x37\xa9\x06\xcb\x20\x36\xd8\xa0\xf8\xfa\x7d\x41\x00\xed\xa0\x7a\x1c\x7d\x18\x14\x1b\x6b\xa9\xae\x87\xa1\xd1\xe8\x95\xd7\xe6\xab\x7a\x97\x9b\xe8\x50\x33\x35\xf0\x12\x2d\xc0\x04\xb0\x55\x14\x6d\x83\x9d\xb4\x41\x25\xbc\x27\x31\x15\x4e\x18\x2e\x50\xcf\x04\xce\xb7\x83\x76\x47\xe4\x8d\x7a\xa3\x18\xcb\x88\x83\xd7\x69\xed\x58\x91\xec\xb1\x7d\xed\x3c\x10\xaa\xd7\xe7\x5a\x7c\x0f\xeb\xf4\x9a\x50\x5e\x6f\xa4\x99\x9e\x39\x1a\x58\xc0\x53\x3d\xbe\x7a\x2d\x01\xb2\xaa\x41\xbf\x9a\xa0\x99\x8f\x85\x3f\x31\xbc\xd4\x17\xa8\x58\x47\x48\xa5\x3b\xf2\xeb\x66\x28\xcd\xf2\x0f\x12\x61\x57\x1b\x6e\x12\x7c\xdc\x1c\xcc\x58\x57\x52\xeb\x8f\x88\xa5\x8c\xf8\xb7\xd9\xfc\xbc\x88\xcf\x93\xf7\x51\x1a\x77\x40\x13\x27\x9d\x30\xd0\x57\xdc\x14\x13\x9e\xa8\x4c\x77\x39\x5a\x37\x8e\x28\xc2\x7e\xb2\xc7\x82\x9f\x57\x71\x60\xda\x11\xae\x73\xe7\x08\x4d\x1f\x7e\x08\x06\xb2\x53\x78\xda\x44\x8e\xf4\x61\xd0\x8c\x67\x6a\x48\x9b\x33\xba\xbd\x27\xd7\x00\xee\x9c\x59\x43\x0c\x0c\xab\x87\x3e\xd1\xf5\x5c\xce\x4c\x00\xd6\x27\xeb\x82\xb9\x7b\x2e\xa4\x96\x4a\x6f\xe6\x3d\xa3\xac\x29\xe6\xc9\x21\x11\x66\xb2\xd5\x43\x24\x00\x60\x38\x50\xf0\x18\x5c\x70\xa6\x40\x0b\x78\x29\xf2\x28\x40\x0d\x06\xd0\x59\x1a\xe6\x7f\xed\x42\xba\xc1\xdb\x31\xcd\x09\x0b\x72\x72\xda\x03\x5a\x4c\x8b\xba\xa2\x8b\x24\xd2\x92\xc5\x31\x9e\xdd\x05\x01\x08\xfc\x01\xe1\x07\xe5\xa0\xfa\x84\x44\x90\xc8\x96\x9e\xf5\x56\x25\xe2\x16\x24\xfb\x20\xc8\xbc\xf2\x73\xb0\x1e\x57\x59\x28\xbd\x98\x96\x95\xc2\x26\x5f\xbc\xea\xa5\x5e\xc5\x23\x52\x48\x08\x75\x95\xcb\xcb\x5b\xa9\x8d\x61\x54\x45\x32\x0f\x3d\x05\xc0\x89\x1d\x23\x21\x0a\x69\x10\xc4\x3a\x27\x64\x6c\x3e\xcd\x35\xcf\x13\x97\xaa\xc6\x6d\x46\x0b\x46\x27\xa8\x95\x91\x08\xcb\x8c\x14\x76\xde\x9e\x4d\x36\xc2\xfe\x83\xb7\x97\x18\xa3\x29\x6a\xf5\x3b\xea\xd8\x7f\xf1\xac\x66\x37\xfc\xe4\xeb\xd3\xb0\xfb\xed\xd5\x7d\x9b\x2a\x75\xe8\x90\x1a\xa2\x7e\xe4\x7d\x9f\xff\x17\xc8\xdb\xc7\x20\xfe\x93\x31\xff\x97\x27\xf5\xf4\xf7\x8f\x92\x84\xf7\x6f\x77\x97\x87\xd6\x40\x0e\xba\x94\xf9\xa8\x9d\xf1\x96\xfb\x65\x58\x76\x33\x57\x72\x2d\x51\x26\x54\x11\xf8\x80\x46\x9b\x61\x56\xae\xca\x1a\xea\x30\xea\x76\xa6\xb0\x88\x29\x05\xf1\xd5\x3d\x64\x81\x85\x2e\x36\x6e\x0e\x5d\x0a\x0f\xd9\xff\x01\xa6\x3a\x91\xb9\x1f\x7f\x9a\x7e\x1f\x79\xe1\xda\xce\x39\x05\x6e\x2a\x0a\xbd\x39\x0d\x33\xdf\x3d\x76\x71\x3d\x36\x7f\xe4\x63\x39\x53\xa7\x48\x8c\x22\xe9\xf5\x37\xef\xd8\xb2\x1e\xb1\x1a\x14\x7f\x7d\xaa\x77\x0f\xc2\xa1\xe0\xba\x46\x5b\x84\x5c\x43\xcf\xf6\xe2\x41\xe6\x89\x62\x8f\xc3\x5b\xf4\x81\x82\xcf\x3c\xe5\x20\x7e\x83\xbe\xf3\xe1\xf9\xbb\xf1\x09\x0b\x77\xe1\xab\xc3\x21\xef\x82\x8b\xf1\x68\x42\xaf\x90\x43\xfc\xda\xa5\x57\x23\x22\x77\x7c\x17\xab\xab\x5e\xa3\xa4\x02\xc3\xe7\xee\x2c\xf9\x90\x70\x6b\x90\x33\x3c\x5b\xac\x04\xe6\x8d\x0d\x80\x58\x6e\xe7\x7e\x06\x3b\x98\x3f\x34\x76\x88\x23\xee\xe0\xa7\x70\xa7\xaa\x13\xa0\x8b\x49\x07\x9a\x15\xec\x70\x92\xbe\xba\x9f\xdc\x6c\xcc\x72\x0e\xc4\x06\xed\x40\x50\xb6\xb1\x83\x34\x2f\xda\xd3\xb2\xa0\x8f\x7c\x59\x0b\xe6\x77\x94\xcc\x49\xe5\x5a\x87\xb0\x70\xb8\x49\x20\x90\x87\x83\x17\x6b\x9e\x80\x69\x29\xce\x51\x2a\xd5\x65\x57\x81\x1e\xeb\x48\x25\xa6\x78\x56\x29\x90\x0e\x77\xd6\x01\x13\xdb\x2c\x06\xee\x57\x9d\xa7\x76\xd5\x3d\xf2\xc1\x15\xc4\x2f\xb0\x26\x4a\x19\x91\x1b\x60\x95\x4f\x04\x07\xcb\xb7\x99\xfa\xd7\x77\xa2\x13\x1b\xb0\x7e\xcf\x3b\x46\x8f\x2b\x05\x31\x3f\xbb\x2b\x52\xde\x2f\xf4\x5f\x4a\x61\x78\x1e\x27\x76\x53\xf4\xab\xe4\x4a\xb6\xbc\x8b\x60\xdc\x20\x8d\x00\xc4\x05\x0a\x89\xc8\x05\x6c\xac\x4c\xcf\x53\x88\xf2\x17\x1b\x69\xbe\x0d\x8a\x82\x28\x6c\x27\x44\x9e\x1f\xb9\x93\x18\xad\x3c\xc7\xe5\x44\x06\xf3\x99\x59\x5d\x19\x66\xe5\x02\x31\x0f\xde\x59\x24\xc9\xb3\x03\x43\x83\x77\x3f\x96\xe7\x45\x3b\xdb\x73\xc3\xce\xc5\xc1\xe1\xa9\x81\x24\x6d\x3c\x05\xfb\x6b\x41\xd7\xe8\x14\xa6\xf1\x04\xde\x57\x49\xe7\xf1\x1d\x2e\xdb\x87\xdd\xc0\xa8\x2e\xa8\x5e\x03\x63\x4d\x84\x7b\x5c\xdd\xb4\xef\x63\xd0\x41\x5f\xb9\x12\xa5\x44\x0f\x42\x61\xf5\x24\xd3\x1c\x71\xc3\xe2\x02\xc1\x62\x62\x75\xee\x84\x4e\x99\x5b\x39\xd9\x94\xb1\xe9\x72\xae\xc8\x13\x51\x67\xf2\xa1\x7b\xc6\x48\xc2\x75\x27\x6f\xb9\xc1\xd3\xbb\x8d\xb7\x81\x12\x38\x94\x33\xb5\x63\xbf\x2d\x07\x77\x48\x04\x7a\xdc\xd8\xe3\xe3\xbc\x90\xb9\x1e\x37\xfc\xb6\x69\x8f\x53\x93\xb1\xd6\xbf\x7c\x8f\x67\xe5\x82\xc6\x14\x1e\x4f\xee\x15\x4a\x15\x3f\x77\xe9\x15\x62\x0a\xaf\x46\x3c\x99\x8b\x58\x77\x12\x33\x96\x1b\x46\xe7\x68\xce\xa7\x54\x23\xe0\x3f\x24\x73\x20\xdd\x8f\x38\x5f\x47\x11\x37\xa3\x0a\x9a\x80\x15\x12\x9b\xba\x2f\x36\x81\x76\xa5\x58\xd4\x75\xeb\xcd\x96\x31\xa0\xba\xb2\x12\xfe\x79\x5b\x8d\x25\x24\x75\x37\x7b\x56\x74\x94\xb1\x53\x7d\x5a\xb9\x87\xfa\x95\x99\x8a\x26\x8c\x79\xe5\xb2\xaf\x80\xbc\x75\xee\x70\xdf\x04\x9b\xf5\xa8\x38\x6c\xce\xfb\x8f\xb7\xc5\xe7\xfa\x14\x73\xe4\x03\xe3\x09\x09\x31\xd3\x75\xca\xe4\xdf\x60\x81\x7e\xc1\x1e\xb4\xf2\x6e\xbb\x13\x0f\x10\x86\x28\x76\xaa\xf3\xd7\x24\x02\x38\x67\x61\x26\x3b\x2f\x6c\x6c\x43\xcd\xd2\x80\xba\x1b\x3f\x2e\xc0\x03\x22\x1b\x38\x4b\x1e\x6b\x1a\xf7\x07\x65\xa5\x45\xa2\x4b\x09\xdc\xdb\x65\x9b\x59\x55\x9b\x6c\x08\x96\x61\x44\x07\x4b\xd3\xd2\x0e\x6a\x70\x92\x1b\x05\xe2\xd5\x74\x6e\xf1\x36\x09\x90\x40\x84\xb4\xeb\xd3\x40\x39\xcd\x05\x6b\xbd\xab\xc9\x87\x9b\x1d\x6a\xf3\xd0\x95\xa2\xd0\x7e\xcd\xb1\xcd\x86\xd1\xf9\x31\x58\x63\x25\x34\x2e\x49\xd4\x2d\xa9\x3e\x03\xf9\x34\xae\x60\xc2\x3a\x2f\x2b\xcf\x0b\xd7\xb8\x27\xb7\x02\x9b\xa2\x0f\x28\x9f\xee\x72\x46\x35\x64\x82\x43\xbc\x03\x68\x3a\x09\xc5\x9d\x93\x51\x24\xd2\xca\x5e\xe6\xeb\x8c\xad\x05\xf4\xca\x00\x21\x8f\xc7\x11\x15\xcc\xa1\x38\x94\x87\x80\x98\x92\x83\xe9\xa1\xd1\x8b\xe7\x49\x50\xdd\x78\x4d\x28\xf4\x51\x48\x59\x1c\x08\x70\x10\x54\x41\xf6\xec\xf4\x17\x53\x68\x07\xcb\xef\x3f\x1e\x65\x85\x2a\x13\x97\xf9\x87\x05\x9c\x28\xe1\x34\x38\xed\xed\x78\xed\x37\xc2\x06\x2c\x82\x98\x11\x58\x88\x71\x2e\x6f\x72\x18\x3e\xc8\xa1\x66\xc2\x68\x5f\xba\xf5\xe2\xb3\x6c\x2a\xce\xb4\x0f\x2c\xf4\x79\xed\x9c\xf6\x0f\xa8\x19\xc8\xfd\x5e\x5c\x55\x18\x9a\xe9\x62\xcb\xe4\x2f\x46\x8c\x59\xab\x36\x0a\x61\xb0\xc6\x71\x80\x8f\xb5\x42\x31\xfb\x4c\x6c\xfd\xe9\x3f\xbe\xe0\xa5\x0a\xac\xdf\xb4\x9e\x78\x9a\xbd\x6b\xc5\xc7\x34\x3e\x47\xe3\x50\x83\x04\xa4\xef\xd8\xd7\x23\xbf\xc2\xbc\x1a\xef\xe0\x51\x3b\x77\x39\xe2\xcd\x77\xf4\xd8\x1d\xbb\x05\xe9\x53\xfc\x02\x08\x7b\x3e\xfc\x76\x09\x2f\xe8\x0f\x33\x6c\x7d\x5a\x8e\x84\xdc\xa8\x3a\x2b\x29\x09\xec\x89\x65\x11\xd2\xc1\x3a\xd9\xcb\xd7\xbf\xdb\x60\xb3\x5f\x37\x46\x28\xb2\x14\xff\x47\x9b\x10\xcd\xe3\x41\xe8\x5e\x45\x5f\x9f\xdf\xa6\x7a\xfa\xeb\x49\xae\x1b\x0e\x00\x72\x38\x68\xe9\xe6\x25\x01\x00\x37\xdb\x0c\x74\x95\x9c\x34\x7e\x62\x8f\x8a\xd2\xf4\xae\x4e\x91\x93\x66\xe1\xa2\x1a\x26\x12\x4e\x49\xf0\xbb\x54\xe6\xaa\x02\x91\x5c\x25\xc0\x0e\xf3\x1b\x1d\x68\xcb\xab\xb9\xc5\x91\x5c\x5e\xcd\x2f\x82\x29\x31\xf4\x0e\xea\x3a\xb6\x6d\x3e\x16\x93\x23\x61\xb6\x29\xfe\x88\xaf\x13\x2a\xfb\xe9\x21\x26\xd7\x69\xa9\xdb\x6a\xc3\xf3\x29\xfb\x69\xd8\x8e\x19\x01\x76\x02\x0a\xec\x41\xc8\x54\x67\x36\x59\xa6\x5f\xaa\x5f\xae\x7f\x30\x73\x69\x66\x76\x58\x5a\xa0\x7d\x66\x0f\xe4\x6f\x75\xa9\xe8\xfc\x49\x6b\xb7\xbe\xcd\xee\xf3\xd2\x78\x05\x77\x40\x22\x8c\xd2\xb2\xb8\x26\xd1\x9f\x2a\xdd\x5b\x22\x8c\x13\x04\x0b\x7b\xdb\xa8\x5f\x4c\x29\x3c\xa5\x5a\x03\x98\x1d\x82\x02\xc5\xcf\xf2\xa8\x6d\xed\xb2\x17\x64\x46\x83\x1c\x16\x05\xe4\x8e\x5e\x12\x05\x02\x8a\x76\x5e\x03\x36\xe1\xe5\x07\x95\x7b\xac\x97\xd3\x59\x41\xce\x2b\xc8\x67\x40\xe0\x9c\x2c\x8b\x73\xb2\x30\xcd\x0b\xd8\x60\x0d\x2c\x9d\xbc\x5f\x6a\x19\x54\x80\x0a\x6e\xe6\xa2\xfd\x3d\x59\x28\xca\xee\x55\x79\x1f\x85\x27\xf1\xf4\x4d\x7a\xe8\x94\xb4\x14\xd1\x6d\xa2\x87\xca\x39\xc9\x92\xe0\x74\xd6\xfb\xb7\xf1\xfb\x69\x4f\xf9\xf3\xcc\xeb\xfa\x3a\x93\x3c\xc1\x5f\xe5\xbe\x67\x90\x73\xd5\x9d\x4d\x8b\x50\x6a\x9b\x46\xd0\x69\x73\x5f\x44\x05\xcb\x95\x38\xec\x3c\xa3\x80\x03\x44\x06\x6f\x26\xb4\x08\x0f\x5c\x29\x6e\xe8\x21\x5a\x68\x75\x67\xe1\x4c\xb3\x6c\x49\xc0\xcd\x7a\xc4\xd5\x8f\x99\x8c\x30\x2d\x60\xd1\x34\xbf\x73\x1b\xc7\x5a\xcd\x57\x67\x02\xd1\x01\xa2\xba\xcf\x2b\x56\xd2\x5e\x1f\xba\x35\xe4\x2c\x0e\xde\x42\x61\xb4\x89\x6a\x54\xee\x83\x8c\xf6\xe8\xc1\x50\x74\xd6\x02\xa8\xca\x9b\xad\x4d\x1c\xd6\x7b\xbd\x1c\x69\xe2\xcc\x9d\xcd\x53\xba\xed\x6b\xb4\xc7\x39\x22\x4c\x48\x08\xa2\x65\x60\x8a\x09\x43\x55\x98\x19\xc7\x4f\x6b\xba\x63\x89\x2f\x4c\xd4\x26\x4a\xe7\x1b\x39\x35\x63\x2a\xb3\xc3\x34\xf2\x24\x73\x78\x8c\xfa\xf8\x4c\xa9\x81\x37\x0a\x22\xfb\x8d\x56\xc7\xdb\x38\x2c\xb7\x7c\x35\xda\xc0\xc1\x58\x5f\x58\xb2\xeb\x2a\x0f\x78\xf1\x50\x06\xde\xff\x9c\xb9\x3f\x2c\x14\x2e\xe2\xd6\x8a\x03\x41\x8b\x39\xbd\x86\x1d\x18\x77\xff\x63\x66\xf1\xa4\x6a\x59\x88\xe4\x97\x3e\x3b\x1b\x76\xbf\x8a\xbc\x09\xdc\x7d\x79\x2d\xe0\xc3\xd0\xde\xdb\xc8\x35\x91\xa1\x42\x84\xbd\xd0\xb7\x72\x3b\x7e\x02\xa9\xdf\x51\x18\xe3\xcf\xa5\x12\xd1\x39\xe8\xb3\x3e\xcb\x2c\x9e\xcb\x28\xda\x50\xc1\x6b\x53\x40\x92\xb2\x10\xd6\xfb\x6b\xe5\x98\x49\x54\x64\xd2\xd4\x29\x75\x01\x45\xc0\xa7\xee\x7a\xd1\x14\x02\x86\x8a\x8c\xdd\xa4\xe2\xd8\x8e\xae\x06\xfe\x09\x82\xe3\x3b\xb5\x31\x32\x11\x3a\xa4\xad\xec\x20\xc2\xf7\xb0\x13\x69\x27\xa3\x93\x7b\xa2\xbb\xfc\x4c\x9a\x8b\x9f\x0c\x2f\xcc\xe6\xa8\xa9\x3c\x43\xad\x62\x99\x76\x24\x30\xb2\x6b\xf5\xc9\x2f\x92\x83\x1b\x69\x3f\xff\xa5\x55\xb2\x68\xd4\xeb\xb6\xd6\x2f\xc6\xcc\x42\xb5\x82\x04\x57\x60\x8f\xb4\xed\xc3\xf6\x1b\xcb\xd2\xa3\x15\x7d\xe5\xcb\x19\x84\x17\x7a\x00\xfd\xd8\xcf\x3b\xd1\x7a\x3b\xc8\xdd\xb0\x8c\x58\x98\x7e\x2b\x7d\x54\x40\x9f\x0a\x65\x5f\x3a\x85\xa0\x55\xb2\xd3\xc0\xa0\xa6\xea\x0f\x4c\xfe\x87\xd0\xad\xe8\x99\x1e\x26\xda\x86\x40\x6c\xef\x7d\x10\xfc\xce\x13\x37\x41\x77\x5c\xc2\xa5\x64\x22\xea\x24\xbd\x57\x3d\x4c\xf4\x49\xdc\x44\xb6\xb6\xdb\x8e\x51\xf1\x98\x55\x36\xdf\x41\x6a\x74\xea\x87\xd9\xa5\xd2\xdd\xb7\x60\x7f\x11\xd2\xae\xdb\x55\xa1\x64\xba\xd1\xc5\x8a\x8c\x1d\x25\x6c\xef\x43\x97\x47\xf6\x9f\xfa\xe2\x5a\x15\xc9\x35\x09\xfa\x8f\x54\x01\xa9\x8d\x3e\x52\xf0\xc9\x85\xe0\xea\x4b\x87\xb1\x5f\x98\x0b\x56\xa1\xc6\xa0\xa4\x26\xf3\xaa\x16\xf2\xa3\x8a\xbf\x59\x36\xb2\x03\x43\x4d\xd5\xbe\xaf\x46\x80\x82\x05\x80\xdb\x5f\xfd\xb5\x14\x4e\x63\x36\x49\xb8\x20\x0b\xd9\x75\x27\xd7\x68\x03\xff\x12\x42\x17\xd7\x9f\xbc\x1f\x95\x02\x12\xd9\xed\x5f\x5f\x5b\x65\x6d\x00\x5a\x2c\xe6\x86\xbc\x03\xf9\x07\xf6\xd4\x5f\x98\x09\x96\xc4\x1e\xf0\x01\xe4\x60\xc0\x1b\xc2\x90\x11\x57\x72\x7a\x16\xb6\xd1\x4e\x0d\xfa\xb8\x96\xd1\xcb\x4f\x12\xd2\x66\xf5\xaa\xf0\x0c\x0b\x66\xbe\x53\xff\xeb\xdc\x3e\x9b\x14\xc1\x92\xa4\xb8\x1e\x57\x65\x34\x78\x1e\x3c\x84\x56\x67\xae\x97\xee\x84\xd2\x08\x0a\x01\x53\xcd\x83\xfa\x7f\x60\x0e\x81\x2e\x0f\x3c\xb5\xdd\x77\x13\xf5\x86\x0f\x7f\x9d\xdf\x03\x14\x26\x91\x7a\xab\x2b\xb4\x36\x28\x5e\x94\x6a\xea\x6b\xed\x72\x0c\x06\x79\xb0\xa2\x2a\x6b\x42\xa8\x02\x25\x9c\xc8\xcb\xb7\xaf\x64\xc8\x1c\xc2\xe4\x6c\x18\xce\x98\x48\x02\xe4\x0e\x32\x89\x64\xe8\x1e\xc2\x7e\xaf\x46\xc0\x3d\xe0\xf9\x51\xbd\xa6\x77\x38\x4b\x72\x33\xf1\xea\x04\xe2\x4a\x9e\x91\x56\xf3\x04\xbe\x1b\x8b\x18\x04\x4c\xcf\x70\x49\xb1\xbf\x4f\xf5\x0a\x13\x9a\x1c\xb6\x7c\x33\x54\x27\x90\x9d\x74\xf2\x8a\x38\x22\x06\x96\x16\x26\xd7\xa5\x61\x84\x23\x98\x16\x71\xa5\xfe\xc8\xc3\xc8\x12\xbb\x30\x10\x62\x2b\x8f\x78\x91\xd0\x61\xa7\x99\x90\x73\x35\x61\x99\xea\x28\xfc\xf1\x4c\x37\x0c\xea\xa3\x10\x6a\x03\x12\x6c\x24\x92\x6a\x55\x21\xd6\xf6\x73\xf0\x1f\x87\xf3\xbb\x49\xc2\xfc\x44\x75\x2e\x4c\x05\x42\xb3\x9b\x9c\x6d\xbf\x56\x25\xf0\x6d\xf3\x42\xbb\x83\xdc\x27\xba\xd8\xef\xf0\xc9\xca\xb2\xf2\xf1\x84\xb8\x74\x73\xff\x70\x15\xc6\xcc\x9f\xc9\x43\x7e\x73\xfb\x5d\xff\x66\xb8\x08\x23\x89\xdd\xad\x78\xef\xbf\x16\xae\xa8\x10\x17\x90\x2f\xe8\x46\x4b\x27\x7a\xa0\x76\xac\xbb\xbd\xc7\x5d\x03\x55\x0c\x23\xb6\xbd\xd0\xdb\xfa\x86\x61\x2b\x30\x33\x24\x5b\xc2\x24\x20\x48\x59\x3e\xcb\xf5\x61\xd2\x17\xfd\xc3\xb3\xaf\x93\xfe\xbc\x3d\x97\xbf\x17\x97\xe9\x6a\xfc\xe9\x18\xf5\xaa\x85\xd6\x4e\x54\x56\x20\x89\x47\xbc\x7d\x64\xea\xb3\x7c\x33\x79\xe9\xe5\x79\xdf\xf7\x9e\xb9\x0a\x07\xd9\xcf\x53\x63\xc7\x5f\xf0\x1e\x38\x9e\x5e\x6e\xab\xed\xb6\xe4\x4e\xed\x74\x1c\xc6\x80\xad\x6e\x77\x51\x9e\xbf\x84\xcb\xe1\xf3\x57\xb7\xfd\xc3\xf5\x83\xc7\xed\xb8\xb0\x75\x04\x0e\x31\x99\xdb\xa5\x4b\xcb\xba\x1b\x6e\x8f\xb1\x1a\x2b\xd9\x65\x77\x3f\x02\x35\xbe\x0d\x72\xcb\x02\x18\x2d\x68\xa5\x9a\x7d\x5f\xd8\xe1\x9b\x4a\x80\xc1\x3b\x93\x18\x3b\x86\x29\x62\x22\x41\xd7\x86\x27\x91\xe2\x00\x4f\x79\x7e\x49\x20\xb9\xdb\xaf\x4a\xc7\x30\xda\xa8\x61\xaf\x2d\xcc\xf0\x19\x10\x37\xfd\x8e\x23\x19\x3d\x4c\x72\x6c\x65\x37\x8e\xc9\x19\xc6\xd4\x17\x86\xb5\xbb\x2e\xbf\xa9\x9a\x08\x5f\x8e\xc0\x33\x7d\x56\xa4\x91\x09\x30\xf5\xb9\x10\x75\x72\x73\x4e\x3c\x68\xcc\xf1\x47\x3b\x87\x3b\xa8\x96\xe1\x21\xc1\xa2\xa5\x09\x35\x3a\x03\x53\xa2\x36\xf6\x79\x3c\x90\xeb\xf1\x23\xc3\xa3\x40\x45\x92\x86\xeb\x94\xaf\x17\xa0\xd6\x00\xfa\x3c\xf4\xa0\x38\x39\x19\x54\xda\x14\x00\x6a\x0b\xe3\xd9\x3c\xf7\xa2\x69\x4c\x5d\x43\x2e\xce\x01\x3b\xbe\x24\xe8\x37\x55\x62\x27\x84\xfc\xd0\x4c\x52\xd2\xcf\xc9\x01\x08\x0c\x85\x21\xec\x5d\xfa\x3e\xab\xc6\x76\x9c\xc2\x74\x89\x33\x0e\xab\xb1\xba\x00\x1f\xae\x53\x46\x7a\x6e\x99\x02\x81\x5b\x93\x78\x36\x1c\xe8\xc5\xf0\xb8\xd7\x75\x96\xf7\x82\x46\xa1\xbc\x50\x5e\x28\x14\x6a\xab\x25\x3c\x9b\xd1\xd6\x5a\xaf\x6b\x42\xc3\x72\x29\x78\x6d\x3b\x91\xd4\x06\xf8\xe0\xf6\x08\x5a\x0f\x24\x1a\x6b\xa7\x64\xc8\xc4\x07\x12\xcb\x7a\x79\xf6\xdd\xe7\xba\x75\x0a\x4b\x04\x21\x65\xf5\xae\x3e\x27\xf4\xd5\x1a\x61\x6a\x8e\x81\x67\xa8\x80\xb5\x73\x84\x07\x9e\x3f\xa4\x67\x5e\x47\xde\x68\xf4\xbd\x67\xb7\x4e\x19\xfa\xed\xd4\x73\x06\x18\x1f\x8c\xcf\x35\x9c\xd8\x50\x76\x54\x92\x54\x5b\xd7\x05\xe6\x1a\xcf\x4a\xbf\x55\xaf\x79\xe6\x2d\x4d\x21\xcd\x01\x54\xee\x3d\x1e\x96\xc3\x8d\x0d\x1e\x0b\x78\x2d\xc3\x0c\x32\x8e\x47\x82\xb0\x6c\x39\x81\x06\x82\xc0\x11\x48\x9b\xeb\xc9\xa7\x72\xfa\x05\xec\x94\xa8\xe4\x52\xe0\x48\x54\x4d\xc3\x29\x00\x04\xb6\x89\xc3\x8f\x9a\x87\xb1\x4e\x42\xd3\xc7\xdc\xfd\x00\xce\xb3\xb0\xf2\x52\x2f\x40\x6b\x45\xec\x11\x7f\xb1\xfe\xf3\xd3\x33\x25\xcf\x7c\xd6\x1a\x1e\x55\x3a\xcd\x66\x0c\x81\xc2\x6a\x9b\x8c\x03\xa5\x36\x81\xd8\x76\xee\x6f\xeb\x00\x9e\x73\x4f\x72\x2e\x75\x76\xe0\x22\x09\x3a\xb1\x91\x82\xd4\xb2\x8d\x2b\xd4\x6d\x22\xb4\xb2\x08\x7f\x53\x40\x53\x00\xea\x61\x5b\xdd\xc6\x1b\xed\x3d\x63\x4a\x5d\x8c\x40\x13\xd0\x95\xa5\xa6\x02\x18\xd7\x09\x4f\x6f\x17\xfb\x3c\x04\xf0\x32\x6b\xab\x83\x7e\x0a\xe4\x4b\x25\x60\x75\x78\x5c\xb4\x5f\x65\x97\x43\x83\x25\xa2\x08\xc0\x2e\x50\x37\x59\x63\xe9\xa0\x00\x16\xcf\xb8\xed\xdd\xb1\xc3\xaf\xe1\x4e\x87\x29\x04\x3e\x19\x58\x76\xb5\xc9\x53\xee\x77\x90\x5f\x1f\xae\xb5\x06\x68\xe3\x4e\x17\x0f\x66\x79\x1d\xfd\x94\xf0\x48\x34\x27\xaa\x9c\xa9\xf5\x48\xff\x27\x3e\x6e\x87\xb9\x50\x4a\xc1\x93\xe0\x61\xed\x9e\xc8\xe4\xb1\xda\xfd\x31\xbe\x36\xb1\x24\x43\x39\x69\xd2\x47\x01\x8c\xd0\x3e\x6d\x63\xe7\xd0\x83\xee\xd6\xb3\xf7\xfb\xd4\xf5\xaa\xee\xe6\xb2\xdd\xc2\x46\x04\x23\xea\xad\x2c\xc4\x75\xd4\xc1\x43\xad\x26\xb8\x3c\xc6\xed\x32\xc0\x92\x5b\x19\xfa\x5c\x8b\x5b\x75\xd4\x6c\xe3\x8d\xee\xd9\x9a\xc3\x3e\x9c\xea\xcd\x72\x5b\x47\x3c\xd1\xd9\x7e\x2f\x04\x8e\x9e\x5d\xdc\xd3\xa2\x46\xf2\x42\x20\x83\x9f\xc9\x85\xc8\x40\xfb\x85\x6d\x86\x04\x18\x62\x6d\xd5\xd4\xa4\x2e\x40\x7e\x37\x6e\x3b\x89\x4a\xde\xb9\xa6\xe0\x5d\xd6\x55\xbc\xd1\xb9\x34\x1b\xd4\x8d\x2b\xb7\xad\xcc\xce\x91\x76\x8e\x2b\x32\xea\x90\x0a\x6e\xd3\x9c\x1c\x73\xec\x3a\xc2\x7c\xd6\x19\xf0\xf4\xb0\x55\x81\xca\x56\x16\xe5\x8d\xf6\x46\xfb\x60\x7c\x6c\xce\xed\xf3\xbe\x30\x80\x7a\x66\xd1\x47\x8f\x5a\x2a\x94\x75\x4b\x72\x9e\xd1\x13\xb0\x63\x62\x3e\x02\xef\xbc\xd8\xef\x81\xa0\x0f\xa4\x11\x23\x63\x95\xc0\x4a\xbf\xdc\xae\xe4\x72\xbb\xcb\x54\xcb\x8d\xff\xfe\x6e\x26\xc1\x7e\x49\x89\xbe\xc9\x1c\x37\x52\xb8\x1b\xf4\xcd\x90\x78\x43\xe9\x59\xb5\x24\x69\x3b\x7e\xe2\x9b\xce\x7a\xac\xbe\x75\xf4\x70\xcf\x93\x88\x18\xa1\x28\xe6\xaa\x80\xe5\x3c\xbf\x02\x70\x6e\x06\xfa\x6b\x16\x89\x26\x91\x04\xe8\xac\xa0\x2a\xfc\x74\x5e\x65\xfb\xfc\xf9\xee\x0b\x51\x9f\x49\x35\x0c\x01\x8a\xb9\xd1\x5b\x21\x2c\x7a\xee\xa3\xb7\xcd\xac\xd0\x66\x99\xd5\xe5\x71\xdb\x79\x61\x46\x17\xfe\x9d\xb9\x48\xc8\xc5\x4a\x06\xe3\xe6\x21\x6b\xc3\xcc\x9b\x42\xa0\xb0\x79\x1f\x36\xd3\x80\xd1\x4c\x25\x31\x71\xa4\xe1\xe6\x5e\x75\x74\x9c\xbc\x14\xe0\x47\x59\xe9\x17\xb0\x15\x22\xd1\x44\xe0\xe4\x61\x2b\x06\x6a\x4a\x9b\xa6\x72\x38\x96\xd6\xbd\xfe\xdb\x78\xb2\xba\xc4\x36\x75\xc5\x55\xd2\xf7\xe4\xf4\xed\xd2\xc6\xda\xed\x98\xa7\x82\x77\x07\x1b\x08\x59\xe8\x35\x56\x17\x1e\x0a\x2a\x8d\x6c\x37\x0e\xf4\xb9\x48\x00\x08\x86\x94\x35\x67\x61\xcd\x07\x7a\x92\xcd\x28\x04\x18\xa7\x47\x6c\xd7\x41\x9e\xc3\xcf\xeb\xe9\x96\x08\x76\x5c\x3f\x8e\xf0\x71\x9c\x2e\x50\x99\xb1\x56\x4d\x6a\xf7\xb4\xd3\x90\xc6\x3d\xdf\xf7\xcf\xff\x37\x8c\xff\xe3\xf2\xeb\xf9\xc7\xed\xaf\x3f\x92\xa5\xee\xbb\x09\x8c\x1f\x12\xcf\xdf\xd4\x78\x76\x6a\x04\x41\xa0\xbb\xaf\x7b\xfd\x06\x67\x32\x52\x81\xd6\xef\x1e\x28\x28\x63\x1f\xd5\xb6\x5d\x54\x08\xdc\xc2\xf7\xd8\xc9\xae\xd0\x5b\x70\x0e\x51\x52\x69\x2c\x88\x87\xfd\xf8\x1e\x00\xe3\x1b\x1a\xde\xbb\x6c\x54\x70\x6b\x00\xee\xcf\xc6\x95\x5a\x1a\x99\x45\x6f\x8d\xde\x09\xec\x3c\xdc\xd4\x1a\xe5\xa4\x48\xf5\x31\xc2\xf8\xaf\xf8\x3e\x82\x54\xd5\xc6\x5e\xd3\x62\x70\x44\x57\xd2\x06\x33\x4b\xe4\x98\x59\x80\x04\xce\xe3\xf0\xcc\x07\x86\x0d\xca\x0d\xd1\x95\xb4\xa1\xe2\x38\x00\x34\xed\xd8\x29\x02\xe5\x95\xd7\xe9\x96\x2b\x80\xe7\x65\x93\x87\x86\xf4\x42\xa1\xbc\xf2\x2e\xb2\x41\x80\xf2\x42\x5d\xa5\xe6\x99\xcb\x68\x8d\xbc\x73\xbd\x6b\x3f\xd5\xf5\xd6\x86\xf0\xac\x19\x3b\xc3\x1d\x8c\x9d\x29\xf2\x5e\x0c\x84\xe7\x1a\x35\x97\xaa\x6c\x06\x81\x07\x3f\xd6\x38\x38\xe5\xc5\x96\x75\x3c\x68\x6f\xf4\x93\x53\x3a\x99\xe5\xa5\x84\xf6\xc1\xf4\x1c\x21\xc6\x07\xe3\x83\xa9\xb9\x68\x30\x98\x6d\xd2\x72\x7d\x3a\x59\x63\xe6\x19\x01\xd6\x11\xb6\x9b\x23\x72\x8c\x49\x46\xb1\x90\x73\xc4\x03\x94\xad\x6a\xb3\x55\x82\x57\x55\xac\xa7\x23\x99\xe7\x7a\x1d\x86\x67\x4f\xac\xf0\x15\xc5\xda\xbd\x77\x1c\x93\x96\x08\x06\xaf\x49\xd6\x0b\xe8\x3d\x56\x4f\xdb\xc0\x75\xea\x9b\xb0\x6e\x78\x58\x19\x34\x09\xe2\x6e\x23\xc7\x71\xa9\xab\xe9\xc4\x28\x47\xc3\x7a\x39\x6f\x06\x7b\x3d\x63\xbe\xfd\xe2\x3b\x20\xd3\x3d\xa5\x34\x07\xc0\xa3\x84\xb1\x9c\x72\x8e\x4b\x2e\xc6\x58\x6b\xbc\xb5\xcf\xb7\x80\xfa\x18\x98\x02\x2d\x2b\xfb\x3b\xdf\xb3\x63\xb8\x39\x4e\x72\x26\xd7\x0d\x3d\x03\xef\x55\xd9\x77\x3d\xd5\x6f\x58\xed\xd9\x75\x85\x73\x68\xb0\x9e\xef\x36\x0c\xae\x62\x09\x40\x64\x45\x67\x05\x30\x48\x89\xcc\xd1\x5a\xdd\x10\x4a\x24\x64\xd7\xc0\x0c\xb1\xb2\xbd\xca\x51\xd5\x1a\x54\x6c\x9d\x1e\x62\x7f\xd1\x13\x8e\x3a\xa7\xea\x0a\xe4\x08\xc3\x67\x0e\xfa\xeb\x73\xdf\xb4\xe3\x63\xfc\x7c\xeb\xfa\xb5\xa2\x5c\x7d\xe4\xf8\x1e\x37\x32\x74\x8e\xb5\xb7\x2c\xf2\x5a\x02\x36\xf3\x16\x3b\x1d\xac\x2e\x61\x11\x30\xab\xa6\x4e\x22\xc9\x27\x00\xc3\x29\x99\xd9\xba\x6d\xf6\xfe\x0c\x6f\x64\x36\x12\xa7\xb2\x07\x83\x55\xcc\x86\xec\xd2\xbe\x4f\xea\x7d\x91\x6d\x84\x3d\xb4\x4d\x7b\x1f\x0c\x3e\x05\xac\xce\xd7\x56\x01\x1c\x81\xb5\x63\x63\xef\x1e\x6a\xc3\x73\xaa\xec\x7f\x69\x79\x36\x41\xaf\x3e\x50\x74\x21\xb2\x6f\x1f\xee\x79\xa5\x29\xf0\x89\xae\xa3\xf0\xdd\xf2\xcb\x38\x78\xdf\xcb\xbf\x9e\xde\xcb\xcc\xcf\x4e\xde\xf4\x7e\xff\xec\x7b\xb4\x69\xd7\x8b\x6d\x67\x16\xe9\x89\xf4\x42\x79\xa1\xbc\xd1\xde\x68\x1f\x8c\x0f\xe6\xed\x2a\x84\x9b\x8f\x65\x3d\x66\xa3\xa3\xe3\xe8\x2d\x82\xa4\x12\x7f\xf6\xe4\x4b\xdf\x9f\x03\x93\xbc\xfb\x4a\x8c\x72\x3e\x9c\xa7\x80\x0a\xf9\xb3\xa7\x52\x95\x7a\x59\xa9\x45\x2d\xae\xbb\xbe\x4d\xa3\x54\xa0\x18\xc6\xe8\x81\x1e\xf8\xac\xac\x9f\x9d\x52\x99\xea\x65\xf5\xf6\x0e\x53\x3d\xab\xfa\xae\xe6\xa7\x22\x85\xfa\xa7\xfc\xc7\x3f\xce\x7f\xed\xde\x39\x40\x6f\x37\xa0\x7e\x67\x5b\x6e\x39\xae\xa6\x88\xa6\xed\xc5\x0c\x3f\x0e\xfc\xd1\x03\xa1\x56\x38\xc1\x2d\xbc\x93\x47\xb8\xcf\xcb\xca\x6d\x8a\x9f\x32\x79\xbf\xa2\x3a\xf0\x63\x9e\xe7\x23\x69\x47\x5d\xeb\x7d\xff\x1c\xa9\x03\xb9\xa2\x21\x9e\x85\x3e\xcb\x06\xf5\x0d\x51\x99\xf9\xc8\x09\xf4\xeb\x44\xe6\xfe\x9e\xb4\x4d\xd1\xd0\x98\x11\xd4\x41\x35\x4b\xc1\x07\xf2\x7e\xdc\xd6\x27\xd4\xc5\x6b\xda\x13\xef\xd1\x7e\xf0\x1e\x81\x9e\xa2\x7a\x24\x69\x82\xb4\x05\x11\x08\x4b\x49\xfa\xd5\xe5\x59\x2b\x22\xe1\x90\xf9\xeb\x52\xfe\xf7\x24\x49\x87\x3b\x34\x9e\x28\xe3\xfe\x50\xd5\x3f\xff\x8b\xfd\xff\x33\x1d\x0d\x69\x08\x22\x48\x1f\x89\xde\xe5\x9c\x24\x17\x2e\x64\xcb\xe2\x24\x2a\x09\x2e\x5d\xd5\x58\xa8\x92\xa5\x88\xf2\x5e\x00\xfa\xec\x8e\x1c\x9b\x2b\xf8\xc5\x3d\x56\xc0\xe2\x2b\x11\x99\xe4\x1c\xe8\x96\x0b\x3f\xb7\x5c\x9f\x23\xd2\x5c\xc6\xa2\x85\xcc\x24\x40\x1f\xae\x91\x9b\x87\x6b\xe6\xee\xe1\xae\xf2\xf0\x70\x3f\x72\xfd\x70\xd7\x79\xfe\x29\x3f\xf3\x93\x31\x15\x5f\xc0\x51\x35\x9e\x73\x63\x7e\xb7\x1f\xa3\x43\x2e\xb3\x01\x9c\x8d\xa6\xe3\x09\x55\x95\xf7\x06\xac\xf6\xf9\xeb\xc4\xff\xd6\x2f\xcf\xd6\x47\xfb\x8c\x8a\x9b\x3a\xe8\x7c\xf7\xa7\xd7\x81\x55\xba\x7d\x76\x7b\x9d\x72\x1d\xee\xf1\x39\x36\x5c\xb4\xbb\xff\x2c\x3a\xfe\xe0\xe9\xce\x7a\xc7\x90\x3f\xc5\x43\xfa\xb3\x98\x25\xae\x73\xd6\x1a\xf2\x6e\xe7\xb3\x4f\xb9\xc9\xa7\x45\x4f\xa5\x73\x29\x6b\x75\x95\xa1\x42\xcb\xb1\x6a\xe6\x86\xa5\xcf\x79\xbd\x6c\xb6\x82\xc2\xc6\xe7\x2f\x64\xe1\xb7\x65\x9f\x57\x7b\xb8\x16\xac\xee\x31\xd2\x12\xeb\x09\x92\xec\x2b\xa7\x97\xdc\x95\xa5\xd9\x4d\x58\xba\x50\x4a\xc1\x98\x76\x84\xd6\xf0\x9d\xf2\x4c\x2f\xcf\xec\x5a\xae\x42\xa6\xcb\x17\xed\xb6\x29\xf2\x3e\x1b\x18\xf7\x21\x14\x1c\x4d\xa5\xbf\xa9\x3c\xce\x1e\x61\xda\x9a\xb1\xfd\x7a\x96\x3d\x52\xda\x50\x7e\xe8\xbc\x21\x9f\x1d\x81\x32\x7b\x40\x2c\xf0\x56\x47\xfe\x99\x94\x66\x81\x92\x24\xe5\x6a\xa0\x50\xa0\xc0\xaf\x45\xb6\x7d\xa8\xe6\xfe\xa9\x86\x31\x9a\xc0\xbf\xff\x7b\xff\xe0\x0d\x7a\x7b\xbc\x67\x93\xc7\x2d\xa6\x58\xd7\x1c\xb7\x86\xb1\x42\x3f\xb7\xfc\xcf\xbe\xf1\xe3\xbc\x10\xeb\x3f\xa9\x2f\x14\xc6\xdf\x0b\x5a\x68\x20\x16\x81\xa1\xc8\x02\x7c\xa6\x30\xfe\xb9\xdd\xaa\x3a\x1d\x17\x97\x86\x53\x87\xad\xc2\x87\xf0\xb5\x7d\x3d\xfb\x09\xcb\xc7\x7d\xb5\x1e\x6b\x83\xd0\xf2\xbf\x47\x1a\xfb\xff\xf8\x24\xe0\x8f\x77\x97\x7b\xe1\xee\x5a\xdc\xb1\x49\x03\x4b\x7f\xa8\x6e\xa7\x54\x93\x7f\xeb\x61\x6e\xdb\xbd\x3b\xd2\xcc\xd1\x83\x0e\x35\x2a\x5a\xfa\xc0\x9a\x11\xc6\x9f\xed\x97\xcb\x61\xa6\x53\xb1\x1e\xaa\x76\x15\xd4\xf2\x53\x3f\x33\x89\xb0\xc8\x5b\xc6\xc8\x86\xa7\x10\xc6\xed\xbe\x6d\xfa\xbd\xcd\x05\xe3\xcf\x2b\xaf\x77\xfe\x45\x96\x18\xe2\xc6\xe0\x9e\x3c\xf8\xb9\x86\x37\x0a\xf8\x42\xbf\x35\x12\x6c\xe8\x5c\x77\xf9\x46\xac\xf5\xe5\xdf\xfa\xed\x7e\x0a\x5b\xb8\xc6\x99\xf6\xba\xaf\xb0\xf5\x3b\x79\xb7\x91\xd1\x20\x07\x03\x22\x2e\x7b\x8f\x99\xea\x63\x6d\xe0\x8f\x7a\x90\x6f\xb3\x64\x44\xe8\x1c\x82\x7b\x31\x5f\x04\x12\x54\xe2\x06\xea\xcf\x0e\x33\xd9\x70\xa5\x5f\x80\x18\x78\xf8\x51\x7e\xef\xad\x5c\x36\x35\xc6\xe2\x0a\x5f\xf8\xaa\xed\x88\xbc\x8b\x9f\x32\xae\xf9\xe4\x17\x61\x8b\x01\x1e\x2c\xfc\x90\xcc\x34\x97\x57\xf4\xb1\xd5\x11\xc6\x17\xbe\xbc\xff\x62\xd9\xf3\xd8\x8a\x47\x44\xf8\x45\x5b\xe0\xb1\x7a\x8e\x42\x9b\x3a\x30\x3a\x2c\xcf\x35\xa5\x78\x67\x50\x3e\xf5\x3d\x1c\x83\x12\x29\x54\x0e\x87\xf1\xb9\xea\x36\x4c\xa7\x58\xc3\xbe\xff\xc2\xb1\x08\xe1\x48\x0f\xad\x3e\x77\x10\x58\x63\x96\xf1\xda\x4d\xef\x73\x5a\x8a\xe1\xa7\xbf\x2d\xee\x95\x43\x32\x4e\x7d\x0c\x2e\x16\x57\x0b\x6e\x18\x0e\x79\x07\x9b\x0f\x58\x8f\x3e\xe1\xb1\xe3\xa2\x43\x06\x0e\x96\xc7\x43\x09\x6c\xf8\x85\xfd\xd0\x51\x45\x8a\xcf\x61\x7f\x14\x05\x06\xf8\x4f\xeb\x45\x3c\x32\x58\x65\xfc\x50\xc6\xbe\xf7\xc9\x98\xa2\x71\x33\x60\xb3\xb5\x18\x7b\x1f\xb7\x6c\xfd\xee\xbe\xba\xd9\xbd\x2f\x3d\xd6\x36\x2f\xe7\x6d\x75\xe7\xc4\x76\xbe\x42\x27\xbf\x2f\xd6\x1e\x54\x27\x4f\x72\xc9\x79\x3f\x12\xe4\xa3\xa0\x1d\x03\xeb\x9f\x76\x74\x7c\x1f\x8b\xf2\x4f\x79\xa7\x9d\x6f\xaa\xbb\x1a\x8d\xdd\xeb\x2f\x65\x1c\x05\xac\xeb\xf3\x61\x9a\x9d\xfe\xe4\x58\x38\xcf\xba\x3f\xc2\x34\xd1\x1c\x62\x5d\x1b\x69\x88\xd5\x13\x33\x91\xa1\x65\x76\x47\xad\x57\x1a\xab\xa6\xf7\x58\x2e\x84\x67\x98\xdb\x82\xc1\x16\x87\x80\xf6\x97\x01\x33\x12\xd6\x67\x9a\xab\x4c\xcc\x4c\x4f\x7b\xb8\xb1\x0c\x01\x0a\x0c\x43\xf9\x74\x02\x86\x8e\x45\xa4\x61\xb6\xcb\x30\x6c\x9a\xce\x1c\x4f\xe5\xef\x64\x5b\x20\x0d\xbf\x50\x93\xe8\xa3\x7f\x96\x76\x06\x8e\xe4\xd2\x72\x6e\xa1\x19\xf8\xb1\x92\xff\x30\x6a\xda\xfd\x81\x4a\x47\xb1\x4d\xbc\x0d\xec\x86\x4f\x63\x70\x71\xb4\x10\x85\xdb\x92\x2d\xdf\x64\x81\x47\x96\x40\x4f\x92\x6f\xdb\x39\xd9\x61\xf6\xb6\xa6\x98\xa6\x71\x0b\x17\x76\x6d\x27\x0a\x5b\xb7\xc9\xe5\x52\x57\x56\x46\x5e\xeb\x32\x5f\x1b\x17\x0a\x84\x95\xfb\x8f\xa6\x45\x73\x13\x8f\x11\x08\x9f\x98\xd8\xde\x36\xa9\x5e\x82\x17\x38\x1e\x9d\xdb\x54\x6d\xd2\x88\x71\x51\xe1\x90\x76\x50\xb6\xf5\xa6\xf1\xde\xae\xef\x74\x5e\x73\x7b\x28\x13\xfe\x91\xff\xda\x61\x43\x93\xde\x39\x1a\x8d\x11\xb2\x93\x4e\x51\x00\xe7\xa8\xac\x2d\xc3\x69\x16\x91\x1f\xcb\x94\x97\x72\x8b\x31\x12\xcd\x26\x99\x5d\x64\xb0\x75\xc6\xd6\xf9\x03\x42\x53\x4a\xe6\xae\x61\xbb\x76\x25\x48\x04\x0f\xa6\x53\x5c\x67\xd7\xba\xdc\x4a\xe4\x96\x49\xf5\xe7\x06\x66\x44\xa3\xbb\x90\x85\xd4\xcf\xb5\xb3\xa3\x99\x25\x9a\x05\x4a\x1c\x06\x7f\xd5\x78\x95\x06\x0e\x34\xad\x4b\xe3\xea\x7a\x9d\xe3\x67\xe2\xd0\x2f\xab\xef\xd7\x9e\xa8\x2b\xe1\xe7\x77\xd2\x54\xac\x48\xd3\x72\x4b\xfd\x6f\x9a\xc5\xf3\x28\x6f\xea\xc9\xf1\x35\xa4\x79\x96\xd0\xb7\xe3\x3e\xc7\xe6\x6d\x4f\x77\x5c\x45\xfb\xd8\x57\xcd\xe5\x76\xe0\x64\x6e\xee\x65\xb6\x5d\x95\x3b\xbf\x1e\x3a\x1f\xf5\xe6\x32\xbc\xf2\x6a\xfb\x83\xd3\x72\x93\xe4\xc8\x2d\x6f\xf4\x47\xa0\x6d\x7c\x9c\xe7\x29\xdd\xde\xf2\x0a\xf1\xcf\xec\x72\x5a\x6f\xee\xcb\x7e\x60\xf7\xd6\x12\x39\x9a\x8d\x85\xc1\xf0\x67\xfd\xf4\xa2\xaf\x4c\xd6\xa1\x5c\xdb\xec\xcb\xf6\xba\x5f\xa7\x73\xd8\xd3\xfc\x6b\xb3\xb7\xd8\xb4\x56\x39\xed\x86\xa1\x7e\xbc\xf4\x3a\x8b\x33\x36\x61\xbf\x55\x6d\x8a\x2d\xe9\x33\x14\x2d\xd6\x5d\xe9\x97\x2a\x37\x0a\xef\x63\xb4\xf1\x82\x5c\x93\x51\x74\xda\x7b\xc9\x43\x94\xff\x42\x25\xb4\x07\xbf\x76\x7a\x61\x17\x64\x60\x19\x0a\xb0\xe7\xf8\xab\x69\xf9\x0a\x1c\xcf\xcf\x07\x34\xda\x72\xa4\x1c\x9e\x95\x90\x26\xd8\x03\xb7\xe4\x34\x8e\x34\xc7\x3d\x11\x1d\x9a\x13\x3e\x82\xdd\x37\xcb\x49\x91\xf5\x49\x83\xef\xe1\x07\x66\xeb\x72\x66\x3e\x65\x7a\x3d\xba\xe9\x0c\xbd\x4f\xe8\xc1\x6f\x45\x81\x59\xfd\xba\x8c\xa6\x77\x43\xcf\x58\xae\x18\x3a\xc2\x25\x1f\x38\xfd\xea\x0e\xf7\xc7\x07\x99\x99\x6e\xf8\x29\xea\xbf\x71\x2f\x74\x45\x1e\x6c\xd4\x19\x07\x74\xa0\xef\xd1\x55\x63\x65\x22\x1b\xc4\x74\x10\x04\xc1\xc0\x1b\xe1\x4f\x01\xc6\x12\x04\x8d\xbe\x3e\x4a\xdd\x27\x69\xfd\x46\x2d\xce\xbf\x39\x9b\x0c\x5a\xd1\x93\x86\xe7\xa3\xf6\x73\xc2\x2a\x44\x82\xe3\xfa\x49\x63\x2c\x22\xaa\x5f\x5f\xb5\xa3\x3b\xf3\x9e\x20\x0a\x91\x33\x7f\xb0\x5d\x33\x73\xe0\x79\x56\xab\x7d\x4b\x7a\x3c\xa7\x9b\xff\x6a\x16\xce\xa9\x2c\x64\xac\xe3\xea\xc8\x8d\x47\x87\x72\xba\xff\x56\xfd\x57\xa5\xdd\x85\xf8\x97\x24\xd0\x60\xc0\x22\x60\x20\x76\x2d\xce\x03\x48\x60\xb5\x79\x21\x2b\x9c\x47\x27\x1f\x6f\xac\x97\xb1\x53\x84\x05\x60\x61\xbc\xbe\xd2\x5c\x7b\xe6\xe7\xdb\xc6\xc2\xc0\x8e\xae\x55\xe9\xb2\xd8\xd6\xa7\x17\xbe\xda\xf6\x19\xdd\x6a\x98\x3d\x5a\x7b\x9f\x87\xed\xcc\xe7\xa1\xde\xb6\x3b\xe3\xc0\xa9\xf8\x8b\xfd\xaf\x78\x3d\x48\x28\x86\xfb\x6b\x6c\x62\x44\x2d\xd2\x83\xec\xa0\x26\x97\x07\x69\x45\x6f\xfb\xe7\x30\xb3\xc8\x8e\x69\x38\xc6\x96\xc3\x7f\x05\xe9\x1d\xa3\xa3\x41\x42\xe3\x22\xd6\xfb\x0b\xdd\xf6\x70\x6a\x4f\x68\x5d\x50\x23\x0f\x96\x0d\x9c\x58\x36\x25\x61\xd9\x3c\x84\x2d\x57\x75\x7e\xce\xb9\x9e\x74\xd3\x9d\xd4\xb0\x79\xf2\xea\xca\x59\x22\x4e\x9d\x0a\x85\xea\x5a\xbc\xb0\x7e\xf1\x90\x7a\xcc\x9e\x28\x1c\x15\x11\xdf\x5d\x6e\xce\x47\x14\x36\x2d\xbc\x4d\x98\xcb\xdc\xb2\x01\x81\x14\x75\xe7\x95\x48\xc6\xe0\xcb\x79\x58\x76\xcf\xa7\x10\x16\x43\x9c\xe6\xa8\x35\x1a\xa7\x86\x28\xf7\x51\x21\x34\x65\x31\x1a\x76\x0a\xcc\x45\xfd\x31\x57\x08\x8c\xd8\xd7\x91\x5c\xc4\x3c\x0c\x8c\x06\x79\xdb\xf4\xb4\x6c\x3a\x79\xd3\x89\x16\x57\x78\x0b\x50\x53\xf6\x0d\xc3\x88\x8d\x1b\x0f\x5c\xff\xaa\x33\x69\x80\x7d\x86\xeb\xfa\x4f\xc7\x9d\x82\xb5\x01\xc7\x13\x02\x27\x4e\x94\x76\x2c\xc0\x70\x64\x73\x66\x05\xaf\x02\xa5\x73\x48\x8a\xc9\x48\x60\x7e\xc9\x20\xcd\x57\xa5\x0e\xd0\x8f\xfb\x20\xe1\xe9\xbe\x93\xc8\x85\x75\x2e\xb5\x8d\xbd\x0c\x4d\x3f\x5c\x9f\x3e\x06\x59\xca\x6b\xa0\xd2\xf3\xfc\xc6\xe4\xcc\x10\x69\x8b\x7d\xfb\x40\x5f\xcf\x1f\x3e\xcc\xab\xfd\x5f\x97\x5f\xb2\x22\x74\x84\x87\xb8\xf2\x40\x0c\x0f\x9d\xbb\xd8\xe8\x41\x66\x16\x8c\xce\x58\xe9\x06\x32\x22\x67\xfa\x59\xb5\x6c\xe6\x40\x87\x98\x2a\x7e\x5f\xca\x69\xf1\x5f\x45\xc3\x07\x32\xb5\x69\x98\x42\xfe\xc1\x5b\xb0\x34\x29\x59\x58\x19\x9b\x5a\x2c\x73\xad\xa6\x49\x1c\x41\x73\xcf\xd2\x74\xdf\x52\x16\xdd\xb8\xe4\x92\x60\xcb\xf1\x9b\x53\x97\x97\x67\x3f\x11\x10\x56\x60\x2f\x83\xe5\xf0\xce\x80\xc0\x11\x05\x9e\x81\x0b\x3e\x89\x76\x8f\x07\xc6\xa5\x8b\x0c\xcc\x17\x09\xc3\x8f\xa8\x5b\xd1\xbb\x18\xd4\x37\xd0\x66\x35\x0d\x5b\xa9\x1b\x2d\xcb\xe5\x8c\x2c\x46\x5e\xc2\x16\x22\xd2\x20\x82\x62\xa5\xd7\x2f\x16\x0a\x81\xb9\x5c\xe4\x3f\x2e\x6d\x64\xe0\x34\x92\xb1\x6b\x9e\x43\x68\xaf\x53\xb5\x5d\x1d\x42\x67\x98\x64\xdf\xa7\xa3\xd0\xbe\x51\x7b\x19\x56\x2a\x03\x4d\x91\x0b\x65\xe9\xfb\x4a\x24\x6e\x8b\x00\x1f\xdb\xde\x1e\xe6\xdc\xc3\x92\x81\x33\x9c\xa1\xb2\x9a\xe6\xa9\x7c\x38\xee\xd8\x03\x61\xe1\x7d\x07\x81\x03\xde\xb5\x80\x6d\x89\x7f\xd7\x25\x1e\x80\x79\x3a\xb7\x5a\x0a\x7d\x63\x3a\xfd\xe5\xec\x13\xcb\xca\x0a\x94\x84\xc5\x79\xeb\x19\x48\xbe\x86\xbf\x24\x2e\x60\x3b\xaf\xec\xc3\x61\x1d\x68\x44\xe9\xaf\xd2\x48\x3d\x81\xd1\x2e\x6f\xe1\xdd\xc0\x0b\xe9\x35\x94\xe5\x0a\xef\xbe\xe6\xf6\xc0\xee\xe7\x48\x84\xf8\x91\x29\x0c\xfd\xaa\x22\xa3\xa9\x2b\xb0\xb1\x9b\x56\xcd\x04\xc6\x0c\x0c\x6c\x19\x18\xe4\x32\x30\xf8\x25\xcc\x58\x77\xc5\x64\x9d\x5a\xbb\xc6\x25\xbe\x6c\xba\xce\xa6\x1c\x2e\x06\xe7\x94\xf5\xb9\x6c\x9c\xc9\xc8\x98\xa3\x3e\x3f\xa7\xfd\x8c\x2f\x61\x2f\xfb\x86\x37\xc5\x2c\x45\xc6\x47\xca\x00\x44\x4e\x6c\x66\xb9\xe7\x2a\x3b\xda\x38\x99\xa3\x4a\x34\xf4\xef\xfe\x61\xfa\x65\xe8\xc0\x84\x83\x6d\x9e\x2f\xaa\x21\xcb\xfb\xc2\xf4\x37\xbc\x0e\x0d\x63\x00\x0e\x12\x11\x11\xce\x74\xea\xbb\x2b\x37\x69\x8c\x45\xdb\xd4\xcf\xe7\x88\x93\x96\x7e\xa4\x25\xae\x5d\x25\x91\x4f\xd7\x26\x1f\x59\xe7\x81\x53\x87\x19\x35\xf9\x9a\x5a\xdb\x62\x7f\xfb\x86\x05\x3d\xcf\xb1\x1a\xac\x22\xb8\xa1\xea\x27\x2e\xe0\x35\x16\x26\xda\x21\x4f\x1e\xa1\x9a\x0c\x7b\x67\x02\x05\xbf\x3b\x81\x9c\x83\xa3\x32\x7b\x31\x9b\xd7\x14\x86\x17\xd4\x6e\x31\x55\xd9\x77\xfa\xcf\x6a\x42\x3a\xcb\xa7\x9b\xe1\x53\x20\xfb\x1b\x85\xe3\x78\x42\x79\x6d\x0b\x99\x63\x92\x33\xbd\x12\x87\xab\x2f\xc3\x18\x26\xd1\x32\x2d\xa8\x32\xbb\xe7\x68\x9a\xc6\x34\xf0\xd9\x10\xce\xf5\xea\x1b\xf2\x73\x9b\xab\xf9\x80\x31\x24\xa4\x5a\xb5\x51\x3a\x7b\x2a\x25\xb2\xfb\xb6\xe8\x0c\x50\xfb\xc5\xd0\x92\xf7\x7d\xd5\x61\x7a\xea\x8a\xa1\x06\x64\x6b\x87\xad\x19\x07\x14\x6d\xb9\x19\x35\x2c\x6b\x64\xe4\x1e\x8b\x87\xd2\x3a\x46\x9d\xba\x39\x7d\x68\x6e\x8b\x87\x6f\xe1\xd0\x69\x74\x8e\xd2\xf0\x58\x4c\x02\xe9\x8c\xf7\xc1\x51\x82\x61\xda\xb8\xd0\x45\x3c\xa1\x63\xa3\x7b\xff\x62\x1a\xa8\x60\xd5\x68\x38\x2c\xad\xc3\xda\x42\x6c\xd2\x60\xaf\x7d\x31\x13\xcf\x6d\xb9\x28\xa1\x3f\xa0\x1f\x4d\x93\xe6\x2f\x35\xf3\x0a\x99\x34\xed\x51\x2c\x70\x9a\x64\x5b\x9b\xd0\x55\x30\x46\x29\x71\x8a\x26\xb9\xdb\x4f\x68\x33\x85\x35\xaa\xbe\x83\xb9\xd6\x0d\xfb\x18\x4c\x1b\xfb\x8c\x87\x27\x9b\x75\xf8\x94\x00\x38\xc2\x37\xc5\x0d\x5f\xd2\x6f\x5c\xaf\xf1\x69\x95\xe1\x50\x41\x10\xc2\x90\xec\x9f\x43\xab\xee\x76\x47\x56\xca\x12\x9b\xd6\x4a\x7c\x3b\x9b\x62\x53\xdf\x08\x84\x4c\xbf\x76\x45\xb9\xc5\x63\xc5\xa8\x08\xe3\x0b\xc7\x59\x2e\x08\x59\xa7\xaf\xc8\x35\x9d\xfe\x80\x7f\xa6\x50\x3d\xca\xb5\xc5\xc8\x81\x35\x4f\x10\xd3\x8c\xc2\x7d\x2f\x4f\xec\x94\x63\x45\xb3\xa9\xfa\x4e\xfe\x46\x09\x79\x1c\x43\xce\x9a\x2a\x8d\x58\x9b\x70\xf8\xf2\x27\x56\xc8\x92\x3c\x74\x5c\x58\x62\xab\xee\xc0\xbb\x16\x1d\x11\xe1\xe4\xb4\x47\xf9\x96\x5c\x60\xe5\x71\x1c\x3a\xe1\x58\x15\xcf\x61\xf9\xc6\x53\xa5\x52\xf9\x36\xb5\x26\x5d\xfa\x4e\x0a\x0b\x15\x05\xb4\xfe\xec\x11\xb5\xfd\xea\x57\x13\xcf\x82\x5f\x4e\x5b\x91\xfe\x55\x61\xa4\xe1\xf6\x35\x9c\x04\xfa\x5c\xb7\xd7\x28\xbf\xb3\x6a\xff\x0b\x5a\x2d\xd8\xb9\x3d\xf4\x66\xa6\x87\xdf\xeb\xbf\x86\x7e\x30\x16\x65\x76\x49\x2a\x4f\x3a\xce\xd7\xa9\xb3\x68\x64\x33\xac\x1e\x53\x55\x75\x91\x2a\xdd\x6b\xd7\xb2\xcb\xc5\xed\x12\x00\x8b\x17\x86\x49\xd1\x0a\x0b\x09\xb2\x2c\xf9\x49\xbd\x4a\x9d\x36\x9d\xe0\x58\x04\x6b\xb8\xaf\x6d\xb2\xca\x7d\xa3\x98\xa9\xe2\x92\x35\x86\x62\xe4\xb2\x0e\xfd\x9d\xdb\xd2\x5c\x51\xf2\x12\x1b\xef\x6b\x89\xc4\x5c\x69\x5a\xf8\xbf\x02\x32\xc4\x6c\x72\x92\xd7\x1d\x8e\x7a\xc9\xdb\xd8\xb2\xc4\x06\x67\xc0\x6a\x60\x05\x5a\xba\xc3\x00\x5a\x31\x9e\x10\x20\x3c\xac\xd0\xf0\xb4\xa8\x6d\xb8\xc4\x54\xf6\xc3\xd0\x80\x1a\x46\xe9\x1c\x1b\xc5\xe3\x2d\x0c\x66\xd6\x77\xef\x71\x2a\xe7\x9e\x65\x41\x45\x25\x99\x32\x17\x04\x2d\x4e\xa6\x31\xe9\x52\xd9\xe2\x09\x21\x17\x2b\xe5\x70\xb5\x30\x99\xcb\x85\xbc\x83\x90\x66\x7b\x58\x4c\x14\x04\x1b\x15\x9e\xc0\x31\x9a\x5b\x47\xf9\xc2\xd4\x36\xb7\x50\x10\x43\x44\x2e\x6d\xad\x32\xe8\xac\xef\xd4\x8d\x81\xcb\x2a\xb3\xeb\xfa\x3e\xad\x0a\x5f\xca\xa7\x38\x63\xf1\x19\xdb\x24\x02\x75\x62\x6d\xd7\x60\x27\x2c\x2f\x1e\x0c\x73\x3d\x3b\xc6\x3f\xab\x8c\xa9\x0b\xc1\x45\x62\xa1\xd9\x29\x35\x83\x17\xd5\xca\x1e\xda\xf3\xa4\x93\xaf\x3a\xd1\x12\x56\xb3\xe1\x4c\x9f\x98\xb0\xd0\x1c\x4f\x49\xae\x58\xdd\xfc\x53\xcb\x59\xf7\x0f\xb9\x63\xd8\xce\x2d\x0f\x9d\x55\x9c\xe6\x82\x4e\x4e\x3e\x31\xd9\x40\x47\xc4\x5e\x6b\x11\x30\x2d\xa0\xf0\x7e\x57\x58\xae\x0f\x06\x7b\xae\x70\x72\x0c\xaa\x05\xba\x90\xa9\x67\xf1\x35\x09\x34\x75\xcd\xae\xc2\xec\xe0\xb9\xe5\x8a\x22\xcc\xba\x18\xef\x2d\x2b\xda\x6b\x02\x3a\x4c\x5e\xc2\xbc\x36\xdd\x66\xd1\xf5\xfd\xdb\x04\xcb\xa0\xa6\x17\xec\xb7\xc5\xc1\x68\x02\xe4\xcd\xc3\x12\xe6\xef\x67\x7d\xc6\xd7\xe5\xe7\xc9\x94\xf1\x74\x57\xf9\x22\xd2\x2c\x4f\xe2\xb8\xb1\xe5\x1a\xf0\xbd\xc7\x47\x9a\x3e\x97\xd8\x78\x33\x56\x3e\xa1\xd1\x9e\x4c\x95\xfd\x57\x89\x4c\x86\x07\x46\x09\xc4\x50\x68\xbe\x2b\x61\xe8\x61\xa8\x89\x58\x32\xe8\x90\x27\x0d\xd2\x68\x64\x66\x9e\x35\xde\xe5\x80\xbe\xc4\xe6\x58\xc4\x3c\x54\xc3\x41\x79\x35\xe7\x96\x90\x9d\x5a\x67\x74\xbd\xbe\x37\x29\xf0\x85\x78\x78\xbf\xd6\x16\xa9\x91\x92\x3c\x8f\x71\xf8\x2a\x83\x0b\xb3\x98\xc9\x7b\x5d\xe3\x5b\x23\x50\xc4\xee\x62\x7d\xfa\xcd\xd7\xa6\xbe\xd9\x31\x57\xc4\x32\x79\xd0\x0c\x2b\x2d\xcb\xb8\x43\xad\x14\x74\x58\xbf\x17\x9e\xdf\x47\xde\x29\xaf\x0c\x09\x11\x9c\x37\x68\x26\x4d\x03\x63\x53\x61\x70\x80\xf0\xcc\xb0\xc4\xe4\x11\x30\x34\x16\x22\x6c\xbd\xc5\x8b\xc6\x56\x15\x91\xca\xac\x28\x35\x85\x08\x53\x40\x54\xff\x74\xc3\xf4\x93\x63\x05\xf8\x55\x1a\x95\x7e\x85\xce\xc7\x9f\xf6\x47\xea\xce\x75\xb7\xb9\xe8\xaa\xf6\xb2\x6b\xe3\xb9\x0b\x01\xb3\x42\xf6\x1d\xb6\x19\x05\x1a\x16\x94\xd0\xb2\xe3\x8a\x9f\x3a\x61\x94\x4d\xb7\x17\x7b\xe9\xcb\x25\x7b\x2b\xc4\x5b\x43\x21\xb0\x19\xae\x05\xb1\xbd\x08\x14\x9a\x3e\x7a\x32\x12\x70\xf8\x6b\x17\x14\x67\xd6\xcb\xaf\x4a\x93\xd3\x2e\x7c\xf2\x6a\x63\x27\xea\x8c\xd7\xe9\xa7\x47\x18\x32\x95\xfe\x6f\x75\x02\x35\xd2\x06\x64\x49\x76\x64\x14\xbb\x61\xce\x1d\x13\x94\x15\xf9\x8b\x85\x1f\x5d\x19\xf1\x21\x6a\x66\x4b\xea\xf0\x1d\xe9\xeb\x47\xf5\xbc\x3c\x3a\x58\x3a\xc6\x8e\x10\x72\x2b\x9d\x7e\xae\x3b\xb2\xae\x89\xb6\x91\x86\x49\x63\x1f\xe7\x9d\xc4\x3e\xd7\xa0\x74\x16\xe7\x02\xa7\x68\x53\x18\xfb\x09\x32\x23\xfd\xa1\x74\x88\x65\xf8\xdd\x1a\x99\xa3\x35\xcc\xd9\xae\xf2\x5c\xcf\xf2\xac\xb8\xe8\xe5\xd0\x68\x3a\x48\xe6\xa4\x60\x90\x0f\xee\x1f\x71\xad\xaa\x88\xee\xa5\xed\x58\x5d\x32\x07\xbc\x44\x3d\xb2\xc4\xb6\x61\xd9\xde\x8d\xe4\xc9\xb1\xab\x0f\x20\xc2\xd2\x41\x2c\x06\xf3\x33\x70\x4d\x89\xf3\x54\x40\xaf\x90\x09\x1a\xfe\x82\x79\xa3\x23\xf3\x36\xd9\xe8\x50\x2a\xaa\xba\xf7\x8a\x12\x39\x79\x8a\x4d\xea\xdc\xfd\x4a\x2d\xce\x7a\xe6\x39\x88\x84\xd0\x21\x26\xf3\xf3\xaf\x3e\xb0\x72\x1f\x80\xbc\xa3\x28\xee\x0c\x1d\xee\x17\x93\xfc\x67\xfb\x2b\x0f\x8a\xdc\x1e\x8f\x4c\x2e\x9a\xa4\xc5\x41\xe9\xe2\x06\xb1\xf8\x59\x6a\x89\xcc\xd7\x12\x74\xba\x64\xe7\x3c\x9f\x90\x6b\x02\x92\x90\x56\xd3\x8a\xa6\xbb\xda\x01\x27\x4d\xab\x09\x71\xa8\xe7\x1c\xa1\x97\x30\xa3\x0f\xf8\x6a\x83\x65\x8b\xbb\x03\xed\xa9\x11\x1e\xef\x16\x19\x82\x11\xff\xd0\x60\x44\xf1\xae\xaf\xd7\x64\x03\x15\xa3\x42\x96\xce\x3c\x5e\xf6\x0e\x9a\x40\x98\x7a\xf9\xfe\xd0\xeb\x48\xec\x31\xc8\xfe\xc0\x13\xa2\xa6\x62\xf2\x44\x53\x22\xb6\xad\x55\x4a\xfb\x7b\xa0\x0f\xc4\xbf\xfe\xeb\xce\x24\x1d\x26\xe9\x4c\x93\xcc\xe5\xac\xb6\xbd\x56\x89\x60\x35\x48\xab\x2f\xc2\xda\xc0\x8f\xb5\x51\xa6\xb5\xa9\xa8\xf5\xfd\x7e\xe8\xda\x03\x87\xf5\x00\xcb\x7a\x84\xd0\x15\x01\xad\x17\x12\x5d\x2f\xb1\xac\x13\x19\xae\x53\xa4\xeb\x5c\xf9\xb5\xce\x77\xd2\xb5\xd2\x99\xd6\x6f\x68\xda\x64\xa0\x2d\xa4\xda\x42\x89\xed\x80\x4c\x1b\x19\xaf\x8d\xf1\xca\x8d\x25\x69\x83\x78\x6d\x18\xc4\xc6\xc9\xb4\x0d\x64\xba\x8d\xa5\x65\x2b\x50\x6d\xa5\x63\xf9\x19\x81\xd3\x97\x1b\xd4\x57\x32\x97\x5f\xe4\x13\x7e\x21\x5f\xf9\x2d\xa1\xfa\x96\xb5\xe1\xdb\x91\xf4\xed\x1e\xe5\x37\x3c\xd3\x37\x9c\xdd\x8f\xa9\xc7\xaf\x0e\x2d\xff\xb2\x3f\xd2\xaa\xfd\x7f\xaa\xec\xec\xf0\x82\xae\x32\x64\x2b\xbf\x9f\x80\xf3\x9c\x29\x43\xb9\x9a\xe4\x90\xd5\x46\xd5\xec\x08\xa5\x93\x25\xba\x78\x75\xd3\x75\x41\x68\x3e\x5c\x70\xa0\xcf\x3e\xba\x6c\x2b\x2e\xec\x31\x0d\xc4\xaf\xb6\xd3\x68\xc3\xd3\xa7\x80\x8d\x9d\x06\x0b\x9f\x40\x9a\xe8\x1b\x3b\x0d\xda\xe7\x37\x5a\x86\xd2\x14\xd4\xfc\xfc\x79\xc9\x77\xc0\xbe\x83\x35\x0a\x39\xe8\x97\x19\xc9\xa1\x50\x1e\x7a\x73\x38\xfa\x5d\x1a\x79\x95\x89\x5e\x07\x22\xca\xaf\xd7\x3f\x40\x51\xda\x61\x51\x6a\x55\x35\xd6\x8e\xa6\x9d\x14\xd0\xed\xe4\xf2\x85\x5c\x08\x2d\x65\x10\x38\x42\x17\x56\x11\x15\xe5\xad\x9c\xf5\xa6\xbe\x3f\x27\x55\xe2\x32\x7d\x7e\x02\x99\x65\x50\xe4\xb4\x51\x2f\x2b\x69\xde\xa7\x0d\x26\x69\x65\xb5\x97\x7d\xc5\x06\x4b\x6c\xcf\x7b\x74\x7a\x96\xc1\xc8\x75\x9e\x72\x90\x5c\xa0\xa1\x14\x83\x0e\x91\x12\x07\x54\xe9\x04\xf2\xeb\x1b\xcd\x85\x77\x78\x55\xa3\xe3\x5d\x1c\xe9\xbc\xa0\x15\x12\x3c\xcb\xe5\x72\x12\x3a\xd8\x83\x62\xe5\x8c\x1c\x2c\xa7\x85\xae\x75\x11\x2e\xf1\xd1\x28\xbe\x58\x98\x5a\x3c\xb6\xd1\x40\x7a\xb6\x63\x35\x55\xe3\x30\x97\x1f\xea\xc4\xa9\xdc\xf6\x26\xcb\x07\x24\x5f\xf5\x25\x5a\xb3\x3e\x5b\x73\x4f\x2c\xa5\x68\xf6\x0d\x97\x1c\x7b\xc1\x70\xfa\x4f\x17\xe8\xb2\x49\x4c\x5c\x4f\x6f\x6c\x3d\x3c\x37\xaf\xeb\x18\x1e\xcc\x16\x81\x6e\xe2\x6b\x2b\x25\x4f\xaf\xcc\x87\x4f\x39\x4e\x5c\x14\x01\x5e\xab\x5c\x74\x32\x3b\x82\xbc\x55\xbe\xbc\xee\xd5\xd3\xc5\xcc\x27\x81\xd5\x08\xc2\x4a\xc4\xf0\x8c\x61\x93\x43\x93\xb8\x5e\xf9\x4e\x3c\xa5\x24\xcd\x1c\xf4\x25\x53\x73\x36\xe1\xad\x46\x30\xb9\xb6\x1f\x25\x65\xc0\x61\xa7\x3a\x5e\x2c\x15\xc7\x74\xde\xd0\x6a\x0c\xe5\x93\xea\x7f\xa4\x7f\x43\xf5\x1c\xa9\x95\xd5\xbb\xe5\x30\xad\x32\xb1\x1d\x1e\xcb\xc9\x9a\xfc\x7c\x3f\xa7\x75\x3c\xe1\x59\xb2\x5c\x9c\xd3\x2f\xe2\x51\x63\x15\xcd\x82\x83\x97\x81\xe7\x55\xc3\xed\x11\x82\xb6\xdd\x8a\x9c\x0e\xc0\xc8\x77\x80\x67\xdb\xc5\xb1\x02\x8e\xfa\x55\xc6\x6a\xac\x99\xc5\xbe\xda\x6d\x92\xd3\xf0\x84\x1c\xa6\xa7\x81\x0b\x21\x01\x3b\xc5\x7d\xe3\xcd\x42\x45\xfa\x25\x20\x44\xc7\x2e\x53\x03\xe3\x48\xa9\x6c\xa9\x67\x2b\x94\x52\xe0\x23\x76\x41\x75\x3b\xf1\xb3\xa8\xda\x11\x0d\x65\x5b\x34\x9a\xe2\x85\x76\xa5\xa3\x23\x63\xab\x7e\x38\xa3\x98\x47\x91\x43\x5d\x83\x70\xcb\xbd\x5c\x4a\x89\xf3\xb6\x94\x46\xda\xc4\x83\x6f\x04\x3b\xbd\x83\x5c\x34\xce\xa3\x57\x20\xde\xc2\xf0\x8a\xf5\xbe\x70\xd7\xa2\x7a\xf8\x33\xfa\x35\x12\x47\x60\x71\xc1\x23\xff\x5f\x13\x00\x00\x04\x50\x52\x52\xa6\xa4\xa6\xa6\x4e\x0d\x06\x83\x83\xdf\xc6\x63\x01\xfd\x57\x1c\x93\xa1\xd3\xb0\x33\xfb\xaf\x6b\x25\x3a\x0a\x7e\x6f\x92\x37\x32\x3e\x17\xc2\x0f\x51\x7e\xfe\xd7\x1e\x50\xd6\x3f\x50\xdb\x1f\xc0\xed\xff\x31\x93\xed\x06\x72\x25\x62\xfd\x2d\x57\x6b\xf5\xd7\xc7\x3e\x05\x75\x28\x12\xa8\x12\x42\xd6\xbc\x5d\xd2\x4c\x32\xa7\xa5\x59\xa7\xbd\x89\x3f\x97\xb8\x3f\xb2\xbc\x73\xf1\xc0\xa3\xd8\xa5\x51\x5d\x0f\x6e\x6d\x4d\xce\xe2\xeb\x91\xfc\x78\xce\x32\xb3\x62\x3c\xd6\x3b\xfd\x0f\x27\xc5\x48\x66\x88\x75\x41\x6e\xb2\x8e\xac\xee\xa0\xcb\x74\xe4\xf4\x69\xce\xca\xbc\x6e\xa9\x2f\xdb\x34\xaf\xe7\xa7\x34\xcc\xf9\x5d\xdc\x8f\x4b\x30\x93\xcc\x4b\xfd\xbf\x38\xd5\x55\x30\x66\x7f\xcb\xe2\x71\x4c\xe7\x63\x61\x7a\xc2\x9b\x84\xed\x76\xeb\x60\x67\x0f\xf1\x5b\x56\x76\x6c\x5c\x3e\x16\x99\xcb\x77\xad\x18\xb7\x7b\xbc\x9a\xc8\xb2\x5e\x45\xcb\x91\x93\x8a\x4e\xf6\xf5\x6f\xdd\xf8\x98\x65\x9f\x1e\x1f\xcf\x7f\xc5\xc6\xeb\xb1\x8f\x26\x30\xbd\xee\x69\x74\x8b\x8c\xdb\x2d\xed\x4d\x24\xd7\x6d\x66\xa8\xbb\x9f\xdb\xb7\xef\x05\x3e\x1d\x8b\x8d\x18\xb3\x6f\xf6\xf4\x80\x14\xe9\x32\xe5\xf2\xd3\xdf\xe7\xbd\x1c\x8f\xa1\x38\x2d\x70\x38\xc5\xb8\xdd\xa7\x2f\xd9\xce\x2b\x38\xe0\xf8\x71\xd6\xd7\xd3\x2c\x91\x9f\xab\xee\x2a\x98\x83\xe9\x5a\xf2\xd0\x6a\x71\x0d\x6f\xbd\xda\x6c\x7d\x15\xe0\xd9\x3a\xc4\xb2\xe2\xf8\x36\xff\xef\x35\x9d\x41\x23\x59\x6c\x0b\xd3\x97\xae\xda\x68\x97\x20\xbb\x82\xad\xd6\xdc\x3c\xee\x4f\xdf\xc1\x1b\x3a\x26\x35\xcd\x66\x53\xe4\x71\x0d\xb7\x53\x8b\xad\xfb\xfb\x2b\xdb\xf1\xb5\xfa\xe6\x4e\x9f\x51\xc8\x25\x7b\x12\x17\x87\x2e\x56\x9a\x16\x8c\xed\xdb\xd9\xc0\x83\x72\x77\xb6\xb1\xfb\x09\xfc\xfb\xfd\x78\xfe\x4e\x9d\x29\x30\xfc\x2d\xd0\x1c\x06\xa0\xec\x79\x7e\x3b\xd0\x57\x03\x1b\x7c\x93\x15\xae\x13\x8f\x62\x5e\xff\x42\x6e\xb8\x07\xf0\xf5\x3d\x88\xae\x07\xdc\x76\x47\x10\xdf\xa1\x39\xef\x03\x6c\x70\x7b\x6e\x83\xfd\xbf\x7b\x7b\xd6\xa6\x2a\x80\x23\x83\x90\x36\x3a\x45\x21\x61\x50\x98\x96\x4b\x92\x7c\xa2\x15\xea\x54\xe9\xee\x8d\xcc\xec\x87\x34\x63\x4f\x48\x03\x4b\x75\x7a\xe9\x8c\xf8\x40\x15\x9b\xe2\xc0\xcf\x11\xea\x2a\x25\xc7\xaa\x94\x60\x04\x9a\x75\x58\x74\x8d\xef\xb4\x0d\x2f\x32\x44\xab\x44\x74\x1d\x0f\x61\x05\xb3\x98\x1d\xc9\x9e\x5e\xe1\xf4\xf4\x46\x15\xf5\x74\xff\xce\xef\xd6\xbc\xaf\xd7\x1a\xeb\x9d\xa7\x58\x6c\xf8\x91\x94\x55\x54\xd5\xd4\x25\x9a\x5a\xfa\x8b\x52\x99\x4e\xdd\x7a\xf4\x39\x38\x3a\xbb\xb8\xba\xf9\x70\xf7\xcf\xd3\xf0\x32\xad\x36\x5f\xbe\xad\x2e\xb4\x1e\x59\xa9\x72\xd5\xa8\x1d\xac\xc9\xfd\x31\x57\xd3\x83\xe6\x8a\xc6\x59\xd7\xd4\x5d\xcf\xc9\xd5\x47\x5f\xe3\xd7\xc3\x98\xbd\xfe\x97\xff\x26\x4d\x99\x36\x1c\x1d\x9b\x73\xfb\xfe\x76\xec\xdc\xb5\x24\x10\xc9\x14\x2a\x8d\x83\x8e\x30\x01\x9b\x3f\x44\x31\x4e\x6e\xde\x1b\x37\x0f\xc7\xb3\x3b\x93\x53\x22\x99\x41\x56\xfe\x61\x34\xf6\xe5\xe7\xaf\x97\xa3\x3d\x65\xda\x1c\xd3\x67\x0e\x66\x0f\xe7\x9e\x77\x3e\x04\x44\x24\x74\x0c\x10\x0a\xc3\x89\x0b\x2f\x03\x13\x33\x0b\x1b\x0f\x0e\x0a\x27\xc1\xc5\xcd\x3f\x49\xa5\xf1\xe4\xc5\x9b\x0f\x5f\x7e\x0a\x4a\x2a\xaa\x6a\xea\x12\x2d\x6d\x51\xa7\xbe\xdf\x74\x70\x71\x75\xf3\xe1\x61\xf1\x34\x4c\xab\xcd\xb7\xdf\x7f\x38\xe5\xac\xa3\xe7\x3c\x77\x42\x62\x52\x72\x4a\x5a\x8e\xf4\xfc\x32\x22\x99\x41\x56\x18\xcb\x99\x2b\x4f\xde\x7c\x4d\xcd\xad\x6d\x3d\xfa\xeb\xa8\x74\x16\x5d\x65\xad\x57\xef\x7e\x37\xdc\x76\xc7\xd5\xfb\xde\x6f\xc3\xa6\x2d\xdb\xb6\x2f\xf6\x7c\xea\xa3\x6f\x79\xed\x0b\xdf\xfc\xee\x1b\x68\x19\x96\xcd\xc5\x47\x88\x27\xfc\xe8\x2e\x7c\x86\xf5\x67\xec\xcf\x16\xd7\xa3\x4c\x0f\x3b\x4d\xde\xee\xdd\x7a\x2f\xbd\xbf\x2c\x62\x25\xbc\x43\xa7\x49\x67\x1e\x3c\x13\xc0\xe7\x9a\xd7\xf5\x64\x92\xa0\xd0\x41\x28\x5a\x09\x25\xfd\x64\x92\x28\x97\x71\x25\x28\xa2\x0a\xce\x9d\xe1\xaa\xd4\x7e\x1c\x13\x34\xcd\x4a\x64\xcc\x0e\x0a\xe7\x83\xe2\x0e\xa1\x7b\x6a\x0d\x92\xf1\x10\x16\x2d\x05\x47\x01\xa2\x88\x91\xa1\x5c\x4c\x74\xa1\x2f\xe3\xf7\x3d\xd0\x8e\x33\xd9\x7e\xf5\xf4\xbd\x9f\x34\x24\x77\xf8\xbe\xf7\x3e\xdb\xd4\x62\x83\x13\xd3\x67\x41\x2b\xa8\xf2\x48\x69\x00\xb4\x0b\xa1\x2c\x78\x7b\xf2\x13\x09\x43\x08\x63\x21\x24\xcf\xf0\x7d\x0f\x24\x73\x21\x0d\x67\x13\x24\x5b\x78\xa4\xfc\x3e\x9d\x64\xfa\x37\x45\x2f\x95\x2a\xca\x78\x64\x9b\xd1\x77\x08\xa1\x43\xa8\x41\x3d\x73\x54\x5b\x80\xfa\xb9\xb7\xd4\x4d\xb9\xf3\x16\x6f\x83\xd3\x68\x54\x86\x0f\xa1\xe4\x78\x3d\x8c\x7e\x0e\x21\x60\x87\xef\xdb\xf6\x31\x53\xe7\x40\x35\xbc\xa1\x42\x90\xe1\xaf\xfc\x24\x5f\x3c\x8f\x51\xa7\xa7\x45\x94\x3b\xfb\x7a\x7d\x38\x9f\xe0\x3e\x51\xcf\x7f\x5a\x69\xef\x47\x4d\xa8\x16\x81\xc6\x02\x13\x1b\xe8\xe5\xc7\xc4\xf0\x11\x39\xbf\x5f\x8d\xe3\xf0\xdc\xa7\x7a\x80\x68\x9a\x54\x7d\xfd\x4e\xb8\x39\xd5\xf9\x94\x23\x02\xa1\xd4\xde\x24\xa0\xc9\x66\x77\xf3\x62\x33\xff\x9e\xe7\x51\x73\x68\x41\xf3\x44\xea\xf4\x0c\xb9\xeb\x78\x3f\x1f\x75\xba\x90\x13\xca\xf6\x33\xba\x5e\xbd\x42\x64\x94\x76\x3e\x34\x69\xa1\xc6\x4a\xe1\xd8\x35\x99\x8f\xeb\x73\x14\x39\x7b\xba\x47\x92\x3a\x9a\x1b\x9c\xee\x73\xb9\x23\x46\x83\x92\x7d\xcb\x26\x26\xad\x7b\x06\x2a\x8f\xdd\x90\x41\x37\x51\x67\x2e\xf3\xbd\x6f\x51\xb7\x91\xe9\xc9\xa1\x55\x20\x51\x32\x1f\xa3\xcf\xe1\x18\xf6\x01\x45\x14\x29\x06\x57\x34\xc8\x54\xf2\x2a\xed\xcd\x9e\xb7\xc9\xfd\x69\xe0\x2b\x04\x75\x1d\x3e\x03\x8f\xbf\xac\x54\x70\xf4\x05\x28\x49\x40\x70\x23\xe9\xba\x02\x90\x3c\x88\x00\x1c\xa1\x6f\xd2\x34\x06\xc0\x87\x80\xfa\x87\xba\xa4\x2e\x50\xa3\xd9\xe9\x2f\xad\x05\x58\x62\xe5\x8c\x2a\xb4\xd6\xea\x58\xc2\x5b\xac\xd1\x40\x9e\x6e\x99\x56\xff\x54\x5d\x41\x86\x93\xae\xd2\xc6\x19\x83\x3e\xb9\x26\xa5\x20\xb9\x8b\xcc\xb6\x61\xbe\x3d\x5c\xbc\x47\xef\x52\x2f\xf8\x00\xea\xb9\x7d\x5a\x8c\xf0\x4c\xe8\x28\xe1\x2f\xa1\x7f\xfd\x72\x88\x5e\xfd\x21\xb4\xcf\x99\x50\x17\xe3\x87\xa6\x33\x99\x6b\xfa\x1e\xf9\xf5\xde\xad\x6f\xd7\x64\xc8\xaa\x8f\x47\x8f\xd3\x22\xc3\xd2\x4d\xed\xe8\x26\xb4\x9b\x8f\x59\xe3\xd3\xf6\x85\xff\xc8\x50\xa3\xfd\xd4\xec\xf8\xff\xab\x91\xc6\x78\x38\x11\x09\x22\x65\x4f\xec\x77\xbf\x9b\xfd\x7f\xea\x6c\x13\xc5\x4a\xda\xed\xd4\x81\xb0\x27\xd8\xb4\x32\x7c\x12\x07\x04\xbe\xaa\xee\xa8\x86\x56\x8d\x8f\xd9\xb4\x9c\xe3\x4e\x10\x6f\x76\x85\xf8\x98\xb4\xd9\x59\xf1\x82\x6b\xdb\x9d\x1a\x5a\xbe\xd7\x33\x16\xc4\x81\xf6\x1c\xa2\xbd\x27\x03\x1a\x12\xda\x8f\xf8\xb6\xa5\xfa\xe3\x78\x7d\xee\x19\x73\x26\x9b\x9e\xd1\xc0\x3f\xfc\xf8\x01\xc0\xcb\x33\x50\x47\x8d\x2d\xd5\xd1\x9f\xca\x86\x08\x0f\x9e\xc2\x55\x6b\x41\x6d\xb2\xd3\x69\x4b\xbd\xff\xd9\xf3\x84\xe5\x4d\xd2\xee\x19\x1d\x20\x1a\xc3\x29\x49\xc3\xca\xbf\xab\x3a\x4b\x62\x7e\x74\xcd\x1a\xbc\x6b\xc2\x27\xe4\xab\x43\x5c\xad\xad\x73\xfc\xbd\x0d\x6e\x4b\x69\x3b\x21\x22\xee\x87\x46\x1f\x4a\xfd\xd2\x69\x5b\xcb\xba\xf9\xcd\x84\x51\xfa\x31\xfd\x10\xca\x6a\x97\x9b\x43\xda\x9a\xc0\x81\xf9\xd0\x96\xd3\xf7\x91\x7a\x69\x27\x76\xba\x35\x98\x9c\xab\x2a\xf6\x53\x5d\x2f\x10\x9e\x58\x8f\xbc\xad\x54\xd3\xbb\x2e\x64\xef\xa6\xb0\x78\x6f\xbd\x09\x33\xde\xb7\xc3\x99\xdc\x75\xe3\x7d\xbb\xce\xee\x34\x71\x2f\x86\xf1\xd7\xdd\x50\x1d\xca\x00\xa7\xb6\x1b\xf4\xfb\x94\xa8\x39\x63\x77\xdf\x75\x4d\xd8\x67\xf5\x36\x60\xc0\xcc\xd5\xdb\x43\xcb\xbe\xb5\xab\xc3\xfb\x0d\xf6\x8a\x45\xf6\xb4\xb8\xda\xa3\x3c\xa0\xe5\x9e\x08\xcb\x8b\xef\x21\xec\x98\xb1\x19\x91\xe5\x2b\x2c\xc0\xcb\x6b\x82\x22\x19\x22\xe8\x85\x1a\xdf\x61\x1c\x0d\x6c\x94\xf3\xde\xc6\xb6\x78\xec\x75\xeb\x92\xf7\x9d\xab\xa2\x1d\xa1\x58\x67\x4e\xc4\x8a\xb0\xff\xaf\x92\x6b\xb5\x4f\x7f\x9d\xa5\xc3\xfd\xef\x56\xb2\xa5\x31\xed\xe2\xed\x0c\x17\xa7\xc5\x30\x5f\xc6\x26\xa3\x60\xaf\xd1\x89\xab\xc2\xb0\x22\x4d\x3f\x98\xb6\xc6\x24\x7e\x3b\x35\xa6\x37\x50\x1d\x40\x6a\x78\x3a\x98\xc4\xa0\x74\x13\xd1\xd0\x68\xb2\x4c\x38\xef\x23\xd4\xed\x06\xc1\x5c\x7f\x86\xa2\x4e\xa8\x9d\x69\x13\x33\xfc\xab\x2f\x53\x81\xc9\x07\x80\xf2\x54\xfa\x35\x12\xb0\xe7\x7a\x75\xf4\x76\x49\xdf\xe9\x2c\xc8\x13\x73\x26\x07\xfd\xe2\xc8\x38\xe1\xc4\xfe\xee\x98\x5c\x65\xb3\xe9\x5e\xe7\xb3\x6e\x3f\xd0\xa6\x54\x26\x4c\x3c\x9b\xa2\x73\xed\x88\xa7\x8d\x91\x35\x8e\x77\xae\x42\xd4\x9e\xf3\xf6\x42\xa6\x99\xdf\xa3\x0f\x1e\x3e\xaf\xfd\x47\xf4\xdb\xd6\x42\x7b\x0a\xb1\x66\x6a\xd4\x73\xef\x43\xeb\x24\x4f\xbf\xc9\x5e\x87\xf9\x94\x26\x4b\x19\x58\xb9\xc8\x7a\x95\xe9\x98\xa5\x96\xff\x8e\x01\xab\xc7\xb6\xb9\x97\x36\xe5\x32\xa7\xf6\xab\x1f\xc4\x7f\x8c\xfc\x63\xc6\xc8\xc6\x7b\x2f\x0d\xb5\x83\x2f\xdf\x72\x34\xac\xcf\x28\x07\x44\xf1\x12\x2c\xa7\x5c\xd1\xe3\xb3\x49\x0c\xb9\xdb\xc5\xc7\x55\xf4\xb1\xf3\x03\x08\x5d\x65\xce\x6d\xb5\x21\xb3\x6f\x69\x83\x7c\x62\xcd\x0f\x06\xaa\x91\xef\xa6\x4b\x23\x7a\x62\xb8\x30\x21\xd7\xb5\xae\xb7\xac\x12\xb5\x85\x39\x37\x0f\xf2\x9f\xbc\x3a\x91\x91\x19\x30\x9f\xc5\xe5\x62\x9a\x8f\xa3\x6e\xdb\xaf\x92\x78\x70\xa8\x31\x9b\xf9\x42\x1c\xa8\xe6\x83\xf5\xf7\x7e\x10\x4c\x7a\x51\x89\x18\xfa\xcf\x53\x44\x51\x97\xb6\x9f\x88\xcf\x0f\x99\x4c\x9d\xaf\x65\x47\x7d\xfc\xb8\xb4\x9e\x42\xfd\x05\x05\x8d\xf7\xad\xeb\x49\x03\x4c\xc5\xfc\x6d\xbf\x7d\xfa\x1a\xa7\xb4\xfd\xd6\xd3\xb7\x5a\x8c\x8f\x8b\xfb\xea\xdd\xdb\x03\xc1\x13\x37\xd4\x38\x31\x7b\x92\xd4\x6b\x61\x7a\x59\x14\x37\x95\xf7\xee\xed\xa7\x3b\x7e\x32\x9f\xf1\xed\xd3\x78\xe0\x4c\x7c\xfd\x34\xaf\x2b\xaf\x12\x49\xfd\x89\xf8\xf2\x80\x80\x7a\x7a\xf4\x45\x89\x42\xdd\xc9\xe2\x69\xad\xb3\x6f\xde\x4c\x76\x55\x69\xbb\x54\xeb\xba\xdf\xf1\xf6\x1a\x0d\x9d\xd2\xe6\x6d\xcd\x81\x7f\xff\xb4\x24\xb9\xfe\x7f\x33\xf5\xf4\x60\x96\x36\x92\x96\x74\xfa\x60\x24\x64\xa2\x9b\x06\x68\x3d\x30\x97\x57\xd3\xcb\x6d\xfc\xf5\x8b\x8f\x7a\x80\xb5\xe1\xd5\x30\x49\x5e\x74\x47\xa3\x64\x5d\xab\x97\x28\xf4\x07\x81\xab\x29\xae\xf0\x48\xa8\x24\xfe\x0e\x33\x46\x83\x38\x22\x17\xab\xf9\x36\x28\x25\xeb\x95\x66\x98\xe5\x8e\xb4\x5f\x24\x3a\x32\x73\xb1\xb0\xdc\xb3\x79\x84\xfb\x0f\x12\xa7\xac\xad\x4f\xa2\xed\xf6\x00\x29\x8d\xee\x64\x17\x00\x8b\xbf\x17\xeb\x3c\xe9\xd0\x89\x0f\x7f\xd6\x16\x78\x84\x21\xec\x11\x82\x67\x3f\x66\xfa\x0c\x9b\xec\xea\x92\x64\xdd\x1c\x1e\x33\x65\x1d\xb8\x3e\xe8\xff\x66\xc7\x6a\x2d\x1c\x24\x9d\xb1\x7c\x35\xbd\xcf\x99\x77\xbd\xe6\x67\x1e\x44\xcc\xaa\xb7\xaa\x5f\x96\xbf\x12\x03\x88\xd9\x6e\xe9\xec\xa5\x7c\x9d\x93\xbd\xfc\x63\x9b\xe8\xc0\x0c\x3b\x12\x22\x7d\xda\x50\x9b\x1b\x94\xde\xc0\xc1\x12\x63\x24\x8a\x1e\x54\x92\x63\xee\x96\x16\xe1\x2e\x83\xe3\x75\xd7\x28\x63\xd9\xad\x08\xbd\x5b\xa2\xd5\x30\xe0\x1e\x5c\x89\x71\xc8\x43\xbc\x6a\xb2\x1f\x18\xb2\xcb\xd7\x0f\xc0\xff\xf6\x98\xa1\x3c\xb0\xce\xf8\x67\xa7\x57\x18\xcc\x12\xe5\xee\xe7\xbd\xce\xf2\x34\x58\x9a\xf4\xdc\x90\x61\xe8\x5b\x83\x45\xb4\x02\x4a\xd2\xd2\x85\xae\x3c\x0f\xf7\x04\x25\xae\xee\xc5\x96\x20\x50\xde\x06\xcb\x18\x8f\x62\x2e\x2a\x15\x13\x7c\x81\x6a\x7b\xbc\x50\x1a\xa8\x44\xc6\x22\x14\x07\xf3\xdc\x26\x08\xa7\x2c\x26\x67\x3f\x51\x9a\xf6\x53\xa6\x82\xb7\x04\xbf\xee\xdc\x25\xff\xda\xa6\x56\x41\x53\x44\x6d\xf5\xb8\x17\x99\xdf\x58\xe8\xee\x2d\xcc\xb8\x82\xa8\xad\xbd\x38\xc7\x54\xe1\x05\x0e\x90\x07\x67\x10\x9c\x06\xdf\x0d\xbd\x42\x12\x8c\x45\x78\xc7\xf5\xa9\x9e\x5a\xbf\x76\x3b\xf8\xfc\xd1\xbe\x46\x53\x90\x21\x04\xf3\xd4\x86\xc5\xe4\xfb\x50\x36\xf2\x7f\xa7\xac\x06\xe9\x15\x4e\xbd\x28\x1b\xe9\xbf\x53\xa4\x01\xaf\xf6\x61\x59\xc7\xa2\xca\x59\x7c\x32\xb6\xa3\xb1\xa8\x4f\x56\xef\x75\xda\x84\x55\xa4\xfd\x71\x8e\xd5\x6c\x27\x0a\x1b\xd2\x52\x1b\x59\xc4\x9d\x54\x9e\x6c\xf0\x27\xb7\x8d\x1c\x4a\x07\x7a\x89\xa1\x6c\xd1\x46\xc2\x57\xb7\x91\x6e\xd5\xc3\x78\xb9\x21\xad\x01\x94\x99\x33\xf0\x0f\xfc\x37\xcc\x8b\xba\x39\xf6\x24\x21\x8e\xfb\xf4\xb7\x88\xd3\xe0\xe6\x58\xfb\x7f\xb4\x9e\x26\x79\xf4\xff\x26\x9c\xfb\x79\x75\xfe\xba\x9c\x9c\xee\x0b\x0e\x27\x96\x67\x7e\x07\x99\x44\x83\x4e\xd8\x1a\x4b\xa8\xa7\x3c\x3c\xad\x16\x33\xad\x35\xac\x5a\x82\xe0\xbb\x2e\x66\xe0\xb6\x51\x49\xb4\x95\xc2\x1f\xad\x30\x57\x05\xf4\x8c\x4d\x84\xc4\x22\x6f\xe5\x00\x29\x3b\x26\xe5\x7c\xb5\x30\x86\xd8\x8e\x50\xa9\x38\xa7\xa5\xea\xbf\x99\x8b\x1d\x30\xe7\x54\xa2\x72\xde\xa0\x0c\x4f\xd6\x60\xbc\xde\x87\x16\x54\x47\x37\x4e\x11\xd8\x79\x4b\xb2\xf5\x2a\x52\x9c\x75\xb4\x99\x3a\x08\xb6\x41\x95\x11\xeb\xb4\x45\xcd\x22\x3b\x16\x02\x3f\xc5\x7e\x6f\x27\x8d\xa2\x9e\x41\x1e\x59\xb2\xf3\xf3\xa4\xa8\x82\xd2\x00\x37\x04\x52\x42\x3f\x42\x44\xda\xc5\xad\x97\x94\xd0\x45\x88\x64\x7b\xbc\xb9\xd9\xcb\x55\x46\x1f\x3e\x49\x1c\x25\x45\x0e\x63\x05\xf5\x25\xc1\x03\x21\xc0\xed\x02\x0b\xe9\xf7\x3f\xff\xe6\xb8\x46\x89\x4b\xe2\x75\xf6\xf8\xf7\x22\x29\x54\x39\x72\x38\x7c\x63\x60\xf7\x30\xe6\x23\xa3\x8d\xc6\x3b\x91\x50\xdf\x5b\xa4\x1b\xf6\xc5\xc7\xde\xa6\x39\xe4\xbe\xd9\xc8\xa4\x72\x0e\x1f\xee\x19\x9f\x7c\x21\x2b\x1b\x68\x3e\x47\xd8\xf3\xed\x14\xee\x3a\x8f\xe8\x9c\xc6\x4a\x6b\x53\xda\xc8\xe1\x4a\x9e\x50\xc3\x46\xcf\x2c\xf7\x24\x56\xf9\xae\x20\x91\xfe\xb9\xba\x5b\x82\x31\xb9\x83\xf0\xc3\xf9\xbf\x6b\x61\xc4\x8f\x73\x4c\x6b\xcb\x0b\x6b\x32\xff\xe3\xe2\x4c\x3f\xdd\xbf\xbf\x1e\x1b\x7a\x9c\xa8\x4b\x9e\x6c\xdf\xed\x98\x00\xde\xb9\xc3\xc1\x9c\xb4\x8d\x83\x6e\x70\xab\x85\xb7\xba\x78\x6b\x86\x5b\x53\xdc\x4f\x0b\x51\xfd\x96\x4f\xfa\x3d\x7b\xfa\x23\x47\xaf\x0d\xce\xce\x0b\x25\xbf\xa8\xd9\xa6\xe5\x90\x9e\x03\x96\x9c\x30\xf2\x9e\x35\xe7\x6c\xd9\x57\xcf\x97\xda\xe4\xdc\x7b\x23\xe2\xe8\x77\xd1\x4b\xde\x57\xb6\x65\x2d\xf6\x60\x17\x12\xff\x63\xe7\x58\xba\x22\x48\x97\x92\xe7\xd4\x25\x83\xa5\x33\x02\xdb\xd0\xb2\xc2\x89\x42\xb0\x53\x41\xef\xc8\x69\x76\xfd\x43\x90\x57\x6a\x3d\xe3\x23\x73\x4e\x5b\x41\x98\xb8\xc6\xab\xa2\x56\x79\xf1\x5b\x42\x4b\x97\x16\x2a\x76\x53\x4b\x38\x36\x1b\xe0\xe4\xa9\x83\xbf\x6e\x8f\xc5\xcd\x24\xae\x9f\xd8\xee\xfd\xe8\x3c\x31\xa8\x5c\xeb\x9e\xf2\x27\x3e\xe1\x0f\xd9\x51\x53\x3d\x3e\x1e\x66\x86\x58\x2c\xb5\x08\x6a\x25\x9a\x32\x22\x2a\x35\x9b\xea\x8b\xb3\xd4\x12\x58\x8c\x16\x57\x76\xe3\xe7\x49\x5f\xe1\xba\x92\x9b\xea\xfa\xaf\xee\xf8\xfa\x10\x8c\x9d\x4e\xdc\x98\x54\x9a\x4a\x9b\x4c\xb8\xcd\xef\xd8\x09\x0c\x77\x67\x2e\x1b\x37\x9e\x46\xae\x58\x7e\xb1\xf3\xd0\x5d\xb6\xcf\x7d\x32\xe1\xe3\x63\x18\x3f\x7a\x5f\xe7\xc7\x5f\xff\x6d\xfe\x5f\xd8\x6b\x3f\x97\x47\x70\x6c\x10\x80\x1e\x1d\xf8\xa5\xd8\x23\x78\x27\x13\x21\x63\xa1\x14\x47\x64\x82\xe3\x92\xdb\xc1\xe8\x70\xd7\xce\x4b\xb7\x9e\x34\x66\x82\x25\xad\xa8\x1c\xf4\x05\xb8\x6f\x72\x58\x69\xd9\x87\xb1\x9a\x26\xe0\x8a\x6d\xa6\xea\xc4\x81\x96\x29\x7b\x2a\x71\x0d\xe3\xbe\x21\x7a\x3d\xcb\x5e\x74\xb9\xe0\x3b\xce\x5e\x91\xc7\x45\x66\x03\xb4\x71\x1d\x51\xb8\x2b\x05\x29\x60\x15\xbc\x7b\xfc\x0e\xef\x7b\x5b\x0b\x2c\xff\x6e\xb2\x79\x9f\xd8\x6d\x36\x00\xf9\x78\xee\xc2\x36\x62\xa2\xcb\xd1\x15\x9b\x98\xf3\x06\xca\xba\x8c\xab\xf9\x42\xe4\xf4\x8b\x0c\x91\x37\x51\x7f\xbc\xad\x7c\x2f\x89\x60\x61\x2d\xce\x5b\x2d\xf0\x2a\xcd\xd0\x5f\xea\x4b\x2f\x93\x0c\xd5\xeb\xba\xb7\x57\x05\x78\x61\xe4\xbd\x58\x51\x86\x19\xfb\x25\x7f\x6f\x8c\x9b\x9d\xd7\x6a\xb0\x2a\x44\xdb\x42\xa2\x74\x17\x0f\x38\xc7\x8e\x75\xbd\x2c\x9e\xe3\xe7\xd3\x09\x7c\x8a\xab\x33\xf9\x58\x00\xe4\xd3\x09\xb8\x67\x36\x61\x9e\x64\x3f\xdf\x3c\xc6\xf1\x58\x14\xd4\xd3\x63\xa8\x64\x9f\x93\xf2\xf3\xad\xfa\x5b\xb3\xfe\x93\x23\xda\x42\x8a\xcd\x92\x19\xea\x4f\x20\x51\x50\xb0\xc4\x7a\x53\xfc\x12\x47\x91\x1d\xc9\x6c\xdf\x23\x8f\xa0\x70\x54\x01\xca\x59\x3f\xcd\x46\x1a\x4e\x3b\x67\x3f\xe0\xcd\x79\xb2\x83\x9b\xf9\xef\x9a\xa7\xa2\xa8\x95\x15\xa6\x2b\x80\x50\x4f\x46\xc2\x74\x60\xaa\xe7\xb4\x95\x39\xa3\xfe\xc3\xfd\x3e\xea\x16\xc3\x6c\x9f\xa8\xe4\xe6\xff\x24\xb5\x8c\xc4\xa8\xc7\x54\x38\x18\x8a\xad\x07\xe9\x29\xcf\x50\x1e\xdc\x2b\x8e\x7c\x65\xf0\xb3\x4a\x1a\x14\x62\xb6\xff\xbd\xba\xa7\x82\x9d\xdf\x2c\xff\xb3\x5f\x69\x87\xeb\x11\xe5\xcc\xfe\x54\x8a\x12\x52\x8f\x67\x07\x63\xa7\x36\x9b\xdd\x6d\xcf\x67\xe4\xac\x64\x7a\x62\x76\xc6\xaa\x12\x4a\x7c\x7e\x20\x7d\x35\x05\x49\x7f\x2c\x66\x9b\x1b\xb0\x13\x98\x02\xa2\x10\x36\x7e\x85\xbb\xc4\xea\xd4\x3f\x1c\x6c\xd6\xba\xb7\x63\x78\x2e\xaf\x0b\xda\xfd\xfb\xa9\x7d\xab\xcf\xfc\xaf\xf7\xd5\x47\x77\x5c\xdf\x14\x00\x2f\x1b\x4f\x61\x47\xe4\x63\xfc\x8e\x64\xbe\xa7\xb9\x48\xe2\x94\xbc\xce\x1b\x54\x64\x37\x3a\xfd\xf5\x4c\xb2\x2a\x9f\xe5\xa4\x2c\xec\x18\x13\xa5\x8b\xfb\xf3\xce\x36\x64\xe1\xb5\xdf\x06\x64\x62\xf4\xa4\x90\x74\x36\xf5\xb7\x5f\x49\x44\x5b\xe4\x5a\x51\xa1\x33\xed\xf5\x18\xfd\xaf\x0f\x1a\xd2\x8d\x07\xe5\x6e\xef\xf8\x1e\xb2\x60\x35\xb6\xcc\x03\x81\x70\x16\x97\xfb\xf8\x68\xe0\x71\xcf\xcc\x4f\x4e\x98\xe6\x26\xe8\x1e\x45\x44\xae\xe6\x12\xf7\x5e\x49\xd4\x17\x30\x36\xa8\x22\xc4\x19\x76\xa5\x59\x3b\x52\x87\x75\xb4\x75\x82\x70\x1e\x09\xcd\x9b\x2a\xb4\x6e\x99\xe1\x82\xef\x9d\xc0\x06\x67\x4e\x60\x67\xda\x38\xea\xca\x4f\x59\x85\x1b\xf4\xe3\xb7\xd7\x2a\xe5\x54\xc7\x0c\x12\x0b\x10\xd7\x04\x5d\x07\x0c\xf0\x47\xdf\xd2\x74\x13\x2b\x43\x7d\x73\xb1\x86\x89\x60\xb7\x37\x24\x9c\xd7\x9f\x28\x69\x3c\x28\xd0\xf9\x55\x52\x83\x71\x1f\xcf\x27\x27\x93\x12\xd2\x64\xfa\x41\x85\xeb\x8b\x8b\x3d\x93\x5d\xe0\x9a\xe0\xc2\xd7\x44\xdf\xa4\xc6\xf1\xcd\x65\xbf\x96\x62\x8f\x64\xc0\x26\x3e\x3f\x1c\xd0\x9b\xc8\x6a\x67\x39\x5d\x9b\xc6\x61\x10\x17\x90\xec\xe8\x4f\x25\xb7\xef\x9f\x7f\xf3\xed\x77\x5b\x29\x09\x2f\x83\x30\x93\x6f\xce\x51\xc0\xbd\x34\x44\xbf\x9f\xd2\xdd\x21\xeb\xea\xde\x6c\x73\x18\x80\x69\xdf\x79\xaa\x4b\x00\x72\x79\x12\x6b\x9c\xf7\x3f\x09\xf0\x32\x4f\xa7\x75\x01\x35\x44\xc0\x5a\x01\xb4\xfe\xa0\xaf\x65\xf1\x43\x9f\x35\xdf\xa6\x5d\xd4\x05\xcb\x82\x32\xec\xcc\xa8\x94\x8d\x1e\x53\x03\x7d\x2e\x52\x6b\xd1\x60\x0e\xd6\xdb\xd1\x2b\x52\xe5\x22\x0e\xb4\xa4\xb2\x9d\xcf\x2e\xf3\x94\x5c\xb7\xb4\xe1\xa5\x60\x93\x8b\xa3\x1a\x65\x2b\xd3\xce\x4d\xa1\x50\xcc\x9b\x0e\x71\x81\x7b\x86\xff\xf8\xef\x50\x01\x5c\xe3\x8a\xd6\x3d\x2d\x81\xdd\x68\x17\x3b\x8d\x07\x03\xc5\x4c\xff\x16\xa2\xd3\x70\x47\x69\x8f\x8e\x42\x2d\x65\xb1\x40\x17\x16\x61\x3e\xe1\xcc\x65\xb4\x5f\x09\x51\x62\x4d\xe0\x9b\x52\x1a\x9e\x66\x51\x7e\x74\xd5\xb4\xed\xb3\xd9\x23\xed\xa7\x55\x26\x4b\x58\x61\x89\xa9\x2d\x4d\x86\x4e\x85\xe9\x4a\x83\x3e\x6d\x33\x19\x94\xe7\x92\xf8\x3b\x2b\x24\xf2\xb3\xb9\x18\xd2\x49\x26\xf8\xf5\x37\xe9\x9d\xac\x42\x1d\x9e\xf1\xcc\xd2\xa9\x4d\x73\xda\x34\x58\xfb\x37\xa7\xa7\x85\x64\x96\x1f\x5c\xd3\x04\x3c\x71\x41\xba\x2c\xd1\x36\xeb\xf6\xd9\x6b\x8f\xee\xd4\x79\x97\x1d\x3d\x61\xf2\xaa\x83\xd6\x42\xe8\x24\x86\xe7\x30\x52\x13\x2e\x70\x4e\x38\x4a\x83\xbd\x35\xdd\x0a\x05\x90\x35\xf0\x34\xe1\x49\x2e\x2a\xac\x45\x39\x2d\x12\xe3\x19\x08\x7a\x62\xa1\xe6\x20\x36\xc9\xbb\x13\x07\xb3\x6c\x5d\x59\x51\x24\x37\x69\xf9\x15\x3d\x6a\xca\x85\x15\xf8\x0c\x9b\xc9\xc9\x75\xae\x1e\x3f\x04\xcd\x9e\x27\x38\xb4\x4a\x43\xd3\xe2\x16\x6d\x3c\x38\xe5\x5d\x9f\x78\xfa\x2a\x3f\x17\x0d\x3c\xef\x15\xb5\x09\x86\x7e\x3d\x92\x97\xcb\x36\xf1\xeb\xdc\xaa\xf4\x5d\x58\x76\x9e\xb9\xfe\x9f\x9d\x59\x30\x05\xbe\xd2\x5c\xfc\x9c\x93\x26\xc7\x99\xd1\xf2\xf2\x6f\xac\x92\xbd\x09\x8d\xc9\xe3\x0f\xad\x0f\x4f\x31\x5b\x1b\xc2\xd6\x95\x25\x8d\xd2\x62\xc0\x78\x3b\xcb\x8e\xc5\x1f\xdb\x82\x95\x62\x4d\x5f\xd5\x91\xee\x46\xe8\xaa\x8c\x81\x2a\x96\x3d\x40\xb6\x20\xac\x4f\xcf\x06\xa9\x27\x7a\xbd\xc0\x4a\xc3\xc6\x5f\x8b\x42\xbc\xa0\xca\xd4\x6d\x3b\x31\x45\x52\x72\x91\x2d\x40\x5c\x82\xd6\x92\xe1\x1d\xb0\xb8\xc8\x31\x8b\x48\xd4\x14\x38\x70\x8f\x51\xa1\x7b\xae\xc2\x58\x27\x30\x1d\x99\x8e\x27\x5c\x93\xb3\x6f\x4b\x6d\x18\x41\x93\x22\xad\x76\x37\x8a\x05\xe8\x98\xc6\xa4\x9f\x47\x11\xb6\xff\xbc\x4d\xc0\x88\xf5\x01\x85\x29\x1d\x7c\xd6\x42\xfd\xcf\xe7\x81\x2b\xff\xac\x9d\x4f\x9f\x47\xe9\x86\xec\xd5\xfe\xfb\x7a\xe3\xe8\xaf\x8b\x73\x05\xa1\xfa\xa5\xfe\xcd\x13\x6d\xc4\xeb\xf5\x53\x88\x6e\x8e\xc9\x6e\xbe\xba\xe1\x3a\xe5\x34\x6f\x2e\xbb\x39\x86\x53\xd9\x9b\xee\x61\x71\xed\xc8\x82\x87\x97\x88\x32\x3c\xb8\x65\x9c\x19\x16\xee\x35\x50\xaf\x88\xe9\x23\x20\x19\x51\x31\x66\xf7\xf2\xc0\x32\x07\xb9\xd6\x34\x03\x70\x34\xf3\x98\x99\x48\x8a\x00\x24\x13\xb9\x72\x71\x3b\x3e\x64\x69\x32\x3b\x50\x7d\x25\x82\xa3\x6b\x9e\xe0\x5a\xa7\xc9\x64\xb6\x75\x74\x7a\x85\x75\x4f\xe5\xc7\x50\xdb\x28\xa5\x15\x1c\xa7\xb8\xe7\x2e\x17\x3a\x96\x7c\x60\x2b\xf8\x7e\xa0\x35\xc9\xe0\xd5\xee\x6c\xf2\x9d\x9e\x0b\x44\x33\xa1\x8d\x8d\x89\xfc\xbb\xd9\xe7\xe1\x3c\xbd\x8f\xed\x36\x49\x6e\x63\x88\xb3\xea\x4a\x6e\xcd\x47\xff\x78\xd6\xbc\x41\x92\xe2\xa0\x04\x37\x5c\xef\x1d\x74\x6f\x63\x89\x3e\x26\x3d\xe5\xac\x40\x32\x51\x73\xe3\xe5\xac\x25\x62\x04\x3e\x0d\x83\x37\x30\x2b\x05\xc6\x9e\x60\x92\xa7\x36\xbf\xa0\x2f\x84\x6e\x7a\x64\x33\x1d\x4d\x29\x23\xb5\x91\x0b\x58\x30\x15\x5e\x00\xfb\xd7\x30\xd8\xe0\x41\x1a\x23\xba\x8d\x74\xca\x02\xcd\x5a\x39\xa1\xae\xe1\x3f\xe0\x80\xd9\xd6\x87\xf4\xb5\x2e\x0d\x75\x75\x80\x6e\xaf\x8d\xaa\x1a\xfa\xce\x55\x8a\xab\xba\x01\xe4\xa4\x46\x91\xff\xbc\x16\xb2\xb6\xf3\x3c\x58\x5a\x82\x45\xf4\xf8\x3d\x88\x49\x1b\xd0\x05\x26\x49\x72\x5b\x4c\x41\x90\x9e\x0c\xad\x67\x76\xad\x36\xe9\xf3\x4c\x8c\x42\x39\x24\x82\x5a\x7c\xee\x7b\x21\x71\xe0\x49\x04\x32\xe4\xa7\x91\x94\x4e\xeb\x28\x69\x59\xf3\x89\xe6\xc8\x85\x61\xb6\xaa\x9e\x3e\x82\x4c\xa1\x72\x5f\xba\x43\x86\x26\x5e\xc2\x9e\xf7\x17\xcf\xe6\xce\x63\xbb\x30\xe7\x5e\xdd\xdc\x38\x10\xb4\x70\x6e\x98\x98\xc7\xf9\xde\xe4\x8f\x6a\x5b\xae\xe4\x4e\x6f\xb7\x76\xd5\x90\x9c\x7e\x53\x33\x35\xb3\x10\x42\xe2\xd8\x09\xcf\xc5\xf4\xfa\x10\x3b\xd5\x40\x63\x04\xbc\x0a\x2d\x8c\xaa\xe6\xcb\x96\x7a\x71\x34\x36\x83\xa5\xe1\x15\x66\x62\xa6\x93\xb9\x20\x73\x3c\x84\x49\xe1\x90\xc1\x6f\x92\x6f\x78\x11\x4d\x6f\x7a\xbf\x8e\x50\xde\x4e\x73\xee\x9d\x57\xc9\x2a\x59\x51\xd4\x44\xc5\xa3\x8a\x86\xc2\x03\xdd\x67\xa0\x9e\xef\xfc\xe3\x5c\xba\x37\x76\x8a\x58\xe3\x1a\xac\xd8\xbd\x0a\xd1\x63\xa7\xb0\xbb\xa7\x52\x76\x60\x8e\x57\xbf\xbe\x38\x91\x73\x63\xc8\xed\x82\x85\x5d\x3b\x33\xc1\xbc\x2e\xe3\x21\x92\x35\x83\xfb\xdb\xd5\x7a\x8d\x5b\x16\xa8\x6a\x92\x64\x6e\xd5\x8c\xaa\x0c\x1b\xc2\xc4\x30\xb2\x36\x79\x4b\xa3\x15\x3c\x91\x83\xc4\x56\x5c\x65\x20\x34\xce\xf0\x1c\x0f\xeb\xe5\xab\xd6\x3f\xc8\x99\xff\x53\x6f\xcf\xe0\xf6\x38\x56\x37\x41\xaa\x61\x1c\xc6\xac\x41\xf7\xe3\xa1\xb2\xd6\xd8\x4d\xb0\x7b\xa3\x2e\x4f\x7e\x9d\xda\x97\x07\x3a\x46\x49\xd3\x20\x4a\x75\x87\xbf\xc1\xa5\x05\x3d\x68\xc5\x9f\xf4\x03\x2d\x71\xd0\xc8\x1c\x82\xcb\xe6\x67\x20\xb8\x0a\x35\xf7\x66\x33\x65\xa5\x05\x31\x88\xf0\x4d\xbe\x43\x16\x5e\x4a\xe7\x4c\x99\xcd\x2e\x8d\x5b\xeb\x1e\x6d\x07\x36\x61\xcf\xb3\x09\xb2\x3c\xbd\xc4\x2a\x31\x10\x25\x96\xec\xc9\xbb\x50\x3a\x50\xb9\x6a\x45\xd3\x7c\x88\x12\x46\x7e\xca\x3d\x78\x58\x27\x56\x6d\x48\x11\x32\x71\x87\x60\x6c\x77\x89\x5c\x44\x3a\x64\x76\x51\x40\xac\x8a\x2c\xdc\xa0\xee\x06\x84\x32\xcc\x14\x8f\x95\xcd\xa9\xf2\xcf\x06\x19\x33\x87\x65\xca\x26\xb1\x28\x6a\x10\xee\x46\xb1\xb1\x7e\x5d\xa2\x29\xce\x59\x4e\xdc\x98\x3a\x33\x16\x66\x7b\xa3\x57\x4e\xb1\x8d\xa5\x8b\x13\x58\x99\x7a\x07\x04\x88\x13\xd3\xa0\x44\xb7\x3e\x87\xed\x5c\x35\x4a\xae\x23\x08\xb1\xa1\x82\x10\x44\x65\x38\x4e\x2f\xae\xf1\xaf\x2d\x14\xde\x69\x45\xba\x69\x70\x73\xc4\x42\xe2\x05\x61\x17\x90\xf4\x75\x4c\x1c\xcb\x5a\x9c\x4f\x31\xc4\xba\xd6\x5c\x1a\xff\x56\x01\x05\xa4\x55\x9d\x3d\xb6\x36\x9f\x3b\x5b\x64\x9d\xb3\xff\xbd\xca\x18\xb5\x9d\x9d\x6c\x5e\x30\xf9\x66\xc0\xa2\xd0\x70\x5c\x7e\x6e\xb9\x08\x78\xa3\x92\x01\x79\x9b\x1f\x91\x45\x33\x54\x24\xcb\x68\xed\xbb\xb7\xd2\x57\xad\xc5\xfe\xca\xa3\x72\x35\xc8\x2e\x74\x80\xc6\xf0\x82\x5a\x12\x63\x09\x3c\xc6\xa0\x50\x99\x91\x33\x68\xa9\xd0\x42\x39\x15\xe7\xfa\x41\x60\xf9\xe2\x59\x96\x47\x9b\x36\xf3\x30\xcd\x98\xc1\xef\x69\x14\xe8\x44\xd8\xa1\x58\x3a\x84\x62\xd4\x15\xb5\xa0\x26\x60\x45\xfe\x3e\x3f\x60\xd5\xa2\x46\x25\xb4\xd5\xb1\xec\x09\xd0\xb9\xd3\xe1\x4c\x1a\x79\x83\x61\xe9\x98\x6d\xfe\x00\x12\x48\x74\x01\x0b\x71\x18\x44\x36\xbd\xb7\x74\x39\xae\x4d\x64\xc4\x69\x18\x97\xdc\xf2\x5d\x17\xbc\xec\x67\x8d\xd8\xbb\x98\xff\x0a\x72\x83\x5f\x83\x6a\x8c\xb3\x68\x51\x5f\xe4\x93\x71\x54\xd6\x76\x95\x1d\xe9\xe6\xce\x64\x7d\x95\xb2\xab\xe7\x95\xb9\x1a\xbe\x28\x80\x9a\x0a\x87\xa7\x5b\x4f\x43\x78\x67\x94\x3d\x49\x06\x93\x13\x32\xda\x26\x0d\x63\x23\x8c\x0e\xdb\x52\xf0\xa0\xf9\x28\x42\x59\xe4\x16\x2d\x94\xb3\xff\x71\x45\xd6\x03\x52\xe1\x3b\xc4\x7d\x0f\xea\x5b\xd1\x18\x6c\xa8\xdf\x18\xed\xb9\xe2\x21\x91\x6e\x37\x6f\xec\x0b\x8b\xa6\xad\xc8\xf1\x76\x16\x3f\xb3\xb2\xbd\xd7\x12\x96\x4e\xb5\x97\x4f\x14\xd8\x27\x8a\x97\x96\x8a\x42\x21\xc6\x04\x6e\xcb\x49\x47\xee\xac\x90\x73\x76\x04\x01\xc5\x81\x6e\x0c\xda\x67\x0c\x12\x8b\xc1\x7d\x43\x28\xac\x63\xdc\x15\x5a\xb1\x53\x1b\x5a\xbe\xbf\x09\xf5\xb0\x43\x01\xf4\xb0\x6a\x1f\xda\x43\x2c\x5f\x63\x22\xec\xe5\x6c\x21\x7d\x54\x77\xaa\xab\x27\xec\x74\xc2\x4e\x58\xd0\xc1\xad\x27\xe1\x03\x18\x63\x96\x6c\xb1\xaa\x60\x74\x81\x62\x62\x63\x74\x83\xcb\x62\xba\x2d\xea\x38\x5b\xc8\x16\x5a\x93\x78\x44\x76\xb8\x11\xc4\xd6\x0f\x49\x52\x0a\xad\x2d\x22\x6c\xef\x3f\xa0\xc2\x56\xd0\xc9\x86\x3a\x1a\x5e\xa8\x31\x6a\xaf\x93\xf6\x1d\xc8\x0e\x6d\x9a\x87\xb2\x06\x13\xc2\x54\xdf\x75\x8d\x55\x36\x57\x25\x98\x21\x5b\x1c\x6c\xee\x6e\x66\xb6\x34\x9d\x5e\x08\x83\xf1\x9d\x00\x92\x95\x6d\xba\x2b\x01\x49\x90\x57\x2e\x10\x3a\x26\xa7\x49\xec\xd2\xf9\x74\x47\x42\xe7\x41\xf0\x0c\x51\x29\x33\x2c\x43\xa9\x89\x9c\xc6\x1f\x14\x73\x3e\x6b\x36\xc1\xfc\x84\xe6\x44\x07\xc9\x7d\x5a\x16\xe3\x84\xe3\x86\xd0\xae\xa6\x87\xe8\x9a\xad\x8d\x4a\xc1\xec\xe6\x0c\x89\xb1\x60\xcf\xa5\xac\xd3\x0c\x0a\x09\xa7\x12\xd4\xa6\xb3\xf0\x41\x93\x5d\x12\x64\xe1\x4f\xe6\x01\x57\x18\xeb\xf9\x28\xd0\x0d\xb6\x7d\xaf\x67\xb2\x8c\xab\xe0\x39\x76\x53\x9f\x88\x38\xdc\x8d\xd6\x64\x71\x65\xbd\x72\xb9\xe7\x62\x17\x31\xa5\xd0\xe8\xbb\x71\x10\x1a\x6b\xa2\x2b\x73\x5b\x3e\x50\xe5\x67\xe4\xe9\xe8\xd0\xc8\x41\xe5\x63\x89\xa5\xc6\xb0\x42\x43\x15\x57\x23\xa1\x38\xaa\x22\x6a\x61\x53\xf2\x50\x6a\x47\x06\x13\xea\x22\xd8\xa5\xd0\x99\x9d\xc8\x3f\xda\xcf\x6d\x57\xac\xda\xd5\xb0\x96\x42\xa4\x70\x1e\xda\x8a\x4e\x15\xd0\x29\x28\x3c\xe0\x68\x91\x37\x87\x26\xbc\xba\x12\x48\xa8\x71\x5d\x09\x42\x2f\xa8\xdd\xe9\x50\x85\x9a\x44\x95\x44\x5b\xd4\x37\x4e\x3e\x73\xeb\x79\x88\x31\x90\xdf\xe4\xb1\xbe\x69\xb5\xf8\xda\x81\xb7\xb3\x61\xd0\x05\xbc\xd6\x89\x70\xfc\x60\x2e\x24\xee\xae\x2d\xc3\xee\x73\x0c\xf3\xe3\x16\xf7\x9e\xa5\x1c\xbd\xe8\xe2\x16\xdf\x84\xa1\x19\xc7\x1f\xb0\xfe\x64\x86\x49\x42\xfd\x9f\xf6\x1d\x88\xaa\x4a\x92\x65\xd3\xbe\x4e\xc4\x20\x96\x15\xc7\xa8\xc4\x5d\xf8\x7d\x1f\xee\x3d\xb2\x35\x7b\x92\x34\x63\x67\xb4\x56\x57\xa0\x6c\xf1\x15\xa1\x0d\x98\xb1\xea\xe7\xe3\x05\x9f\x88\xea\xbc\x61\xec\xf2\x1a\xe0\x80\x08\xdf\x50\x18\x78\xe7\x20\xae\x6c\x0c\xbe\xfe\xb2\x2c\x44\xe6\x01\x65\x89\x1f\x62\xf1\x18\x91\xf1\xa5\x22\xf7\x91\x0f\x36\x92\x7e\x65\x37\x3b\xd1\x4d\x8b\x32\xe1\x3a\xdc\x4b\x82\x13\xea\x5b\xdb\xbc\xa8\x9d\x9a\xdb\x3f\x6b\x6b\x17\x49\x66\xd7\xae\xf9\x13\xcb\xe7\xf3\x68\x48\x22\x6a\x1c\xa6\x10\xa8\xd0\x18\xf1\x92\xb3\xb7\x06\x64\x6a\x11\x6d\xc0\x45\xed\x9b\xa3\xac\x2e\x39\x75\xce\xaf\xf0\x71\x72\xa2\x62\x9d\xda\xf9\x91\x84\x2f\xb9\xd5\x7a\xe6\x56\xd1\x54\x82\x8b\x67\xf9\x48\xe1\xf1\x79\x07\xc0\xa3\x11\x45\x3d\x90\xd2\xfd\x23\x8b\x50\xc7\x45\x81\xa5\x57\xb7\x7d\x25\x2c\xb5\xd9\x11\x57\xf0\x45\x64\xc4\xbf\xda\xbc\xd8\x20\x99\xc2\x76\x15\x15\x85\x7a\x7c\xc5\xde\x98\xbf\xb4\xef\xaa\x4c\x71\x43\x79\x10\xe8\x3b\x22\xd7\x99\x43\x3d\x42\x2c\x94\xfe\xc7\x32\xbe\xe4\x42\xbe\x86\x5b\xea\xbc\xac\xb3\xad\x98\xab\x61\x86\x01\x66\x0f\x37\x6b\x7c\x6a\xb6\x0f\xe9\x31\x04\x4f\x81\x8b\x9d\x1b\x14\xe8\xcf\xcd\x08\x54\x5b\x6d\xda\x92\xd3\x8a\xc4\x35\x1c\x1e\x9a\xb6\x5f\xe8\x79\xc6\xc5\x8f\xa5\xab\xb3\xea\x0e\xfc\xa4\x54\xe5\x9b\x23\xa8\xbd\x83\xb9\xbd\xca\xb9\x61\x4c\xea\x4c\x1d\xde\x43\xef\x52\x85\x8f\x20\x76\xf6\xa9\x83\xe2\x00\xec\x61\x83\x1f\x4b\x88\x07\xf9\xf0\x99\x63\x17\x0a\xaf\x29\x7d\x96\x13\x91\x77\x6c\x14\x15\x7a\xc2\x0a\xb8\xbe\x7e\xbd\x2a\x0b\xf9\xd7\x91\xa3\x1d\x32\xdb\xe4\xa3\x3a\xa1\x2a\x7e\xe8\xda\xc8\x69\x48\xdb\xd0\x4e\x3f\x38\x8f\xfa\xd4\xa1\x97\xd1\x9f\xaa\x01\x00\xed\xb5\xf8\xb6\x6a\x2c\x6e\x29\xf0\x20\x99\xae\x03\xda\x0a\x78\x10\xbb\xca\xe6\x84\xee\x34\xbd\x32\xe3\xb7\xde\x48\x55\xe6\xe9\xac\x19\x4b\x08\x79\x8c\x48\x23\x2f\x3e\x2f\x57\x82\x74\xc1\x6f\xc1\x34\xb0\x07\x18\x47\x71\x17\x4e\xb3\xb8\xd4\x46\x9f\xbc\x7c\xf7\x25\xcb\xa0\x3a\x0e\xa8\x42\x84\x8e\xd4\xa8\xfd\x7b\x66\xf4\x69\x01\x11\xf8\x06\xd4\xaa\x5e\x03\x8b\x47\xcf\x04\x12\x5c\x29\xa7\x5d\xe8\xb2\xe5\x37\x61\x2b\x21\x1d\x4f\x5b\x55\x8c\x0d\x3f\xd4\x02\x24\xfe\x29\x57\x10\xf5\x49\xd7\x8a\xcb\xb0\x51\x62\xd6\x32\xdc\xe0\xca\x20\xc8\xa6\x74\x66\x4f\x2a\x94\x9e\xff\x3c\xbe\xf9\xb3\x5d\x38\xb8\x74\xc1\xf6\x4b\x68\x33\xf6\x9a\xd0\xe8\x63\x1b\x61\xd4\x21\x43\xf7\x22\x08\x2d\xaa\xb5\x1a\x1a\x34\x45\x7e\x46\x9b\x84\xf3\xc2\xbb\x72\xbf\xab\x19\xb0\x97\xd6\x95\xfb\x2c\xcd\x7a\x4f\x3c\xed\xbf\x75\x06\xbe\x15\xa8\x5f\x2b\x0c\x94\x84\x69\x6b\xed\x33\xda\xb5\xd8\xeb\x47\xdc\xa5\x93\xee\xe4\xc9\xfb\xc8\x1d\x21\x61\x9b\xe1\x5f\x08\x3b\x81\x12\x1d\xa4\x06\x4e\xc8\x21\xff\x72\x2a\xe4\x21\xc8\x24\x58\x5c\x7a\xe8\x42\x6e\x46\x98\x51\x2b\x8c\x05\xbc\x1e\x88\xd2\xe9\x3c\x9f\xbe\xbe\x7a\x44\xc0\x64\x0b\xf4\x2f\xd0\x8a\x0b\x2d\x41\x1e\x61\xb1\xb7\x8f\xb6\x2e\xff\x72\xa6\x3f\xfb\x8e\xb6\x45\xc8\xd7\xb9\xb6\x3f\x80\x0d\xd3\x22\x87\xa7\x41\x31\x53\xb0\x78\x4a\xe2\x4d\x1b\x34\x62\xfc\xaa\x18\x61\x02\x3c\x6b\x5c\x03\xa4\x93\xd6\xaf\xd0\xaa\x32\x72\x75\xac\xf5\x14\xcf\x06\xc4\x40\x60\x95\x28\x66\x5c\x96\x85\x47\x03\xd6\x41\xba\x5a\xbd\x7f\x1c\x34\x19\x7b\x5e\x8e\x0d\x6a\x03\xfd\x33\xeb\x91\x06\x9e\x54\x0f\xd8\xfa\x62\x69\x81\x03\x46\x0f\xa6\x98\xb1\xf5\x76\x4d\x60\xcc\xe9\x34\x74\x38\x9f\x4a\x81\xee\x1c\xa0\x88\xa5\x4e\x60\xbf\xa7\xc6\xb7\xa1\xeb\xf6\x43\x55\x46\xf9\x71\x3d\xd6\x30\xa6\xd5\x34\x0c\xba\x31\x7b\xa7\x69\x3e\x90\x46\x51\xaa\xa1\x13\xca\x51\xae\xce\x54\x1b\xe2\xc8\x21\x28\x61\x63\xb5\xa7\x02\xff\xe7\x66\xde\x0f\x0d\x46\xe4\x63\xb6\x09\x32\xde\x24\x38\xe4\x36\x2c\x48\xa0\xe5\x77\x81\x1c\x50\xd7\x6c\xb4\x84\x21\xe9\xbd\x7a\x2c\x74\xf1\x63\xa9\xa9\x1c\xe7\xd1\x41\xcc\x26\x78\x78\x06\xf6\x92\x4a\x5a\xf9\xc1\x1b\x98\x28\xf3\x4f\x31\x7b\x95\xc1\x19\x9c\x63\x02\x48\x59\xc5\xba\x3f\xc0\xd3\x8b\x4a\x78\xe8\x2e\x93\x2b\x06\x5b\x41\x9e\xd2\x65\x99\xcb\x3f\x8f\x8c\xfa\x5c\x10\x8b\x00\x31\x00\x25\xb0\xb0\x60\x4e\x2d\x62\x0b\xfc\xaf\x82\x67\x7c\x5d\x8f\xd5\x4f\x0e\xd0\x7c\x6b\x1b\x69\x10\x99\xc2\x29\x6b\x31\x23\x29\x63\x4d\x26\xd7\x11\x6f\xef\xfb\x93\xeb\x0f\x6b\xc0\x9d\x09\x42\x69\x0c\x3b\xb0\x08\x3e\xa7\x7f\x8e\x2a\xfc\xb7\x74\xa6\x58\x93\xb5\x33\x81\x4b\xa4\x3d\x71\x30\x45\x3f\xf7\x2b\xbe\xcf\x20\xaa\x23\xb9\x52\x33\x18\x73\x79\x43\x7e\x5b\x87\xea\xeb\xd4\xdd\x11\x87\xdf\x9d\x3f\x21\xa4\x2a\x38\x6b\x33\x7a\x37\x5b\xa9\x64\x6f\xab\xfe\xbe\xc5\xd8\xd2\xdd\x86\xf5\xc5\x9d\xaf\x74\x40\xf5\xea\x1e\xcf\xb7\x1a\x4f\xa6\xca\x3c\x51\xc0\xcc\xb8\xdd\x73\x4f\xa8\x27\x49\x34\x95\xb8\xcc\xfc\x70\x7e\x67\x4d\xaf\x50\x15\x8f\xa2\x77\x23\xc2\xc9\x8b\x2d\x5e\xa6\x1d\x1b\x3d\xd7\x2b\xc1\x8c\x56\x19\xfc\x0b\xdc\xcf\xda\x3e\x3c\xed\x29\xab\x48\x0c\x74\x37\xa9\xd4\x89\x7a\x57\x3f\x22\x53\xa5\x16\x0d\xae\xbf\xf4\xdb\xe6\x6e\xbf\xc0\x6d\xba\x47\x23\xf0\x0d\x42\x37\xc1\x3e\x2d\x9f\x9a\xdb\xc7\x07\x94\xf9\xe2\xc4\xfc\x8a\x89\xf0\xb2\x7c\x99\x3d\x9b\x80\x88\x42\x1c\x92\xb0\x51\x92\x2a\xb6\x93\xf5\xe5\x9a\x9b\xa7\x0c\xad\xe1\xd0\x2e\xa7\x59\xf4\xef\x13\x32\x0c\x94\x47\x91\x7a\x91\x56\xea\x4e\xb0\x13\x58\x3f\x67\xe4\xa6\x24\x36\x47\x26\x72\x08\xda\xed\x64\x75\x15\x58\x01\x2f\x19\x29\xd2\x7e\x65\xa4\x11\x94\xca\x63\x42\x91\xae\xee\x39\xf4\x5c\x68\xfb\xea\x1a\xe3\x53\xcd\xd4\xac\x6f\xd5\xe5\x75\xc8\x33\xaa\xa0\x20\x03\x6f\xe9\xa0\x42\x0c\x99\x79\x48\x1f\x0b\x24\xa3\xc8\x01\x85\x4a\xca\x6f\xb9\x4f\x31\x5a\x47\xbc\xa1\xb0\x35\x24\x05\x9d\x68\xc9\x75\x7f\x75\x7e\x15\x31\xe9\x9e\x7f\x29\x19\xb8\xe2\xee\x96\x86\xf7\xe6\x66\xd8\x86\x86\x75\x1a\xc4\x70\x0a\x75\xff\x18\x3b\xd4\x9f\x28\x48\x8e\x63\x56\x55\x8f\x32\x58\x93\xa9\xc1\xf8\x78\xa3\xb0\x83\xa9\x2a\x59\xee\xb8\x15\x88\xa8\x93\x56\x13\xca\x53\x88\x78\xa7\x45\xbd\x84\x04\x74\x14\xa6\x9a\xf9\xa5\xf3\x05\x82\x0e\xe6\x92\xa5\x98\x5b\x6f\x0c\x42\x32\x09\xe7\xeb\x4e\x31\xca\xbe\x92\x28\x9b\x6f\xd1\x2b\x64\x00\x33\x44\x74\x87\x78\x0e\x19\xb8\xcf\xc1\xe1\x16\x13\x98\xa5\x24\x7d\x21\x16\x5f\x6d\x63\x92\xc3\xb0\x26\xc9\x8a\xb1\x2b\x20\xd8\xfa\x82\x5d\x44\x8f\x28\x56\x4b\xa6\xfa\xef\xcf\x2a\x9f\xfe\xb1\xb4\x41\xc4\x9b\xcf\x4f\x95\xf1\x38\xfa\x53\xb3\xa3\x76\x74\x6d\x7b\x49\xd4\x32\x8e\x56\xa4\xf0\x1d\xe6\xde\x2e\x51\x13\xa5\x44\x86\x6d\xce\xee\x7d\xeb\x3a\x8d\xba\xab\x53\x44\x1e\x47\xd0\xe2\x7d\xbe\x38\x99\x0d\x66\xb1\x9d\x4c\x48\xb1\xa5\x93\xfb\x17\x4f\xd4\xd0\x75\x44\xbb\x7a\xdb\x7c\x6b\x65\x4a\xe0\x7d\xd1\xce\x4a\x91\x4e\x4d\xe4\x70\xe4\xc9\x4a\x2e\x95\x29\xe4\xd7\xca\xaa\x70\xfe\x6d\x47\x51\x4c\x1f\xeb\xd9\x72\x5f\xea\x3c\x53\xb4\xe1\x40\xe7\x24\x0a\xc9\x57\xd2\x5b\x75\xee\x11\x1a\xdb\xdb\x40\xec\x2e\x57\x69\xe9\xe9\x5a\x97\xc4\x2f\xfd\xb7\x76\xeb\xd1\xcc\x33\xda\x5f\xea\xbb\xdd\xe2\x9b\xf8\xd6\xfd\x93\xc7\x8c\xb6\x52\x7e\x93\x22\x87\xfc\xc6\x42\x11\xbf\x45\xfb\xa6\x97\xfa\xe5\xaf\xc9\xc1\x2b\xc9\xa2\xc0\xa4\xb3\xfe\x6d\xd7\x14\x00\xeb\xfc\xb7\x1d\x56\x89\xdf\x1c\xa1\xad\xc1\x71\xeb\x24\x0e\x8e\xae\x98\x20\x01\xfc\xb0\x94\xda\x5b\x7e\x06\x07\xf7\x48\x2b\x15\xaf\x17\xe2\xd8\x4a\x0d\x07\xcd\xa9\x57\x49\xa4\x63\x1e\x9e\xd1\xd1\x9b\xa6\x4a\x21\xd2\xa0\x07\x75\x32\xab\x39\xd3\x26\x92\x48\xfa\x79\x58\x37\xeb\xb0\x4a\xca\xba\xcc\xe9\xa3\x6f\xbf\x56\x0b\x31\x64\xfb\x45\x38\x57\xa5\xb7\xbc\x51\xfd\xaa\x22\x58\x7e\xcb\x5d\x75\xb3\x91\x8a\x8a\x14\x1a\xd1\x19\x35\x27\xdc\x35\xb0\x90\x7a\x12\x05\x72\x9c\x3f\x0f\xec\xf0\xfd\xa1\xba\x9a\xef\xe4\x6a\x1e\x6e\xac\x15\xa7\x82\xda\x8a\xdb\xc7\x20\x98\x05\x4a\x6d\xf4\xad\x8b\x05\x75\xcb\xc8\x12\x18\x39\x55\x58\xd8\x87\xec\xf9\x6f\x6f\x20\xe9\x55\xd7\x3f\xd1\xd4\xdb\x4c\xed\x0e\xd3\xbc\xcd\xea\xb1\x0f\xed\x25\x57\xab\xf3\x62\x38\x83\x4b\x4a\x23\xb8\x36\xae\x73\xc8\xad\x34\x43\xc9\x65\x74\xf0\x19\xda\xda\x00\x25\x60\x66\xb2\x9b\xa6\x93\xf7\xf3\xea\x26\x37\x11\x48\xc0\xf6\xa1\xf8\x34\x2a\x88\xaa\xfd\x90\x91\x91\xdb\x7a\x84\x49\x37\x6c\x8e\xd3\x52\x1f\xa7\x85\x79\x60\x04\x6c\x97\xb8\xd9\xa7\x08\xd8\xf9\xde\x75\x8e\x5e\x4a\x58\xa8\x7e\xa1\x80\x09\x60\xac\xac\xae\xa8\xac\xed\x90\x7a\x35\x05\xbc\xd8\xb9\xee\x47\x1e\xff\x9e\x82\x26\x3e\xf3\xfd\x2d\x0c\xa9\x18\xd9\xb3\x75\x6e\xfc\xfe\x3c\x0b\x03\x93\x18\x00\x94\xa0\xfb\xe9\x05\xdb\xc8\x2d\x96\xc7\xeb\x41\xd8\x54\x80\x41\x08\x84\x83\x49\xc3\x76\xb3\x0a\x5d\x23\x01\x2a\xea\xf4\x16\x76\xc8\x46\xe3\xda\x53\xc8\x28\x04\x64\xfd\x5b\xa0\x10\x98\x5c\xf8\x14\x8e\x81\x02\x57\xa5\x57\x99\x96\x0f\x95\x78\x67\x15\xea\x62\xb7\x9a\x61\x78\xa8\x70\xdd\x59\xc6\xf7\xca\x0d\xab\xe9\xed\xa4\x6c\x13\x02\x0d\xf9\x09\x6f\x15\xc8\x6e\xfd\x7d\x03\xac\xeb\xaa\x5e\x40\x7e\x1c\xce\xce\x0e\x49\x0d\x63\xd7\x52\xb5\x00\x1b\x0b\x90\x3e\x83\x16\x60\x21\x7d\xbe\x2e\xf4\xda\xf5\x03\x94\xa8\x91\x05\x98\x8d\xbd\x51\x7a\x32\x27\x15\x2e\xa4\x82\xcd\xdb\x39\x45\xbe\xd6\xcc\x84\xb2\xd3\x39\x87\x4e\x10\x5b\x37\x9e\x08\x80\x73\xf4\x98\x3f\x29\xcf\x3b\x8c\x49\x4c\xc3\x56\xb0\x82\x8e\x20\x2c\xd2\x57\x76\x18\xa7\xb3\x6c\x22\xee\xda\xa6\xfd\xbe\x48\xbb\x7a\x51\x20\x3d\xcb\x7f\xad\x9e\xd4\xe1\x69\x76\xbe\xce\x45\xea\x26\x77\x6e\xba\x2e\x0a\xbb\x92\xee\xde\xb7\x1f\x2d\x2a\x06\x68\xde\xc8\x6d\xb4\x44\xc7\xb8\x95\xaf\x4c\x78\xc5\xcb\xd0\x3b\x66\x19\xeb\xea\xf7\xd9\x09\xc3\xe0\x51\x1d\xa0\x37\x65\x68\x4e\x10\xf7\xd1\x53\x79\xa4\x3a\xa6\xfc\x0e\x8d\x3c\x71\x79\x5c\x34\xcb\xab\x28\x14\x71\x70\x6b\xbe\x7f\xfb\x4a\x4e\xd7\xc7\x90\x74\xf4\xfa\x21\x0a\x26\x3d\x55\x73\xa2\x99\x5f\xf9\xe2\x0f\x53\xcd\xda\x1b\x05\xa9\xcf\xa3\xd2\x9d\x8f\x05\x14\xab\xa1\x41\xa5\x3e\x05\x1f\xb1\x69\x48\xa5\x0b\x5d\x76\xf9\xb5\x1a\x1e\x38\xc9\x7c\x20\x3b\x71\xf2\x7b\x9a\x6d\x3b\x88\x17\xa0\x29\x5c\x0e\x30\x7a\x98\x82\xde\xb0\xda\x80\xf6\xa2\xe7\xb8\x8c\x2b\x53\x2e\x4e\xf9\x42\x55\x7b\xa8\x47\xe7\xb4\x44\x7e\xe3\xaf\x58\x0b\x0d\x13\x38\x07\x18\x3a\x42\xff\x7d\x2f\x06\x36\xb1\xd2\xf6\xea\x3d\xc9\x95\x3b\xfa\x24\xad\x2f\x1f\x4c\xc1\xce\x74\x05\xd6\xd0\xcb\xfd\x52\x18\xcb\xf0\x65\xef\x24\x7d\xda\xad\x87\x60\x3e\xb5\x6e\xd4\x31\x14\x49\x57\x5c\x95\xe9\x37\x3b\xe1\x92\x15\x12\x5f\x07\xdc\xdf\xea\x0b\x26\x90\xcf\x55\x3a\x00\x19\x4b\xf4\xba\x25\xb0\xad\xaa\x32\x56\x77\x74\x38\x7b\xc3\x73\x68\x87\x81\x22\xf0\x01\x8e\xe4\xa2\xcd\xe1\x42\x48\xdc\x8d\x76\xe8\x3b\x06\x06\x6c\x87\x77\x06\x83\x23\xc7\xd6\x2c\xb2\xd3\x59\x86\xb4\x0e\xac\x72\x58\x02\x66\xe3\x23\x8e\xf2\x21\x07\xbc\xf6\x8a\xcc\x24\x92\x18\x86\x46\x35\xb2\x70\x82\x98\x1b\x8f\xd6\x6c\x7c\xec\xcc\x9a\x8b\x66\xda\xb6\x6b\xc8\xe9\x0a\xf8\xbd\xab\xf5\xab\x90\x89\x11\xa9\x86\x13\xe5\x35\xd2\x08\x52\x6e\x3d\x86\xfe\x0d\x91\x61\x92\xd1\xcb\x49\x81\x1a\xd8\x0c\xc7\xd5\x30\xe2\x43\x24\xc1\xd9\x4e\x77\xf3\xda\x15\x39\xa7\x23\x8a\x3a\x25\xed\xdf\x2f\x86\xc9\xec\x5f\xb6\x00\xcd\xec\xcd\x94\x0f\x37\x0d\x7d\x12\x05\x7c\x0a\x0f\x63\xce\x74\x8b\x8d\xfd\xa7\xac\x07\xa0\xe2\xcf\x83\x26\xd9\x5d\x1c\xca\xe0\xb6\x7f\x9a\x38\xbf\x2e\x21\x9e\xd4\x6e\xdc\x43\x70\xb1\x9f\x6e\x01\x23\x22\x34\xc0\x4a\x60\x2a\x67\x5e\x2f\x85\x55\xfc\x5d\x0d\xfd\x7b\xad\x6d\x6e\x9d\x55\x5c\x75\x1d\xca\xba\xbc\xb9\x0a\xbe\xf5\x08\xb1\x9f\x87\x87\x4b\x93\x36\x47\x0b\x5e\xad\x57\x19\xb9\x6e\x23\xc4\x46\xf8\x6f\xf1\xa3\x29\x0a\x67\x35\xf5\x6c\x2f\x16\xd2\x8f\x5f\x9e\x25\x40\x8d\xcb\x1b\x04\xdb\x0d\x20\x8f\x43\xbf\xd7\x04\x41\x41\xa2\x37\x34\x11\xd2\x2e\x38\x0d\x66\xb1\xa7\xa1\xd8\xc6\x45\x20\x81\x38\xf7\x5e\x95\x40\x11\xf8\x0b\x07\x38\x16\x91\x66\xe4\x4b\xac\xe8\xa3\x52\xec\x86\x8e\xa0\x49\x84\x69\x61\x4b\x3c\xca\x43\xae\x79\x82\x76\x6b\x86\xc1\x5b\x53\x9b\x2c\xab\x9c\x3c\xec\xd9\xd4\x24\xdd\xf1\x1c\xab\x8e\x3d\x39\x98\x6c\x90\x35\x81\x03\x34\x85\x0a\x48\x73\xd6\x40\x1f\x3b\xe5\x39\x5e\x2e\x9a\x1a\xa2\x98\x7d\x01\xea\x0d\x4c\x29\x2e\x68\x95\x7c\xa7\xbb\x8d\x8a\x21\x4c\xbb\x04\x04\xa3\x3e\x53\x35\xbd\xdd\x73\x93\x37\x15\x32\xe4\xed\x5e\x1c\x31\xbf\x99\x39\xeb\xcb\x66\x56\x7e\x2e\x0f\xc9\x61\x63\x84\x08\x63\x2a\x21\xbd\x09\xcd\x82\x97\x9e\x40\x1e\x8a\xf0\xef\x3e\x6f\xe9\xdd\x80\xe2\xc7\x46\x2f\x65\x68\xaf\xec\xfa\x14\x07\xa7\xb5\xe5\x2a\x1f\x7f\xdc\xc3\xda\xd5\x14\x48\x2d\xb3\xd2\x88\x01\x42\x4f\x9c\x91\xa4\x58\x51\xb0\xaa\x61\x12\xfa\x8c\x35\xf2\x9c\x3a\xc6\x5e\xc5\xe7\x2b\x9e\xa8\x4e\x2f\xa1\x31\x99\x33\x71\xb4\x01\x32\x7f\x80\x90\x0b\x0e\xb9\x10\xf9\x7b\x76\xf3\x54\x2d\x75\xdd\xf4\x8f\x5a\x78\x35\x98\xc8\x6d\x14\xdf\x95\xd5\xdd\x6a\x97\x3d\x4c\x4c\xa2\x02\x22\x73\x8e\xd7\x84\x91\x91\x3d\xba\xcf\x33\x77\xa8\x9c\x2e\x76\xe1\xa6\x78\x19\xcd\xf5\xeb\x04\xc9\xab\x85\x3f\x1b\x60\x07\x34\xdb\x1a\x46\xe3\x10\x08\xb4\x47\x50\x2f\xff\x6b\x22\x02\xf5\x99\xc5\xb8\x8d\x7e\x44\x8b\xae\xac\x50\x48\x8e\xb2\x33\xb4\xc2\x76\x8c\xcb\xf5\xc7\xa4\x6b\xdf\x31\x25\xd9\x27\x19\xf9\x5f\xb7\xed\xb1\x77\x82\x7a\x93\x92\xd0\xfd\xa1\x16\xe0\x25\x9c\x08\x8a\x34\xf9\xe7\x73\xe3\x2d\x67\xbe\x2d\xfe\x87\x61\x5d\x15\xc0\xbf\x8d\xa6\xb0\x77\xd4\x02\x7e\x1f\xcd\xcf\x7c\xad\x53\xaf\x8b\x20\xb5\x8f\xe1\x60\x84\x56\x41\x22\x4d\x04\xb6\xe5\x83\x71\x04\xf1\x47\x50\x00\x34\x4d\x29\xbe\xbd\xf6\x32\xad\x71\x92\x9d\x05\xaf\xd8\xb1\x06\xe6\xe3\x59\xec\xdb\x6c\x2b\x80\xba\x9f\x4e\x7d\x6a\xb7\x78\x92\xdc\x64\xa5\xb4\x17\xd0\xce\xa1\x00\x2b\x9c\x9e\x31\xcd\xe9\xdb\x23\x68\x78\x38\x38\x91\x04\x23\xa0\x94\x0d\x72\xe6\x93\x1a\x32\x95\x7c\xb2\x79\x55\x69\x63\x00\xb2\x4e\x5f\xbb\x12\xd7\x0c\x00\xe0\xce\x22\x68\x0e\x0b\x8e\x93\x2e\xca\xef\xed\xb4\x9a\xd4\x47\x18\xf4\x1d\xdb\x7d\x47\x64\xdb\x0c\x6b\x18\x6a\xc0\xfe\xfe\xe1\x9c\x47\x2c\x2e\x15\x06\x48\x10\xd5\xd1\xcb\xa1\xa8\x2a\xbb\x19\xbc\x22\x97\xcf\x24\x0c\x2b\x72\x87\xea\xa1\xc7\xe3\x29\xe7\x1c\x51\x6f\xd2\x06\x11\xe0\x40\xc1\xad\x55\xfb\x00\xd9\x00\x10\xc8\xfd\x39\xdb\xd0\x4c\x17\x3f\x4f\x7e\xba\xcb\xed\xcb\xe2\xff\xc1\x8e\x09\x0e\x75\x93\x57\x02\x94\x2d\xf1\xd0\x11\x90\xb8\xd9\x23\xfa\xa2\x95\xaf\x37\x81\x1e\x3a\x02\x4b\x8a\xc9\x61\x88\x4d\x41\x75\x99\x19\x83\x39\x40\x23\xd5\x0b\xd4\x76\x32\x59\x56\x40\x0c\x64\x7d\x3f\x53\x80\x29\x8a\x7f\xa9\xe8\xa8\xe2\x1e\x29\xd1\xe0\x1c\xa5\x55\x5e\x4e\xfb\x0e\xfc\x1f\xe7\x2d\x99\x1c\x25\x6f\xbc\x56\xd9\x45\x53\xd7\xae\xaa\xcb\x4a\xd3\x9b\xee\x1d\xe3\x6e\x3e\xc7\xcc\x26\x39\x54\xa6\x82\x79\x9f\x1b\x42\x5b\xa8\xc9\x83\xab\x10\xae\x5d\x43\x45\x21\xdb\x62\x50\xf9\x1d\x05\xbf\x0c\x3c\xfc\xda\x43\x78\x0a\x87\xf6\xc0\x02\x6a\xff\x11\xa8\xd1\x17\x07\x42\x2d\xc3\x1b\x5d\xa8\x83\xe2\x2a\xde\x81\x43\xfb\x23\xc2\x57\xa4\x72\xd0\xd0\x7c\x66\xff\x29\xed\xd5\xd8\x4c\xd5\x9a\x9a\x63\x99\x1e\x65\x3b\x14\x5f\xd6\x64\x2b\x60\x03\x95\x96\x17\x90\xcc\x74\x40\xe6\xea\x05\xe4\xd2\xfd\xd9\x0a\xfa\x42\xae\x08\xd0\x0a\x42\x3e\xcc\xe7\x5f\x8e\xab\xf8\x19\x5c\x1e\xb1\xb8\xc6\xb6\xd3\xa0\x17\xbb\x39\xcd\x18\x87\x03\x4a\x2e\x4e\x9c\x26\x58\xde\xe3\xcb\x7a\x77\x11\x7d\xac\xac\x04\x14\xed\x81\x51\xd6\x76\xae\x2f\x6f\xc4\x13\x22\xb8\xf3\x76\xbf\x9e\x8f\xb7\x57\xdf\xae\x6e\x98\x00\xc4\xa5\x94\xe2\x9c\x95\xdb\xe1\xe5\x97\x65\xc4\x73\xcc\x9c\xf6\xcb\x9f\x83\x63\x87\x33\x84\x70\xd6\xbe\x13\x3f\x69\xe1\xd9\xe5\x9d\xcd\x9b\xcb\xbb\x48\xa8\xea\xff\xbf\xf1\xde\xaf\x0a\xcc\x69\x89\x6c\x7b\xe6\x9a\x62\xd6\x18\x41\x99\xaf\x0d\x65\x97\x49\x95\x71\xf8\xec\xd9\x2d\xc6\x7f\xd1\x69\x2e\x6d\x48\xe9\x72\x0e\x9e\x91\x71\x09\xf8\xbd\x5e\x85\x0e\xbf\xa2\xf0\x8a\x0c\x14\x30\x0d\x36\xec\xa6\xc3\x96\x01\xc8\x12\x86\x99\x85\x8c\xce\x04\x08\xc5\xb8\xb2\x19\xcd\xbd\x32\x70\x1f\x56\x88\x24\x73\xed\xae\x00\x28\x30\x3c\x45\xd9\x44\xc0\x1b\xed\x6d\xd1\x76\xa2\xc6\x28\x59\xef\xae\x29\x2a\x64\x6f\xcc\xb5\xb9\xeb\xf2\x4d\x70\x1b\x10\x4c\xc0\x35\xea\xf5\xd3\x79\x4a\xd5\x2c\xca\x0d\x95\x1a\xa0\x2f\xa6\x89\xe4\xf0\x51\x05\xc7\xa9\x06\x90\x33\x41\xa1\x16\xac\xc7\x85\xa0\x52\xb6\xf6\xa2\x95\x6e\xb7\x48\x2d\x82\x92\x5b\x19\xad\x6d\x1e\xc5\xf3\x93\x02\xf0\x04\xc6\x19\x2b\x54\x45\x15\xa6\xdc\x8a\xf9\x95\xc6\x7e\xef\x1a\x43\x7e\x5c\x8f\x9d\xc1\xe4\xda\x94\x20\x15\x1b\xcd\xcd\xc2\x51\x4b\xd4\xc6\xed\x74\xcd\xf3\x16\xe6\x2c\x41\x7a\x7c\x71\x1f\xdc\x18\x86\x38\xd5\x48\xe3\xdc\x2f\xce\x63\x1e\xb7\xb1\xac\xc2\xf9\xcd\x2f\xee\xe3\x2c\xd3\x4c\x56\xe2\xfa\x72\xbe\x24\x3c\xea\x92\x46\x27\x53\x27\xcd\x4f\xf4\xe2\x3e\x72\x73\x5b\x21\x55\x25\xff\xe6\x17\x3e\xf2\xb3\x1a\x4a\xdb\xac\x46\x99\x2f\xcd\x81\xab\x3e\x4f\x2b\x2c\x01\x3a\x48\xde\x15\xb0\x95\x09\x48\xc1\xa2\xdb\xbc\xbb\x8b\xd6\x84\xd4\x23\xd0\x01\xf7\x62\x83\x72\xce\x9f\x44\x33\xb6\xde\x63\xf1\x5c\xd8\x0d\xe2\xac\x34\x2c\x79\xb8\x91\xdd\xca\x13\xbb\x96\x84\xe2\xdd\x11\x0e\xed\x46\x45\x6a\xad\xaa\x0e\xd5\x9c\x60\xed\x6c\xdb\xd9\xab\xa6\xa5\x77\xeb\xa9\x96\x71\x0a\x77\x74\x89\xfc\xca\x6b\xb7\x36\x76\xeb\xcc\x60\xf1\x87\xf4\x0a\x57\x40\x6d\x50\x1b\xb9\x5c\x8c\x1a\xc4\xcd\x3c\x14\xb3\xbf\x49\x67\xe6\xcf\x21\xeb\xef\xfe\xc1\x06\x6a\x21\xa0\xf0\x34\x02\xa1\x4c\x99\x32\x1c\x46\xc4\xf1\xb2\x00\x95\xcb\x98\x95\x94\x13\xf0\x24\x25\x35\x47\x49\x03\x4d\x03\x3c\xe5\x28\xcd\x85\x74\x8b\xba\x1e\x6d\xa7\xac\x17\x3b\x06\x5b\x20\x54\xa7\xeb\xbd\x09\x43\x19\x04\x8c\x01\x6c\x72\xeb\x71\x32\x62\x85\xee\x1d\xdb\x28\xee\x85\xad\xb8\xfd\x04\xe7\xe8\xe6\x07\x76\xee\x69\x10\xc4\x3c\x76\xd6\xf3\xe2\x2a\x26\x24\x18\x8f\x0d\x76\x1b\x68\x0a\x77\xa7\xf5\xad\xb8\x86\x08\x20\xcf\xc8\xc6\xf0\x1e\x54\x42\x37\x60\xbe\x0b\x78\x53\x73\x55\xa3\x25\x32\x46\xa9\xee\x4c\x58\x88\x97\x66\x18\xa8\xbf\x3d\x30\xdb\xe2\xf4\xcc\x6c\x1b\x3b\xd2\x6d\xb1\x52\xa1\x5e\x66\x61\x54\xb1\x77\xf3\x05\xb2\xe0\x2c\x95\x82\x7c\xf9\x75\x9a\x24\x1b\x3d\x35\x5a\xdd\x14\x78\xab\x83\xd5\x9f\x6a\x25\x86\x55\xc5\x69\x65\xf7\x82\x85\x87\x00\xa3\x08\xd9\xe0\xfe\x9c\x41\x79\xe6\x7c\x6b\x7a\x65\xee\xef\xd2\xbf\xf0\xdf\xb3\x5f\x3e\xf4\xfa\x0e\xe7\x8c\x63\x93\xf1\x1f\xbd\x5e\xa7\xdb\x7e\xf0\xeb\x2d\x46\x47\x2f\xaa\xed\x4c\x3f\xff\xd9\x9b\x71\x78\x44\x64\xbc\x14\x6a\xf6\x18\xf7\x1c\x4a\x1a\x33\x13\x7d\x1d\x7e\x6a\x5b\xe5\xa8\x25\x44\x6e\x46\xca\x75\x0f\x2f\xe7\x19\x5c\x67\xb1\xa2\x3e\x6e\x60\x5d\xba\x52\x17\xa6\x99\xb3\xc2\x64\x94\xa1\x82\x77\xd4\xde\xeb\x79\xdf\x5f\x44\x15\xd2\x1f\xdc\x0e\x9b\xba\xcf\x0d\x2c\x5f\x2c\xf5\x38\xe5\x82\x19\x2f\x51\xbb\x7f\x37\xc7\xad\x62\x30\x8e\xab\x78\x6d\x92\x1e\xf4\xd8\x5a\xc3\x64\xe7\x98\x11\xd4\x07\x03\xeb\xb0\xf1\x5f\x5a\x79\x26\x38\x28\xd3\x64\x5d\xed\x49\x42\x46\x8b\xfd\x01\xe4\x12\x6c\x35\xca\x16\xa2\x24\xe1\xd0\x58\xb7\x2b\xe1\x5d\x1f\xd4\x8f\xd1\xd2\x3c\x83\x04\xb5\x2f\x20\xc0\x98\x90\xb1\x2b\x76\xfe\x4c\x50\xac\xd9\x90\x49\xde\x84\x2a\xe3\x3d\xc5\x83\xb6\x87\xd2\x8e\xdb\x1e\x2a\xf3\x2c\xb9\x61\x14\x20\x56\x13\x55\xca\xef\x60\x57\x45\x3c\x0d\xee\x97\x41\x3a\xed\x7f\xaf\x72\x40\x07\x19\x17\x77\xf9\xfe\xab\xb8\xde\xba\x32\xa2\x15\x7c\xcf\x79\x28\x5d\x9e\xf5\x54\x8a\xd0\x42\x33\xb4\xb3\x49\x73\xbd\x45\x49\x91\x04\xc5\x61\xbc\x4e\x23\xc8\x6c\xaa\x19\x26\x5a\x7b\xdb\xa9\x94\xc2\xa4\x9a\x7b\x4d\xf4\x95\x84\x7d\x9a\x86\x74\xac\x94\x36\x74\x87\xc9\x2a\x42\x93\x32\x97\xe7\x58\x7c\x66\x69\xb3\x6c\xc3\x1e\xce\x01\x11\x1b\xb6\x3e\x84\xab\x07\x33\xf1\xc3\x63\x53\xf0\x0a\x89\x05\x17\x02\x5c\x7c\x4a\x05\x7e\xfb\xaf\x9a\x3c\x3e\xd4\xc0\xa4\xdb\xbf\x8c\x0f\xdf\xfa\x14\x13\x79\xe0\x65\x6b\xb2\xaa\xd3\xfd\x26\x1e\xbe\x8b\x8a\x56\x7a\x21\x8a\x9c\xca\x3e\x8c\x5a\x27\xec\x9f\xc4\x1d\x2c\xaf\x94\xd2\xbd\xf8\x31\xc9\x7c\xaa\x1a\x56\x71\xc3\x5f\x63\xec\x99\x58\x72\x8b\xfb\xff\x56\x4e\x70\x8a\x7b\xa9\x52\x8c\x2f\x09\xc2\x25\xee\x7f\x73\x4a\x8b\x4b\xa1\x87\x67\xe7\x86\x11\x1e\x94\x06\xd0\x3f\xc1\x2f\x18\x44\x10\xcc\x64\x8b\x33\xfe\xab\xf8\x99\x7d\xfb\x12\x49\x0f\x30\x11\x58\xd7\x16\x42\xe9\x3b\xbd\x91\xcc\xca\xad\x6b\x88\x50\x68\xad\xb2\xee\x79\x95\x39\x97\xac\xd8\xe5\x7a\x3e\x73\x96\x7b\xa8\x99\x75\x42\x2a\x29\x05\x97\x41\x71\x42\xe4\x2c\x50\x83\x0c\x29\x31\xcc\x4e\x04\x5d\x2d\x17\x5c\x10\x56\xc6\x48\x38\x99\x5a\xd9\xc0\x35\x71\x83\x1a\x17\xc9\x1a\x3b\x12\x33\x18\xd5\x7d\x1a\xb9\xba\x82\x35\x13\x95\xed\x6c\x43\x08\x75\x33\xba\x2b\x3b\xe1\x6a\xa9\xcf\x01\xe2\xd5\x84\x37\x0c\xb2\x80\x78\xda\x11\xf8\x53\xf7\x05\x53\x4c\xaa\x86\x08\x3b\xf9\xcd\x4b\xde\x39\x48\x9f\xfd\x2e\x56\xa3\x68\xd6\x2d\x61\x66\xcd\xeb\xc8\x66\x13\x26\x0a\x83\x17\x75\x94\xaa\xfa\xaa\x37\xab\x1a\xeb\xa3\x04\x55\x9f\xc2\xb8\x86\x29\xa9\x05\x54\x0f\xfb\xbb\x88\x63\x2e\xe8\x72\xea\x1d\xb5\x50\x94\xae\x5e\xf7\xca\xb1\x53\x2b\x0d\x5a\x82\x35\xa0\x69\x7e\x91\xb1\xf2\xa8\x83\xa3\x4d\x05\x7d\x14\xaf\x35\x2a\x30\xf7\x8d\xfa\xc2\xe8\x82\x74\x4e\x22\xd6\x36\x2a\x8f\xf2\xab\x73\x73\xba\x18\x3a\x29\xaa\x99\xaf\xa2\xb1\x8f\x2d\xa0\xb7\xc8\x09\xb2\xd5\xe3\x21\xde\xf7\xda\x7e\x6a\x94\xec\x01\xed\x49\x36\xb7\x0d\x37\x2f\x75\x73\xe6\x50\xba\x7f\xdb\x30\x38\xfe\x55\x3e\x67\xf7\xbc\x89\xeb\x04\xe2\xd6\xdf\x65\x74\x57\x4e\xab\xc6\x76\xa1\x78\x0c\x0f\xf1\x1d\xbe\xfc\x94\x1e\x44\xc4\x67\x7f\xac\x88\x24\xba\xcb\x27\xce\xe6\x07\xa9\xa5\x6d\x59\xf8\x65\x49\x44\xc6\xaf\xe1\x01\x58\x60\xbd\x9a\x9d\xa8\x65\x1f\x62\xc1\x97\x43\x19\x6a\xec\x04\xae\x8f\x96\x25\xa9\x60\x20\x2b\x27\x38\xdb\xdb\xaa\x4a\xdb\x97\x8d\xd8\x15\x31\xea\x75\x2a\x73\x27\x1d\x05\xc5\xcd\xca\x9d\x6c\x2e\x44\xd3\x04\x72\x4e\x67\x99\x04\x84\xf3\x85\x17\xbc\x8a\x95\xb7\xc6\x2a\x05\x6b\x9a\xe5\xc5\xb3\x51\x60\xb7\x33\x44\x48\x76\x53\xde\x12\xc2\x1a\xbb\xc6\xea\xbc\x29\x78\xe5\xf2\x3c\x63\xdb\xb0\x82\x52\x1c\xd8\x1d\x50\x8d\x78\xec\x94\x9c\x4b\xc6\x44\xd2\x42\x21\xc4\x94\x9c\xf7\x18\x9f\x39\xcf\xd5\x12\x57\x6c\xc7\xcf\x87\xa3\x5c\xdf\x7a\x0c\x79\x93\x96\x72\xdf\xe0\x80\x70\x90\x53\xb2\x29\xf8\x01\xe0\xa6\x4a\x8d\x9e\x91\xa5\x6e\x0a\x80\x27\x71\x1f\xd7\xa1\xdb\xf3\x02\x58\xa9\x58\xab\xa2\x2e\x61\xbd\x5e\xb3\x44\xd0\x36\xb0\x5c\x86\x00\xea\x7a\xf2\xd6\x11\x7a\x4e\xc8\xe9\xd9\x6e\x28\x4e\x7a\xba\x17\x66\x57\x51\x61\x70\xdd\xc5\x37\xba\xff\xe7\xb2\x1d\x94\x33\x32\x08\xa5\xcf\xcc\xcc\xa3\x94\xda\xde\xb0\xac\x22\xe5\xc1\x1b\x28\xe6\x62\x9d\xdd\xdc\xc9\xe1\x57\xae\x9c\xf1\xb0\x20\x88\xfd\x4b\xa1\x71\xc1\x61\xff\xf3\x2b\x7c\x8c\x9b\x98\x10\x36\x60\x52\x73\x72\xa2\xe3\xe8\xe5\x6d\x1c\xb5\x2b\x98\xe4\xea\x9a\xae\xe1\x0f\xb6\xfb\x6a\xdc\x9b\x71\x94\x4b\xa2\x5e\xc4\x1d\x99\xf7\xcd\x55\xa9\x6a\xbc\x2a\x51\x63\x43\xe6\xb4\x12\x05\x55\x31\xdf\x3c\x04\x4b\xc1\xe2\xda\x61\x14\xc4\x16\x16\x92\x94\xe9\x0a\x4e\x5b\x43\xfd\x7a\xa7\x31\x74\xc6\x3c\x44\x9e\x64\x16\x40\x9a\x21\x4b\xc9\xfc\xe3\x56\x02\x34\x20\x54\x14\x03\x74\x3c\xdd\xd2\x0f\x5a\xca\xcb\xc5\x7d\x99\xb8\x5b\x9e\x2c\x55\xb5\xce\xc5\x75\x36\x73\x74\xd4\x50\xce\x16\x02\xa9\x35\x2f\xb6\x71\x6c\x31\x79\x5c\x51\x02\x14\x8f\xa6\x13\x1b\xc1\xa3\xbd\xd5\x3c\x9a\x20\x3b\xf0\xbd\x5d\x02\x69\x6a\xe7\x26\x6d\x81\xdf\x95\x00\x97\x26\x22\xac\xc7\x4a\xd2\x1b\x03\x78\xf9\x7d\x85\x49\x6c\xfe\x59\xc1\x03\xc1\x8a\x7a\xab\x70\x74\xdd\xf6\xc8\x77\x78\x44\x10\x1a\x8f\x98\x52\xf8\x28\xa8\x12\x9c\xd3\xcf\xdb\x3c\xae\x33\x2f\x95\x55\xc4\xfa\xa7\x59\xa4\x66\x7f\xb0\x0f\x95\xbd\xfe\x30\xee\x10\xc2\x78\xed\x39\xff\x95\x50\x2f\x72\xeb\x9a\x4e\x85\x3a\x06\x5f\xf1\xb9\x55\x07\xf8\xbd\x14\x8a\x3c\x44\x9f\x67\x3f\xbc\x45\x78\x8d\xff\x91\x7e\xb5\xdb\xd7\x3e\x19\x15\x1b\x8f\x72\x23\x68\x7e\x28\x23\x2e\x91\xc1\x6c\x06\xd5\x31\x44\x78\x6e\x08\x6f\x7c\x10\xf4\x0e\x0e\x43\xe2\xf5\xf6\x0f\xde\x96\x63\x1f\x1d\xcb\xda\xc2\xfb\xbb\xbe\xc5\x23\x75\x5b\x43\xf7\x16\x35\x6b\x09\xed\x33\xd1\xe7\xb2\x38\x74\x2b\x80\xe8\xdf\x3c\x6c\x66\x69\x48\x8d\x68\xa8\xd6\x40\x9e\xd9\x7a\xc1\x63\xcb\xdf\xe2\xfb\x83\x11\xab\xc2\x57\xbc\xef\x2c\xdb\x9b\x4d\x51\x6a\x30\x4c\x07\xc2\x75\x5a\x08\x4a\x31\xa4\x86\x55\x8b\x78\xbe\xae\xe9\x78\x90\x36\x08\x04\xe7\x23\x3d\xa2\x13\x65\x96\xa0\x99\x5a\xb5\x28\x3b\x13\xee\xc1\x2d\x21\x95\x3a\x0d\x94\xd4\x9c\x95\x98\x7f\x67\x91\xd4\x2b\x14\x85\x85\x57\x62\xa1\x08\xa6\xa5\x3b\xe5\xf0\xf9\x50\x89\x95\x11\x30\x88\xdb\x13\x85\xad\x7e\x59\x47\xaf\x81\x7b\xbc\xa2\xa4\x30\x5c\x5d\x27\xdd\x0d\x7f\xca\xc1\x5f\xdb\xcd\xbb\xb8\x3c\x69\x80\xcd\x90\x50\x3a\x8e\x3d\x39\x27\x70\xd3\xf2\x2f\x3c\xce\xc7\xc7\xea\xaf\xcc\xd2\xcd\xbf\x7c\x92\x16\xca\x76\x07\xb7\xe6\x16\x47\x13\xf2\x9a\xe4\xb2\xff\x9b\xe3\x21\xc5\x3d\xdf\x93\xdb\x61\xc2\xb7\xe0\xfc\x98\x90\x48\xfd\x8a\x35\x95\x08\x85\xfd\x0c\xcc\xf4\x1d\x06\x8b\xb8\x56\x44\xca\xf5\x7a\x35\x37\x3d\xa7\x45\x24\xaf\x1b\x75\xd6\xb2\x96\x21\xfd\xbc\xee\x53\xa5\x1c\xee\xd0\x35\x87\x86\xd5\xdd\x67\x6d\xe0\xfc\xce\xc8\xee\xfe\x28\x8f\xcf\x65\x94\x4b\x3c\x9a\x3b\xb3\x7d\x11\xec\x2d\xdb\xeb\xbd\x5b\xb7\xd7\x3b\x58\x65\xf5\x91\xcb\xc9\x3d\x70\xb4\x6c\x9f\xde\x58\x7a\x0e\xe1\xee\x3d\x22\x61\x3f\x63\xce\x56\x0a\xe9\xbd\x32\x3a\x17\x4c\xa6\x28\xfe\x20\xcb\x50\x0a\x44\x36\x4a\xa6\x0c\xa8\x11\x3e\x22\xc8\x70\x44\x50\x89\x79\xb9\x1a\xc1\xc1\xaf\x4e\x18\x97\x14\xb2\x6f\xc5\xc1\xe8\x3d\x26\xae\x8f\x77\x4c\x91\x15\x1b\x32\x08\xe9\x57\x02\x55\x42\xaf\xa5\x7a\x88\x3c\x4f\x51\x96\x16\xdd\x2f\x6d\xe6\x4d\x63\xd8\xf8\x45\x8c\x05\xf4\xa3\xf8\xc5\x42\x78\xc3\x8f\x36\xe1\xdb\x5c\xba\x30\x94\x54\xda\xe7\x1a\x82\x22\x74\x2e\x36\xf6\x18\x7d\x48\x70\x0c\x40\x39\xec\x2d\x6e\x99\xa6\x2f\x08\xae\x58\xb9\xa9\x1b\x12\xfe\x32\x7d\x45\xf2\x60\x15\xc4\x1d\xaf\xfc\x0c\x01\xd6\x9b\xa5\xb8\xe5\x4f\x97\x01\x22\xfb\x20\x1a\x05\x7f\xaf\x51\x79\x93\xee\xac\xd3\xef\x1c\x85\x9d\x5b\x21\xb6\x6b\x6c\x18\x6a\x3f\x83\x2f\x13\xc1\xb7\x74\x6d\x3f\xee\xf1\x06\x0d\xe3\x50\x81\xf5\x94\x8c\x97\xf7\xc1\x5a\x4d\x39\x55\xdf\x60\x25\xee\x56\x0a\x23\x30\x8f\x4a\xb0\x1d\x73\x29\x68\x54\xb3\x64\xe1\x04\xc6\x11\x11\x9a\x34\xb5\xb8\x3c\x8d\xdc\x4d\x4d\x0d\x3e\x22\x2c\x98\x5f\x27\xf5\x1e\xcf\xaa\x09\x40\xe3\x36\x92\x32\x05\xc9\xd9\x4a\x4a\x69\x1e\x01\x69\x02\x5c\xc1\x11\xd6\x61\xae\x25\xd2\xe5\xb2\x88\x00\xfd\x51\x2a\xd0\x92\xe3\xb6\x2e\x25\xdb\x95\xe6\x30\x7a\x20\xf6\x1e\x46\x84\xb1\xd7\x2e\xf2\xa1\xf3\xb1\x61\x75\xc5\x51\xf9\x3b\x42\x2a\xf9\x4d\x48\x08\x7a\xf1\x9e\x89\xf4\x03\x57\xc5\xcc\xcf\x8a\x98\x80\x8d\x61\xea\x86\x6c\x55\xa7\xb8\x32\x29\x0c\xb5\x11\x24\xf7\x74\x92\xef\xc7\x68\x92\x5e\x34\x06\xb1\xc9\x92\xc3\x7a\x01\x7a\xd8\xad\xf2\xa5\xf1\x5c\x26\xaa\x6d\x28\x35\x76\xc6\x50\x14\x69\x17\x5a\xc0\x5e\x71\xf4\x70\x8a\x55\xbc\x13\xca\x90\xc4\xf3\x6e\x21\x32\x4d\x6f\xb1\x35\xae\x36\x63\xb9\xeb\x64\x8f\xd9\x6d\x42\x66\x61\x8c\x49\x8c\xb9\xab\x3a\x55\xaa\xf4\xd0\x1a\x19\x40\xfc\xae\xba\xe2\x6c\x6f\x16\x2c\x07\xd3\x7c\xe9\x26\x41\xfd\x41\xce\x35\xd6\x22\xd7\x67\x95\x39\xb5\x61\x10\xe1\x3f\x8e\xc9\xd8\x19\x73\xcb\xfb\xa4\x39\x89\x0e\xd0\xdc\x38\x22\x69\xc4\x19\x2a\x24\x7f\xf9\x56\x0f\x07\xb5\x7a\xbb\x4b\xb9\x11\x4b\x10\x6e\xbb\x30\xea\x26\x2f\x30\x44\x91\xc6\xd3\x24\xd2\xcf\x04\x41\x02\x12\xdb\xc9\xb0\x15\x96\x37\x5b\x62\x4d\x47\x91\xbd\x3a\x40\x96\xab\x1b\x4d\x28\xf8\x66\xb6\xed\x98\x40\x36\xd6\x72\x1e\xad\x5d\x75\x91\x1c\x1f\x7e\xf4\x96\xa1\x63\xe0\x3b\xa4\x13\x12\x12\xa2\x91\x65\xa5\x71\xe5\x2c\xa4\x21\x1a\x92\xea\xbb\x83\xe3\xe9\xce\x72\x3c\x10\x8b\xe3\x77\xe7\x7a\x0c\xd7\x28\x43\x80\xf6\xf0\xbc\xb8\x3f\x79\x9d\x75\x48\x23\xfb\x53\x8f\x51\x32\x11\x09\x7f\xf5\x0c\x7b\x16\xb7\xe8\x99\xab\x39\xd7\xa0\x73\x5d\x96\xdc\x98\x4b\x7a\x3a\xea\x24\xf9\x60\x1b\xcd\x44\x01\xec\xf5\xe0\x50\x81\xa8\xbc\xd2\x1e\xc9\xc1\xb5\xa9\xcd\xd7\xbc\x49\x00\x36\xe8\x8a\x8b\x57\x83\x53\x95\xfd\x93\x05\x58\x02\x5a\x4c\x63\x2a\xbb\x83\x9b\x75\x2a\x77\x30\x1c\x03\x9c\x2a\x22\x88\x80\x63\xb7\xe8\x5e\x6d\x91\x1f\x13\x45\x1c\xf4\x0f\x22\xb0\x87\x90\x28\xdb\x13\x11\x7b\x42\xe3\x4a\x8f\x40\x79\x52\x7b\xba\x3d\x4c\x44\x56\x67\xee\x97\xc4\x9c\xd5\x50\xd0\xee\x38\x52\x0e\x0b\x85\x7c\x90\x0f\x08\x08\x00\x8b\x6c\x59\xe7\xe8\x6e\x79\x04\xfd\x42\x22\xcb\xea\x64\x82\x2e\x58\x60\x08\xc3\x03\x3d\x73\xc5\x34\x32\x22\xb8\x6d\xad\x75\x70\xdd\xd1\xbe\x9b\x2c\xa5\xd6\xeb\xfc\x4b\x7f\xb3\x7c\x9e\xa1\x0b\xf1\x06\xf5\xab\xd3\x93\xc0\xa4\xc4\xe5\x0f\xd6\x42\x02\x79\x25\x3c\x32\x37\x11\xd5\xa5\x55\x86\xd1\x2e\xcf\x65\x17\xa0\x69\xc3\x90\xc5\x02\xa5\x8e\x87\x20\xf1\xe2\x75\xdb\x58\xa0\x36\xf9\x8c\xe2\xc8\xb2\xb0\x11\xba\x0e\x33\x9b\x3d\x25\x10\xcc\xc1\x09\xce\x00\xf5\x22\x1b\x46\xca\xf8\xf9\x31\x1f\xc0\x82\x47\x54\x86\xf5\x5a\x5f\x0e\x76\x8b\x1a\x9c\xf3\x2e\xe8\x42\x37\x26\x92\xa8\x37\xfd\xbe\x6c\xde\x62\x30\xac\x2a\xd6\x7a\xda\x05\xb4\x2b\x7c\xb7\x10\x2e\x6a\xdd\x19\xbf\x26\x1e\xb2\x20\x4a\xaa\xce\xc8\x2a\x02\x9e\x2a\x69\x9a\xef\x64\x42\xb8\xf5\x33\x3d\xb9\x10\xb8\xe1\xda\xa8\x95\xed\xb6\x99\xf1\xd4\x84\xcc\x49\xc1\xb3\x9c\x9f\x0a\x49\x5f\x7a\xdd\x96\xd0\xad\x7d\x5f\xf0\x26\xff\xd6\x0e\x45\xf1\x59\x18\xaf\x74\x80\xde\xae\xd3\xa7\xc2\x15\xb9\xc0\x80\x6c\xa7\x7b\xa1\xaa\x5c\xdd\xa4\xaa\x70\x7b\x1b\xb9\xb6\xfe\xaa\xa8\x21\x29\x20\xdb\x05\x75\x75\xda\x58\x68\x98\xd8\xa4\x0f\x97\x3b\x17\xe7\x4b\xcf\xe3\x9e\xcb\x95\xc2\xf8\x01\x35\x66\xa4\xf5\xfb\x74\xdd\x19\xa2\x93\x6b\x50\xe4\xcd\x77\x00\xca\xec\xf4\xc3\x1f\x97\x78\x92\x8f\xef\x28\xd4\x66\x81\x77\x45\x34\x20\x47\x90\x86\x5a\x31\xea\xa7\x8e\x4a\x95\x4a\xd0\xc8\x8a\x32\xec\x5c\x18\xdb\xc9\x17\xa9\x74\xbf\x58\x46\xdf\x2f\x2e\x19\x5c\xa5\x17\xe2\x46\x79\x47\x1f\xa4\x54\x3c\xdc\x52\x76\xe4\x41\x45\x80\x9d\x7b\xdc\x1c\x8e\x05\x3f\xa2\xd1\x76\x98\x66\x1b\xfa\x2f\x40\x1f\xfd\x84\x3e\x13\x26\x6c\x4a\x17\x2c\x2a\xd2\xd0\x86\xf0\x04\x05\x3f\x4e\x36\xb5\x27\xb1\x4c\xfa\x22\x10\xa9\x96\x99\x2f\xc8\x07\x16\xe4\xbd\x05\xaa\xae\x32\x98\xb3\xea\xe2\xea\xdd\x70\xca\x6f\xc5\x65\x17\x54\x44\x23\x0d\x81\x7c\x95\xc2\x74\xce\x68\x12\x87\xb3\x94\x63\x4c\xb7\x20\x79\x0e\xba\x2e\xa1\x58\x5e\x2b\x55\xb5\x1b\xde\x4c\xa7\x82\xcd\xb1\xee\x3e\xee\x65\xf3\xab\xd1\x67\xef\xeb\xee\x8a\x3a\x25\xd7\xb4\x86\xbb\x37\x2b\xad\x9c\xca\x24\x3e\x70\x35\xb8\x55\xe1\x8c\x6b\xec\x8d\xa3\xaa\xfb\x29\x82\x86\xed\xc3\x01\x4c\x7f\xa2\xc7\x16\xd4\x68\xdb\xe9\x92\x0e\x0d\x38\xfe\xb0\xcb\xc4\xb6\xb2\x4f\x63\xff\xde\x95\xe5\x1d\xf3\x62\x53\xc9\x56\x13\xa5\xb6\x93\x19\x67\xe6\x39\xfb\xdc\xe4\x4e\x2d\x9c\x21\xa3\xfa\x79\xab\xdd\xd2\x6b\xf9\xf0\x1a\xbc\x8a\x2e\x64\xe0\x74\x12\x7a\xa2\xf6\xfd\x30\x5c\xa0\x2e\x7b\x2b\x85\x52\x0f\x6e\x8c\x4d\xff\x82\x6e\x9e\xf0\x76\xa2\x7c\x67\xcc\x5b\xa0\x25\x8a\x2e\xe7\x12\x56\x5a\xcc\xdb\x31\x6e\xf3\xcc\x4d\x81\x8e\xf5\xb4\xf8\xaa\xa8\x75\x66\xd2\x93\x39\x07\x76\xc8\x13\x6b\x4c\xb0\x5a\x63\x95\xdb\x5b\xc1\x6d\x20\x44\x4f\x80\x62\x09\x8b\xd7\xaf\x34\x2a\x01\x59\x6c\xa8\x21\x44\xc5\xe0\x35\x87\xcf\xd8\xc7\xab\x08\xfd\xda\x04\x02\xa0\xbe\x87\x6a\x59\xf6\x59\x12\x3a\x2d\xaa\x45\xfb\x8a\x91\x07\x0b\xe2\xed\x8e\xfe\x82\xe3\x6e\x65\x80\x0d\x74\x6a\xc8\xf1\x4d\x9d\x26\xa5\x1e\xdd\x0e\xf2\x8d\x53\x68\x61\xd1\xf5\x0d\x10\xc9\x9a\xa0\xfe\x0a\x2d\xee\x41\x6b\x33\x03\x1a\xab\x2b\xc0\x5e\x5f\xdf\x11\x31\x0e\x5f\x7d\xa4\x6b\xaf\x12\xe1\x8f\xc8\x3a\x35\x97\x68\xc4\x57\x57\x92\xf4\xfd\x09\x61\x39\x13\x0e\x67\xea\x74\x42\xbc\xb3\x6c\xbb\x73\xa3\x80\x8a\xb5\xe8\xc0\x2c\xe8\xca\x17\xb0\xb4\x6c\x20\x4e\xea\xab\x32\xa8\x97\x41\xde\x80\x9e\x93\xd4\x2f\x54\xaf\x50\x33\x60\x19\x3c\xa7\x4f\x65\x92\x21\xa1\xb0\x1a\xea\xfe\x1c\x72\x0d\x90\xdc\xa2\x4f\x2d\xf5\x27\x32\x16\x62\xfe\xf8\xc8\x29\x7d\xb0\x71\x24\xcc\xfc\x26\x9a\xbe\x73\x17\xf5\x40\xde\x93\xde\x80\x2b\xd8\xee\x65\xe6\x6a\x70\x6b\xcc\xca\x75\xbd\xf1\xda\x6b\x5d\x3a\xb4\xdb\xdc\xa4\x6a\x56\xf8\x42\x6c\x15\x1c\x43\xd4\xfe\x07\x3d\xc3\x36\xa6\x45\x2f\xfe\xa7\xcb\xd1\x1b\x5e\x44\x90\x0a\x78\x78\x5a\x98\x9a\xef\x3e\x44\xd0\x9c\x96\xb2\x55\x8d\xe9\xbf\x60\xd1\x48\x5b\xc9\xd2\x36\x02\x0b\x4c\x01\xd5\x36\x65\x80\xf1\xf3\x0a\xe5\x26\xec\x74\x40\x52\xe8\xe4\x19\x8f\x65\x2c\xc1\xfb\xa2\x8b\x78\x99\xcd\x8a\xc7\xda\x05\x70\x08\x37\xcb\x2a\xd5\x1b\xe8\xd7\xf4\xb0\x28\x03\xfc\x92\x9c\x72\x68\x57\x60\x28\xb8\x87\x76\xd0\x2d\x46\x4b\xe5\xd6\xb4\xf4\xca\x0c\x16\xbd\x0c\x2b\x63\x7d\xdc\x84\xda\xf0\xb7\x4f\x0a\x57\x79\xab\x50\x57\xa9\x52\x77\xbd\xdc\x8d\x65\xcd\x8e\xdd\x35\x48\x03\xa2\x2f\xf9\xe1\xc0\x54\x14\x03\x28\x5e\xf7\x93\xe8\x68\x2c\xd5\x43\x13\xb2\x4e\x7d\xc3\x79\xc4\x28\x06\x76\xaf\xa7\x1e\x3d\x94\xea\x5e\xbf\xc4\x2b\x99\x54\x8f\x5d\xe8\x07\x8e\xc5\x3d\xcb\x4a\xf2\xf1\x4b\x19\x64\x15\xb1\xcb\xa6\x32\x48\x06\xdb\x7d\xdc\xd4\xa2\x05\x79\x3b\xb2\x31\x1f\xcb\x3e\x24\x8d\x1f\xfc\x4c\xa3\xf1\x4f\xe6\x0a\x20\x17\x40\xe7\x02\x33\xa2\x71\xae\xf5\x44\xfd\x59\x0d\x65\x15\x4d\xef\x57\x77\xd5\x49\x22\xd4\x3e\x24\x79\xdf\x45\x71\x75\xf8\x0c\x47\x6e\x19\xdd\x9a\x6a\x34\x75\x36\xe7\x74\x9d\x98\x3c\x47\x01\xe1\xfb\xf4\x84\x6b\xab\x5c\xa2\x4a\x3b\x5c\xc5\xf5\xa3\xb8\x15\x1e\x35\xfb\x39\x22\xfa\xc8\x2a\xd9\x4d\xea\xab\xdd\x15\x08\xde\x83\x90\x3f\x0a\x1a\x10\x0d\x9f\x31\x48\xbb\xb4\x0e\xc4\x43\x85\x39\xe1\x11\x16\x8f\x52\xc1\x31\x76\x44\xf2\x83\x9f\xee\xad\xf6\xfc\x4b\x80\xc3\x38\x16\x26\xaa\x0f\x0b\x9e\x57\xc7\x40\xf2\x3e\xdf\x6d\xa7\x61\xe3\x75\xf5\xfc\x07\x80\x86\xdd\x24\xb5\x1b\x26\xad\xe2\xaf\x91\xb1\x53\xcd\xa2\xb1\xac\x5b\xab\x43\x08\x4c\x6b\x8f\xe3\x90\xd5\xce\xc6\x97\x04\x03\x3f\x1c\x69\xca\xec\x24\xa2\x5e\xd5\x99\x43\x90\x5a\x19\x20\xa0\x7d\x38\xe1\x48\xd2\x62\x54\xee\xe4\x1b\x6a\xa7\xb4\xb7\x59\xd7\xe0\xd8\x68\xc1\x11\xb3\xc4\x1b\x46\x12\x66\xe2\xb2\xb8\x67\x85\x5a\x38\x80\x22\x6a\xa8\xf0\x73\xc1\x12\x18\x00\x36\x19\x0c\x05\xd6\x00\x6a\x8a\x18\x1b\x77\x9b\xcf\x63\xd2\x4d\x2d\x40\xca\x67\xd4\x06\xfb\x39\x73\xf3\x2a\x47\xa6\x25\xa3\x4d\x43\xf0\xd5\x5c\x19\x67\xb7\x85\x68\x95\x10\x42\x00\x37\xa2\x55\x5a\x64\x01\xad\x19\xe3\x35\xd4\x34\x53\xa9\xdb\xcd\x1e\x86\xd8\xbb\xb0\x6f\xc3\x13\xa6\x70\x01\x3d\x4c\x90\xb6\x17\x48\x24\xae\xaa\x67\x7b\xad\x60\xf1\x79\xf1\x8b\x04\x12\xd7\x13\x11\xee\xf7\xe8\x5b\x7d\xf0\xbd\x7d\xfb\xbd\xa9\xbf\xfc\x7c\x62\xdf\xfd\x54\xff\xf8\xfe\xaf\x9d\x51\x70\x9f\xab\x1f\x41\x6a\x76\xc1\xed\x5f\xce\x6a\x01\x31\x70\x9b\x02\x13\xc1\x03\x35\x86\x61\x9f\xec\xbc\xd4\x50\x64\x24\x90\xd1\xe3\x2a\xff\x50\xad\x0c\x38\x41\xf7\xae\x30\x02\x94\xfe\x94\xdc\xfe\xf7\xbf\x0f\x0f\x77\x7f\x1d\x77\x9e\x0b\x77\x37\xfc\x3e\x72\xf3\xf8\x58\xf8\xb9\x68\xce\x0e\x38\x6f\x34\xcd\x76\xe0\x3f\x49\xa4\xfc\x93\x85\x0d\x63\xb9\x48\x7d\x41\xfa\xfa\x0c\x02\x6f\x8c\xae\x23\x7a\x7d\x26\x15\xef\xb8\xcf\xc0\xc5\x87\xbe\x59\xf7\xf9\x4c\x1a\x5e\x89\x8c\x82\xa1\xff\xf3\xef\x53\x1c\xb7\x9f\x78\x29\xed\xbf\x37\x77\x3c\xf0\xa1\x34\xe2\xcf\x7f\x3e\x61\xd0\x20\x9f\x90\xd0\xfe\x67\x8b\x00\x43\x63\x04\x7a\xeb\xa1\x96\xe3\xe7\x46\x14\x22\x1f\x9b\xfd\xe2\xa0\xf1\x67\x62\x30\x75\x66\x74\x24\xf1\x33\x28\x50\xe8\x4a\x84\x2e\xc7\x02\xbc\x53\x9d\x50\x8b\xc6\xb5\xf4\xa8\x7c\x4d\x8a\xa0\x67\xca\xfc\x3a\x8c\x79\x17\x20\x78\x24\x14\x77\x1e\xb5\xf8\xcc\xee\x7e\x79\xf0\xd9\x5f\xae\xda\xf2\x68\x42\x1c\xbb\x1e\x9a\x1b\x36\xf5\x43\x79\xa6\x1c\x42\x96\xf7\x5c\x64\xe5\xb4\x8f\xb3\xeb\x69\x2b\xb9\xb4\x04\xe5\xdb\x1b\xf2\xc7\x3e\xae\xeb\x2e\x83\x92\xf2\xfd\x6f\x25\xfa\x59\xf8\x26\xc1\x23\x63\x9c\x99\x0c\x74\x5b\xf0\x4a\x41\x97\xfe\x1c\x79\x0f\xfe\x1c\xfe\xa5\x39\x6d\x19\xc2\x3a\x60\x64\x43\xb6\x3a\xb6\x88\x86\x9f\xb1\x56\x4a\x7f\x7e\x91\x87\x02\xc1\x9b\x71\x60\x4d\xc6\xe4\xdf\x4a\xc2\x7d\x09\xf9\x32\x85\x41\x08\x0c\x49\x37\x47\xa2\x33\x1c\x10\x13\x3e\x49\xa2\x4f\xe0\x8e\xb8\x53\xc8\x16\xc3\xa9\x01\x74\x87\x31\xad\xf6\xc4\xdf\x90\x32\x36\x32\xab\x43\x68\xc0\xac\x0b\x89\x7a\x0a\xc5\x96\xa0\x91\x59\x09\x9f\x49\xa9\xb8\xa2\x3d\x24\xdb\x20\x84\xa5\xb4\x52\x6f\x16\xe5\x64\xfb\x6f\x76\xe0\x3b\x4b\x6d\x48\x36\x20\x75\x1d\xd1\x15\x57\xb9\x58\xfe\x51\xfe\x59\xfe\xad\xd1\xe0\x6b\xf0\x87\x0b\xf9\xa2\x95\x75\xcb\x46\xbd\x11\x79\xf0\x4c\x2e\x48\xf8\xdd\x9b\xaa\x2a\x1f\x52\xc7\x71\x1a\x19\x7b\xe2\x41\xbf\x62\x87\x25\x4a\xac\x6c\xbf\x57\xc2\x60\x33\x4e\xa2\xe6\x84\x13\x30\xc6\xcb\x53\x41\x49\xb9\x32\xef\xc0\xf2\xec\xbb\x82\x4e\xaa\xc5\x92\x8c\x56\xb9\x90\x42\x03\x8e\xad\xd6\x6a\xa0\x81\x20\xbf\x66\xc7\x65\xf1\xcf\x53\x08\xee\x9f\xfc\xe5\x47\x70\xd1\xfb\x6b\xcd\x6e\x45\x45\xce\x9f\x00\xa9\x25\x3d\xf7\xd5\x8b\x37\xb6\x13\x0d\xb6\xb0\x76\xac\xe5\xe3\x60\xfd\x57\xfe\x94\x95\xbf\x0b\xcd\x20\x43\x3c\x2f\xf1\x6e\x5b\xc1\xd8\x52\x10\x1c\xa5\x2b\xdd\x0c\xdd\x21\x60\xa4\x34\xe1\x61\xc4\xa1\x78\x1d\xe8\xef\x7a\x2f\x8c\xe7\x80\x8e\x86\x05\xd7\xb8\x45\xda\x42\x88\xf8\x28\x28\x1f\x62\x7a\x60\xc1\xfd\x7f\xd2\xdd\xfc\x01\xae\xf7\x1b\xf4\xf9\x9d\xcf\x42\x39\x2e\x08\x94\xee\xf7\xf2\x3d\x32\x7f\xbd\xc1\x9f\xf7\x43\xc3\xff\x8b\x10\xd4\x60\x11\x6b\x3a\xfe\xaf\x5b\x30\x8d\x74\xf7\x4a\xa0\x16\x4f\x22\xb3\x26\xe1\x3f\xb8\x17\x98\xf2\xf7\xe1\x8b\xc5\xe2\xcb\x10\x6e\x2c\x99\xca\x20\x10\xd8\x76\x61\x13\xc0\x1e\x1e\x1a\xac\xa2\x6a\x17\xed\x91\x5d\x1d\xf7\x37\x14\xa1\x68\xe1\x03\x8d\xd2\x74\x38\xc2\x18\x7a\x82\x0d\xcc\xb1\xdb\x75\x92\x49\x2a\x3c\x5d\x5d\x37\x08\x64\x23\xca\xc9\x43\xbe\x4c\x73\x10\x95\xb3\xab\x2c\x53\xcc\x7f\x1b\xaa\x0b\x6c\xcc\xd3\xb0\xd6\x44\x35\x6a\x2d\xa5\xf7\xfe\x6c\xeb\xf1\xb5\x20\x6c\x48\x65\xd4\xa1\xbb\x07\xce\xaf\x6f\x46\x23\x6e\xa3\x9c\x9d\xb6\x96\xa2\xf2\xcb\xf7\xd7\x76\x15\xf1\xf1\xe1\x9c\x97\x7e\x17\xbf\x27\xe0\x68\x11\x7e\x76\xe5\xc3\xcd\x29\x8b\x10\x36\x88\xa8\x1d\xf8\x7a\x0b\xf5\x18\x8b\x27\xde\x2f\x8c\xdd\xfc\xdb\xa9\x7c\x91\xb0\xeb\x69\xbc\xee\xbe\xae\xd0\x51\x5a\xad\xa8\x6b\x79\x76\x33\xf6\x00\xf4\x7e\xb8\x01\x24\x82\xe1\xcf\x04\x97\xbb\x50\x65\x5e\xb4\xdd\x14\x05\x1b\xa8\xd1\x06\xce\x1b\xcb\x83\x2f\xba\xe6\xd5\x49\x4a\x4d\x4b\x39\x52\x1a\xbc\x65\x66\x6c\x7f\xc1\xb8\x5b\x38\x82\x58\x6a\x5a\x68\x32\x3e\xf0\xc1\x19\x56\xf3\x53\x00\xc8\x98\xf7\xc7\x81\x23\x36\xf8\x8e\xc1\xc2\xa6\x07\x8e\xc0\x55\x2b\x8b\x0b\xc9\x71\x8d\xc7\x46\x01\x23\xe2\x28\xc3\x80\xa5\xa8\xf5\xad\x29\x90\x4a\x41\x4c\x3d\x5b\xce\x13\xf6\xf4\x69\xab\xe6\xeb\x7b\xa5\x59\x38\xd2\x11\x57\xd1\x8a\xb4\x21\x8d\xe6\xd7\x29\x91\xb3\xa9\xff\x74\x0d\x9d\x94\x91\xee\xda\x9b\x56\x8c\x1d\x4b\x34\x32\xfb\x12\xbd\xf5\x03\x4b\xfa\xe4\x8a\xb9\x5a\x4c\x4d\x34\xb1\x8e\xab\x37\xfc\x3b\x1a\x2e\x87\xbf\xf2\x08\x2e\x6d\xb7\x70\x24\xd4\x04\x66\x10\xb9\x05\x2d\xfa\xaf\xc7\x6a\x9a\xe7\x0c\xfd\xa9\x45\xab\x89\x3b\x7b\xd1\x9d\xd0\xcc\xfb\xb1\x04\x9f\x6c\x55\x50\xcf\xab\xc5\x5e\xb8\x5e\x43\xe6\x4b\x60\x1a\x3d\x97\xfa\xa9\x34\xf3\x37\x3a\x34\x70\x6d\x33\xfd\xeb\x34\xdc\xb5\x63\x52\xe1\xeb\xe8\x6e\x5c\x98\xff\x7b\x72\xe7\x1f\x64\x9f\x4d\xe9\xb8\x4e\x79\x33\x87\xac\xb3\x8a\x80\xc6\x31\x54\x9a\xe7\xa0\x9e\x3b\x5a\x9c\x76\xd9\x8c\x4a\x8b\xa0\xc7\x6b\xac\x64\xd7\x55\x87\x0d\xcd\x43\xff\x22\xd6\x79\x55\xde\x21\xdd\xdc\x33\xa9\x01\x57\x53\xf3\xf4\x3d\x3d\xab\xda\x15\xdb\xa7\x68\xb9\x29\x36\xe2\xfb\xcb\x13\x94\x86\xba\x89\xb9\x2d\x17\x63\x37\x33\x99\x0c\x2c\x38\x2b\x98\x4a\xc2\x25\x79\x9d\xb9\xd6\x15\x55\xd4\x32\x40\x17\x6a\x15\xe4\xc3\xd8\xe2\x17\x88\xe8\xc3\xd2\xa5\x07\x58\x53\x1b\xb8\x6f\x36\x79\x55\x56\x27\x37\x3d\x3c\xbc\xd1\x44\x4f\xd5\x59\xdc\xff\x6d\xed\x9a\x6a\xbd\x7a\xa6\x97\xb2\x77\x23\xb5\x41\xb2\x15\x4d\x8c\xa5\xa7\xcc\x62\xd2\xe6\x3a\x07\x8e\x2f\xce\x40\x92\xf4\x58\x0e\x88\x56\x2b\x3f\x73\xf8\x0c\x2f\x0a\x21\x38\xd2\x7c\xc3\x24\xb4\xe4\xcf\x67\x0c\xe5\x7b\x79\x00\xf4\x71\x0f\x75\x58\x1e\xcc\x36\xae\x2b\x0c\x39\xea\x83\xf4\xb0\x9e\x56\x47\x66\xd8\x5f\xae\xfe\x3d\x46\x0f\x63\xbe\xc2\x4a\xe9\xd5\xce\xc7\x71\x8c\x06\x9b\x78\x70\x31\x71\xe9\x57\xac\xca\x3e\x47\xcc\x0c\xc9\x64\x52\x4b\xf2\x11\x18\x8a\x4a\xca\x5b\x40\xa6\x6a\x4b\x0f\x6f\x56\x8e\xb3\x64\xcd\x1c\xdc\xac\xe3\xae\xf7\xf6\xa1\xe9\xde\x9a\x2d\xe1\xfa\xbb\x91\x90\x95\x24\xc9\x03\xcd\x77\xbc\x1a\x1a\x9a\x13\xb9\x06\x84\xb0\xe3\x85\x4c\x4e\xd3\xab\x11\xa1\xca\xed\x5c\xd2\x85\x8c\x43\x2d\xa4\x02\x7a\x1f\x5b\xb6\x4c\xe3\x7e\x7a\xf8\x37\x2e\x4b\x56\xd4\xa8\xca\xba\xf7\x3c\x2c\xa1\xbe\x44\x1c\xa0\xe9\x07\xab\xe3\x89\x03\x4b\x75\x78\xa1\x72\x2a\x5d\xe4\x18\xdb\x3a\x39\xb1\x05\xd9\xa3\x72\xcf\x0f\xef\xd3\x1c\x92\x91\xd2\x7b\xb1\xd5\x91\xea\x67\x65\x82\xab\xfc\x93\x46\xf1\xa6\x91\xc5\xd2\xfc\x99\x03\x47\x94\xab\xe1\xfe\x9c\xb6\x12\xc5\x67\xcc\xc5\x43\xbf\x1e\x34\x99\xa6\x49\xf3\xcc\x70\x96\xfa\x26\x74\x94\xa6\x64\xa2\xb1\xca\x0b\x2c\xbc\x3d\x34\x8c\x63\xcb\x54\x35\xcb\x23\xcb\xfb\x69\x99\x70\x1e\xa0\x26\xd8\xeb\x4a\xcb\xb7\x22\x11\xd0\x4e\xe0\xea\xba\x4a\x66\x4e\x74\x82\x11\xf1\x6c\x0a\xb5\x54\x83\x43\xf8\xe1\xba\x70\xe6\xcd\xd3\xe0\x66\x09\x1c\xe9\x4f\x73\x47\xfc\x33\xe2\xf1\xe9\xaa\x89\x56\x08\xbc\x9a\x46\x82\x52\x09\xe5\x73\x5b\xd4\x06\xd7\x43\x60\x75\x32\x69\x55\x61\x10\x89\x44\x6a\x54\x44\x4d\xcb\x55\xcb\xa0\x06\x23\x76\x12\x87\x4a\x9b\xbd\x32\x94\x8a\xd5\x89\xc0\x13\x70\x0c\xae\x5a\x1c\xf8\xac\x1f\x26\xca\x65\xe8\x28\xa4\x0a\x26\x29\x17\xea\x95\xe0\x38\x32\x1a\xcf\xd7\x11\x39\x29\x8b\x39\x51\xb5\xe2\x63\xd1\x7a\x7f\x62\x65\xb0\x9b\x8a\x88\x0e\xc9\x3a\xe0\xa0\x9a\xb1\x89\xae\xe0\x42\x86\xa4\x58\xed\xe7\xcc\x6e\xaf\x3b\x11\xb7\x06\x2b\xb0\xaf\x85\x7b\x5f\x4e\x8c\x4c\xe9\x47\x85\x1b\x3e\x9a\x88\x64\x76\x7a\x51\x43\x6d\x81\x51\xc5\xf0\xcf\x6a\xe2\xc6\x85\xdd\x87\x16\x42\x8e\xf6\xad\xcd\x19\x14\x14\xc8\x4e\xcc\xc7\xbd\xe5\xfb\xf0\xb7\x24\xf1\x16\x63\xdd\x4d\x72\xab\x04\x0e\xf6\xf0\x9b\x21\xc8\x29\x37\x19\xcf\x7e\x6d\x1b\x49\x77\x92\x18\x7a\x70\xfe\xbf\xed\xa2\x70\x3d\x2b\xaf\x4b\xda\x35\x98\x44\x25\x40\x53\x53\x62\x58\x46\x8e\x3c\x99\x3d\x40\x06\x7a\x55\xf7\x08\xf3\x1e\x8b\x29\x90\x8f\xe7\x0a\x4b\xed\x6d\x58\x9f\xc9\xd8\x8c\xb3\x58\xb3\x2f\x17\x4b\x93\x12\x33\x96\x38\xb4\xda\xcc\x52\x8a\x83\x9e\x99\x2a\x12\x8e\x0a\xe8\x3a\xae\xe0\xc0\xf9\x8f\xa3\x7e\xbe\xf5\x16\x6a\x88\x05\x81\xb8\x64\x13\x08\x80\xb2\xba\x6b\x18\xba\x62\x0f\xeb\x1d\x0e\xa3\x00\x58\x8a\xa4\xb9\xd0\x40\x9c\x07\x13\x17\x83\xba\x24\x71\xf2\x87\x40\x67\xb6\x48\xc5\xa9\x1a\x9d\x78\xb0\x92\x4f\x15\x87\xcd\x09\xa5\x63\x40\x87\x94\x91\x4d\x01\x0d\x73\x2b\xc9\xbd\x13\x1a\x21\x6a\x91\x03\x80\x51\x1d\x53\xd5\x13\x68\x8a\x6c\x96\x67\xcc\x7b\x22\xba\xa8\x9c\xbd\x78\x76\x20\x64\x22\xe9\x22\x27\xd2\x0a\x4a\x73\x34\xfd\x94\xac\xfb\x5d\xb1\x13\x53\xfd\xc7\xdb\xb8\xf3\x7e\x40\x95\x64\xa6\x24\x10\x6d\x0a\x88\x2f\xeb\x92\xa0\x69\xc0\x0b\x32\xaf\x80\x90\x0d\x16\x1b\x4f\x1e\xb8\x72\x80\xca\xb3\xd2\x79\x90\x0a\xb4\x11\xd0\xdb\x59\x9f\xcc\x34\xd9\x1a\x4e\x0c\xf6\xd2\x05\x19\x89\xf9\x4f\x48\x8c\xa9\x7c\xed\x9d\x80\xdf\xea\x4d\x4a\x04\xef\xb3\x47\x2b\xf8\x5b\xb3\x2a\x35\xce\xeb\x03\xc8\xc6\xfb\xbc\x1e\x6a\xd3\x0c\x2f\x93\x22\x22\x02\xfa\x08\x33\x5c\xe0\xcd\xf5\x3a\x48\x58\x2e\xc1\x55\x2d\x74\x08\x1b\x32\xb5\x67\xd0\xcc\xfb\xa1\xdd\x9e\x18\x14\x9b\x10\xc3\xa3\x1e\x5e\xbb\x00\x49\x7a\xf4\x4c\x2a\x39\xf1\x7c\x16\xf4\x43\x59\x64\x06\x43\x7f\xab\x63\x7a\xd0\x8f\x8e\x64\x58\xb6\x2d\x45\x11\x43\x85\x17\xa0\xc6\xaf\x31\xd9\x37\x91\x66\xc8\x56\xca\x09\x23\x9f\xb0\xe5\xbe\x33\x27\x07\x65\x6e\xf9\x80\xb3\x7e\x7d\x66\xca\x10\x93\x0a\x07\x6c\xf9\xa0\x1e\x1b\x43\xa1\xbb\xec\x4d\x73\xb3\xc9\x6c\x43\xaa\xdc\x8f\xe8\x0f\x56\x2e\x95\x7b\x25\x67\xb4\x04\x80\x98\x49\x06\xdc\xc0\xfa\x81\x0a\x81\xc0\xc8\x2a\x54\x41\x58\x0a\x9d\xc9\x3f\xc6\xc7\x77\xf2\xa0\x73\x30\xea\xfe\xd5\xf2\xa5\x9a\x93\xe4\xbc\x31\xf4\x1f\x5a\x06\x47\x2b\xd2\x27\xaf\x03\x70\xa2\x18\xea\x6b\x50\xcf\x87\x6b\xde\xd6\x04\xf1\x3d\x00\x83\xe2\xf7\xf9\x91\xb3\x3a\xf2\xc6\xf3\x2f\x13\xaf\x76\x6e\x1d\x23\xd3\x5d\x8a\xa8\x93\x84\xa4\xcb\xba\x65\x5c\xd5\xda\xea\x7b\x07\x5a\xac\xf7\x22\x7c\xb2\xb9\x88\xa6\x0e\xe3\x64\x6a\x86\x7b\xdc\x7e\x63\x1d\xe7\x7b\x40\x55\xdf\x61\xfe\x33\xa2\xca\x48\x79\xf6\x83\xb7\x6a\xa5\xf3\xa3\xfa\xda\x59\x6b\x37\x44\x3f\x40\x4b\x4f\x59\xcd\xc7\xae\x38\x54\x04\xb4\x4c\xb1\x04\x86\xbb\x94\xea\xb7\x54\xd0\x32\x10\x33\xd5\x1b\x58\xaa\x6f\x27\xf0\x8c\x41\xbc\x44\x2e\x66\x78\x72\x8c\x62\x54\x06\xfa\xd1\x19\x12\xd9\xa0\xaf\x9a\x25\x62\x71\x7b\xf6\xce\x71\xc7\x6d\xcc\x7f\x32\x65\x79\x6e\x3a\xc0\x4c\xe2\xe3\x64\x0a\x84\xb6\x5e\xcb\xe6\x92\x84\x12\x1a\x2a\xd5\x37\x72\x32\x9f\xa3\x77\x10\x04\x4b\x8f\x42\x22\xe1\x12\x15\x61\x6d\x49\x29\x36\x3b\x2a\x7f\x15\xf7\x32\x0a\x1b\xfb\xd2\x7a\x24\x3d\x1b\x38\x65\xa0\x4b\x78\x69\x95\xd3\x2d\x4f\x31\xc0\xe4\x75\x0c\xb4\xae\xda\xd7\xa8\x1e\xd3\x2f\xe5\x08\x7b\xa7\x54\xe9\x38\xab\x7e\x76\xda\xa5\x86\x49\xef\x52\x83\xa5\x36\x9e\xf2\x81\xb2\x66\x74\xf7\xf7\x24\xd1\xd3\x62\x21\x9a\xe8\xcd\xe1\xa9\x22\x66\xb0\xd7\x33\xf9\x1e\x9b\x64\x56\x1d\x9a\x33\x26\x8a\x52\x03\xc1\x95\x46\xc1\xa8\x56\x3c\x7f\x8c\x1c\x3a\xc0\xf8\x09\xe5\x0e\x40\x92\x7b\x17\x92\xa4\x1e\xb4\x79\xe6\x3a\xeb\xa7\xdc\x5e\x70\x1b\x0c\x40\x07\x63\x1a\x27\xee\x94\xa4\x00\x21\x4d\x1f\x9c\x9c\x75\x0b\xe3\xbe\xf0\x62\x92\x13\x21\x8d\xd8\x37\x87\x62\xd1\x97\x3a\xf5\x39\x6e\xe4\xab\x00\x88\xbb\x0c\xc9\x6b\xa8\x7a\x7b\x2f\x5c\x82\x8f\xf1\x7b\x20\x85\x3f\xa5\x65\x5a\xa4\x37\x0a\x26\xcc\x3c\xe0\x0c\x5e\x09\xeb\x14\x5d\xbc\x83\xfc\x31\xc1\x81\x8a\xc0\xc4\x8c\x3e\x3e\x17\x0e\x23\xa2\x18\x72\xc7\x55\xd8\x4a\xe0\x99\x89\xa4\x56\xfc\x88\x9a\x74\xf6\xba\x1a\xba\x04\xc0\xdf\x4a\x24\x46\x66\x97\x02\x55\x3f\x28\xe2\x5d\xde\xdd\x33\x83\x2a\x30\x2c\xed\x15\x76\xe2\x7c\x3d\x88\x98\xaf\x11\xde\x92\x2a\xc1\x4f\x65\x26\x25\xcc\xc2\x2a\x2b\xc8\x23\x42\xf8\x10\xb0\xb9\x34\x2a\xf4\xe5\xdc\x1d\x6a\x08\x57\x78\x33\x08\x3d\xbb\xc6\x4e\x3f\x13\x11\xef\x56\xa2\x33\x79\x56\x18\xe2\x76\x2d\x35\xdf\x08\x5a\xf1\xc4\xd8\xdc\x4a\x2d\xa9\x8b\x97\x86\x29\x54\x09\x01\x5d\x82\xe9\xb9\xfd\x7a\xd5\x2a\xc5\x1c\x06\x71\xb3\xe3\x6f\x8b\x2f\x72\xd8\xc5\xcf\xeb\x18\x5c\x59\x99\x43\x3c\xae\x77\x8c\x6a\x84\x8e\xb9\xbb\x55\x05\x94\x61\x60\xfa\x25\x27\xd9\x5e\xd0\x51\x07\x33\xd0\xfe\x5e\x6c\x91\x00\xee\xe9\x80\x00\xbf\x0b\x48\x4e\x0c\x88\x3e\x12\x9f\xaa\x98\x5e\x31\x24\x7e\x54\x6a\x60\x65\x85\x2f\x21\x97\x57\xeb\xa4\xb8\x5b\xf1\x9e\x37\x13\xc6\xe3\xc3\x1b\xb7\xe7\x66\x12\xd8\xf3\xc8\xe1\xef\x3f\x08\x28\x2f\xb1\xd3\x94\x17\xfd\x4e\xbc\x9b\xdf\xe7\xe9\xf0\x89\x4c\x7a\x92\x09\xe1\x4d\x9b\x07\xbe\x46\xc2\x1f\x6c\x34\x39\x9a\xad\x7b\x7a\xda\xf6\x43\x34\x84\x50\x0c\xb2\xc3\xe9\x41\xbd\xbf\xcc\x45\x08\x5d\x65\xfe\x4c\x61\x2a\x6e\x0a\xc8\xdb\x32\x26\x27\x31\x40\x2b\xb3\x69\x8d\x9d\x35\xc1\x6b\x8c\xba\x66\x39\xff\xf7\x4e\xfd\x64\xde\x99\x70\xae\x68\x25\xfc\x24\xa4\xb4\xb8\x66\xc7\xca\x2a\x9a\x14\xcd\xba\x72\xc2\x28\xec\xa2\x9b\x08\x14\x92\xff\x64\x51\x97\x5d\x4a\x4a\xd3\x5b\xda\xb4\x43\xaa\x9b\xe3\x5b\x1e\xcf\x72\x6e\x79\xe4\x6e\xc1\xdd\x67\xb3\xfc\xee\xb1\xbc\x9c\x7f\xbc\x5b\xa3\xde\xea\x63\xe7\x43\xb1\x8d\xc6\x93\xbc\xc0\xb9\x39\xde\xf0\xac\x14\x7f\x75\xe7\x37\xeb\x22\xa1\xde\x06\xde\xf1\x87\x9c\xd7\x7c\x87\xae\xab\xf2\x3b\x73\x6e\xf9\x4f\xff\xfb\x7c\x2a\xa4\xa0\x0a\x84\x75\x89\x4d\x1a\x84\x2f\xda\xef\x16\xde\x61\x9f\xfc\x07\x82\x27\x5a\x45\x72\x25\x34\x32\x56\x24\x26\xb7\x2b\x76\x07\x9b\x07\xdb\x92\x75\x3c\xe0\x6c\xba\x6b\x13\x00\x86\x3a\x43\x12\x69\x59\xcc\xce\x4c\xb4\x3f\x49\xf5\x1a\xbd\x16\xe5\x5e\x48\x0a\x5c\x08\x60\x93\xde\xad\x67\x73\x72\x2f\x89\xa7\x7d\x9a\x5e\x8f\x84\xd7\xe5\xfd\x78\x27\x0d\x80\x8e\xdb\x24\x3b\x83\xd7\xcd\x18\x98\x55\x1c\x41\xa1\x41\x17\x2a\x7b\xc1\xea\xcf\x33\xf9\xae\x72\x2e\xa0\xad\x0c\x56\x94\xb0\x9e\x62\x43\x33\x1d\xd2\x38\xeb\x35\x41\xcd\x64\x9f\x75\xf6\x92\x28\x73\x05\x0d\xef\xab\x16\x94\x6e\x6c\x1f\x33\x1f\xaf\x2f\x64\x30\xe8\x12\x22\x97\x86\x5a\xd6\x3e\xfd\x9e\x33\x03\x0e\x94\xcb\x05\xbd\x3e\x93\x65\x20\x23\x27\x0f\xfc\xc4\x98\x2f\xe6\xf2\xdc\x61\x44\x36\x73\x7d\x5f\x19\x81\x71\x15\x79\xef\xdc\xd1\xd6\x55\xc0\xd8\xdd\x37\x95\x1b\xf5\x4c\x27\x33\x63\xa4\x82\x66\xda\x4c\xb0\x53\x69\x0b\x81\x37\x99\x49\x00\x2f\x0c\xe5\x85\x9e\xdc\xa0\x09\x4c\x31\x7b\x0e\xe7\x92\x26\x0f\xcb\x22\x10\x5e\x42\x00\x64\xda\x74\x88\x10\xd4\xa3\xcf\x09\x74\x44\xa0\x95\xaf\x8d\x39\xd5\x28\xfc\xfb\x79\xe9\x70\xfe\x4e\x57\x7b\x91\xe8\xe1\x0a\x23\xec\x7c\x52\x2c\xd3\xc3\xa9\x05\x3a\x2b\x42\x9d\xa8\x6c\x55\x9d\x52\x5d\x4a\x6a\xbf\xfe\x78\xa6\x08\x00\xde\xc2\x16\xb8\x6f\x83\x74\xb2\x36\x77\x57\x6d\x44\x20\x45\x81\x6e\xc5\x56\x70\xdf\x16\xd2\x8a\xf3\xf3\xff\x4a\xf7\xfc\x6b\xd8\xea\xa5\xfd\x6c\x10\xf9\xd7\xc9\xb1\xf0\xb5\x2d\x6c\x3d\x9d\x0f\x4a\x0c\x37\xef\xaf\xab\xb7\xae\xf2\x40\x64\x8b\x89\x32\x46\x52\xa2\x14\xa3\x29\x94\x3f\x29\x2a\x84\xfa\x0e\xf1\x56\xc2\xbe\x0d\x2f\x94\x3e\x7c\xa6\xb9\x71\x87\x7d\x0e\x4b\xdd\x19\xda\x8a\x59\x55\xd5\xdf\x50\x41\x8f\x4f\x32\xf7\x0d\x24\xf3\x59\x22\xcf\x96\xae\xcb\x5b\xf9\xdc\xb3\x82\x95\xcd\xd5\xef\xa9\x77\xfe\xf6\x60\x37\x12\x60\x5a\x78\x8a\x09\x8b\x15\xac\x32\x3c\x36\x27\x4f\x74\x05\x64\x33\x96\x23\x9a\xe9\xdd\xda\x5b\x57\xbb\xdf\x42\xf8\xda\x4f\x43\xbf\x5e\xa2\x87\xf6\x70\x49\x8a\xca\xc2\x91\x92\xff\x2d\xd5\x49\x25\x64\xfa\x8b\xe4\x2e\xe7\xdf\x90\xbc\xec\xbf\x92\xd5\x9f\xf5\x31\x67\xc7\x61\x6c\x10\x19\xa4\x8c\x28\xdd\xa4\xc9\x45\x80\x93\x8e\x80\xff\xa7\xfc\x00\xb3\xa9\xc2\x21\x65\x29\xa7\x7d\x73\x93\x41\xf6\xbe\x76\x04\xa7\x0a\x7a\x33\x9b\x0c\xbc\x45\x0a\x72\x0d\xe4\xc6\xd1\x64\x00\x5a\x1a\x90\x19\x9c\x9a\xe6\xd5\x77\x20\xba\x86\x62\x93\x8a\x85\xa4\x40\xc7\x5a\xa3\x22\x58\x35\x62\xfe\x03\x71\xf9\x36\x72\x37\xb9\x58\x01\xab\xda\xf0\x90\x5b\x3e\x02\xe5\xde\xeb\x32\x96\xf2\xcd\x33\x56\xa1\xcc\xc8\xf6\x57\xa1\x10\x94\xaa\x72\x46\x35\x7b\x7a\x38\x64\xe8\x6a\x67\x1b\x26\x85\x01\x10\x7c\x62\x95\x01\xa7\x3d\xcb\x98\x25\x88\x12\x35\x23\x02\x1a\x39\x86\x27\x85\x28\x88\x95\xfa\x35\xd0\x69\xd2\xc6\xb7\x84\x3d\x0d\x5b\x24\xc6\xb1\x2d\x52\x6d\x26\x04\x2e\x0d\x05\xc3\x44\xb6\xb0\xfd\x82\xda\x60\x5b\x1d\x8d\xbc\x53\xf7\xd5\x42\x1f\xe5\xa2\x54\x20\xe1\x6f\xbd\x29\xec\x50\xd4\x04\xcc\x59\xc1\x8e\xc8\xfa\x13\x85\x8e\x94\x49\x84\xe3\xae\xde\x70\x01\x2b\x51\xe0\xe3\xd2\x02\x2f\xa7\xdd\xe7\x5b\xf7\xb9\xd0\x47\xda\xc6\x1a\xd4\x8c\x76\x7a\xb4\x33\x3b\x32\x6f\x29\x8a\xb4\xee\xaa\x94\x6c\x64\x72\xca\x88\x5a\x30\x93\xf0\x24\x38\x71\x20\xad\xbd\x4f\xf4\x17\xe1\xcb\x4f\xe1\x0c\x8b\x80\xad\x47\x25\xdb\xa6\x75\xb2\x09\x08\xe8\x09\xcc\xfe\x4b\x29\x4e\x47\x0c\xa2\xff\x19\xcb\xce\x12\x11\x50\xed\x95\x5a\x55\x59\xb9\x8e\x39\x2f\xfc\x5b\xb5\xc9\xa0\xc5\xeb\x19\xd4\xd7\xc6\x68\x22\x4f\x83\xe3\x4e\xd7\x48\x36\x92\xf9\xe3\xd3\x4f\xa4\x6f\xf8\x82\x3f\x56\xbb\x69\xe8\x8f\x08\x58\xd1\xd6\x4d\x7f\xda\xa4\xcf\xe6\xb3\x41\x2a\x95\x85\x05\xfd\x63\xfe\xaa\xf7\xa1\xac\x7a\xf2\xc2\x10\xc4\xe5\xfb\x4d\x0e\x3a\x7f\xb3\x4c\x2a\x52\x33\x16\x6b\x7c\xd8\x3c\x31\x20\x0d\xc9\x4e\x93\x30\x82\x06\x26\x66\xa0\xf5\x41\xe5\x83\x51\x0b\xb1\x23\x80\xab\xb9\x2e\x72\x22\xb6\x83\xd3\x37\x23\x1a\x46\x46\xc0\x0d\xb1\x31\x81\x37\x75\xa5\xfb\x51\x2b\xb2\xf7\x4f\x3d\x48\xcd\x35\xa5\x24\xcf\x54\xdd\x7a\x62\xee\xbf\x33\x01\x49\xc7\xa9\x6f\x3b\x5e\x8d\xe6\x06\xc0\xe0\xe8\x6f\x1d\xe8\xb8\x7d\xcf\x9c\xed\x98\x2f\x20\x67\x45\x1d\x3d\xaa\xce\x67\x7c\x85\x1d\x74\x81\x39\x14\x98\x74\x34\xef\xca\x5c\x23\x81\xa6\x3a\x5e\x4c\x08\x3f\x3d\xa6\x72\x3c\xb1\xb9\xe1\x28\xff\x00\xf8\x49\x1d\xad\x65\x37\x81\xd9\x68\xe5\xa9\x98\x5b\x87\xe1\xdb\xbf\x8d\x01\x9f\x5e\xeb\xf9\x06\x67\x14\xe2\xfa\x9f\x72\x3f\x78\x28\x05\x6d\x8d\xca\xea\xd5\xef\xe9\xda\xc4\xc0\xd2\xc5\xb7\xf2\x47\xba\xef\x3a\xee\xb8\x1a\x1a\x1c\x25\x19\xd4\x25\xf6\xda\x09\x97\x81\xf4\x59\xc3\x44\x16\x5a\x88\xf3\x04\x19\xba\x49\x84\x00\x1e\xf2\xc2\x06\xce\x6c\x6b\x10\x90\x1a\x70\x04\xdd\xf4\x90\x1b\x5c\xc4\x64\x64\x21\xb3\xf8\xa9\xec\xe6\xf6\x1f\x11\x66\x14\x21\xab\xaa\x5e\x3b\xc4\xe2\x1f\xfb\xba\xdd\x6e\x37\xdd\xf7\x72\x5c\x86\xdf\x77\xaf\xc0\x27\x85\x88\xb2\x91\xf9\x43\xb5\xcb\xcc\x58\xe0\x7e\x86\x15\x67\x68\xac\x0b\x4d\x74\xa9\xa9\xae\x34\xd3\xb5\xe6\xba\xd1\x42\xb7\xda\xd3\xdc\x93\x04\xba\xd7\x30\xe4\xf0\xd0\x49\x47\x9d\x35\x7a\x42\x24\xd6\xe7\x6a\x26\xfe\x3d\x51\x90\x1c\xb5\xae\x13\x44\x14\x95\x9e\x75\xf3\x1a\x47\x64\x58\xf9\x86\x7d\xb7\xe5\x9a\xe4\x00\xce\x5e\xfb\x81\x6e\x5e\xf7\x3f\xdd\xc3\xd0\x75\x38\x11\x32\x2d\x3b\xbd\x8b\xed\x68\xd4\x34\x2e\xd0\x2f\x53\x1c\x02\x3e\x98\x7e\x94\x28\xa2\x6e\xf3\x03\x5d\xf4\x3e\x4d\x54\x27\x58\x12\x91\xf8\xcc\xd2\x46\x83\x06\xd5\x86\xfb\x1c\x86\xea\x4d\xd5\xab\xc9\x0d\xb9\xb8\x4a\x89\x57\xd8\x15\xf0\xc8\xc6\x42\xfd\x09\x13\xb5\x74\x40\x60\x9a\x6a\x42\x53\x01\xd3\x38\xe5\x74\x2a\x9e\x64\xd3\xfe\x8d\x82\xbf\x95\x7c\x40\xb4\x60\xe7\x34\xb1\xa3\xea\xa8\x20\xd5\xfb\x2e\x8d\x99\x2c\x94\x1e\x6f\x1d\x4c\x38\xca\x74\x6a\xd0\x79\xf3\x63\x2e\x50\x0b\xcb\x6c\xc1\xd4\x09\xf3\xe6\xc3\x6d\x2d\xc9\xad\xd2\xfd\x52\x99\x71\xe6\xa1\x86\x33\x60\x76\xf2\x80\x95\xb3\xdb\xef\xaf\x58\xaa\x68\xfe\x34\x6c\xe4\xd5\x87\x28\x12\x1b\xb8\x8e\xc0\x4f\xcf\xb8\xa7\x27\x31\xc2\x95\xf5\x81\xf0\xe1\xfe\x92\x76\xf1\x5f\x8b\xfe\x5a\xee\x2f\x53\x90\xeb\xce\xaa\x86\x7f\xef\x37\xb0\x55\x76\x88\xde\x67\xef\xd0\xf8\xf8\xa0\x91\xda\x94\xac\x9f\x5a\xf9\x78\xf5\x25\xe9\x5e\x05\x2e\xdc\xda\x89\xf3\x2a\xce\xd2\x03\x93\xe0\x45\x49\x22\x47\x68\xb5\x26\x61\x15\xd7\xcc\xc3\xe4\x57\x85\x80\x70\x0b\x04\x71\xaa\x5c\x02\x15\x4f\x60\x18\x45\xfc\x81\x5d\x9a\x33\xef\xda\xa5\x8c\x77\xc5\xd4\xbf\x98\xde\x80\x37\x4c\x21\xd3\x73\xbb\x7d\x91\xae\xb5\xda\xdf\x4d\x3a\xb0\x6d\x09\xb0\x34\x05\x71\x44\x1c\xb6\x25\x61\x21\x0f\x92\x8a\xc5\x85\xd9\xb8\x44\x96\x27\xb6\xd0\x4f\x76\xdf\x7a\x5c\x87\x69\xb5\x68\x31\xb1\x85\x31\xe9\x15\xbc\xbc\x2e\x4f\x41\x34\xe0\xd6\x87\xac\x12\x8c\x88\xd1\x12\x4f\xe8\x4e\x9a\x04\xff\xd1\xda\x99\x62\xa2\x25\x90\xc5\x21\x6a\x3c\x0a\x11\xb6\xb7\x7f\xd5\x82\xc6\x80\xc3\x35\x8b\x54\xe7\x10\xb6\xb7\x64\x5e\x33\xc5\x74\x6a\xe5\xf1\x89\xd6\x80\x33\xcf\x34\x60\x2b\x63\x58\xc8\x83\x0a\x93\x3a\x04\xe1\xc5\x99\xca\x49\xaa\x99\x89\x60\x2c\x80\x55\xd4\x03\x38\xa9\x0a\x13\x16\xdd\x73\xa7\xc4\x00\x38\x8d\xfd\xcb\x98\x19\x17\x24\xda\xab\x26\xbc\xe1\x04\x45\x37\x61\x82\x1b\x4e\x82\xa0\x6f\x5d\x02\x28\xed\x80\x1f\x87\xa3\x65\x08\x03\xe1\x10\x9c\xe2\x7e\x23\x5b\x3f\xa7\xa9\x20\x95\xe3\x68\xae\x84\xa6\x0b\x1c\xc3\x02\x1e\x18\x96\x4c\x11\xcf\xcd\x75\x65\xdd\x85\xcd\xe3\xe7\x5a\x5a\x2c\xe7\xb3\x83\x0b\xb1\x29\x77\x40\xc9\x22\x40\x1d\x00\x5e\x63\xd2\xbf\xd3\xc2\x0c\xed\x25\x56\x38\xfa\x23\x64\x01\x24\x86\x94\xe1\x2e\xdc\x90\xad\x96\x58\xde\xed\x72\xc0\xef\xe1\x37\xb2\x8d\xf0\xb0\xae\x15\x00\x3d\x7a\xb6\x0b\xd2\x7b\xfe\xfd\x91\xad\x18\xf2\x4b\x01\x4b\x90\xef\x2c\x32\x10\x0e\xb9\xd0\x21\xeb\x04\x3d\xd6\x06\x87\x13\x4e\x78\x02\x5c\xaa\x35\xa4\xb0\x24\x11\x41\x17\x82\x35\x5b\xf7\x0d\xee\x2c\xca\x1d\xd8\xaa\x99\x17\x65\x14\xb3\x3a\x7d\xad\xd9\x5f\x2a\xbe\x94\xad\xe5\x43\x86\x65\x55\xfb\x59\xb5\x9f\xe8\x17\x71\x16\x93\x1a\x07\x4d\x01\xab\x00\x43\x8c\x80\x90\x75\x80\x62\xae\x6e\xc8\x07\x7d\xc0\xc8\x6a\x8a\x59\x80\x47\x1f\xff\x7d\x3e\x0a\x33\xfc\xa0\xf3\x05\x9c\x21\x13\x47\xcf\x8d\x53\xf7\x3d\xb2\x5b\xfc\x2d\xca\x82\x93\x5e\x10\x02\x5b\x00\x0b\x17\xa2\x00\x15\xb2\x4e\xd0\x7b\x4f\x01\x27\xed\xe3\xe9\xdb\xf8\x66\xfb\xa4\x25\x9c\xc2\xe4\x42\x7a\xa1\x99\x16\x9e\x61\xa1\x27\x2d\x69\xdf\xa3\x98\x00\x10\xe1\x3a\x61\xd5\x86\xac\xb3\x7f\x6f\x3a\x7b\x27\x7f\x4d\x98\xb8\x31\x0c\xf6\xa5\xa4\x63\x5a\xe8\xc9\x22\xd6\x5c\x63\xbf\xd1\xc6\xe9\x1f\xcd\xb8\x88\xd9\xa0\xf4\xdd\x94\x80\x4a\xd3\x44\x45\x00\xc1\xff\x76\x13\x47\x07\xf3\xa4\xa2\x62\x2e\xc0\x34\x7e\xaa\x19\x3f\x13\xd6\xd5\xd3\x75\xb7\xda\x8d\x5c\x93\x78\x2e\xcc\x99\x37\xcb\xd8\xc7\x17\x3d\x71\xae\x59\xd8\xd8\xf8\x79\x53\xc2\xeb\x30\x64\x2a\xa1\x3c\x96\xf6\x01\x3a\xc9\x8a\x99\xe4\xc3\x94\x92\x77\x14\x15\x44\x5b\xd9\xe8\x15\x1a\xa4\x0e\x0f\x13\xab\xda\x34\x58\x0c\x3f\x50\x14\x78\x29\x35\x2d\x8e\xe0\x93\x41\xbd\x42\x33\x94\xbf\x11\x02\xfb\x0f\x07\x06\x34\x73\x18\xe0\x26\x84\x28\x8f\x99\x12\x36\x76\xea\x3e\x67\xdb\x53\x7c\xb4\x5e\x9c\x6e\x65\x98\xa5\xf4\xfc\x8b\x8e\x07\x84\x1f\x24\x96\x02\x1b\x13\x12\x47\x99\xf8\xc4\x89\x40\x7c\xbe\x24\x67\xa9\x2e\x07\x51\xfc\x11\xb4\x46\xba\xf8\x5b\x7a\x08\x12\xcb\x9e\x40\x82\xe4\xbe\x0b\xbf\xa0\x24\x5c\xb4\xec\x8a\xd7\xb4\x5a\xbe\x5d\x79\xe0\x2c\xd6\x13\x54\xe0\x45\x1b\x3a\x5e\x2b\xe9\x7e\xd1\xf9\x80\xa3\x1f\x70\xfd\xa2\xbb\x8a\xe1\x3a\x99\xab\x36\x71\x0c\xb0\x94\xf8\xc5\xc1\x7e\x96\x46\xaf\xa3\x4f\xcd\xcd\x69\x06\x66\x16\xb8\x70\x0c\xe6\xa9\x8d\x09\x65\x27\x60\x9e\xc3\x98\x1f\xe8\xa8\x3f\xfc\x36\x64\xb5\x4a\xdf\x5f\x94\x57\xad\x05\x40\x04\x11\xae\x6d\xe6\xc7\x82\x63\xe5\x53\x9d\xf8\xfe\x3a\x6e\x6b\x8f\x11\x45\x1d\xcc\x34\x33\xb3\x92\x99\x4d\x6c\xcb\x96\x32\x09\x0d\xd1\x57\xfb\x7e\x29\xc4\xd6\x87\x37\xf7\x16\xb5\x8a\x34\x93\x29\x57\xc3\x13\xce\x21\x68\xdf\x60\x2b\x79\x3a\x30\x52\x68\x53\x56\xcb\x50\xca\x12\x67\x79\x40\x1d\xaa\x91\x84\xc0\x7d\xf0\xe0\x50\x77\x3b\xc2\x30\xa8\x28\x17\xe8\xbe\x03\xd1\x97\x26\xc2\x5b\x98\x0d\x2d\x1e\x05\xbc\xea\x82\x75\x30\x84\x52\x38\x7a\x06\xaa\x4f\x47\x95\x99\x01\x19\x99\x32\x2d\x4e\x10\xf6\xd8\x10\x5d\xc7\x90\xa1\x47\x0d\x2e\x9e\x5b\xc3\x27\xd5\x50\xba\xb2\x5e\xcd\x2a\x2e\x9d\xdd\x0c\x30\xa1\xfc\x59\x97\xad\xa4\x29\x7f\x47\x81\x56\x00\x17\x52\x7e\x1f\x40\x21\x71\xea\x49\xca\xd9\x50\xba\xd5\x12\x54\x47\xb6\xf4\x86\xe0\x8f\x56\x78\x45\xff\x54\x69\x91\x87\x79\x03\xd5\x50\x33\xa8\xfa\x1d\x75\x1f\xb2\x94\x43\xfa\x80\xcd\x94\x58\xe8\xe6\xa6\x6f\xe2\xab\xc0\x22\xfb\x62\x4b\xd2\x0b\xba\x95\x71\x3d\x53\x6d\xdc\x97\x1c\x34\xce\xcf\x54\x56\xbe\xce\xd2\x28\x02\x90\x55\x88\x61\xba\x7c\x71\x1a\xd4\x56\xac\x73\x21\xca\x78\x9b\xb1\xc6\x17\xd7\x11\xd7\x4a\x09\x4c\x4b\xbe\x05\x93\x8d\x70\x7b\x05\x93\xcf\x4b\x62\xc2\xda\xe3\x99\xa9\xb6\xf6\x48\x7e\x7a\x24\x3e\x3d\x62\x17\xa7\xde\x39\x68\x20\x1e\x78\xc7\xa0\xc0\x4d\xed\xb6\xf5\x1c\xd2\x0c\x1a\xac\xf9\x22\x30\xbf\xf8\xd7\xea\xd2\x6b\x9c\x56\x7d\xc0\xfb\x7d\x36\xa1\x3f\xb5\x8a\x03\xaa\x34\x10\xa2\x08\x5e\x6f\x5b\x8a\x51\x65\x57\x67\x99\xb6\xb9\xaf\x1f\x3e\xfc\x00\x0b\x9c\x1c\xd7\x88\x26\x6a\x41\x13\xee\xb1\xd0\xd9\xd1\xcb\x6b\x09\x46\x96\xf3\xdb\xa1\x7d\x54\x0f\xad\x57\xc7\xcd\xce\x53\xdd\x43\xfe\x63\x6b\xab\x7e\x49\x52\x71\xf4\xaa\xad\x9f\x1b\xa1\x52\xf9\xe4\xdd\xb2\x18\x6b\x46\x48\x5b\xda\x72\x76\x8c\xbe\x12\xb1\x14\x1b\xea\xf6\x1a\xfb\x00\x95\xbb\x4f\x84\xc5\x22\x97\xd0\x5b\xa9\x0d\x39\x37\x6b\xb4\x50\x13\x71\x20\x8b\x67\xb6\x7e\x02\xe6\xc0\x60\xce\x19\x36\xbf\x2b\x40\x42\xae\x61\x25\xb4\x0c\x20\x95\xcc\x5a\x35\x52\x85\x00\xfe\xa4\x40\xab\x24\x86\xcb\xd7\x3e\xdf\x78\x65\xdd\x00\xa2\x7d\xae\xff\xb6\x6d\x9b\xec\x92\xbd\x9f\xf7\x35\x3e\x45\xc8\x83\x2c\xa1\xd5\x09\xac\xf3\xd9\xc3\x4d\xee\x90\xa2\xff\x66\x02\x99\xcc\xb0\xe2\x33\xaa\x9c\xd3\x54\x87\x41\xf7\xa3\x26\xa3\xc9\x19\xb4\x6e\x99\x30\x70\x4e\x82\xaf\x58\xb6\xae\x7e\xcc\xa7\xc1\xdc\x78\xe9\xa2\xba\x35\xb5\x0d\x84\x59\x6b\x1f\xe1\x6a\x7a\x71\x1f\x35\xa6\x8f\xf1\x4d\xf6\xe3\x09\x1e\x74\x40\x81\x2a\x21\x01\x8b\xf7\x15\x5f\xe2\x2d\x5f\xef\x4a\xc6\x92\xbb\x99\x46\xa2\x2f\x03\x44\xd9\x81\x99\xc6\x8a\xf4\x35\x4d\xf0\x6c\x2c\xd5\xf7\x2f\xe1\xd4\x35\x9d\x4e\xc1\x91\xa7\xaa\x55\xf4\x71\x8b\x3b\xa2\xb9\x8d\xac\x07\xd2\xac\x7b\x19\x97\xca\xe4\xf7\x3f\x03\x96\xfb\x05\xbc\xaf\x5c\xa1\x21\xef\x40\xd1\x84\x60\x23\x9e\x27\x09\x4f\x3e\xc9\xd3\xd9\x48\x9c\xb2\x52\x09\x05\x4b\xd9\x04\x3e\x87\x46\x56\x5f\xa5\x15\x9a\xcc\x69\x2a\x45\xfd\xf5\xb9\x17\x6f\x6f\x60\xfd\xe7\xd5\x5a\xb1\xcb\xf8\x64\x23\xc8\x66\x52\xa3\x3f\x80\x82\x26\xe8\x3e\x92\x80\x66\xa6\x9d\x43\x75\xdf\x3c\xad\x95\xb9\xb7\xf1\xa5\x8e\xbc\xeb\x8b\xa4\x79\x16\x8c\x65\xaf\x53\x48\x57\xce\xf1\x0a\xfb\xb4\x9a\xe8\xa3\xc8\x06\x55\xbd\x66\x13\x24\x7e\xdc\x84\x54\x2d\xc7\x73\xe6\x6c\x07\x0b\x55\x59\x29\x20\x4d\x7a\xd1\x0b\x5e\x74\xc6\x36\x4c\x40\xa7\x3f\x61\x3a\xa9\xd0\x2c\x03\x2d\xb9\x0a\xcb\x85\xc4\x21\x32\xe1\x02\xec\x94\xc6\x0c\x50\x80\x16\x05\xca\xb7\x25\xb2\x91\x87\x37\x92\x90\x6f\x3b\xf0\x52\x13\x8a\x15\x5e\x2a\x1a\x8a\xb2\x98\x5c\x17\x1f\x89\xef\x77\xb6\x83\xfd\xfa\xe2\x4f\xe4\x91\x98\x63\xcd\x79\x2d\x45\x12\xa9\x26\x3d\x4b\xbc\xd6\xbb\xef\x3f\xee\x39\xc9\x8c\x48\x68\xb1\xfc\x05\xf6\x30\x35\x19\x9e\xac\xfe\x01\x2a\x49\x92\x36\x4a\x15\xd3\xa9\xc0\x42\x39\x45\x2f\x20\x1a\x82\x7b\x88\x74\x84\xf6\xd8\x17\x02\xb7\x89\x3e\x0c\x71\xdf\xdc\x54\x3c\x38\x88\xd8\x8f\xaa\x85\xad\xb5\x8d\x1d\xaf\x0e\x73\x57\x82\xd4\xdc\x54\x5c\x61\x47\xb8\xa3\xcc\x79\x5c\x20\x61\x86\xb4\x45\x75\xef\xea\x2f\x05\x58\xc1\xc8\xd2\x7c\xf9\x44\x98\x57\x66\x7f\x14\xe3\x7b\x80\x8a\x40\x57\xa2\x15\x16\x79\x3a\xfa\x67\x8d\xf7\x2a\xaf\x97\x71\xfc\xd2\xef\xbb\x63\xc1\x1c\x7d\xa5\xbd\x03\xbf\xfb\x1c\xd4\x72\x10\x9b\xa4\xb1\x05\x02\x10\x4d\x5f\xbf\x54\xa5\x90\x3b\x15\x80\x25\x25\xe9\x4c\x7c\x07\x99\x20\x3a\xf7\x4c\x42\xa0\xba\x15\x4d\xa6\x8a\x7b\xd6\xec\x8d\x43\x78\xbc\x8f\xf6\xab\x16\x1f\x36\xe4\x84\x99\x31\xf2\x97\xe8\x04\xee\x4d\xac\x9e\x2e\x7f\x31\xfd\x34\x24\x02\x4e\xfd\xab\x04\x82\xc2\xd8\xf2\x6a\x4a\x2d\xd4\x58\x56\x09\xfa\x23\xa4\x50\xda\x47\x5a\x60\x49\x7a\x37\x0e\x3b\xdd\xc7\xfb\x5c\x55\x27\xc6\xd7\xb1\xe2\xba\x66\xab\xc9\x57\xca\xac\xab\x4d\x55\x13\xcf\x34\xe9\x01\x60\x6b\xfa\x41\x84\x5f\x68\xc2\x4f\xb1\x0a\x89\xea\x8f\x0e\x8b\xe2\x8d\x10\x15\x0f\xe0\xe6\xe9\xfb\x52\x6a\xfa\x8a\xf3\x01\x22\x4e\x63\x51\xff\x0b\x89\x6a\xc8\x8d\x54\x1b\x06\x72\x14\xf0\xa4\xaa\xec\xd8\xfc\x21\x54\x7e\x79\x8d\x79\xdd\xf8\x3d\xdc\x2a\x8e\x68\x3e\xb5\x7a\xad\xa4\x2d\x8e\x28\x65\x57\x86\x0a\xc6\xd9\xcd\xc0\x71\xc7\x92\xee\x05\x91\xa6\x19\x56\x3d\x5c\x10\x4d\x9b\x03\x76\x27\x31\x49\x0e\x76\x83\xfd\x94\x4e\x37\xa8\x6f\xe4\xbd\x1d\xe4\x40\x21\xd8\x69\xdd\xa6\x52\x1b\xe5\x0d\x49\x9c\x82\x1d\x22\x13\xdf\x09\x45\xe7\x05\xb5\xd5\x91\xae\xc4\x4d\x35\xee\xfe\x5e\x43\x28\xb1\x05\x0b\x41\x7b\x28\xc0\xfd\x1a\x6a\xdf\xa0\x93\x8a\x38\x07\xee\x3b\xb8\x04\x69\xca\x73\xef\x4e\xea\x17\x0e\x6a\x0f\xb0\xa7\xa5\x11\x3a\xac\xf5\xac\x1d\x81\x03\x49\xcd\x22\x16\xbd\x09\x39\x50\x94\xbd\x90\xbf\xeb\xbb\xa2\x64\x6c\x83\xad\xf8\x7f\xba\xda\x47\xe6\xf5\x44\xd3\x38\x51\x7f\xc3\x19\xc8\x32\x5b\x95\x3a\x7e\x03\x50\xfe\x10\xab\x74\x6f\x83\x1b\xb4\x3f\x92\x1b\xff\x98\x11\x0c\x68\xdc\x45\xfb\x36\x79\x30\x95\xd9\xb8\xa1\x4f\x31\x26\x59\xd1\x91\xe4\x32\xce\xbf\x7e\x3b\xe2\xc8\xc5\x5b\x06\xbe\xe1\xa3\xb5\xeb\xae\x29\x7e\x32\x54\x7a\x7b\x75\x3a\x55\xfc\x39\x4b\xaf\x03\x7f\x98\xc3\xbb\xb7\xbf\x5e\x03\xdd\x55\xfc\x59\xa5\x56\x49\xfe\x2e\xdc\xaa\x91\x76\x9e\xac\x98\xb1\x12\x51\x93\x94\xf6\x4e\x26\xb2\xd6\x6e\x51\x60\x58\x79\xab\xcb\x3e\x50\xfe\xab\x10\xac\xc6\x4a\xc7\xca\x2d\x6e\x14\x1f\xbb\xf7\xa1\xda\xd2\xb5\x95\x38\x3a\x3a\x25\x96\x0a\x0f\x6d\x4a\x73\xbc\x45\xbf\x3a\xb4\xd2\x0d\x4a\xbe\xeb\xd2\xcb\x4d\xa6\x1e\xa8\x21\xf2\x73\x72\x49\x00\xd3\xed\x8d\xbf\xac\x00\x99\x0a\x5d\x3b\x02\x8d\xa2\x0e\x4c\x21\xc0\xca\x00\xfa\x50\x22\x74\x99\xe1\x33\xe8\x28\x31\xcd\xb7\x04\xeb\xec\x71\x81\xbe\x2d\x8a\xc5\xb4\x55\x6b\x47\xbe\x6d\xe6\xb3\xdb\x3a\xa9\xff\x2a\x7a\xb5\x63\x53\x8d\x7a\xe5\x81\x81\x23\x4e\xae\x94\xe2\xd7\x8b\x97\xce\xd2\x7b\xa5\xd6\x2f\xb6\x7f\x8a\xbd\x29\xff\x55\xdc\x92\xb8\xad\xdf\xfc\x1f\x53\x1d\xc7\x32\x3d\xbe\x6f\x4b\x0c\x30\x7b\xf0\xd8\xe0\x8f\x14\x02\xb5\x6d\x13\xb3\x43\xbb\x8d\xe9\xc0\x84\x44\x8f\xc7\x06\x3f\x1f\x9c\x7a\x42\xab\xd0\x5c\xa4\xf3\x3b\x0e\xe6\xd8\xfa\xd7\x66\xb5\x30\x33\xd7\x75\x9f\x24\xdf\xc6\xd5\x3c\xbd\x16\x7a\xd3\xe1\x67\x8c\xde\x85\x81\xd5\x6e\x21\x1c\x76\x1b\x7b\x0a\xc9\x77\xfa\x42\xd2\xbc\x82\x3c\xb5\x84\x92\x37\x16\x88\xcc\x74\x0a\x81\x2b\xfe\x3d\x40\x34\x03\x53\x2a\x06\xf0\x2a\xdc\xb9\x42\x53\x81\xe1\xb2\xde\x4b\x1c\x46\x68\x07\x8c\x10\x8f\xd7\x5d\x79\x0c\x8e\x03\x06\x12\x91\xed\x0e\xfd\x9a\x8c\xd3\x13\x97\x45\xe1\x2e\x4c\x6a\x23\x12\xc1\x3a\x2b\xb5\x89\x76\xfc\xc2\x11\xe1\xc1\xaa\x23\xc8\x0f\xcc\x68\x25\x51\xb8\xfa\x8e\xcf\x6c\x3d\x94\x85\x34\xec\x69\x9b\x8d\x2f\x9b\xe7\x4f\x3d\x28\x85\xf4\x04\x61\xbf\xfa\xf7\x82\x75\x2f\xed\x9d\x3a\x73\x9f\xfe\xa4\xe7\xfb\xfa\x9c\xed\x0f\xd2\x43\x94\x33\x44\x33\xf5\x1c\x4c\x75\x69\x79\xb2\x0c\xfa\xc5\x2f\x9e\xf9\xa5\xe8\xb3\x04\x7f\xdc\xd5\xc7\x0b\x8b\xab\x71\xd3\xc2\xd4\x1d\xa0\xfa\x9e\x9b\x28\x80\x00\x53\xef\xc8\x05\xed\xdd\x93\x31\xa2\x0e\xce\xc7\x91\x36\xa4\x3e\xce\x1f\x2f\xdb\x9e\x39\x82\x0b\x41\x05\x60\x75\x5b\x5b\x2b\x79\xe8\xaa\xaa\x95\x6c\x40\x77\x46\xc2\x0e\x97\xa3\xed\xee\x48\x6d\x24\x9e\xd1\x33\x91\x60\x5e\xc4\x1c\x2f\x89\x96\xc8\xc9\x2a\x1f\x3b\x8d\x27\xa6\x42\xe7\x3a\xd3\x9f\x82\xab\xdf\x92\x8a\xd2\x0f\xe3\x56\xdf\x65\xa0\x4c\x8a\xbd\xca\x19\xa6\xaf\xe8\xb8\xb6\x7f\xc5\x41\xa1\xe2\xac\x24\x49\xd5\x66\x41\x75\x77\x48\x30\x31\xf5\xf3\x74\x15\x83\xfb\xbb\x90\xfa\x9e\x8e\x0e\x27\xc7\xa2\x83\xf5\xb2\x86\xba\xb1\xda\xee\x3f\x32\x9c\x9f\x2b\x2c\xdd\x94\x41\x5d\xfe\xad\x78\x9d\xf4\xac\xaa\x42\xa7\x0a\xc9\x3e\xf2\x7b\x3b\x72\x22\x9d\xc8\x1f\xac\x12\x3b\x88\xb1\xcb\x81\xa9\xdc\xf1\x8f\xd6\x44\xd9\xce\xfd\x36\xf3\x77\x58\x80\x63\xd1\xdb\x13\x92\x6f\x5a\xe5\x6b\xa2\x9c\xd1\x27\xc5\x64\x86\xe1\x2b\xd9\x1a\x22\x74\x76\xff\x61\x80\xb5\x57\x65\x1c\x78\x2b\x7c\x81\xb8\xe7\x1a\x24\xee\xc4\x3f\xc0\xc0\xb8\x7f\x4f\x6b\x79\x8f\xf4\xa9\x18\xea\x66\x19\x5d\x6d\xc9\xcd\x2a\x78\x31\x45\x75\x04\xd6\xa3\xee\xad\xb1\xca\x9d\xfb\x1f\x9d\x0d\x36\x3c\xf7\xf3\x9f\x05\x24\x0d\xaa\x69\xdb\xb6\x5c\x0b\xd7\xf8\x04\xf4\xd1\xdd\x5d\x89\x32\xc2\x88\x24\x51\x1f\x48\x0a\x17\xdc\xff\x66\x37\xf9\xf3\x27\x28\x63\x20\xac\x47\xa5\x95\xa9\xc8\x88\x9f\xeb\x9a\x4f\xcf\x8d\x96\x28\xf5\x13\xfd\xa0\xb2\x2d\x9b\x56\x57\xe8\x86\x5f\x0b\xdb\xb8\xd4\x01\x59\x4e\xfc\xc0\xf9\x76\xa2\xf4\x49\xa5\xea\xda\x87\xc5\x71\x7c\x8f\xe7\x2a\xb2\x16\x55\x76\x4f\x58\x6b\xe8\x1c\x27\x27\x54\xe6\x8a\x79\xd5\x56\x35\x5d\x77\xc7\xa8\xa4\x59\x1c\x7e\xb0\x03\x4d\xa4\x53\xe5\xbe\xdf\x72\x5c\x9d\xef\xbe\x91\xde\x48\x07\x62\x80\x90\xac\xa5\x67\x7f\xe6\xe6\x9a\x74\xb4\x68\x21\x42\x57\xf9\x39\xec\xd6\xe9\xd0\x73\xf8\xc3\x8f\xbd\xc4\x31\x45\x62\xff\x51\xa7\x32\xf4\xa4\x51\x5a\x12\xa4\x44\xad\x44\xa3\x0b\xad\xa4\x4c\x3d\xc7\xa6\x51\xfc\xe6\x43\xb0\xca\x99\x19\xe7\x8f\x5a\x8e\x6e\xd5\x2b\x4b\xb5\x47\x93\x12\x95\xa4\xbd\xb9\xc0\xa9\x19\xf1\x89\xc7\x3f\x03\xa6\x68\x2d\x99\x8b\xaa\x9e\x7c\x0e\xec\xa9\x99\x77\xbf\x36\xab\xc0\x1e\x85\xd2\x9b\x38\xe9\x8a\xd3\x9e\x50\x3c\xf0\xa8\x5f\x1f\x08\xf0\x61\x3d\xb8\x8a\x89\xef\xc8\x3b\x08\xb3\xa6\x40\xc9\x7c\x79\xc2\x05\xeb\x7a\x5e\x2a\x66\xbf\xd5\xe7\x0a\xaa\x3c\x61\x51\xe1\x42\xe8\x3f\x04\x40\x94\xa1\x1c\xe7\xc1\x83\x93\xab\xe2\x01\x52\x97\x1f\xfa\x31\x01\xbf\xd9\x90\x78\x78\x4b\xaa\x65\x2c\xda\x54\x98\x13\xee\xd6\x25\x49\xe1\xc1\xbd\xb2\x41\x44\x47\xa1\x27\x3d\xca\xc1\x6a\x88\x94\x8b\xc7\x88\x81\xeb\x0d\xd8\xc1\xac\x1b\x89\x08\xb0\x07\x0c\x3d\xe4\x67\xd7\x49\x7f\xb3\xda\xa1\x40\x58\xca\xa4\x59\xc4\x7e\x98\xa4\x7f\x2e\x3f\xc5\x41\x13\x47\x62\x6e\x0e\x3b\x16\x96\x50\x89\x4c\x7f\xbc\x92\xdd\x42\x1d\x18\x81\xc1\x7b\x67\x57\xc7\x22\x62\x5d\x95\x53\xfa\x50\x17\xc6\x0c\xfe\xbc\xcc\x58\xe5\xe4\xb4\x66\xe0\x4b\xbd\xd3\x51\x8e\x41\x28\x61\x8d\x1f\xf6\x46\x8a\x7e\xd5\xd1\x66\x8f\x5c\xd0\x99\xea\x5f\xd9\x93\x6b\xdc\xab\x16\x67\x09\xaa\x8f\x53\x03\x1f\xa7\x17\x9f\x5c\xc1\x16\xcf\x26\x65\xf5\xcb\x5c\x95\x8f\xe9\x1b\x29\xcc\xc4\xfa\x55\xfb\x86\x75\x44\xab\x97\x18\xbb\x06\xdd\x21\x72\xdf\xde\xea\xfc\x3f\x8c\x52\x0a\x64\xbe\x6b\x7a\xbf\xd3\x7b\x1d\xbe\xe7\xf6\x6e\xdf\xb7\xfa\x81\xa7\xe8\x3d\xc6\x5b\x7d\xee\x04\xa2\xe9\x6f\x85\x56\xfb\xaf\xe6\x9b\x05\x88\xf0\x88\x33\x06\x85\xc5\xf4\x2f\x9e\x3a\x52\xfa\xdc\xa2\x62\x0b\x7a\x38\x68\xca\xc3\x9d\x17\xb5\x1a\xdb\x08\x3e\xa9\x2e\x2e\x33\x59\x9b\x3a\x0b\x09\x39\x8d\x45\xbf\x5b\x89\xcc\x51\x3b\x5e\xe7\x45\xd2\x60\x36\x96\x54\xb7\x67\x9f\xf1\xf6\x3b\xae\x4d\x78\x76\x76\xba\x2a\x76\x06\x4e\x81\x64\x17\xe7\x2f\xef\x7a\x58\x9a\xba\xf0\x37\x52\x0a\x34\xf4\x92\x37\xe8\x77\x55\x5d\x35\xe6\x49\xa1\xd7\x4f\xa9\xf0\x15\x82\x49\x61\xb7\x33\x0b\xae\xb2\x2f\x76\xb3\x9c\x14\x94\x63\x5f\x14\x3c\x03\xad\x56\xb1\x3f\x79\xd6\xa1\xd7\x15\xa6\xf7\x24\x38\x1c\xf7\xb0\x3a\x48\x73\xb7\x9e\xba\x9b\x50\x63\x2d\x52\x73\xd0\xa3\xd1\x6a\x4c\xd5\xd5\x11\x07\x5e\x2f\x2d\x42\x1c\x99\xb8\xad\xf6\x00\x02\x6a\x1f\x84\x3d\x6a\xc2\x72\x02\x1b\x06\xc3\x95\x36\x02\x6e\x48\xf9\xd7\x64\x83\x77\x17\xea\x3a\x1d\x52\xdb\xd6\xb7\xe7\xb6\x12\x07\x40\x3d\xb5\xcc\xc2\xc2\xf3\x6c\xa1\x8b\x21\x75\x59\xee\x21\x43\x0f\xb2\x3b\x9f\x1b\x5b\x48\xac\xf4\x61\xc8\x17\x1b\xbd\x2e\x6a\x4c\x11\x66\x6a\x35\xc4\x6a\xef\xec\x98\xa2\xad\xf9\xb0\xf7\x06\xda\xb5\x5b\xed\xa4\xd0\x2f\x4a\x06\x30\xfd\x5f\x43\xa3\xae\x30\x05\xce\x32\xec\x18\xf8\xb7\x29\x9f\x63\x7b\x56\x70\x44\xf3\x38\x77\xc9\xfe\x50\x2f\x84\xed\x19\xc0\x21\x62\xea\xe4\x3d\x31\x22\x75\x6f\xcf\x85\x29\x56\xea\xc2\xdb\x2f\xa5\x6f\x14\x6a\x72\x1b\x30\x03\x38\x25\xfc\x45\x39\xf0\x87\x4d\x29\xe6\xae\x53\xe8\x88\xfa\x69\x13\x00\x41\x70\x06\x52\x1d\xab\x9c\x42\xac\xf4\xf1\x74\xb8\xec\x6b\x17\x5c\x80\xd0\x2c\xe6\x11\x24\x3d\xab\x9a\x47\x19\xa2\xd9\x94\xb1\x60\x1e\x98\xb1\xe1\x02\x6c\x76\x2a\x0b\x3f\x14\x55\x48\xe6\xcf\x10\x87\x76\xcc\xcd\xfb\x49\x5d\x50\xcc\x13\xcc\x4f\xe8\xf1\xca\xe4\x78\xc6\x55\x2e\x97\x1b\x0b\x4b\x06\x74\x7a\x7e\xec\xca\xc2\x1c\xb5\x6a\x25\x93\x30\xd9\xb5\x44\xdc\xee\xdb\x46\xff\x56\xb5\x66\x37\x26\x79\xec\xd2\xca\x04\x7f\xef\x4e\x92\x40\x04\xff\x24\xc1\x06\xf5\xa1\x94\x5f\x61\x4f\x7d\x62\xe1\x58\x45\x0d\xa2\x2d\xea\x60\x55\xd9\xa6\x29\xe8\x32\xc9\xf0\x02\x6c\x2a\x9c\x6c\x20\x4c\xf7\x3a\x92\x41\x8e\x2b\xd9\x74\x86\x58\xc6\x50\x66\xf4\xc5\x68\xb6\x6e\x78\xad\x51\x14\xf3\x98\x21\x93\xe9\xdc\x52\xf6\xe2\x30\xb2\x62\x69\xf9\x62\x21\x69\xf9\x66\xe6\xf1\x72\xde\x0e\x56\xc8\xff\x06\xd2\x19\x65\xaa\x8d\xab\x8d\x51\x8b\xa8\xc5\x98\x84\xe2\xf8\x72\x88\x6d\x12\x8a\x03\xce\xa1\xb7\x71\x14\xd7\x9c\xa1\xdf\xdd\x51\x7c\xc5\x40\x3a\xd3\x46\xf1\xc3\x31\x1d\x35\x51\x3c\x61\x4c\xf3\x9f\x03\x0f\x9f\x96\x46\x51\xaa\x6e\x4b\xa3\xde\x98\x74\x8f\x77\x23\xcd\xc4\xc2\xc1\x90\xbb\xb9\x03\x37\x09\x63\xdd\x88\x1b\x98\xd7\xdd\xbd\xda\xf5\x9e\xb9\xe6\x32\x89\xd2\x1f\x77\x5c\xf7\xc4\x6c\x1c\x48\xea\x5b\x81\x11\xbb\x07\x8a\x16\x8d\x8f\x95\x37\xde\x8c\xaf\xde\x1c\x7e\xf1\xf7\x5b\xdc\x9c\x7f\xad\x81\xc2\xb4\x1a\xe7\xf0\x4d\x19\xfe\xf1\x2e\x2e\x39\x7c\xed\x2d\x9a\x8e\xac\x2e\xa0\xc7\x26\x21\x7f\x09\x32\x4a\x66\xbd\x7f\x48\x06\xbd\xbb\xde\x38\x5b\xe6\xee\x3d\x8f\x33\x13\x09\xfb\xd1\xf3\x6e\xcf\x46\x1a\xdc\xc7\x1b\x9c\x28\x3e\xe4\xfc\x71\xab\x61\x48\x5e\x42\x02\xfb\xdf\x12\x5e\xd2\x28\xba\x38\xd0\xe7\x83\xa7\x54\xc6\x63\xf5\x17\x71\x05\x68\xa5\xc2\xd2\x06\x90\x89\x14\x31\x38\xde\x7a\x64\xdc\x0e\x30\xe3\x96\x46\x5d\xb5\x35\x28\x24\x83\xde\xfc\x0d\xe4\xf8\xd2\x2a\xc2\xa7\x88\x69\xe9\xb7\xd2\x6c\xee\xf7\x26\xa0\x54\xf3\x27\x28\xea\x3f\xcf\x68\x88\x94\xca\xd6\x26\x6f\x6e\xc9\xe6\xde\x2d\x0a\xf5\x7e\x82\x31\xf5\xf7\xc8\x7d\x15\xa2\x88\xd6\x0f\x58\x3b\x7b\x82\x54\x1c\xae\xda\xc7\x3f\xa1\xb0\x5b\x86\x34\x42\xda\x6c\x05\x84\x9e\x67\x40\xe9\x91\x02\xd7\xf8\x9e\xe0\xa0\x6c\xcb\x2e\xe0\x9c\x40\x91\x31\xd3\x2c\xaa\x74\x0b\xe3\xb9\xad\x5f\x3d\x1d\x83\x55\x47\x28\x34\x81\xe2\x0e\x38\x0d\x5f\x4b\xa5\x60\x0c\x73\x4f\x26\xee\xf3\x50\xbf\x92\x57\xd8\x5f\x17\x49\x5e\xb8\x86\xdf\x5d\x7f\xfe\x61\xc5\xa3\x5b\xb4\xaf\x2a\xd0\x00\x2a\xa7\x06\x3e\xe8\xa1\x0a\x11\x2a\x5a\x1f\x7a\x81\xb3\xed\x83\xcf\xdd\xb0\xa7\xa4\xe3\x5d\x65\xfa\xfa\xcf\x95\x85\x2c\x0b\xed\xbc\x4b\x0f\x9b\x69\x5a\xfa\x4b\xa2\x47\x4f\x0c\xa5\xf0\x6e\xe7\x32\xfe\xd9\xcf\xb1\x95\x38\xaf\x74\xdf\xed\xd6\x62\xe7\x91\x35\x6b\x30\xdf\xdc\x7f\x1f\xa6\x96\xd4\x30\x39\x51\x02\xc2\xfb\xb0\xef\x9e\x3c\x7d\x44\xe4\xe8\x91\x74\xae\x59\xc8\x34\x1c\xcc\x6a\x79\x1c\xac\xc0\x92\x67\x19\x38\x0c\x76\xe7\x1d\xaf\xec\x77\xf6\xb8\xe6\x92\x58\x4b\xd8\xba\xb5\xbe\xa6\x00\x63\xd5\x44\xbb\xb4\x9a\x6a\xab\xe7\x95\x53\x04\xec\x31\x44\x9a\xc6\xf4\xd9\xb5\x23\x99\x9e\x5d\xaf\xf2\x0a\xae\x01\x67\x8a\xee\xf7\x4a\x93\xf4\x98\xc9\xa5\x98\xcc\xe1\xd8\xee\x43\x40\x7a\x6e\x25\x08\xbe\x82\x4a\x4e\x9c\xb4\x98\x22\x16\x11\x16\x56\x34\xac\xed\x62\x84\xb4\x2d\xcd\xb5\xca\x46\xa4\xa7\xaa\xd5\x54\x0b\x88\xdb\x02\x65\xc0\xaf\x2b\xc1\x8c\x54\xcf\x05\x2a\x24\x29\xec\x56\x16\xc1\xa3\xe5\x12\x2a\x4e\xf0\x96\x22\x0a\xd9\xa9\x97\x35\xa0\x86\xd1\xc2\xaa\x66\x10\x12\x02\x73\x53\x67\xb9\x79\xb5\xd2\xda\x03\xad\x23\x2a\x70\x59\x96\xbc\xdc\x73\x1e\xd2\xf1\x30\x72\xa2\x66\x19\xb8\xda\x46\xb5\xfa\xbf\xf9\xe1\x82\x54\x58\xd7\xf0\x96\xdd\x02\xe9\x92\x97\xbf\x7b\x9f\x13\x75\x29\x6f\x86\x71\x27\x98\x49\xca\x1a\x97\xf3\xe3\xd5\x76\xd5\x3b\x0c\x15\x14\xeb\x66\xdf\xfd\xab\xe5\x22\xe6\x80\xba\x5e\x0d\xb2\x8a\xb1\x40\x36\x05\xd1\xce\x3d\xfc\x1e\x51\x14\xe4\x09\x7f\x78\xf7\x97\x54\xb7\xf5\x50\xc6\x93\x46\xe4\xe6\x77\x1f\xf7\xb2\x14\xad\x28\x25\x29\x99\x57\x43\xe5\x14\xb0\xc0\x16\x61\xce\x72\x64\x13\xc1\xe4\x34\x92\x3e\x13\x92\x70\x6b\x2d\x7f\xc2\xe1\xe7\xb1\x8b\x47\x5d\xed\x21\xe2\xb9\x3a\x4c\x82\x71\x27\x13\x34\x20\x59\x80\x44\xc6\x7d\x7c\x1c\x72\x68\x17\xaa\x22\x89\x70\x9f\xb5\xa1\xac\x19\x35\x57\x19\xb5\x62\xb3\x56\xb9\x8f\x43\xee\x59\xd4\x0c\x0a\xfd\xc8\xbb\xda\x13\x94\x47\xf8\xaf\x32\xe7\x44\xdf\x60\xd9\x2b\x5f\x1d\x50\x7f\xa7\x56\x64\xe2\x73\x74\x13\xe3\xf5\x30\x8b\x14\xcf\x53\x71\x10\x0b\xdf\xf2\xa2\x6a\x83\x79\x7c\x05\x04\x31\xfb\x5e\xba\x53\xca\x84\xe9\x1a\x60\xd6\x30\x9e\x6b\x6c\xbc\xe4\xbf\xbf\xca\xe8\xdc\x44\x85\x0b\xbb\x1a\xce\xe5\x87\xd5\xc9\x45\x85\x0f\xa9\x2e\x40\xba\x08\xe5\x22\xd2\x95\x3b\x7b\x94\x83\x35\x32\xa7\xcd\x86\x48\xab\xad\x9b\x94\x03\xb8\x86\x04\x82\xd6\x7e\xfa\xc7\x04\x86\x1f\xde\x8a\x9d\x9c\x1f\x4b\x41\x6a\x47\x64\xac\x07\xa5\x36\x0f\x55\x5a\x00\xcf\x3c\x75\x26\x30\x29\x6f\xc0\xea\x86\x6d\xa8\xa4\x0d\x0b\x5f\xea\xd6\x33\x8e\xdc\x6e\xa0\x11\x47\xd7\xad\xf9\x7c\xab\x5b\x4e\xee\x8a\xe3\xc2\x5d\xbb\xe6\xe5\x59\x70\x05\x87\xbb\xce\x52\x84\xb2\x34\x77\x80\x53\x1e\x75\x61\x98\x48\xe5\x4e\x6b\xf1\x01\x7f\xa2\x25\x1b\x55\xba\x63\x94\xa8\x5e\x3b\x27\xf6\x90\xb3\xbb\x7b\xc7\xd0\x04\xda\x5e\x62\x3b\xaf\x76\xd3\xd9\xb6\x40\x1a\x62\xb0\x64\x5c\x71\x64\xe7\x76\x27\x10\x4d\xee\x9e\xe8\x1a\x07\x67\x80\x42\x1e\x52\x3d\x80\xa7\x2e\x09\x9c\x67\xb2\x30\x84\xfe\xd5\xe9\xe6\xc0\x22\xae\xe2\xc3\xab\x2e\xa1\xf3\xfe\x54\xb5\x5e\x6d\x07\x92\x44\x23\xd6\x95\x76\xc7\x94\x32\x97\x67\xf5\xaa\xff\x91\x52\xc9\x2b\x07\x03\x2e\xe2\xaf\xb9\x95\xd1\xab\x69\xd7\x13\x85\x38\x83\x69\x65\x4e\xa0\x84\x90\x84\xa8\xc7\xe7\xea\x73\x48\x9e\xd1\x31\xa5\x09\x08\xf3\xb3\x5a\xd5\x67\x1b\xd8\x27\xef\x7b\xc1\x7d\xd4\xf8\xd7\x24\x05\xe3\x67\xbd\xae\xac\x40\xb3\xda\xfc\x9b\xd3\xed\x0c\x98\xae\x8f\x14\xc8\xc6\x6d\xbe\xd1\x59\x78\xda\x98\x3f\x17\x1d\x75\xdf\xe2\xba\xdb\x50\x38\xb1\xbb\xf9\xd6\x0c\xa1\x25\x3e\x2f\x03\x59\x66\xcd\xab\x88\x15\x1a\x64\xf2\x46\x3b\x21\x02\x2f\x54\x33\x93\xef\x85\x9b\x1a\x3d\x92\xe9\xf5\xd5\x50\x46\x12\xa0\xa9\x8c\xf1\x3c\x92\x59\xa1\xae\xef\x2f\x3a\x33\x65\xa0\x12\x9a\xa1\xdc\x44\xc5\x74\xbc\x6b\x21\x87\x46\xb9\x2e\x2b\x8b\x77\x89\x2f\xe0\x02\xb9\xf2\x9e\x8e\x65\xb5\xd4\xab\x44\xd9\xe8\xf6\xf5\xe3\xa5\xa6\xce\xd2\x6c\x05\x0a\x51\xaf\xb1\xf7\x86\xbe\xce\x9e\xed\x3b\x0b\x3b\xac\xb3\x13\x37\x6d\x1e\xc2\x26\x58\x06\x46\x95\x46\x79\xa9\x6e\x77\x70\xb3\x65\x58\x59\x6b\xc6\x3c\x55\x55\x6d\x0e\x0a\xca\x4d\x1e\xee\x72\x5a\x51\x8e\x9b\xfe\xbd\x62\x02\x93\x3f\x4c\x68\x87\x05\x8b\x29\xab\xa8\xbb\xd5\x0b\xdf\xb3\x18\x86\x6d\xd4\x4d\x4b\x81\x84\x1d\xc3\x85\x22\x5d\x1b\x68\x27\x94\x07\x3a\x02\x03\x44\x40\xaf\x26\x50\xba\x12\x99\x89\x0a\x4a\x23\xac\x00\x5f\xb2\x6a\xe9\x7c\x2d\x0b\xa2\x22\xf6\xaa\xea\x3c\x62\x12\x02\x7f\xe4\x6f\x1e\xcf\xf7\x46\x84\xeb\x3c\x4b\xe5\xcc\x4f\x1a\x58\x8f\x57\x3a\x16\x1a\xcf\x1a\xdf\xb6\x47\x49\x43\x7d\x2b\x4d\x88\x6c\x89\x3d\x2d\x89\x49\xa3\x61\x30\x7a\xcf\xa2\xb3\x2c\x13\x12\x89\x61\x49\xfb\xf0\xcd\x84\x12\x84\x0f\x75\xd0\xa5\x25\xa8\x08\xbb\xf5\x1e\x48\x6d\x01\xa0\x46\xc7\x4b\x7c\x77\x1c\xf0\xd0\xbe\xda\xde\x72\x4e\x48\xb5\x4c\xce\x01\x4a\x56\xca\xec\x3e\x9a\x65\x72\x3a\xe0\x4d\x5c\x4c\x7c\x80\xe8\xed\xb5\x07\x9e\x23\x98\x6c\x1d\x93\x55\xf4\x1e\x83\xeb\xeb\x12\xeb\xa7\x5f\x08\x3b\x58\xf5\xc9\xc5\x92\xaa\x1e\xb6\x34\x9c\xf9\x1b\x37\x54\x55\xf0\x44\x40\x90\x6b\xb2\x1a\x17\x58\xcb\xe3\xe0\xc7\xc2\x0c\x06\xff\xa0\x5f\x25\x64\xcb\x9e\xe6\xff\xd8\xc2\xfc\x6a\x37\xb3\xae\xb2\x37\xad\x7b\xd1\xf8\x25\x35\xff\x2b\x7f\x27\x59\x5d\x4f\x27\x6c\x0e\x3d\xc0\xa5\x01\x0c\xa9\x7e\x2c\x96\x81\x5b\xd1\xfa\x11\x08\xa0\xa5\x5c\xfc\x78\x8f\x24\x8d\x2f\x41\xa5\x8c\x12\x96\xc3\x02\xe1\x32\xe0\x11\xe4\x91\x27\x34\x78\xa0\x75\x25\x51\x7a\xe1\xa9\x97\xad\x1e\x3d\x1d\x56\x34\x12\x0d\x5b\x5c\x07\x72\x59\xf4\x4c\x71\x50\x02\xea\x32\x72\x97\x49\x76\x26\x90\x1f\xf4\x36\x9c\xd1\x22\xe2\x04\x8f\x9a\x20\xf2\x9b\xa1\x36\x9b\xc5\x20\x02\xfb\xaa\x1e\x2c\x2b\x38\x22\x47\xe4\xf8\x24\x98\xf9\x4e\x48\x0a\x50\xad\xe2\xc5\x2c\x7b\xbb\x70\xa0\x96\x15\xe3\x47\x32\x22\x52\x0e\x3e\x50\x57\x6c\xf8\x56\x41\x73\x06\xce\x64\xf2\x65\xf1\xc4\xad\x49\xf6\x1a\x68\x03\x68\xea\xc7\x23\xf3\x9b\x3d\x58\x1d\xf8\x72\x56\x36\x95\xdc\x36\xe1\xd5\x6e\x03\x95\x29\xfd\x95\xf3\x7e\x06\xd5\x7a\xc4\x8e\xd8\x71\x1a\xbf\xa1\xcf\x0e\x2c\x3a\xac\xe7\xf4\x5c\x4b\x99\x31\x83\xc7\x01\xd1\x5a\xdf\x1a\xea\xab\xea\xce\xf9\x80\x0a\x6d\xe6\xee\x97\xa2\x7d\xca\x08\xd7\x93\x55\x94\xed\x88\x0d\x5c\x99\xc8\x94\x59\x7f\x3e\x13\xd8\xd6\x04\x90\x68\x14\x9c\xeb\x02\x51\x73\xcf\x7b\xbc\xab\x89\x60\x21\xf0\x8c\x8b\x51\x27\x16\x0e\xd1\x42\xfd\x1e\x99\x29\x0a\x6d\xfe\x9d\x27\x5f\xff\x97\x61\xd0\x0b\x6a\x58\xb1\xcf\xc9\x04\x24\xf0\xfb\x27\x94\x42\x33\x79\x36\x39\x38\xd1\xc0\x74\x59\xdb\x11\xc8\x70\x06\x84\xe1\x1e\x52\x14\x1c\xe3\x38\x79\x11\xfb\xa2\x1d\xac\xa5\xe4\x33\x82\x1d\x2c\xc9\xdb\xbb\x68\x6e\xe1\x04\xae\xf1\x6c\xb6\xc2\x26\xcc\x25\x5f\x57\xf8\xfa\x9a\xc3\xc7\x42\xd1\xd2\xa8\xa6\x88\x10\x81\xd8\x34\xfb\xb4\x99\xe8\xa1\xe9\x41\x15\x83\x14\x08\x4b\xd3\x42\x2a\x50\x9a\x36\xf5\x8f\xd2\xbb\x4b\x5c\xf2\xda\xe5\xf8\x7a\xc6\x11\xc8\xcd\x22\x8f\xa8\xf7\xcc\x98\x21\x44\xab\x81\xf3\x6b\x75\x07\xe6\x82\xea\x7d\x7a\x8e\x86\xb3\xb4\x2d\xb4\x82\x55\x4d\x75\x20\xaa\x13\x64\x9f\xf8\x44\x63\xd8\xb2\x23\xa0\x3b\xf2\x4c\xdd\xaa\x1e\xd9\x3b\x8e\x03\xdf\x95\xfb\x0a\x15\x7e\xeb\x9e\xc2\x3c\x58\x10\xa2\x19\x14\x74\x0a\x3c\x3c\x91\x23\xa1\x27\xb7\xf8\xd3\x0a\xd3\xc6\x2c\xb5\x4d\x3b\x67\x2a\xba\x1a\x0d\x81\x7d\xc1\x1c\xc5\xdb\xc7\x6e\x9b\x23\xdb\xda\x70\x5a\xd5\x26\xce\xd3\xfb\xe6\x5f\x62\xc4\x52\xf1\xcd\xb7\x52\x5c\x15\xfb\xb0\x41\x32\xf8\xf0\x62\x20\x8b\x6a\x9f\x66\xa7\x79\xa4\x5f\x32\x7a\x52\x98\xff\x4a\xf4\xb4\xfd\x9c\x94\x07\x62\xa2\x9f\x3f\x9a\x88\x16\x18\x35\x60\x38\x4a\x4f\x16\xea\x9c\x24\xd1\xaa\x4e\x19\x07\xee\x46\x59\x23\xf0\x28\xcc\x7c\x57\xce\x42\x2f\x78\xd5\xdf\x4a\x5a\x12\x4f\xfa\x93\xf5\xab\x1f\x41\xdc\x6c\x32\x1b\x0e\x77\x91\x2f\xd5\x97\xfc\x63\x27\xc9\x77\x48\xbd\xfc\xf6\xe0\xfb\x41\xba\x45\x70\xa6\x82\xa8\x26\xfa\xf5\x13\x17\xaf\x4d\x25\x4a\xc1\x3e\x5b\x7d\x40\x08\xd7\xc3\xd8\xa3\xa2\x2d\x12\xa0\xbe\x97\x92\x8b\xac\x7c\xb8\x55\x85\xfc\xc1\x15\x2d\x11\x66\x9f\xb0\xca\x76\x06\x23\xea\xe6\xc3\x88\xeb\x27\x8a\x51\x77\x50\x59\x4e\xdc\x1d\x41\x48\x82\x4a\x15\x4f\xa2\x98\x39\x28\x51\x4d\x6d\x8e\x10\x47\x93\xad\x2b\xf2\x0a\xa3\xd1\x57\xe7\x6a\x7d\xed\x42\x94\x91\xf8\x55\xa3\x69\x1d\x51\x00\x09\x90\x45\x7b\x9a\xe0\xce\xb0\x4e\x44\xde\xcc\x20\x5f\x07\xad\xe6\xe5\x6c\xd2\x72\x1a\xda\x2b\xe0\x46\x32\x92\x4d\x15\x5a\xee\x6d\x4b\x99\x4a\xb4\x1c\x2d\x2a\xc7\xd4\x94\x29\xa2\x65\xca\x18\xe2\x39\xb2\xd6\x76\x50\x8e\xda\xfc\xcb\x3a\xa7\xa5\x58\xb8\x2e\xea\xde\x12\x42\x7a\x07\x3f\x26\x2b\x5d\xe0\xce\xd0\x78\xbc\x14\xa1\xc5\x2d\xa5\x9e\x3a\xf3\x2f\x6e\x2b\x59\xa8\xb6\x42\x83\xce\x30\x6b\x0e\x7c\x9e\xf2\x8a\x58\x86\x29\x0d\x4c\xd2\x6d\x39\x9a\x27\x9f\xea\xc1\x5a\xc9\xc6\xb8\x96\x68\xdf\xd0\xf6\xa2\xa1\x31\xbb\x85\x23\x67\xe0\x34\xec\xff\x28\xb6\x2e\x2c\x12\x53\x4d\x55\x4a\x2e\xc5\xb3\xa7\x87\xd3\xbf\x28\xbc\x2d\xde\x77\x6b\xa2\x34\xec\x08\x69\x88\x14\x6a\x28\xbb\xdd\x5a\x51\x9d\x54\x1e\xea\x7d\x46\x61\x97\x74\x75\x5b\x90\x3f\x59\xa8\x6a\x1a\xd0\x6d\x02\x02\x76\x78\xa8\x37\xc4\xe4\xf6\xac\xf9\xe4\xe9\x84\xc6\x01\x00\x47\x1e\x7b\x3b\xd5\xf9\x73\xea\x04\x7c\x3f\xba\x3b\xf3\xb6\x6c\x8b\x8f\xb2\x9a\xaf\x70\x30\x7b\xe5\x6a\xec\xce\x28\xf7\x68\xf5\x51\x90\x5e\x89\xf2\x79\xf1\xd1\xc3\xf1\x04\x0f\x7e\x74\xeb\x94\xd0\x3b\x8d\xec\xce\x7d\xb4\xc0\x8d\x08\x74\x8e\x85\x0c\xa5\xfc\xb6\x3b\x48\x76\xcc\x27\x70\x32\x71\x6f\x7c\x59\x69\xe3\xbd\x45\xf8\x80\x74\xbc\x75\x46\xd5\xfe\xdc\x0c\x7c\x80\xd1\x32\xf7\x07\x8f\x5c\x85\xaa\xbb\x71\x93\x50\x94\xfc\x0d\xb9\x84\x16\x17\xd7\xcb\xff\x0b\xe0\xa4\x7e\x33\x7b\x1d\x3c\x18\x0a\x71\xf1\x3e\x86\xdb\xa7\xde\x51\xf0\x2b\xfd\x78\xe2\x70\x46\x18\x38\x9a\xba\xf1\xac\x04\x16\x9c\xea\xb0\x52\x63\x93\x05\x15\x19\xda\x09\x9b\xf9\x8d\xb2\x24\x28\xbd\xab\x6e\x3f\xa9\xf7\x19\x53\x55\x58\x00\xee\x7d\x7c\xac\xc7\xa3\x71\x6c\x85\xe7\x63\xd7\xf8\x70\xec\x1e\xef\xff\xe6\x37\x04\xfe\x59\x78\xad\xf8\xa1\xe5\x5b\xc7\xd7\x93\x07\x6d\xd3\x02\xd0\xc6\x29\x51\xab\x69\xa8\x9b\x37\x00\xb3\x8a\x26\xcf\xe7\x2e\x73\xf7\x73\xf3\xb9\xbe\xff\xa2\x70\x6e\xef\xd7\x38\xbc\xbb\xad\x84\xf1\xfc\xf0\x1e\x25\x2a\xcb\xf3\x63\x50\xff\x5c\x36\xee\x55\x09\x80\x26\x60\x31\x1c\xbd\xad\x25\x98\x3c\x85\x49\x89\x90\xda\x54\xf2\xa9\x97\x34\xf8\xec\xe3\x33\xfb\x5e\xaf\x8d\x04\x1f\x76\x70\x76\x81\x18\xda\xc6\xd5\x91\x96\xb5\x15\x5c\xef\x9a\x6a\x5b\x0d\x29\xf9\xf7\xea\xd2\xa2\xbd\xac\xbc\x04\x24\x98\x55\xdc\x41\xcd\x3c\x1a\xc8\x1b\x7f\x64\xcf\x37\xc4\xd6\xe6\x5a\xbb\x17\x07\xed\xcd\xc5\xed\xc0\x94\x4f\x4a\x41\xb8\x4f\x6f\xba\x83\x65\xd8\x3a\xc8\x90\x17\x7a\xc5\x9b\xf0\xc4\x00\x4a\xaa\x0c\xb3\xc3\xea\xf9\x2f\xfc\x06\x28\xed\xec\xbe\xa9\xce\x65\xa5\x86\x69\x7d\x9c\x9d\x90\xe8\x10\x92\x7d\xe8\x88\xbc\xbe\x3f\xb7\x4b\xdd\x2f\x9f\xc3\x0d\xdc\x4a\x44\xb5\x24\x05\x4e\x03\xc8\x4f\x05\x13\x53\x13\x89\xc5\xee\xdf\x0d\x4a\x10\xbc\x2a\x74\x2c\x0f\xaa\x2c\x81\x61\x60\x90\x09\x6a\xbf\xf8\x2c\x56\x0c\xd2\x8f\xb2\x33\xbc\xe7\x35\xf0\xef\xcd\xb9\xc4\x0b\xd5\x76\x28\xcd\x97\xc1\x74\x1e\x01\x3c\x0b\x95\x78\x0f\x46\xa5\xd4\xb3\xfb\xf0\x37\xb8\x9f\x0b\x0b\xae\x91\xce\xa5\xe6\x27\xb6\xae\xb3\x9b\x33\xc9\x8b\xd8\x2c\xd8\xf9\xa1\x59\x16\x64\x70\xd6\x1e\x09\x63\x71\x04\x52\xbf\xeb\x13\xe6\x0c\xa0\x6f\x60\x86\x03\xd6\x3b\x71\x65\x16\xc3\x10\x28\x58\x20\x03\xc0\x4f\xfd\x09\x16\x06\x0c\xda\x7d\x1a\x86\x31\x46\x57\xb3\x44\x67\x1d\xd7\x57\xc9\x12\x48\x86\x4c\x93\x3b\x43\x4b\xb9\xe5\x69\x09\x50\xaf\xcc\x0e\x45\x62\x2c\x9e\x9c\x55\xba\x3f\x4e\xf5\x99\xa0\x3e\x5f\xd2\xfb\x13\x3d\x73\x59\x51\x8f\x8a\x4a\xcc\x39\x44\xa8\xdc\x95\xa0\xce\x97\xf0\x4a\xb8\x5a\x8c\x14\xb0\x24\xc3\xaa\x77\xc6\x3a\xbe\xe7\x1e\x8a\xee\xc9\xc3\xea\x42\x31\xce\x9d\xbc\xde\x6d\xc1\x16\x6b\x1b\x87\xe2\x78\xd1\x3d\x6d\xf3\xb5\x4a\xbe\xb0\x84\x9e\x67\x19\x9c\x7e\x2f\x11\xce\x11\xcf\xa7\x8b\x0f\xb6\x1d\x3d\xbe\xe5\xfd\x29\x94\x12\x8e\xc6\xcb\x69\x6c\x30\x86\xd0\x38\xf0\x35\x29\xa8\x4e\x94\x4d\xc5\x8c\xe4\x19\xd5\x6f\x69\x5a\x85\xea\x44\xa6\xb3\xb4\x51\x05\x86\x37\xf2\x30\x74\x42\xa3\x46\x8e\x75\x24\x32\x2b\x56\x6b\x09\xbb\x1f\x66\xe9\xf3\xf2\x50\xe9\x3d\xf3\xea\x35\x24\x50\xde\x8a\x72\x4c\x32\x9d\x68\xb5\xe6\xef\xef\xea\xf3\xef\x24\xc2\x0b\xbe\x92\x8c\xc9\x23\x9e\xa7\xc3\xb8\x0d\x8f\xa0\x02\x93\x98\xd1\x99\x2b\xcf\x39\x92\x77\x23\x79\x56\xc3\x61\x41\x9b\xf9\x42\xad\x6a\xfd\x32\x97\xa5\xbc\x8a\xb6\x35\x56\xd8\x92\xf6\x51\x8b\x82\x63\x62\x24\x01\x12\x59\x9e\x70\xc0\x12\x53\xee\x6e\x72\x81\x6e\x3f\x50\xe1\x3c\x35\x7c\x01\xeb\x37\xe1\x57\x62\xff\x8a\x78\x87\x77\x93\x99\x07\x8e\xf8\xf4\xf6\x4f\x60\xdf\xbc\xaa\x89\x24\x3e\x19\xd5\x4d\x46\xe4\xb3\xa3\x74\xe1\x09\x8f\x47\x72\xaa\xb3\x33\x39\xae\xd9\xf4\x02\xfe\x6b\x0a\xcc\x91\xcf\x4f\x12\x5f\x66\x26\x39\x27\xda\x55\xfe\xae\x12\xf1\x77\x98\x6b\xe5\xf6\x64\x85\x9d\xc2\x7a\x41\xeb\xd8\x85\x42\x2b\x84\x36\xea\x9d\xf2\x55\xe8\xe2\xc3\x64\xe3\x42\xfb\xa4\x3e\x70\xac\x87\x57\xaf\x04\x4f\x2a\x85\x3d\x51\x33\x44\x73\x97\x79\x9a\x73\x3f\x80\x59\x70\x76\x37\x91\x84\x9e\x3f\xf9\xe5\xc2\x0c\x89\xd9\xa6\xe8\x2f\xcb\xd5\x67\xd7\xc8\x21\xe8\x3b\x02\x41\xa1\x2e\xec\x2b\x29\x2c\x52\x6e\x31\x83\xfd\x12\x9c\x39\xea\xcd\xd2\x35\x66\x9a\x47\x6c\x04\x03\x56\x8e\x17\x0c\x0a\xbb\x5b\xf1\xaa\x9e\x7a\x6a\xb3\xdc\x9f\x51\x35\xb2\xf7\x84\x9b\xd2\x9a\x5d\xb5\xaa\x04\xed\xd0\x80\xaa\xe6\x15\x54\x56\x95\xaf\x53\x6b\xf4\xd7\x71\x20\xaa\xd0\xe1\x51\x6b\x7a\x70\xda\x63\x62\x2f\x85\xa1\x8e\xf8\x41\x36\x87\xa3\xf7\x9f\xd3\x10\xef\x99\xaa\xb9\x65\x6e\xae\xe5\x25\x32\x38\x05\x89\x2e\x2f\x6d\x31\x23\x91\x5a\x05\x92\xdf\x27\xb7\xbd\x96\xeb\xe5\x48\xbb\xf2\xe0\xb9\x62\x75\x0e\x00\xf3\x40\x08\xcd\x7c\xd6\x8c\xaf\x9b\x6b\x16\xf4\x6a\xe8\x29\x8a\xf0\x03\x32\x0a\xec\x45\x9d\x15\x92\xe6\xe1\x32\x51\x40\xad\xd5\xae\x7a\xa6\x27\x9e\x5b\x85\x88\xd7\xa8\xa2\x3b\x0a\x79\x23\xce\x06\x15\x26\x89\x42\xc3\x54\x93\x67\x9c\x66\x38\x51\x1d\xbc\xa1\x9d\x27\xa8\xd2\x3f\xce\x09\x8a\xd0\xd6\x76\x95\x58\xc8\x1d\xf5\xe6\x70\x00\xf9\xab\x98\xd9\x2f\x93\xe3\xb5\xd2\xb9\x27\xa2\xc6\x9a\x85\x15\x40\xaf\x16\x14\x74\xfc\xb4\xcb\x2b\x2b\x2b\x40\xc4\x67\x58\xdf\x8a\xef\x66\xf9\x5d\x1b\xc3\x44\x1c\xf0\x9b\x42\x3e\xfc\x6e\x3c\x99\x53\xef\xd1\x78\x37\x8c\xe6\x84\x4e\xe1\x86\x80\x35\x79\xab\xad\x1f\xe9\x90\xd4\xcd\x8f\x68\x7d\x04\xca\xa7\x3f\xd8\x66\x8e\xaa\xa3\x2b\xc5\xf9\x32\x1a\xb9\x5a\xdd\x03\x0e\x55\xc9\xa0\x2d\x88\x68\x7f\x90\x13\xd6\x3d\x1a\x5f\xc4\x01\x3d\x3a\x65\xe1\xf9\xcd\xfd\xfb\x9e\x76\xe1\x5a\x02\x5f\xad\x1e\x80\xa8\xdf\x69\x1c\x7c\xbd\x15\xeb\x51\x15\x2a\xb2\xf4\x68\x80\x3a\x1f\x74\x7c\xff\xd9\x1e\xd8\x85\x1f\x58\x94\xfb\x9d\x88\xaf\x2e\x04\x7a\x30\x2d\xbf\x24\x9b\x6f\x62\x35\xb2\x48\xfc\x4b\x56\xe0\x1a\xda\x34\x46\x16\xdc\x1e\xda\x6e\x42\xa1\xc3\xbc\x01\x62\x98\x6c\x78\xda\x4a\xdd\xa3\xd9\x76\xcb\xe1\x2d\x9e\xdc\x17\xa0\x3c\x13\xdd\x00\xb0\x57\x10\xf8\x9e\x1b\xd2\xae\x18\xf1\xa2\xdf\xd6\xb1\x3c\xb2\x98\x61\x41\x86\x3e\xd7\xf1\x28\x45\x30\xe6\xd1\x58\x6b\x03\xae\x79\x1f\x4a\x58\x15\x1d\xfa\x72\x4f\xab\x4d\x8a\xca\x86\x0e\xa2\x07\x47\x36\x42\x8f\x63\x76\x40\x94\x49\xf3\x48\x30\x53\x22\x18\xc3\x38\x12\x4b\x78\x27\x69\xd0\x60\x1e\x42\x64\xae\x8f\x07\x45\xcb\xc3\xf0\x98\x47\xc3\xf5\xd0\x94\xec\xe2\x8a\x0f\x2e\xa7\x46\x71\x9e\xe5\xcd\x0a\xec\xb7\xc0\x20\xa5\xd0\x85\x6d\x83\x0c\x1d\xab\x7b\x3a\x8c\x77\xa6\xd7\x53\x1e\xfc\x83\xa9\xff\xf7\x0b\x5f\x1f\xa4\x7e\xef\x1b\x79\xf2\xb0\x21\xab\x8f\xc9\xb8\xbc\x15\xbf\xe7\x3f\xf8\x23\xf7\x9d\xaf\x79\x8b\xb8\x40\x17\x5d\xa4\xb7\xc2\x1e\x4d\xe9\xb9\xb7\x34\xb0\xdd\xff\x62\x9b\xeb\x89\x5a\x0d\xd7\xc8\x77\xdd\xa9\x94\xb2\x54\xf0\x84\xee\x85\xf7\x1c\x94\x24\x36\x58\x19\x65\xfb\x01\x13\x0e\xc7\x80\x3e\xe4\xb6\x96\x32\xe1\x3e\x16\x60\xb1\x40\x3e\x2e\x45\x8b\x69\x31\x49\xe0\x03\xd2\x98\xab\x48\x7d\xf4\x3a\xf1\xb6\x58\xad\x77\xc3\x83\xc6\x5d\x62\xc1\xca\xc9\x3d\x3c\x30\x0f\x47\xe7\x0f\xe4\x8e\xa0\x76\xd2\x34\x8f\xf1\xc4\x11\xf2\x67\x4a\x49\x54\xb7\x19\x8d\xee\x67\xab\xce\xd4\x91\x5c\xec\xa4\x94\xd2\x1f\x3d\x5c\x38\x60\xb5\xf8\x0a\x6c\x67\xbe\xaf\x8c\x75\x13\x71\xd5\xa3\x81\xe9\x71\xf6\x9e\x06\xdb\xde\x5b\x0e\x9f\x24\x85\x9b\xa5\x79\x61\xd3\x2d\x21\x26\xed\x27\xad\x2e\x27\xd5\xbe\x6c\x75\x49\x14\x2e\x15\xe4\x56\x6f\x82\xad\xcf\x93\xe0\x7a\x25\x57\xaa\xb9\xb8\x66\x34\x43\x28\xb1\x4e\x71\x7a\x24\x47\x99\x34\x3f\x1b\xcd\x75\xee\x20\x24\xdf\x4a\x67\x1a\x48\xe6\xf8\xea\x22\xd4\xb0\x99\x2c\xd9\x48\x62\x50\xd3\x88\x03\x81\xc9\x4c\x65\x1b\xbf\xab\x1e\x6e\x4f\x97\x55\xdf\xf9\x7c\xdf\x8e\xeb\x42\xc7\x0d\xb3\x2e\x9f\x37\x51\x0e\xe0\xd0\xc0\xc0\xd0\x57\xb1\xd5\xfd\x59\x80\xf9\xce\x42\x25\xbf\xf7\x7d\xc7\xea\x8a\x3f\xdd\x82\x31\x6f\x65\x62\x4a\xf1\x3f\x4b\x49\xc0\x5f\x7a\x65\x9c\x3a\xb2\xdc\xab\x5c\x1e\x69\x8b\xcd\x39\x7a\xf6\xf4\x36\xe3\x1a\x01\x81\x02\x43\x6b\x37\x4f\xda\xa8\xc4\x81\x4f\xcd\x3b\xae\x90\x38\xda\x90\x60\x8c\xdd\x18\xc0\xaa\x2a\x7b\x51\x84\x8b\xb6\xd6\xb4\xac\x35\xe9\xcd\xef\x0e\xab\x30\xca\xcc\x7d\xe6\x15\x14\x53\x8c\x9f\x5e\xe0\xb4\x5b\xd5\x37\xa0\x5a\xdf\x24\xd3\xdb\x6b\xa5\x3d\x90\x34\x48\x41\xde\x74\xf2\xff\xb3\x27\xb5\x7c\x3a\x3c\xc0\x40\x6f\xc7\x0e\xd2\x23\x75\x64\x1c\x53\x55\xcf\xe4\x73\x11\xbf\x56\xb5\xce\xbb\x67\x24\x0c\x71\x41\xa4\xbc\x6d\xb8\xf5\x79\x10\x44\x8c\x5d\x36\xb4\xfd\xe4\x2c\x6b\x24\x2f\xbc\x3a\xc9\x7d\xb1\x1c\x0e\x78\x82\x9c\x45\x30\x2c\x7c\x1a\xa2\x96\xb2\xc4\xe1\xda\x0a\x46\x44\xf4\x23\xd0\xbd\xee\x64\x8a\xca\xac\x6a\xcd\xd7\x6a\x94\x4e\x01\x7a\xc1\x2d\xb7\xce\x05\x3e\x65\x58\x0d\x5d\x6b\xf4\xf4\xc5\x0f\xd6\x16\x0b\x8d\xaf\xcb\x4b\x21\x73\x4a\x5c\xf1\x1c\xf6\x9c\xa8\x72\x9e\x8c\x64\x10\xad\x15\x66\x6f\x4d\x76\x64\xef\xcb\xb2\xa7\x63\xf5\xed\x97\x19\x6c\x2e\x11\xfe\xb4\x54\xcb\xc2\x5e\x03\x1a\x58\xc4\x16\x32\x1d\x36\xeb\x26\x42\x50\x51\x6e\x35\x6c\x99\x9a\x1a\x90\xe1\xa1\xce\x8c\x08\x93\xe8\x9d\xa9\x43\x54\xb2\x64\xef\x8d\xc8\x48\x25\xb1\x9f\x26\x72\xfb\xa8\x36\xf0\xd2\x54\x2a\x1f\x82\xf6\x55\x4b\x89\x0e\x5e\x3e\x7f\x16\x10\x13\xd0\x1e\x7a\xf9\xc7\x54\xfe\x59\xb8\x80\x57\x70\xb2\x76\xbf\xda\x83\x29\x11\x87\x34\x18\xee\xcd\x0e\xa6\x33\x7d\x92\x6d\x0a\xb4\x4f\x02\x75\xf7\x33\x59\x10\x34\xe3\xa4\x2d\x02\x12\x7e\xb6\x09\x68\x12\x8f\x80\x77\x29\x9b\xa0\x1d\x1c\x4c\x40\x9a\x0f\xe5\x28\x26\xb5\x35\x33\x68\x8a\x17\xf9\xae\x05\x55\x61\xf3\x0f\x5f\x46\x84\x1b\xdd\x1d\x89\x9d\x58\xdb\xc6\x76\x5e\x0c\xa3\x97\x0f\x8c\x64\xc1\x93\xb0\x49\xd6\x72\xed\x20\xcc\xbc\x24\x68\xd0\x76\x5c\xb0\x7b\x96\xdf\xae\x15\x9a\x46\xba\xb5\x26\xd3\x53\xef\x75\x67\x8f\x3c\x05\x3c\x6c\x68\xa2\xce\x5f\x0a\xe0\xc5\xd6\xa7\xb2\xd3\x8b\xfc\xe5\x3c\x4a\xaf\x00\x1e\x53\xe7\x45\x95\x97\x0c\x2a\xd6\x09\x8a\x30\xb5\x2d\xfb\xae\x9a\x93\xd5\x60\x11\x05\x5c\x53\x61\x8d\xc2\x66\xaa\x74\xed\xbf\xec\x73\xbd\x8e\x5d\x35\x50\xaa\x78\x25\x12\xd0\xc1\xd5\x0a\xf7\x81\xd6\xf9\x54\x86\x41\xa5\xe7\x75\x2f\xb5\x1b\x5f\xbe\x3a\x10\xdc\x5f\x7b\xc1\xe3\x00\xb7\x57\x3b\xc1\x5e\x9f\xd0\x4a\xf0\xb8\xe1\xb8\x43\x12\x90\xce\xf6\x7a\x4b\xd8\x0f\x8b\xdc\x6a\xcf\x23\x8c\x4e\x66\x2d\x4f\x58\x2b\x22\xe0\xb6\xd4\xb4\xd4\x2e\x0e\xbc\xbf\x96\x71\xb4\xe2\xf6\x50\x0d\xc8\x89\xa7\xf5\xc3\x42\xe6\x31\xb6\x4a\x6c\x66\x03\x9c\x4b\x7a\x2c\x7c\x36\x90\x98\x71\xc1\x62\xec\x6b\x22\xb1\xf1\x9c\xeb\xaa\x38\xcc\xae\xb4\x1c\x64\x68\x78\xba\x8e\x8a\xbb\xfc\xcf\x84\x7a\x76\x84\xdc\x29\x5c\x20\x08\x9d\xec\xb1\x5d\xf3\x15\x53\x39\xbe\xa5\xd0\x3d\xf4\xcb\x72\xcb\x92\xf5\xdf\xe4\xe2\x05\xbd\x22\xf9\xcd\x54\xdd\xf7\x8d\x01\xbb\xa5\xea\xa0\x76\x4d\xce\x5d\xdc\x10\xdd\x37\x13\x70\xdf\x4c\x86\xae\xf6\xdb\xf5\x82\x74\xed\x20\xf6\x59\x95\x60\x53\xc7\xb1\xd3\x78\xdc\x77\x64\xec\xa9\x6e\x36\xa1\x4e\x82\x1e\x11\x4b\x49\xad\xfa\xe0\x76\x3b\x6f\x18\x3b\xaa\x5f\xe6\xb9\xec\xb2\xd4\xf2\xbf\x28\x2a\x76\x88\xa5\xeb\x34\xf9\xf8\x07\x4a\x7f\xcb\xdd\xbf\xb3\x65\x55\x28\x1b\x51\xac\xb7\x07\xfa\xc5\xb7\x70\xf3\xd3\x37\x03\x68\x7d\x99\x17\x17\x32\x41\x9f\xdb\x75\xa1\x17\x0a\x8c\xbb\x5c\x55\x46\x65\xbc\x2c\x22\x69\x9f\xae\x13\xad\xba\x72\xc6\xe0\x10\xac\xdd\xbc\x1b\xba\xe3\xa2\x13\xd7\x94\xab\x17\xe7\x28\x6c\xd9\x07\x91\xda\x5e\x0d\x19\xb7\xac\x17\x1b\x60\xd7\x66\x63\x42\x01\x4a\xac\xc4\xde\x90\x65\x40\x40\xc0\x4e\x52\x54\x67\x39\x2d\x97\x57\x1d\x34\x81\x5b\xaf\xe7\xee\xc2\x36\x46\x79\x1a\x15\x6f\xbf\xc9\x78\x13\xa4\x90\xb1\x0b\x8e\xdc\xf2\x7d\x61\xb4\xe9\xc3\x7a\x22\x10\x2c\x06\xbe\x70\xef\xb6\x99\x75\xad\x0d\x5f\xf7\x46\xe6\xd9\x1e\xca\xa6\xcf\x2a\x28\xea\x1b\xa0\x7a\x40\x38\x77\x01\x2b\x51\xa8\x61\x1e\xe5\x04\xd2\x5a\x09\x67\x8b\xde\x57\x85\xeb\x7a\xe8\x5f\x9d\xe5\x8e\x59\x47\x33\xe9\x28\x03\x8f\x24\x8a\x49\x89\xcb\xbe\xcd\xec\x97\x91\xa7\xa9\xf8\x62\x17\xbe\x5a\x31\xf7\x2e\xee\x53\x8d\x79\x2a\x6e\x88\xd2\xce\x1a\xb0\x17\x3f\x74\x94\x1c\x85\x90\x8a\x03\xac\x6e\x8a\xc2\xe3\xf0\xaf\xc8\x44\x3a\xc4\xa0\xaf\x44\x2d\x8b\x6c\xaa\x1d\xda\x3d\xb3\xac\x73\xff\xb1\x1d\x84\x70\x77\x05\x4d\x51\x5c\x95\xd2\x8a\xfc\x7a\xda\xc1\x64\x99\xa5\xa8\x8e\xd8\x95\x15\x59\x42\x9b\x78\x4c\x21\x4b\x67\x7f\x52\xca\xf3\xac\xd9\xfc\xca\xf1\xfb\x12\xfa\xe0\x68\x15\xf9\xe3\xa1\x8a\xd5\x09\x6d\xb8\x93\xa5\x55\x75\x7d\xf8\xdc\x87\x63\x6e\x3c\x25\x0e\x53\xaa\x1a\xac\xdd\xa7\x1e\x90\x42\x90\x55\x93\x11\x55\xdc\x91\xc1\x96\x5f\x7c\xfc\x8f\xa0\xa8\x42\xc2\xa2\xb0\x8b\x57\x8f\x8f\x64\xe9\xfc\x88\x8b\xeb\xaf\x14\x90\xf6\x2e\x57\x26\xa6\x02\x31\x64\xc5\x67\x77\xd8\xf5\x1f\x33\x24\x2f\xba\xdb\xec\xa6\xd1\xd5\xe1\xb5\xb3\x12\x16\xb9\xcf\xd8\xde\x42\x62\xbf\xb9\xb2\x9e\xd4\xeb\x84\x3e\x62\x0f\x24\x70\x55\xce\xc1\xe4\x21\x4c\x23\x48\x93\xe8\xa0\x92\x5a\xb3\x79\x56\x15\xfa\xe5\x44\xc1\x02\xe9\x0b\x41\x8b\x4f\x10\x71\x9e\x5c\x22\x32\xe9\x5c\x46\x6c\x15\x65\xef\x62\x6a\x59\xa9\x41\x00\x4a\x00\x0d\xea\xbd\x36\x32\x29\x25\xf0\xac\xdb\xdc\x8f\x48\x3b\x93\xcf\xfd\x62\xa5\x36\xb0\x06\xa2\xc0\x53\x6c\x91\x39\xa0\xc6\xb0\x98\x91\xf0\x9e\xe1\xb7\x57\xf9\x4e\xdb\x5e\x0d\xa3\xa9\x4c\x30\x8b\x75\x3f\xbc\xb3\x9e\x01\xf1\x79\x61\xf7\x9a\x6f\xee\x0a\xf0\x52\x6b\x64\x9f\x48\x7a\x46\x9c\x93\x2e\xba\x92\x4f\xfe\xc8\x6d\x1b\xce\x1d\x12\x58\xb7\xb0\xb9\x7e\xb9\x74\x98\x6e\xc3\x66\x70\xd6\x3d\x6b\x66\x84\x58\x83\xa2\xa6\xad\x30\xad\x55\x43\x4f\x2e\x3a\x54\x96\x7e\xa2\x7e\x36\xc9\x71\x58\xca\xa7\xaa\x98\xfa\xd7\x14\xe2\x85\x8b\x8c\x15\xc5\xd9\x29\x99\xb4\xcf\xf4\xdd\x5e\x2a\x68\xe2\x78\x9f\x66\x5a\x1e\xf7\x4b\xa7\xf2\xbc\x3c\xf2\x7b\xac\x42\x85\xd9\x5c\x99\xb7\xe5\x22\x45\x4f\x7c\x2d\x3f\x45\x80\x95\xe9\x91\x92\xb0\xa5\x7c\xec\x65\x75\x47\x74\xb0\xf6\xaf\x13\x69\x5a\x4a\x6e\x4b\x75\x5a\x9b\xe1\xb5\xf8\x5b\xa1\xbc\x8f\x6a\xeb\x6f\x58\x5f\x1d\x56\x02\x3a\x04\xba\x7a\x5b\x5a\xe7\x74\x61\xa1\x44\xe1\x70\x96\x6d\x1f\x94\x5f\xbb\x71\xa1\x3c\xe8\x03\xe6\x68\xca\x68\x6f\x71\x0b\xf1\xe9\xd5\xda\x83\x73\x10\x01\xa1\x74\x8a\x27\xe3\x59\x0d\x84\xd5\xb4\xb8\x11\x71\xb1\x96\x62\xab\x88\x3c\x41\x53\x2c\xb3\x6a\xde\x69\x69\x22\xae\x0f\x8c\xd2\xce\x52\x3c\x50\x93\xc4\xe3\xb5\x85\x68\xfa\xe6\x65\x87\x70\x93\x2d\x8b\x85\xe3\x66\x13\x2e\xda\xba\x2c\x3e\x6b\x6b\x85\xf1\x54\x4f\xe1\x81\x37\xe6\xad\xb5\x63\x3b\x72\xae\x3f\x16\xb6\x14\x25\xb1\x36\x15\xfd\x88\x11\x6a\x53\x02\xd7\x6e\xc0\xae\x6f\xd8\xa1\x08\x8a\xd0\xb9\x44\x73\x6f\x94\xfb\x58\x2d\xb9\x93\x1c\xc8\x52\x79\x4d\xac\xee\xd8\x32\xd5\x96\xea\xf4\x13\x24\x89\xc1\xe7\x0d\x34\x27\x5f\xcb\x0b\xf5\xbf\x3f\xdd\x39\x2b\xd3\xa2\x46\x38\x69\xcc\xa1\xeb\x52\xcb\x32\x0c\x7d\xad\x86\x54\x12\x4d\x99\x78\xec\x9c\xeb\x68\x73\x2a\xcf\x8f\xa4\x45\x1e\xcf\xca\xb2\xaa\x5b\x9f\xbd\x1e\x99\x52\x66\x40\x74\x6b\x72\xdf\x0a\xe7\xb8\x17\xea\xe5\xb8\x6f\x0a\xbe\xb0\xab\xac\x83\x85\x7b\x1e\x57\x4d\x07\x93\x0e\xd4\x86\x8d\x62\x94\x36\x6e\x35\x19\x6d\x36\x26\x31\x9a\x28\xba\x2b\xe3\x11\x4f\xcf\xaf\xda\x82\x0f\xd4\x5b\x3e\x5d\x92\xb4\x16\x48\x0d\x11\xd4\x07\xd9\x78\x08\x17\xf3\x57\x18\xaf\xea\xda\xe0\x79\x56\xaa\x46\xfd\x80\x15\x54\x34\x67\xc9\xd7\x08\xae\xd5\x8b\xb1\x7a\x62\x61\xc0\x74\x6c\xd6\x04\xe9\x40\x92\x9f\x36\x20\xfa\x3d\x60\xef\x24\x3e\x62\xf9\x8c\x62\xbc\x59\xf3\x9a\xd1\xae\x40\x29\x7f\x6a\x4d\x1f\x51\x0a\x4c\x75\x8f\x17\x4c\x8b\x08\x81\x24\x32\xd6\x82\x48\x18\xdf\xab\xaf\x0b\xb0\xb2\x6c\x08\x30\x49\x73\x39\x03\x27\xce\x44\xae\x27\x34\x7b\xf1\x49\xf2\x50\x12\x26\x92\x5d\x4e\x24\x6b\x49\x18\xed\x2a\xae\x55\x5c\x01\xb8\x4f\xe8\xa7\x03\xb9\xa1\x19\x48\xe3\x65\x34\x92\xbe\xae\xaf\xbb\x0f\xd7\xfb\xa8\x31\x65\x2d\xda\x41\x72\x00\x9f\xf7\x5c\x0d\x52\x29\x48\xc4\x4e\xb1\xeb\x5c\x05\x60\x10\x56\xcf\x31\x20\x12\x0d\xee\x84\x73\xd3\x1b\xa3\xc1\x0b\xb4\x78\xd1\x89\x90\xf9\x9f\x56\x54\x28\x31\x4e\x47\x91\x3a\x4e\x03\x51\xba\x4d\xcb\xf5\x93\x7c\x9b\x88\x61\x93\x6b\x58\x68\xcf\x5c\xbc\xcb\xf8\x95\x94\x91\x7d\xfa\x0d\x7a\x0f\xe1\xcd\xfc\x6f\x64\xb0\x05\xa2\xdd\x16\xd1\xef\xed\x6c\x87\x57\xad\x4c\x0b\x0e\x57\x6c\x70\x52\x62\xcf\xfa\xb3\x39\x7f\xce\x10\xd9\x5d\xe3\x3a\x03\x02\x49\xdf\x98\x77\xaa\x95\x73\x3a\xfc\xb8\xa7\x09\xa3\xa4\xde\xe6\xbe\xbf\xc0\x9e\xb9\x2d\x0a\xb3\xba\xcb\xb4\x7c\x7a\xca\xe2\xf3\x63\xc8\x98\x1e\xea\xdd\x6f\xe4\x2e\x95\x29\xe4\x00\xe0\x8f\xe7\x06\xe3\x5f\xad\xba\x34\xb5\xbb\x58\xa2\xea\x8e\x1e\xe5\x31\x24\x4c\x27\x64\x72\x17\xe9\x8d\x87\x88\xb9\x39\xf0\xe6\x61\x6a\x7e\xe6\x15\x66\x1d\x23\x28\x19\x59\xae\x63\x1f\x2f\x5d\x47\x0c\x2c\x79\x49\x99\x03\xf2\x62\xcf\x29\x00\xe5\x43\xe0\x23\x8c\xb5\xe5\x34\xcc\x42\x55\xcd\xcf\xf5\x0f\x6e\x8b\x94\x2a\x83\x8c\xea\xc3\x72\x01\x9d\xdf\x4b\x92\x76\x29\x2a\x2c\xf5\xad\xba\x68\x6b\xa7\xd0\x2d\xa9\x2f\xe8\xef\xe2\x7f\x95\x50\x5c\x25\x4a\x15\x80\x15\xae\x4b\x16\x8f\xb5\xbb\xa7\x2b\xa5\x53\xbd\x03\x27\x1a\x80\x2c\x5d\x8d\x4e\x5b\x34\xb6\xf4\x7b\x94\x9d\x36\x42\x86\xbe\x17\xcc\xd9\x6c\xa7\x9c\xec\xed\xdc\xaf\xb6\xb2\xaa\x62\xab\xb9\xf5\x53\xd9\x13\x56\x9f\xeb\x0f\x94\x9e\x93\x50\x12\x78\x97\xc6\x57\xe4\xb9\x6d\x82\x13\x3d\xcb\x45\x80\xda\x1b\xde\x33\x4c\x12\x11\x9b\x1a\x9f\x44\x78\x63\xaa\x3b\x91\x58\xb5\x3a\x85\x44\x34\x92\x96\xd6\x5c\xcf\xa4\xd8\x2e\x0b\xcd\xae\xf8\x21\x45\x72\xce\xa1\xbe\xd1\x9d\x92\xe2\xa9\x78\x4a\xe2\xe6\x59\x86\xae\x2b\x6d\x37\x0d\x7f\x0d\x1d\x8d\xd5\x67\x89\x95\xa1\x34\x47\xf8\x8c\x08\x5c\x26\x43\xcf\x19\xd2\xd6\xf1\x5b\xee\x14\x0b\x9b\xbc\x95\xd2\xd2\x47\x4a\x81\xd3\xd9\xbd\x73\x8a\x86\x9c\xfb\x1c\x15\x8f\xac\x68\x84\x82\x7c\x95\xfd\x4b\xc8\xac\xe7\x1d\xd2\x91\x6c\x1d\x9b\x4d\x9a\xfc\xe8\xba\xd0\x4a\xcd\x34\x1e\x41\x2b\x17\xae\xdb\xe4\xbe\x18\x9a\xae\xb1\xc6\x13\xc9\xa3\x87\xab\x98\x61\xa2\xec\x2b\xe6\x5c\xeb\x84\xed\x58\x97\x24\xe4\x5a\x03\xad\xde\x9e\x50\x4e\x95\x6b\xee\x33\x2b\x1d\x29\x19\x5b\x6e\xb0\x40\x46\x22\xf7\x68\x5e\xa8\x31\x4e\xa1\x6d\x2e\x70\xad\xc7\xd0\xb6\x8a\x06\x7f\x97\x27\x72\xe9\x81\x66\x45\xad\x1c\x8a\x82\x3e\x2f\x4f\x83\xb6\x25\x20\x42\xc6\x79\x41\x58\x9f\xcc\xf5\x05\xca\xb3\x0d\xed\xb6\x2b\x63\xf9\x33\x60\x93\x88\x19\x09\xbf\xa2\xb9\xd5\x36\x86\x76\xb2\x78\x34\xf8\x20\xab\xba\x19\xbd\x58\x47\x8d\x39\x28\x16\x8f\x91\x42\x6d\x48\xdd\x00\x6c\x03\x9d\xdd\xdb\xb7\xd8\x6c\xcf\xd0\xde\x0f\x9b\xe5\xef\x21\x74\x7f\x3a\x1e\x5e\x1e\x95\x80\x88\x0b\x71\x42\x1c\x35\x4c\x9c\x31\x02\xe4\x2e\x92\x40\xf5\x35\x63\xe4\x10\xb5\x9b\xa1\x01\xdd\xd6\xc0\x81\xc3\xe6\xd0\x4d\xf9\xbd\xa6\xfc\xf5\xd5\xe1\xa1\x9d\x14\x54\x51\xda\x7e\x06\xb7\x81\x3b\x95\x4e\x5a\x6e\x34\x68\x90\xe6\x21\x4b\x1e\x41\x1b\x9d\xe8\xbb\xa9\xff\x63\x97\x37\xf4\x58\xa2\xb9\x6a\xbf\xaa\x4e\x24\x86\xe0\x4a\x7b\x23\xd0\xb8\x6d\x89\x67\x60\xb8\xd1\x80\x7f\xbc\x38\xc5\x50\x11\x4d\x69\x27\xb7\x57\xec\x94\x93\xf5\xd8\xf9\x89\x7e\x5d\x50\x6d\x4f\x4e\x39\x63\xca\x21\x49\x9c\x52\x8d\xc7\xa6\xa3\x46\x29\x7e\x83\x11\x2c\x29\x04\xfe\x5b\xc4\x95\x8b\xde\x6c\x14\x51\x23\xb7\x5f\x5e\x7d\xb1\x86\xd1\x40\xb8\x7a\xc8\x0a\xd9\x00\x92\x8f\x12\x98\x13\xbd\x07\x19\xa2\x54\x03\x21\xd9\x40\x9b\x29\x7d\x93\x23\x79\x31\x22\xcb\x1c\xab\x33\xa6\xff\x31\x94\x07\x05\x14\x67\xe9\x74\x29\xb8\xad\x4a\x66\x4a\x7b\x4d\xe4\x2d\x2e\x33\x55\xf9\x4e\xd4\xb6\x3c\x33\x16\xba\x39\xe1\x99\x62\x1a\x70\x35\xaf\x21\xa8\x6f\x03\x24\x28\x56\xb7\x94\x4c\x94\x7d\x7b\xe3\x35\x95\x0d\x83\x0a\xc7\xb9\xa2\xe8\x8c\x49\xf9\xa5\x7b\x6b\xb5\xd5\xca\xcf\x50\xdb\xd0\x9d\x36\x34\x8b\xb5\x0f\x19\x5e\x17\x41\xd7\x0a\x76\x41\xdb\x32\xd1\xa1\xd4\x8f\x16\xdf\x9a\x96\xd7\x96\x1a\xf1\xb2\x52\xa1\xfe\xd0\x74\xda\x0f\x46\xd7\xb3\x8e\xc0\x73\x50\xe4\x18\xd4\x26\xb8\x28\x67\x5a\x73\xc9\x31\xcd\x39\xe5\x4d\xb7\x81\x55\x92\x0f\x46\xc9\xb1\xcf\xac\x90\x79\x0a\x9c\xf4\x72\xf8\xe3\x38\xd4\x13\xcb\x28\x9d\x75\x22\xd2\xa1\xd7\x59\x51\xf4\x7f\xa3\xfb\xcb\x06\x83\x89\x65\x20\x9c\x16\xfb\x1e\x6f\x28\x78\x4d\x79\xc8\xbc\xe9\x3b\x5b\xc3\x92\xbb\x53\x1c\x5f\x4e\xd9\xfb\x26\xda\xeb\xf7\x5d\xb1\xf7\x99\xc3\xd3\x2b\xd9\x12\x06\xea\x64\xbb\x1c\x4b\x17\x64\x11\xbe\xf7\x4b\x15\x91\x0c\x72\x8f\xbd\xc2\x31\xdb\x6b\x38\x53\x74\xc3\x73\x81\x5b\x6d\x0d\x6f\x48\x8b\x37\xf3\x9c\xe0\xee\xec\x51\xb0\xdb\xbe\x11\xca\x1d\x7a\xd5\x7a\x5a\x6c\xbd\xae\x12\xb9\x06\xd0\x7d\xe8\x73\x8b\x89\x28\x7c\x7d\x0c\x0a\xf9\x95\xf2\xeb\x11\x1f\xf2\xfb\xfa\xa7\x58\xf1\x59\x43\xe7\xb1\x7d\xac\x83\x25\xdc\x7a\xad\x28\xdd\xca\x93\x61\x19\x6b\xce\x95\xb4\x67\xfa\x99\x52\x5a\x31\x03\xe4\x84\x62\xd5\x81\x36\x05\x0f\x4d\x85\xee\x22\xc3\x7a\x61\xcc\x58\xc8\xdb\x8a\x9d\x65\xf2\xc2\x5c\xa8\x85\x2a\x91\xa5\x10\xa5\x5e\x4a\xf9\x83\x99\xff\xd1\x76\x37\x30\x66\x95\x71\x2b\x67\x0c\x9a\xdf\x6e\x4c\xb2\x2a\x37\x46\xa5\xc3\x33\xc6\xf9\x94\x9c\xec\xca\xd5\x02\x4d\xaa\xcb\x25\x57\x0b\xa0\x12\xc5\x40\x78\x66\xd7\x32\x59\xd3\xf4\xc1\x0c\xf6\xcd\x01\x7c\xfa\x78\x32\xfb\x28\x47\xe9\xd8\x87\x49\x79\xd7\xb3\x66\x4a\x40\x24\x62\x95\x60\x86\xbb\x4d\x34\x30\x03\x75\xc2\xc8\x22\xba\x9c\xf8\x19\x46\xb9\x29\x19\x2e\xef\x54\xe8\x0e\x21\x06\x73\x98\x89\x82\x10\x68\x14\xcf\x0c\xd6\xae\xbf\x6f\x82\xb2\x0d\xdb\x90\xda\x5f\x74\x70\x9a\xc3\x75\x06\x49\x5e\xa7\x4b\x4a\x23\x21\x27\xf2\x32\x07\x2a\xd6\x3b\x6f\x99\x3b\x5d\x56\xbb\x6a\xa9\xfc\x2e\xfa\xbc\x5d\x39\x81\x6e\x58\xa6\xc0\xee\x95\x93\xd3\x79\x34\x25\x8e\x9a\x1c\x8e\x0d\x73\x7d\xfb\x9a\x2d\x6f\x30\xb4\xe0\x7b\xe9\xb4\x74\xf2\x02\xb7\x14\x90\xdd\xcf\x47\x47\xca\x7c\x3c\x3a\x20\xc9\xf4\x6c\x73\x6d\xa4\x36\x03\x41\xd7\xf7\x02\x2e\xb1\x85\x20\x1b\xa3\xf7\x16\x86\x39\x48\x5d\x77\xf4\xa2\x05\xd5\x50\x1c\x39\x4c\x01\xf8\x1a\x9b\xcf\x8b\x39\xb2\x57\x7e\xa1\x92\x15\x83\x0a\x70\x9d\x0e\xb1\xd0\x02\xae\xcf\x30\x45\xe0\x0b\xf2\x9c\xb5\x33\xe6\x53\x1d\x84\x40\x46\x3e\x8b\x4a\x61\x62\xc0\x95\x5b\x9a\x73\x0b\x9b\x2e\x6c\x1c\xf7\xeb\xd6\x32\xb6\xaa\x04\x40\x90\x29\x50\x3a\x65\xbc\x92\x45\xd7\xac\xda\x90\x20\xa2\xb7\x51\x31\xdd\x20\x6b\xe2\xbd\x80\xed\x1b\xb8\x41\xe8\x91\xa7\x6b\xc8\x66\xa2\x4c\xe5\x2c\x3c\x29\xf9\x1f\xf9\xd4\xe0\xbb\xe3\x8d\x29\xa4\x08\xa1\xbf\xc6\x1c\x20\xbf\xca\x9f\xca\xe1\xe4\xd2\x6a\x8a\x66\x92\x57\xb1\x0e\xfc\x4b\xee\xa5\xff\xc5\x05\x1f\x6e\xd0\x55\x9a\x30\x10\x37\x80\x41\x4a\x79\x9c\x80\xfb\xc5\x7c\x3b\xa7\x87\xca\xfb\x47\x6f\x2d\x6b\x0e\xbb\x6d\x2c\x39\xe7\x9e\x5d\xa0\x53\xca\x3a\x08\xd6\xd4\xb9\x8a\x16\x83\xc2\x09\x72\xab\x1b\xd0\x78\x53\x4c\x4b\x5b\x21\x72\x28\x41\x3c\x0d\x52\x0c\xe3\xf3\xc5\x52\xf0\x3a\x0a\x6a\xac\x77\x3d\xbf\x8a\xd2\x7c\x6b\x01\xe8\x31\x8c\x24\xca\x42\xaf\x16\x88\x2e\xca\xd3\x6c\x7d\x0c\xe9\x91\x79\x3a\x47\xf6\x28\xf9\x30\xc5\x1b\xc4\xb8\x0b\xb6\xba\x3f\xd7\x63\x57\xf8\x5a\xa0\xf6\xfd\x72\xf7\xb5\x6a\xc0\x35\x61\xae\xb1\x26\xce\x7c\x75\x0f\xd8\x23\x6c\x64\x74\x7e\xfd\x26\x37\x33\x18\x06\xef\x0f\xb5\xf9\x1c\x57\x71\x0b\xd1\x89\x51\x46\x2e\x26\xe6\xa5\xec\x83\x76\xa6\x5d\x1f\x5a\x12\xed\x3a\xe7\xb2\x05\x61\x73\x9f\xb6\xea\xfd\x4a\x4b\x56\x95\xdb\x15\xd3\x6e\x8d\x70\x86\xb2\x96\x4a\x94\x8d\xac\x05\x1a\x55\x50\xd2\x20\x7b\xaf\x8b\x65\x17\xb8\xb2\xa2\x52\xeb\x40\x89\x87\xd8\x29\x34\xfb\xc5\xda\xb2\x93\x49\x01\xc6\x35\xb5\x68\xb7\x9e\x4f\x06\x50\x43\xd5\x8e\x07\xe5\xe8\xb4\x8c\xce\x6b\xef\x76\xca\xab\x76\x4a\x7a\xbc\x9a\x40\xe4\x0f\x80\x5d\xa0\xdb\xc1\x55\xa1\xb9\xee\xe6\x01\x7d\xd7\x55\x16\xaa\x9c\x8c\xd6\xe5\x14\x5f\xbf\x4a\x79\x32\x07\x72\x37\xef\x88\x22\x08\x74\xf3\x4e\xd5\x3c\x5b\x4f\x7b\x1c\x7a\x10\x71\x9f\xa1\x2f\x18\x0d\x80\xe6\x87\xad\x0c\x07\xed\x19\x28\xf5\x6b\x9e\xb2\x05\x57\x0b\x2c\xf1\x7c\xc5\xbe\xb2\x0b\xb5\x9c\xb3\xcd\x2c\x46\xe2\x50\x5b\x0a\x7f\xb2\x04\x43\x64\x3a\x4f\xc3\x28\x36\x7c\xab\x60\x6f\x8d\x63\x34\x85\x2d\x40\xb1\x9a\x2c\xc4\x56\x6d\x56\x65\x92\xc3\x67\x3d\x00\xfd\xe3\xce\x93\xe3\x2d\xb4\x93\x60\x37\xf8\x21\xf0\xca\x98\x3e\x69\x0b\xef\xdb\x1c\x22\x54\x7a\x9d\x18\xda\x0b\xb4\xcd\x46\x7d\x41\x10\x80\xab\x96\xd8\x93\xc3\xb5\x10\x08\xf4\xc9\xc4\x8c\xc6\x72\x7a\x4b\x3b\xa8\xa9\xa5\xcd\xb5\x09\x2e\x91\xe9\xf4\x16\x94\x8c\x71\x56\x86\x74\x06\x46\x34\xb8\xd6\xbd\x99\x93\x1f\xb7\x4a\xae\xce\x30\x57\xc6\x86\x6f\xae\x9a\x8f\x2c\x13\xf8\x83\x50\x6e\x5b\x25\xd4\x9b\x20\x65\xc1\xae\x95\x89\x00\xae\x94\x04\xa8\xb0\xa1\xae\xc5\xc0\x91\xe8\x9b\x5f\x1a\x06\x5b\xda\x50\x94\xef\x32\xc4\x27\xf5\x93\xe8\x75\x78\x19\x30\x78\xc4\x29\xfe\x67\x7a\x3e\xe7\x88\xd9\xc3\x56\x34\x61\x58\x15\x3b\xb2\x1c\x9f\xb4\x26\xe3\xfa\x97\x05\x00\x6d\x80\x5a\x53\x26\x46\x4f\xd1\xf1\x26\xb8\xb1\x96\x05\x1b\x2e\xf1\x31\x35\x87\xcd\xec\xd9\x00\x0a\xe2\xc1\x84\x1d\xea\xf2\x37\xb8\x2d\x67\xdf\x96\x66\xab\x86\x81\xdc\xec\x67\xe4\xc4\x76\x8f\x0b\xbd\x0b\xc3\xa0\xf7\xcf\xc1\x10\xce\xa6\x8b\x22\x99\x90\xae\xa0\x56\xdb\xaa\x11\x2b\x6e\x69\xa3\xa5\x1d\x95\x84\xc8\x29\x5e\x49\xcd\x0e\xe7\x6f\x88\x2b\x4b\x87\x31\x4a\xf3\x93\x62\xab\xe3\x2d\x63\x7a\x77\xc2\xba\xb8\x6a\x5d\x0e\x63\x01\x48\x05\x29\x32\x39\x60\x3d\x07\x0f\x3a\x21\xe4\x2a\x85\x9a\xb9\x4e\xf4\xae\x08\xad\x7a\xa4\x5e\x79\xc0\xbf\xc4\xd5\x0d\xfb\xa1\x14\x96\x9d\x59\x8d\x75\x4f\xc8\xf4\xd7\xb1\x61\xc0\x51\x71\xa6\xd7\x01\xf2\x9a\xcc\x56\x19\x5f\xc0\x95\x32\x25\xa4\xd4\x04\x8e\x1a\x62\xc7\x12\xf6\x6b\xfd\x89\xaf\x98\x9d\x7f\xb3\x39\xc9\x14\xbe\xd2\xb7\xff\x54\xfe\x48\xbe\xce\xa4\x44\xfb\x87\xa4\x80\x4c\x53\x57\x19\xbe\x02\x48\xb8\xd0\x9a\xf3\x33\x68\xed\x05\x31\xf9\x26\xcc\xe4\xc0\x30\x30\x2c\x92\xa0\x96\x84\xf9\x0b\xa0\x0a\xed\x6c\xb2\x3a\xc8\x8a\x05\x5a\x52\x05\x59\x56\xfb\xcb\xf5\xb0\x23\x6a\xef\xe7\x0a\x64\xfb\xfd\x21\x70\xee\x0c\x93\x76\xfd\xef\x5b\x88\x2e\x64\x66\xd7\x61\xba\x79\x52\xca\xc4\x6d\x54\x7a\x96\x31\x4d\x43\x06\x07\x05\xc2\x82\x78\x18\x4c\xfc\xca\xe1\xc7\xb1\xc2\x51\x49\xcb\x2a\xab\xc9\x3d\xa9\x6e\xf9\x48\x84\xc8\xbd\xf4\x56\xb6\xe5\x9e\x7b\xad\x12\x31\x45\xcc\x59\x86\x9b\xaa\x82\xb3\x0f\xb3\x32\x88\x3b\x94\x66\x5f\x17\xeb\xbc\x2e\xa1\xff\x59\x6a\x45\x0b\xba\x1c\x2d\xaf\x47\x74\x41\x99\xa7\x4f\x28\xba\xe4\x75\x5e\x53\x2a\xbc\x0c\xb6\x4a\x6b\x19\xfa\x04\x26\x27\xb3\x6a\x60\xa0\x74\x80\x2e\x0c\xe8\x57\x4e\xcb\x48\x57\xc0\xbf\xaa\x3b\x85\x2d\x12\x7b\x34\x87\x46\x66\x70\xb3\xd8\x8e\xe8\xa4\x19\xfd\x3b\x5e\x2b\xa8\xd3\x77\xfb\x97\x8a\xe8\x44\x03\x0d\x09\x37\x05\x0b\x3f\x50\xe7\x6d\xdc\x2d\x87\x36\x27\x22\x80\x95\x6e\x5f\xa2\x3c\xb9\x18\x27\xf0\xd9\x4e\xd7\xa2\x23\x4f\x70\x11\x1a\x1e\x64\x10\xdb\xe7\xf2\xf1\x48\xd4\x7f\x42\x88\xe9\x19\x6d\x7f\xfc\xe3\x02\x21\xe1\xf3\xb5\x76\x8d\x2f\xe3\xe6\x52\x84\x61\xe5\xa1\x4d\xc2\xfa\xfc\xf8\xb6\x30\x3e\x22\x8b\x4d\x0a\xdd\x66\x3c\x81\x36\xdb\x37\x1e\x30\x60\x5b\x6f\x81\x6c\x73\x02\x2d\x75\xdc\xa3\x3c\x71\x78\x96\xe3\xc1\xf2\x38\x82\xe5\x44\x41\x6e\x8e\xb0\x06\x01\xbc\x54\xb0\xbf\x1e\x34\x04\x14\x89\x5f\x2b\x7b\xa2\x58\xbb\x76\x24\xd2\xde\xe9\xf2\xc4\xa2\xf8\x09\xb5\x9a\x61\x06\x46\xd0\x66\x18\x2d\x27\xe4\xb8\x2e\xd4\x8e\x6f\x65\x38\x82\x5a\x25\x24\xcc\x0c\x9b\x93\xc7\x48\x41\x4c\x16\x2a\x67\x62\x30\x56\x7b\xa1\x96\xa7\x0a\xf1\x3c\x53\xae\xa6\xed\xd7\x13\xeb\x50\xd8\x74\xe0\x18\x68\x17\x22\xa7\x13\x9d\x0e\x4a\x0d\x5a\xab\xde\x8d\x2e\x1c\xa5\x14\xb4\x0d\xf7\x84\xe8\x02\x34\x7c\xf3\xe3\xfe\x00\xfc\xb8\x78\x68\xe5\x33\x97\x05\xd4\x43\xa6\xd2\xee\x86\xa2\x9c\xab\x46\x9e\xa5\x2a\x33\xc3\x78\x6a\xae\xc0\xe8\x52\xaf\x0c\x8e\x36\xc5\x46\x6d\x05\x6d\xe1\x56\x07\x09\x4a\xb8\x26\xbe\x7f\x1c\xb8\x20\x2d\x1f\xc4\x6b\xb6\x0f\xe7\x92\xcf\x0d\xab\xf3\x35\x4f\x10\x76\x4b\x0c\x3a\x62\xab\x0a\x40\x68\xd0\x09\x5c\xb5\xf0\x83\x0d\x56\x39\x8b\x0f\x7f\x39\x97\xa7\x64\x95\x00\x4f\x97\x18\x16\x4e\xbe\xe2\xae\x8b\x23\x1f\x6e\x8b\xf9\x3f\xe6\x60\x0c\xbc\xcf\x6e\x10\xb3\xd5\xe4\x88\xe6\x32\xe6\x38\xb0\x14\x51\xec\x50\x50\x79\x46\x50\xae\x68\x75\xdb\x66\x6a\x94\x61\x72\x1d\x4d\xbf\xec\x58\x2b\x38\x1a\x9b\x22\x30\x02\x5e\x95\xc1\xad\xa7\x27\x80\x4d\x34\x10\xf4\x53\x61\xd9\x6a\x58\x39\x9c\x64\x02\xbc\xd3\x19\x82\x8b\x25\x29\x23\x37\x13\x62\x45\xe1\x6c\xa8\xc5\x3b\xef\x03\xdd\x5e\x13\x4d\xea\x17\xc8\x01\x63\x15\xcb\x25\x7a\xfc\x44\xa6\xc9\xa0\x08\x51\x6e\x18\x00\x99\x53\xc7\xd8\x59\x51\xf8\x33\x9d\xa2\x48\x85\x30\x1f\x56\xf9\x47\x62\xbf\x40\xed\xb9\xcf\x01\xbd\x28\xd1\x1f\x78\xb1\x2e\xa2\xbf\xd0\xa2\x3a\x8e\x18\x8f\x36\xcc\x5e\xc4\x6f\x5a\xd3\x19\x6e\xde\x52\xbe\x0c\x30\x69\xa4\x8a\xb3\x16\x19\xec\x78\x3d\x81\xfe\xf8\x85\x48\xbf\x90\x08\xbb\xd3\x12\x25\x17\x8b\xb1\x8b\x3e\x07\xc0\x03\x72\x9d\x80\xdc\x72\x8d\xe6\x49\xc0\xbd\xfe\xc6\xca\x93\xc8\x78\x2e\x87\x91\x0d\x7a\xc8\xe2\x18\x20\x76\x72\xb3\xfd\xf8\xe8\x54\x1d\x9d\x7f\x5b\xf4\xa1\x7a\xe1\xc3\xa8\x4f\x55\x65\x13\x29\x36\x0d\xd2\x52\x85\x01\x84\xc8\xbc\x71\x36\x2f\xc8\x6b\x58\x6d\x6b\x15\x83\x2c\x2e\x82\xce\x23\xee\x7d\xf0\x8f\xbe\x01\x35\xf6\x6a\x88\xa7\x41\xda\xb2\x84\x40\xae\xfc\xa5\x67\xb4\x6b\xd3\x92\x95\xcb\x1d\x7b\x01\x3b\x7c\xbe\x62\x5f\xf1\xbf\xea\xa9\x84\x69\xcc\x0b\x74\xb7\x77\xc7\xa0\x10\x33\x5e\xd1\xc8\x57\x74\xfd\x1e\x06\xc3\x0c\x26\xc2\x95\x80\x46\x7d\xd0\x15\x4f\x83\x89\xc2\xbf\x4c\x48\x5c\x1a\xee\x28\x79\x26\xcf\xad\x56\x32\x0c\x15\x49\xa6\x7a\x80\x0b\x65\xb4\x12\x85\x4e\x5c\xf3\xd7\xd0\x0c\x6a\x7a\x03\x7f\xf2\xa9\x2d\xb8\x48\x00\xb8\x24\xcb\x4e\xf8\x4a\xa2\x7b\x5b\x8e\x22\x81\x49\x38\xe9\x3d\x13\xe8\xef\xaf\xb8\x9e\x71\x71\x3a\x05\x74\x01\xd6\xbc\xeb\xfc\xdf\xb2\xeb\xe9\x24\x14\xcf\x2c\x95\x89\xf3\x6d\xeb\x50\x6a\x4a\xa6\xeb\x23\xd5\xa1\xa8\xb3\xd8\xfb\xff\x89\xd6\xa2\x60\x6f\x44\x1b\xcd\x2d\x56\xd0\x73\xbd\x1e\x6e\xbd\xec\xf0\xa8\x72\xb9\x31\xf3\xbc\xf7\xa4\xee\x9e\x4c\x56\xb1\x6a\x93\xfb\x06\x5e\xb0\xb7\x2d\x66\xc0\xe4\x9c\x89\xf7\xbe\xcf\x02\x88\xad\x09\x98\x8f\xfb\xbd\x7a\xba\xb9\x16\x1e\x94\xac\x10\x3f\x66\x2b\xb0\x42\x49\xf4\x9f\xad\xb5\x93\x07\xf9\xbe\x59\x0f\xab\xd2\x2a\xc9\x0e\xa8\x79\xe1\x2b\x53\xfc\x79\x6e\xff\xbc\x64\x76\xcf\xed\x87\x72\xba\xbd\xe2\xde\x75\xda\x1e\xe8\xc4\xe1\x3a\x02\x27\x94\xed\x86\xc2\xec\x43\xb5\x5d\xb9\xfb\xac\x80\xdd\x4c\x7b\x07\x3d\xf7\x2b\x61\xaf\xf6\x9e\x06\x25\xa7\xb9\x39\x90\x2c\x73\x3a\x52\xef\x73\x6d\xf9\x2a\x42\x07\xef\xa7\x51\xec\x3c\x62\x37\x13\x5d\x56\x01\x6c\x85\x73\x9e\xe7\xf1\xa1\xb9\xf2\x02\x71\x91\x9a\x07\x67\xe4\xa0\x88\x8e\x84\x8a\xf6\xee\xcb\x4c\xee\x90\xf3\xb0\x36\xb8\x5f\x12\x82\x57\xbc\x6d\xcd\xe6\x0b\x3f\x47\x95\xb9\x29\x48\x66\x52\x65\x2b\xa1\xb4\x95\x1b\xd0\xe7\x03\x6a\x27\xba\xb4\xd5\x1e\x09\xac\xb4\xe8\x58\xbb\x0f\x93\xf4\xde\x3f\x3b\x96\x05\xb8\x06\x91\xd6\xd6\x5e\x21\x23\x3a\x21\x50\xd0\x98\x5e\x1e\x2b\x58\xfb\x62\x7f\x77\xbb\xc1\x2f\xbe\x94\x56\x6d\x56\xfb\x4e\x88\x64\xb2\x82\xee\x77\x9a\x7a\xf4\x22\x99\xb8\x38\xe2\xd2\x04\x39\x19\xa2\x82\xa4\x76\x30\x2b\x11\xd0\x6c\xda\xf0\xe6\xa8\xf6\x40\xfd\x36\xc9\x03\x87\x5c\x31\x6a\x28\x23\x0e\x66\xf5\x91\x2e\x31\xac\x09\xf6\x3e\x1b\xbe\x9a\xb7\xfe\x92\xf4\x6f\x47\x74\x0e\x58\xf7\x6c\xeb\x44\x11\x0a\x26\x50\x83\x56\xf9\x4c\xfd\x5c\xf1\x74\x62\x72\xec\x5e\xba\xc9\x84\xa9\xd5\x8f\xcb\xce\x07\x97\x81\x45\xa1\x9e\x57\x99\xbd\x98\x41\x0f\x80\xb1\x47\x39\x5d\x9e\x12\xb3\xbd\x9e\xa0\xb0\xfd\x8e\x84\x22\xfb\xb5\x2d\xb7\x96\xfa\xac\xa9\xcd\x47\x0b\x9e\x8a\x9a\xa9\x63\x93\xe4\xde\x2d\xfd\xbf\xb0\xdb\xec\xcc\xb6\x51\xa2\xaf\x42\xc5\x10\x80\xb2\x53\x7e\x0c\x16\x06\x96\xf8\xc3\x8b\x22\x23\xa4\xee\xc1\xbf\x4a\x3e\xfa\x57\x2c\x33\x00\xff\x8e\xee\x54\xc4\xf2\x67\x7f\x88\x82\x95\x76\x28\x0b\x54\xa3\x59\x7f\x56\xcb\xa4\xf9\xa3\xb8\xc3\xb8\x98\xe9\x18\xc6\xe3\x6b\xb9\x70\x28\x14\xaa\x0e\x6f\x14\xf9\xff\xcb\xb7\x47\x70\x91\xc7\xd5\x62\xf9\xa3\xdd\xa1\x8b\x0f\x1a\x13\x8f\xc9\x8d\x33\xaf\xde\xb1\x47\x5e\xc4\x23\x6a\x3d\x41\xfc\xdb\x96\x07\x24\x8f\x99\xd7\x9d\x81\xcd\xa1\xfb\x28\x9f\x3f\xce\x52\x63\x36\xf9\xc1\xeb\x37\x48\x21\x32\xcf\xde\x7f\xf7\xaf\xc0\x54\xaa\xe7\x3b\x0f\x88\xaa\xa2\x8c\xd1\x7f\x57\x7d\x5d\x5b\x7f\x0a\x95\xe5\xc9\x92\xe5\x9f\xec\xb5\x37\xdd\x99\x5a\x13\x8d\xc4\x54\x91\x3e\x95\xd9\x5c\xec\x93\x2f\xb1\x37\x09\xf1\xaa\xf5\x6a\xd5\x30\x6e\x7f\x54\x02\xea\x33\x70\xab\x50\xa3\x9e\xfb\x52\xb2\x4b\x3e\x20\x27\x16\x3f\x3c\xf5\xb3\x03\x12\x0f\x76\x79\xb0\x1b\x67\x9c\x9a\xe7\xd1\xff\x6a\xdc\xd6\x69\x42\x02\x25\x02\xbc\x99\x6f\xe9\x05\xb4\x66\x31\xdd\xf9\x4c\x76\xc9\xb5\xf8\x9e\x44\xea\x12\x54\xae\x52\x87\x8c\xe0\xbb\x2f\x98\x09\x77\xa2\x38\x13\xd6\x7a\x24\xde\x42\xb7\x25\xd2\xd1\xda\xc5\x0a\x19\xd2\x6a\x23\x07\xb0\x46\xff\x2f\x16\xca\xe8\xd4\x88\xb6\x24\x95\xfe\xd8\x52\x45\x4b\x64\xc2\xa3\xf1\x3a\xda\x76\xd5\x8a\x75\x8b\x3d\x67\x0a\x3e\x33\x44\x2f\xf4\x64\xd9\xb1\xbc\xe9\x34\xd3\x53\xaf\x64\xbc\x8c\x7c\xa6\x27\x49\x50\x48\x3c\x77\x3d\x5a\xc2\x16\xb0\x7f\xe3\xcc\xb2\x6c\xa6\x9a\x19\x80\xd6\xf6\x7c\x8b\xb1\x71\xff\x08\x35\x4a\x28\xbb\xfa\x4a\x16\xcb\x4b\xaf\x18\x82\xee\x7a\xc3\xd8\xd8\xa2\x34\x91\x75\xff\x95\x13\xd1\x33\xf9\x01\x19\xf7\x42\x71\x55\x3b\x11\x74\xfe\x98\x26\x11\x59\x82\xcf\x42\x5c\x18\x8f\x44\x2f\x7a\x49\x8a\xe4\x0e\x42\x59\xba\x1d\x0e\x46\x17\x26\x7e\x4f\x1a\x94\x2e\x4e\x7c\x55\xf2\xe0\x94\xb9\xba\x83\xd4\x62\x5a\x8d\x6c\x8f\xcc\xf0\xab\x94\x16\x4d\x4e\x50\xbc\x42\x04\x11\x9c\xde\xf5\x3a\xa5\x90\x37\x8c\xd0\x78\x4b\x2f\x6e\x85\xf5\x1b\x24\x6b\x0d\xfe\x0a\x7b\xf6\xdf\xe0\xe0\xa4\x83\xf4\x8d\xef\x8e\x91\x31\xa3\xf7\x77\x33\xc8\x4c\xb2\x83\x8f\xa2\x16\x3d\xd7\x6f\x2d\xd5\x86\xd1\x9b\xf1\x5d\xcb\x7b\x8b\xfa\x19\xb2\x17\xf2\xa4\xf2\xd2\xd7\x59\xac\x7c\x06\x33\xa5\xba\x77\x22\x61\xcc\xd8\x61\x19\x9d\x5d\x15\x94\xf4\x6c\xd8\xad\x76\xd9\x5f\x5d\x5c\x90\x38\xf6\x98\x21\x5c\xe7\x55\xca\x7f\xed\x67\x30\x52\x0f\x46\x73\x15\x42\x6f\x59\xf5\x14\xf5\xdd\x5d\x0b\x59\xd2\x23\xe0\x11\x7f\x72\x3d\x82\x9f\xf0\xb2\xc0\xb3\xca\xb7\xf3\x73\x24\x53\x4a\xc5\x74\x9c\x5c\x4a\x83\x93\xb3\x46\x49\xe3\x85\x84\xfc\x9c\xe5\x84\x20\xe8\xc9\x8b\xc1\xf1\x0b\x10\xcf\xc1\xca\x0b\xdc\xad\x8d\x24\x1d\xea\xa2\xf0\xa5\x37\x9f\x9a\x58\xbc\x68\xf0\x0b\xd2\x1b\x29\xc9\x46\xb6\xbe\xe3\x0a\x0b\x2f\x8e\x62\x93\xc7\x90\x0b\xe3\xe2\x74\x7e\x2e\xec\x1f\xd5\xe1\x3a\x32\x34\xb1\x44\x05\xd4\xf4\x20\x71\x1a\xbb\x94\x64\x05\xe7\x5e\x58\x56\x09\xcd\x99\xae\xff\xb0\x6e\xf3\xe8\x5d\xf5\x11\x62\x07\xfb\xf3\xca\xd0\x90\x72\x3f\x41\xd9\x8b\x1c\x52\xfd\x01\x9f\x0f\xdb\xe1\x93\x91\x52\xf9\xa1\x27\xed\xa1\x7d\x3c\x17\x24\xb7\x47\x1e\x12\x0f\x31\x33\xfa\x26\x69\x52\xfb\xb6\x0e\x73\x52\x21\xaa\x9b\xad\xfb\xb6\xd5\x2b\xca\x88\x69\xb3\x9b\xfa\xc4\x22\x5c\x44\xf6\xca\x83\xa5\x8b\x0b\x23\xed\x01\xda\xac\x4d\xc6\xe8\x73\x80\xc3\xe1\x74\x90\xda\x79\xc9\x95\xc3\xb3\x48\x23\x38\xdd\x66\xba\x44\x63\xe3\x8c\x5b\xb5\x04\x15\x8a\x4b\x0e\x63\x91\xd6\x11\xca\xe9\x4d\xb6\x9b\x98\x4c\xad\x61\x5e\x35\xca\x6d\x73\x0a\xf7\x15\x94\x39\xcd\x50\x57\x55\x3e\x95\x7f\x6f\xdd\x75\x14\x9e\x68\xdb\xda\xb4\xd9\x30\xa6\xd8\x4b\x28\x38\x07\x6b\x2f\xa7\x30\xd8\xab\x6f\x6b\x4c\xcd\xe2\xdf\x44\x79\x75\x7b\x73\x79\x2a\xce\xc0\x8a\xe3\x00\x07\xa6\xfa\xb5\x78\x6f\x7a\xe5\xc5\x63\xcf\xd1\x43\x2d\xdd\xb7\x87\xb7\x6e\xf0\x7c\xff\x99\x40\x45\x1a\xbe\x1b\x89\x92\xca\x97\x1d\x14\x71\x71\x99\x9b\x17\xd3\x0e\x03\xe0\x56\xc3\x0c\x97\x51\xd6\xc4\xa4\x12\xa7\x9b\x62\x79\x2e\x27\x59\x98\x85\xc7\xcd\xb0\x15\x2b\x21\xd3\xca\xb3\xe8\x62\x9c\x1d\x8f\x09\x07\x96\xc7\x67\xdc\xed\xd4\x1c\xc2\x4a\xae\xa6\xe0\xb7\x29\x86\x1d\x95\x9d\x40\xae\xe1\xf4\x3d\xaf\x68\xc6\xf6\xa0\x56\xbc\x16\x92\xc4\xa0\x24\xd7\xd9\x57\xd7\xdd\x12\x3f\xb0\x1a\x6a\x3b\xec\x86\xc5\x32\x38\x89\xc5\xaa\xf5\xde\x13\xd2\x64\x5f\xb1\xde\x32\x0a\xf3\xc5\x5b\x9d\x6b\x08\xa6\x05\x27\xfd\x19\x88\x76\xe6\xeb\x0d\xca\xc9\x0e\xa1\xdf\x1b\x72\x4b\xec\x74\xbc\x3a\x71\x2a\x21\xbd\x91\x50\x00\x77\xb3\xf8\x31\x00\xd2\x1a\xcd\x50\x4b\xdf\x4e\x6b\x7b\x34\xc5\xc9\x47\xdd\x90\x60\xc1\x91\x47\xb3\xb2\x2f\xd5\x07\x41\x52\xd9\x61\x9b\x4b\xbd\x44\x52\x02\x21\xeb\x99\xfa\xb5\x4f\x26\x14\x59\xf9\x60\xb3\xa3\xde\xe8\x8a\x3f\x1b\xe6\xbd\xf7\x35\xc5\x7c\xe1\x27\x0f\xed\x07\xc3\xa8\x07\x21\x3f\x66\x4d\xf2\x8b\x54\xc7\x8a\xe9\x56\x40\x09\x00\xc8\x50\xf5\xf7\xdb\x33\x2d\xb4\x31\xf8\xb2\x9c\x0f\x24\x32\x8f\x4f\x3f\x4e\x75\x9f\x04\x3e\x1b\x78\x0e\x65\x56\x16\x9e\xcc\x45\xee\xbc\x4b\xa5\x23\x22\xa4\x08\xff\xf1\x85\x08\x29\xc9\xb8\x2b\x6c\xe8\x42\xf9\xc4\x87\xd3\x34\x29\x07\xf8\xd0\x73\xf8\x78\x51\x65\x85\xf6\x61\x3b\x34\x5c\x2f\x1d\xaa\x00\x98\xa7\xd8\x97\xcf\x05\x5f\xa1\xea\xef\xe5\x41\x31\x67\x6e\x75\x76\xe3\xa8\x0e\x75\x99\xca\xb4\x02\xd9\x51\x73\x26\x20\x76\x2d\xc8\xb5\x6c\xbc\x4f\x88\xb6\x96\x4c\xec\x26\xe6\xd4\x25\x63\x32\xd6\x47\x3a\xeb\x6f\x8b\x19\xf9\x7b\xb3\xad\x61\x3e\x93\x84\x43\x47\xb7\x6c\x67\xe6\x86\xee\x77\xdb\x26\x06\xfe\x80\x22\xfc\xd1\x4b\x5f\xb3\xae\x11\xf7\x58\x93\xd2\x3e\x18\x28\x5d\x3d\x4c\xd1\x68\x63\xe6\xae\x02\xc8\xda\x7c\xce\xbd\xcd\x75\x49\x9f\xd4\xcb\x5f\x96\xba\xf6\x6b\x12\xbc\x23\x31\x4b\x28\x84\xcc\x8e\xe9\xeb\x59\x5a\x46\x4d\x4e\xb5\x33\x5f\x4a\xbd\x9c\xf3\xf5\x9c\xec\x07\x19\x37\x34\xea\x17\x2e\xb4\xfc\x37\xc6\x5c\x89\x7c\x8b\x36\x92\xa1\xd3\xd7\xd0\xc6\xaa\xae\x40\x55\x70\xcd\x2e\x82\x9b\x5a\x5b\x87\xf1\xac\xc6\xb5\x5d\x5e\xcd\x68\xcb\x2e\xc3\xbf\xbd\x99\x60\xb3\xdd\x5e\x6a\x64\x17\xd6\xca\x76\x6e\xe0\x2b\xac\x2c\xd0\xa7\x15\x09\xde\x3a\x6d\xeb\xad\x8e\x06\x52\x2f\x89\xd1\xea\x54\xb5\x4b\x96\xaa\x29\xbe\x84\x13\x3c\x5a\xb7\x7e\xad\xf3\x56\xf7\x0e\xe4\x4f\x76\x35\xd9\x40\xdb\xeb\xdb\x1d\xf5\x4f\xdb\xdb\x0b\x3a\xa8\xa0\x5c\x19\x1a\xd9\x23\xb1\xe2\x0e\xaa\x95\xdd\x57\xd4\x89\x35\xc6\x45\x2f\x45\xcf\x0f\x57\x3e\x99\x9a\xe5\x53\xc5\x8b\x23\xe1\x52\x8f\x7c\xac\xba\x86\xb8\x91\xd1\xda\xe9\x83\x1c\x8e\x6a\xb7\xb4\xbb\xd0\x7a\x3c\x61\x4b\xff\xde\xeb\x71\xef\xf5\x2d\x51\x98\xf2\x52\xf4\xfb\x58\x12\xbd\x0b\x37\x25\x11\xfe\x19\xb8\x08\x6b\x51\x0d\x6b\x93\x91\x53\x88\xda\xbc\x92\x3b\x49\x9a\x66\xcf\x27\x5a\x7f\x83\x3a\x90\xa9\xea\xc1\xe6\x55\x64\x1a\x56\xda\x8b\xdd\x43\xec\x20\x92\x98\xe5\x08\xdc\xb8\xc7\x6b\x7c\x0a\xa7\xda\x15\x3f\xfd\x79\xbd\x0f\xf8\x85\x4c\x73\xf9\x97\xfc\xdf\xfc\x73\xb2\xd3\x6d\x51\xcf\x98\x0f\x5f\x71\x1b\xff\x6e\x32\xb9\x95\x0f\x37\x3d\x7d\x8d\xea\x2f\x65\xa2\xd8\x23\xee\x11\x6c\xf5\x79\xfd\xca\xab\x38\xd9\x7a\xf1\x91\x2f\xe5\x13\x7a\x95\x0f\xfe\x31\x04\xd5\xbd\x41\x95\xf2\x13\xc3\x8d\x43\x46\x76\xc8\xae\xa2\xf8\x45\xca\x92\x66\x0b\xa2\xe9\xfc\x62\xc0\x4b\x97\x8e\xff\x58\xfa\xd6\x53\x39\xee\x50\x9c\xcb\x4f\xc9\xc8\x8d\xb6\x05\x67\xc8\x4e\x55\x0e\xde\x24\xb3\x27\xd4\xc5\x40\x4e\x97\xac\x72\x85\x99\xc3\xa5\xaa\x78\x86\x25\x1e\x3c\x05\xb6\x83\xa7\x9a\x72\xae\xfc\x7e\xac\x57\xd3\xc1\x5d\xd7\x26\xf5\xac\xb7\x63\x1a\x2f\x1e\x4a\x0b\xff\x1d\xfc\x44\x71\x68\x7e\xc9\x18\xab\x8c\x42\x9a\xd6\x96\x4d\xc4\x67\xed\x51\x62\x1a\xee\x32\xac\x57\x95\xf1\xff\x6e\xe2\x48\xb1\xa5\xaa\x4b\x8c\xe9\x15\x63\xa6\x72\x02\xc0\x8e\x11\xae\x99\xaa\x4d\xc4\xd3\x08\x32\x53\x42\x99\xbc\x08\xb8\x74\xdd\x77\x41\xb4\xb4\xf5\x8e\x82\xda\x81\x4a\xdf\xee\x5e\xc4\xc4\xe6\xee\x12\xa1\xa0\x37\x56\x7b\x9e\x8d\x97\xdd\xca\xf6\x78\x3e\x79\xd1\x1b\x31\x91\x47\xc4\xfa\x46\x46\xda\xc0\xe6\x79\x82\xc0\x20\xed\xa4\x58\xd3\x4a\x79\xa6\x12\x9a\x7e\xd7\x12\x89\x38\xe2\x84\x72\xfc\x3e\x12\x54\xa1\x93\x29\x9b\x2c\x18\xb6\x29\xc6\x87\xe9\x8d\x56\xf6\x6c\xec\xa5\x6c\x04\x01\x45\xef\xe2\x11\xc2\xc1\xd9\x0b\xe2\xc1\x08\x82\x33\x0f\x76\x9e\x6a\x9b\x1f\x25\xf4\x06\x47\xb0\x2f\xd6\xf4\x53\xd2\x7b\xc9\x2e\x73\xed\x7d\xa4\xe0\xf2\xcd\xb5\x18\x8d\x66\xbc\x9a\x15\x8a\xce\x56\xc9\xee\x89\x13\x73\xca\xee\x8d\x84\xad\x73\x4f\x4b\x55\x72\x90\x9a\x5d\xab\xde\x77\xc4\x07\xcb\xb9\x09\xff\xc2\x57\x43\x4c\x1c\xcf\xa7\x9e\x7a\x18\x13\xf1\x2d\xda\x9f\x3f\x96\x24\x4e\xd9\x2a\x9e\x2d\x02\x3e\xa4\x27\x03\x20\x3e\xf5\xa6\x45\x60\x00\x24\x4b\xbe\xe8\xf9\x69\xc9\x42\x64\xcb\x1a\xac\xc2\xa6\xe6\xee\x24\x1e\xfd\x53\x33\x45\x34\x6a\x36\xfd\x37\xdd\x56\x44\xb2\x6b\x3d\x19\x42\xdb\xbb\x07\x88\x62\xc6\x1f\xb8\xb8\xf1\x8f\x70\x9b\xef\x7b\xe5\x42\x5f\x32\xbf\x1d\xd1\xce\xed\x36\x2d\xdc\x1f\xdb\x63\x96\x7b\xa7\x45\xa7\x80\xa3\xa7\xec\x47\xa1\x77\xe7\x64\x12\x65\x3f\xd3\x2c\x26\x21\xc4\xcf\xb2\x59\x35\xbe\x6c\x7e\x4f\xb2\x49\x25\xc7\xc4\x67\x11\x60\xcf\x49\x99\x74\x26\xa9\x82\x41\xe4\x4c\x05\xd4\x9f\x0a\xba\x94\x82\xaa\x57\xd8\x3c\x28\x62\xa6\xf6\x79\x34\x12\x3d\x65\x5e\x0e\xc8\x83\x06\x6d\xec\xe6\x11\xa0\x7d\x2d\x38\x54\x3e\x2f\x22\x15\x3a\x10\xd2\x97\x3d\x21\x38\xbd\xe3\x13\x4f\xa4\xad\xcf\x3d\xda\xbb\x37\x1d\x88\xdb\xfe\x50\x61\x51\x32\x21\x0b\x5d\x02\x1d\x8f\x14\x8c\x1b\xad\x70\x4f\x20\xdc\x46\x96\x1d\x76\x96\x34\xbf\x3a\xf2\x7a\x91\x01\x76\x1a\x03\xf8\x9f\x28\x2b\x89\x61\x25\xb9\xcf\xaa\x44\x52\x6a\x25\x99\x00\xc7\x2d\x29\x1f\x4e\x3c\x6a\xa1\x64\x8f\x6e\xb2\xd0\x30\x2e\xae\xde\xb8\xf3\x72\x41\x48\xac\x76\x64\x2f\x6e\x68\x4c\x3f\x29\xe2\xab\xb7\x8a\x09\x35\xf9\x5c\x82\xec\xb7\x86\xd2\x54\x52\x4e\x98\x47\xda\x78\x2f\xc4\xdd\x60\xf1\x76\x07\x71\x8e\xcd\x3c\xfc\x32\xd6\x9c\xdf\x4c\x4f\x31\xee\x77\xaf\x18\xae\xc3\x7b\xb3\x77\xd2\x7b\xc7\x4c\x79\xa6\xbc\x82\x39\x16\x00\x7d\x01\x0f\xd8\xb1\x32\x42\x06\x0a\xf3\xde\x31\x7d\x41\xcf\xbd\xdb\xf5\x14\x0f\x68\x49\xea\x34\xfb\x21\x09\x27\x87\x7b\x64\xfa\xb6\x10\xe8\xb9\x39\x0e\x02\x4b\x10\x9f\x95\x8a\x28\x3f\xeb\x95\x12\xc1\x29\xcc\x84\xe0\x61\xad\xa6\x07\x2a\x3d\x94\x33\xf4\x79\x77\x7d\x4f\x5f\x4d\x2d\xa7\x5f\x33\x0c\x60\xd2\x6e\xc2\x86\xdd\x73\x98\x36\x21\x72\xbd\x1c\xab\xfb\xc3\x0c\xcf\x64\x33\xab\xea\x24\xcd\x49\xf9\x52\xfd\x56\x87\x27\xf0\x6a\x96\xf8\xee\xb5\x3d\x28\xd1\x38\x37\xfe\x84\xe1\x41\xcc\x23\x39\x4c\xc8\xac\x9c\x2e\xe9\x10\x3a\xae\x40\xd7\x55\x61\xd0\x1d\xb6\x68\x7f\x56\xf4\x38\x30\x32\x78\xb0\x35\xdb\x7d\x7c\x68\x49\xa8\xda\xad\xf5\x2d\xbd\x70\x7b\x87\xc7\x24\x3e\xd2\xc0\x70\x4b\x3f\x77\x7c\xf5\x91\x54\x58\x52\x6a\xb0\x9b\x93\xd5\x84\xb3\x50\xca\x00\x24\x46\x91\x5f\x24\x9a\x0a\x59\x52\xcc\x35\x0a\x1b\x99\xb8\x3f\x77\xc6\x66\x9a\x3f\x4e\x84\x98\xe7\x65\x26\xe2\xe7\x53\x55\xa1\x22\xf5\x23\x45\xf1\x4e\x12\x4d\x22\x25\xf0\xf8\x45\x59\xa1\x76\x40\x1c\x14\xa1\xa6\x0e\x1e\x9e\xf4\xaa\xc0\xbb\xcc\x83\x9c\x7c\x39\x74\x5a\xee\xbf\xca\x71\x9f\x77\x9d\x78\x93\xef\xa2\xf1\x29\x69\x82\x90\xbb\x06\xd9\x6e\x23\xcc\x18\xa3\xbd\x87\x9b\xc8\x32\x23\xd0\xf1\xe9\xd2\x05\xd0\xe0\x23\x65\x6c\x40\x36\xc4\x3e\x0f\x1d\xbc\x22\x73\xf3\xd2\x9c\x94\xb3\xa6\x3e\xef\x48\x56\x5b\x07\x4f\xa9\x57\x28\xcb\x15\x01\xd4\x58\xf9\x69\x05\xe5\xdc\x46\xdf\xa2\x07\x5e\xdd\x1b\xec\xff\x42\xec\xcc\x76\x36\xdd\x88\x85\x9e\x05\x0f\x2c\xf0\xb5\x1b\x59\x9d\x9b\x05\x38\x4f\xdb\x70\x3b\x77\x8c\xcc\x7d\x2b\x29\x03\xf5\x36\x58\xb6\xb4\x9b\xfa\x3f\x4b\x4e\x28\x34\xe5\xfa\x9b\x4f\x0f\x21\x96\x7a\x2d\x52\xe1\xa0\x0b\x17\xd7\x65\xc9\x84\x3a\xa8\xdd\x10\x86\x0b\xd9\x23\xa5\x13\xfd\x4a\x35\x30\xa1\x68\x9e\xa7\x03\xd3\x49\x44\x74\xee\x2b\x0a\x66\x53\xc8\x66\x4b\x99\x3e\xa0\xe1\xb4\x0b\x30\x0f\x4f\x4f\xf8\x2e\xbc\xe4\xdb\xde\x32\x7f\x66\x55\x63\x02\x36\x24\x7a\xfb\xfc\x92\x86\xab\x7e\x4a\x46\x94\x06\x46\x60\xeb\x75\xb9\x7c\x18\x4a\x83\xa9\x84\x12\x6c\x6f\x75\x3b\x4c\x08\xee\x15\x82\x34\x8e\x03\x47\x86\x2b\xca\x09\xb2\xfa\x6a\x7e\x0c\x8d\x1c\x1b\x84\x08\x03\xc9\xdf\xeb\xb9\xe0\x42\xf9\x8f\xe6\x8e\x42\x49\xbd\x88\x07\x41\xef\x32\x33\x54\x6d\xc5\x13\x18\x06\x61\xf1\xb6\x08\x78\x18\x19\xc0\xda\x4c\x14\x3e\xd5\xe3\xeb\xe9\x86\xc1\x76\x82\xfc\x3b\x3a\xbc\x4c\x56\x7d\x31\x60\x4a\xa6\x18\x03\x44\x94\x62\x99\x89\x25\xb7\xa8\x52\x9c\x46\xc2\x9f\xca\xaf\x95\x7b\xe8\x38\x5a\x29\x17\xe1\x64\xb4\xbe\x24\xcb\xc8\x53\xa7\x9e\xea\xf9\xd4\xce\x0a\x39\x1c\x39\x5b\x16\xe8\xd1\x7a\x87\x24\x84\x3a\xec\xe1\xb8\xee\x30\x7c\x63\x3b\x35\xfa\x9a\x6e\xa9\x5c\x40\xd1\x85\xb6\x5a\x36\x6d\x9d\xf3\x13\xdb\xe6\x99\x3a\x28\xa9\xb1\xae\x62\x64\xd2\x0d\x9a\xc1\xc3\x3d\xc5\x74\xd8\x17\x22\xc8\x0b\xa0\x73\x7b\xc8\x26\x04\x42\x9e\x84\x9b\x44\x8b\x76\x8f\x97\x80\x54\xc6\x19\x09\x4b\xd4\xc3\x8f\x5a\x5e\x68\x02\x88\x5b\x07\xf9\x32\x92\x40\xd9\xf9\xfd\xbc\x11\xaf\x0e\x62\x54\xfb\x08\xfd\x18\x3e\x7b\x57\x52\x4d\x8f\xec\x67\xc0\xaa\x02\xa5\x03\xc4\xd9\x36\x59\xdb\x96\x54\xa4\x31\xe3\x26\x13\xe6\xbf\x91\x8a\x17\xaa\xac\x67\xf2\x3a\x7c\x2b\x2d\x2c\xa6\x7e\xab\x71\x2a\x77\xc9\x13\xc3\x31\xe6\x58\xb1\x87\xa7\x24\x5b\xff\xbe\xf2\x19\xed\xf4\x0f\x3b\x9c\xcf\x99\xbd\x50\x28\x29\x1b\x59\x0f\x74\xa0\x3a\x52\x29\x07\xb6\xf3\x9e\xd6\x83\x81\xd9\x84\x7e\xfb\x44\x96\xed\x66\x1c\xcf\xbd\xe6\x8e\xdf\x4d\x27\x1f\x73\x9e\xd4\x96\x57\xc6\x65\x30\xa5\x0e\x11\x68\x07\x2c\x54\x22\xa8\x29\x79\x42\x87\xa2\xbb\xa3\x21\x7d\xd5\xa8\x0d\x42\x3f\x82\x18\xcb\xba\xeb\xa9\x71\xe8\x1d\xef\x40\x3f\x6f\xb9\x24\x73\xc6\x14\xc9\xbc\x1a\x02\x83\x4a\xd8\x35\xc5\x80\x11\x76\x4f\xf1\x29\xae\x71\x9d\x73\x0f\x81\xe1\x55\xcc\xdb\xeb\x27\xc9\x80\x19\x30\xbc\x72\x97\x1e\x82\x13\x55\x56\x4c\xa0\x13\xf7\xfd\x48\x9a\x83\x80\x28\xdc\x76\x46\xa4\x88\x96\x3b\x9c\x8e\x28\x21\xe8\xf9\xb7\x29\x93\x35\x6b\x72\xfa\x3f\x41\xc0\x38\x23\xc8\x55\x91\xad\xcf\xeb\x42\x2c\x50\x78\xe0\xa5\x8e\xfa\xe5\xd1\xc6\x0e\x0e\x12\x47\x4c\x62\x12\x33\x73\x3c\xd8\x0f\x36\x28\x96\x15\x83\x79\xe9\xc4\x51\x6d\xde\xab\xcb\x9a\x7c\x50\x06\x1f\x7a\x9e\x71\x0d\x11\xb6\x37\x53\xe5\x41\x69\x6c\xb0\xcb\xea\x12\xaa\x47\x80\x42\x78\x17\x6b\x9e\xff\x97\xa7\xe0\x45\x2f\x73\xa2\x34\x20\x58\x25\xd1\x60\xc3\x98\x92\x22\xd4\x20\xbe\x46\xfa\x60\x74\x7b\x6a\x77\x88\x74\x1c\x3b\x2c\xe1\x22\xcc\x89\x83\x86\x9d\xca\x89\x83\x85\x6d\xe5\xc8\x82\x3c\x20\x56\x14\x10\x51\x6d\xe5\x87\x14\x37\x7a\x93\x1c\xc6\x79\x43\x1b\xc0\xb0\xe6\x29\xd4\xf4\xd6\xdf\x0b\x7a\xc9\x6b\xd7\x26\x8d\xd6\xdc\xea\x40\xe1\xa1\x13\xe1\x1d\x5e\xa4\x4e\x9c\x56\xff\x00\xe9\x8c\x49\x0b\x2d\x38\xcf\x02\xa1\x6b\x27\x64\x96\x71\xb9\x59\xe8\xde\x38\xf6\x76\x9c\x7b\x64\x1f\x83\xae\x0c\xfe\xa5\xd3\x00\x22\x02\x98\x65\x64\x9c\x87\xf5\xdb\x6f\x88\x89\x6d\xf1\xa6\x54\xa2\x2d\xb7\xd1\xa4\xd5\x60\xe0\xa5\x42\xf0\xea\xcd\xa6\x59\xa2\x6c\x05\x66\x4d\x88\x14\xb1\x70\x5c\x98\x5e\x37\x25\x33\x47\x6f\x4c\x49\xd7\x9a\xd1\x16\x9c\xd1\x78\x8d\x81\x74\xd8\x80\x7a\xc3\x2e\xdd\xfa\x3c\xec\xdd\xc7\x90\xcb\x0b\xc8\xa9\xc5\xbd\xe1\x34\x41\x21\x29\x67\x24\x4e\xa5\xe7\xc5\xcf\xa0\xa9\x4d\xe9\xfc\x5b\x74\x70\xec\xeb\xd2\xf5\xd2\xec\x5c\xe1\x25\x36\x72\x85\x15\xb9\x1d\x50\x6d\xcd\xc6\x54\xa9\x9e\x98\x4f\xf1\x0f\x22\x9a\xa8\x36\x70\x21\x4a\x53\xc1\x8d\x10\x15\x3d\x56\x62\xf3\xe5\x83\xdc\xfe\x0a\xb3\x64\x69\x1d\x15\xb1\x9f\x10\x21\x34\x98\x88\x2c\x24\x02\x0b\xaf\xf3\x4c\x7e\xa8\x74\x23\x29\x53\xe1\x26\x48\x93\xd5\xdb\xbb\x31\x8f\x61\x02\xe3\xc4\xca\xb0\x71\xd9\x4b\x55\xdd\x0d\x2d\x5c\x3a\xae\x9f\x80\xd0\xad\x0b\xd5\xf5\x6d\x8b\xa3\xb4\x6f\x38\x7e\x87\x72\x22\xa9\x2e\x03\x2d\x70\x0a\x79\xa0\x2f\x0f\x26\x9a\xec\xeb\x39\xae\x2b\xbd\xe2\xf6\xc8\xbb\xcd\xfc\xbf\xda\xc5\xe9\xbe\x12\xa3\xaf\xf6\xa4\x60\x6f\x85\x7c\xbd\x1d\xdb\xc4\x47\x85\x4f\x91\x7d\xa1\x5d\x79\x6f\x13\xf3\xa9\xc9\xa5\x22\x87\x5c\x21\x68\xc8\x06\x31\x76\x57\x51\xe4\xe3\x77\xd0\x0c\x33\xc3\x37\xe4\xe1\xce\xc7\x86\xe9\x81\xb0\xd2\xf8\x9f\xbb\x02\x52\xa1\x6d\xc3\x4b\x0b\xe4\x06\x02\x09\x89\x4f\x17\x20\xac\x80\xf4\x39\x04\xd4\xa8\x76\x21\xc3\xb5\xb3\x34\x44\x2b\x2d\x06\x3a\xf9\x6c\xe1\x1b\x36\xe6\xf3\xcf\x6e\xd2\x24\x8a\xe6\xe6\x70\x26\x14\x6c\x22\x8e\x37\x81\x4f\x28\xbb\x42\xb2\x35\x9c\xec\xe7\xed\xd8\xbb\x1c\x6a\x09\xfd\xa3\x54\x2e\x4b\x6b\x1e\x28\xbb\xfc\x9e\xa0\x74\xd7\x27\xdc\xad\xfa\x0f\x30\xa4\x22\x72\xcf\x8c\x0b\x23\xc7\x22\xb3\xac\x59\xda\x0c\x4d\xb7\x57\xe4\x82\x3b\xfe\x8f\x0f\xce\x29\xd4\x4f\x9f\x67\xd7\x45\x31\xf3\xed\x42\x20\x06\x61\x27\xc4\x98\xe5\xef\x59\xa2\x8f\xcf\x9f\x31\x3d\xf8\x9f\x75\x00\xce\x96\x8d\x23\xc8\x19\xff\xfb\x90\x45\xa4\x14\x07\x8b\x74\x80\xd5\x42\x0e\x94\x92\x91\xbb\x1f\x09\x67\x10\x82\x19\x58\xc3\x5a\x5e\x4d\x0c\x3f\x0c\xab\x70\xad\x4a\x64\x7b\x3a\xf6\x72\x96\x45\x9a\x7d\xb4\xca\xf4\x8b\x0f\x45\xa1\x1a\x48\xc5\x8d\x64\x9c\x42\x4c\x6f\x59\x1e\x74\x66\x25\xc3\x75\x5d\xa8\x22\xfb\x80\x87\x32\xed\xe3\x7b\x93\xe0\xf8\x90\x04\xf3\xad\x00\xde\xf1\xbd\x97\xf2\x95\x00\x92\x52\x3c\xb7\xc2\x2a\x30\x95\x73\xb3\x93\xf1\x2e\x16\x9a\x6c\x05\xa2\x99\x3b\xa2\x7d\x47\x32\x01\x08\x42\xdd\x53\x55\xb7\x49\x9f\x07\x49\xa0\xc8\x3c\x78\xbc\xaa\x1c\x38\xb4\xf2\x94\x51\x93\xd6\xf6\x25\x27\x18\xbd\xe3\xe7\x7a\x7c\x2e\x5c\x81\x51\x3d\x9b\x19\xcc\x30\xc6\x46\x22\x73\x0d\xbd\x27\x1d\x9c\x7d\xce\xd8\xe0\xcc\x7c\xae\xbe\x03\x6d\xa4\x74\xe4\xf1\x96\x5b\x28\x8d\x1e\x21\x0d\x49\xb0\xe9\xaa\x70\xaf\x10\x02\xe7\x6c\xe8\x14\x27\xc2\xe0\x2f\xe0\x50\xbd\xc0\x71\xd3\x45\xa5\xc4\x67\xf8\x7b\x2e\x29\x8f\xdb\x12\x04\x41\xa5\x83\xf3\x0f\x31\x4d\x95\x60\x53\x21\x64\x8d\x25\xc7\x51\x42\xb3\x3d\x56\x47\x77\xc5\x6f\x67\xc2\x5a\xe6\xfa\x31\x03\xa2\x5e\x7a\xe6\xa3\x20\x6d\x0c\x21\x54\x51\x95\xa4\x1b\x32\x41\x46\x0c\x7a\x70\x3e\x8b\x38\xea\x3f\x2d\xd1\x4e\x9b\xdb\x00\x70\xf1\x41\xe1\x51\x36\xf2\xfa\xeb\xc3\xcd\x44\x3a\x2d\xa4\x4c\x30\xa3\xbf\x78\x1c\x1c\xca\xda\x94\x9b\x1a\xfb\xac\x62\xdb\x31\xf6\x8e\xd8\xac\xaa\x99\x33\xd4\x0f\xd1\xd8\x9a\x89\x0e\x20\xe8\xb8\x94\x0f\x5c\xa9\xfc\xa7\x80\x2a\xd8\xaf\xef\xb8\x0d\xda\x49\x4a\xd7\x71\x88\x20\x78\xd2\xe7\x59\xe6\xca\x38\x3d\xdb\xae\xa5\xa6\x68\xbe\x45\xbd\x7a\x31\x1b\xbb\x46\x36\x39\xd0\x3d\x47\x3a\xaa\x88\x4b\xd2\x9b\x07\xbc\x0d\xfb\xc8\x73\xe9\xce\x7b\x19\x76\xe7\x07\xdb\x34\xd5\x8f\xb1\xc3\x58\x70\xba\xca\xab\xbc\x7a\x8e\xf5\x1d\xe7\xa7\x3b\x87\x81\x1c\xa6\x5e\x6d\xac\x92\x02\x35\x30\xea\x2e\xeb\xd7\x04\xd8\xa4\x31\xcf\xeb\xfb\x55\x70\xaa\xa9\xcc\xb9\x8b\x1e\x6e\x1b\x0d\x67\x97\xd2\x04\x96\x34\x94\x18\x8b\x2b\xbe\x9c\x90\xbb\xd6\x26\xd5\x45\xa3\x70\x3f\xb0\x86\xc9\x13\xf2\xea\xaf\xbb\x3f\x91\xa3\x76\x63\x30\xa5\x97\x5e\x99\x04\xc7\x6d\x58\xee\x71\x43\xb3\x0c\x32\x62\x94\x41\x64\x33\xc4\x64\xe2\x25\x8c\x13\x47\x61\xde\xa6\x75\x38\x39\x05\x4d\x91\xff\xf1\xd2\x49\x29\xbd\xf6\x66\x07\xfe\x1e\xcf\x9a\x16\x78\x26\xd1\xb9\x9b\xf6\x52\xbc\x36\x3d\x98\xfd\x0c\x2b\xc6\x91\x16\x8d\xf4\x79\xc9\x12\xe3\xc9\xe9\x9c\xbf\x22\x43\x57\xee\x0a\xd2\x86\xc3\x39\x94\x67\x0b\xda\xd1\x13\x41\x05\xb7\x12\x0f\xb7\x9f\x42\x37\xc4\xa8\xa0\x83\x46\x20\xf0\x45\xb2\xca\x50\x32\xe9\x19\xff\xe2\x55\xa3\x7d\x2f\xba\x75\xe9\x81\xd0\xbb\x07\x29\xf5\x52\xc4\x02\x1d\xff\xbd\x07\x47\x76\xb2\xf5\x7c\x2d\x39\xaf\xc3\x8e\xf4\xf8\x34\xb9\x89\x7c\xa0\xb0\xd9\x29\x61\x7d\xe6\x92\x5d\x02\x1d\x56\xe0\xcb\x12\x10\x73\x44\x3c\x32\x30\x21\xec\x15\xe7\xb7\xe5\x89\xaf\x3c\xd3\x49\x16\x7e\x45\xfd\xce\x85\x74\xe9\xc5\xa2\x3d\xa0\xc4\xe7\x56\xbf\x16\x08\xbb\xba\x29\x05\x18\x89\x09\xd3\x17\xa0\x18\x74\x68\x01\xe8\x70\x56\x97\xd6\x4c\x5d\x9f\x9c\x3b\x75\x4c\x7f\xd7\x8a\xe5\x4d\x11\x35\x8a\xcb\xde\xee\x9c\x5b\xa2\x2f\xdd\x76\x57\x72\xec\x05\x87\x58\x84\x45\xf4\x47\xbb\x1b\xc3\x9c\x5b\xfc\x25\x4d\x57\x90\xf1\xa5\xd6\xc0\x55\x17\xea\x2a\x2e\x95\x94\xc3\x78\xe3\xda\xd5\x18\xc5\xed\x85\xd8\x05\x93\xa0\x06\x4b\xed\x80\x39\x2b\x5e\x99\xe1\xbf\x7a\xbd\x30\x73\x98\xf3\x90\x3a\x4a\xe1\x73\xc5\x53\xbe\x01\xd1\xd0\x38\xab\x56\x06\x88\x8f\xd2\x08\xee\x85\xf0\x35\x37\xe3\xe4\x16\x45\x0f\x63\xd5\x8f\x79\x9a\x49\xeb\x58\xb8\xd9\x62\x72\xd6\x55\x7b\x15\xa6\x9a\x34\x38\xd3\x05\xb4\x1c\x56\x4b\x33\x62\x73\xe5\x87\xb6\x8a\x29\xd5\xe4\xa0\xe2\x6b\xc4\xf2\xaf\xc2\xa9\x99\xad\xfb\x60\xd5\xfb\xb2\x83\x7e\x54\xd1\x6c\xa4\x41\x69\xb5\x1a\xd7\x90\xaa\x49\x64\xd8\x0b\x32\xa4\xa9\x14\x77\x18\x03\x7e\xb9\xca\x93\x6b\x9f\x16\xb8\xe0\xc5\x71\x34\xd2\xb0\x4f\xe3\x5b\xa1\x52\x88\x85\xd8\xfa\xea\x88\x93\x43\x99\xfd\x7c\x5d\xff\xe3\x64\x34\x45\xce\x3c\x7d\xf3\x9a\xfe\xd0\x8b\xa0\x78\x4f\x18\x3d\x09\x84\xb2\x16\xbc\x7f\x71\x41\x1f\x1d\xaa\x2d\x28\xf0\x38\xbf\xdd\x24\x10\x17\x8e\xba\xaf\x6d\x88\x94\xbd\x4c\x5a\x54\x4a\x98\x63\xe8\xb7\x1a\x47\xb7\x76\x49\x40\x2b\x13\x78\x56\x98\x70\x34\x55\xbb\x48\x28\xcc\xda\xf4\x94\x7e\xb9\x48\x7e\xcc\xd1\xd0\xaa\x16\x60\x8e\x0b\x6c\x50\x81\x52\x6d\xbb\x08\xbc\x2f\x54\xd2\x05\x3b\x1a\x20\xce\x15\x30\xc9\x79\x6a\x8e\x4e\x33\xbd\x79\x28\xe2\xd4\x1a\xf5\x57\xec\x9e\xe5\x0e\x57\xf4\x6d\xc3\x37\x95\x4f\x51\xb5\x90\xb3\x34\xc0\x8a\xdf\x3e\x40\x0d\x15\xc4\xc6\x43\x11\xf9\xb2\xde\x82\x6c\xe9\x6a\x0b\xf6\xa7\xfe\xd9\x5a\xa9\x54\x09\x37\x1d\xb7\xa0\x82\x68\x10\x83\x36\xdc\xc6\xe4\x0f\x26\xfb\x98\xf8\xac\x1d\x9f\xd3\x60\xe8\xe8\x6f\x6d\x79\xf5\xb5\x9f\x2a\x99\x26\xa1\x34\x3f\xbe\x9c\xea\xa8\xcc\xd5\xe5\x3c\x36\x19\x6c\x72\xf3\x55\x2c\xfc\xd4\xf5\x79\xb9\x37\x4b\x65\xb5\x7c\x1a\xeb\x3e\x27\x3a\x16\xe6\x70\x4a\xd2\x3b\x0a\xc3\xc7\x2b\x5d\xe1\x93\x37\x87\x3c\xcb\x94\x34\x0e\xbc\x04\x23\xbf\x63\x58\x4b\x64\x72\xd5\xa0\xdc\x67\x29\xec\xec\xee\xea\x0f\xe6\xef\x3e\x23\xab\x3e\x3c\xd3\xb5\x59\x05\x4b\x5a\x6b\xe6\x99\x11\x4b\xa1\x52\xcd\x1a\xcd\x82\x91\x0f\x45\x1e\xfc\x23\xd9\x89\x2a\x86\x1b\x34\x31\x48\x81\xb2\x99\x5d\x7e\xae\xd4\xc4\x5f\x3b\xb4\x01\x9c\x8a\x9a\x7d\x46\x29\x8c\x53\x82\x26\xae\x48\x59\x11\x5e\xb8\xb7\x6c\x60\x07\xeb\xe8\x65\xf3\x6e\xb3\xe5\x32\xa7\x71\xfc\xfe\xb1\x5a\xd5\x2e\x55\xc2\xaf\xee\xdb\xcd\xc6\xba\x6f\xd3\xce\x35\xe8\x46\x7b\xe6\x2e\xa0\x79\x06\x94\xf8\xc6\x5c\x51\xcb\x40\xc1\xdd\x0e\x74\xed\x26\x22\x8f\x83\x29\x49\x3e\x40\x37\x5d\x8b\x88\x5b\x0c\x07\x36\x9d\x75\x56\x58\x19\x58\x4a\x1f\xf6\x28\xa7\xff\x3f\xb9\x10\xfe\xdb\xba\xe6\xdb\x2d\xfc\xb8\x8c\xc3\xf0\x04\x65\xab\x10\x22\xe0\xaf\x65\x26\x0f\x4a\xf1\x30\xac\x4c\x02\xd5\xbb\xc6\xde\x8e\x63\x97\x52\xa7\xce\xe9\x61\x52\xbe\x3d\xbc\x64\x6b\x41\x52\xc6\xc6\x9a\x0b\x16\xbe\x2f\x87\x92\xe8\x19\x98\x81\x68\x0b\x9c\x0b\x38\xe1\x8f\xa0\xa0\xc2\x78\xb7\x4e\xa4\x12\x01\xb5\x0a\xb7\xe5\x9a\x49\x32\xd8\xf6\x8c\xec\x09\x73\xf4\xf7\x2a\xc5\x68\x28\xd8\x9b\x13\xda\xc2\x43\x14\x17\xc4\xe9\x57\x8e\xcb\xae\xae\x9d\x30\x49\x20\x2e\xa9\x25\xe6\x3a\x33\x59\x98\xdf\x5c\x28\x30\xf7\xa2\x32\xcd\x34\xcf\x60\x00\x1b\x41\xe3\x02\xaf\x55\x87\xd2\x35\xf7\x14\x9c\x64\x1f\x3b\x5e\x87\x2b\xc9\x16\x5d\x2d\xbe\x12\xdb\x1f\x75\x6d\x7c\x1a\x3c\x0d\x93\x5b\x0d\x83\x74\xe1\xb1\x44\xe4\x51\x38\x9c\x8b\x81\x36\x46\x32\xa5\x93\xd4\xb7\xdc\xad\x72\x74\xae\x76\xc6\x70\x6e\xc1\x1b\xd2\xe5\x6f\x40\x8b\x8d\x53\x91\x80\x8b\x18\x28\xb0\x80\x2f\x96\x4a\xba\xee\xd5\x23\x2b\xc5\x4f\xe3\x1b\xd8\x90\x63\x28\xfb\xa8\x4f\xbf\x7c\x28\x4e\xdf\x91\x2b\x48\xec\xff\x69\x50\xae\x2f\xd5\x29\x8e\xe1\x7c\x63\xd9\x2a\xff\x34\x36\x72\x75\xac\xae\x5f\x10\xa0\xd1\xd2\x72\xbf\x21\x7a\x75\x37\xeb\x0b\x0d\x94\x3c\xb8\xf6\x8a\x8a\xa1\x93\x35\x67\x2e\xc1\xb4\x14\x07\xca\x53\x4f\xec\x0b\xd8\x63\x3b\xa8\xc7\xdf\x63\x6b\xe8\xc0\x97\x17\x42\x60\xf2\x71\x20\x80\x93\xa4\x40\x0b\x72\x88\xb4\xf7\xac\x06\x5b\x90\x8c\x49\x9b\x7e\x8e\x78\x65\x1a\x00\xdd\x5d\xa1\xb8\x12\x15\x13\x13\x97\x84\xd0\xfb\xd5\x5b\xa4\x56\x2c\xfe\xe4\x40\x09\x49\x9c\x48\x5b\x90\x21\x67\x89\x3c\xa6\x98\x54\x24\x1e\xf6\x23\xa6\x87\x5d\xec\xd7\x8d\xdd\x60\x4f\xed\x8c\xf1\x54\x64\x35\x09\x24\x64\xd2\xb9\xe9\xbb\x9d\x03\xa8\xc1\x60\x6b\x65\xe4\x13\x0a\x83\x68\x35\x3b\x6b\x4a\x88\x85\x7c\x54\x26\x92\x28\x17\x53\xdf\x25\xe4\x2f\x2b\x68\x4e\x02\x74\x02\xd0\xfa\x87\x97\x9f\xcc\x4d\xfb\x0d\x24\xc2\xfb\x44\x87\x28\x9a\xad\x19\xa0\xe9\xd7\xf2\x71\xbc\x1a\xdb\x5e\x41\x78\x20\xa3\x7b\xb9\x3e\x0e\x4e\x82\x49\x52\x39\x08\x19\x3b\x2b\x34\x69\xad\x2c\xad\x04\xec\x18\x8c\x23\x00\x9a\x6d\x89\xd2\x98\x6b\x6d\x87\x78\x97\x1d\x0c\xda\x4a\xe4\x4b\x4c\x98\xea\x27\x4f\xd0\x52\x15\x97\xca\x77\xcc\x3b\x59\x21\x5b\x6c\x63\xa3\x07\x59\xb1\xd0\xfd\xc8\x55\x34\xa9\x32\x7f\x13\xe6\xad\x46\xb7\x52\xa1\x39\x15\xab\x04\xf7\x43\x38\xbc\xc2\xdd\x7f\x54\x80\xa2\xd4\xeb\x34\x09\x28\x40\xc6\xdf\x3b\x5f\xa6\x05\x38\x00\x27\x43\x0c\x2a\xd1\x5f\x2c\x78\x75\xbf\x64\xdd\xcf\x7e\xc7\xcd\x55\xa8\xbb\xf1\xa6\x0b\x83\x14\x31\xbb\x23\x5d\x6c\xe7\x64\x7d\x64\x8d\xc3\xda\xa0\x7c\x13\xa2\x4d\xd3\xc8\xf1\xac\xaf\xa6\x95\x72\xfd\x51\x48\x1d\xd2\xe7\xb2\x38\x1e\x59\x40\x65\x2a\x50\x39\x97\x08\xc9\x1d\x7f\x17\xc9\x12\xd2\x67\x4a\x6a\xb0\xa7\x56\x9c\x56\x3e\x1e\x5d\x20\x65\x29\x48\xb9\x94\x84\x26\x95\x65\x58\x76\x09\xa5\x33\x68\xc8\x06\x6c\xfc\x9a\x96\xd1\x16\x2e\x4b\x0a\x3c\xda\xca\x0d\x13\xf9\xb8\xab\x56\x68\xc1\x33\x92\x3c\xec\x64\xe2\x22\x62\x92\xf2\xa1\x88\x25\xaf\x4a\xba\x8a\xad\x5e\xe3\x9d\xf8\xa9\x06\x37\x66\xee\x72\x86\x24\x8c\xb5\xdb\xfd\x39\xd2\x39\xef\x4d\x5f\xc5\x3b\x53\x9b\x27\x25\x2e\xed\x0b\xda\xcb\xe9\x97\x79\x85\x35\x0c\xbf\xf8\xe9\xdb\xb1\xfe\xca\xaa\x77\xf6\xf7\xff\xa9\x3e\xb2\xd0\x2a\x39\xcf\x80\x2d\xb4\xed\xdb\xa7\xb4\xb9\xf3\x32\x9e\x7d\x8a\x8b\x0f\x81\x0a\x1f\x3a\x75\xc6\xc1\x3d\xb2\x15\x73\x8e\x16\x91\x03\xc7\xd7\x62\xf5\x6d\x1c\x38\xf0\xfb\x16\xe5\x22\x01\xbe\xbc\x96\xc3\x27\xd1\x56\x88\x4d\x72\x08\xde\x9e\x7b\x5b\x21\x92\x2f\x55\x28\x37\xed\xbc\x21\x25\xd6\x67\xb5\x49\x13\xd4\x12\x36\x66\xb3\x63\x91\xe8\x68\x69\xdf\x1a\x9a\xee\x30\x0f\x39\x38\x10\xf5\xa5\xcf\x98\x15\x4c\x05\xa3\xfc\x86\x89\x9d\x99\x7c\xc7\xa2\x5f\x38\xa0\x4c\xfe\xcb\xaf\x03\x13\x13\x4f\x57\xf7\x49\x84\xf3\x31\x1d\x0e\x18\x18\xea\x26\x15\xb8\x8d\x81\xd8\x04\x14\xfb\x63\x89\x0b\x35\x13\x5c\x1d\x9d\x12\xec\xa9\xbf\xfb\x9d\x40\x9a\xe3\x1f\xc5\x57\xdd\x83\xfc\xa1\xc9\x7a\xdb\x2c\x27\x5c\xbc\x56\xe2\x75\x60\xca\x8c\x9f\x5d\x9c\x36\x27\xb6\x9a\x4d\x00\x8e\xe5\xad\x0e\x97\xcb\x05\xa8\xb9\xa3\x78\xaa\x2f\x57\xe3\x00\xbb\x4f\x95\xa3\x98\xb6\xba\xa2\xc2\x2f\xc8\x10\x32\xc8\x69\x9e\xea\xa4\x13\xef\x94\xa3\x38\x15\xe7\x9c\x26\x0f\xae\x4a\x5a\x0c\x3e\x15\xf7\x37\x93\x6b\x70\xf1\xa6\x07\x95\xcd\x2c\xc5\x1d\xc7\x89\xeb\x2c\x8e\x3e\x37\x6d\xc5\x53\x96\xf0\x63\x2e\x0d\x27\xe4\x73\xc7\x59\x9d\x5d\x03\x2a\x2d\xf6\x05\x6f\xff\x17\x54\xbd\xd3\x08\xb5\xc8\x1e\x3d\xb5\x96\x93\x21\xa8\xa9\xe4\x0e\x92\xc8\xd3\xee\x9e\x1e\xcb\x54\xb8\x76\x6f\xca\x30\xdc\x36\x33\xd4\x1f\x82\x66\x65\xb3\x74\x1f\x3a\x90\x6b\x6d\xeb\xf4\xbe\xcf\x18\x93\xb6\x11\x79\xf4\x81\x23\xb5\x99\xa2\x74\xd0\x13\x0a\x97\x6f\x1c\xa4\x9a\xab\xbf\x84\xaa\xaa\x38\xee\x2f\xc1\x2c\x15\x40\x50\xa6\x1f\xaf\x04\xd5\xd7\x87\xdd\x9b\xd2\x53\xb6\xa3\xb9\xf8\xab\x11\x3a\x21\xa5\xdf\x56\xff\x35\x8c\xe3\x79\x3f\x8c\x6f\x2b\x37\xef\xa0\x41\x1d\xa0\x7b\xc2\xde\x1b\x94\x7f\x18\x11\x51\xbf\x7b\x72\x80\x33\x2f\x32\xf3\xfa\xe5\x29\x49\xec\x3a\x4d\x24\xd2\x56\x88\x21\xfb\xaf\x89\x0d\x95\x01\x4f\x1d\xbe\x9f\x73\xd3\x5f\xed\xe9\x56\x2d\xc5\xff\x1d\x85\x85\x4e\xd4\x32\xd1\xba\x7b\x68\x0e\xe3\xcd\x39\x87\x9c\x23\x64\xe9\xcb\x44\x1d\xeb\x23\xd6\xf7\xd3\x45\x2d\xf8\x67\xff\xb2\x46\x6d\x64\x3f\x13\x7d\x5b\xd5\xbf\x73\x4e\x82\x56\x6b\xd2\xee\xfb\x5c\x55\xff\x6a\x8b\x80\xe6\xbf\x83\x88\x7f\xa6\xf6\xb3\x5c\x77\x80\x21\xd7\x2f\x97\xd1\xe5\x65\x06\x74\x79\xd9\x11\x5d\x5e\x89\x02\x5d\x5e\x76\x8e\x2e\x2f\xbb\x44\x97\x97\xbb\x42\x97\x57\xea\x1b\x5d\x5e\x89\x25\xba\xbc\xec\x0d\xba\xbc\xac\x1d\xba\xbc\xac\x03\xba\x5c\xff\xf5\xe3\x7f\xe3\x71\x16\x0c\x0e\x36\x69\x70\x92\x75\xcd\x8f\xc1\x4c\x8a\xb4\x54\xeb\x26\xa2\xda\xad\xe8\x80\x05\x16\x05\x28\xb5\x19\x49\x7f\x18\xed\x60\xe4\xcc\x24\x9f\xe4\x34\x1f\x26\x98\xf9\x05\xdd\xc9\x4f\x0b\x0f\x67\xf2\xb0\xdc\x7a\xd4\x25\x96\x49\x89\xcc\x97\xf8\xc6\xf4\xea\xb7\xa7\xfa\x0e\xde\x10\xa8\xb3\x2e\x33\xd4\x44\xd5\xc7\xb6\xab\x3a\x0e\x8a\x72\x13\xd1\x9e\xcb\x7c\xe3\xe9\x9c\x07\xd7\x83\x89\xe9\xa6\xbc\x79\xb8\x12\x9b\xd0\xcf\x18\x76\x96\x4f\xe8\xe4\xa8\x54\x8e\x43\xfb\x65\x78\x36\xda\x1e\xdf\xfc\x8c\x9d\x19\xf4\xb5\x60\x9b\x76\xab\x90\x03\x14\xed\x6c\xba\x16\xaf\x7b\xcc\x6e\xb7\xae\x90\x13\xee\xb8\x79\x2d\x74\x9d\x78\x20\xe9\x12\x75\xcd\x17\xe7\x72\x5b\x83\x07\xcb\x9d\xad\xbc\xb6\x29\xf7\xac\xeb\x0b\xcf\x1e\x3d\x98\x6e\xc3\xfe\xfa\x7e\x71\xb1\x18\xca\xd5\xbf\x98\x39\x23\x12\x20\xe7\x9f\x0c\xda\x7e\xf1\x06\x6b\xe0\x01\xfe\x58\x10\x41\x04\x58\x00\xf7\x20\xea\x90\x98\xd2\xc3\xf8\xaf\x51\xb2\xf5\xbe\x97\xf2\xd1\x0f\x23\xaf\xc0\x8a\x4b\x04\xfa\x33\xb7\x17\x55\xb9\x79\x92\x59\xf8\xc4\x87\xc8\x93\xa1\xbb\x1d\x0d\x86\x96\xa3\xae\x5d\xae\x44\xf1\xf4\xda\xc8\x48\xa1\x61\xb8\xb5\x5d\x10\xdc\x8d\x37\x76\x5a\x2e\x91\xc9\x3b\xbd\x42\xcc\xb6\xde\xa0\x10\x91\xf0\xcc\xc9\x5e\x8a\x98\xf6\xb1\x72\x9d\x76\x69\xe0\xee\xf9\x43\x2d\x3b\x87\xc2\x70\x05\x7d\xec\xca\x0a\xda\x27\xc5\xc2\x5e\x30\x58\x63\x33\x42\x2b\x1e\x0c\x42\xa4\xd5\xa3\x13\x6e\xcf\xd4\x94\x04\xb7\x6c\x56\xe1\x26\xaf\x49\xb8\x3b\x09\x05\xdf\x47\x08\x1c\xae\xed\xdb\xf2\x2c\xe3\x9a\xbc\x9d\x2f\x0f\x77\x29\xe1\x95\xed\xb0\xc3\x2b\xfb\xc5\x82\xa1\xbc\x8e\x94\x33\x72\x3a\x82\xcd\x68\x6a\x1c\x27\x67\x87\xac\x9e\xaa\xa7\x9b\x46\x05\x51\x9a\x8e\xba\x90\x54\xed\x1b\x1b\xae\xb4\x6e\xa5\xd0\x27\x14\xd0\x08\xcf\x78\xf1\x4c\xdd\x3c\xa3\xc5\x33\x58\x46\x2d\xf5\x7c\xb1\x1d\x91\x0b\x74\xd5\x71\x7e\xd2\x4a\x7c\xd2\xbf\xe9\x49\x4f\x7c\x22\xe7\xb0\xaa\xf7\x1f\xf1\xc1\x43\xd6\x79\xb2\x5d\x74\x12\x73\xde\x56\xb6\x87\x31\xeb\x43\xc4\x31\x12\xc6\xb1\x31\xb0\x66\x3c\x8b\xd3\xac\xd9\xcf\x2a\x0a\xd1\x49\x1a\xb2\x05\x27\x9e\x3d\x5f\x87\x9e\x46\x7a\x4b\x25\xba\x73\x11\x8b\x52\x6d\xac\x57\x4e\x15\xc3\x39\x30\x3b\x8b\x49\x44\xb1\x6c\x9d\xd3\x5f\x83\xa0\x19\x2a\x1c\x8f\x14\xea\x6c\x52\x25\xaf\x34\x3b\x5d\xdf\x5d\x07\xf5\xe6\x81\x53\x32\x11\xae\xbc\x4b\x41\x0a\x41\x4d\xcd\x0a\x96\xc6\x87\x63\x09\xf3\x60\xe7\x33\x69\x3c\x74\x5f\x64\x1d\x59\xdf\x24\x16\x6a\x10\x1a\x2f\xff\x82\x62\xf5\x14\xa2\xcb\xf0\xe4\x2e\x6d\x5b\x25\xa1\xe2\x64\x51\x65\x32\x36\xad\x7f\x5e\xc9\x7a\x21\xd9\xd7\x6d\x49\x29\x0d\xce\x6a\x11\x98\xa6\x63\x90\xdf\xd9\x81\xb0\x80\x9f\x00\xaa\xa9\xbb\x44\x92\x2f\xc3\xba\x83\xf5\x90\x1e\x23\xf9\xc7\xb7\x05\xc1\x0f\xc5\xe2\x84\x09\x10\x30\xdc\x39\x41\xcf\x75\x6f\xf9\xe2\xce\x93\xed\x5c\x34\x79\x73\x1c\xac\x10\x06\x60\x6b\x8a\xbe\xe6\xc5\x1a\x99\x05\xff\x0b\xd2\xd3\xa0\x98\x2b\xa4\xdf\xcc\x39\x67\x9d\x4b\x57\x9c\x65\xb4\x9b\xeb\xf4\x22\x0e\x5f\x30\xd1\x2b\x13\xa7\x88\x7c\x2d\xfb\xf3\x96\x6c\xd2\x12\x47\x8d\x59\x87\xe3\x86\xec\x71\x84\xdb\xcb\x13\x4c\xcc\x18\x2b\xfc\xd2\x12\xde\xc7\xf6\x9a\xfa\x6e\x96\x1d\x99\xce\x26\x2a\x5b\xfe\x7a\x99\x99\x30\x37\x5f\x42\x1b\x0a\x5e\x60\xb5\x18\x28\x9e\x3a\x44\x8f\x8c\xf5\x4d\x61\x8f\xb7\x11\xd6\x23\xa2\x44\x39\xbf\x1f\x17\x21\xfb\x2f\x41\x01\x1e\xad\x77\x01\x21\x1d\xbf\xe9\x1d\x41\x83\xe2\x3f\xa0\x16\xc8\xa6\xae\x48\x7c\x86\x73\xa9\x86\xa8\xae\xc4\xf8\xeb\x58\xb0\x5e\x02\x2b\x44\xb4\x5c\x36\xfa\xce\x0d\x69\x37\xf0\xa8\x85\x54\x9e\x6b\x0f\x66\x1d\xaf\x01\xf7\x8f\x51\x07\xdc\x47\xba\x9f\xf1\x49\x8c\xf6\x95\x6c\x7e\xe1\xc5\xe0\x2b\xc0\x6c\xd0\x1d\x52\xfb\x41\x25\x32\x2e\x25\xe2\x66\xa5\xf9\x79\xa0\xa3\xe1\x39\xb5\x84\x9a\xa1\xba\xeb\x29\xea\x6f\xe3\x5b\x3d\xc4\x37\x76\x9e\xf7\x8e\x6e\xf9\x1b\x5b\xa9\x48\x5a\xe7\xac\x06\xc5\x22\x95\xc4\x41\x59\x20\xf5\xc2\xdc\xbf\x91\xca\x76\xc5\x7f\xc3\x66\x36\x4b\xfb\x91\xf6\x55\x2e\x10\x51\x8a\x13\xc9\x11\x04\x9b\x83\x76\xb1\x13\xd6\x5c\x17\x83\x2d\x5e\x28\x59\x12\x38\xfc\x06\xb1\x81\xdc\xab\xab\x3b\x82\xf7\x57\xb2\xbd\xf3\x6e\xee\x16\xb2\x5a\xaa\xd6\x6e\x42\x7e\x2c\x87\x9c\xed\x70\x98\x3a\x4b\x07\xcf\x67\xf4\x59\x7a\xc0\x39\xb3\xee\xbe\x8e\x6e\x96\x3d\xe9\x3d\xdf\x21\x5a\x24\x41\xec\x9e\x3d\xa2\xd1\x59\x32\x0f\x8a\x70\x02\xe1\x3a\xff\x9b\x2b\xde\x86\x40\xe1\xf4\x48\x21\x06\xd3\xe7\x31\xa3\xd7\x3c\xa2\xd7\x64\xbd\x69\x15\xd2\xfa\x42\x25\x0f\xc0\x2c\x41\xd0\xda\x56\x18\x11\x73\x9f\xdc\x15\xae\xc2\x98\x38\x95\x55\x29\xa7\x55\x55\x26\xc9\x75\xd4\xf7\x1e\x29\xb1\x02\x1f\xc7\x29\xac\x36\x48\xc5\x21\x07\x73\xa0\xe7\xcf\x34\x20\xd9\x8d\x8a\xe7\x23\x47\x6a\xf4\x9a\x4f\x25\xe2\x2f\x72\x84\xac\xae\x95\x9f\xaa\x54\x08\xdb\x0d\x1a\x9b\x92\xea\x64\x75\xe2\x13\xdb\xc0\x24\xfc\x64\x65\xd7\x11\x68\x71\x62\x23\xec\x5a\x50\xa5\x9d\x84\x24\x09\xd5\xfd\x53\xe2\xc4\x76\x18\x8a\xb3\x40\x92\x53\x42\xad\xa4\x08\xb6\x25\xa7\xa1\xcb\xd0\xc7\x2a\x0d\x5f\xb8\x81\x4d\x6a\x5a\x39\x06\xdc\x14\x35\x99\xca\xb5\x1a\xf8\xd1\x3c\xdd\x9f\x22\x37\x57\xf6\xd7\xa8\x18\xb3\xfc\x2c\x4d\xee\xc4\x50\x91\xb8\x74\xed\xf7\xb6\x59\x65\xf7\x87\x0a\x5e\x3a\x97\x1e\x2b\x82\x98\x7b\xe6\x0e\x30\xc8\xa8\x95\x76\x5f\x3d\x85\xef\x97\x7a\x58\xd8\xbb\xb5\x22\xbb\x32\xe3\x74\x32\x7f\x3b\x8d\xf4\x0a\xe9\xe1\xf3\x1f\xd7\x29\xe5\x11\x47\xa7\xcc\x55\xc1\x31\x18\x4d\x50\x3d\xfe\xdd\x3c\x51\x83\x6e\x2b\x5d\xdb\xcc\xb3\xd3\xe5\xa5\x28\xc7\xa0\x89\x64\x84\x44\x41\xd8\x95\x6b\xb5\x0e\x14\xe4\xc7\x6a\x6f\xb2\x5b\x2b\x27\xb0\x37\x40\xfa\xec\xc4\xd5\x93\xa8\x9e\xb0\xca\x61\x57\x60\x3f\xb8\x81\xf4\x7f\x3b\xf3\xbe\xe5\x13\xd7\x62\x5e\x00\x2f\xb2\x8e\x03\x8f\x92\x47\xe5\xa0\x23\x86\xc3\x8d\x6a\xdc\x49\xe0\xfc\xf3\x76\xee\x9e\x32\x1f\x1a\xad\xf1\x81\x28\x8f\x95\x7a\xd5\x06\x13\x04\x47\xc3\xd3\x80\xf7\x25\x39\x5c\x2c\x6a\x11\x4d\xc0\x08\x2d\x5b\xb5\x94\x01\x5e\x7a\x8a\xc5\x9b\x09\x4a\xc1\xf6\xa7\x77\x3b\x7d\x97\x37\xe9\xa3\x8c\xe6\x61\xfe\xed\xa6\x3e\x17\x1e\xfd\x90\xbf\x0d\x7c\xe3\xb3\x1e\x7e\xdd\xeb\xb7\x25\xf5\xed\x71\xfd\xfe\xce\x8b\xeb\xeb\x57\xa7\x75\x83\xbb\xc4\xe9\x9f\xfe\xf2\xca\xa6\x51\xc7\xfe\x2f\x08\x5f\xea\x34\xdc\x15\xb1\xae\x09\x39\xea\x46\xb2\x23\x4d\x64\x2b\x92\x60\xc7\x79\x84\x4d\x3c\x83\xf5\xec\x69\xad\x01\x16\x10\xdf\xb0\x89\xbd\x32\x8a\x95\xe6\xaa\x63\xad\x25\x2b\xa2\xb5\xf3\xa5\x3e\x86\xee\x3c\xf9\x16\x78\x89\x45\x10\x4c\xed\x1a\x5a\x5b\xb6\x11\x4b\xf1\x18\xe7\xd2\x97\xaa\x49\x54\x80\xa6\xef\xe2\x63\xd5\xdd\xa6\x1e\xf3\x64\xd5\xb6\xfc\xd3\xac\xe3\x54\xc5\x85\x7c\x24\x47\xb3\xe7\xea\x6e\xe0\x0c\x22\x78\x2b\x25\x03\x53\xf5\xa8\x6b\xa3\x15\xa9\x5f\x0c\x8b\x80\x06\xac\x38\xfb\x50\x41\xa3\x42\xc1\x23\x8c\x02\xed\xc1\x47\x4b\x8d\x7a\xd1\x49\x7f\x7c\x76\xc1\x2c\x15\x5b\xb6\x0f\xa1\xdd\x63\x8c\x9b\x35\x46\x9f\x58\x46\xd1\x7a\x81\x75\xa1\x78\x76\x41\xa1\xe0\xd2\x88\x00\x9a\x70\x0b\xde\x01\x38\x82\xd8\x15\x31\x35\x06\x6e\x8d\xcc\x53\xe2\xef\x6c\xb3\xaa\xc7\x3e\xa3\x56\xb8\x28\xaf\x9e\xbe\x5d\x71\x8c\x4e\xb4\x86\x5a\x1e\x2a\xd7\x2c\xd4\xc8\x2e\x1c\x55\xbf\x65\xed\xae\x61\x61\x3e\x2c\xc9\x3e\x03\x63\x6e\x2b\x69\x86\x52\x5b\x6d\x35\x39\xd4\xde\x92\xcd\xe8\x5c\x9b\x5c\xa3\x88\x22\x80\x5c\xad\xbe\x51\x5b\x80\x9c\xe5\x19\x72\xf8\xc9\x1e\xc2\xbb\xeb\x2f\x2e\x44\x58\x55\xb3\xd8\xe3\x56\x8a\x27\x71\x8d\x0d\x21\x35\x72\xfe\xcd\x8e\xf8\xbd\x35\x12\xa6\xad\x24\xee\x77\xe9\xe2\xcb\x37\xac\x74\x18\x19\x70\xab\x8f\x9e\x51\x58\xfb\xf6\x80\x13\x07\x1f\xaf\xa2\x0f\xa3\x9f\xc0\xdb\x48\x61\xa5\x9c\x2f\xad\xce\x6c\x2e\xba\xfe\xc3\x63\x10\xeb\xa4\x5b\x62\x8f\x65\xd4\x04\x4c\xdd\x1b\x1c\x5b\xb4\x59\xcb\x3a\xc4\x18\x6e\xfb\x74\x6e\xa0\xcf\x9c\x71\x0b\x2b\xcc\x6e\xe1\x51\xd6\x9f\x1f\xc2\x28\x1a\x29\xdf\x41\x8d\x9c\x6b\x86\x75\x5d\xd8\x6e\xb6\xc5\xfd\x5b\x65\x53\xc1\x4c\xa2\x78\x90\x77\xf8\x98\x2c\xba\x71\xaa\x01\x89\xf5\xe8\xd9\x98\x22\x37\xe5\x64\x2b\x9d\xf7\xc8\x01\xc9\xba\x07\xe1\xa6\x3f\x2d\xa5\x9d\x9e\x88\x0a\xcf\x30\x9a\x0c\x05\x13\x49\xa7\x7e\xf6\xe4\x87\xbc\x01\x5e\x9c\xe7\x78\x01\xcb\x03\x88\xe8\xd7\x4f\xbf\xa0\xbd\xf4\xc9\x98\x61\xfd\x46\x5e\x30\xe8\xe3\x5c\x41\xd3\x2b\x0a\xe4\xbd\xb0\x38\xb8\x72\xb7\x5f\x9e\xd0\x9f\x58\xf8\x55\x8e\x42\x30\xba\xc3\xfc\xe8\xfe\x76\x22\xfc\x25\xc4\x40\xee\x04\x73\x63\xfa\xfe\xcf\x9d\x32\x5d\xd5\x30\xd4\x75\x73\x4b\x5e\xde\xf4\xbb\x4c\x15\x9b\x58\x9c\x0b\x37\xed\x70\x87\xf7\x26\xcf\xe2\xf8\x70\x46\x85\x11\xa0\x0d\x3f\x10\xa2\xd8\x14\xdb\xd3\x39\xff\x87\x83\x98\x53\xae\xed\xf2\xf7\x3e\x9c\x68\x90\x73\xc1\xea\x90\x83\xee\x33\x27\x16\xa8\x3b\x55\xcd\x4a\x90\xea\xfc\xf9\x2f\xaf\xa2\xfa\x15\x1c\x56\x84\x8d\x54\xbf\x03\xbf\xd1\x51\xb0\x7b\x2a\xe7\x81\x1d\x5d\x91\xf1\xed\x69\x3e\x0f\x86\xb7\xf5\xbf\xcc\x8f\xf2\x65\xb5\x21\xad\x67\xf7\xa9\xa3\xc6\xe6\xfa\x39\x27\x53\xe2\xfe\xde\xff\xc4\x63\x9f\x72\x53\xac\xfc\x3a\xcb\x53\x2c\x0b\xf3\x6f\x0e\x92\x1c\x9a\x97\x06\x65\x0c\x1a\x11\x39\x3b\x93\xeb\x4e\x41\x24\xb3\xb0\xad\xc7\x6d\x82\xe8\xa6\xae\xb4\x55\x74\x1a\xdf\x2c\x7f\xbf\xf0\xf5\xcc\xfd\x5a\x99\x61\xbe\x02\x87\x9a\x1a\x6c\x6b\xbc\xa7\xde\x9c\x09\x2e\x84\x6d\xf9\x27\x8b\x9b\x3a\x14\x84\x5c\x91\xdf\x5d\x4e\xa7\xc6\xe6\xcd\xa7\xc5\xfe\x66\xe4\xf5\x19\xb7\xef\xb9\xb2\xdf\x89\x32\x6b\xf6\xdc\x14\x7e\x8a\x6a\xf0\x3f\xab\x35\x7b\x71\xce\x99\x74\x76\xc4\xf3\x7e\x78\xd4\x47\xc7\x16\xe1\xbc\x3b\x45\xe6\x79\x27\x49\x6c\x9d\x46\x9f\x8d\xd1\x35\xac\xbf\xe3\xf4\x28\xab\x25\xbe\x54\x7a\xa0\x57\x55\xc5\x3b\x16\xc2\x78\xef\xfe\xb8\x28\xe2\x4b\x57\x5d\xa2\xac\x89\x96\xf8\xfc\xc6\x55\xbf\x13\x15\x59\x8e\x6b\xe4\x46\xcb\x19\x62\x68\x52\xad\x59\x8d\xc0\x59\x79\x17\xa7\x5c\xbe\xc6\xa0\xac\xe5\xff\xb3\x1f\xa4\x5a\xd7\xc1\x9b\xdc\x86\x64\x1c\x14\xf6\xb4\x6b\x85\x8b\xd1\x99\x40\xe7\x7b\xe9\x4e\xdf\x84\x77\xd3\x3c\x40\x89\xa2\x9b\x33\xdc\xdc\x53\xeb\x65\x53\x3c\x17\xad\xf0\x56\xd0\xe4\xed\x8b\xd6\x53\x2f\x96\x95\xd9\x8b\x6e\xd6\x5f\xb7\xe7\x5f\x8b\xae\x3b\xf5\x53\xf3\x0b\x69\xc7\x0a\x64\x80\x88\x46\x8d\x39\x48\x5c\xfa\x6e\xab\x14\x6e\xc6\xc4\x9b\x64\x1f\x66\xb4\x1e\x53\xdd\x79\x31\x40\x87\xc4\xae\x83\x20\x63\xaa\x61\x9b\x87\xc8\x17\xd4\x04\x1c\x86\xec\x11\xeb\xb0\x63\x00\x0b\xa7\x58\x15\x3d\x90\xb8\x9d\xbc\x62\x65\x7f\x0c\x59\xe0\x81\x3d\x4a\x15\x1a\x25\xf7\x13\xea\x06\xe4\x35\x66\x31\x61\x55\xc2\x48\xc9\xcb\x4e\x46\x85\x17\xac\xd6\xcf\x4c\x0b\xbf\x96\x6e\x44\x2d\x62\x63\x7b\xf9\x7a\xc2\xeb\x3b\xcc\x41\xb0\xa5\xbb\xf7\xfa\xb6\x4c\x5c\x9e\x1d\x2c\x85\x4b\xca\x83\x57\xc7\x69\xd0\x1a\x3a\x36\xa3\x92\xa8\x7e\xaa\x7e\x96\xb0\xa4\xc3\xac\xea\x8e\xfc\xf3\x57\x79\xc6\x17\xfb\x7d\x50\xc3\x11\x98\xc3\x87\x55\x60\x01\x7c\x0c\x8d\x9f\x02\xc6\xb4\x36\x14\x19\xca\x3a\x85\x71\x35\x33\x42\xf3\xcc\xb1\x39\x32\xaf\x8c\xcd\x33\xc9\x2a\x3a\x55\x76\xbd\xc4\xa7\x95\x3b\xb6\x98\xd0\x0c\x83\x57\x48\xe6\xc6\x83\x18\x99\x05\x3d\x96\x34\xf5\x60\x38\xc9\x24\x20\x72\xa7\x33\xcb\x6b\x6b\x7d\x5c\xa3\xc9\xac\xe1\xcb\x7d\xb3\x31\xed\x8e\x75\x3c\xe1\x50\x2f\x25\xef\xe0\x3e\x8d\xe9\x42\xd7\x93\x13\xc3\x50\xdd\x17\x23\xdf\x35\x7d\x86\xd1\xc2\xbc\x09\x6d\x68\x05\xb6\xb0\xba\x7f\x59\xbd\x0a\xc2\x8c\xd7\x31\x01\x18\x20\x5c\x85\x46\xd7\x3e\x26\x94\xb7\x79\x31\x69\xe7\x2f\xa4\x5c\x50\x0b\xad\xb0\x17\x07\xa9\xab\xe2\x82\x52\x86\x00\x53\xd8\x63\xbd\xd6\x39\x7f\x78\x8b\x8b\xcd\xef\x36\x5d\x5b\x35\x11\x5d\x82\x89\x88\xaa\xc1\x4a\xf2\x03\x11\x02\xf0\xa0\xe9\x8c\xfe\x77\x17\x7a\x29\x25\x69\x28\x90\xc2\x69\x06\x9f\x74\x4e\xb5\x2b\x45\x51\x95\xf8\x76\x6e\x11\x25\x23\xf1\x84\x18\xd3\x2e\x50\x00\xda\x8c\xd2\xaf\x1d\x9b\x4f\xe5\x62\xfe\xbb\xe7\xf1\x64\xe8\x17\x72\xba\x4c\x38\x0d\x41\x5a\x66\x0e\xe4\x58\x87\xa0\x2b\xa5\xca\x49\xdf\xe6\x90\xac\xa7\xec\x19\x70\xa2\xa6\x81\xa8\xd8\x6a\x3d\xce\xeb\x88\xd3\xfc\x06\xf8\xdb\xfc\x9f\x53\x80\x6b\xa9\x6c\x1b\xfd\xfb\xcf\xae\x6f\x6a\x57\x9d\x99\xc8\x60\x04\x56\xaa\x43\xc7\x5d\x7c\x82\xda\x56\xad\x9e\xfc\x3d\x59\xaa\xff\x27\x4a\xd4\x79\x2b\x3f\x6f\x8e\x4f\x97\x1a\x90\x4a\xe7\xc4\x60\xbf\x1a\xd6\x79\xd0\x38\x8a\xe7\x75\x8c\x5a\xac\x95\xf4\x09\x6d\x0b\x2d\x46\x98\x47\x61\x37\xd8\xd5\xd0\xa8\x36\x0d\x42\x62\xa2\x18\x19\x05\xd4\x40\xfb\xe5\x8a\x83\x54\x34\x6a\x02\x9a\xe5\x4a\xa9\xc1\x7d\x5b\x30\xe3\x89\x55\x26\x73\x43\x4c\xb1\x7b\x70\x13\x46\xa9\x82\x77\x6c\x18\xa8\x4e\xc9\xdd\xdd\x87\xda\x0a\xe7\xcd\xf5\x83\x79\x78\x00\xff\x36\x79\x14\x97\x4a\x6f\x73\x46\xb8\x26\x72\xa1\xe2\xf1\x0e\xc9\xef\x78\x18\xf2\xc2\x75\x0e\xf8\x63\xef\xef\x36\x5b\xfd\x0f\x5f\xe0\xce\x07\xff\x52\xc8\x2a\x0d\x0b\xf7\xff\x5f\x44\x9a\x9e\x1f\x57\x21\x74\xdc\x89\xea\x0f\x9f\xad\xa0\x9f\x25\xa1\x9f\x35\xa0\xff\x66\x38\xfa\x59\x17\xf4\xb3\x8e\xe8\x67\x5b\xd1\xc1\x59\x27\x70\xae\xc4\x52\xf3\xe1\x95\x5b\xd0\x7a\x12\x0f\x8d\x3e\x04\xfa\x20\xf5\xc1\xa8\xf8\x2a\xee\xfa\xe9\xac\x2b\x4e\x0b\xf2\x43\x4e\xd6\x84\xcb\xaa\x90\xa4\xa8\x3b\xc8\x8b\xc6\xd5\x73\xb9\x5b\x5e\xca\x50\x2e\x03\x9c\xc5\x1a\x6c\x90\x49\x14\x4a\xe6\x95\x6b\x39\x0d\x88\x26\x08\xee\x78\x82\xae\x34\x29\x9a\xe2\x07\x42\xaf\xb8\xfc\x17\xda\x38\x2e\xa3\x4c\xf0\x59\xab\xcc\x3b\xdb\xfc\xce\xda\x83\x65\x1a\xa7\x82\x58\xca\xfd\x3c\x56\x60\xf0\x3d\x4c\x88\x91\xaa\xea\x4c\xbf\xb1\x12\x8b\xee\x2d\xfb\x69\xb1\x49\x1a\x7c\x8d\x13\x88\xb6\x0f\x38\x5b\x73\x5d\x80\x58\xe3\x02\x80\xcd\x0b\xce\xea\x5c\x94\x87\x03\x17\x53\x2d\x85\x95\x2a\x50\x76\x25\x07\x9c\xb0\x22\xe1\x30\xc1\x1c\x73\x21\x32\x8e\x70\xb7\xbc\x94\x4b\xd9\xbd\xa9\x0f\x62\xbc\x2c\xc8\x76\x67\xf7\x5d\xd5\x96\x9a\x97\x8a\x4b\xd5\x6e\x52\x96\x93\xd7\x80\x63\x01\x71\x05\x36\x87\xae\xba\x30\x4f\x64\x5b\x49\xd1\x69\x84\xf9\xe3\x34\x8f\x4c\x2a\x57\x73\x1d\x26\x9f\xa8\x1c\xed\x60\x5e\xd8\x71\x5a\xe7\x50\xcc\x13\x1e\x24\xe9\xbc\xcb\x89\x7d\x4f\x42\xdd\x65\x60\xaf\x95\xf0\xa1\x5c\xc8\xdf\x25\xfc\x2e\x93\xf0\x94\x49\xf5\x5f\x9b\xcb\x33\xba\x5d\x94\xef\x1f\x96\x90\x75\x40\xc8\x2e\x5f\x2a\x74\xdc\xef\x70\x80\x15\x53\x07\xc7\x3e\xc7\x05\x83\xcd\x0f\x02\xa7\x18\xc6\x69\x04\x41\x5b\x87\x58\x8b\xb5\x50\xb0\x90\x8a\xdb\x72\x33\xfa\x6f\xae\x6e\x25\x98\x3a\x7d\x93\x4b\xe7\xfb\x28\xc8\x8d\x08\x91\x2a\x75\xb9\xa0\x7d\x7f\xdb\x65\x48\x3d\xb9\x88\xea\x17\xcb\xc6\x55\xa8\xf4\x08\xdd\x0f\x17\x71\xdd\x7f\x4a\x9b\x79\x69\x33\x42\x5e\x2a\xf6\xda\x76\x27\xc1\xdd\xa7\x97\xc5\xc5\x0a\x61\x15\xed\xa2\x77\x53\x3d\x16\x25\xcc\x94\xde\x41\xb8\x94\x83\xa5\x34\xf0\x3f\x49\x50\x84\x3a\xf0\x9a\x01\x0d\xfa\xbf\xc3\x3f\xe2\x70\x3d\x35\x0e\xfd\x80\xc8\x42\xa6\x8b\x2c\xea\xd0\x24\x99\x69\x59\x3e\x4d\xca\x49\x9a\xd7\xb5\x96\xd7\x90\xc4\x58\x76\xcb\xdc\xb5\xa3\x46\xd3\x72\xc1\xa1\xc1\x95\x8a\xf1\x22\x6e\xd8\x9b\xbc\xba\x06\x7a\x3d\xa8\x0e\xd2\xc0\x6b\xa6\x88\x37\x22\xbb\xdf\x01\x87\x5b\x0a\x0c\x1c\xe7\x4c\x4c\x92\x74\x55\xd5\x6e\xf4\xee\x06\xaa\x89\x89\xa4\xb0\xbd\xd9\xb0\x18\x25\x05\x98\xdf\xa5\x65\x30\xb8\x40\xcc\xfd\xbc\x61\xcf\x10\x91\x68\x0e\xbb\x09\xab\x92\xed\xd1\x55\x15\x76\x85\xf7\x08\x5e\x48\x68\x1c\x11\x8e\x47\x5f\x95\x67\x38\x38\x95\x9e\xc7\x3e\x01\x34\x44\x3b\x0b\x3d\x6c\x30\xcd\x75\x8b\x77\x6a\x50\x8f\x6b\xc3\xd0\x73\x39\x1f\x67\xa4\xf9\xe1\x79\x65\xaf\xb7\x32\x0f\x95\x31\x56\xcc\x8b\x24\x5e\xd1\x24\x9c\xe8\x1f\x5e\xab\x77\x93\x44\xec\xe6\x59\xf2\xcd\x27\xf4\x10\x8e\xf3\xe0\x2c\xd5\xde\xca\x10\x6b\x66\xb4\x5d\xb0\xd8\x56\xd7\xad\x76\xc2\x70\xf4\xf0\x63\x83\x8c\x3b\x6e\x5c\xe6\xfc\x23\x5a\x3e\xa2\xf1\xff\x94\xb4\xde\xf6\xbc\x96\x55\xc1\xce\xbf\xaa\xb5\x1e\xb9\x67\xfa\xdc\xb3\x96\x92\x83\x86\x45\x3b\x77\x59\x1a\x2b\x7d\xee\xde\x09\x09\x05\x7b\x2c\x95\x17\x0e\xfd\xaf\x3f\xaa\xe2\xf6\x96\xe4\xd7\x0b\xc3\x45\xd0\xdf\x77\xc1\x18\x21\x4d\x55\x4a\xec\xb3\x6f\x26\xc6\x4e\xed\x05\xbe\x72\x3f\x52\xa9\x26\x46\x26\xd7\x2b\x50\xbd\xda\xbe\xa2\xa5\x8e\xf4\x9a\x1a\x8f\x52\xa7\xc5\xe0\x6a\x0c\x5c\xdf\x9d\xe6\x89\x47\xef\xbe\x88\x20\x0d\x70\xf4\x46\x8a\xaa\xbf\x73\x54\xa0\x58\x61\x05\xc0\xaa\x6a\xb7\x53\x1b\xed\xb0\x4a\xd1\x56\x57\xf5\xd1\x03\xbb\x69\x56\x8b\x0b\x27\x24\x8a\x2b\x91\x83\x93\x53\x17\xb5\xde\xde\x46\x37\x6a\x10\xb5\x23\xeb\x83\x37\x25\xd1\xb6\xbe\x87\xbe\xff\x9b\xd3\x7f\x3e\xb1\xef\x3f\x8e\xcc\xe8\x4e\x57\x4f\x1d\x76\x40\xfe\x12\xc0\xfa\x98\xd3\xff\xf2\x2b\xa8\xdb\x12\xc0\xc2\xaa\xb3\x09\xb0\xd7\xfd\xfa\x00\xdf\xd0\x7b\x06\xa8\xeb\xf9\xe9\xbb\xf4\xf7\xb3\x86\x0c\xdb\xe1\x7a\x01\xa5\xf9\xd7\x53\x85\x9c\xdc\x06\x6b\x32\x64\x97\x56\x42\x63\xdc\x4d\x70\xd1\x79\x87\xb2\x28\x79\x98\x9e\xbd\x1d\xba\x58\x92\x7f\x3b\xa9\xb7\xab\xad\x1b\x1a\x51\xc8\x87\xd6\xf2\x4d\xea\xfa\xcf\x69\x9b\xb0\xaa\x8f\x57\xa8\x18\x1b\x96\xfc\xc5\x31\x75\xbb\x7f\x62\xcb\x9b\x16\x95\x20\x21\xf3\x44\x5a\x1b\xae\xc7\x4b\x3b\x10\x9f\x42\x40\xcc\xc4\xa7\x1d\x54\xdd\x82\xd2\x64\xfd\x2d\xd1\xf7\x86\x9d\x39\x6d\x56\xad\x24\x13\x60\x97\x94\x58\xee\xaa\x39\x6f\x3f\x30\x94\x71\x5b\x87\x57\x70\x66\xec\x2f\xce\xd7\x69\x36\xd0\x8f\xde\xc6\xd5\x2a\x9e\xb6\x5a\x4a\x05\x67\xbb\x7f\xeb\x37\xf4\x7c\x29\x36\x65\x98\x79\xef\xda\xec\x8c\x45\xf5\x3f\x3e\x76\xc8\xbd\x37\x99\x51\x57\x65\x59\x39\x01\xd0\xb9\x4c\xe3\x06\xfc\x2e\x34\x1e\x52\xf7\x52\xac\x85\x67\xb2\x07\xe2\xcb\xcc\xb6\x3f\x02\xec\x89\xde\xae\x92\xb5\x56\x06\x55\x48\xae\xfc\xaf\x79\xde\x5a\x7e\xce\x8e\xab\x18\x5a\xfe\x7e\xf4\xa8\xeb\x63\x6e\x68\xff\xbe\xe6\x66\x16\x54\x32\x5b\xee\xa6\x6b\xff\x80\x52\xce\x45\xdd\xc3\x0c\x7d\x5b\x70\x99\x64\x6e\xb2\x5b\x54\x27\x3e\xb1\x65\x3c\x4f\x9e\xe8\xd5\xec\x2b\x13\x92\xd0\x9e\x3c\x7c\xda\x79\x98\x2d\xd9\xb2\x22\xcc\x9e\xa5\x11\x68\x24\xb0\x77\xc1\x68\xbb\x5a\xd9\x7c\x9e\x82\xc4\x75\x65\xc7\xf5\xc7\x65\xa6\x25\xe3\x2f\x92\xaa\xf7\xef\x01\xf3\xfe\xcd\x5f\xed\x41\x7a\x0a\xfe\xea\x59\xd8\xe7\x60\xef\x2c\xe4\xf6\x5d\x06\x2b\x7a\xbf\xc4\x97\x27\x8c\x4c\x1e\x57\x52\xba\x34\xbe\xc3\xcc\x4c\xc1\x49\x58\xeb\x7d\x87\x79\xa5\x50\x0a\x77\xa9\x28\xcb\xd9\xfd\xd8\xdb\xd2\xa2\xe5\xdb\xdb\x01\x58\xc2\x24\xd9\x86\x3f\xc3\xeb\x8a\x16\x25\xac\x5b\x69\xb3\x58\xbd\x07\x05\x3a\x17\x03\xbf\x18\xb7\x13\xa0\x9a\xf8\x81\x30\xd5\x6e\x54\x11\x7d\xb1\xd4\x00\xb5\x5d\x39\x88\x44\xce\xdd\x3f\x9a\x0e\x04\xa7\x96\x93\x2f\x50\xa8\x62\x78\x8d\x52\xde\xd6\x58\x87\xf3\x1d\xd1\x5b\xa4\xca\xb8\xef\xd9\x3b\x92\x2c\xf5\x10\x09\x72\xbb\x61\x5f\x94\x36\xd6\xb0\x03\x53\x69\x7d\xca\xb6\xe2\xe4\x1b\x8c\x73\x4d\x59\x38\xf9\x1f\x98\x88\x6c\x9f\xbb\xe7\xf2\xfe\x6a\xcb\x9f\xaf\x59\xe4\x76\x03\x23\x9b\xa5\xb0\x74\x6c\x6c\xb2\x17\xab\x7d\x84\x56\xb8\xaf\x08\xfd\x91\x1f\xb5\x97\x58\x1b\x6d\xfd\x09\x6f\x73\x85\x0c\xe2\xe7\x3e\x30\xf2\xff\x09\x6c\x9a\x25\x62\x1f\x9a\xd3\xd9\x23\x41\x62\x0e\xe2\x4e\x5b\x99\xab\x61\x52\x08\xc0\xc2\xd9\x2c\x3f\x67\x1d\xb3\x33\xf8\xc2\x81\xe9\x3c\x01\xc3\x3e\xc6\x7f\xce\xd3\xd7\x86\x16\x68\x40\x35\x2f\x0f\x66\xd0\xdb\x49\x3f\xda\x76\x3f\x14\xda\x37\xa7\xad\x98\xc0\x6e\xcb\xc2\x35\x28\x66\xe7\xc6\x95\xca\x0f\x09\xea\x36\xdb\x68\x79\x5b\x8f\xce\x83\x07\x8e\x46\x98\xe8\xc7\xf1\xeb\x00\xf3\xf0\xb1\x09\x21\x2b\x07\x26\x0e\x03\x9f\x8b\xc9\x0b\xfb\xf1\x24\x7d\x30\x4d\xfd\x7c\x4b\x0f\x40\x54\xc2\x7b\x3d\xd7\x99\xf9\x2a\xc5\x04\xf3\xdb\xda\x9e\xf3\x0e\xc7\x09\xc9\x49\xa1\xb3\xde\xdb\x0f\x50\x77\xb9\x75\x58\xae\xa4\x44\xf2\x53\x3a\x9a\x67\xf8\x9a\x2b\x97\xc2\x92\x82\x7f\xb6\x5b\xd4\x7d\xf0\xbf\x93\x40\xca\x11\x90\x0c\xf8\x5f\xcd\xe2\x31\x78\x15\x46\x73\xcf\x8c\xa8\x4b\x1a\x49\x2e\xe2\xfb\xd7\x14\x29\x8a\x00\xb3\xc5\xda\xef\xd0\x37\x41\xe5\xce\xaf\x7d\x95\x29\x17\x2b\x7b\xf3\xc5\xf6\x8f\x94\xe1\xe6\xc0\x0c\xd7\x5e\xf3\xe7\xf6\x18\x59\xc2\x88\x51\xfd\xaf\x84\x58\x90\x6e\x66\xb3\x0c\xb4\x43\xa8\x0b\x17\x2b\xc4\xef\x7c\x59\x2a\x70\xed\x1f\x13\xce\x81\x1e\x52\x41\xe6\x2f\xac\x66\x7f\x0c\xb9\xbd\x2c\x64\x41\x56\x99\xa3\xd9\x02\xd2\x40\x92\x4d\x15\x41\x91\x6c\xa0\x6b\x50\x13\x18\x1b\x4c\x32\x75\x9a\xc1\x64\xfc\x7d\xff\xe8\x03\x1a\x1d\x62\xc6\x71\xe6\x3a\xba\x92\xc4\xd1\x1e\x02\xd9\x1e\xe8\x8e\xe8\x80\xb7\x8e\xa9\xd2\x6c\x52\x1e\x1a\x61\x12\x19\x82\x2a\xf7\xb9\xb7\x0b\xe6\x00\x58\x11\xc6\xd4\x68\x6a\xc2\x44\x0e\x3c\xec\x97\xec\x24\x47\xe2\x3a\x71\xf5\x88\x88\xe6\xe1\xe1\x26\x43\xc3\x32\x3b\x58\x55\x22\x05\xa6\x5c\x54\x60\xe4\x9c\x3d\xd4\xdb\x5c\x53\xdf\x3c\xbd\xc0\x21\xed\xb3\x03\xee\x4b\xea\x72\xd5\xbb\x89\xa0\x43\xf3\xa8\xf4\xac\x6e\x29\xa0\x56\xa8\xc9\x1b\xb6\x11\xdb\x67\xc9\x2e\x41\xce\x16\xa5\xca\x5b\xf3\xc3\x79\x8f\x45\xd5\x2d\xae\x22\x84\xd6\x06\xac\x65\xb6\x9c\x38\x62\x10\x6d\xf6\x7b\x59\x17\xcd\x6a\xb5\xa5\x7b\x4a\xd4\xb5\xbc\x1d\xfc\xa7\x06\xba\x9a\xa9\x98\x92\x4e\x10\x92\x96\x42\x6e\x28\x74\x0e\x28\xec\x10\xd2\x0f\x18\xea\x0d\x40\x5f\xe3\xe9\x3d\x23\x14\xaa\x73\xba\xac\x9a\x96\x8b\xc6\xc0\x5a\xd9\x43\xa0\x87\x59\xa4\x8e\xd7\x45\xaa\x3e\x2d\x17\x3f\x92\x9e\x84\x05\xa1\x12\xd0\x0f\x40\x08\x53\x29\x26\xef\xa0\xc3\xd7\x2e\xdd\xd9\x75\x4b\x64\x8c\x12\x32\x5e\x0e\x8e\x5f\xef\x4e\x85\x16\x1c\x79\x06\x31\xb7\x1c\x06\xaf\x9a\x34\xe0\xbc\x26\x4d\xfc\x56\x8d\x92\x69\x46\xcb\x80\x17\xe4\xaa\xd7\xdc\x4f\xa8\xd7\xa1\xeb\x18\x49\x61\x6a\x73\x7e\xe4\x53\xf3\x2e\x16\x5b\x82\xaa\x4e\x2e\xff\x96\x0a\xf2\xcf\xfa\x87\x28\xf1\x57\x24\x4a\x83\x28\xa4\x19\xe7\xf0\xfe\xc2\x67\xb1\x8f\xc1\xa3\xf0\xee\xd9\x3c\x31\xec\x99\xc5\x47\x18\x34\x6e\xc8\x9d\x67\xf1\xd5\x17\x01\x63\x00\xb5\xd3\x72\xcf\xdd\x40\xfd\xf5\xf8\x8c\xc7\xf4\x31\xf5\xf1\x71\x87\xf5\x98\x20\xbc\x6c\xe2\x1f\x65\x1c\x98\x59\x1e\x4e\x70\x19\x0c\xf5\x7d\x56\x9c\x9b\x17\x15\x05\x67\xc0\x5f\xdb\x3f\x69\x96\x40\x2d\x28\xf5\xb8\x82\x59\x92\xa0\x0f\x3d\x81\x9d\xae\x2c\x90\x8e\xb8\x5b\xfc\x8b\xfc\xb2\x2b\x8f\x76\xfc\x8f\xfc\x83\x2d\xfd\x8c\x50\x7b\x92\x6f\xdf\xdf\xa4\x41\xc7\xd3\x30\x22\x3a\xda\xf9\x4c\x32\x27\xac\x7a\xd2\x59\x70\x82\xae\x6b\x60\xa0\xa5\x59\x38\x7e\x2d\xe1\xef\xba\x08\xd8\x67\x7d\xe4\x9e\x5f\x64\x11\x21\xff\x87\xe0\x19\x42\xd7\x31\xac\x4c\xe4\xb7\x4d\x5d\x41\x88\xf0\xae\x70\x36\x4f\xb1\x9c\xf5\x6e\x8d\xd7\x6c\xf7\x98\xb5\x52\x7c\xee\x7f\xf4\x20\x9d\xbf\xec\xca\xf5\xbd\x22\xaa\x79\x62\xe3\x9f\x6d\x0d\x77\x95\x41\x92\x66\xf3\x9f\xd1\x43\x93\x40\x94\xe4\xe5\xd7\x4e\x28\x0c\xac\x6a\xad\x74\x08\x0d\x13\x71\xb4\xac\x50\x66\xfb\xc7\xa5\x96\xc8\xa1\x57\x6d\xd2\xa9\x03\xa4\xc4\xff\x0d\xc7\x06\x9b\x12\x4f\xb1\x39\x67\x64\x56\x89\x3a\x40\x04\x3e\xb6\x62\x5b\xb9\x07\x4b\xc5\xf3\x42\x7c\x51\xeb\x8e\x67\x03\xbf\x1e\x02\x61\x4f\x57\xc7\x76\x35\x29\x64\xaf\x5a\x1e\xc2\xa5\xff\x3a\x19\x0a\x2c\xb9\xad\x4a\x9b\x1f\xfa\x7f\x16\xca\x94\x86\xe9\x4b\x5b\x47\x7e\xc1\x2b\x0a\xe8\xca\xfa\x45\x33\x48\x61\x48\x3a\x79\x01\xbb\x67\x7b\xeb\xb8\xb4\x3f\x31\xbc\xc0\xb1\x35\xe7\xc5\x8e\xcb\x0d\x9f\xf0\x0c\x23\x73\x8a\x43\xf4\x0f\x3d\x12\x9d\x11\xf5\x6a\x58\x53\x01\x66\x49\x14\x50\xc3\xa5\x32\xe1\x8a\x18\x18\x84\x16\x05\x4f\x6e\xe1\xf9\x52\x16\xef\x3e\x79\x62\xdb\x13\x76\xac\xd4\x90\xf3\x8a\xa2\xf1\xa7\x6a\x10\xab\xa5\x60\x29\xad\xa8\x27\xfc\x39\x05\x84\x81\xfa\xed\x32\x8a\x8e\xbe\x4f\xbc\xd5\x96\x25\xb8\x77\xd2\x1b\x1e\x00\xd8\x17\xe0\x0d\x97\xd9\xd8\x5b\x8f\xa4\x4c\x26\x8f\x4b\x3b\x45\xe1\xe8\x64\x8d\x53\xc8\x7d\xfa\xad\x2a\xd3\x64\x3b\xbe\x2f\xc3\xd4\x8f\x5b\xfe\x6a\xe7\x7e\x33\xab\x36\x9c\x3b\x3f\x62\xcb\x75\x63\x75\x83\x75\xe8\x40\x6a\x6d\xe6\xbd\x3c\xcd\xe0\xa0\xb7\xd0\x9a\xe6\xcb\x54\x82\x04\x11\x83\x0e\x13\xf2\x49\xf3\xcd\x1e\xac\x47\x48\x0e\x4c\x5a\x3e\x33\x9e\xab\xc7\x23\xac\x9e\x7c\x95\xa2\xe1\x3a\xfb\xe4\x1f\xdf\x23\x79\xf2\x62\xb4\x79\xae\xa1\x2c\xe5\x76\xe3\xcf\xba\xc4\xe4\x64\xea\xc1\xee\x59\xde\x9b\x1c\x65\x28\x79\xf6\xfd\x35\x6b\x41\x2a\xda\x2c\x69\x89\xc0\x4b\xa6\x2d\x5f\x7d\x58\xcb\x1a\x6e\xb2\x65\x4f\xef\x60\x86\x81\x39\x1b\x33\x23\x76\xe7\x4d\xe9\x37\xfb\x35\xd2\xa0\xba\xec\xf7\xde\xe8\x2b\xb6\x62\xce\xa5\x07\xbf\x6b\xf4\x8c\xbd\x20\x69\x67\x7d\x9a\xb9\x30\x3a\x2e\xf9\x97\x6f\x60\x62\x32\xf2\xf0\xe5\x2a\xea\x5e\x34\x79\x00\x94\x0f\xc8\x98\x15\xfa\x46\x29\xb8\x92\x1b\x9c\x66\x43\xfa\xde\x86\x75\x4c\x31\x17\x1f\x1b\xaa\xf4\x86\x16\x2f\xd1\xf0\xb0\x72\x6f\x17\xab\x17\x5f\x39\x33\x60\x49\x14\x8c\x71\x1a\x75\xd2\x9b\x2b\x5c\x9a\xcc\x46\x03\xbf\x1c\x3c\x27\x67\x9e\x69\xf6\xde\x3b\x9f\xdf\x09\x30\xbf\x7b\xe5\x68\x7a\x76\xfe\xc0\xb6\x2e\x43\xd8\x4d\x5e\x38\x0e\x7a\xf6\xfb\xfc\xc0\x70\xe0\xc0\xb8\xd4\xe3\x72\x50\x1b\x27\xff\xe8\xe1\x85\x17\xd5\xd2\x8b\xff\x4e\x10\x9c\x5a\x96\xff\xae\x14\x4c\x84\x5d\x32\x33\xdd\x86\xf5\x45\x97\xbf\x3d\x77\x56\x2d\x38\x08\xa7\xde\x96\x79\xbc\x4a\x2f\x9c\xba\xe2\xb4\xbd\x6d\x13\xdb\xae\x43\xd8\x6f\x58\xb9\x6e\x52\x8a\x0f\x6f\xba\xc9\x82\xb5\xb4\x52\x9d\xed\x33\xd3\x84\xfa\xa4\x59\x23\xd4\x27\xe4\x0d\x25\x8e\xaa\x2a\xf4\xea\x5c\xc3\x12\x06\x86\xad\x7f\xec\xf5\xbc\x10\xe2\x8f\x58\x62\x50\x9f\xcf\xf0\x07\xde\x68\x51\xdb\xd5\x16\x5b\x9f\xdb\xc5\xf3\xce\x07\xcd\x55\x1a\x07\x40\xbe\x69\x50\x89\xa9\x35\x0b\x0b\x75\x4d\xa2\x6e\x02\x9f\xc5\x5e\x2c\xed\x44\x2e\x0f\x09\xd8\x43\x33\x4d\xeb\x02\xa3\x37\xe0\xc5\xc2\x62\xc2\x54\x4b\xf1\xa4\x59\x0d\x36\xb6\x5b\xb1\x18\x28\x58\xf6\x46\x26\x16\xc3\xd7\xeb\xc4\x65\xc0\xc9\x43\x25\xda\x4e\xcb\x7c\xf5\x83\xb7\xab\x0f\x87\x08\x53\x4c\x24\x24\x02\x22\x5c\x22\xab\xb0\xa3\xd0\x0f\x01\xdb\x7a\xd6\x2f\xce\xcb\x3e\x14\xad\x1e\x37\xcf\x18\x26\x95\xdc\xeb\xa5\xe2\xf1\xdb\x45\x06\x54\x56\xc8\x81\x09\xf1\x98\xaf\x32\x65\x58\xa4\x28\x6b\x98\xc1\x10\xee\x8e\x59\x1e\xba\x7f\x87\xee\x9d\x15\x91\x2b\x8f\x95\xb3\x60\x8f\x99\xa8\x95\xb2\x60\x77\xf2\x11\xa3\x2e\x3c\x41\x39\x66\xe5\x1a\xb0\x85\xc8\xd9\x24\x3e\x86\x85\x88\xd1\x84\x4a\x30\x7b\xb0\xb3\x6f\xfe\x9e\xde\x6f\x60\xcf\x2f\x38\x9d\xb8\xf4\xc0\xcf\xf5\x0f\x34\x20\x12\x7e\x72\x93\x97\xfe\x0b\x49\x09\xae\x6f\x3c\xc7\xf5\x43\x69\x89\xe6\xe2\xf6\x9f\xe8\xfe\xc7\xd1\xa0\xb4\xa9\x7c\xb4\xd7\xa8\xcf\x32\x24\x6d\x0f\x22\x08\x3c\x81\x30\x61\x41\xb6\xd0\xb0\x41\xac\x6a\xeb\x1d\xf1\x29\xf9\x8c\xea\xe6\x49\xbe\x87\x27\x75\x31\x80\x85\x7d\xae\xba\x00\xed\xb9\xec\x06\x5d\xbc\x88\xbe\x10\x8d\x71\x1a\x45\xdc\x86\xab\x8f\x76\x5f\xe1\x4d\xeb\x0a\xfc\xad\xd1\x06\x71\xb2\x70\x6f\xe8\xfc\x49\x2d\xbd\x6c\xe1\xb3\x31\x95\xc0\x37\x3c\x29\x95\x76\x17\x1f\x47\x9f\xda\x70\x75\x15\x1f\xb9\x8f\x2c\x56\x5f\xdd\x28\x91\x73\x28\x21\xf3\xc9\x61\x30\xd8\x4d\xbf\xc3\x64\x43\xf4\xac\xa1\x12\xfa\xe2\xd1\x16\xed\xbe\xfa\x5d\x5c\x4d\x6d\x1d\x74\x4c\x7c\x34\x88\xb3\x1f\xc1\xb4\xde\x74\xe8\x9c\x7a\x97\xce\x6a\xf0\xc1\x72\xfe\xd6\x0a\x39\xc2\x89\x1f\xa8\x80\x9b\x6d\x1c\x5c\x33\xc5\x52\xfd\x20\x13\xed\xfc\x2e\x35\xf1\x27\x2f\xb9\xa3\x54\x51\x66\xa0\x8d\x99\x65\xe8\x36\x6c\xf9\x81\x28\x6b\x64\x9e\xbe\x2b\xb7\x8b\x46\xb6\xb6\x51\xe3\x76\x09\x2c\xdf\xa3\xb3\xe4\xd7\x2c\xce\xcc\x89\x21\x92\xa2\xfe\x30\x0d\xa0\xa4\x88\xc9\x1c\xfd\x0b\x9c\x8a\x6b\xa1\xc7\x74\xa6\x96\x7a\x9f\xc8\x97\xc8\x88\x89\x37\xf1\x79\x6d\xf7\xb8\xd1\x59\x31\x87\xcb\x8e\x0e\x23\x36\x09\x93\x08\x8d\x58\x6b\x8b\x55\x0b\x51\xd5\x7a\x92\x0c\xd1\x90\x0a\xb1\x20\x02\xe2\x38\xbb\x43\x8d\x1b\x25\xdd\x58\x2d\xdd\xa3\xc5\xb6\x79\xfe\x9e\xb8\x5c\x34\x9b\x35\xbf\x9d\xde\x81\xcd\x4e\x4f\x5d\x39\x61\x2d\xd9\xad\x01\x4a\x7f\xfd\x6e\xc6\x1a\xe2\xe4\x9d\x93\xcd\xe8\x22\x43\xec\x7c\x82\xee\x43\x9b\x6d\xb7\xa7\xb7\xad\x6b\xb0\x0b\x05\xa3\xce\x0e\x1b\x36\xbb\x6d\x2b\x6d\x33\x14\x1f\x82\x6f\xc0\xad\x95\x0e\x87\x1f\xd8\x94\x6d\x4c\x0d\xfc\x5c\x9a\x13\x99\x93\xf3\xf4\x37\x79\xcd\x7a\x13\x1e\x30\xb5\xaf\x9e\x1d\x2f\xfe\x90\xc8\x24\x15\x79\x73\x28\x7b\x36\xd0\xb4\x1b\x76\xe6\x98\xe8\x2c\x89\x4f\x6a\x2e\x9d\xde\x61\xd1\xa9\x7f\xc0\x01\x50\x3b\xc4\xa9\xf4\x74\xd9\xa0\x79\xd8\xb3\xe1\x67\xff\x59\x30\xf8\xd5\xbb\x29\xd7\xd6\xa8\x4f\x42\xec\xfb\x92\x7e\xb3\xd9\xdc\x8f\xc6\x14\x75\xc2\x43\x99\xa0\xbc\xa8\x68\x8d\xac\xea\xf0\xb2\xfc\x7c\x29\x46\xff\x38\x08\x79\x11\x08\x80\x0b\x79\x6d\x0e\xd4\x83\x7a\xc1\x05\x61\x19\xf9\x05\x75\x94\x74\xd5\x99\xcf\x94\xa6\x5c\xcf\xdb\xa5\x58\x9c\xe2\x83\xe1\xe9\x2a\x96\x31\x3a\x4a\x60\xe9\x96\x34\xd4\xb2\xbd\x2c\xc0\x6c\x66\x9d\x3d\xb3\x49\x6e\x7e\x35\xf0\x2d\xd7\x4c\x41\xa3\xcc\xed\x4e\xbc\x2a\x92\x60\xf2\xe2\x23\xf7\x5e\x0e\xef\xfe\xcb\x43\xcc\x55\x46\xa7\xf0\xc9\xc4\x2f\xaf\x34\x39\x51\x61\x96\xf2\xa6\x19\x12\xad\x8b\xea\xa2\x74\xce\xac\x12\x75\xe0\x6e\x82\x4b\x39\x40\x22\x17\x9f\x31\x91\x6a\x0d\x07\xc4\x44\x15\x08\x3b\xc7\xea\xcc\x34\x46\x04\x50\x98\x03\x53\xdb\x49\x48\xaa\xd7\xe8\x33\xf7\x1a\xba\x4c\x44\x96\x02\x95\xcd\xfc\x15\x10\xcf\x4d\x08\x1f\x02\x7b\xc8\x77\x05\x50\xdb\x14\x37\x98\x86\x21\x2d\x22\xa9\x42\x4f\x9c\x08\xd2\xd3\x3d\x69\x8c\xbd\x67\x39\xe1\xf1\xee\xbb\xe8\x5a\xc7\x2f\xc9\x94\x2a\xd7\x2d\xb3\x83\x77\xf1\x30\xbc\x61\x91\xa3\xca\xa6\x3f\x68\x95\x4d\x59\xf5\x99\x99\x7f\xef\x4d\xc5\x4c\x7d\x02\x39\x0a\x27\x48\xa1\x07\xe0\x9b\xdf\xea\x8e\xfb\xc4\xb2\x8d\xfe\xa5\xfe\xe0\xaf\xe5\xcf\x1c\x7f\x7a\xdf\xc3\xd7\xf1\x92\x64\x46\x9c\x3e\x71\x3f\x42\x9f\xd5\xef\xc9\x59\x3d\xf6\xf9\xf1\x58\xf9\xb5\xde\x38\x7c\x98\x19\x17\xe6\xa7\x34\xcc\x9d\x8a\x37\xc7\xf2\xbe\x88\x39\x86\x13\xf7\x8e\xaf\xac\x53\xe6\x9d\x14\xf3\x4b\xd7\x45\xe0\x3f\xde\x79\x31\x54\xf9\xcb\xf6\x87\x1b\x35\x3f\x98\xfb\x34\xfc\xc0\x5f\xe6\x2f\x7f\x99\x4f\x74\x2d\x5b\xe0\x8a\x2f\x8e\x51\x6c\x61\x45\x62\x57\xc7\x84\xf6\x73\x5d\x56\x10\x5d\xdc\x7b\xdb\x1d\xd8\xb9\xf8\x37\x85\x90\x63\x00\x2d\x48\x6a\x6b\x16\x91\x1f\x8b\xbc\xa2\xe8\x56\x45\x43\x9c\x8c\xd8\x00\x2a\x07\xb7\x43\x78\x78\x2b\x2b\xc9\xf2\x8a\x74\x60\x60\xbe\x6a\x14\x90\x2e\x44\x94\x83\x7a\x1a\x03\xc9\x21\xe3\x73\x17\xe1\x24\x07\xe4\x85\x13\x62\x16\x3a\x51\x50\x6a\x3b\x1e\x6a\x63\x9e\x96\x81\x1f\x30\x28\x37\xc0\x3f\x2b\x1e\x12\x38\x4a\xad\x2a\xe2\x9c\xc4\x4a\x40\xc1\xb1\x14\xf2\x05\xf5\x0c\x3b\x51\x74\x99\xbc\x44\x43\x59\xa3\x99\xa4\x93\x4d\xa0\x24\xc1\xd4\xa3\xd9\xf1\xc0\xc3\xe7\x84\x8a\x32\x72\x79\x48\x92\x10\x87\x4d\x6a\xc6\xab\x0c\x83\x8b\x06\x06\x99\x1a\x4a\x6e\x99\x74\xcd\x8c\x06\xc5\xa8\x65\xc3\x7e\xa4\xf5\x0f\x77\xfe\xf0\x2a\xee\xbd\x93\x93\x31\xb4\x56\x4c\x4f\x0a\x8b\x47\x85\xe4\x41\x61\xf2\xfc\x1b\x9a\x29\x4b\xab\x89\x82\xa4\x5e\xe2\xe7\x9e\x4c\x86\x7b\x32\x68\xeb\xc0\x40\x47\xb8\xb0\x4c\xc9\x61\x0e\x4f\xb4\x22\x84\x85\x89\x64\x54\x08\x35\x45\xf4\x9f\x9c\x5b\xc9\xe3\x05\x33\x98\xe1\x87\x02\x78\xa3\x3d\x70\x61\x4d\x75\x57\x2a\xda\xe5\x2f\xc2\x42\x4e\xe6\x3a\xf8\xcc\xb8\x55\x0f\xc3\x57\x7a\x0c\x0d\xb0\xf6\x58\xa6\xe5\x6d\xa9\x7a\x87\x94\x1b\x0c\xc0\xd5\xe5\x72\x27\x9d\x2b\xc1\x9a\xd8\x49\xf4\xf8\x25\x17\xfe\xb4\x64\x56\x98\x4e\x41\x4f\x4b\x4e\xfc\x59\xed\x37\xa4\xb4\x42\xda\x6b\x9f\x71\x53\xa3\x97\xc0\x4e\x96\xdb\xe7\xe4\x64\xff\x9d\xfe\x7c\xa5\xbf\xb9\x38\x25\x2d\xf3\x8e\x3c\xc6\xf7\x29\xda\x6b\x6c\x04\xad\x91\x10\x1d\x9a\x90\x33\x63\x99\x6f\xac\x32\x9e\x07\x15\x3b\x68\x54\xb9\xb7\x69\x80\x56\xc7\x4f\x6a\x95\xb2\xc6\x6f\x4b\xd6\xcb\xd6\xbc\x91\xe7\x72\x6b\xde\xf7\xe7\x5e\x10\x52\xf7\x7c\x4d\x2b\xc2\x8c\x00\x22\xce\x9f\xd8\x18\xa6\xde\x45\x0c\x14\x56\x44\xcb\x27\x1a\x63\x56\x0b\xe1\x5d\x6b\x75\x28\x42\x76\x53\x83\x1e\x28\x66\xff\x51\x80\x6b\x5f\x85\x40\x5f\xe6\xee\x58\xfc\x62\xcd\x3b\x62\x48\x56\x62\x98\xe4\x84\xe6\xba\x14\xbc\x10\xe4\xd4\x21\x38\x6d\xff\x50\xaf\x51\xff\xf8\x2f\x39\xaa\x39\x77\x12\x6f\x1d\x9e\xbe\x18\xa3\xf3\x96\xdb\x2f\xe3\xba\xf1\xae\xc0\x3a\x21\xa2\xbc\x20\x92\x4e\x29\xd7\x9c\xb7\xd4\x43\xa7\x1e\xdb\xaa\xb7\x0b\xd0\x90\xa0\x1a\x90\x4f\x24\xb7\x54\xb9\x7f\x95\x15\x2b\xcd\x6a\xb1\x61\x65\xb7\xe1\x45\x30\x6f\x7c\x59\x77\xaa\xae\x3e\x31\x9a\xa1\x63\xea\x2b\x2b\x34\x47\xb6\x8e\x57\x2b\x9b\xf8\xd1\x29\xc9\x6b\x05\x46\x78\xa3\x56\xd3\x2e\xb4\x73\x1c\x16\xbc\x57\x01\x1a\xd6\xb1\x5c\x34\x25\x9b\x0d\x5a\x2f\x7f\x41\x50\x2b\x1b\xc5\xcd\x85\x8b\x40\x21\xe1\x0b\xaf\xe2\xfe\x53\x07\xa3\x96\x63\x32\xcd\x73\x83\x97\x94\xd9\x11\xce\xc5\xcb\x13\x65\xb2\x09\x1f\xbc\x79\x50\x0e\x04\x40\x8b\xfb\x1d\x59\xd5\x5a\x0d\xd3\xe4\xce\x45\x13\x56\x52\x97\x52\x3c\x45\xc2\x1b\x6c\x44\x4d\xe9\x92\xed\xb1\x84\x1b\xae\xdb\x7b\x9a\xa5\x71\x24\x1a\x79\x0d\x53\xa8\x1a\x9f\xba\x49\xdb\x72\x55\x8a\xc3\xe3\xfa\x4f\x0a\x1c\x1a\xfb\xfa\x6c\xe1\x4c\x35\xa4\x76\x5d\x28\xac\x39\xe4\x24\x33\x05\x96\xbc\x12\xcf\x29\x37\xb6\xa6\xf1\xe6\xea\xdf\x03\x20\x50\xcc\x38\xd1\xfb\xfb\xf6\xd9\x4a\x6d\x4b\x7c\x8f\xd0\x1e\x21\x97\x6d\xe4\x26\x1b\x45\x78\x4e\x90\xbd\xd1\x48\xe5\x7e\xe2\x85\x4a\xf6\xcc\x5d\xdf\xc6\xee\xc9\xd5\x50\x75\xd7\x41\x10\x27\xfe\x7c\x5c\x55\x2e\xb6\x88\xac\xf3\x13\xe6\xf2\x80\x39\x62\xf7\x99\x6b\x68\xb9\xaa\x51\x97\xa9\xe2\x85\x6e\xbc\xde\x93\x5c\xdb\xc6\x44\x6d\xa2\xb1\x8f\x80\xe5\xa2\xd0\xbc\xf1\x6e\x9c\x9c\x21\x18\x0c\x29\x94\x42\x28\x0c\x85\xd5\x1b\xbc\x5c\x48\x85\xe2\x85\xb0\x53\xac\x94\x70\xbc\xab\xdd\xb1\x95\xb2\x63\x25\x27\x4f\xe1\x20\x47\xe7\x38\x5c\x23\x47\x34\x2d\x0a\x31\xcc\x8f\x02\xcc\x16\xc2\x12\x08\x64\xb5\x50\xf1\x25\xf3\x5a\x6c\xfe\x51\x43\x56\x4e\x4b\x45\x69\x45\x39\xd8\xdc\x23\x70\x74\x01\xe9\xa3\x6f\xac\x49\xd0\xb4\xf0\x1a\x95\x3c\x9c\xa2\xfb\xc1\x11\x7e\xd3\xa7\x06\x5b\xa3\x66\x39\x6c\xb5\x61\xee\x38\x62\x6b\xcf\x32\x4f\xe0\x59\xf9\x8b\x2a\x84\xf5\x41\xe4\x75\xe6\xc5\x28\x42\x45\x84\xe3\x15\xc1\xa8\x2d\x57\xb6\x31\x1c\xf1\x1f\x9f\xfc\x21\x7b\x6f\xdc\xf1\xb4\x76\x2f\x4d\x0a\x79\x95\xe7\xf5\xa8\x61\xf9\x55\xc5\x88\x07\x5d\xc7\xb7\x56\xd3\x2d\x57\xa7\xd2\x78\xea\xde\xcd\xeb\xf5\x5e\x61\xc5\xb8\x56\x8b\xa7\x78\xca\x79\x31\x49\xfb\x76\x97\xea\xcf\xd4\x67\x1c\xe0\x9d\x3f\x34\xe2\x98\xd6\x6c\x98\x0e\x11\xa2\x13\x53\x04\xcf\x66\x63\x6a\x68\x66\xe7\xe3\x31\xa3\x15\xd0\xe4\x29\xe7\x3d\x20\x39\x16\x55\x85\xb1\x9c\xa5\x05\x40\x71\x30\xcd\x7f\x12\xc3\xf9\x55\x5d\x2e\xfe\x70\x98\x23\x31\x84\xec\xb4\x7f\xab\x7b\x66\x28\x43\x40\x60\xe7\x7f\xe2\x3f\xc8\xf8\x1e\xa6\x6f\x69\xd7\x03\x3f\x02\xb9\x2b\x75\x02\x4c\x49\xdd\x2c\xb9\x69\xbf\xbe\x0c\x2e\xdf\xda\x45\x23\xd7\xc6\x12\x6f\x2e\x3a\xaa\x82\x30\x7c\x38\x3c\x63\x8f\xc4\x04\x29\x65\x8b\xd7\xe4\x06\xe5\xd8\xeb\x4a\x63\x25\x82\xb0\x66\x9a\x49\x80\x6c\x47\xc7\xa5\x71\x69\xd3\x6f\x23\x5d\xaf\xa5\x43\x01\xce\xa6\x30\x6f\x8a\xf2\xc2\xee\x22\x4f\x05\x2b\x71\x61\x15\xd0\x86\x97\x12\x85\x80\x13\x0f\x8c\xa8\xd7\xde\x9d\xba\x16\x63\xf3\x4c\x7a\x7c\x28\x3e\xf9\x6f\x4b\xa1\x35\xaa\x79\x78\xe4\x5a\xd0\x03\x87\xbd\xaa\xa5\xd5\x48\x32\xeb\x63\x67\xe4\xd1\xc8\xee\x2c\x16\x87\xe6\x4e\xde\xd7\xce\x95\xa8\x85\xbc\x5b\x66\x38\xa2\x4a\xf4\x4f\xa1\x74\x98\x62\x2b\x91\x4b\xb3\xf5\x03\xc7\xb5\x25\xf9\x28\x62\x10\x57\x30\x1b\x66\x23\x17\x98\xa2\x50\x23\xd9\x44\x2b\x09\xce\x78\xc0\x64\x38\x02\xf0\x3d\xa1\x15\x46\x94\x47\x75\x80\xdd\x9c\x1b\x4f\x1a\xe3\x26\xf8\x64\x1a\x83\xca\x80\xcc\x09\x1c\x6c\x29\x3f\xa6\xe1\x20\x74\xb2\xd9\x89\xd0\x17\x0b\xa6\xa7\x05\xf4\xa5\x65\x64\x8f\x41\x96\x96\xa6\xab\xad\x99\x37\x2b\xda\xe6\xcf\x4b\x6d\x8a\xda\x91\x1c\xd9\x46\x1a\x9c\x52\xf2\xe7\x42\x3e\x10\x1f\x1e\x3e\xc9\x5e\x88\x30\x66\x7a\x1c\x6d\x1d\x44\xd1\xe1\x60\x14\x0e\xaa\x27\x38\x87\x7a\x2a\x86\x7a\xaa\x5d\x15\x47\xe5\x9b\xea\x41\x56\x0f\xd1\x4d\xf4\x65\xb5\xed\x14\xf8\x17\x93\x42\x4a\x45\xf6\xb8\x84\xbd\xc3\x23\xee\xb4\xc2\xb9\x0a\xb8\x2a\xac\xfd\x24\xce\x7e\x80\x1a\x3a\x0d\x7e\x5a\xb7\xc2\x86\x35\xba\xb9\xcc\x71\x55\x6c\x16\xff\x60\x30\x7e\x5d\x4f\x04\x10\x74\x4b\x2d\xca\xad\x50\x37\x14\xe1\xed\x92\x2b\x63\x7c\x10\x4f\x89\x5a\xdf\x58\x9e\x9d\x2f\x40\x57\x72\x6f\x1a\x7f\x97\x9e\xe0\xc2\x8c\x51\x0e\x69\x49\x6e\x82\x20\xc0\xc1\xb6\x9a\x14\x8e\xb2\x3b\xe2\x85\x87\xca\x4e\xfd\x64\x6d\x54\x55\x61\x9a\x1a\x89\x27\x57\x23\x22\xdd\xdf\x85\x5a\xd5\x43\xf0\x8a\xf1\x4b\x26\xf6\x0d\x08\x8a\x6a\xe4\x1c\x9d\xcb\x96\x6b\xeb\x51\x33\xf4\x73\x91\xd0\xcc\x6e\xaa\xe5\x22\x32\x1f\x35\x44\x2f\x21\x5e\x7c\x2a\x35\x3c\xeb\x9c\xe8\x51\xf5\x8d\x05\xa4\xdc\xf1\x48\x56\x95\x7b\xfb\xdd\xac\xf3\xec\x77\xcc\x8d\x28\x49\xb6\xa8\x9a\xce\x6a\x01\x31\x87\x59\xad\x29\xd3\x52\xcb\xb4\x86\x4e\x11\x03\x48\x30\x52\x24\x99\x5d\x9c\x88\x6c\x24\xda\x34\x53\x13\x7c\x2b\xaa\x04\x20\x8c\x57\x92\x98\x62\x1b\x8a\x41\xfe\xbb\x81\x10\xf6\xe5\xd5\x16\xc2\x95\x8b\xf8\x78\x05\x19\x66\x35\xa4\x1d\x3d\x34\x49\x45\x5a\x6f\xde\xb2\x62\x1c\x24\x08\x04\x38\x34\x52\xa3\xb7\xb7\x63\x91\xd6\xc4\xe6\xab\x66\x1c\x24\x43\x1f\x2a\x89\xf0\xb6\xe9\xdd\xc2\xac\x48\x01\xd8\x62\x86\x0c\x06\xd3\xfa\xf2\xa8\xee\xe2\xb4\x3a\x19\x7d\x38\x10\xf1\x0a\x15\xd8\xce\xe8\xc4\xd3\x4c\xd1\x9e\x3a\x1d\xc8\x60\xc5\x3c\xe7\x9c\xe4\x38\x45\x51\x02\x1f\x4c\xb8\xc6\x91\xb2\xe4\x68\xbe\x56\x9a\xfe\x63\x32\xb7\x9d\xf7\xca\x90\x0a\x54\x88\xc8\xf5\x56\x3b\xa1\x3f\x5d\x35\x26\x16\x39\x27\xba\x74\x04\xce\x92\xab\xbe\x89\x72\x91\xf0\xc3\x0b\x6c\x0c\xfb\x8e\x91\x83\x01\xfa\x8c\xb3\x07\x21\xbe\x47\xd2\x2c\xd9\x21\x83\x94\x6d\xaa\x7f\x12\x54\x40\x22\xc9\xfb\xc8\x5f\x52\x2e\xbb\x51\x9e\xe8\xa7\xd6\x5a\x83\x2c\x9b\x12\x8d\xbb\xb7\xce\x8b\x3f\xde\x1d\x8c\x98\x10\x64\xc8\xc8\x7e\xcc\xd4\x90\xaf\x26\x49\x2e\xe7\x0d\x72\xa2\x94\x39\x17\x0d\xf2\x05\x0e\x18\x53\xc3\xe9\x60\xee\x15\xc3\xd9\xa5\xf2\xdd\x81\x56\xee\xb2\x49\x64\xd3\x75\x23\x99\xfc\xb2\xa3\x66\x76\xe9\xcb\x60\x23\x28\x74\xef\x79\x50\x75\xb3\x1d\xf5\x89\x29\x93\x40\xa8\xef\x29\xc9\xc2\xd8\x59\xdb\x58\xb9\x3e\x96\x28\xef\xe4\xda\x11\x69\x91\x07\x99\x19\x62\x91\xc0\xa5\x3c\x3c\x2e\x34\xe3\xdf\xb0\xff\xf9\x3a\x27\x48\xeb\x31\xee\xb9\xff\x32\xa4\xc3\x2a\x1b\x51\x09\x12\x90\x0c\x1a\x45\xda\x44\xb1\x48\x3e\xd7\x44\x3f\xca\x11\x42\x24\x44\x96\x21\xf9\x7e\x3b\x9f\x63\x08\x0c\xc5\xb5\xd5\xb5\x93\x6c\x13\xe9\xe8\x5c\x5f\xdd\x39\x95\xf5\x8b\xf0\xd7\xbb\xed\x11\x8e\xc6\x97\x6f\x8b\x17\xfc\x07\x69\xee\x1a\xab\x61\xf0\x0b\xff\x06\xc5\xa0\xa8\xd5\x22\xee\x52\xeb\x09\x59\x61\x6b\x52\xd8\x91\x16\x1d\xaf\x5d\x05\x7b\x72\xd0\x24\xc1\x02\x24\x74\x24\x61\xbd\xfa\x77\xcf\x34\xc6\xac\x9c\x4f\xed\x37\xa9\x4d\xab\xd7\x9e\xe2\xbf\xab\x01\xc0\x93\xb8\x52\xf1\x6a\xcd\x8b\x00\xf1\x5b\x92\xc9\x04\x35\xca\x99\x73\x23\x4f\x96\x0c\x34\xd3\xca\x4b\x3e\xc7\xaf\x74\xe4\xcb\xd5\x63\x23\x38\xd5\x56\xc9\xcc\x2f\xca\x1a\x61\xc8\x9e\xcf\xaf\x24\x21\x09\x1a\x94\x93\xcd\x26\x08\x01\x8c\x48\x0e\x0c\x9c\xc3\x4e\x73\x60\xc3\x4e\xff\x85\xb2\xd4\x5e\xd8\x9c\x14\x29\xae\x10\x36\xda\xa9\x12\xb5\xb3\x06\xc4\x25\x3c\x85\xd2\xce\x57\xcb\x54\x80\x5f\xf0\x30\x43\x08\x94\x77\x9a\x4e\x50\x02\xb7\xd7\x60\x0f\xed\x80\xcd\x59\x6a\x48\x68\x5c\xb6\xe3\x36\x77\xcb\x5f\x81\xe6\xc6\xba\xaa\x00" +var _vendorsMainEbc1861b956e3132eed7JsBr = "\x5b\x16\xcd\x73\x03\x9d\xc3\x16\x98\xea\xe3\xdd\x26\x02\x67\x27\x5e\xed\xa9\x6e\x56\x5e\xc1\xb6\x69\xd4\xeb\xcd\x16\xa8\xe2\xe9\x26\x5f\x7f\x00\x4f\x2d\x39\x99\xeb\x4e\xe2\x2e\x56\xf6\xad\xce\x0a\x50\x55\x55\xcd\x49\x3a\x86\x68\xd0\x2e\x41\x54\xa5\xb5\xdb\x5f\x22\x64\xbc\xc9\x03\xe1\x1d\x63\x9a\x35\xcd\x0e\xd3\xdd\xae\x16\xf0\x4d\xb7\x91\x5c\x82\xee\xc7\x1d\x04\x0d\x4f\x61\xc3\x31\x85\x75\x9a\x1f\xe3\x38\x6f\x1b\x78\xde\x41\xb8\x19\x11\x6e\x26\x65\xef\x1d\x54\xf8\xb3\x30\xda\xe3\xee\x75\x6f\xe3\x36\x9e\x45\xdf\x84\x30\x20\xdb\xd0\x20\xd3\xd2\x26\x7c\xda\x81\x01\x42\xac\x59\x98\x7d\x89\xc8\xde\x0b\x2b\xec\xb6\xb4\x2f\x12\x0a\x86\xbd\xb7\xa7\x20\x62\x75\x48\xaa\x89\x8d\x58\x52\xe6\xcd\xd2\xb7\x59\x4d\x42\x36\xcf\x81\x9b\x63\x09\xe5\xc1\xdd\x84\x96\x02\xab\x47\x8c\x2b\x84\x28\x4a\xf0\xb7\xf8\xb2\x90\x60\xe9\x5b\x13\xc8\xab\x59\x77\xb3\xf8\xab\x7a\x85\x76\xbd\x6a\xf8\x23\x88\xbf\x7f\xcc\x1a\x7e\xdc\xb8\xa0\x9b\xfe\x59\x02\xc1\xda\x65\x7f\x15\xb4\xff\x86\x17\x7e\x4d\x8b\x4a\xd9\x5d\xc7\x72\x5e\xe4\x05\x07\x5f\x02\x78\xb2\x1d\x5e\x35\x84\x90\x33\x43\x6a\xbc\xe5\x50\x7a\xcd\x43\x7c\xda\x57\xb5\xf4\x4f\x57\x9a\x08\x95\x33\xa7\x93\x96\xec\xd3\x8f\x57\x24\xe5\x65\xd9\x4b\x1d\x8e\x91\xe9\x91\xd1\x02\xf3\x01\xaf\x53\xf5\x63\x53\xfd\x7b\x2e\xa7\xe8\xd9\xc1\x4f\x11\x43\x72\x3a\xc9\x27\x24\x1d\x63\x21\xa0\xc4\xc8\x58\x2d\x16\xa9\x10\x9d\xe2\xdf\xf7\xfe\xf4\xfd\xbf\x3f\x5f\xcb\x24\x95\x67\xc3\x00\x79\xf5\x35\xf2\x78\xaf\x03\xb8\xf6\x69\x09\x3e\x36\x34\x71\x89\xeb\x2b\xb4\x0b\x56\x2d\x24\x75\x77\x31\x90\x48\x7e\xf5\x36\xeb\xff\xeb\x5b\x0a\xc7\x8b\xe2\xae\x02\xec\x9e\xee\xe9\xd0\x07\x18\xb0\xb1\x59\xcc\xe6\xf5\x4d\x10\x65\x91\x82\xb4\xcb\x99\x72\xea\x94\x17\x74\xe7\xde\x4c\xad\xbf\xcf\xe5\x14\xa2\x37\x72\x3c\x6e\x83\x92\xb7\x5e\xf8\xfa\x79\xed\x64\x12\x2f\x13\x67\x99\x1e\xc5\xcf\x0d\x01\x05\xb1\x6c\xb0\x8a\x29\x14\x64\x29\x7c\xfe\x87\xdb\xe1\x1b\xad\x34\x7b\x7d\x3d\x94\xab\xb7\xd7\x73\x3a\x83\xd6\x21\x71\xc9\x21\x05\xd5\x78\x84\x24\x14\x60\x8f\x01\xc7\x86\xff\xfc\x2c\x7d\x57\x5b\xab\x21\x30\xef\x9a\x47\x2d\x0f\xbb\x2a\x3f\x57\xe6\xed\x34\x29\x84\x21\x28\x6d\xfc\xf6\xc0\x4e\x5a\x54\xa6\xc7\x1b\x7f\x4d\xfb\xaa\x76\x8b\x26\x6d\xe1\x1d\xbf\xf0\x74\x81\x98\x63\xb8\x5a\x3e\xbf\xa4\xa0\xb6\xe8\x90\x46\x20\x3a\x1a\xf3\xf8\x0e\x7f\xea\xb6\xa5\x55\xaf\xef\xb9\x2f\x79\x73\xf0\x25\xd7\x3e\x2f\xce\xec\x85\xd4\x25\x30\x02\x6d\x23\xa0\x84\xc0\x66\x83\x6f\x6a\xe6\x57\xb5\x54\x78\x06\x9b\x67\x1b\x17\x41\x12\x94\xbc\xb9\x9b\x8e\xf9\xa7\xd3\xa6\xfd\x87\x09\xff\x9f\x6a\xbd\x45\xa9\x66\x0d\xeb\xdd\xe5\x6d\xc8\x84\x24\xcf\x60\x8d\x8d\x5c\xca\x65\x00\x95\x30\xf5\x29\x43\xa8\xd8\x4d\x69\x0d\x01\xdf\xbf\xf3\x4d\x88\x17\xe0\xe2\xfe\x01\x1a\xdb\x93\xd5\x34\xb2\x6f\x8e\xa2\x97\xac\x6a\xaa\x25\x59\xb5\xae\x16\x14\x3c\x59\xf4\xeb\x9b\xa8\xa8\xf2\x97\xce\xa7\x00\x2c\x78\x0f\x19\xd0\x64\x5e\x6b\x50\xcf\xe3\x7e\x57\x88\x83\x52\x07\x15\x36\xd7\xfe\x93\xea\xdf\x14\xd0\xc9\x24\x85\x05\x2a\x2c\xbd\x59\xef\x2e\xc2\x82\x4f\xcd\x46\xf6\x78\xbd\x45\x22\x88\x8f\x80\xf6\xb0\xb3\x2d\x1d\x11\xa4\x1b\x0a\x6d\x4e\x08\x4d\xd8\x12\x42\x61\xa6\x4b\xf9\x3e\x1f\xf8\xff\x7b\x4b\xad\x7a\xfc\x8b\x8c\xc8\x04\x48\xb1\x6a\x48\xaa\x4a\x6d\x9c\x6a\x6c\x1b\xbf\x58\xa5\x01\xd9\xc6\xa9\x28\x8d\x35\x9b\x05\xe2\xdd\x7b\xdf\x55\x7e\x17\x42\xb8\x24\xc2\x64\x0e\x33\x61\x8e\xe0\x58\x04\x40\xf0\x38\x49\xf7\xbd\xf7\x23\xf1\xff\x8f\x00\x14\x11\x99\xa0\x32\x32\x41\x76\x02\xa4\xfa\x80\x14\xab\x0e\x44\xa8\x4f\xcb\x54\x8f\x11\x59\xd2\xe9\x56\xa9\xdb\xab\xcf\x9c\xfd\x6c\xf6\x52\x75\x9d\x39\x55\xe3\xcd\x6e\x96\xb3\x59\xa8\x7b\x1c\xc7\xd8\xd5\xac\x67\xb3\x9a\xff\x53\x55\x39\x9e\x5b\xa7\x53\x81\x54\x50\x52\xf4\xa0\x07\xd9\x7d\x9a\xb0\x4d\xb8\x7f\xff\x40\xe2\x70\x00\x5b\x85\x2a\xa9\x0e\x55\x88\x92\x5c\xda\x44\x69\xa2\x37\xbf\x4c\x8e\x27\x7b\xf3\x98\x6c\x79\xa1\x5c\xda\x14\x67\x4d\xa6\x78\x19\x32\x25\xde\x32\xac\x99\x3c\x8c\x73\xcc\x4f\xcd\xb7\x5d\x62\xe0\xc0\x99\x73\xd0\x75\x2e\xaa\xee\x0b\x58\x27\x02\x4e\x82\x33\xbb\xaf\xa2\xf4\xb3\x1f\x2d\x7f\xda\xd9\xa5\xcd\xac\x7a\x8f\x7a\x1f\x85\xe4\xa3\x0e\xbc\xfa\x37\x4b\xbd\xa3\xdd\xd1\xef\x43\x57\x90\xd2\x54\xe2\x62\x23\x23\xe3\xa2\x64\x93\x2a\xc6\xc8\xf0\xfc\xff\xdf\xb3\xf4\xdc\x68\x1f\x0c\xec\x65\xff\x01\x60\x25\x15\x55\x34\x6b\x70\x6c\x40\x07\x07\x40\x0f\x6c\x99\xc4\x16\x14\x04\x81\x25\x2a\xa9\x3f\x86\xdf\x43\x29\x56\x91\xb1\xa5\x69\xfa\xef\x8e\x21\xae\xfa\x6a\x5b\x5d\xab\xf6\x2f\x09\x30\x0c\x30\xc0\x00\x84\x00\xa9\x97\xa8\xab\x72\x49\xe0\x8f\x40\x66\xb0\x2c\xab\xd4\xd5\x36\xc9\xe1\x1e\xfe\xcd\x5f\xbd\xd5\xb9\x32\x6f\xc1\xd9\x10\x92\x81\xee\xdd\xe6\x2b\x99\x59\x86\x66\xb5\x25\x75\x5b\xfe\x33\x18\x43\x17\x4d\x12\x02\x3b\x77\x0d\x9b\x8d\x77\xd5\xf6\xaa\x9e\x33\x06\x08\xcf\x17\x9e\x65\x21\x2c\x42\x99\xcc\xaa\x30\x97\xe2\x03\x1b\xb1\x34\x96\xf8\x4b\x6d\x20\x62\xa8\x68\x86\xab\x64\x3b\x69\x25\x84\x18\x9a\x80\x30\x7f\x8f\xbb\x8d\x65\x0d\xda\x76\x75\x29\xeb\x0c\x49\xc0\xe7\xad\x20\x11\xcf\xf4\xfc\x6f\x2c\x6d\xd3\x23\x3d\x92\x6c\x67\x22\x02\x22\x22\x20\xb7\xf0\x5f\x62\xa8\xe8\xec\x75\x6d\x5a\x5d\xd1\x6c\xa7\x46\xb6\xc3\x0e\x1f\x91\xac\xec\xda\xc5\x62\x3e\x59\xfc\x0b\xa3\xbf\x52\x04\xab\x49\xc3\xec\x9f\x4e\xe5\x97\x2f\xf2\x08\x09\xc9\xcd\x5f\x2a\x14\x2d\x0b\x99\xdf\xf4\xca\x18\xd5\x40\xa4\x98\xe0\xfc\x97\x02\xec\x3a\xed\x6b\xda\x42\x6d\xb2\x5f\xc0\xe1\xe7\x69\xde\xe2\xbe\xe2\xba\x89\x9b\x78\xc7\x98\x38\xb4\x35\x2c\x7b\x4d\xb1\x2b\x8a\x0c\xba\x44\xcc\x02\xdd\x7f\x36\xfa\xfe\xf6\xbd\x3e\x5c\x5a\x42\x68\x87\x2c\x3a\xcb\xd8\xd3\x75\x95\x87\x9b\x4a\xd7\x57\xb2\xf9\x29\xfe\x4d\xaf\xc7\x82\xfc\xf2\x04\x63\x07\x2f\x3a\xf3\xd8\xd3\xeb\xca\x90\x15\x6b\x18\xbf\x5c\xa4\x45\x41\x52\x69\x0d\x36\x38\x73\xe0\x3b\x00\xec\x0d\xe9\x09\x38\x80\x40\x2c\xa8\xa5\x4e\xc0\xec\xd1\x42\x37\x09\x1d\x96\x62\x44\x79\x01\xfa\xd0\x3b\x96\xa0\x07\x5b\xa0\x1f\x8c\xd0\xc4\xa5\x51\x99\x51\xd2\xf5\xd4\x74\x7c\x27\x43\xaf\x80\xa9\x9f\x7c\x7d\x50\x54\x0f\xc7\x9d\x6e\xa2\xf1\x97\xad\xda\xef\x42\xd5\x0e\xea\x68\x7b\x5b\xca\x7d\x2e\x0b\xa7\xa2\x81\xb7\xd1\xc2\x8e\x43\x25\x33\xb9\xd2\xf1\xc5\xac\xd0\x90\xd9\x58\x18\x52\xcf\xb7\x7a\xb5\x3a\xf5\xcd\x68\x1e\x0f\xda\xf8\xbd\xac\x37\x11\x09\x98\x74\x0f\xcd\x38\x1c\x64\xb1\xa0\x8c\xd3\xf7\x3e\x2c\x32\x21\x30\x63\xdb\xff\x0f\x93\xf6\x72\xdc\xb4\x2a\xcf\x22\x92\x84\x07\xc2\x6d\xbf\x0a\x70\x71\x8f\xe2\x08\xe7\xfd\xec\xa0\x45\x67\x1a\x7b\x7a\xf2\x2c\x6f\xc2\xad\xb4\xe9\xc2\x21\x47\x2e\xc9\xd9\x00\x59\x30\xf2\xd3\x75\xf0\xb9\x57\x55\xe5\x52\xec\xd3\x2e\x58\x97\xe7\x85\x0b\xe2\x7c\xb1\xf7\x7b\xdd\x31\x08\xed\x87\x40\x7a\x6d\x2e\xde\x49\x3f\x41\x7b\x4d\x76\x3b\x79\x0a\x0a\x3e\x75\xf1\xf6\x02\x9b\x1d\xdf\x3c\xc5\xce\xb4\xb3\x36\x9c\x0f\x31\x61\xb0\x90\x17\xcd\x8f\x47\x7b\x67\xb8\xd0\xc0\x0f\x0b\xd1\x3e\xbf\x75\x6b\x4d\x51\xec\x50\x58\xed\x31\xf4\x19\x69\x28\xeb\x3d\x37\xdc\xa5\x2d\x48\x25\xcf\x55\x16\xed\x13\x5e\xa4\x42\x57\xde\xa0\x37\x23\xc5\xb4\x72\x5f\xbb\x9a\x9a\xdc\xe8\x2b\xb2\x7b\x64\xc0\xfd\xc6\x20\xb3\xdf\x43\xdc\xad\xe0\xeb\xf3\x8b\x76\x17\xb0\xbf\x8d\x4c\x17\xf2\x6a\x37\x5e\xb3\x78\x78\x31\x0c\xeb\xb9\x8a\x67\x62\xbd\x1c\xf9\x34\xa8\xdc\x61\x34\x20\x5f\xc6\xc9\x0d\x88\x7f\x74\x52\xd1\x0c\x20\xa1\xed\x6e\x1e\xd3\xe7\x0f\xcf\xba\x9b\x19\xb1\x8a\x32\xa8\xc0\xc8\x49\x77\xf1\xa3\xea\x0b\x39\x25\x28\x08\x39\xa2\x0f\x0e\x4f\xdd\x2c\xbc\x95\x3b\xb8\x9c\xd7\x00\x82\xe1\x92\x2d\x83\xda\x52\xdc\x5b\x9a\x8e\xbc\x93\x47\xd2\xca\x0a\x02\xab\x54\xf1\x6f\xd2\xd2\xd5\xd0\x99\x5e\x64\xd9\x91\x13\x12\xd4\xbd\x14\x87\x46\xd1\x99\x57\x26\x92\xf8\x29\xe9\x20\x3b\x70\x94\x31\xd8\x7c\xa2\xc0\xcf\xe2\x99\x77\x9c\xd3\xc4\xfa\xdd\x6f\xfe\x47\xf2\x8e\x1c\x1c\xce\xca\x75\xdd\x2a\xf7\xea\x5f\xe9\xaa\x5a\xf5\xb9\xc4\x50\x57\x43\x91\x29\xb1\x11\xbc\x4c\xff\xea\x6f\x8b\x62\xbc\xd5\x9a\x78\x8e\xe6\x55\xa8\x4e\x4f\x29\xad\x53\xdf\xaa\x3d\xc0\x78\x0f\xbf\xc7\xe7\xfd\x7a\x48\x6d\xc4\x88\xc0\xa1\x03\xfe\xef\xfb\x6e\xa4\x7f\x8d\xd8\x89\x83\x27\x20\x12\xfb\xec\xe9\xe5\xb8\x2b\x61\x7e\x57\xb5\x9c\x85\x87\x1b\xc2\x21\xf2\x5d\xed\xd0\x85\x8e\x4e\xa7\x3a\xf6\x36\x2d\xc9\x46\xe9\x29\xfc\x40\x11\x4c\xd0\xaf\x85\xe2\x03\xb1\xb7\x88\x57\xf7\xae\xc3\x5b\xc0\x35\xc1\x16\x13\xb8\x9f\x12\x25\x9c\x0d\x53\x47\x04\x7c\x51\x34\x05\x56\x6f\x04\x3f\x53\xc8\x41\x49\xb5\xba\x5f\x06\x80\xfa\x48\x91\xc9\xd7\xa3\x4e\xc6\x60\x2f\x71\x37\x74\x25\x5a\xa7\x7e\xa5\x23\x76\x3a\x6c\xac\x6e\x03\xa2\x9c\x89\xfc\x62\x88\x8f\xab\xbd\x66\xaa\xed\x1b\xf2\x34\x4f\x6c\x08\x5b\xe8\xac\xb0\x82\x38\x0f\xac\x05\xb6\x8a\x10\x3f\xa7\x5e\xdc\x2b\x48\x14\x00\xbe\x82\x22\xb7\xc6\xde\x26\x28\x9c\x0d\x9b\xc9\xd8\xae\x66\x72\xc7\x12\x2c\xe1\x9c\x56\xf4\xa4\xeb\xfe\xa1\xc8\xb7\x20\x44\x6e\x0d\xb7\x1e\xe8\x10\x1b\xac\x74\x33\xb8\x13\x6a\x5e\xb2\x00\x11\x31\xbc\x8b\xed\x2a\x52\x89\xa2\xf4\x3c\x28\xb1\x91\x2b\xba\x8c\x63\x33\x57\xcc\x6f\xc4\xb3\xa1\x99\x28\x67\xc5\x6c\x51\xbf\xa2\x55\x21\x49\x4b\x7e\xf8\xa0\x7b\xe4\xd9\x5c\xbd\x99\xd0\x99\xbd\xf3\xa0\xc4\x45\xfb\x88\x1a\x49\x36\x1c\xdc\x4b\x86\xa0\x0d\x32\x75\xb4\x7e\x93\xcd\xef\xe7\x81\x68\xfd\x38\xda\xf2\x3c\x98\x87\x68\x98\x2e\x70\x21\x4c\x4f\x7c\x3e\xef\xf6\x5f\xf3\x2f\xd3\xa7\x29\xc6\x8e\x9e\x66\x16\xbb\x98\x11\x64\xf5\x5e\x25\x00\x6c\xcc\xf6\xdc\x41\x89\x49\xfd\x51\x21\x73\x05\x43\x80\x01\xd8\x54\x60\x96\xa1\x7a\x14\x2f\x6d\xf8\x1a\xf7\x8d\xf8\x59\x9c\x57\x54\x65\xb3\x7d\x93\x55\xa6\x90\xd3\x00\x25\x45\x18\xcd\x9c\x23\x7d\x8c\xb7\x3d\x0c\xf5\x41\x3a\x40\xe4\xe3\xd2\x2d\xbf\x7c\x11\x66\xed\x30\x9f\x6c\x40\xe3\xe6\xa5\x51\x85\x61\x07\x04\x00\x8d\x7e\x89\xac\x4d\xa3\x7e\xc0\x30\xd3\xb0\x1b\xc1\x6d\x82\x1f\xb4\xe0\x5e\x6c\x8e\x9a\xc6\x58\xb5\x3d\x3d\xe5\x33\x46\x48\x5e\xe7\x27\x1b\x7d\x93\x91\xa3\x8c\x73\xe8\x47\x54\x72\x70\xab\xf3\x3e\x34\x00\x09\xb5\x62\xbc\x46\xc0\x46\xb3\xa4\xe1\xc6\xc2\xcd\x10\x4a\x01\x43\xbb\x1f\xd3\x4f\x51\x34\xa0\x0e\xeb\xe8\xaf\x9d\x72\x77\x8b\xc2\xa9\xb1\x18\xc1\xfe\x3c\x11\x40\xe8\xc2\xfb\x17\x2b\xe8\xa7\x13\x60\x7f\x04\x39\x3e\xfa\x2a\x91\xec\x91\x4a\x94\xec\x20\x44\x59\xef\x41\xd7\xe5\x01\x18\xc9\xcf\x11\xcf\x58\xa3\x82\xd5\xe8\x23\x09\x86\x8c\x61\xd1\x3b\x45\x11\x99\xb8\xef\x4b\x99\xb1\x9a\x50\xe1\xc9\x7d\xcc\x36\xa8\x2d\x0a\xaa\x76\x54\x9e\xba\xbc\x5e\x6d\xdd\x59\xec\x6d\xf5\x45\x21\x11\xc3\x77\x7c\xae\x27\x6d\xe7\x27\x1f\xa8\xab\x31\xd4\xb1\xca\x0b\x18\x03\xb2\xa1\xad\x71\x54\x20\x30\x89\x1c\x41\xd2\xc2\x18\x60\x91\x19\x19\x1f\xed\x68\xa8\xee\xdb\x9e\x25\x88\x2b\x4a\x73\xdd\xbe\xa4\x64\xac\xc8\xa0\xd7\xc6\xcd\xa6\xb2\x01\x3e\x0c\xeb\x1e\x06\xc1\x3a\xef\xe2\x31\x67\x39\x4b\xf1\xd3\xcd\x2c\x4f\x2b\x45\xe0\x45\x58\xae\xb9\x9b\x0c\xaa\x59\x74\xfa\x0e\x2f\x2e\x97\x1b\x85\x7f\x18\xd5\xb0\x28\x59\x8a\x48\x23\x38\xd5\x43\x3a\x35\x21\x6b\x71\xed\xd0\xf8\xb6\x86\xef\xe6\xb7\x3d\x3b\xfc\x58\x0c\x70\x54\xe1\xc8\x9f\xcc\x9b\x24\x30\xc9\x3a\xa9\x5f\x4d\xcc\x43\x88\x22\x53\xce\xcf\x28\x15\xcf\xca\x0b\x21\x1a\x22\x30\x92\x05\x98\x1e\xf2\xf4\x86\xb5\x34\x4f\x2d\x9e\x1c\x94\x6e\x26\x2c\x83\xe5\xc8\x0f\x5f\x5c\xaf\x55\x2a\x81\x10\x83\x9c\x4c\x9c\x60\x5f\xdf\xc3\xd8\x85\x7e\xb5\xdc\x21\xb9\x25\xbb\x30\xcf\xaf\x83\x2a\x02\xf3\x44\x9d\xc4\x7f\x08\xf9\x07\x24\x52\x7a\x56\x2e\x9a\xcb\xb0\xa6\x47\xc4\x1f\x6e\x1d\x32\xef\x02\x08\x94\x8b\xc8\x39\x41\xa5\x9b\x5b\xd3\x00\xfa\x2d\xe5\xf6\x71\xfe\x27\x4e\x6c\xc7\x02\x55\x6a\x4e\xdb\x0c\x8c\xe2\x04\xce\x1c\x52\xef\x5b\x08\xa5\xbb\x3f\xec\xe1\x7c\xc3\x0d\xde\x72\x57\xe6\xa8\x5a\x45\x77\x79\x23\xfc\xeb\x86\x3d\xe0\xb9\xad\x70\xff\x15\xe8\x79\xfa\x35\x52\x71\x78\x52\x78\x83\x8c\xc9\xd4\x22\x63\x62\xf5\xe2\xeb\x99\x88\x4c\x31\x10\xfc\x1c\x7d\x9b\xda\x42\x57\xda\xd4\x1a\x98\xd7\x6c\x74\xd6\x31\x99\xa7\xc3\x98\xd8\x96\x6b\x3b\x51\x33\x53\x40\x36\x78\xed\x9c\x5f\xe7\xc1\x35\xaa\xcf\xbd\x89\x20\x14\x05\x86\x5a\xae\x53\x93\xa4\x73\x60\xc9\x45\xff\x43\xc7\x10\x22\xbc\x04\x47\xe9\x24\xe8\xbb\xd3\x83\x24\xd8\x3a\x7e\xf8\x22\x40\x19\x6a\xdb\x21\x04\xa6\xa8\xf0\xdf\x41\x01\x25\x0e\xb6\xae\x8f\xee\x0d\x3a\xa1\xfa\x0b\x3d\x8e\x40\xbf\x71\x01\xd7\x88\xd5\x21\x99\xb2\x99\xe0\xe7\xd3\xd8\x47\x93\x1f\x60\x65\x9c\xa9\x42\x3f\x20\x6b\x90\x1c\x3b\x09\xd0\x07\x5d\x2a\x3c\xc3\x95\x28\x97\xe0\xf8\x2d\x1d\xe0\xca\x37\xa5\x42\x08\x5c\x75\xcf\x37\x23\xd2\x80\xd5\xaa\xb1\x5b\x6f\xf4\xe1\x5c\x85\x31\xd2\xbc\x62\xc2\xd6\x43\x76\x14\x3d\x07\x58\x9f\x1a\x0e\x90\xed\x28\x95\xcd\xbb\x90\x5c\xe5\x53\xb0\x68\x6a\x42\xe4\xb4\x72\x40\x52\x65\xb8\xe7\x0a\x91\x30\x8f\xaf\x0c\xbc\xc5\x83\x81\x4d\x2e\x77\x0c\xdd\x52\xc5\xf8\x49\x70\x41\x97\xd5\x37\xa8\x2d\xbe\x8d\x10\xf5\xc6\x45\xed\x5a\xb2\x0b\x95\x81\xcb\x7c\x9d\x3c\x79\x8f\xb3\x76\x61\x5d\x02\xd2\xc9\x84\x20\xe1\x8a\xa3\xc4\xa0\x28\x02\xcd\x21\xd9\xd1\x02\xdf\xdb\x79\xf2\xc6\x8e\x55\x61\xd0\xd7\x1b\xf2\xa0\x75\x12\xce\x97\x88\xaa\x70\xae\x2a\x7a\x8e\x50\x6c\x1e\xb7\xcd\xcf\x39\x28\x5b\xe3\xbc\x8c\x61\xac\x2d\xe0\x3f\xda\x2c\x40\xc5\xf5\x34\x63\x99\xbb\xec\x7b\x43\x37\x9a\x1f\x57\xe4\xc4\x14\x2a\xa3\x82\xec\x06\x39\x22\x00\x1a\x5c\x57\xa1\xab\x27\x61\xa7\x06\xcb\x71\xf2\xc3\xfc\x2d\x5c\x18\x0b\xce\x14\x76\x99\x0b\xc6\xc5\xd0\xaa\xb3\x8d\x2d\x95\x4e\x9c\xaa\xe1\x6e\x33\xb1\x5b\x25\x46\x14\x90\xdb\x2d\x2f\xf7\x71\x0b\x27\x9d\xac\xde\x71\xd6\x17\x04\x9b\x84\xd6\x25\xd8\xf6\x12\xd9\x5a\xce\xaa\x53\xc4\x81\xa6\x1e\x33\x6b\x38\x89\x23\x11\xfd\x91\x23\xa7\x69\xc6\xcc\x3d\xa0\x7f\xa4\xf4\x5c\xd3\x02\xd8\x22\x33\x1e\x4c\xce\x2d\xc5\x03\x88\x56\x90\xb4\x05\x27\x82\x36\xd1\xb8\xc4\x70\x84\xb3\x8b\x42\x2b\xd9\x76\x60\x9e\xfb\xbe\xf3\x13\xd3\x2b\xf9\x1d\x93\x8a\xbe\x69\x58\x25\xc0\xa6\x7a\xdb\x9e\x78\x1f\x6e\xde\x0f\x7c\x50\xa2\x6c\x43\x19\xe1\x59\xa6\xb5\x83\x47\xcb\x4b\x7d\xf8\x75\x86\x64\xbf\x91\xb8\x06\x1e\xcc\x6b\x14\x7c\xc7\x94\xc3\x4d\xc0\x01\xf5\x01\x71\xc4\xe9\x17\x51\x32\x39\x5b\x70\xe2\x9b\x95\x00\x87\x11\x25\xfc\x08\x2e\x6e\x01\xbf\xa9\xc7\xad\xb8\x91\xa1\xd5\x27\x5c\x02\x58\x7c\x37\x23\x39\xa2\xb5\xa8\x45\xe3\x41\x61\xe8\xc5\x87\x28\xcd\xe7\x99\x20\x5f\xfe\xc0\xb7\xee\xa3\x05\xb9\x75\xf5\xe6\xbb\x18\x83\x7b\x25\xe7\x09\x00\xa6\x7c\xa6\xf2\xf9\xfa\x88\x24\xf0\xef\xda\x8f\x58\xaf\xd2\xa1\x4a\x4c\x31\xe6\x24\x1c\x81\xf1\xee\xa6\x64\x67\xc9\xfd\xbb\x2e\xac\x47\x50\xaa\x60\x4c\xc2\x1a\x77\x16\x91\x3e\xce\xd9\xd3\x7b\x90\xe6\xd5\x61\x08\x1a\x8f\x43\x36\x6b\x10\x81\xbc\x72\x5e\x0d\x0f\x27\xbb\x2d\x75\xc0\x55\x12\x19\x8e\x36\x97\xdf\xfa\x88\x4e\xb2\x39\x60\xbb\x6f\xfc\x4f\x95\xbd\x0e\xd0\x2c\x9b\x29\x07\x85\xd4\x67\x94\x84\x48\x24\x09\xbd\x2e\x70\x1d\xf9\xfc\x86\x28\xc0\x8a\x5b\x26\xee\xef\x5a\x0e\xa0\xac\xb8\xf5\x52\xa9\x29\x9b\x45\xe6\xcc\x8d\x63\xa6\x1c\xd5\xde\xac\x05\x33\x28\x58\x07\x0c\x46\x17\xac\x87\xd3\x99\xa9\xae\x93\x61\xca\x6f\x3d\x88\xd5\xd9\x8a\x63\x8e\x4a\x32\xd3\x16\x45\xdb\x9d\xa5\x88\x5e\x0e\x75\x32\xf8\x7d\x43\x81\x9c\xa0\x9d\x98\x49\x0a\x25\x2a\x51\x99\x96\xd0\x02\x41\xe1\x37\x1d\xeb\x30\x43\x0e\xbd\x03\x76\xb4\xd6\x82\x5a\xf4\xea\xa7\x43\xa4\x2d\xf1\xb3\x20\x4a\xb1\x74\x7c\xd9\x38\x82\x1f\xae\x48\x8a\x60\x7a\x6e\xdc\x91\xa7\xfa\xce\x83\x3e\x76\x57\xa3\x78\x02\x88\xf7\x8b\x6a\x3b\x98\x63\x26\x16\xbd\x19\x58\x22\xe4\x88\x87\x90\x50\x74\xa6\x09\xc4\x9d\x22\x2c\x59\x7c\xa0\x0e\xe9\xce\xb5\x22\x0c\x3d\x00\xa3\xa9\x98\xc1\xfd\x36\xa5\xcd\x1a\x8d\x0c\x3c\xf9\x30\x92\xdc\xde\xa4\x0d\x92\xc3\xf7\x82\x30\xdd\x36\x05\x8b\xc1\xe8\x2d\x5d\x02\x29\xa5\xf9\x1e\x75\x22\x57\x06\x61\x40\x78\x2e\xa8\xcc\x53\x39\x25\xee\x52\x12\x4c\x68\x5a\x2d\xed\x6f\xdb\x08\x61\x3b\xad\x6d\xad\x01\x3e\x49\x44\xde\x28\xfb\x8f\x96\x13\xd7\x57\xd7\x3d\x64\xd0\xb1\x22\x3f\x70\x27\x09\x01\x11\xa9\x9d\xa8\xb6\x71\x79\x5c\x77\x9f\x36\xbd\x40\x1e\xc2\xed\x23\x84\xcc\xb9\x84\x6a\x94\xac\x00\x05\xef\x0f\xcd\xbe\xc2\xa1\x5a\x09\x12\x6f\xe4\x3a\xf1\xc0\xfb\x91\x67\xd2\xdd\xd5\x12\xc4\x32\xe1\xb1\xfe\x72\x5e\x1c\x3c\x2e\x77\x2b\x04\x6a\xd1\xba\xb9\x09\xeb\xdc\x0b\x19\x3f\xa1\x1c\x40\x77\x2e\x89\x27\x2e\x5c\xf1\xad\xd0\x44\x8c\x5a\xd5\x58\x28\x80\xbe\x91\x21\x0e\xd1\xf1\xbd\xd7\x43\xfd\x66\x7a\x71\xf7\x5d\x3d\x98\x7e\x38\x4b\xa8\xa8\xfe\x8d\x20\x7c\xaa\xbe\x24\xf6\x7f\x5a\x6f\x11\xd1\x03\x1e\x06\x8b\x95\xdc\x9c\x7c\xbb\x4f\x93\x0a\xdb\x61\xbf\x8d\x00\xea\x28\x25\xde\x30\x78\xbe\xc2\xb4\x59\xf7\x69\x94\x44\xbe\x05\xa6\xf8\xa7\x23\xd4\xbe\x8f\x44\x2c\x54\x91\xc3\xd0\x50\x2e\xe4\x13\x78\x73\x58\xf9\xcd\x6d\x57\xf7\x79\x41\xe8\x3c\x66\xb5\x36\x7c\x5e\x71\x2a\xf5\x77\x89\x5a\x35\x38\x58\xde\x1b\xea\x2b\x5f\x75\x27\x36\x3f\x02\x13\x60\xc3\xa6\x49\x57\x05\x47\x1b\x49\xb9\x12\x2f\x59\x2f\x0c\x0d\x79\x91\x00\xb4\xec\x22\x12\x9a\x53\x9b\xb1\xa3\x0e\x6e\x46\x19\xc9\xde\xf0\x68\x7a\xbc\x26\x4e\x9d\x5b\xf3\xd8\x97\x9e\x11\x9f\x10\xa7\xd6\x63\x61\xad\x3f\xff\xc9\xb8\xcc\x72\x3b\xea\xcd\x77\x98\xd6\xb7\xf9\x4d\xc2\x82\x5b\x46\x69\x91\xfc\x57\xba\x6b\x73\x56\x5e\x3f\x63\x56\x49\x68\x53\x40\x45\xd8\x96\x0c\x7f\xcc\x15\xfe\x8c\x60\x6d\xfc\x59\x83\x63\xbf\x78\x07\x00\xa7\xc0\x02\xd8\x3b\xac\xd8\xc9\xec\xf2\x29\x6e\x41\x19\x55\xcf\x94\x50\x9c\xbc\xee\x34\xc6\x42\x67\xca\x3a\xbd\xaa\xa9\x67\x93\xa5\x14\x0a\x59\x7f\xa1\x55\x45\x4f\x1f\xe6\x02\x45\xe7\x0f\xce\xd5\x97\x0c\x51\x22\x25\xf4\x0c\x0e\xde\x36\x11\x58\x26\x39\x11\xd8\xd3\x7e\x9c\x6a\x8d\xa6\xa4\x92\xb7\x5b\x97\xde\x84\x38\xdb\x0c\xbe\x70\x6a\xa6\xf6\x3c\xf1\xf4\x9b\xf7\xc7\x66\xac\x7a\xe5\xa8\xf0\x1d\xce\x88\xe3\x25\x43\x8e\x81\xa9\x5b\xab\x7b\xcc\x28\xa3\x1b\x4c\xa8\x74\x1d\x97\xcd\x09\x20\x36\xa8\x0a\xbe\x69\x3b\x59\xce\x8b\x32\x68\xf7\x4e\xd0\xdc\xf4\xdb\x4b\x67\x93\x53\x80\xce\x8b\xef\xce\x2c\xc2\xdf\x1f\x44\xa0\x6a\x49\x8b\x52\x6e\xae\x87\xb8\x18\x59\x4c\x03\xdc\xea\x45\x1a\x66\x66\xef\x74\x72\x3d\x4e\x37\xc1\xb8\x89\xe6\x54\x08\xbe\xaa\x54\x95\xa0\x80\x95\xa6\x4a\x0b\x12\x08\x83\x6c\x00\xbe\xda\x91\x1c\x7f\xee\x55\xed\xe1\x15\x88\x45\x87\xda\x3d\xed\xf9\xe8\xfc\x31\x1a\x32\x6c\xad\x6c\xdb\xe2\xf5\x74\x39\xaf\xdb\x6d\xd3\x73\x72\xdc\x02\xd0\xe9\x36\x9a\x09\x81\xae\xf6\x6a\xae\x37\x6e\x6d\x3e\xf1\xf0\xc4\xf1\xb4\x67\x57\x84\x32\x93\xb4\x73\xeb\xd3\x4e\xd9\xdf\x95\x23\x27\x34\x30\x15\xfb\xb9\x4f\x3d\x0c\xa9\xc4\xf1\x0b\xfc\xcc\x92\xbd\x99\x79\x76\x31\xa3\x2c\x9e\x59\x7d\xe8\x5f\x4a\x83\xbf\xde\xc3\xf1\x3f\x77\x7c\x59\x36\x78\x3d\x26\xa7\x4b\x33\xf2\x11\xb7\x5d\xce\xba\xa2\x40\xbe\xe4\x4d\x11\x46\x8f\x4d\x41\xf4\xec\x9e\xc7\x15\xe0\x18\x4d\xd6\xd6\xc5\x44\x9a\xc9\x1b\x81\x24\xee\x0f\x7b\x65\x04\xdc\xeb\x7f\x33\x46\x10\x3f\xbd\x89\xe1\xe4\x9e\xf6\xe5\x08\xba\x0a\xfc\xe3\x6e\x86\xea\x97\xda\xa1\xad\xe1\xdd\xdb\xbd\x0e\x3f\xb0\x59\x87\x83\xb3\x32\x47\x46\x72\x4a\xd3\xc6\x7f\x2b\x6d\xf5\x8d\x22\x84\x14\xcc\xeb\x6c\xb2\xe1\xc6\x52\x13\xd1\x0c\x83\x8c\xda\xb0\xc8\xf5\x0d\xbf\x28\xba\x17\x10\x3a\x3a\x26\xc6\xd5\xa0\xa8\x41\xe8\x5e\x2a\x34\x9a\xe6\x3f\x00\xf8\x02\x28\x1c\xba\xb1\xc7\x13\x42\xe4\x12\x23\x6e\xe0\xb2\x86\x5a\x95\xfd\x92\xfd\x9b\xef\x74\x00\x42\xf2\xa8\x2b\x9e\xf4\x25\x54\x24\xb3\x02\x03\x79\x0a\x88\x73\x17\x5e\xfd\xcf\x4a\xc6\xf7\x4e\x02\x03\x0a\x71\xcb\x9f\x46\xc2\xac\xd4\x39\x63\x11\x2b\x73\x56\xb1\xf4\x24\x5f\xe8\x00\xf4\x6c\x5a\x40\xfe\x23\x4f\x7b\x43\xa0\x80\x60\x74\x9b\x42\x3f\xf7\x5a\xc1\xc9\x6d\xa0\x05\x64\x8a\x6f\x09\x7d\x3a\xbf\x3e\xbb\xbe\xbc\x8b\xf9\xb3\xd0\xa7\xf8\x82\x90\x46\x8e\x71\x35\x4a\x3f\x56\x7c\x39\x67\x53\xec\x93\xdd\x19\x13\x5d\xff\x6c\xa6\x22\x0d\x65\x03\xdb\x20\x39\x97\x31\x23\x16\x7f\x6b\xec\x53\x2f\x7d\x57\x82\xd8\xf7\x18\xf2\x57\x4f\x64\x24\x9f\x51\x1a\x30\xe2\x05\xed\x4e\x6c\x62\x46\x77\x01\x55\x7f\x8d\x97\x27\x0c\xf4\xb2\xee\xf0\x21\x1d\x01\x3e\x17\x90\x13\xf1\xea\x80\x16\x41\xf2\x5d\x43\x63\x34\xa5\xd2\xea\x3c\x1b\x20\xe3\xed\x61\x40\x37\x86\xb3\xda\xcb\xf2\x83\x75\x37\x86\x7d\x23\xac\x06\x13\x95\x57\x2f\xb8\xd8\x7f\xe8\xbf\xfc\xe9\x7e\x1d\x0e\x27\xc0\x63\x91\xd1\x5b\x27\xcf\x4f\x18\x11\xcf\x31\x85\x5c\x0b\xd3\xb4\xd2\x1e\x20\xe5\xd9\x18\xcd\x14\x00\x06\x76\x4a\xb7\x93\xec\x84\x89\xc6\xd6\x68\x24\xdd\x42\x22\x0e\x42\x4c\x02\x64\x96\xda\x5e\xe7\x0b\x1e\xf0\xbd\x7d\xf3\xfa\x9f\x89\x3f\xce\xe3\xc2\x5e\xaf\xce\x99\xb6\x3f\xd2\x2f\xb1\x81\xeb\x5a\xbf\x8f\x0b\xa6\x3d\x8e\xb3\xc8\x8f\x2e\x03\xfc\xdc\x8a\xa8\x01\x37\xd8\x1e\xb2\x1f\x01\xf0\x44\xad\x96\x59\x01\xd7\x12\x5c\xc9\x47\x55\xa2\x20\xed\xb2\x27\x05\xf2\x15\x95\xce\x9b\x8a\xaf\xb8\xbb\x7a\xef\x39\xd7\x18\x33\x9c\xcb\xa3\xd9\x3d\x9b\x7d\xea\xd6\xfb\x38\xc4\xf9\x3a\x9c\x75\x16\xa4\x28\xbc\x90\x99\x3f\x07\x86\x60\xff\x04\x67\xfd\xa1\x0e\xea\x72\x36\x9d\xd3\xac\xbb\xc2\x6c\x8f\xe8\xc7\xda\x03\x0d\x76\x38\x44\x13\xa2\x27\x2f\x23\xcf\x0a\x19\x65\x1c\xbc\x5d\x31\xc4\x68\xdc\x73\xac\xcc\xd3\xc1\x62\xd0\x31\x99\x73\x24\x97\xf5\x4c\xfb\x3d\xbb\x18\xdc\x6f\xc1\x65\xf7\xac\xe7\x33\xa6\xeb\x05\x12\xa7\x89\xe6\x42\xae\xf7\xea\xd0\xa5\x05\x31\x4b\x09\x60\xa6\xdb\x4b\x52\x96\x20\x21\x86\xff\x00\x89\xb2\xc0\xad\xe2\x83\xc4\x34\x07\x73\x20\x50\xb4\xc7\x1b\x07\xc8\x06\x5c\x3d\x42\x3f\x2e\x3f\xb3\x66\x25\x01\x99\x9b\x16\x48\x08\xa4\xad\x27\x00\x81\xa1\x14\x96\x36\x5a\xe1\x9e\xdd\x6f\x35\x00\x26\xcc\x40\xdd\xf0\x82\xee\x71\xea\x45\xbe\xa9\xce\xb5\xb2\x2b\xa6\xf8\xe6\x7b\xc2\xe2\x5e\xdf\x64\x52\x19\xf3\x5e\x27\x20\xaa\x16\x76\xd3\x2a\x52\xa3\xe4\xd7\xd9\x3e\xd6\xfd\x10\x86\x18\xfe\xaa\xbc\xbd\x95\xf7\x21\x81\xd2\x43\xf3\x13\x8b\xeb\xbc\x9e\xd8\x3f\xa6\xf6\x3f\x97\xe5\xfd\x2d\xd3\x57\x0f\xe4\xf1\x5a\x7e\xa8\xb9\x78\x08\xe2\x95\xdd\x8b\x49\xf0\x3f\x95\xc6\xa7\x9a\xd8\x0f\x2d\x47\xf9\x28\x1f\xe5\xbd\xbc\x87\xbb\x03\x9b\x93\x52\x28\xe5\xd7\xce\xd6\x32\x91\xcf\x89\xe2\x81\xab\x28\xf7\xd8\x2f\x87\x58\x23\xef\x93\xd0\xa8\xb0\xb9\x88\x83\xce\xd4\x03\x64\x1f\x8c\x85\x39\x33\x77\xcc\xed\x37\xb2\xf6\x60\xb5\x75\x69\xde\xe7\x10\xa0\x02\x95\xec\xa9\xd3\x3a\x21\xa5\x2a\x41\x9a\x56\x78\x6b\x77\xaa\x4e\xe0\x93\x16\xc9\xaf\x40\xe1\xbe\x38\xf9\xef\x15\xc2\x1c\xdb\x55\x99\xad\x50\xea\xec\x67\x8c\xd0\xd5\x7e\x87\x83\xe9\x53\xed\x66\x27\xaa\x2d\x5d\xdb\x7b\x93\x98\x4f\x03\xb5\x73\x12\x33\x94\x49\x29\x4f\x50\x6a\x38\xb1\x4f\x4a\x11\x93\xb7\x4f\x4d\x73\x8f\xdf\xf2\x7e\xf9\xf1\xd6\x88\x1b\xa2\x31\x3e\xe5\xf4\x84\xd1\x72\x77\x12\x50\xe8\xcc\xba\x9d\x9a\x86\x95\xc1\xbe\x1e\x43\x9e\xe0\x49\x20\x18\x4b\xc3\x62\xbf\x72\x90\x87\x2f\xe5\xc5\x63\x65\xe6\x12\xa4\xce\x40\xd4\x43\x62\x15\x47\x6f\x4c\xec\xfd\xee\xde\x06\xa1\xc9\x63\x12\xb4\xd9\x01\x88\xac\xf1\x1f\x7d\x5e\x9d\xc4\x1b\x45\xab\x00\x57\xa0\xac\x0a\x07\x19\xef\x6d\x94\xdb\xc0\x18\xae\x55\x5f\x03\xc9\x93\xac\xdb\x04\x1c\x4b\x2f\x9e\xfc\x20\x08\xaa\xf2\x67\x62\x93\x3b\xcc\x6d\x29\xfb\x8c\x5c\x16\x60\xe7\x5c\x5e\x22\x4a\x4e\x4b\x49\x0e\xd1\xfe\x06\x9c\xe1\xf1\x33\x22\x32\x47\x81\xd6\x49\xe1\xeb\x5b\x57\x4b\x14\xfc\xf8\x67\xf6\xb7\x41\xca\xbd\x79\x89\xe2\x92\x74\xc4\xf4\xb1\xcb\x03\xc6\xbd\x0b\x22\x25\xc7\x77\x93\x36\xb3\x53\xb6\xed\x0a\x01\x54\x9a\xb1\x46\x46\x60\xeb\x47\x14\xed\x7e\xe0\xd0\x6b\x69\x3d\x35\x1e\xfe\x94\x87\xba\xbd\x8d\x19\x12\x08\xff\x92\xd6\xaa\xe8\x07\xf3\x2d\x27\xd9\xb8\x1e\xa6\xab\x23\x8d\x39\x04\x9b\xd2\x86\xe1\x75\x38\x6c\x84\x4c\xfc\x22\x0c\xa4\x82\x29\xc4\xf2\xb4\xab\xf6\x8e\x9d\x14\xc2\x2a\x36\x2a\x55\x59\x4e\xb6\x18\xd8\x36\x4f\xc3\x68\xe0\xbd\x0b\x4f\xf6\x21\xde\xbf\x15\xc4\x9d\xdc\xed\x0e\xc5\x44\x7c\x0f\xed\xd2\x14\xf8\x4f\xd0\xf5\xc5\xa6\x90\x72\x7a\x8b\xf9\x6f\x05\xee\xa7\xf6\x7f\x9b\xe6\xae\x27\x37\x9b\x0d\xcd\x27\x16\x7a\xfc\x89\xc5\xa3\x77\xee\x23\x4a\xf3\xe8\x5b\xfc\x37\x10\xfd\x6c\xd1\x7c\xff\x9c\x5f\xd3\xcf\xfb\x03\x3c\xd3\x0a\xa1\xf5\xf4\xa9\xf4\xd0\x61\x68\x42\x2b\xf9\xe0\x18\xd3\xf6\x80\xe2\xa6\x93\x0d\x76\x26\x0c\x8e\x7a\x0d\x20\x53\x3c\xe5\x75\x9e\x63\xc1\xb0\xd6\x8f\xfc\xca\x3c\x77\x92\x5d\x60\x0b\x0a\x31\x0e\x99\x8d\x8b\x5c\x8e\x94\x36\x6f\x65\xaf\xe4\xcd\xfe\x62\xbc\xb3\xa3\x47\x07\xf7\x1e\xb0\x58\x53\xc5\xd0\x73\xd5\x6b\xab\xf8\xe0\x5d\x94\x8c\x80\xd9\xd2\x10\x65\x96\x3c\x5b\xcf\x7a\x0b\x99\x55\xbb\x4f\xe6\xfe\xec\x80\x7a\x24\x06\xef\x15\xd3\xc0\x5d\x6d\xcc\x6d\x7f\x78\x6c\x84\xdf\xce\xf7\xb7\xcc\xbb\x3c\xe7\xf7\xb7\xd8\x97\xba\x01\xea\x71\x78\xef\xd1\x8d\xda\x33\x26\xa1\xc1\xc1\xac\x91\xdd\x14\xe3\xd5\xb3\x78\x22\x43\x9f\x94\x79\xce\x03\xf6\xfb\xa4\x3e\x78\x27\xba\x5e\xbe\xca\xfb\x20\x47\x81\xcb\x0e\x52\x50\x07\x6a\x3c\xc5\x07\x0b\xd7\x98\x58\x7e\xbf\xdb\x01\x9b\xfc\x35\x40\x51\xc7\x3d\x3b\x1e\x9a\x7b\x0a\x6b\x07\xe2\x4d\xa3\x9c\xf5\x12\xa1\x51\x1e\xed\xaa\x7e\x8a\x89\x55\x67\x97\x41\x54\xf7\xbb\x0d\x80\xe3\x79\x4a\xc5\x3a\x48\x5b\x63\x6f\xbd\x5f\xc9\xca\x15\x8f\xf5\xd5\xa5\xac\xd0\x89\x7f\xf7\x30\x00\xdf\xd6\xc5\x78\xfb\x0e\x0a\x86\x6a\xf7\x1c\x12\x24\xb0\xb4\x5f\x11\xf3\xa4\x04\x9e\xa7\x48\xbd\xc2\xa9\xe9\xb9\x92\x7c\xdf\xf3\xa1\x48\xd5\x04\x06\x25\x73\x3c\xfc\x65\xaa\x88\xde\x62\x34\x65\x74\x8b\x6a\x6b\x39\xc8\xb0\x8c\xe9\x97\xe1\xad\x78\x4a\xcf\xc3\x90\xc5\x32\x80\x61\x2d\x6f\x36\x94\xaa\x82\x26\xf0\x6b\x3c\x3d\x99\x3c\xfa\x5a\x8b\xa7\x84\xdf\xef\xc3\xb3\x33\xee\x58\xbf\x38\x9f\x4e\x67\xc1\xd1\xa8\x44\x7b\xd7\x94\xc4\x90\x8a\xef\xf2\xa8\x74\x19\xee\x06\x04\x5c\x1a\x4d\x5a\xa5\x96\x59\x90\x33\xf3\x6e\x96\x75\xd4\xb3\x75\xd9\xfa\xab\x9b\xde\x58\xdc\xb0\xac\xa3\x4c\x24\xe8\x8e\xd8\xda\x3e\x07\xa3\x55\xb1\x55\xdd\xfa\x1f\x8b\x65\xea\x46\xce\xf5\xb1\x8c\xff\x55\x5c\x7f\x9f\xed\x83\x7a\x5d\x7c\x2c\xd5\x8f\xea\xaa\x6c\x2b\xe7\xd5\xe9\x99\xe5\x2f\x65\x66\xba\x78\x87\xa0\x66\x39\x68\xd8\x99\xd1\x50\xb7\x00\xcb\xe9\x01\x35\x43\x02\xbe\x1a\x05\x54\x59\x39\xc4\x5f\x00\x35\x59\x0d\x0a\x91\x0b\xbc\x0f\x8b\x8a\xc3\xec\x04\x86\xb5\x09\x17\x83\xa4\x21\x16\xfd\x9f\xcf\x55\xe0\xde\xe0\x90\x4b\xe9\x52\x6a\x33\xdf\xf8\x32\xda\xf5\x78\x07\xc5\xae\x7b\x5c\x99\x07\x4e\x99\x6f\xc0\x42\x99\x5e\x12\xd8\x30\x16\x01\xef\xdf\xb3\x82\x8d\x81\x2e\xfc\xac\xe0\x83\xb8\xf1\x2a\x01\xae\x3b\x66\x43\x0e\xae\x1d\x98\xd1\x8b\x6a\x36\xc6\x7f\x94\x07\x2d\xde\xfc\x81\x5c\xf0\xc8\x8b\xc3\x2e\x23\x7e\xca\xd9\x71\x0e\x81\x98\x66\x02\xe4\x1a\x33\x82\x0e\x11\xf0\xbc\x18\x08\xa5\xe7\x09\x11\x3d\x6f\x3b\x8e\x4c\xc2\x94\x14\x75\x71\x96\xb2\x2c\xfe\x99\x36\x1c\x67\x97\xf3\x9f\x6b\xbb\x66\xbe\x15\xfe\x3c\x78\x63\x97\x6a\x6c\xee\x11\xd7\xaf\x7c\x3b\x62\x9e\x37\xd4\xd3\x72\x7d\x97\x1d\x7b\xab\x09\x03\xa8\xcb\x7a\x71\x2f\xae\x10\x4c\xf9\x6e\xc5\xe6\x84\x4c\xf6\xaa\x42\xfe\x93\x45\x89\x8b\x0b\x4a\xc8\xb3\x3e\xb8\xf0\x03\xa8\xf5\xd6\x7c\x31\x9d\x62\x45\x6c\x7e\xae\x23\x07\x34\x3e\xe5\x25\xe4\xe9\x5e\xa6\x28\xe1\x3f\x85\x6b\x7b\x75\xfc\x47\xc5\xaf\xfa\xec\xbb\x9f\xd4\x17\xf5\xed\x37\xf9\xea\x3b\xdf\x7d\xf7\xa3\xa7\xfc\x3a\xfb\xac\xbe\xfe\xa6\xdf\xfc\x0f\x7e\xfd\xf1\x59\x7d\x7d\xb7\x5f\xe8\xe3\x4e\x61\xf1\xe5\xbc\x46\x5d\xbf\xa6\x0c\x81\xd2\x54\x57\xf2\x27\x9d\x0f\xf2\xd8\xe7\x14\x12\x25\x5d\xa4\xa8\x50\xc6\x88\x94\xad\x19\x28\x90\x73\xfe\x1c\xf2\x5c\x7d\xb5\xed\xf7\xe8\x47\x6f\x4e\x5f\x41\x7f\xa3\xe1\x9f\xdc\xd3\xc9\x0c\xdb\xc2\x4a\x26\x5c\x4a\xc0\x3a\xa2\xa3\xbc\x97\x0e\xe3\xbe\x6f\x4d\x38\x55\x1e\x65\x8f\xa6\x65\x8e\x28\x32\x66\x24\x3f\xaa\xf5\x6f\xe8\x10\x74\xeb\xec\xe1\x51\x76\xca\x5f\xc5\xa7\xe8\xf1\xf1\x61\xbd\x38\x27\x38\x41\xe7\x11\x3b\xc6\xa5\xaa\x2d\x8c\xd7\x04\xf2\x3a\x6e\xcf\xd1\xef\x45\x4d\x4f\x90\x84\x4b\x5a\x81\x54\x25\x38\xa2\xd1\x2d\x1e\x7d\xef\xad\x56\x70\xd6\xcb\xba\x3e\xd9\x4f\x99\xbf\x34\xb4\xb4\x7b\xec\xe9\x8f\xdc\xc2\xae\x20\x44\x39\x78\xf2\xd1\x81\xb0\x5a\x93\xb2\x43\x63\xc2\x6b\x2f\xd9\xed\x21\x94\x56\x64\x7e\xfc\xad\xb1\xf7\xa0\xa0\xd7\xb0\xfb\x9d\x1b\x35\x02\x18\x68\xad\xa3\xbe\xa0\xc3\x93\xa9\x95\xeb\xcb\xf2\x77\x38\x7f\xa0\xd2\x75\x83\x46\xa1\x9f\xf5\xfc\x60\xaa\xdf\xb9\x0e\x5b\xb7\x6d\x9a\x94\x5a\xd9\x0a\x65\x98\xd5\x11\x8b\x57\xf5\xc2\xa2\x89\x48\x85\xf7\x40\xb6\xa9\x51\x19\x51\x58\xdb\x82\x09\x6b\x5d\x77\xb2\xc7\xe2\x3e\x01\xd1\x15\x8b\xdb\x50\x36\x29\x20\x55\x40\x68\x0a\xe1\x32\xf2\x75\x56\xe1\x67\x18\x20\x08\xf2\xd4\x06\x9c\xe2\x5d\xb1\xdc\xd0\x75\xc4\x69\xb9\x4a\x5f\xd6\x79\x51\x4b\x2b\x8d\x43\xf1\xf4\xac\x3c\xfc\x0d\x5d\xf4\xe9\x94\x42\xc6\xd2\x61\xbb\xfc\x9a\x94\x02\xfb\x9c\x00\xeb\x44\xcb\x20\x02\xe4\x1f\x55\x1d\x3b\xd1\x74\x86\xe9\x4e\xf8\xd4\x69\xa5\x4e\xda\xd9\xa2\xc8\x24\xc0\x37\x71\xe2\xf0\x86\x76\x50\x8d\xde\x5e\x06\x81\x04\x22\x2a\xf5\x6b\xef\xa8\x53\x84\xe3\xb9\x70\x5f\x6b\x51\x43\x29\x18\x83\x1e\xc2\x1e\x23\x82\xd6\x0b\x12\x0d\x91\x75\x1e\x55\x54\xd1\x52\x91\x46\x92\x9d\x7a\x16\x61\xb5\x8c\xb6\x36\x85\x90\xc7\xe7\xa6\xe6\x03\x36\xfa\xb2\xaf\x0e\xd1\xd9\xa8\x87\x91\x2f\x19\x81\x15\x1b\x7a\x9e\xae\x08\x41\x51\xe3\x40\x49\x1a\xa9\x49\xad\xa9\x29\xa4\xd8\x64\x9b\x97\x8c\xe3\x74\xd2\x1e\xe2\xa9\x5e\x0f\x3a\x3f\x1a\xf9\xe8\x5e\x46\x8d\x3b\x24\x50\x47\xe3\xd6\xe8\xe9\xe4\x61\x36\x5e\xbf\xce\xd3\x56\x97\x2e\xab\x30\xf8\xe1\x7c\xcb\xbf\x3e\x82\xab\x7d\x4d\xf3\xa9\xd3\x5b\x99\x56\x20\x51\x5d\x60\x94\xec\x80\x1f\x09\x23\x71\x4c\x47\xe2\x91\xe1\x9c\xee\x14\x67\xba\xd9\xac\x01\xef\x60\x7a\x4f\xe3\x80\x16\x70\x60\xc3\x4a\xc1\xdf\x08\x91\xad\xe4\x4e\xe2\x26\x56\x39\xb7\x03\xcd\x9c\x8d\xde\x62\x07\x2c\x52\x4f\x3a\x7f\x5d\x61\x6b\xd9\xf7\xa0\x55\x8d\xe8\xb3\x07\x53\x87\x40\x8d\xac\x13\x34\xa3\x17\x88\xae\x53\xfa\x6f\x26\x80\xde\x11\x22\x22\xbd\x20\x03\xdc\xdb\xc8\x2a\x90\x31\xa4\x38\x9b\xc9\x31\x25\x91\x66\x97\x96\xa8\xcf\x4c\xb4\x1f\xb8\x44\x78\x75\xc6\xed\xf4\x04\xd1\x7d\xcb\xd8\x64\x63\xee\x9a\x73\xe7\x6e\x9d\xeb\xf8\x25\x7a\x6b\x08\x28\xa0\x63\xa6\x06\xf8\x11\xe9\xcf\x04\x64\xd6\xe0\xce\x91\x6a\xf7\x2b\x04\x17\x23\x4d\x34\xcd\x94\xf2\x17\xa7\x67\xad\x9f\x4f\x1d\x21\x85\xb4\xdd\xae\xec\x5b\xfd\x02\xcc\xce\x90\x30\x20\xb5\xbe\x7a\xc7\xe5\x6e\x75\xb6\xbd\x33\x89\x95\x4e\x57\x84\xbb\x57\xb6\x2c\xdf\xe8\xc2\x75\x71\x8e\x29\x71\x79\xdb\x24\xbe\x6b\x5a\x9f\x8d\x31\x44\x43\x01\x67\x6e\xaf\x07\xb4\xf3\x6a\x59\x0d\x99\xfc\x3d\xc3\xe2\x0d\xaf\x39\xc3\x1d\x5a\x59\x0f\x18\x37\x2e\x42\x2c\xfd\x7d\x41\x7d\x05\x5c\x2b\x22\xe8\x48\x58\xd4\x54\x74\x8c\x21\x1d\xdd\xa3\x51\x05\x5e\x66\xd1\x33\xb5\x17\x6d\x8d\x73\xfd\x7a\x1c\xb6\x32\x62\xc9\x36\x44\x40\x6e\x0d\x57\x11\xd4\x9d\xc4\xce\xd6\xea\x4e\x71\xfd\xb3\x7e\xca\xa1\xf6\x6b\xa4\xe2\x40\x8f\x5a\x6b\xf9\xf1\x43\x65\xdb\xbb\xfd\x9e\xef\x0e\xb4\xea\x06\x90\x48\xff\xef\x6a\x0a\x0c\x77\x02\x70\x1d\xa8\x4a\xa7\xeb\xc3\x8e\xce\x2e\xb1\x7b\xf7\xe7\x15\xcf\x53\x6a\xff\x14\x2f\x35\xdb\x61\xb1\x8f\x58\x04\x1f\x4a\x27\xe6\xec\xeb\x74\x7a\x1a\xb0\x1b\xe0\x11\xb9\x72\x50\x07\x60\x77\x28\xa5\x48\xa7\xa1\xfb\xe9\xd4\x94\x09\xba\x3c\x1f\x68\xa3\x09\x72\x4a\xa2\x4e\x13\x1d\x29\xb6\xa1\x9d\x8e\xc0\x63\xa0\x1d\xd6\xdb\x17\x73\xc8\x04\xd2\x5d\x90\x59\x89\x83\xd8\x43\xee\x69\xd5\xe4\xbd\x22\x18\xa9\x6b\x43\x9a\x68\xd7\x50\xe1\x08\xa7\x8c\x77\x18\x68\x58\x46\x6a\x3e\xef\x70\x6f\x92\xaa\xd4\x61\xd0\x06\x13\xdc\x9a\x1c\xdb\x2d\x09\x76\xb1\x97\x09\x97\xf1\x80\xc6\x79\x7d\x48\xcf\x29\x69\x99\x24\xc3\xaf\xc1\xa4\x6b\xef\xf7\x7e\x27\xfc\x08\xbf\xf1\x7e\x9b\x35\x2e\x05\xf5\x1e\x1c\xa7\x5a\xdc\x9e\x9e\x00\x70\x6b\x43\xc9\xd5\xc6\x01\x28\x98\xd5\x12\xbc\xfa\xad\x08\x38\x64\xef\xc1\xf2\x4a\x96\x30\xc4\x70\x31\xb3\x42\x78\xdf\x21\x4b\x4a\x38\x81\x9e\x06\x49\x10\x31\x82\xe8\xe0\xc4\xcb\x28\x6b\x44\xdd\x47\x7e\xbd\xb4\x2c\x04\x80\x2e\x32\x30\x70\x2c\x52\x0d\x2f\xc1\xcf\x59\xc1\x55\x36\xb4\x4c\x7d\x29\xe9\x63\xb7\x2f\x21\xef\x42\xb4\x0a\x40\x40\x72\xa8\x7f\x06\xab\x1c\xf8\xad\x4a\x6c\xab\xe7\x6a\xb5\xba\x24\x8f\xce\xb4\xbc\x51\xcb\xe0\x59\x96\x6a\xc1\x19\xb3\xd2\x7d\x62\x51\x8a\xea\x85\xcc\x63\xcc\xe4\x2f\x86\x68\x74\x8b\xbc\x84\x95\xf4\xab\x34\x95\xf2\xb2\x3a\xb3\x44\xa3\x9b\xb6\x0e\x39\xa9\xfa\xa1\xb9\x0f\x64\xa7\xf9\x40\x6f\x0b\xf5\x1e\x85\x66\x5c\x1f\xc5\xa3\x43\x29\xec\x42\x56\xc5\xc7\xc2\x41\xf3\x77\x4c\x1f\xa0\xd9\x03\x68\x29\xa3\x1b\xb7\xd4\x08\x59\x11\xf1\xdd\xd5\x27\xab\x61\xad\x70\xce\x4e\x98\x51\xde\x49\x18\x3c\x73\xad\x36\x7e\x1e\xd3\x57\xa3\xd1\x87\x2e\xd0\x09\xda\xd7\x55\x30\x6d\x91\xbf\x4b\xca\x26\x3f\xb7\x01\x81\x8f\x46\x30\x00\x78\xee\x6a\x82\x1a\xa3\x78\x62\x92\x59\xd1\x5d\xc8\x0e\xd0\xce\xb6\xa2\x9c\x7c\x12\xc4\xed\x09\xd4\x9f\xf6\x8a\x70\xab\xf5\x0a\x02\x60\xf7\xfc\xd3\x27\x5a\x6a\xe8\xae\xb2\x39\x74\x25\xc4\xca\x77\x48\x2b\xef\x9a\x3b\x6f\xe8\x21\xeb\xc3\x3d\xda\xdd\x5d\x7c\xeb\x5b\x64\x07\x5a\xb5\x94\x45\x97\xea\xf6\xb1\x57\xbe\xa1\x6c\x3b\x46\xe7\x36\xfc\x1b\x70\x93\x87\xe9\xc6\x8f\xac\x83\xbc\x30\x01\xdb\x07\x4c\xd8\xa0\x82\xcb\xe3\x55\x36\x95\x07\xb5\x30\x79\xa7\x1a\x92\xab\xab\x0f\xb9\x11\x3f\xc8\x45\xf7\x83\x45\xb9\x89\xa6\x7a\x54\x1c\x6d\xeb\x2b\x7c\x5d\x5e\x77\x3c\x1e\xa9\xab\x20\x1c\xe2\xb4\x9c\xcc\xfc\x97\x98\xb1\xbc\xfc\x7d\xcd\xf2\xa8\xce\xeb\xab\x2c\x4e\x74\xb1\x7d\x59\xac\xc9\xba\xd0\x7e\xad\xaa\x1d\x6a\x5b\x97\x5f\xf0\x78\x61\xd1\xa1\x13\xbb\xfc\x39\x9d\x76\x76\xac\x45\x6c\x43\xb1\x2f\xae\x5e\x30\x95\x89\xc0\x87\x14\x8f\xd5\x99\x59\x86\x8f\xe0\x4e\x43\xd2\x83\x32\x27\xe2\x76\x68\xb3\x09\x82\x7b\xd0\x4a\x62\x54\xa2\x77\x1e\x6f\x1c\x95\xf0\xf2\x86\xd9\xb2\x58\x8e\x1c\x96\x38\x7c\x22\x05\x0b\x6d\x5c\x38\x28\xbb\x9a\xf3\xc4\x65\x5c\x1f\x3c\x8d\x4e\xa2\x65\x5c\xc2\x99\xe8\x8e\xf6\xd9\xf3\x62\x91\xe0\xbb\xc7\x31\xc8\x21\x6b\x9d\x5f\x9d\xeb\x35\x86\x9e\x96\xe9\xea\xbf\xf6\x6e\x74\x1f\x3f\x4c\x4f\xcf\x05\x9c\xf7\xa7\xbd\x6c\x21\x63\x58\xfd\xe2\x38\x56\x25\xb9\xc0\x0b\x3d\xdc\x93\x64\x72\xf4\xf8\xaf\xea\x64\x5c\x27\x22\x45\x15\x31\xd5\x59\x3f\x65\xf0\xe4\x61\xa1\xb0\x47\xd3\x96\x29\x74\x3b\xa8\x61\xfa\xbc\x06\xee\xfc\xa6\x00\x52\x82\x84\x63\xd8\x7f\x4e\x3d\x3a\x72\xd2\xc7\x70\xf1\x53\xb1\xf7\x27\xc4\xd1\x1f\xe1\xde\x87\x79\xe9\x60\x6c\x0b\x9d\x20\xd9\x29\x70\xe8\xa9\xc8\x9f\x35\xff\xb3\x49\xe2\x71\x60\x73\xe0\xe3\x5e\x26\x01\xe3\x2f\x3d\xf3\xae\x66\xa2\xca\x89\xc6\x6c\xb3\x12\x1a\x46\x20\x32\x1b\x36\x60\x27\xdd\x0a\x03\x86\x33\x0c\x90\x42\xf7\x8a\x30\x86\x34\xfc\x24\xc0\xfc\xd7\x37\x2c\x5a\xcc\x82\x36\x91\x28\xab\x9d\x78\xca\xda\x4e\x22\x65\x9d\x4d\x82\xf5\x81\xda\x1b\x28\x49\xf2\x03\xb4\x12\x9c\x76\xfa\x39\xd1\x33\x15\x98\xe3\x3b\xe8\x56\x19\x13\x67\x43\xf1\xf8\xcb\xd6\xaa\x7e\x3a\xed\x2c\x92\x4f\x37\xb1\x72\x04\x19\xd9\xd1\x2d\x44\xbd\xa6\xd7\x83\x00\xf8\x71\xfa\xc8\xf2\xec\x4a\x53\xf0\x18\xb5\x20\x40\x78\xc1\xf6\xd6\xa5\x7f\x9a\xb2\x4e\x1f\x28\x80\xa0\xc4\x3e\xaf\x0a\x9f\xb5\x49\xb7\x0f\x71\x41\x8f\x47\x30\x5c\x55\x94\x76\x7f\x3d\x91\x02\x35\x25\x3e\x5d\xc6\x65\xb4\x4b\x17\xbc\x0a\x6c\xce\x5c\xe1\x87\x01\x46\xc8\x43\x71\xaa\xf6\xc8\xb6\xfc\xbb\xae\xd3\x8d\x9c\x86\x1a\x43\x70\x3a\x65\x2d\xca\x6c\xcc\xb4\x2a\x59\x15\x6e\xad\xa6\x90\xb8\x75\x6d\x63\xd5\xcb\xbd\x76\x4d\x40\x7f\x7a\x54\xfe\x17\x73\x5b\x0d\xf3\xb4\xfa\x45\xdc\x18\x8b\xd4\x87\xad\x8d\x4c\x0a\x5f\xdd\x16\x13\x1b\xcd\x70\x64\x73\x85\xef\xec\xf0\x93\xb1\x87\xfe\xdf\x96\x00\x1a\x02\xd0\xc8\x9e\x35\xed\x9e\xab\x64\x6c\x58\x7c\x13\x7c\x7b\xbf\x89\x11\xbf\xa6\xe1\xc7\xe7\xfc\xfa\xc6\x07\x51\xdd\xfa\x9e\xeb\xa9\xf9\x50\x7b\x7b\xec\x52\x1a\x9d\xe4\xe9\x3b\xf7\xd6\xd1\x2f\xe2\xc5\x41\xd2\x1d\xf2\x1d\xd8\x86\x38\x47\x6f\x30\xe3\x8b\x35\xe3\xd9\x59\x9d\x46\x61\x5b\xed\xcb\xa9\xd9\xf1\x7f\x4f\xc4\x3a\x09\xe1\x40\x26\x90\x02\x45\x4b\x27\x1f\xe0\x8e\xad\xc5\x71\xc7\x1b\x96\x62\x6c\x7d\x85\xcd\x83\x25\x8e\x98\xf0\x12\xcd\x78\xfc\x0c\xf9\x5e\x9b\xb0\x22\xcf\x8f\x46\xb5\xb2\xf3\x8e\xd8\x72\x85\x45\x68\x94\x4a\xd9\x47\x67\x28\x27\x72\xed\x2c\x3b\x70\xd6\xa5\x97\xdb\xbf\x72\x82\xcd\xde\xc4\xc1\xd3\x1a\x5f\x11\x81\x14\xce\x19\x62\xa7\xb1\x2e\x21\xa4\x30\x36\x20\x08\x64\x7b\x4c\xb0\xc6\xe2\xab\x0c\xd9\xcb\x20\x23\x11\xe4\x05\xc2\x96\xea\x20\x1a\x22\x83\xe2\xf7\x35\xd8\x80\xfb\xf5\x16\xdd\x0f\x89\x54\xe3\x28\xd4\xca\xed\x7e\x4d\x4f\xa5\x15\x2e\x72\xe3\xe2\x87\x15\xd1\xbe\xc5\x54\x9f\x55\x98\x3e\x85\x21\xf1\xf6\xff\x83\x8c\xd8\x60\x7b\x33\x1a\x60\x08\x14\x4d\xe2\x68\xae\xa1\x2e\x04\x8d\x30\x1c\xdd\xbe\xce\x11\x36\x68\xaa\x47\x38\x90\x8c\xc8\x01\x38\x52\x24\x20\x34\x86\x8d\xd0\x0c\x54\xe0\xba\xd8\xce\xc6\xc7\x46\xd8\x6a\xbb\xbb\xf1\xbb\x2a\xe1\x69\xa0\x1b\x70\x15\x51\x93\x73\x56\xef\xa2\x40\xff\x7e\x3c\x15\x86\x27\x23\xa2\x81\x5d\xdf\xe1\x30\xdf\x8b\x77\xa3\xf0\xef\x3e\xd8\xdc\x8d\xb8\xdb\x3c\xed\x7c\x87\xc1\x2f\x1a\x6b\x85\xc1\x85\x55\x3e\xcf\x63\xa7\xd8\xf1\x84\x14\xa6\x3e\xf7\x0e\xc3\x7b\xa8\xe1\x94\xd9\xa3\x82\x53\x5f\x11\x84\x00\x82\x6d\xee\xfb\xb4\x09\x50\xd9\x2b\xb2\xba\x4d\x1d\xb7\x4b\xd5\x07\x45\x2b\x7f\x87\xae\x02\xf7\xc2\xef\x68\xb5\x15\x30\xc4\xd5\xdb\xe6\xf6\x10\xc9\x5b\xd9\x72\xc0\x2c\xe0\x82\x21\x37\x33\x44\x04\x39\xad\xd1\xa1\x5b\x8b\x0a\xc0\xdf\x76\xfc\xed\x62\x22\xde\x8d\x89\xfa\xa6\xbc\xb5\x36\x1a\x37\xa3\x63\x15\xdd\xd2\x60\xd5\xc4\x4c\xbf\x65\xe3\x08\x32\x50\x49\x9b\x42\xef\x8a\x6d\x88\xa4\xc8\x8c\x68\xb5\x3f\x36\xf3\xe9\x6a\xd1\xe1\x41\xbc\x40\x16\xa3\x4e\xfb\x73\xbb\xba\x67\xd2\xba\xb9\xd2\x06\xf8\xd9\xaf\xe8\x5e\x03\x0d\xe6\x25\x6a\xd9\xc2\x01\x36\x74\xa0\xfe\x43\x72\xcc\x84\x64\xe0\xd0\xbc\xcd\x7a\x5f\xb8\xf0\x38\x4e\x46\xa2\xf5\x15\xe5\x5b\x78\xd1\x3e\x24\x35\xf6\x14\xbf\xf0\xe4\xed\x90\xd3\x91\xcc\xc7\xec\xb7\x91\x14\x98\xc6\x77\xef\x32\xda\x07\x62\x62\x09\xbf\x55\x7f\x37\x46\x24\x73\x52\x78\x09\xd7\xee\xaf\x1c\xc3\x2c\x3c\x41\xa9\x0e\xda\xf8\x3e\x0c\xe0\x80\x82\x30\xbd\x4d\x39\x5d\xd0\x21\x98\xf5\x28\x70\xe0\xec\xdd\x3b\x92\xdf\xb4\x9d\x12\x96\x3d\xb2\x5c\x4a\x37\xaf\xc7\x9d\x7a\x80\xae\x1e\x8b\xae\xab\x70\xb1\x1a\xf5\x3a\x56\x41\x5f\x87\x19\xeb\xfc\x21\x97\xe6\x7f\x42\x52\x9c\x31\x8c\x3b\x2b\xca\xdf\x61\x20\x36\x84\xe6\x8f\x37\xa6\x6e\xb9\xe1\x17\x7a\xcf\x4e\x07\xcb\x90\xcd\x72\x7f\x2e\x95\xff\x41\xbd\xbf\x1c\x38\x94\x62\xff\xe0\x4e\x23\xc6\x17\x6d\x1a\x89\xee\x2a\x5a\xaa\x47\x82\x16\xb6\x21\x08\xa4\xc6\xec\xc9\x39\xba\xad\x0e\x5a\xc0\x81\xae\xfe\x6b\x4a\x7b\xf7\x1e\x27\xa4\x9b\x91\x6c\x9d\x2d\x02\xf0\xfb\x52\x8f\xa2\x18\x9a\xdb\xc9\x26\x7c\x93\xa0\x02\x19\x19\x9b\x2f\x8f\x33\x1f\xd0\x12\xc0\x15\x76\xa5\x31\x8c\x70\xb1\x88\x57\x43\x4d\x45\x37\xc5\x49\xe8\xbe\xcd\xa8\xe5\xbe\x54\xc6\x3b\xc0\x22\xbd\xa1\xe0\x1d\x5d\x11\x32\xdb\x04\x62\x8b\x39\xd6\x1b\x96\xd9\x68\x06\xc1\x48\x81\x76\x8d\x9f\x03\x01\x05\x6a\xea\x09\xe0\x0a\xa5\x48\x54\x1a\x53\x2d\xa1\xaf\x6c\x65\x57\x7e\xe5\x77\xfa\x9e\x2f\x1e\x44\xb1\x93\xe1\xfb\xce\x78\xc3\x07\x93\xad\xec\x10\x07\x7b\x26\x63\x10\x99\x7c\xf4\x1f\x56\x2a\x22\x77\xf8\x38\xd0\x4d\x7a\x92\x30\xe2\x00\xed\x63\x07\x03\x0d\x16\x46\x31\x8d\x73\x22\x1e\x61\xfd\x4b\xc6\xc7\x24\x1d\xc2\x2e\x6e\xe3\x55\xed\x93\x43\x50\xbe\x87\x37\x26\x57\x72\x80\x1f\x78\x1e\xf0\x76\x00\x6d\xc3\xfd\x0d\x46\x14\x3b\x3f\x8e\xd4\xdd\xdd\xdc\x98\x45\x11\x1c\x88\xee\x7a\x3d\xf0\x5b\x5e\x42\x28\x63\xb9\x22\xbf\xf2\x13\x81\x60\x3d\x0c\xd8\xee\xcc\x97\xb4\xa7\xc6\x6c\x8c\x6c\x9f\x51\x38\x65\x1e\xf3\x0a\xc5\x1c\x8d\xbf\x21\xe6\x87\x00\x4f\xa9\x6b\x07\x03\xe9\x8d\x77\xf2\xbd\x09\x8b\x50\xc7\xe3\x04\x8e\x6c\xe3\xb1\x40\xe5\x9c\x6d\x20\x57\xb5\xab\xcc\xeb\x3f\xc7\x2d\x14\x32\x2d\x43\xc4\x2f\xb9\x6b\x0b\x3c\xb3\xd7\x7c\x7a\xe0\x86\x7d\x7d\xcf\xd8\x57\x33\x35\x9e\xc4\x70\xbc\xa6\x03\x09\xef\xa9\xaa\xc3\x4c\x11\x57\xe3\x46\xe6\x35\x84\xc5\xbf\xe8\x50\x44\x4e\xe5\xd2\xb8\x1b\x24\x1e\xcc\xa5\xc4\x7a\xbf\x51\xf1\xa3\x98\xc8\x52\x0c\xf5\xdf\x30\x9d\xed\x89\x02\xba\xa3\x6f\x86\x26\x07\x87\xbc\x83\x6a\xd0\xca\x09\x3f\x8c\x4b\x9c\x84\xb7\xb8\xc6\x02\x0f\x78\xc4\x3d\x2e\x70\x05\x52\x82\x92\x28\x99\x8a\xbb\xa5\x3b\xc1\x12\x5f\x77\x39\x9b\xbf\xe3\x72\x4c\xe1\x79\xe8\x7a\xbe\x86\xd7\x36\xde\xc7\xed\x5c\x5d\xb7\x58\xf0\x24\x1e\xf2\x14\x17\x72\xfd\x50\xe1\x02\x3d\x1c\x61\x5c\xcc\xe9\xb5\xc0\x23\xbb\x17\xe7\xb5\xfb\xb1\xe8\xfe\xb7\x7c\x9c\xb3\xeb\x11\x17\x5c\x06\x84\xe5\x45\x57\x2f\xba\x98\xc7\xeb\x02\xa4\x66\x66\xd0\xc1\xfb\xa1\x13\x41\x2f\x5f\x27\xa9\x79\x74\x91\x92\x9a\x22\x49\x72\x28\xd9\x11\x7b\x4c\x69\xa1\x16\x28\x9b\xd0\xf0\x25\xde\xd2\xf0\x8d\x56\x26\x58\x7b\x50\x3f\xff\xbf\x3c\x8a\x56\x2c\x53\x3f\xbe\x12\xc5\xbc\x73\x15\x28\x9b\xb5\x4c\xf5\x55\x2a\x1f\x2d\xb1\xf3\xf7\x1c\x99\xc3\x67\x69\xa7\x4b\x14\x2e\xfb\x10\xc5\x53\x8a\xfb\x3e\x40\x1a\x52\x34\xb4\x83\x25\xed\xd9\x3b\x7c\x1e\x6a\x3f\xf8\xd8\x37\xef\xf6\x7b\x40\x9a\xf3\x9f\x84\x74\xe9\xf9\x51\xe0\xde\xca\x66\x7e\x94\xbe\x1e\x13\x5c\x89\x3a\xcd\xad\xf1\xe6\xb5\x40\x93\x3c\x12\x67\x6a\x88\x30\xd3\x00\xcc\x6a\x4a\x3a\x0f\xd3\x77\x52\x22\x57\x19\x92\xdd\x69\xd0\x1c\x7d\x02\xfc\x8d\xa7\xe0\x67\x74\xf8\x0b\x6f\xfb\x70\x44\x22\x3f\x25\x07\x7c\x1c\xae\xf1\xf1\xb8\xc2\x79\x3e\x6c\xf6\x88\x8a\x86\xaa\x40\xcb\xab\x41\x79\xf6\x92\x15\xd7\x75\x53\x49\x9b\x2a\xaa\x35\x07\x40\x87\x63\xfd\xe9\xab\xc9\x62\x47\xf0\x7f\xe0\x40\x81\xa2\x42\x48\xbb\x7a\x88\xfe\x68\x46\x7c\x74\xa4\xb7\x6d\x0a\xf0\xd2\x4d\x19\x43\xa8\x10\x25\x0e\xe0\x91\x69\x83\xc0\x59\x84\x9b\x72\xf2\x9c\xdd\x0b\x49\x10\x90\xac\x4f\xe0\xd7\xff\x56\xb7\x27\x63\x2f\x0b\xcc\xd3\x45\x55\xc8\x72\x79\xed\xb1\x80\x55\xa9\x96\xa7\x75\x4e\xa4\xa0\x5a\x49\x59\xee\x52\xc6\xf4\x75\x2e\x05\x3d\x2d\xef\xc3\xe2\xbd\x4a\xfe\xba\x39\x9b\xc8\x1f\xa0\x1c\x5c\x11\x47\x96\x4e\xd5\x71\xb5\x1e\x97\x78\x30\xec\x02\x4a\x9a\xb5\xc8\x20\xba\x2c\x69\xf8\xc9\x82\x0c\x75\x32\x80\x5e\xdf\xfd\x24\x63\x75\x68\xf7\x44\x6f\xa3\x5d\xa5\x59\xa5\xda\x6a\x74\x55\x68\x55\x35\x92\x7b\x9c\xef\x3f\x62\xf2\xb0\xa9\x5e\xf9\x5f\x33\xf6\xea\x97\x1d\x73\x77\x82\xe3\x4d\x58\x89\x01\x84\x50\x41\x53\xd8\xcf\x8c\xcc\xf3\x6c\x14\x40\xcd\xb9\x52\x36\x37\x4e\xe5\x6e\x54\x8c\x78\x95\x33\xe4\x8c\xe7\x0e\xbd\x71\x53\x5f\xe8\x6e\x7c\x03\x4a\x96\xf1\x0c\x43\x08\xda\x0b\x1e\xa8\xb2\x24\x1c\xd4\x04\x13\x4d\x18\x8a\x0e\xc8\x2c\x9f\x74\x0e\xf8\xe9\xa4\xb9\xee\xd6\x99\xa6\x58\xe8\x37\x7f\x61\xae\x47\xfb\xfd\xaf\xd2\xe2\xd5\xb9\x77\x81\x78\xaf\xc2\x3c\xb5\xaf\x27\x71\xfd\x35\x9f\xb6\x37\xc7\x35\x09\xbb\x51\x67\xc5\xe9\x77\xe8\xca\xdd\xe7\x68\x49\xa1\x9c\x82\xaa\xf4\x4f\x73\xc7\x4d\x8a\x13\x5b\x3f\xaa\xd2\x67\xd4\xee\x4e\xbc\x9f\x7e\x84\xa7\x58\xdc\xd8\xea\xf7\x80\x01\x4f\x2f\xa0\xc8\xde\x73\x58\x3d\x9e\xed\xba\xa3\x12\x93\xd4\x4a\xf8\x48\x6d\xb7\x32\xaf\x32\x91\x01\xb6\x56\x37\x67\xcb\xbc\x6d\xd3\xb9\xde\x14\x67\xe3\xae\x1f\xb4\x5b\x38\x71\xe6\x10\xe1\x0a\x58\x85\x50\xbb\x2f\x9b\xf1\x45\x5a\x21\x56\x74\x4d\xab\x68\x26\x7a\x5f\xfd\xa5\xe3\x63\x69\x8b\x8d\x03\xab\xfb\x66\x97\xa1\x9f\x53\x57\xe1\x0e\x06\x4e\xb3\x9f\x8f\x3d\xcf\x87\xe3\xa1\xda\x32\xac\x4c\xf0\x88\x34\x70\x30\x35\x56\x9c\x7c\xc6\xe6\x49\xaf\x71\xbd\xd2\x4f\x28\xd0\x35\xff\x67\xce\x71\x65\xc1\x3f\xdd\x43\xfc\xd7\x41\xd5\x9a\x5f\x7c\x91\xd3\x5a\x90\x26\x3f\x1e\x34\xd2\x29\xc2\xa7\xa0\xe8\x53\xcb\xca\x48\xa7\x3a\x5f\xb2\xa2\xb5\x53\x5f\xd3\x02\xaa\x9b\xfc\xfe\x36\x73\xfb\x98\xfb\x6d\x95\x69\x84\x0e\xce\xcf\x21\x23\x22\xf1\x76\xfe\x45\x9e\xa3\x9d\xad\xd5\x3c\x1f\xa8\x6a\xdd\xb1\xe0\xd8\x9b\x0e\x42\xab\xa4\x7d\x2d\x2a\xd6\x3b\xbb\x0b\x6d\xb3\x7a\x4d\x77\x68\x06\x7d\x15\x23\x5a\xa1\x34\xf2\x22\x52\xbd\x70\x93\x4b\xf4\x99\x3f\x73\xf6\x86\xc4\x9c\x13\xf2\xe0\x97\x90\xa0\x5c\x65\x9a\x39\xa1\xee\x2a\x43\xe1\x99\xb9\xb9\x69\xdb\x5d\x45\x3e\x43\x19\x9b\x17\x81\x23\x94\x62\xa8\xd2\xb5\xdd\xf7\x47\xdf\xb6\x7e\xaf\x77\xeb\x56\xf7\xec\xbc\x77\xab\x9d\x8c\xf6\x9e\xd3\x4c\xd5\xcf\xed\xa3\x24\xc8\x86\xe2\x32\x2b\x28\x41\xc4\xa3\xae\x1e\x2e\x48\xf2\x70\xd1\xb5\x16\x2a\xaf\x01\xfd\x28\x33\x1d\xb9\xcc\x16\x5f\xbb\x89\x5a\xf1\x9f\x50\xcd\xd6\x36\x62\x49\x33\x68\x8f\x8e\xfe\xa2\x85\xcc\x9a\xc5\x93\x02\x06\xe6\x3a\x2a\x33\x6e\xe1\x8f\x19\x46\x0c\xf7\x4a\x08\x2a\xe2\x42\xb9\x0c\x27\xc7\x36\xd4\xe2\xbc\xd7\xb9\x74\x71\x51\xd7\x09\x6d\x5e\xfe\x6c\x13\x7e\xe9\x04\x45\x69\x0e\x30\x22\xa1\xb1\x80\x31\xf3\x5e\x4d\xa6\x95\xcb\x5e\x57\x2e\x98\xd8\x9e\x73\x2d\x53\x4b\x6a\x40\x99\xf1\xfd\x3f\x09\xe9\x80\x66\xab\xa5\x40\x37\x83\x88\xb3\x0a\x48\x7f\xd9\x0f\x0f\x72\xa0\xde\xfd\x34\x3a\x80\x72\xa3\x01\x57\xe3\x73\x7e\x43\xe2\xab\xfb\xf5\x7e\xde\xa9\xbb\x90\xe7\x7d\xf8\xed\x5c\x10\x14\x84\x42\x3f\x79\xb0\x31\x09\xd2\x57\xc1\x1b\x62\xda\x8c\x0f\xda\xf0\x83\x15\x29\x22\xa6\x69\x56\xd3\xba\xcd\x8e\x29\x01\x5f\xa6\x95\xd3\x53\x43\xd3\x6b\x9e\xe5\x33\x60\xfc\x5b\x15\xea\xc1\xb4\x69\x17\x90\xb9\xbe\xbb\x6b\x65\x1a\x08\x6b\xe4\xf5\x4e\x19\xd8\x9a\x66\x3d\xe9\xad\x96\xaf\xa7\x4c\x0d\xcc\x3b\x3d\x8a\x7a\x7a\xd2\xd8\xf4\x99\x52\x3b\x47\x5c\x3a\x69\xfd\x8b\xdf\x70\x51\xf3\x12\xb5\xf5\x7d\xb8\xec\x4e\x39\x85\xf6\xc6\x0a\xf3\xf4\xd9\x45\x00\xe7\x07\x12\xb0\xa3\xa9\x36\xf0\x5f\x85\x75\x9b\xed\x73\xf1\xbf\x97\x72\x57\xd5\xcd\xff\x7d\x88\x30\x85\xa3\x6f\xea\x15\x05\x7a\x87\x8d\xa3\x1d\x46\xc0\x85\x49\x77\xc4\x28\x3b\xed\x75\x76\xf4\x9a\x30\x70\xa6\x11\x51\x6c\x42\xa9\x5b\x82\xc9\xd7\x71\xa3\xb0\x5a\x8f\x49\x97\xd9\xca\x6d\x3e\x55\xff\xbc\x44\xb6\xcb\xbc\x8a\x0e\xfc\x95\xbb\x68\x20\xba\x66\x89\x68\x32\x9c\x44\xd8\x3a\x30\xc7\xf9\x01\x48\x6e\x47\x62\xdd\x9d\x4b\xb6\x50\x65\x42\x0d\x09\xdb\xbf\x66\x95\x66\xe9\xc2\x9e\x3b\xe7\x1f\x6f\xaa\x57\x9e\x66\x8d\x7d\xcb\x64\x01\x49\x4e\xee\xb1\x23\xb7\xe5\x41\x2e\xa6\x33\x8e\x9c\x2a\x35\xcf\xff\xe9\x35\xfd\x84\xbb\x98\xba\x75\x64\xa7\xe3\xa2\xe2\xb7\x3c\x2f\x8a\x54\xae\xb0\x40\xd7\x8e\x84\xa3\xc0\x84\x88\x07\x7f\xdf\x8b\xd9\x62\x6e\x4e\x86\xca\xd0\x4a\x63\x5f\x6a\x49\x40\x9d\x46\x7c\xd6\x1d\x96\xa0\xf3\x7c\xb0\xe1\xaf\xd1\x21\xfc\x9a\x5a\xe1\xc6\x52\x40\x26\xd5\xbd\x55\x2a\x78\xc7\xcb\xaa\x50\x73\x20\x4a\xe3\xec\xb9\xfa\xa6\x13\x72\x8f\xe1\x3b\x3a\xe0\x3f\x9e\xc9\x64\x73\xae\x07\xf3\xf4\x0a\xb7\x48\xeb\xb5\x5e\xc2\x70\xf2\xe8\x06\xcd\x30\xf1\x78\x50\x38\x2d\xf7\x2c\x72\x74\xa6\x2e\xe3\xb5\xb7\xb2\x28\xbd\xa3\xdb\xe4\xe3\x49\x4d\x36\x34\x8a\xc5\x03\x02\x60\x46\x91\x29\xb6\x3f\x4d\x57\x9a\x50\xd9\x95\x71\x94\x34\x26\x31\x01\x11\xcd\x34\xeb\xc0\x4e\x19\x0c\x2a\x3c\xd8\x4e\x9b\xc2\x82\xc9\x69\xe9\x6f\xcf\xce\x56\x74\x53\x33\x72\x2f\x15\xf3\x5b\x85\xb5\x42\xef\xf6\x61\xef\x7c\xf1\xa2\x66\x75\xb9\x06\x70\x48\x67\x37\x87\x9e\xee\x2f\x80\x77\x2a\xfb\xa8\xd0\x9e\x34\x40\x5e\x0a\x7d\x39\x6d\x55\x7a\x6a\xaf\x0d\xdd\x37\x19\x86\x5c\x8d\x3a\x33\x80\xe0\xe2\xd2\xf7\x79\x2c\x50\x20\xe9\x4e\x78\x19\x97\x82\x9d\x39\x2a\xa1\xd2\x2c\x4f\x83\xd5\x67\x9d\x37\xb2\x92\xf4\x89\x3d\xd5\xb4\xce\x15\x79\xd4\x6c\x05\xb8\xf3\xeb\x8a\x8f\xc3\x90\x80\x47\x3f\x35\xc8\x73\x83\x31\xb3\x79\x21\xe8\xf8\x16\x78\xde\xbf\x02\x2a\x39\x48\x95\x4b\x30\xbb\xce\x25\x84\x1c\x9e\xde\xdf\xb8\x36\x68\x49\x60\x8a\x06\x52\x97\x04\x43\x98\x40\x33\x54\xdb\xac\xac\xc7\x47\x14\xa6\x61\xbf\xa1\x38\x42\x4f\x9c\x3e\xd0\xcb\xf5\x3f\x6a\xce\x7e\x65\x41\x81\x5f\x4f\x5e\x67\xd7\xc3\xfa\x1d\xc0\xad\x3a\xea\xb2\x22\x62\xe5\x9b\x7f\x76\xb0\x7f\xe6\x8f\xdd\xd5\x9c\x7a\x4c\x2b\x5d\xe0\x7f\x2e\xac\xbc\xcd\x79\xf5\xab\x79\xfd\xe3\x5a\xcb\x2a\x07\x53\x56\x6d\x0f\xca\x81\x15\x46\x01\x89\x49\xaa\xdf\x09\x70\xe3\x9c\x10\xc6\xce\x4b\x8b\x86\xe7\x94\x61\x63\x5e\xfe\xb1\x75\x65\xdd\x04\x64\xb0\x62\x2d\xed\x3f\x0e\x4c\xb5\x8f\xaf\xd8\xef\xa6\x3d\x41\xfb\x60\x47\x65\x0d\x24\xf0\xcf\x14\x19\x90\xbb\x48\x12\x22\x86\x0b\xe4\xfa\xad\x8d\xf9\xe9\x1a\x01\x82\xa1\xa5\xd9\x0b\xcb\x3c\x8f\x29\x9c\x8d\x2f\x56\xc7\x8e\xea\x67\xa7\x1c\x68\x23\xf4\xd0\x81\xe9\x65\xe5\x23\xa7\x7e\xd8\xa6\xe4\x3d\x80\x67\x57\x20\x3f\xea\x14\x4b\x88\x2f\xee\xb0\xcd\x36\x23\x32\x83\x31\x39\x68\xe0\x8a\xb3\x15\x6e\xdd\x59\x6b\xc0\x5b\x23\x25\xb5\x01\xda\x5a\x36\xea\x38\xd3\xfb\xfe\xcd\xba\xc5\xd8\x66\xf0\xb9\xac\xa2\x22\x38\xb6\x13\xcf\xd1\x53\xd0\x20\xa3\xcd\x09\xa3\x3e\x1a\xa8\xb1\xbb\x90\xbb\xd7\xa5\x39\x92\x2b\x6b\x30\x9f\xa6\x11\xda\x3c\x55\x1e\x3f\xe4\xbc\x42\xa9\xd3\xfc\x91\xb9\xd4\xda\xab\xb6\xed\xb0\x6c\x28\x2f\x3b\x55\xca\x29\x1b\xa8\xe3\x45\x5e\xc7\xe7\xac\xc9\x0d\xc6\x08\xd0\x3f\xc2\x2e\x58\xa4\x4b\xa8\x3f\x4e\xef\x9e\x30\xc2\x1f\x87\xe5\x9f\x0a\xe5\x9f\xaa\xc8\x3f\x95\x93\x5f\x9c\x46\xf5\x6d\xc9\x5a\xa9\xa8\xd9\x94\x48\x08\x9a\xa5\x44\xf4\xf0\x6b\x1d\x69\x34\x25\x4e\x33\x30\x3e\x4f\x06\x28\x31\xf9\x5b\xc4\x72\xd8\xfa\x17\x98\xc1\x53\x88\x4b\xab\x70\xa5\x6f\x8c\x5b\xa5\xe5\xc2\x23\x21\x8f\xb7\xa1\xef\xac\x85\xf3\xac\x9c\x23\x9b\x04\x3a\xa5\xac\x82\x67\x53\x53\x29\x0e\x6b\xda\x0a\x09\x4c\x14\xfb\x0b\x37\xf8\x2d\x61\x9a\x31\x61\xdb\xdd\x83\x32\x9d\xe0\x6a\xcb\x44\xd1\xee\x86\x04\x23\xd9\xcf\x6e\x05\x2f\x6a\x3b\x60\xf2\xab\x77\x67\xe2\x9d\x77\x4a\x43\xc9\x6a\xd3\xd9\x6b\x1a\x05\x0a\x00\x14\xd9\x48\x9b\x1d\x95\x8b\x1b\x1f\xe5\x6d\x21\xdc\xc8\xf1\xa6\xf8\xa4\xb1\x42\xad\x67\x3d\x52\xe8\x2f\xf8\x30\x96\x3d\x8c\x86\x58\x2a\xa7\xca\x88\x18\x32\xd4\x63\x4e\xaa\xa5\x33\xda\x21\x3c\xda\xce\xf6\xc1\xc5\xbf\x04\x69\xcb\x6b\xa4\xd4\x43\xd7\xc4\x34\x40\x5b\x5e\x93\x1d\xf7\x6c\x11\xbc\x90\xcc\xd1\xe0\x22\x3c\x6f\x31\xe4\x12\x74\xad\x32\xd6\x91\x97\x82\x6f\x28\x97\x5f\x22\x3c\xe0\xf5\x21\x34\xc6\xa0\x29\x36\x98\x20\x54\x8c\xcb\x36\xb9\x16\xd7\x52\xad\xd3\x41\xbc\xad\x74\xf4\x0e\x65\x67\x5d\x01\x61\x74\xf2\x5c\xa9\x1e\xf5\x49\x67\x83\x43\xa7\xd6\x1e\x34\x81\xaa\x99\xd8\xb0\x4e\x26\x94\x31\x2a\xf9\x62\xf5\x51\x65\x47\xa9\x4d\x45\x4a\x27\x32\xae\x2d\xe9\x87\x6b\xb3\x71\x39\xf9\x03\x22\x51\xbb\x3c\x24\x7a\xee\xd2\x01\x96\x45\x1d\x70\x41\xf1\x8d\x63\xc1\xe8\x6c\xa3\xee\x3e\xb3\x9c\x99\xf7\xb9\xa5\x3c\x6d\x8a\xb2\x6c\xc5\x36\xf3\x65\xbd\xcb\xb3\xe8\x70\x2d\x75\x60\xaa\x35\x60\x22\xf7\x1a\x88\xbf\xc2\x41\xc6\xa0\x9a\xde\x95\x98\xd2\x2e\x32\x4f\x34\xd3\x24\xd3\x25\x8d\x02\x85\x77\x0a\x67\xec\x76\xf0\x26\x15\x8e\xcd\x91\x3b\xb6\x27\xa4\x4d\xa4\x27\x21\x54\xa2\x7e\x6c\x57\xbd\x51\x55\xc8\xeb\x4d\x9d\xe8\xe9\xa2\xa1\x05\x3c\xf5\xf3\xfe\x39\x47\x51\x48\x0e\x7d\x5e\x1d\x68\x16\x00\xf1\xa7\x86\x97\x06\x82\xbc\xfe\xb8\x01\x3b\x50\xe8\xe8\xe5\x08\xcd\x13\xa4\x88\x54\xd3\xfe\x0a\x9b\x08\x28\x37\x07\x33\x7a\x8b\x36\xfa\x45\x91\x64\xd4\x9c\x6e\x44\xa0\xa9\x9e\x27\xe1\xa5\x9b\xc3\x00\xe5\x2c\x74\xe2\x5f\x5f\xea\xbe\x67\xe1\xf9\xbf\xfb\xc1\x3d\x48\xd7\x81\xe2\xa3\x93\xa5\x26\xbe\xde\x57\xed\x5a\x68\xe0\x37\xb9\x71\x84\x96\x01\x71\x08\x5b\x0a\xa7\xf0\xf4\xc7\xbc\xe9\x43\xa0\x19\x0b\x03\x67\xd5\x19\xd3\xde\x93\x6b\x00\x77\xea\xde\x49\x7b\x74\x5d\x00\xe3\xf4\x4b\x47\x40\x84\x01\x92\x85\x0d\x46\xdd\x3d\x67\xde\x80\xce\x46\xbd\x1f\xea\x78\x5d\x50\x4f\x0e\xb1\x50\x93\xbe\x05\xeb\x93\xc8\xa1\x03\x25\x83\xc1\x05\x67\x4a\xb8\x88\x96\x43\x85\x21\xca\xd3\x80\xa2\xd3\x54\xff\xf3\x49\xe9\x1a\x03\x63\x9a\x13\x06\xec\x64\x5f\x02\x3b\xf7\x66\x4e\x56\xe5\x25\xf9\xc4\x74\x71\x4c\x92\xbb\x27\x88\x08\xfc\x3a\x41\xf2\x6a\x80\xda\xc4\x90\x08\x12\xd9\xd2\x03\x03\xfa\x9a\x4f\x23\x8f\x3e\x08\x32\xaf\x02\x83\xd6\xa7\xfb\x46\x88\x7c\xee\x4d\x45\x28\x6c\xf2\x55\x59\xf5\x46\x59\x5c\x59\x4a\x4a\xa8\xab\xe2\xaf\x6d\x26\x7d\x0c\xa3\x3d\x92\xbd\x84\x24\x4d\xe5\xdb\xb3\x74\x23\x4e\x1b\x48\x10\x44\x23\xa7\xe4\x4c\x3e\x45\x39\xa5\x09\xc8\x75\xe0\x36\x63\x2a\x46\x27\xb8\xb6\xb1\x30\xd7\x19\x10\x76\xbe\xba\xa8\x42\x31\xbf\x9f\xbf\xdf\x00\x2b\x45\x52\xe2\xa9\xaf\x46\x69\xa3\xee\xc3\x37\x9e\x9d\xf4\xa6\x1f\xbe\x7b\x6e\xec\x7e\xba\xc9\xdd\x56\xc4\x48\x4b\x63\x89\xfb\x0a\x3a\x5f\xfc\xef\x92\xd7\xeb\xa0\x7e\xf7\x5c\xf0\xfb\x42\x63\xb0\xfd\xd2\xed\x5a\x04\x17\xca\xe5\x12\x59\xc8\x41\x9f\x0a\x48\xad\x18\x2f\x85\xa3\xb0\xec\x34\x3a\xc8\xb5\x54\x99\x50\x03\xe0\x03\x1a\x6d\x86\x59\xb9\x2a\x1b\xa8\xc3\xaa\xdb\xb9\xc4\x22\x66\x04\xc4\xd7\xf7\x88\x24\x0e\xba\xb0\x52\x73\xe8\xd3\xc6\xcc\xfe\x0f\x51\xbd\xce\xcc\xd2\xf8\x9b\xd9\xa3\xa3\x99\xea\x37\x1c\x14\xb8\xa9\x8b\xd4\xed\xe5\x14\xf0\x4d\x91\x8f\x95\xb1\xb5\x3c\xd6\x64\xa8\x87\x3a\x8e\x42\x33\x8d\x57\x67\x4c\x57\xc7\x51\x53\xbb\xd4\xfb\x67\x08\xd3\x70\x7d\xb3\x26\xa3\x22\xac\x66\xd9\xfe\x63\x31\x45\xb3\x4f\xc3\x2b\xfa\x20\xc1\x0b\x2f\x1d\x8c\xdf\x61\x62\x1f\xb8\xfc\x42\xdc\x79\xeb\x8e\xb2\x27\xc7\xf1\xbc\x73\x09\x6c\x4d\x69\xe5\x72\x04\xf7\x1d\x5a\x79\x11\xd3\xf6\x7d\xe6\xae\x6c\xa5\x76\x6a\x30\x4c\xba\x73\x8c\x43\xa2\x85\x47\xde\xfa\xec\x08\x12\xf8\x37\xd1\xe1\xc4\x4a\xde\x7f\x81\x30\xd8\xdf\x34\xb1\x99\xa7\xef\xe0\xb7\xc8\xdb\xea\x04\x6c\x62\xd2\xa1\x1a\x04\xb7\x3b\x69\x6f\xfe\x37\x7f\x33\xe6\x20\x6a\xb8\x5c\xbb\x4d\x40\xa1\x19\x29\x24\x05\x65\x5a\x1e\xcb\x47\xb1\x82\x05\xeb\x34\x4b\x17\xa5\x4a\x6d\xa0\x39\x01\xc8\x69\x80\x23\x4f\x05\xdf\x58\x9b\xa2\xd2\x16\xa2\xa3\x65\xea\xcb\x8e\x4c\x79\x6c\x10\x62\x4c\x91\x4c\x14\xb2\x9a\xc6\x8d\x82\x9a\x6d\x25\x51\x7e\x3f\x4a\x57\x36\xd9\xdc\x89\x33\xe7\xf5\xbe\x40\x9a\x02\x3d\x10\xb9\x0d\x52\xe6\x44\x78\x0c\xfc\x9a\xe0\xe4\x3f\xbe\xe4\x24\xa5\x81\x3f\xf4\x91\x31\xaa\x4b\xa0\xe7\xe7\x78\xc5\x1a\xfb\x45\xee\x41\x10\x86\x72\x89\x6e\x6e\xe6\xdc\x75\x8a\x25\x07\xde\x5f\x60\x7c\x4e\x72\x05\xb2\x10\x0a\xa9\x8a\x0b\x84\x58\xeb\x5e\x34\x26\x54\x30\x63\x64\xda\x6d\xb0\x14\x2a\x63\x77\x41\xe4\xf3\x1c\xf0\x16\x46\x67\x9b\xe3\x8b\x22\x3b\xf3\x09\xcd\x5d\x69\xfb\x55\x88\x85\x79\xb8\x0f\x48\x9a\x8b\x27\x85\x86\xfb\x6f\xc7\x65\x89\x77\x5d\x9a\xda\x4e\xf2\x11\x49\x03\x69\xb4\x24\x71\xf3\x07\x42\xa3\x68\x0e\xcb\x71\x83\xec\xab\x96\xd7\x50\xc8\xfa\x9c\x39\x37\x04\xf2\xc2\x9c\x35\x30\x11\x56\x74\xd1\xaa\xdb\xe1\x7d\x1a\x1b\xe4\xab\x7b\xa6\xa5\x98\x19\xb2\x9c\x99\x64\xfb\xe3\x94\xf0\x15\x4d\x4c\xa2\x69\x27\x44\x03\xb7\x0b\x17\x29\xff\x13\x3d\x37\xcc\xaf\x5e\x38\x48\xf3\xa0\xd4\x3b\x76\xf5\xba\x33\x1e\x49\x27\x28\xba\x2b\x6d\xb3\x38\x71\x2d\xc7\xa0\x52\x61\x0a\x7b\x7d\xf4\x76\xa0\xc7\x0c\xbd\x54\x0f\x27\x24\xd9\x93\x4a\xbc\x6f\xe9\xb9\xaf\x06\xd6\xe6\xc1\xbf\xb9\xb4\x42\x38\x30\x03\xdb\xd3\x5b\xb9\x52\x83\xbf\x3b\xb4\x72\x31\x03\x7f\xac\x7e\xb2\x10\x52\xdd\x5b\x98\x11\x6f\x18\x4f\xdd\x5c\xc0\x5c\x23\xa4\x7f\xc4\xfe\x00\xdc\x8f\x69\xbe\x01\xa2\x6f\x46\x1b\xb4\x90\x3a\x2c\x6c\xfa\x9c\xaa\x42\xd9\x95\x66\x71\x33\xe7\x08\x07\xc6\x72\xd5\x37\x94\x08\xa6\xe9\xb1\x96\x2e\xe9\xd3\xe5\x5a\xf5\x71\x22\x4c\x8d\xf1\xb3\xf5\xd0\x4f\x39\xa8\x68\xa1\x36\x5e\x85\x94\x2b\xb0\xdf\xb9\x06\xc8\x6f\x82\x26\xa9\xa5\x98\xaa\x9d\x07\xe6\x36\xb5\xf3\x4c\x2d\x50\x0e\x4c\x26\x30\xe2\x46\xd7\xbb\xa7\xf8\x3c\x15\xe8\x01\xe1\xa0\x33\xe8\x77\x47\xf1\x20\xa1\x09\xc5\x51\xf5\x3d\xec\x42\x00\x34\x0b\x1b\xec\xbc\xb0\xd0\x0d\xf1\xcb\x38\xd4\xbd\xaf\xcd\x89\xf4\x40\x67\x03\x54\x72\xd6\x6e\xd9\xe5\x05\x25\x6a\x49\x07\xe5\xe5\x3a\x9a\x01\xf4\xed\x85\x13\x58\xd6\x11\x53\x2d\xed\x40\x7b\x4a\x83\xb7\xb8\x51\x25\xee\x6f\x6d\x91\x6e\xd3\x10\x0a\x88\xd8\xed\xfb\x6b\x25\x39\xad\xe9\x6e\xe3\x16\x19\x87\xdb\xb3\x7d\xf0\x84\xd1\x02\x69\xbf\xee\xd0\x27\x0d\xc8\x8c\xc7\xe0\x5c\x69\x41\x4e\x24\x95\x32\x7b\x43\x81\xbc\x86\x32\x09\x73\xbe\xb6\xd5\xfb\xb3\xe7\x38\xa6\xa8\x19\xf2\xc5\x6c\xd0\x38\xdd\x17\x8d\x9a\x19\x04\x47\xf0\x8b\x1c\xea\x24\x50\x33\x20\xa4\x49\xa4\x3d\xfa\x3d\x5f\xa3\x6f\x78\x2f\x01\xcd\x7e\xdc\x8e\x35\x62\x0e\xcd\x01\x1f\x02\x66\x5a\x0c\x96\x79\x48\x57\x65\xc8\x50\x3f\xf8\xdc\x8e\xe8\xbf\xd2\x1b\x36\x87\x02\x38\xac\xf0\x0c\x2b\x39\xf5\xf9\x1c\x3c\x2d\xc7\x29\x5b\x8b\x52\x0d\xf1\xde\x5d\xf1\x76\x22\x46\x7a\x73\xb6\x44\xad\x8b\x1f\x2c\xef\x5f\x06\x50\x10\x33\x02\x90\x18\xe7\x66\x33\xb6\xee\x82\x5c\x6b\xa6\x74\x7a\x37\x82\x88\x2f\xd1\x47\x76\xa4\x76\x41\xe8\x67\xd4\x9e\x3a\x01\x5a\x49\xe4\x5f\xc2\x5e\x85\x0b\xf7\xf8\xb5\xcd\x34\xbe\x24\x32\x49\xb4\xd8\x4b\x28\x05\xeb\xe2\x1b\xfe\x58\x4f\x24\xbf\xcf\xf8\xd5\xce\xfc\x09\x04\x2f\x93\xdc\xfa\x97\xff\xf9\x38\xa7\xed\x8f\xac\xfe\x92\xfb\x85\xbf\x8f\xfa\xa5\x71\x12\x12\x7d\xdb\xee\xc7\xff\x84\xfd\xc7\xfa\x80\x8c\xda\xbe\xd7\x23\xb9\xfd\x81\x19\xbb\x6d\x9f\xe1\xe2\x2d\xb9\x75\x84\x33\x1f\x1e\x5d\xe1\x10\xfd\x51\x74\xdb\x90\xe5\xc8\xc8\x9f\x54\x67\xe5\x82\xca\xd9\x13\x39\x1a\x1d\xc1\x47\x72\x96\x6f\x8c\x6b\x1b\xb2\x9f\x1d\x00\x8c\x28\x39\xff\x31\x24\x54\xe6\x71\x23\x92\x9b\xd0\x10\xff\x6d\xaa\x5f\x3f\x1f\x7e\xfc\x99\x84\x06\x9c\x1c\x8d\xb2\x74\x67\xc0\x80\xc3\xad\x30\x3a\xda\xd7\x84\x03\x3f\x72\xd1\x33\xee\xa6\x0f\x5d\x44\x4e\x07\x8b\x18\xd5\xf5\x41\xc2\x19\x19\xfe\x02\xe5\xb1\x28\x4a\x04\xe7\x1d\x10\x86\x85\xde\x54\xda\x4a\x3f\xbf\x3d\x12\x2b\xfd\xc2\x36\xec\x81\xa1\xaf\x23\x2f\x5d\x1d\xc6\x8d\x1a\x39\x36\xa6\x90\xe2\xb7\xb8\x9f\x50\xac\x6b\x5b\xf4\xce\x8f\xe5\xd1\xce\x10\x9e\x0f\xa3\xef\x7b\xe8\xb8\x21\x40\xd5\xf1\xd0\x3c\x88\x3d\xb5\x34\x24\x2b\x1c\x96\x3b\xac\x74\x78\x22\x43\x79\xe0\xe6\xb0\xbc\xc5\xf0\xcc\xae\x89\x5f\xfa\x52\xf5\x85\x6f\xed\xf3\xfc\x3e\xbb\x1e\x97\xde\x6b\xb8\x43\x42\xc1\x28\x87\xb9\x15\x99\xfe\x26\xf6\xc8\x03\x30\x09\x2e\x38\x9a\xb7\xcd\xfc\xf9\x9c\xfc\x53\x26\x78\xc0\xcd\x21\x58\xd0\xe1\x59\xd1\x3a\x66\x9f\xe5\x06\x2e\x0a\x73\x72\x5f\xfe\xee\x25\x55\x25\xa0\x6e\xe7\x4d\xa0\x0f\x5e\x7f\x42\x38\xc6\x7c\x25\x99\x15\x18\xbd\x12\x7f\x02\x08\xcc\xf3\x8a\x30\xcf\x8b\xe3\x02\x43\x08\xd6\x8b\x79\x6a\xa0\x4b\x35\x01\xaa\x50\xe1\xd5\x5f\x0c\xbf\xe2\xc5\xac\x71\xaf\xf1\xc7\x38\xb4\x18\xb7\x6f\x65\x21\x8f\xa8\x79\x10\xa4\x2d\x7a\x44\x04\xc1\x89\xea\xfd\x67\xf8\xf6\xb4\xfb\xfc\x65\x52\xbb\xdd\x69\x42\xce\xf0\x4b\xb5\xd4\x11\x4b\xd6\x01\x2c\x42\xd0\x36\x4d\xef\xb7\x26\x16\x45\x05\xa7\x1d\x73\xd8\x79\x01\x03\x8f\x13\x39\xf8\xb4\x5d\x8b\x61\xc3\x07\x71\xc3\xbc\x22\xe2\x50\xff\x10\xce\xf6\xcb\x05\x02\x6e\xd5\x1a\xe7\xdf\x36\x18\x61\x07\xc0\x71\xd0\x82\xf7\x7b\xc7\x87\x5a\x37\x3f\x80\xe8\x53\x2b\xca\x63\xc5\x6a\xd9\xdb\x63\xb3\x98\x91\xc5\xc1\x0b\x6d\xbd\xb6\x93\x1a\xad\x07\x28\x62\x32\x7a\x78\x41\x9d\xb5\xb1\xf0\xe6\xe6\xab\x24\xc3\x46\xab\x7f\x4a\xa8\xcf\xa4\x8b\x7b\x6b\x80\x6c\xd6\x9b\xb5\x9e\x4c\x4d\x40\xf4\xe2\x43\xde\x26\xd3\xbe\x7b\x1b\xf6\xc0\xf1\xe3\xaa\x36\xc4\xf8\xc2\x82\xab\x62\x6b\xcf\x28\xc8\x95\xcf\xc9\xf2\xc9\xea\x8b\x2d\xcd\xd9\x5d\xe8\x2f\x56\xad\x74\xa3\x2a\xb2\x4f\xa7\x59\x15\xb7\x0e\x36\xb3\x64\xd5\x12\x5a\x83\x89\x48\x11\xb3\xeb\xc3\x07\xdc\x3a\x26\x25\xbe\x9f\x32\x5d\x4f\x09\x81\x51\xdc\xc6\x72\xc8\xc9\x62\x2f\x93\x65\x1b\x74\xf8\xfe\x98\x9a\x15\x27\x3a\x84\x48\xff\x6a\xcf\x49\x91\x07\x4c\x35\xf5\x04\x69\x94\xc1\xf3\xd8\x04\x4c\xfa\x34\x24\xb6\x81\x56\x23\xfd\x5c\x23\xaa\x5a\x0c\x15\x22\xdc\x99\xbe\x3b\xad\xe6\x33\x04\xf5\x9e\xcc\x98\x60\x2a\x94\x8a\xce\x41\x9d\xfb\x2a\x92\x78\x3e\xad\x68\x62\x24\x6f\xac\x0f\x24\x6d\x10\xc2\x6a\xff\xa4\xec\x0d\x45\xb6\x4c\xea\x02\xad\xc9\xa0\x08\xa9\xe8\xae\x1b\xb3\xed\x06\x5b\x46\x4e\x1f\x52\x72\xa2\x6b\xd7\xc3\xfe\x09\x82\xe7\x27\x73\xaf\x65\x2a\xeb\x90\x58\xb9\x41\x44\xd7\xb0\x53\x29\x27\xad\x07\x77\x44\xce\x3f\x73\xe9\x8b\x5f\x0c\x2f\x4a\xfb\x9a\xab\x1d\x43\x8f\x46\x9d\x66\x16\x32\x09\xd3\x52\xe1\x17\x89\xc1\x83\x94\x9f\x1f\x99\xbe\x9b\x15\x9a\xf1\xd7\x9b\x9b\xd5\x43\x60\x23\x21\xc5\x3b\x04\x8f\x34\x7d\xd3\xee\x07\x8b\xd2\xab\x0e\x7e\x75\x34\xc3\x70\xa3\x17\xc2\x91\xbb\xdc\x89\xc6\xcd\x43\xe6\x86\xe1\x40\x43\x37\x9a\xe9\x5f\x95\x0c\x38\x53\xf6\xd5\x93\x09\x5a\xb3\x9d\x96\x0d\x1a\xaa\xfe\xc0\xc4\xff\x91\x75\x6b\x7a\xa6\x97\x7b\xb8\xb5\x21\xd1\xcf\x01\x08\x7e\xfb\x89\x9b\xa0\x7b\x2e\xd1\x4c\x30\x15\x75\x92\xda\xeb\xef\x27\x06\x23\x6e\x22\x5b\xd7\x63\xdb\xa8\x78\xc2\xf4\x31\xdf\x3e\x6a\xf4\xab\x87\x5e\x22\xd3\x69\xd8\x70\xdf\x84\xb0\xef\x71\x5d\x28\x99\x1e\x74\x71\x5b\xc6\x76\x12\xb6\xfa\xb1\xd7\x21\x07\xe7\xbe\xb8\x56\x45\x6a\x45\x82\xfe\x63\x9d\x41\xea\xa2\x8f\x0c\x7e\x71\x26\xb8\xfe\x36\x7e\xec\xf7\xe6\x88\x55\xa8\xd1\x2b\xe9\x4e\x39\xeb\x01\x79\xe9\xec\x6f\x16\x8d\x75\xc5\x92\x53\xd3\x9f\xeb\xe1\xa1\x60\x20\xff\xee\x7b\x70\x2b\x84\xdd\x91\x4e\xe3\x2f\x08\x21\xb7\xea\xf4\x0a\x5d\xe0\x5f\x45\x6c\xe2\xfa\x93\x5b\x2d\x1d\x2c\x91\xcd\xfe\xb5\x8d\xe9\x03\x1b\xd0\x33\x62\x7e\xc8\xdb\x92\x7e\x20\x47\xfd\xbd\x19\x3a\xed\x2c\x3f\x61\x05\x52\x30\xe0\x0c\x91\x49\x88\x6b\x31\xd3\x9b\xea\x78\x29\x07\x5d\xdc\x88\x98\x61\xa4\x09\x61\xbb\x7a\x55\x34\xc1\x82\x1e\x6c\x35\x7e\x3e\xec\xba\x4d\x92\x60\x68\x71\x5c\x8f\xab\xfa\x34\x29\x1d\x72\x8e\x66\x59\xc0\x0c\xc1\x0d\x85\x11\x14\x02\xa6\x9a\x07\x8d\x0a\x03\x87\xd0\xe4\x07\x3e\x43\x2b\xd1\xd2\xdb\xde\x7f\x3e\x7c\x86\x98\x99\x44\xf2\x9d\xa6\x30\xca\x20\x7b\x51\xca\x69\xdc\x8e\xd6\xc3\xe0\x90\x2d\x4e\xab\xca\xeb\x26\x94\x81\x02\x5e\xcb\x2b\xd6\xef\x74\x96\x39\x82\x8a\xb9\x6c\x38\xa7\x5b\x52\x58\xee\x30\x15\x48\x67\xdd\x23\xe8\xf3\x7a\x78\xdc\x03\x5e\xce\xf2\x9e\x5d\xda\x59\x9a\x87\x6d\xaf\x5e\x20\x3e\xf6\x8c\x94\xda\x05\xf8\x7e\x5b\x44\x2f\x60\x39\x86\x57\x88\xdd\x7d\x4f\x2b\xd4\xa1\x25\x66\xea\x56\x6f\xa3\xaf\xac\xe6\x67\x44\x2a\x4e\xc4\xc0\x12\x61\x32\x5d\x16\x8f\x8b\x09\xdd\x1b\xaf\xf6\x37\x6f\x12\xd0\xc1\x85\xd7\x42\x5c\xf9\x11\xb7\x88\x8d\xed\xb4\x13\x18\x97\x08\xcb\x96\x47\xfe\x8f\xbb\xe1\x63\x51\x1f\xf9\x50\x17\x90\xf0\x5e\x20\xad\x52\xed\x63\x5d\xbf\x07\x7f\x7b\x1f\x3e\x6d\x12\xe6\x37\xaa\x73\x61\x4b\x10\x8a\xfd\xe4\xec\x7c\xba\xa4\xc0\x8f\xcb\x09\xdd\x06\xf2\x17\x74\xb1\xdb\xe1\x9b\x33\xc8\x2a\xa6\x02\x71\x69\xe6\xc1\xe1\x6a\x1b\xb3\x7f\x77\x7e\x2b\x3e\xfc\x6e\x37\xb0\x1e\xfe\x30\xd1\x8d\xbb\xdb\xde\x07\xaf\x85\x2b\x2a\xc4\x85\xe4\x0a\x66\xa7\xa5\x13\x16\xac\xdb\xd6\xfd\xce\xe3\xad\x81\x2a\x0f\x3e\x7b\x35\xe9\x7d\xbd\x93\x99\xd2\xd3\x9c\x16\x2d\x07\x78\x29\xc7\x57\xa5\x3e\xc5\xe2\xa4\x3f\xc2\x5f\xa6\xf5\xaf\x6b\xe5\xdb\x5c\x97\xcd\x9d\x3f\x3d\xc7\x4a\x4d\xb0\x11\x72\x69\xe7\x6d\xed\xf1\xf6\x91\x7e\xf0\xfc\xcd\x94\xb9\x97\xd3\x7e\xd9\x31\xb0\x57\x9c\x3c\x3e\x14\x8d\x5d\xdd\x87\x6b\xe2\xca\x5e\xaf\xba\xac\x8e\xe5\xe8\xb2\xbd\x2a\x7e\x02\x6e\x6f\xb9\xca\x5f\xf6\x21\xe6\x01\xf8\xe4\x83\xd7\xfa\x3d\xed\xe3\xf2\x6c\x6e\x3d\x42\x33\xdb\xd2\xa5\x64\xdd\x0d\xdb\x31\xf6\x62\x25\x5c\xb8\x57\x27\x50\xe3\x57\x59\xb7\x2c\x80\xd1\x82\x56\xaa\x39\xf6\x9d\x1d\xbe\xa9\x04\x18\xbc\x33\x89\xb1\x63\x98\x22\x26\x12\x74\x6d\x78\x12\x29\x0e\xf0\x94\xe7\xb7\x04\x92\xbb\xfd\x57\xe9\x18\x46\x1b\x35\xec\xb5\x85\x19\x3e\x03\xe2\xa6\xdf\x79\x24\xa3\xa7\x49\x8e\xad\xec\xc6\x31\x39\xc3\x98\xfa\xc2\xb0\x76\xf7\xe5\x37\x55\x13\xe1\xdb\x11\x78\xa3\xcf\x8a\x34\x32\x01\xa6\xbe\x15\xa2\x4e\x6e\xce\x89\x07\x8d\x39\xfe\xde\x09\xe1\x0e\xaa\x65\x78\x48\xb0\x68\x69\x42\x8d\xce\xc0\x94\xa8\x8d\x63\x9e\x0f\xe4\x7e\xfc\xc8\xf0\x28\x50\x91\xa4\xe1\xbe\xca\xf7\x0b\x50\x6b\x00\x7d\x1d\x7a\x50\x9c\x9c\x0c\x2a\x6d\x0a\x00\xb5\x85\xf1\x6c\xde\x7a\xd1\x34\xa6\xae\x21\x17\xe7\x80\x03\xdf\x13\xf4\x9b\x2a\xb1\x13\x42\x1e\x9a\x49\x4a\xfa\x3c\x39\x00\x81\xa1\x30\x84\xbd\x5b\xdf\x67\xd5\xd8\x8e\x53\x98\x2e\x71\x8d\xc3\x6a\xac\x2e\xc0\x87\xfb\x2a\x23\x3d\x57\xa6\x40\xe0\xd6\x24\x9e\x0d\x07\x7a\x31\x3c\xef\x75\x5d\xcb\x97\x82\x46\xa1\xbc\x50\x5e\x28\x14\x6a\xd5\x16\x9e\xcd\x68\x6b\xaf\xd7\x35\xa1\x21\x1d\x27\x58\x7b\xdb\x89\xa4\x36\xc0\x07\x8f\x47\xd0\x7a\x20\xd1\x58\x3b\x25\x43\x26\x3e\x90\x58\xd6\xcb\x6b\xdf\x7d\x5d\x57\xa7\xb0\x44\x10\x52\x56\xef\xea\xeb\x84\xbe\x5b\x23\x4c\xcd\x31\xf0\x0c\x15\xb0\x77\x8e\xf0\xc0\xf3\x87\xf4\xcc\xfb\xc8\x1b\x8d\x7e\xe9\xd9\xd5\x29\x43\xbf\x83\x7a\xae\x01\xc6\x07\xe3\x73\x0f\x27\x36\x94\x1d\x95\x24\xd5\xf6\x7d\x81\xb9\xc7\xb3\xd2\x6f\xd7\x7b\x9e\x79\x5b\x53\x48\x73\x00\x95\x7b\x8f\x97\xe5\x70\x63\x83\xe7\x02\xde\xcb\x30\x83\x8c\xe3\x95\x20\x2c\x5b\x4e\xa0\x81\x20\x70\x04\xd2\xe6\x7e\xf2\xa9\x9c\x7e\x01\x3b\x25\x2a\xb9\x14\x38\x12\x55\xd3\x70\x0a\x00\x81\x6d\xe2\xe2\x47\xcd\x8b\xb1\xaf\x84\xa6\xcf\xb9\x97\x03\xb8\xce\xc2\xca\x4b\xbd\x00\xad\x15\x71\x44\xfc\x03\x39\xae\x4f\x6f\x94\xbc\xf1\x59\x6b\x78\x54\xe9\x34\x9b\x31\x04\x0a\xab\x6d\x32\x0e\x94\xda\x04\x62\xdb\xb9\xbf\xd5\x01\x3c\xe7\x9e\xe4\x5c\xea\xea\xc0\x4d\x12\x74\x62\x23\x05\xa9\x65\x1b\x57\xa8\xdb\x44\x68\x67\x11\xfe\xa6\x80\xa6\x00\xd4\xc3\xb6\xba\x8d\x37\xda\x7b\xc6\x94\xba\x19\x81\x26\xa0\x3b\x4b\x4d\x05\x30\xae\x13\x9e\x3e\x2e\x8e\x79\x0a\xe0\x6d\xd6\x56\x07\xfd\x14\xc8\x97\x4a\xc0\xea\xf0\xbc\x68\xbf\xcb\x6e\x87\x06\x4b\x44\x11\x80\x5d\xa0\x6e\xb2\xc6\xd2\x41\x01\x2c\x9e\x71\x3b\xba\x63\x87\xff\x86\x3b\x1d\xa6\x10\xf8\x64\x60\xd9\xd5\x26\xaf\x72\xbf\x0b\xf9\xef\xc3\xb5\xd6\x00\x6d\xdc\xe9\xe2\xc1\x2c\xaf\xb3\x9f\x12\x9e\x89\xe6\x44\x95\x2b\xb5\x5f\xe9\x7f\xc4\xd7\xed\x30\x17\x4a\x29\x78\x12\x3c\xac\xdd\x07\x32\x79\xae\x76\x1f\xe3\xdf\x26\x96\x64\x28\x27\x4d\xfa\x28\x80\x11\xda\xa7\x6d\xec\x1c\x7a\xd0\xc3\x7a\xf6\xfe\x32\x75\xbd\xaa\x7b\xb8\xac\xdb\xd8\x88\x60\x44\xbd\x9d\x85\xb8\x8e\x3a\x78\xa8\xdd\x04\x97\x97\x71\x5d\x06\x58\xf2\x28\x43\x5f\x6b\xf1\xa8\x8e\x9a\x6d\xbc\xd1\x3d\x5b\x73\xd8\x87\x53\xbd\x59\x6e\xeb\x68\x4e\xbc\xb6\xc0\xea\x77\x02\x47\xec\xe2\x99\x16\x35\x92\x37\x02\x19\xfc\x4a\x6e\x44\x06\xda\x2f\x6c\x33\x24\xc0\x10\x7b\xab\xa6\x26\x75\x01\xf2\x7b\x70\xdb\x49\x54\xf2\xae\x35\x05\x1f\xb2\xef\xe2\x45\xd7\xd2\x6c\x50\x37\xae\x3c\xb6\x32\x3b\x47\x3a\x38\xee\xc8\xa8\x43\x2a\xb8\x4d\x73\x72\xcc\xb1\xeb\x08\xf3\x59\x67\xc0\xd3\xc3\x56\x05\x2a\xdb\x59\x94\x37\xda\x1b\xed\x83\xf1\xb1\xb9\xb6\xcf\xfb\xce\x00\xea\x99\x45\x1f\x3d\x6a\xa9\x50\xd6\x2d\xc9\x79\x46\x4f\xc0\x8e\x89\xf9\x0a\x7c\xf0\x26\xb2\x4f\x04\x8d\x7b\xe2\x55\x62\x64\xac\x12\x58\xe9\x97\xdb\x95\xdc\x6e\x2f\x32\xd5\xf2\xe0\x7f\x79\x37\x93\x60\xdf\xa4\x44\x3f\x64\xce\x1b\x29\xbc\x18\xf4\xc3\x90\x78\x43\xe9\x59\xb5\x24\x69\x3b\x7e\xe2\x9b\xce\x7a\xae\x7e\xed\xe8\xe1\x5e\x27\x11\x31\x42\x51\xcc\x55\x01\xcb\x79\x7e\x07\xe0\xdc\x0c\xf4\xdb\x2c\x12\x4d\x22\x09\xd0\x59\x41\x55\xf8\xe9\xbc\xca\x8e\xf9\xf1\x3d\x17\xa2\xbe\x91\x6a\x18\x02\x14\x73\xa3\xb7\x42\x58\xf4\xd6\x47\x6f\x9b\x59\xa1\xcd\x32\xab\xcb\xf3\xb6\xf3\xc6\x7c\xed\xc2\x87\xb9\x48\xc8\xc5\x4a\x06\xe3\xe6\x21\x6b\xc3\xcc\x9b\x42\xa0\xb0\x79\x1f\x36\xd3\x80\xd1\x4c\x25\x31\x71\x49\xc3\xcd\xbd\xea\xe8\x3c\x79\x2f\xc0\x8f\xb2\xd2\x2f\x60\x2b\x44\xa2\x89\xc0\xc9\x23\x9b\x8a\x81\x9a\xd2\xa6\xa9\x1c\xce\xa5\xfd\xac\xff\x38\x9e\x6c\x5d\xc6\x36\x75\xc5\x5d\xd2\xf7\xe6\xf4\xf1\xd2\xc6\xda\xed\x9c\xa7\x82\xd7\x0b\x1b\x08\x59\xe8\x35\x56\x17\x1e\x0a\x2a\x8d\x6c\x0f\x0e\xf4\xb5\x48\x00\x08\x86\x94\x35\x67\x61\xcd\x81\x3e\xc8\x66\x14\x02\x8c\xd3\x23\xb6\xeb\x20\xaf\xc3\xe7\xeb\xe9\x96\x08\x76\x5e\x3f\x8f\xf0\x79\x9c\x2e\x50\x99\xb1\x56\x4d\x6a\xf7\xb4\xd3\x90\xc6\x3d\x7f\xef\xbf\xff\x1f\x6f\xfe\x8f\xfd\x9f\xe7\xaf\xfb\xdf\xcd\x28\x4b\xdd\x69\x02\xe3\xa7\xc4\xf3\x37\x35\x9e\x9d\x1a\x41\x10\xe8\xe1\xfb\x59\xbf\xe0\x4a\x46\x2a\xd0\x7a\x7a\xa0\xa0\x8c\x7d\x54\xdb\xba\xa8\x10\xb8\x85\xef\xb9\xf3\x74\xc4\x78\xe0\xbc\x8a\x92\x4a\x63\x41\xbc\xec\xc7\x19\x00\xe3\x07\x1a\x5e\x64\x5f\x2b\xb8\x35\x00\xf7\x67\xe3\x4a\x2d\x8d\xcc\xa2\xb7\x47\xef\x04\x76\x1e\x6e\x6a\x8d\x72\x52\xa4\xfa\x18\x61\xfc\x53\x9c\x23\x48\x55\x6d\xec\x35\x2d\x06\x47\x74\x25\x6d\x30\xb3\x44\x8e\x99\x05\x48\xe0\xbc\x1c\x9e\xf9\xc2\xb0\xa0\xdc\x10\x5d\x49\x1b\x2a\x8e\x03\x40\xd3\x8e\x9d\x22\x50\x5e\x79\x9f\xae\xdc\x01\x3c\x2f\x9b\xbc\x68\x48\x2f\x14\xca\x2b\x9f\x22\x0b\x02\xd4\xaa\x9d\xb4\xa1\x5a\xde\x6c\x28\xd4\x54\xac\x77\xed\x67\x9a\xbc\xb6\x00\xc2\xb3\x66\xec\x0c\x77\x30\x76\x1e\x11\xb5\x09\xe1\xb9\x47\xcd\xa5\x2a\x9b\x41\xe0\xc1\x4f\x7b\x1c\x9c\xf2\x62\xcb\xbe\x3c\x68\x6f\xf4\x07\xa7\x74\x32\xcb\x5b\x09\xed\x83\xe9\xb9\x84\x18\x1f\x8c\x0f\xa6\xe6\xa6\xc1\x60\xd6\xa4\xe5\xfa\x74\xb2\xc7\xcc\x33\x02\xac\x23\x6c\x37\x47\xe4\x18\x93\x8c\x62\x21\xe7\x88\x07\x28\x5b\xd5\x66\x55\x82\x57\x55\xac\xa7\x23\x99\xd7\xf5\x3e\x0c\xcf\x9e\x58\xe1\x3b\x8a\xb5\xfb\xdd\x71\x4c\x5a\x22\x18\xbc\x26\x59\x2f\xa0\xf7\x58\x3d\x6d\x03\xd7\xa9\x6f\xc2\xba\xe1\x61\x65\xd0\x24\x88\xbb\x8d\x1c\xc7\xa5\xee\xa6\x13\xa3\x1c\x0d\xeb\xe5\xbc\x19\xec\xf5\x8c\xf9\x22\x1b\x27\x20\xd3\xbd\xa4\x34\x07\xc0\xa3\x84\xb1\x9c\x72\x8e\x5b\x2e\xc6\x58\x7b\xbc\x75\xcc\xc7\x80\xfa\x18\x98\x02\x2d\x2b\xc7\xbb\xde\xbb\x63\xb8\x39\x4e\x72\x26\xd7\x03\x3d\x03\xbf\xab\x72\xec\x7e\xab\x5f\x58\xed\xd9\x75\x85\x73\x68\xb0\xdf\xef\x16\x06\x77\xb1\x04\x20\xb2\xa2\xb3\x02\x18\xa4\x44\xe6\x68\xad\x6e\x08\x25\x12\xb2\x6b\x60\x86\xd8\xd9\x5e\xe5\xa8\x6a\x0f\x2a\x56\xa7\x87\x38\x5e\xf4\x84\xa3\xce\xa9\xba\x02\x39\xc2\xf0\x99\x83\xfe\xfa\xdc\x37\x1d\xf8\x1c\x3f\xdf\xba\x7e\xad\x28\x77\x1f\x39\xce\xb8\x91\xa1\x73\xac\xbd\xb2\xc8\x6b\x09\xd8\xcc\x5b\xec\x74\xb0\xbb\x84\x45\xc0\xac\x9a\x3a\x89\x24\x9f\x00\x0c\xa7\x64\x66\xeb\xda\xec\xfd\x19\x3e\xc8\x6c\x24\x4e\x65\x0f\x06\xab\x98\x0d\xd9\xa5\xfd\x3d\xa9\xf7\x45\xb6\x11\xf6\xd0\x36\xed\x7d\x30\xf8\x14\xb0\x3b\x5f\xab\x02\x38\x02\x6b\xc7\xc6\x78\x2b\x8c\x9a\xe1\x39\xb5\xec\x7f\x69\x79\x36\x41\xef\x3e\x50\x74\x21\xb2\x6f\x1f\xee\x75\xa5\x29\xf0\x17\x5d\x47\xe1\x3f\x2b\x77\x16\xdd\x3e\xcb\xbf\xdf\xde\xcb\xcc\xcf\x4e\xde\xf4\xfe\xfd\xd9\x19\x6d\xda\xf5\x62\xdb\x99\x45\x7a\x22\xbd\x50\x5e\x28\x6f\xb4\x37\xda\x07\xe3\x83\xf9\x7a\x15\xc2\xcd\xd7\xb2\x1e\xb3\xd1\xd1\x79\xf4\x35\x82\xa4\x12\x7f\xf6\xe4\x4b\xdf\xcf\x03\x93\x7c\xfa\x4a\x8c\x72\x3e\x9c\xa7\x80\x0a\xf9\xb3\xa7\x52\x95\x7a\x59\xa9\x45\x2d\xbb\xa9\xf5\xd7\x69\x94\x16\x52\x0c\x63\xf4\x40\x0f\x7c\x76\xd6\xcf\x4e\xa9\x4c\xf5\xb2\xfa\xfa\x0e\x53\x29\x5d\x7b\x77\xf3\x95\x8d\xf5\xc9\xcf\xe3\x4d\xba\x98\xff\xfd\x3b\xc9\x01\xf3\x74\x01\xec\x6e\x3f\x2d\x87\xc0\x7c\x3d\x95\x31\x1d\x27\x2b\xfc\xe9\x75\xf8\x41\xa0\x85\x46\xe9\x3e\xee\xa1\xee\x1f\xd7\x7e\x46\x54\x0e\x8e\x43\x59\xbc\x5f\x52\x05\xe1\x5d\x9d\xe7\xf1\xb2\xa3\x59\xad\xde\x7d\x8a\xea\x02\x74\x45\x23\x3c\x08\x7d\x49\x6a\xd8\x5b\x04\xce\xab\xc7\x77\x18\xbf\x4e\x8c\xee\x7a\x5f\x3a\x38\x5a\x8d\xd5\x80\x5d\x74\xa2\x14\xde\xa2\xf7\xe3\x81\xc8\xa1\x2e\xde\xd4\x81\x72\x09\xf6\x83\x5f\xb1\xe2\x53\xd4\xb7\x34\x43\x89\x77\x00\x02\x61\x2b\xc9\xa0\x1c\x66\xbd\x6e\xf5\x1b\x2a\x7f\x7d\xca\xff\xc5\x90\xc5\xf2\x08\xab\x63\x96\x64\x7f\x54\xf5\xd7\x7f\x7e\xfe\x7f\x84\xd1\x88\x0a\x20\x82\xf8\x91\x68\xb6\x92\xd2\x9c\x80\x98\xab\x8a\x93\xb0\x24\xf8\x74\x55\x27\x6e\x95\x2c\x83\x98\xf7\xc2\xa2\xcf\xab\x6e\xe0\x3c\xed\x5b\x31\x1f\x47\x4a\x2b\x54\xbd\x4a\xca\x29\x55\x83\xe2\x17\xa7\x66\x26\xdb\x22\x8e\xe7\x8f\x2e\x39\x6f\x11\x5f\x42\x26\xd4\x54\xb7\x33\xe1\x78\x2b\xf1\x15\xca\x66\x8f\xc0\x44\x47\x09\xac\x87\xda\x1c\xb0\xd3\x5d\x36\x8e\x24\x66\xbf\x59\xae\xef\xfb\xcd\x73\xf5\xf7\xa9\xf6\x73\xfb\x54\x07\xb9\x7c\xaa\xc3\xdc\xfc\xca\xa3\x7c\x66\x88\xc7\xcf\x22\x44\xfa\x79\xec\xdd\xe1\xde\x0b\x69\xe0\xae\x18\xb5\x7d\x37\x60\x5f\x1f\x7f\x4d\xb9\x89\x2d\x45\x9f\x2e\xd5\x3e\x7b\x17\x9b\x73\x51\x39\x21\xd5\x57\x52\x12\xfa\x4a\x65\xe1\xd6\x33\x8c\xd6\x5d\x97\xd4\x4e\xfa\xfb\x8e\x9a\x76\xb7\x61\x26\x2c\x63\x0d\x61\x00\x83\x92\xff\x0c\x29\x9e\xd0\x84\xc3\x1d\xb6\xa7\x09\x25\xaa\xf6\xcd\x34\x31\x88\x55\x63\x35\x5f\x38\x0f\xf6\x15\x16\xe9\x54\x42\x50\xf8\x62\x28\x03\x1b\xe0\x27\xed\xfe\x7b\x6e\xf5\xf7\xb1\x1d\x1a\xde\xe6\x0b\xea\xc4\x7e\xcd\x6d\xb3\xaf\xc4\x2c\x73\x50\xb0\xd4\x90\x3a\x5a\x88\x3e\xe6\x30\x6f\x97\xdc\x2f\x6f\xca\x51\xbb\x49\x86\xaa\xac\x20\x54\xb3\x77\x2c\x3f\x2f\xc4\x2b\x44\xe0\x1a\x2b\x1e\xe0\xd9\xe9\xad\x4f\xd0\x1f\x5b\xf6\x61\x67\x18\x0c\x5e\x30\x23\x45\x83\x7c\xef\x6e\xd2\xfb\x23\xe7\x3e\xdc\x3b\x0a\x2e\x82\x23\xbe\x38\x43\x9b\xec\xa4\x2e\x03\x1a\x1a\xa8\x8e\xef\x36\x4e\xb8\x3f\x52\x66\xee\x15\x51\x5c\xde\x0e\x76\x6c\x8e\x66\x8d\x09\xf4\x83\x70\xfe\x83\x9c\x96\x8f\x4a\x8c\x50\x6e\x35\xc1\x48\xd7\x7a\x94\x19\xac\x55\x23\xaf\xbc\x88\x3b\xf6\xb2\x0a\x40\xb2\xc7\xa4\x45\x62\x87\x7a\x02\xba\x55\x9d\x93\x2e\xd9\x91\x01\x16\x43\xed\x8e\xdc\xa4\x45\xf3\xa0\x81\x64\xa4\x13\x0e\xbd\x29\x34\xef\x62\x1e\xef\xb3\xd3\x0c\xba\xaf\xb3\x4e\x76\x16\xcc\x96\x67\xfe\x33\xa3\xac\xf2\xdf\xef\x38\x97\x11\xe6\xe9\xe6\x38\x98\x1d\x25\x5d\xb1\xae\x39\x6e\x0d\x63\x85\x7e\x6e\xf9\x6f\xdd\xf8\x71\x2e\xc4\xfa\x97\xfa\xd7\xaf\xa0\x85\x06\x62\x11\x18\x8a\x2c\xc0\x67\x0a\x5f\xff\xee\x56\xd5\xe9\xb8\xb8\x34\x9c\x3a\x6c\x15\xbe\xd3\x1c\x8c\xae\x67\x3f\x61\xf9\xce\x8d\x6f\x34\xd6\x76\xa2\x7e\xe2\xd3\xe9\xae\xff\xa3\x26\xd8\x6f\x6f\xb9\x17\xee\xae\xc5\x1d\x9b\x34\xc0\xba\x5c\xb7\x53\xaa\xc9\x7b\x03\x73\x13\xd7\x1b\x69\xe6\xe8\x41\x87\x1a\x15\xb1\x6a\x6b\x46\x18\xcf\xfa\xe5\x72\x98\x69\x3c\xd6\x43\xcd\xba\x82\x7a\xd1\x3f\x33\x89\xb0\xc8\x07\xc6\xc8\x06\x2d\xc8\x28\xee\x99\xe9\xf7\x36\x17\x8c\x3f\xaf\xbc\x4a\x7e\x93\x25\x86\xb8\x31\x90\x89\xc0\x79\xc3\x1b\x05\x7c\x61\x68\x8d\x04\xdb\xe9\x05\x3e\xe6\x1b\xb1\xd6\xf7\x1c\x01\x5f\xf9\x29\x6c\xe1\x1a\x67\xda\xeb\xbe\xc2\xd6\x25\xe9\x35\xb6\x68\x90\x83\x01\x11\xd9\x76\x99\xa9\x3e\xd6\x06\xfe\x28\x45\x9e\xb1\x64\x44\xe8\x1c\x82\x33\xcc\x4d\x20\x41\x25\x6e\x40\x13\xa0\x9c\x0d\x33\xd9\x70\xa5\x4b\x88\x81\x87\x1f\xe5\xdd\xb7\x72\xd9\xd4\x18\x8b\x2b\x7c\xe1\xcf\xf5\xe4\x74\x82\xc9\x8b\x8c\x4b\x94\x2f\xc2\xe6\x03\x60\xa1\xfc\xb0\x15\x6d\x76\x41\xef\xe3\xcf\xe4\xa8\x83\x78\xf5\x66\x96\x3d\x8f\xad\x10\xe2\x14\x84\xfc\x10\x58\x57\xd7\x28\xb4\xa9\x03\xa3\x6a\xb9\xd6\x94\xe2\x9d\x41\xf9\x94\x5d\x1c\x83\x12\x29\x54\x0e\xd5\x78\xad\xba\x0d\xd3\x29\xd6\xb0\xee\xaf\x1e\x8b\x10\x8e\xf4\xd0\xca\xb5\x83\xc0\x1a\xb3\x8c\xd7\x6a\xfa\x9b\xd3\x52\x0c\x3f\xfd\x6d\x71\xad\xdc\x27\xe3\xd4\x6f\x96\x56\x0b\x6e\x18\xcf\x7a\x07\x9b\x0f\xd8\x88\x3e\xe1\xb1\xe3\xac\xb3\x06\x0e\x96\xc7\xb3\x09\x6c\xf8\x85\xfd\xec\x51\x45\x8a\xcf\x61\x7c\x14\x05\x06\xf8\x4f\xeb\x45\x3c\x32\x58\x65\xfc\x70\x0f\x1f\xfa\x68\x4c\xd1\xb8\x11\x6a\x71\x3d\xc6\xde\xc7\x2d\x5b\xbf\xbd\xae\xaa\xf7\xbe\x6c\x1c\xb6\x79\x39\x6f\xab\xbb\x2e\xfa\xf9\x0a\x9d\xfc\xba\x58\x7f\x50\x9d\x3c\xc9\x39\x37\xfc\x48\x90\x8f\x82\x56\x0c\x2c\x97\xae\x5c\xda\xc7\xa2\xfc\x53\xde\xe9\xf2\x37\xd5\x5d\x8d\xc6\xee\x3f\x95\x71\x14\xb0\xae\xcf\x87\xb2\x38\xfd\xd1\xb1\xb0\x30\x76\x7e\x14\x8e\xa2\x39\xc4\x86\x36\xd2\x10\xab\x27\x46\x22\x43\xcb\xec\x8a\xda\xa8\x34\x56\x4d\x6f\x5d\x2e\x86\x67\x98\xdb\x8c\x81\x16\x87\x80\xc6\x97\x01\x33\x12\x36\x66\x9a\xab\x4c\xcc\x4c\xa7\x3d\xdc\x38\x0c\x02\x0a\x0c\x83\xf9\x74\x02\x06\x8f\x45\xa4\xa1\xd5\x65\x18\x0e\x1a\xce\x1c\x4f\xe5\xef\x64\x5b\x24\x0d\xbf\x50\x82\xe8\xa3\x7f\xa6\x76\xfa\x8f\xe4\xd2\x72\x7d\xa1\x19\xf8\xb1\x92\x35\x8c\xe3\xf8\x6a\xa0\xd2\x51\xd2\x26\xde\x06\xe9\x06\x74\x44\x00\x4b\x5a\x88\x72\xdb\x92\x2d\xcf\xf4\xa5\xe7\x97\x40\x4f\xa2\x6f\xdb\x39\xd9\x61\x3e\xc9\xa6\x24\x4d\x2c\x99\x5b\x58\xb5\xb7\xe2\x42\x76\x9a\xee\x32\x74\x65\x66\x2c\xc8\x0e\x33\x48\x72\xa1\x60\x40\x97\x1f\x68\x9a\xc4\x9b\xe4\x18\x81\x70\xc6\x24\xed\x6d\x93\xea\x49\x78\x81\xe3\xd1\xb5\x4c\x1e\xe9\x1a\xc3\x32\x5f\xa8\xd2\x5b\x48\x24\xbb\xd3\x08\x94\xbd\x5d\x9c\x17\x6f\x0f\x69\xc2\x7f\xaa\x62\x3b\x6c\x88\xe9\x1d\xc8\xd2\x18\x41\x2b\x69\x8a\x01\x38\x47\x65\x6d\x11\x4e\xb3\x88\xbc\x2e\x43\x5e\xca\x2d\x6e\xf2\xa2\xd9\x24\xda\x45\x04\x5b\x67\x6c\x9d\x1e\x16\x9a\x52\x32\x77\x0c\x87\x6b\x57\x82\x44\xf0\x60\x3a\xc9\x65\x46\xad\xcb\xad\x44\x9e\x37\xa9\xfe\xdc\xc8\x8c\xa8\xb8\x0b\x59\x08\xfd\x5c\x3b\xab\xcd\x28\xd1\x2c\x50\xe2\x38\xf0\xab\xc6\xab\x30\x70\xa0\x69\x59\x18\xe3\xf5\x3a\xc7\x8f\xc4\xdc\x2f\xab\x4f\xd7\x98\xa8\x2b\xe1\xe7\xef\xd2\x54\xac\x08\xd3\x72\x4b\xfd\x1e\x66\xf1\x3c\xca\x9b\xba\x72\xbc\x0e\x61\x9e\x25\xf4\xc3\x71\x9f\xc3\x69\xc3\xd3\x1d\x57\xd1\x38\x0e\x55\x73\xb9\x0d\x9f\xcc\xcd\xbd\xcc\x86\xab\x72\xe7\xd7\xb3\xe7\xa3\xde\x5c\x86\xcf\x5e\x6d\x1f\x39\x2d\x37\x49\x8e\xec\xe1\xab\xfe\x08\x34\x8c\x8f\xf3\x3c\x85\xdb\x5b\x5e\x21\xfe\x91\x5d\x4f\xeb\xcd\x69\x19\x0f\xec\xde\x5a\x22\x47\xb3\xb1\x30\x18\x7e\xcb\x4f\x2f\xfa\xca\x58\x1d\xca\xb5\xcd\xbe\x6c\xac\xfb\x75\x3a\x87\x5d\xcd\x5f\x37\x63\x8b\x4d\x6b\x95\xc3\x6e\x18\xea\xf3\x0b\xaf\xb3\x38\x63\x13\xc6\x5b\xd5\xa6\xd8\x12\x3e\x43\xd1\x62\xd9\xcf\xfd\x52\xe5\x46\xe1\xf7\xd8\xdb\x78\x41\xae\xb1\xa8\x77\xda\x77\xca\x43\x94\xef\x50\x08\xed\xc0\xdf\xb7\x7a\x61\x07\x88\x69\x1a\x9c\xb4\xeb\x66\xab\x89\x42\x75\x8e\xd7\xe7\x03\x1a\x9d\x73\xa4\x9c\x9e\x15\x50\x4c\xf9\x09\x6e\xc9\x89\x65\x69\x8e\x7b\x22\x73\x68\x4e\x41\x0b\x76\xdf\x2c\x97\x88\x3e\xd4\x35\x1c\x28\xfb\xa1\x77\x1d\xce\x15\x2a\x4d\xf8\x49\x37\x9d\xa4\x77\x06\x43\xbd\x2f\x0a\xcc\x33\xda\x61\x7c\xcf\x5d\xcd\xb1\x5c\x31\x74\x84\x4b\x3e\xb0\x8c\xd6\x1d\xee\xb3\x18\x32\x23\xdd\xf0\x53\x64\xa4\x23\x9e\xe8\xae\x45\x38\xd0\xad\x71\xc0\x2d\x78\xa0\x74\x55\x59\x99\x88\x06\xb2\x38\x10\xa6\xa9\xef\x8d\xf0\x3d\x80\xd1\x4d\x41\xa3\x7b\xa3\xd4\x7d\x52\xac\xef\xa8\xc5\x42\x3a\x6f\x93\x41\x2b\xba\xd2\x80\xa1\xd4\x7e\x8c\x58\x85\x48\x70\xa4\x51\xd7\xa8\xaf\x0c\x67\x34\x56\xea\xe8\xf2\xc5\xc3\x84\x1e\x3a\xf3\x24\xdf\x90\xd1\x81\x17\x58\xad\xf6\x1d\xc2\xe3\x39\xdd\xfc\xd2\x2c\x9c\xd3\xb0\x98\xb1\x8e\xab\x23\x37\x1e\x1d\x86\xe9\xfe\x5b\xf5\x4b\xa1\xdd\x03\xf1\x9f\x48\xa0\x81\x80\x45\x40\x7f\xec\x5a\x9c\xc3\x48\x60\xb5\x79\x31\x2b\x9c\x47\x27\x1f\x69\xac\x0f\xe5\x53\x84\x05\x60\x61\xbc\x7c\xd6\x5c\x3b\xfe\xf3\x6d\x23\x33\xb0\xa3\x6b\x15\xba\x1c\x0c\xeb\xd3\x0b\x5f\x0d\xfb\x9c\x6e\x35\xb4\x8e\xd6\xde\xcb\x61\x38\xe9\x3c\xd4\xdb\x76\x67\x1c\x38\x0d\xde\x62\xff\xab\x5e\x0f\x12\x8a\xe1\xbe\x8d\x1e\x46\xd4\x12\x7a\xa0\x1d\x22\xe6\xf4\x40\xad\xe8\x33\xff\x1c\x38\x8b\xd2\xc1\x06\x88\x9d\x73\xf8\x5f\x41\x7a\xcb\x74\x7c\x5a\x68\x5c\xc4\xfc\x5e\xac\x67\x1e\x4e\xed\x09\xad\x0b\x6a\x2c\xd4\xb4\xa1\x5c\xd3\x26\x49\x4d\x9b\x19\x75\xce\x55\x5d\x7e\x3f\x5f\x57\xba\xe9\x0e\x6a\xa4\x79\x72\xea\xca\x2c\x11\x97\x4e\x7a\xa1\xba\xa6\xdc\x5c\xbf\x78\x28\x7a\xcc\xe7\x2a\x1c\xa7\x95\x7d\x2b\xe2\xbc\xcf\x28\x6c\xda\xd2\x25\x30\x33\x97\x8c\x41\xbb\xee\x75\x42\x89\x64\x0d\x7c\x59\x58\xd3\xee\x1d\x1e\xc2\x64\x88\xd3\x1c\x35\x47\xe3\xd4\x20\xe5\x7e\xbc\x74\x54\x35\x34\xac\x14\x18\xf2\xfd\x31\x57\x08\x8c\xf0\x0f\x88\x4f\xa2\xb0\xfa\xc6\xa7\x7d\x66\x9a\x4d\x9b\x2e\xb9\xe9\xd4\xaf\xab\xbc\x04\xa8\x29\x7b\x06\x86\x65\x8d\x1b\x0f\x5c\xff\xa8\x4b\xd2\x80\xf4\x19\xae\xfb\x3f\x9d\x77\x0a\xd6\x06\x1c\x4f\x10\x9c\xca\xd5\xb5\x63\x01\xaa\x2c\x4e\xa9\x15\x72\xe9\x94\xce\x21\x4a\x26\x23\xbe\x19\x6f\xfd\x34\x5f\x99\xd2\x4f\x1f\xaf\x83\x84\x63\x7d\x27\x91\x0b\xeb\x7c\x6a\x1b\xfb\x30\x38\x7d\xb8\x1e\x3b\x07\x59\xd2\x7b\xa0\xd2\xf5\xfc\xc6\xe4\x68\x88\xb4\xc5\xbe\xbd\xbf\xef\xe7\x0f\xdf\xe5\xd5\xfe\xaf\xed\x97\xac\x08\x1d\xe1\x21\xae\x3c\x10\xc3\x43\x97\x5d\xd2\xe8\x81\x66\x16\x8c\xce\xa1\x6b\x07\x32\x22\x27\xfa\x58\x35\x6d\xf2\x40\x87\x98\x4a\xde\x2d\xe7\xb2\xf8\x5f\x45\x43\x07\x32\xb5\x69\x88\x42\xfe\xc1\xab\x5b\x9a\xa4\xd4\x57\xc6\xa2\x16\xa6\xb8\xa5\x34\xad\x2c\x68\xee\x2c\x4d\xf7\x2d\x69\xd1\x8d\x4d\x77\x0b\xb6\x5c\x7b\x73\xea\xf2\xca\xac\x27\x02\xc2\x74\xf6\x32\x58\x0e\xed\x0c\x08\x1c\xf9\xc0\x25\xb0\xe1\x70\x99\xdd\xb3\x8a\xb1\x09\x6c\x7d\x33\xd8\xc2\xf8\x18\x75\x2b\x7a\x37\xcc\x7a\x86\xfe\x2d\xa5\x81\x74\xf7\x9a\x59\x96\xcd\x62\x9b\x8c\xbc\x84\x2d\x44\xa4\x41\xf8\xc5\x4a\x7b\x17\x0b\x05\xc1\x5c\x36\xe5\xcd\x26\xb2\xf5\x9d\xd8\xb6\xea\x9a\xcb\x00\x6e\x48\x6a\xdb\xd5\x41\x74\xce\x5b\x74\xa9\x89\x28\x62\xdf\xa8\xbe\x0c\x2b\x85\x81\xa6\xc8\x06\xd7\xf5\xbc\xb7\x36\xaf\x8a\x00\x9f\xc7\xde\xce\xe6\xfa\xd3\x94\x81\x33\x9c\x33\xb7\x94\x66\xce\x7d\x37\xee\xd8\x03\x61\xe1\x7d\x85\x00\x07\xbc\x6b\x01\xdb\x22\xff\x1e\x97\xe4\x00\xcc\x1c\x7c\xa5\xa9\xd0\x37\xa6\xd3\x5f\x66\x9f\x98\x56\xa6\x53\x0a\x2c\x6e\xd8\xcf\x40\xf2\x35\x20\x2f\xb1\x4e\xda\x79\x65\x1f\x8a\xd4\x81\x46\x26\xfd\x25\x31\x76\x98\x6f\xfc\xdd\xa7\x78\x35\xc8\x85\xf4\x1a\x5c\x77\x95\x57\x5f\xbc\x9d\xb1\xfd\x0b\x25\x21\x7e\x44\x85\xa1\xbf\x65\x64\x34\x75\x05\x69\xec\x26\x54\x9c\x50\xbd\xbe\xa1\x76\x7d\xc3\xee\xfa\x86\xe3\x85\x09\xed\xae\x60\xd6\xa9\xb5\x6a\x6c\x2a\xde\xa6\xeb\x6c\xca\x61\xa3\x02\x8f\x5b\xd7\x65\x23\x4c\xc6\xea\x2d\xfa\xfa\x6b\x00\x26\xbd\x85\xb5\xec\x19\x70\x99\x65\x29\x6e\xfc\x14\x12\xc0\x08\x66\xcd\x2c\xf7\x5c\x69\x47\x1b\x21\xf3\x46\x26\x1a\x7a\xbf\x5f\x60\xbf\x0c\x9d\x60\x38\xfc\xef\x8d\x51\x0d\x59\xde\x5f\xb8\xbf\xe1\x75\x68\x18\x03\x70\xa0\x88\x88\x70\xee\x65\xcf\xdd\xdd\x4a\x63\x18\x6d\x53\x3f\x91\x23\x4e\x6a\xfa\x91\x96\xd8\xab\xca\x45\x3e\x5d\x65\x3e\xd2\xae\x13\x97\x0e\x31\x6a\xf2\x55\xb5\xb6\x85\xaf\x9e\x81\x8a\x6f\x70\xac\x06\xab\x08\x6e\xa8\xfa\x04\x1b\xf8\x82\x45\x92\xd9\x21\x4f\x1e\xa1\xa8\x12\xf6\x4e\x06\x0a\x7e\x97\x45\xce\x41\xad\xb4\x2e\x66\x33\x2d\xc3\xf8\x91\xda\x2d\x58\x95\x3d\xa7\xff\x58\x02\xa1\xf3\x0e\xdb\x19\x3e\x05\xb2\xbf\x22\x1c\x59\x18\x86\x2f\x96\x90\x71\x49\x72\xee\x69\xe2\xdc\xea\xf3\x58\x0c\x13\x68\x99\xa8\x58\x9a\x6f\xb8\x98\x26\x56\xf6\xbd\x35\x84\xb3\x4f\x7b\x06\x21\xbe\xca\xd5\xf2\x40\x62\x0c\x28\x6a\xd5\x8a\x74\x3e\x67\x4a\xde\xee\xe3\x32\x67\x80\xd2\x27\x09\x2d\xf7\x3e\xad\x3a\x92\x9e\xba\x66\xa8\x01\xd9\xda\x41\x6b\xc6\x21\x8e\xe7\xdc\x8c\x1a\x57\x34\x32\x72\x8f\xd5\x86\xd2\x32\x24\x73\xde\x9a\x3e\xc5\xdb\x92\xc3\xd7\x70\xe8\x32\x3a\xe7\xd3\xf0\x58\x96\x04\xd2\x99\x9d\x06\xc7\x2d\x87\x7f\x2b\x17\x3a\x89\x15\x3a\x36\xba\xf7\x3f\x3b\x82\x0a\x16\x15\xc3\x81\xb2\x2d\xd6\x17\x62\x51\x0c\x3f\x1d\xab\xc1\xb8\x6c\x2b\x49\x09\xfd\x01\x7d\x68\x62\xaa\xbf\xd4\x4c\x28\x68\x52\xb5\x47\x51\xe7\x34\x29\x6d\x7d\x42\x57\xc1\xa8\xc9\xc4\x74\xdb\x22\xdd\xed\x27\xb4\x99\xc2\x1a\x55\xcf\xe1\xa5\xeb\x86\x7d\x0c\xfe\xad\xec\x33\x1e\x9e\x6c\x36\xe0\x4b\x02\xde\x34\x02\xb8\xe1\x93\xfa\x8d\xfd\x1a\x31\x5b\x1a\xa0\x19\x04\x21\x17\x94\xfd\x73\xb0\xe7\xed\xee\xec\x53\xb7\xc4\xa6\xd5\x92\x7c\xcd\xa6\x58\xd4\x2f\x02\x41\xff\xfe\x62\x47\xb9\xc5\x63\xc5\x4c\x11\x46\x16\x8e\xad\x5c\x10\xb2\x4e\x5c\x91\xeb\xdf\xea\x0f\xe4\x2f\x17\xa5\x8e\xe9\xc7\xf8\xc8\x01\xad\x7b\x42\xc0\xe6\x38\x8f\x7d\x3a\xb1\x42\x19\x2b\x9a\xdf\xd9\x73\x3a\x4a\x4a\x4e\x8e\x3a\xe4\x3c\xce\xae\x31\xb4\x03\x0e\xef\x22\xce\x02\x65\x08\x1e\x3a\x52\x35\xb1\x56\x77\xe0\x5d\x8f\x8e\x88\x70\xba\xec\x0b\x7c\x8b\x2e\x48\x25\x70\x1c\xba\xa0\xae\x92\xdb\xb0\x3c\x23\x3c\x53\xc9\x7c\x9c\x6a\x93\x2e\x3d\xa7\xa9\x86\xc2\x04\xb4\xfe\xdc\x22\x6a\x7b\xeb\x57\x8c\x67\xc1\x2f\x97\xad\x48\xff\xaa\x48\xa4\xe1\xf2\x7e\x2e\x05\x42\x6f\xbb\x67\x4d\x7f\xb0\x6a\xff\x9d\x7e\x2e\xd8\xa9\x1d\xf4\xf8\xaa\x83\xbf\xeb\xbf\x86\xee\x91\xd7\x1d\x77\xdb\x69\xc5\x71\x7e\x8e\x9f\x45\x23\x9b\xb1\xe2\x30\x55\x56\x3b\xf2\xd4\xde\xbf\x3f\xdb\xec\x00\x38\x01\xd0\xc1\x61\x1c\xd3\x5b\x61\xe1\x82\x2c\xcb\xfd\xa4\x5e\xa9\x4e\x5b\x4e\xb0\x1c\x21\x35\xdc\x2f\x36\x59\xc5\xbf\x51\xd4\x54\xb1\xdd\x1a\x43\x21\xdd\xb5\x45\x5f\x97\x6d\x69\xbc\x48\x09\x8a\x85\xf7\x8b\x44\x62\xbc\xc4\x1a\xfe\xaf\x80\x88\x80\x9b\x9c\x76\xfa\x1a\x47\xbd\x94\xdb\x68\xd7\xc4\x8a\xcc\x80\xd6\x20\x15\xcc\xd2\x2d\xfa\xd1\x8a\x71\x58\x80\xf0\xb0\x20\x06\xcc\x66\xda\xc6\xe6\xa8\xca\x7e\x2a\x1a\x50\xc3\x28\x9d\xc3\x1b\xf1\x78\x0b\x02\x5f\x7b\xee\x61\x57\xe9\x6c\xd8\x18\x54\x14\x92\x49\xbc\x41\xd0\x6a\xc9\x74\x13\x74\xa9\x6c\xf1\x84\x90\x8b\x95\x74\x00\x6d\xf8\x67\x3c\x17\x12\x0e\x44\x51\xdb\xc3\xa2\xa2\x40\xac\x51\xe1\x09\x1c\x12\x6f\x5b\x4a\x14\xa6\x96\xba\x84\x82\x18\x22\xef\xd2\xd6\x4a\xc3\x60\x7b\x4e\xdd\x10\xee\x5a\x9a\xef\xdb\xf3\x66\x55\xf8\xe3\x9a\xc5\x19\x8b\x4f\xda\x26\x12\xa8\xec\x5a\xae\x22\x9d\xd0\x3c\xe5\x60\x2e\xfb\xd2\x21\x23\xb6\x34\xca\x37\x04\x17\x81\x85\x66\xa7\xd4\x14\xb9\xa8\x5a\xd6\xd0\x5a\x20\x9d\x7c\xd5\x89\x96\x5c\x35\x1b\x8e\x74\x06\xc3\x42\x73\xb6\x49\xb2\xf7\xea\xe6\x9f\xda\x0a\xe2\x1f\x72\x87\x68\xf3\x73\x1e\xba\xaa\x38\xcd\x07\x9d\xf2\xcf\xc3\x93\x0d\x74\x44\xec\xd5\x16\x01\xd5\x02\xca\xdd\xef\x02\xcd\xf5\xc1\xc0\xcb\x0a\x1b\xc7\xa0\x68\xa0\x0b\x91\x7a\x96\xbc\xa6\xa5\xa7\xae\xda\x55\x68\x0d\x5e\x4b\xae\x28\xc2\xac\x0b\x99\xb8\x71\xd8\xf3\xaa\x80\x0e\x55\x2e\x61\x41\x9b\x6e\xf3\x7a\x7b\xfe\x6f\x82\x15\x50\xd3\x0b\x4e\xdb\x92\x81\x68\x02\xe4\x4d\x20\x25\x2c\xdc\xcf\xfa\x8c\xf8\xcd\xb7\x93\x49\x23\x7c\x5b\x7c\x29\x48\xf3\x08\x8e\xdd\x2d\xd7\x80\xaf\x5b\x7c\x14\x13\x7a\x13\x2b\x6f\xc6\x4c\x24\x34\xda\x91\x54\xd1\xff\x2a\x91\xc9\x80\xe5\x4c\x02\x59\x28\xb4\xd0\x95\x30\x18\x3a\x94\x40\x52\x32\x68\x91\x20\x0d\x8a\xd2\x28\x19\x59\x6b\xbc\xcb\x21\xc6\x89\xd5\xb1\x04\x0b\x50\x0d\x87\x09\xdf\xe3\xf8\x22\xe2\xa6\x75\x24\x10\xf7\xbc\x49\x81\x3f\x61\xc4\xf9\xb5\xd6\x48\x8d\xe2\x92\xe7\x21\xab\xb8\x34\xdc\x39\xc6\x4c\xce\xeb\x2a\xdf\x1a\xc1\x44\xec\x05\xd6\xd5\x6f\xbe\x36\xf5\xc5\x8e\x3a\x23\xa6\x2a\x07\x4d\xb1\xd2\xd4\x8c\x3b\x54\x4b\x41\x87\xf6\xef\xc2\xf3\xbb\xff\x1e\xf2\xca\x90\x10\xc1\x76\x83\x66\x12\x1b\xaa\x9f\x8a\x05\x07\x0c\x30\x1e\xe6\xa8\x72\x04\x14\x8d\x89\x3c\xb6\x5c\xe3\x45\xe3\x5c\x15\x92\xca\xac\x28\x35\x85\x08\x53\x40\x54\x7f\x77\x03\xfb\xc9\xb9\x02\xfc\x2a\x8d\x4a\xbf\x42\xe7\xe3\x4f\xeb\x23\x75\x65\xdf\x24\xdd\xb6\xe7\x9f\x71\xff\xc1\x6e\x43\x09\x2f\xf5\x7e\x40\xae\xcd\xb8\xf4\x30\x23\x85\x96\xb7\xec\x15\x5d\x2b\xcc\x64\xd3\xee\xe9\x67\xfa\x71\xc7\x1e\x9d\x71\xd6\x50\x0e\x38\x18\x5b\x0a\x62\x7b\x1b\x4c\x3d\x7d\xf5\xc4\xde\x12\x80\x97\x6d\x70\xe5\xb1\x27\x84\xa5\x26\xa7\x1d\x78\xe3\xd5\xe6\x4e\x34\x18\x6f\xd0\x4f\x8f\x30\x64\x4a\xfd\xbf\xea\x04\x6a\xd4\x06\xc6\xdb\x6e\x49\x29\x76\x43\xe5\x1d\x0c\xca\xca\x18\xd5\x85\xd7\xae\x1b\xf1\x21\xd3\xcc\x39\xa9\xc3\x57\xd3\xbd\xa3\x7a\x5e\x1e\x1d\x2c\x1d\x63\x47\x08\xb9\xa5\x36\x3f\xd7\x1d\x59\xd6\x44\xdb\x48\xc3\x5c\xa3\xb1\x27\x9c\x24\x7d\xbe\x41\xe9\xbc\xf2\x3a\xa7\x68\x53\x2e\xf6\x00\x32\xe3\xfa\xc7\x14\x11\xbb\xe1\x7f\x6b\xdc\x1c\xad\xb1\x9c\x6d\xbd\xff\x62\x5d\xcf\xf2\xac\xb8\xc4\x03\x1a\x07\x0e\x94\xa0\x42\x41\x3e\xc8\x11\xfb\x93\x8a\xe8\x5e\xda\x8e\x4f\x4b\xe6\x80\x97\xa8\xa7\x29\xb1\x6d\x57\x96\x77\x67\x3a\xf7\xde\xd5\x15\x98\x81\x32\x3d\x16\xf3\xe9\x27\x64\xb1\xc4\xed\xa9\xb8\x5e\x65\x6e\x7a\x7f\xf1\xe9\xa2\x23\x73\xb6\x43\xa1\xa8\x7c\xea\x99\xa4\xbd\xf2\x18\x8b\xd0\xb5\x06\x95\x5a\x5c\xf7\xcc\x6d\x10\x15\x44\x07\x25\x19\xaf\x7f\x75\xc1\xca\x7d\x00\xf2\x8e\x22\xb9\x4b\xe8\x70\xdf\x4c\xf2\x9f\xed\xaf\x3c\x28\x74\x7b\x2c\x99\x9c\xc4\x14\x93\x83\xd2\xc9\x0d\x64\xf2\xb3\xd4\x14\x9a\xaf\x29\xe8\x74\xca\xca\x69\x3c\x41\x0f\x04\x24\x29\xad\x39\x2b\x8a\x5e\x6a\x05\x9c\x34\xed\x25\xc0\xa1\xc2\x39\x42\x91\xc0\x31\x00\x7c\xb9\x20\xde\xe2\x76\xd0\x9a\x6a\x70\x7e\xcf\xc8\x10\x0c\xf8\x87\x59\x46\x94\xef\xfa\x7a\x32\x1b\xa0\x18\x19\xeb\x3e\x78\xb2\xe4\x5d\x6e\x02\xd5\x54\xe4\xfb\x43\xd1\x91\x58\x30\x28\x83\x81\x27\x48\x4d\x06\xb3\x17\x4b\xc4\x5a\xad\xe2\xf6\xf7\x5a\x7c\x22\xbe\xfc\xaf\xbb\x24\xe9\xb4\x90\xce\xb4\x90\x39\x5d\xaa\x6d\xaf\x55\x24\x58\x0d\x8a\xd5\x9b\xb0\x36\xc8\xc7\xda\x48\xd3\xda\x54\xd4\x7a\x7f\x3f\x74\xed\x81\xc3\x7a\x42\xca\x7a\x06\xd1\x15\x82\x58\x1f\x48\x74\x7d\x48\xca\x3a\x91\xe1\x3a\x25\x74\x9d\x2b\xbf\xd6\xf9\x4e\xba\x56\x3a\xd3\xfa\x0e\x4d\x9b\x0c\x62\x8b\x50\x6d\x11\x91\xed\x04\x4d\x1b\x19\xaf\x8d\xf1\xca\x8d\x49\x69\x43\xf0\xda\x30\x90\x8d\x4b\xd2\x36\x90\xe9\x36\x96\x96\xad\x40\xb5\x95\x8e\xe5\x57\x04\x4e\x6f\x37\xa8\x77\x32\xa7\x6f\xf2\x09\xdf\xd0\x57\x7e\x8b\xa8\xbe\x65\x6d\xf8\x76\xa4\xf8\x76\x8f\xf2\x1b\x39\xd3\x37\x32\xbb\x1f\x8b\x1e\xbf\x3a\x35\xfd\xcb\xfa\xc8\x98\xf6\xff\xa9\x5a\x52\xbd\xca\x78\xd0\xe5\x21\x9b\xdf\xf5\xe0\x3c\x27\x3c\x94\xab\x49\x0e\x99\x0f\x94\x27\x1b\x94\x4e\x6e\x76\xeb\xb2\x1f\xf5\x40\x10\x9a\xaf\x76\xca\xd4\xf7\x3e\xba\xb5\x6d\xb4\x90\xc7\x0a\xd0\x7f\xb5\x9c\x42\x0b\x5e\x39\x75\xd8\xc8\x29\xb0\xf4\xe9\x48\xd3\xfb\x46\x4e\x81\xf2\xf9\x1b\x2d\x42\xa9\x04\x35\x3e\xff\x3e\x25\xe8\xc0\x7e\x65\x35\x21\x07\xfd\x65\x46\x72\x28\x22\x0f\xbd\x39\x18\xfd\x76\x23\xcf\x99\xe8\x43\x10\x44\xd9\xf5\xda\x07\x5a\xa4\x76\x48\xb8\x56\xe5\x9b\xda\xf1\xfd\x2b\x25\x74\x39\xb1\x7d\x41\x17\x51\x2d\x66\x50\x71\xa4\x2e\x5d\x85\x54\xf8\xb1\x8c\xf9\x59\x7d\x7f\x4e\xaa\xc4\x68\x1a\x7f\x92\x30\x64\x52\x44\xca\xa8\xb7\x85\xb0\xdc\xe3\x06\x93\x34\x2f\xf2\xa2\xaf\x38\xcb\x24\x59\x1b\x96\x2e\xcf\x32\x08\xb1\xcf\x93\x0e\x14\x49\x35\x98\x62\xaa\x83\xa4\xd4\x13\xac\x74\x2a\xf2\xd7\x2f\x34\x17\xb9\xc3\xab\x1a\x1d\xeb\x64\x48\x93\x4b\xb5\x52\x82\x65\x19\x5d\x26\x54\x1d\xe8\x21\x64\xe6\x20\x18\x2c\xe3\x42\xd7\xba\x11\xd8\xe2\x83\x51\xf8\x64\x41\x6a\xe1\xdc\xc6\x2c\xd4\xc3\xae\xb3\xb1\x1a\x87\x65\xf9\xa9\x2e\x7a\x29\x8e\xbd\xd1\xf4\x51\x21\x3e\xeb\x0b\xb4\xd6\x3c\xb7\xe6\x9e\x50\x4a\x21\xf7\x4d\x2f\x19\xf6\x92\xe1\xf2\x9f\x36\xe0\xb2\x40\x4c\x7d\x3c\xc5\x38\x7a\x58\x6e\x3c\xae\x63\x78\x30\x9b\x04\xb8\x09\x9f\x5b\x31\x79\x5a\x65\x1c\xc6\x32\x9c\xba\x49\x02\xac\x96\xcf\xea\x67\x47\x90\xb7\xc7\x8f\x0f\x7b\x35\xbb\x98\x19\x53\xb1\x66\x83\x90\x22\x31\x2c\x63\xd8\xe4\x10\x53\xf7\x4b\xdf\xa9\x4f\x31\x49\xab\x07\x7d\xd2\xd4\xba\x45\x78\xa9\x51\x25\xb1\xb7\x1f\x26\x65\xc2\x21\x27\x3b\x5e\x5d\x4a\xce\x69\x72\xab\xd6\xec\x50\xee\xab\xff\x23\xfd\x47\x51\xcf\x91\x9a\x17\xeb\x16\x21\x9a\x33\xb1\x4e\xce\xf9\x60\x32\x9e\xdf\xcf\xb8\xce\x27\x3c\xab\x2c\x92\xc9\xb4\x4d\x7d\x34\xbb\x4b\xc4\x92\x83\x95\xa1\xcf\xcb\x86\xdb\x22\x24\x2d\xb9\x19\x3a\x0d\x50\x23\xee\x01\x5c\x6d\x27\xe7\x4a\x38\xea\x57\x19\xf3\x4d\x2d\x59\xec\x07\xbb\x4d\x74\x9a\x3e\x41\x07\xb6\x34\x74\x23\x25\xe8\x4a\x72\xdf\xfa\x66\xa9\x22\x7d\x0b\x48\xd1\x89\x2d\x9a\xc5\xd8\x28\x95\x75\x3d\xdb\x15\x31\x05\x36\xe2\x04\x54\xb7\xde\xcf\xa6\x6a\x97\x34\x94\x56\x62\xb0\x28\x58\xb7\x2b\xa2\xb3\x87\xdb\x7e\x38\xeb\xe9\x05\x10\x39\xd0\x35\x1d\x6e\x99\x5d\xca\xd5\x77\xde\xe6\x1a\xa7\x91\x36\xf1\xe0\x1b\xd1\xbf\x0c\x16\xee\xa2\x71\x0e\xbd\x02\xf1\x16\x0b\xaf\xb0\x87\xaa\x3b\x16\xd5\x63\x0f\xf9\x5f\x23\x71\x04\x26\x67\xec\xff\x13\x40\x00\x01\x7b\x00\x29\x49\x49\xca\x3d\x25\xa9\x49\x4d\xea\x3d\x35\xc1\x04\x13\xbc\x07\x67\xc6\x63\x41\xe8\x5e\x71\x9f\x0c\x83\x86\x83\xd9\x1f\x9d\x4a\xa4\x23\x05\xf9\x65\x24\x5f\x24\x23\x9f\x14\xe1\x1a\x51\x7c\xfe\xd7\x1e\xf4\x44\x83\xd4\xb3\x0d\xd8\xb9\x0d\xaf\x51\xc9\x76\x03\x39\x13\x31\xff\x96\x3d\xda\xfb\x8b\x8f\xbd\x04\x75\x2a\x12\x68\x0a\x21\x6b\xa6\x4b\xd2\xee\x45\x49\x72\x2a\x4d\x9d\x7a\x83\x3f\x93\xac\x0f\x29\x77\x1e\x1e\x78\x94\x74\x6b\xa9\xee\x47\x6e\xb6\x26\xcf\xcc\xd7\x33\xf3\xe3\x9a\x85\x67\x8e\xe5\x51\xef\xf6\x7f\x38\x29\x0e\x0d\x8f\xc4\xba\x61\xee\x64\x1d\x33\x7b\x43\x3a\xd8\xc8\xed\xd9\x9c\x95\xf3\x3a\x92\xb7\x36\xe5\x75\x7d\x4a\x8b\x99\xdf\xc3\xeb\x71\x09\x26\x49\x5e\xf4\xff\xe1\x52\x57\x41\x4c\x7f\xcb\xcc\x63\x4c\xf3\x51\xd8\x56\x78\x13\x65\x39\x6e\x0e\x3a\x7b\x2a\xbf\x65\xce\x1a\x5b\xdb\xe7\x26\xd9\xee\x75\x62\xdd\xee\xf1\x6a\x62\x96\x7a\x15\x6d\x8e\x39\x53\xa3\x9b\x7d\xfd\xdb\xb7\x7c\x64\xea\xd3\xf9\x71\xfd\x2b\xb6\x5e\x8f\xdb\x68\x42\xd8\xe3\xde\x46\x37\xc9\x72\x3b\x52\x6f\xa0\x79\xbc\x66\x86\x7a\x7b\xb8\x7e\xfd\x6f\x70\x76\x6c\x2c\x24\xa6\x6f\x7a\x3a\x81\x82\x0e\xc6\xf6\xec\x9f\x79\x2f\xd7\x63\x28\x6e\x1b\x1c\x4e\x63\xb9\xdd\xa6\x4f\x69\xe7\x13\x0c\x18\x3f\x66\xfd\xae\x66\x89\xfc\x99\x75\x57\xc1\x39\x32\xcd\x49\x0e\x56\x7f\x7b\x78\x29\xde\x2d\x11\x7d\xb7\xae\x53\x02\x57\xeb\x50\x96\x8a\xeb\xdd\xfc\xff\x3a\x8b\x73\xd0\xd0\xcc\x2c\x85\xed\x4d\x57\xad\x68\xb7\x48\x76\x47\xb6\x5a\xe7\xce\xe3\xf6\xf4\x1e\x79\x87\x8e\x99\xda\x66\xb3\x29\xe6\xb1\x87\xe3\x64\xd2\xba\x7f\xbf\x58\xc6\x57\xf5\xcb\x2b\x7d\x45\x90\x49\x77\xe1\x14\x1c\x7a\x58\x6b\xda\x60\x2d\xdf\xce\x02\x27\x71\x77\xb6\xb5\xfb\x09\x7c\xfd\x7e\xd7\x5f\xd6\x19\x09\x14\x7f\x0b\xb4\x06\x21\x71\x3b\xe6\x6d\x1b\xe6\xb3\x62\x93\x6f\xb2\xc2\x75\x12\x51\xce\xe9\x3f\x90\x36\xdc\x01\x14\xff\x1d\x50\xef\xf7\xb1\x6d\xce\x20\xb1\x25\xb3\x82\xd7\xd8\xe0\xf6\xdc\x06\xfb\x7f\xf7\xf6\x6c\x37\x55\x00\x58\x7b\x08\xc9\x46\xab\x49\xd8\x3c\x24\x94\xdd\x29\xc9\xee\x6a\x29\xbe\x2c\x75\x8f\x32\x33\xfb\x43\x9a\xf2\x13\xc8\x8a\xe5\x06\xbd\x0c\x46\xbc\xe1\x4d\x6c\x21\x0e\x7c\x66\xa8\xab\xa5\x1c\x54\x28\xc1\xa3\x68\xe6\x61\x21\x90\xfd\xbc\x6d\x7a\x91\x29\x5a\x29\xa2\xeb\x78\x48\x4b\xa8\xaf\xe2\x4c\xf6\x8c\xf4\xd3\xb3\x8a\xba\xdc\xbf\xf2\xdd\xad\x71\x5f\xaf\x35\x56\xef\x3c\xc4\x62\x0e\x3f\xd5\x9c\x42\x0e\x25\xd4\xd0\x42\x0f\x14\x38\xcc\xf0\x1f\x24\x68\xb0\x70\x85\x3b\x3c\xe1\x8b\x21\xc6\x98\x63\x89\x35\xb6\x78\xc6\x1e\x7f\x91\x23\xe2\x8c\x12\x35\x5a\xdc\xf1\x8e\xa1\x0b\xed\xe7\xa7\x94\x72\xaa\xf9\x96\xb0\xe6\x5e\x3f\xc6\x13\x3b\xf0\x78\x12\xe5\x4a\x7b\xfc\x4e\xcf\x8e\xa7\x8f\x7e\x94\x5f\x1e\x0a\xe7\xf9\xbf\xfc\x57\x52\x29\xa5\x15\x29\x5a\xac\x5c\xb5\xd7\x5f\x1d\x95\xeb\xac\xd2\x42\x8b\x2d\xb7\xd2\x6a\x6b\xed\x6c\xbd\x51\xe3\x86\xb6\xda\x7f\x93\xa6\xcd\xda\xd5\xee\xf6\x9e\xe3\xe4\x13\xa7\x9c\x76\x5e\x3d\xf7\xd2\xa9\x73\x47\x9f\xfd\xbf\x4b\xd7\x6e\xbf\xf2\xe3\xdf\xfc\xad\x51\x46\x1b\xe7\xe8\x83\x07\xc6\x1a\x32\xee\xf1\x8e\x8f\x02\x45\x4a\xd4\x69\x90\x90\x92\xd1\x45\x9b\x5e\x0e\x9c\x38\x73\xe1\xc6\x27\x0f\x26\x66\x06\x4f\x5e\xfc\xcf\xc2\xca\xc6\x17\x6f\xbe\xf9\xe1\x97\x3f\x04\x24\x14\x54\x34\x74\x10\x26\x16\x04\x17\xbe\xc9\x2b\xac\xb2\xea\x6a\xeb\x5c\x63\xd1\xe2\x85\x25\x4b\x97\xad\x7b\xbd\xff\x41\x8a\x4c\x51\xb9\xe4\xd6\xa0\x51\x93\x66\x2d\xda\xf4\xd4\xae\x3f\x1d\x4a\xca\x0a\x9d\x2a\x6a\x7a\xe9\xd6\x47\x5f\xfd\x2c\x59\xb6\x6a\xcd\x4e\xfb\xd9\x30\x32\x36\xd8\x34\x31\xb3\x6d\xb7\x7d\x57\xb8\xda\x35\x2e\xbd\xde\xeb\xdb\x61\xa7\x5d\x76\xdb\x7d\x63\x5f\x77\xbd\xf5\x2d\xaf\x7d\xe1\xe3\xef\xa6\xd1\x32\x2c\x9b\x17\xcf\x10\x77\xee\xa3\x7b\xe1\x19\xd6\x9f\xb1\x7f\xae\x70\x3d\xca\xf4\xb0\xd3\xe2\xb3\xde\xad\xf7\xd2\xfb\xcb\x22\x3c\xa9\xaf\x31\x68\x32\x98\x07\xe6\x1b\xe0\xe7\x9a\xd7\xf5\xc4\x6d\x43\xc2\x2b\x22\x11\xdd\x48\xb9\x2a\x49\xa0\x5a\x44\xba\x21\x51\xe7\xb0\xce\x08\x57\x85\xf6\xc3\x7a\x63\x8f\x66\x26\x32\x14\x21\x12\xf2\x10\x89\xcd\xc8\x5e\x47\xd7\x20\x98\x0f\xe1\x42\x4b\x02\xc8\x01\x5c\x44\x66\x2a\x07\x52\xef\x88\x69\xed\x58\xc9\x36\x36\x7d\xef\xa7\x0c\xb1\x84\xc4\x76\x3f\xdb\xd0\x62\x93\x13\xc3\x67\xc1\xe8\x80\x8b\xd5\x0a\x00\xfe\x0e\x49\x5f\xce\x0d\xf9\x09\x9b\x87\x04\xac\x43\xa2\xf3\x11\xd3\x92\x39\x91\x86\xe7\x26\x88\xb5\xc3\x6a\x6f\x75\x92\xf2\x6f\x92\x5e\x32\x55\xa4\xf1\x88\x36\x43\x28\x44\x02\x33\x02\xef\x80\x39\x92\xed\x60\x1f\xcf\xdf\x52\x37\xe5\xd6\x2d\x8e\xc0\x69\x36\x2a\xce\x21\x92\x76\x9d\x09\x46\xc6\x20\x12\x84\x90\x58\xe4\x63\x86\xce\x81\xf9\x91\x59\x7b\x47\xad\x04\xdd\xc3\x47\xcb\x76\x22\x5e\x7a\xa4\x81\x17\x5e\x63\xfe\x57\xd4\xb8\xd0\xa3\x4b\x78\x55\x45\x32\xda\x5b\x1a\x56\x63\x09\x52\xcf\xd8\x35\xad\x5e\x3e\x01\xc2\x57\x74\x0c\xe4\xa6\xfe\xc8\xf3\x73\x3b\x47\x2d\x4d\x69\xbe\x71\x09\xe2\x65\xef\x35\x17\xf8\x86\xd8\x71\x73\x7e\x26\xd7\xb2\x5b\x37\x55\x1f\xc5\x5e\x00\x43\xb1\xc3\x70\x23\x3b\x35\x41\x43\xa3\x06\x8a\x61\x4e\x5f\xc5\x8f\xf2\xde\x24\x53\xae\x5e\x4f\xf6\x98\x09\x03\xe7\x03\xb9\x10\x11\x82\x45\x7d\xd7\xe4\xee\xd5\x0b\xf4\xaa\x53\xcd\x6c\x2f\x0d\x54\x37\x78\xdd\xe7\x73\x47\x02\x06\xa5\xfc\xc3\x94\x36\xeb\xe8\xbc\x74\x10\x9c\xe2\x0d\xa6\xe0\x3a\xb3\x2b\x0e\x3d\xa2\xef\x63\x7c\xee\x62\x2f\x2c\xe3\xb6\x18\xa2\xcf\xeb\x18\xf2\x01\x45\x14\x69\x06\x57\x34\x35\x2b\x09\xd7\xe0\xed\x59\xcd\xc9\xfd\x59\xd8\x7b\x11\x9a\x96\x7d\x06\x7e\x3e\x53\xd4\x78\x0c\x94\x50\xd2\x24\xc1\x4d\xa2\x9a\x10\x18\x20\x88\x9a\xca\xb5\xad\x8d\x77\x10\x00\x1f\x02\x3a\x78\xaa\x4b\xeb\x02\x7d\xa4\x40\xf3\xdb\x9c\x02\xdb\x86\xe6\x8d\x2a\xb4\xd6\xe9\x58\xe2\x09\x6d\x58\x6c\x9e\x7a\x88\x62\xf6\x50\x37\xb3\x19\xdd\x4c\x43\x37\x19\x42\xd0\xa7\x3f\x49\x2b\x48\xef\x22\x9b\xee\x2e\x48\xfb\xce\xf7\xc9\xb1\xf4\x42\x5e\x00\xfb\x4d\xfb\x97\x40\x7a\x26\x56\x9f\xf0\x49\x54\x9e\xbf\x10\x32\x56\xfe\x10\xa6\xaf\xb8\xa1\x25\x93\x7c\x99\x4c\xd4\x73\x43\xa7\x8c\xc5\x77\x6f\x79\xbd\x21\x61\x04\x7e\x2c\x72\x8c\x12\x0b\x07\x74\xa2\x51\x9c\x52\x9b\xf7\xd9\x24\x5f\xd0\x6e\xfe\xd7\x06\x0b\xce\x17\xc9\x91\xff\xbf\x1a\xe9\xbe\x5a\x1e\x4b\x59\x48\x59\x16\x49\xff\xf5\xf3\xe9\xff\xa7\xce\xf6\xa6\x59\x4b\xbb\x97\x0a\x28\xf6\x84\x0b\x0a\xce\xe7\x84\x06\x21\xdc\xeb\xfe\xa8\x06\x8a\xd1\xa7\x6d\x85\xe6\x98\x09\xf2\x24\xaf\x0a\x9f\x96\xed\x18\xac\xe6\x86\xaa\x6b\x45\x89\x58\xdf\xef\x01\xd7\x24\x43\x0f\xa1\xf1\xf6\x9e\x34\x98\x88\xd0\x7e\xe4\x65\x2e\xf5\xaf\x7c\xa3\x9a\xec\x08\x26\x93\x9e\x89\x21\x3c\x3f\x23\x30\x08\x5e\x1e\x01\xfb\x3e\x9a\x52\x1d\xfd\xbf\x36\x21\xa6\x07\x35\xa2\xd2\xba\x61\x06\x9c\xee\x35\xb4\xe6\xf6\x3d\x8f\xe9\x0e\xb0\xbe\xe1\xf8\x39\x45\x63\x38\xa5\x21\x5a\x1d\x55\x38\x97\x3f\x39\xf2\x64\xca\xe7\x4f\x88\x53\x1b\xa6\x57\x3b\xe1\xd1\x5f\xdb\x0f\x11\x2b\xfb\xdc\x1c\xe1\xd1\x14\x0e\x2c\x2e\xc4\xaf\x81\x3b\xb4\x31\x95\x4c\xa7\x6a\x67\x5a\x9c\x5f\x0d\x26\xf6\xee\x25\x54\x40\xf3\x39\x5d\xcd\x50\xed\x97\xa2\x3a\x28\x8d\xea\x17\xd5\x23\x34\xfd\x6a\x34\x38\x36\x5d\x69\x4d\xe0\xda\xed\x37\x6e\xda\xc7\xe4\xb1\x6c\x69\x60\x12\xf1\xea\x6a\x82\xfc\xe8\x13\xa8\x26\xbb\xeb\x26\x95\x68\x0f\xbf\x5d\x31\x8c\x10\x53\xad\x81\x16\x70\x7d\x4f\xe6\x24\x7e\x73\x49\x4e\x4d\xd9\xb7\x48\x4f\xc0\xe2\x59\x84\xe5\xc5\x6b\xe5\xa5\xec\xe8\x4a\x6c\x37\x54\xf8\x67\xe7\x56\xe2\x2a\x4c\x94\x21\x72\xf5\x77\x93\x2b\x8c\x23\xf1\x4e\x19\xa0\x36\x17\xdd\x63\x6f\x9b\xbb\xe2\x58\xb9\x2a\x5e\x2d\xfb\xef\xcc\x16\x5f\x66\x38\xf8\xf7\x28\x72\x31\xbf\xfe\x3e\x40\x18\xf7\xca\x82\x96\xae\xc8\x26\x3b\x2a\xc3\xa5\x61\x69\x59\x48\x13\xbd\x78\xd6\xd7\x79\xbb\xa9\xaa\x70\x72\x99\x3f\x98\x97\x62\xbd\x7e\x2f\x57\x64\xaf\x44\x75\x00\x8b\xd2\xd3\xc1\xcc\x4a\x4a\x77\x30\x76\xc9\xd3\x65\xa7\xf3\x01\x42\xdd\xbb\x32\x13\x0f\xd3\x6e\x4a\x38\xef\x6f\xe8\x21\xeb\x3a\xe2\x66\x83\x10\x27\x5a\xe4\xf1\xf2\x40\x58\xc8\x99\x40\xf7\xa2\xcf\xcc\x62\xbd\xc6\x76\xe2\x61\x61\xa2\xf9\x8b\xd6\x66\xca\xcb\x16\x33\x0b\x59\xf0\xc5\x32\xf6\x69\xd9\x28\x89\x9a\x5d\x27\xda\x57\x47\xd9\x38\x58\xa2\x25\xf4\xc8\x8b\x97\x53\xa7\x0c\x8f\x80\x99\xad\x4a\xbd\x2c\x0c\x1a\x76\x2c\xb2\xc5\xaa\x8f\xa8\x34\x03\xbf\xf2\x84\xa8\x56\x6d\x40\x77\xae\x42\x8c\xf3\x00\xb7\x57\x44\x31\xcc\xfb\xe4\xeb\x08\x9f\xd6\xff\x26\xe3\xd7\xd3\x33\x3d\xd0\x3c\x6d\x57\x42\x95\x7c\x1f\x52\x66\x22\x6b\x33\x7a\x99\x39\x55\xda\x2c\x8f\xc0\x12\xa2\x36\xaa\x28\x2e\x50\xea\xf9\x25\xe2\xab\xdd\x13\x09\x5f\x32\xb1\x2b\x88\xbe\xf5\x03\x79\x3d\x99\x92\x55\x10\x5b\x6f\xbd\x45\x51\x7b\xf8\xf2\x21\xd0\x5a\x5f\x31\x0d\xaa\xc2\xf7\xb0\x93\x62\xa3\x4f\xa7\xaa\x0e\xe4\x33\xa5\x5d\x54\xa5\xc6\x36\xcf\xc9\x74\xfd\x61\xbb\xd3\x85\x0c\xe0\xa5\x0b\x8a\x11\x78\x3f\x91\x52\x73\x90\x39\x93\xd2\x7c\xec\x72\x97\x26\xe6\x33\xae\xc9\x02\x53\x3c\x2d\xf2\xf0\x3e\x8c\x9f\xf2\x32\xa1\xc6\x72\x01\x4f\x4b\xf3\x52\x5c\xf0\xe3\x4e\xae\xef\x33\x6b\xbe\xad\x09\x8e\x90\x23\x29\xa9\xe6\x83\x75\xc5\x5a\xc2\x4e\x2f\x9a\x77\xa1\xff\xbb\x42\x32\x5a\xb2\x65\xbd\xf1\xe2\x1a\x49\xee\x7c\x9b\xb5\x03\x36\xc0\xfa\xd2\x7c\x3d\xa5\xf5\x44\xa4\x55\x9d\xde\x5f\xdc\x5b\x53\x85\x7f\xe6\x17\xf4\x7e\xcf\xed\xcf\xa7\xff\xe2\xf7\xc2\x95\x01\x9e\x33\x5d\x29\x05\xe4\x09\x21\x70\x82\x7f\x22\xfd\x2a\xd1\x65\xa6\xc2\x84\x55\xf7\xfd\x02\x7e\x2e\xfc\x51\xfc\x4c\x12\x67\x64\x3f\x7b\xad\x6a\x21\xb9\x3f\x21\xd9\x80\xd0\xc5\x27\xb9\xc5\xe6\xee\x24\xfd\x1c\x9d\x75\xc4\xf6\x6a\x93\x4d\x8b\xab\x66\xe9\x32\xad\xe9\x7e\xfe\x71\x03\xad\xae\xa7\xed\x78\xac\x56\x84\xbf\xdd\xcf\x9c\xd6\xff\x6f\x2e\x72\xfa\x3a\xe9\xa4\x24\x2d\xe9\xf4\x89\x70\x84\x44\xb7\xb7\x18\x07\xe6\x75\x79\xc5\xaf\xbf\xf0\xdb\x77\xff\x34\xdf\x77\xce\xb9\x42\xc2\x80\x3c\x9a\x02\x12\xce\xc6\x8c\xd0\xb6\x27\x81\xeb\x5e\xc3\xf0\xc1\x65\x69\xfb\xd7\x39\x70\x68\x49\xde\x62\x49\xbf\x0b\x13\x5a\xca\x46\x76\x75\xe4\xea\x8e\x6c\x1f\xb3\x25\xb9\xcd\xb6\x28\xcd\xb3\xb5\x84\x38\x13\x78\x46\xeb\x7c\x0a\x5d\x8f\x8f\x22\xa7\x60\x94\x4d\x04\x2c\x1d\x97\xca\x02\x1a\xdf\x89\xaf\x0c\xdb\x76\xd1\x41\x9b\xf6\xb0\xeb\x31\x4e\x9e\x63\x1b\xd6\xd9\x7b\xf0\x8b\x8d\xd1\xa7\x7b\x81\xb2\xf1\x5c\x1f\xf4\xf7\xc1\xb1\x1e\x82\x0c\x09\xe7\x38\x5c\xcd\x9e\x87\xcc\x3b\x1e\xf0\x95\x8f\xcb\xe6\x54\x5b\x8b\x6f\x2b\xcf\xc5\x31\xd9\x5c\x8f\x6c\x74\xab\x1c\x14\x44\xb7\xff\xd9\x3a\x3a\xb0\xfd\x8e\x84\x48\x5f\x2e\xab\x2d\x5c\x49\xbd\x8d\x47\x38\xc6\x48\x15\x3d\x68\x96\x63\xde\xd2\xfc\x24\x48\xef\x78\xd3\x25\xca\x58\x71\x10\xbe\xf7\xb4\x8c\xd9\xd2\xe3\x1e\x9c\xed\xe3\x90\x27\x39\xb6\x48\xaf\x99\xdd\x95\xf3\x07\xe0\x5b\x8b\x1a\xda\x01\x1b\x02\x8b\x9d\x56\x70\x7c\x50\x14\x7b\x9c\x6e\x77\x79\xea\x59\x4c\x0b\x2f\x73\x55\x0d\x4d\x6a\xf0\x16\x23\x81\x98\x5e\xba\xd0\x3b\xf7\x4d\x3e\x45\x46\xab\x7f\x00\x34\x08\x94\x67\x08\x35\x81\xb5\x84\x72\x48\x45\x9f\x69\xa0\xb6\x1e\x8f\x72\x09\xea\x8e\xf1\x16\x8a\x83\xb9\xbb\x18\x64\xa7\xbc\x4d\x76\x28\xa3\xcc\x07\xc9\x4a\xc1\x47\x8a\xa7\x3f\xfd\xc9\x4f\x57\x6f\x35\xa8\x7f\xaf\x6d\x8b\x13\xec\xfd\xce\x8c\x3a\x5a\xe8\xc4\x06\x51\xdb\xda\xd5\x75\x98\x1a\x1e\x75\x11\x39\x70\x0e\xde\x69\x78\x38\x9a\x0d\x09\xb0\x2d\xc2\x27\x8e\x47\xfa\x99\xe2\xa7\x5b\xd2\xe7\xc7\xb7\x15\xaa\x84\x9c\xb6\x60\xee\xde\xb1\xe8\xcf\x20\x8a\xc6\x66\x39\xc3\x0a\xa4\x53\x78\xd5\xa2\x68\x6c\x96\x33\xac\x00\xdf\xdd\x47\xba\x9d\x68\x25\xe6\x70\xc9\x44\xd7\x26\x5a\xbd\x39\x9d\xd7\x8b\x09\xcb\xc8\x9a\xf5\x02\x56\xec\x26\x0a\x97\xa5\x65\xee\x45\xd1\xee\xa4\xf4\x74\xc7\xd3\xf2\x62\xe4\x93\x3a\xd4\x08\x8c\xc4\x99\x1f\x29\xef\x7e\x2d\xfd\xb2\x47\x31\x62\x23\xb2\x06\x94\x98\xb3\xec\x1f\xc2\xdf\x48\xe4\x70\x73\xec\x49\x9b\x38\xee\x33\x3f\x22\x4e\x83\x87\x67\x5a\x24\x62\xdd\x9d\xf4\xf8\x6f\x1d\xce\xfd\x71\x26\xff\xd8\x0e\x0b\xec\xb3\xaa\x53\xa1\xe5\x01\x12\x89\x16\x9d\x30\x1a\xcb\x88\x12\x3e\xe2\xaf\xd9\x66\xa3\x35\xaa\x20\x41\xf0\x7d\x17\xdb\x73\xbb\xa8\x24\x5e\x08\xe1\xaf\x91\x58\xa8\x3d\x7a\x4e\xfb\x96\xe2\x10\x77\x86\x00\x19\x5d\x27\xe9\xfc\xee\x08\x18\x12\x5d\x43\xa9\xa2\x28\x4b\x57\x7b\xb3\x07\x80\x60\x77\x53\x45\xa7\xbc\x41\x1a\x96\xd1\x60\xbc\x3e\x80\x12\x94\x47\x0f\xe6\x08\xdc\x61\x4b\xba\xf1\xc9\x52\x9c\x75\xb4\xe2\x1e\x82\x6d\x41\x09\x88\x89\xb7\xa8\x33\x04\xc7\x62\xc3\xaf\xd4\x57\x76\x5a\x0f\xf9\x0c\xf2\xc8\x90\x9f\xae\xd3\x5a\x6d\x94\x1a\xf8\x21\x90\x14\xfa\x15\x5b\x24\x2e\x7e\xb5\x24\x85\x2e\x62\x4b\xbe\xb3\x37\x7f\xf0\x72\x9d\xad\x0f\xdf\xa4\x1d\xa5\xb5\x1c\xb6\x15\x54\x97\xc6\x1e\xc8\x02\x1c\x26\xf0\x93\xfe\xe0\x7d\x90\x4e\x4a\x94\xb8\x2c\xdc\xe4\xe8\x52\x80\x60\x85\xaa\xdb\xee\x61\x80\x1c\x30\x1c\x76\xf1\xc6\x68\x8d\xe7\xd7\xd2\x9c\x48\xdb\xcd\x7a\x3c\x7b\x30\x9f\x20\x85\x9f\x31\xb2\xa9\x9c\xfd\x87\xbf\x13\x2d\x2f\x27\xf1\x02\x9a\xb5\xcc\x74\xb8\x67\x74\x56\x61\xe2\x39\x93\xae\xbd\x28\x31\xf2\x9a\x92\xfa\x28\xa1\xb7\x36\xf1\x91\xc5\x3a\xbc\x90\x8b\x5b\xe0\x4b\xb8\xc7\xbe\xc2\xfa\xcb\xe0\xba\x55\xfe\x97\xec\xe8\xfa\x7f\xb5\x09\x1e\xcb\x3c\x65\x36\x5f\x7e\x6b\x88\xf1\xb6\x1e\x14\x3e\xcb\xa2\xb7\xc5\xc6\x39\xc7\xfe\x0b\x76\x3c\x33\xc0\xe9\xd8\x36\xe3\xa1\x60\x76\x86\xcf\x3b\x3d\x6d\x35\x9b\xe5\x89\xd9\x3c\x2f\xcc\xf6\xf3\x83\xd9\x41\xde\x99\x1d\xe6\x83\xd9\x51\xde\x9a\x1d\xe7\xa5\xd9\x2f\x79\xf3\xc0\x96\xf3\xfc\x66\x2a\xf9\x68\xaa\x79\x6a\x6a\x79\x6d\xea\x79\x65\x5a\xf2\xbd\x69\xe4\x1b\xd3\x9a\x1f\x4d\x5b\xbe\x33\xeb\xf9\x99\x63\x88\x5f\x3d\xe3\xfc\xea\x6e\x82\x52\x05\xf5\xd9\xd5\xe4\x60\x0f\xfe\x83\xcf\x89\x25\x36\x2c\x08\xc2\x65\xf2\x8a\xb2\x74\x6b\x69\x92\x0d\x57\xb1\xf5\x0c\x1b\x0a\xc1\xd6\x0d\xd5\x86\x79\x76\xf3\x4b\x90\x57\x4b\x3f\x13\x1b\x0f\x29\x6d\x0d\x61\xea\x1c\x77\x4d\xad\xf2\x12\xd4\x84\x96\xcd\x08\xcd\x5d\x64\x3a\x38\x2e\x0c\xb0\xe7\xdb\xe1\xdb\x99\x43\xb9\x93\xe0\xfd\x37\xc6\x7d\x10\x95\x27\x5a\xb5\x1b\x3d\x93\xfe\xec\x27\x6c\x14\x86\xda\xb3\xfb\x9f\xab\xd4\x28\xe7\x4c\xd3\x23\xeb\x2c\x9f\x10\xf8\x6a\x36\x13\x36\x52\xed\xf9\x94\x3f\xf7\x21\xd3\x41\x4d\xd0\x04\x1a\x49\xbe\x4e\x7b\x83\xc6\x8c\x33\xbd\x33\x7f\x54\x27\x97\xab\xa0\xed\xde\xe0\x03\x9d\xca\x77\x12\x93\x29\x87\xf9\x93\x64\x1b\x46\x3b\xd2\x97\xb5\x9b\x9c\x02\x53\xac\xfc\xb0\xfd\xd0\x7d\xd8\x17\xde\xea\xf0\xe3\x2b\x58\x7d\xf2\xb8\x2f\xac\xbe\xf6\x2f\xb9\x57\x9c\xf5\xbf\xcb\x7b\x70\xac\x11\x80\x1e\x6f\xf9\x36\x77\x49\xf0\x4e\x26\xa0\x62\xb1\xcc\xdd\x90\x0e\x9e\x4b\xe1\xb9\x8d\x16\xef\x1b\xcf\xe3\xc7\x86\x3c\x2a\x1c\xdc\xb9\x57\x6b\xf5\x61\xc4\xcd\x0c\xdc\xdc\x29\x93\x6f\x6a\xdf\xc9\x24\xbc\x27\x78\x1f\xc6\x63\xd7\xa2\x8d\x28\xba\x99\x0c\xc0\x4e\xd4\xac\x21\xd3\x21\xa3\x7f\xa7\xc1\x14\xd1\xe9\xa4\x24\x1f\x54\xf2\xee\xbd\xf9\xdd\xf3\x8f\xec\x80\x15\x1c\x75\xd4\xef\x23\xcb\x6a\x04\xc8\xc7\x72\x14\xb5\x31\x10\x5d\x8e\xce\xd8\x26\x30\x75\xa5\xd1\x65\xbb\x5a\x28\x44\x2e\xbf\x4f\x1b\x45\xef\xe5\x1f\x6b\xab\xbc\x91\x8e\xbc\xb8\xce\x7d\x6c\xb7\x86\x57\x1d\x96\xfa\xf2\x3b\xe9\x64\x32\xe4\x54\xdd\xb4\x2f\xab\x01\x2f\x8e\xa2\xcf\x28\x4a\x3f\xe1\xbe\x94\xbf\x0e\x46\x57\xf5\xd7\x82\x2a\xc4\xcf\xe2\x3d\xfc\x5e\x20\x69\xed\x1c\xdb\x90\x5d\x12\x93\x4f\xe5\x06\x5c\x96\xd5\xe9\xb5\xc9\xe9\x09\x74\x49\xdb\x0b\x27\xa8\x7a\xe2\xe6\x5b\xee\xba\x4d\x9e\x4f\xcf\x0c\x90\xc9\x2e\x27\xc5\x17\x46\xbd\x6c\xc2\xf8\x93\x09\x06\x4a\x87\xa7\xa4\x87\x5e\x04\x12\x05\x09\xcb\xe8\x2d\xf1\x1a\x8f\xc0\x3b\x36\x3a\x7c\x8f\xbc\x05\x89\xe3\x7d\x42\x39\x6b\xe6\xd9\x32\x6b\xc6\x38\xfb\xa9\x62\x47\x11\xb7\xfc\xc3\x36\x16\x59\x1a\x69\xa5\xfe\x79\x14\x88\x7a\x2d\xa1\x2b\x35\xb5\x89\x89\xb2\x87\x0f\x70\x98\x1f\x9d\x8c\xe2\xf3\xea\x29\x18\xc6\x7e\x86\xa7\xb2\xb8\x4e\x45\x94\x0b\x18\x31\xd6\xc3\xa4\x6c\x33\x72\x2f\x70\x1a\x4f\x02\x32\xfc\x5a\xe5\x0c\x72\x2b\xd7\xfe\x38\x33\xaf\x94\x9d\x9f\xb6\x6f\xcc\xd9\xde\xe1\x5c\x23\xf4\x8a\x50\xb3\x8e\xc0\x26\x9e\x1d\x64\x2d\xc3\x6c\x35\xd7\x61\x8b\xca\x1e\xdd\xf4\x58\x64\x8c\xbe\x16\x52\x02\x7a\x31\xa1\xb5\xd8\x82\x41\x7f\x9b\xab\x5f\xc5\x5e\x60\x1a\x88\xb6\xb0\xc9\x3d\x3c\x2d\x68\xcf\x2c\x44\x30\xac\xf7\xd7\x75\xb8\x56\xba\x92\x76\x7f\xfc\x59\x7f\x34\x4e\x7c\xe9\xfb\xea\xa3\xb9\xef\x0e\x9a\x62\xca\x93\x6f\xe2\xb6\xc8\xa7\xe9\x11\xd9\x82\xa5\x7e\x5c\x62\x77\xc6\xce\xc7\x38\x1c\x95\x8c\x1b\x95\x73\xbd\x90\x6d\xf2\xcb\xc8\xb3\xc2\x90\x26\x89\x01\x1e\xcc\x39\xc7\xa8\xc5\xd8\xf3\x5a\x83\x47\xb6\xd5\xaf\xfd\x0d\xb7\xec\x10\x6b\x5b\xb9\xcb\x34\xdf\x75\xf4\xe7\x9f\x1a\xf1\x83\x0f\x68\xbe\xf6\x03\x9d\x25\x14\x96\xe3\x4a\x25\x30\x08\x4f\xbe\x78\x40\xaf\x88\x22\x7f\xaf\x06\x65\x67\x73\xee\x40\xeb\xae\x6e\x91\xe3\x27\xc6\xf9\xe7\x92\xa5\xfd\x72\xa0\x90\x11\xf5\x4e\x2c\x2b\xca\x91\x3a\x9c\x47\xaa\x27\x08\xe7\xc5\xd8\x38\xb1\x54\x1b\x18\x1d\x5c\x70\xbd\x13\xb4\xd2\xb9\x09\xec\x4c\xcf\x73\xab\x52\xc0\x32\xfc\xa0\x3f\xbd\xbb\xe4\x3a\xed\xda\xe8\x7d\x63\x29\x26\xd9\xb9\xd9\x21\x1d\xfe\xf8\x07\xee\xaa\x63\xf5\xd1\x3f\x9c\x7f\x61\x5b\xb0\xdf\x19\xd2\xf5\x89\x50\x66\x29\x1e\x14\xe4\x84\x29\xc9\xc1\xb8\x8f\xfb\xe2\x93\x73\x56\x68\x3a\xf5\x20\xc3\xf7\xcd\xf9\x9b\xe9\x2e\xf0\x9e\xe6\x42\xef\xe9\x7e\x48\x8e\xe7\x87\x33\x79\x1d\xf9\x1b\xe9\x80\x4d\xfd\xf3\x34\x40\x6f\x82\x51\xce\x62\xa6\x62\x8d\x47\x23\xca\x09\xd9\xe6\xdf\x6a\xed\xc0\xbf\xff\xe0\xeb\xf7\xfb\x6a\x4b\x79\x19\x46\xa9\x79\xbb\x7f\x07\xfe\x71\x59\x06\x59\x77\xf8\x0e\xe1\x96\xfd\x70\xf5\xff\x00\xba\xcc\xa7\xcc\x24\xf5\x0b\xa5\x03\x70\x9c\xc8\x3f\x19\x29\xaf\x5d\x6e\xf6\x69\x90\xf0\xa5\x1f\x09\xc4\x9f\xf0\x4b\x98\xfd\xa1\x97\xd5\x6f\x5d\x56\xea\x02\xe3\x46\xe9\x77\x66\x94\x16\x8c\x3e\x6a\x8e\xf4\xb5\xc4\x9c\x79\x80\x05\x54\x41\xc7\x8c\x01\x9b\xf3\x32\x10\x49\x8d\x5d\x20\x26\x13\xb5\x8c\xe6\xe1\xbc\xaf\xe2\x98\x9e\x12\xd5\x68\xac\x6c\x9c\x79\x2c\xbe\xa2\xcf\x79\x68\x17\x78\xde\x14\x2e\xfb\x71\xbd\x42\x94\x7d\xda\x4a\x77\x35\xb7\xe0\xc6\x98\xd8\xab\x3d\x68\x28\x7a\x49\xb8\x88\xfc\x9a\x7b\xb2\x75\x4c\x14\xea\xc8\x74\x05\xba\x70\x6c\xe6\x92\x65\xce\x8c\xfd\x52\x22\x89\xc9\x1e\xd8\xaa\x53\xe2\xaa\x60\x15\x07\x53\xed\x0d\x7c\xd6\xf3\xa6\xfd\x6c\xd6\x8e\x26\x56\x55\xa2\x5b\x50\xd3\xd1\x92\x61\x9b\xd2\xa2\x4f\x57\x2f\x10\x65\xa1\x11\xff\xe4\x57\x02\xc5\xb9\x1f\x8b\x54\x9a\x04\xcf\xe0\x89\xdf\xc9\xcf\x8a\x36\xf3\x54\x86\x69\x77\x39\x07\x6b\xf7\x16\x8c\x94\x90\xc8\xca\xd3\xd1\x97\xe0\x45\x28\x49\x97\x65\xfa\x76\x35\x3f\x77\x45\xd2\xed\x2a\x60\xd9\xd6\x92\x91\x37\xec\x5a\xd2\x42\xa7\x19\x8e\xc3\x96\x9a\x72\x78\xb5\xc2\x50\x06\xec\xdd\xe9\x2d\x4a\x80\xa4\x81\xd2\x94\xa5\x59\x94\x2b\x8b\x62\x66\x4b\xa2\xa2\x06\x7a\xe3\x4d\xad\xae\x60\x92\x67\x68\x10\x7a\x28\xbb\xba\xb3\x48\x6e\x12\xf9\x55\xdd\xba\xbb\x8a\x55\xfa\x8c\xcd\x64\xe4\x86\x9b\xd7\x50\x43\x6b\x84\xce\x21\xf5\x63\x06\x5a\x3c\x1d\x07\x4f\xcb\xb6\x1b\x4b\x74\xfd\xe5\x7c\x4c\xb1\xc9\x51\x48\x12\x0c\x73\x3f\x52\x54\xea\xb5\xe0\xfb\x7c\x59\xae\x4a\xbb\x9f\xa9\xde\x5a\x6e\x83\xc7\xe0\xea\xf5\xfe\x21\x63\x60\x97\x72\xa3\xb2\xf8\x19\x48\xf5\x0f\xaf\x97\xf3\xe6\x7c\xcb\x9e\x63\x38\x27\x65\xd5\x45\x0f\x82\xe1\xdc\x85\x96\xdb\x15\x0a\xb7\x99\x70\xd3\x2c\x73\xa6\xac\x1a\x7d\x60\x1a\x0c\xb1\x1b\xba\xe7\x23\xad\x17\x67\x7f\x33\xbf\x89\x7c\x81\xc4\xf0\xa1\xc9\x2e\x1b\x36\x6e\x75\x5d\x11\x1c\x6a\x46\x78\x99\x93\x61\x00\xd8\xbb\xf2\xc6\x22\x8d\x8f\x1b\x3e\x19\xf5\x24\x28\x35\x37\xad\xb8\x2c\x49\xbf\xa7\xbf\x53\xc1\x51\x5b\x20\xb8\xab\x64\x3a\xb9\xc8\x17\x9d\x26\x22\xf6\x8c\x6e\xbb\xb0\xd5\x1a\x30\xc6\x4a\xe5\x6e\xae\x57\xfa\xbc\x84\xf0\xef\x79\x5b\x69\xf2\x0b\x76\xa6\x08\x71\xd2\x52\xc7\x71\xa3\xff\xd8\x9c\xf2\xcf\xc7\x59\x87\x2e\x2a\xe3\x58\x9a\x90\xf4\xa2\x6f\x78\x05\x6c\x4b\x2f\x64\xc6\xa0\x74\x85\xf0\x3e\xaf\x11\xc3\x2a\x11\xef\xb5\xfa\x92\xd6\x75\xd6\xa3\x87\x39\xe9\x8f\x49\x79\x85\x6e\xa3\xd9\xe3\xb6\x96\xa5\x8a\x5f\x0e\xdd\xe1\x05\xcb\xab\xd0\x5c\x72\xc9\xde\x7c\xce\xb2\x01\x0c\x84\x81\xa8\x41\x6e\x20\x63\xa4\x4d\xc2\x87\x76\xe5\x6b\x05\x74\x85\xee\xe3\xd8\xa6\x49\x1f\x50\xf3\x46\x17\xd9\x2f\xe8\xe2\x9c\x6a\xe4\xcd\xec\xb9\xe6\x56\x77\x23\x62\x25\x0b\xa3\x90\xbd\x20\x27\x0a\xca\x18\x8a\x6f\xa3\xc7\xa9\x41\xdd\x6b\x62\x41\x1b\xe3\x88\x93\xc9\x8f\x9a\x09\xb0\x7c\xed\x88\xb0\x86\x72\x87\x3f\xaf\xbd\x88\x5b\xc9\xc2\x16\xf6\x13\x5b\x88\xa9\x09\x15\xe2\x4f\x13\xca\x22\x13\x57\xce\x64\x25\x27\x65\x2b\x69\x1e\x06\x8d\x80\x1a\x36\xd9\x7b\xbb\x34\x20\x85\x50\x1a\xf4\x2b\x37\xbc\x6a\xe9\x1a\xcc\x24\x2c\x19\xed\x20\x86\xa3\x5f\xfe\x46\x6c\x68\xa1\xbb\xd9\x27\x18\xef\x9a\x97\x95\x92\xb4\x37\x4d\x63\xbe\x3f\x5b\x8e\xef\x94\xeb\xe9\xc3\x5c\x96\xff\x96\x22\x45\x70\xd8\xc2\x22\x35\x53\x7a\xbe\x70\x96\x0e\x1b\x3b\x47\xa9\xf3\xa7\x76\x18\x2d\x7f\xf7\xd4\x1b\xb6\xe7\xf2\xf5\x75\xbf\xf6\x57\xd2\x66\x76\x0d\x11\xc3\xcc\x7e\x3d\x89\x8d\x1a\x3e\x27\xf7\x9a\x64\x16\x44\x4b\x77\xca\x75\x0d\x1d\x98\x6a\xbc\x85\xaf\x79\x45\xc8\x7d\x4c\x22\x8f\x59\xf6\xa2\x05\xce\xef\x87\x9d\xe7\x6f\x32\x86\x1e\x79\x93\x21\x09\xee\xb3\x65\x0f\x7d\x67\x6f\xc9\x1d\xd7\x56\x3f\xb1\x79\xed\x39\x27\xde\x64\x74\x93\x6e\x45\xa2\x2d\x70\xd0\x68\xdf\xcc\xf5\x50\xe0\xc9\x70\x28\x68\xf4\x4c\x98\x5b\x02\x3c\x42\xd2\x4a\xed\x60\x3f\xa0\xab\xbd\x96\xcb\xea\xda\xb1\x4c\x22\x77\xeb\x46\xb3\x81\x5a\x94\xa8\x0a\xa5\x35\xec\xfe\x6c\xdc\xf5\x9e\xd0\x6e\x31\xfc\xa4\x4b\x41\x44\xb0\x42\x52\x01\xe5\xd9\xc3\x7f\x87\x23\x5c\x89\x40\x70\x82\xe0\x49\x21\x57\x07\x74\x76\x25\x61\xa7\xde\x8d\x21\x24\xa4\x0d\x5e\x81\x04\x74\x3e\x28\x35\x92\x3a\x64\x91\x7b\x35\x84\xdb\xf6\xf4\x9c\x6a\x69\x57\xc8\xd5\x18\x16\x93\x1d\x60\xa8\x82\x30\xcd\x8c\x5d\x36\x2a\x98\x96\x76\x12\x4e\xf0\x24\xc8\x3c\x7b\x08\xb1\x01\x0c\x3e\x0f\xe7\x73\x8d\xd4\x22\x5b\x68\xe8\xc0\x64\x97\xce\x99\xb7\x7a\x3f\x93\x9b\x19\x96\x5b\x01\x4d\xa2\x91\xc7\xbd\x07\xa2\x83\x0b\x90\xeb\x79\xb0\xac\x05\x41\x19\xe3\xbe\x9f\xd2\x1c\x61\x07\x1a\x59\xed\xc2\x58\x1f\x8a\xc4\xc1\x7a\xe5\x16\x14\x36\xc6\xd5\x53\x1b\x85\x04\xdb\x09\xd8\xbe\xbb\x41\xf6\x0c\x9d\x30\x9b\x28\x0c\xd2\x45\x9f\xd5\x8c\xe7\x15\x80\xb2\x8b\x85\xb1\x34\xe6\x14\xc6\x67\x03\xa9\x68\x7d\xed\xc9\xc3\x6a\x53\xf8\x45\x9a\xce\xc1\x71\xec\xa8\x77\xc6\xef\x92\x9e\xb3\x4e\xec\xd1\xed\x98\xd0\xd0\xda\x9b\x4d\xb4\x22\xe4\x15\x7c\x8e\x67\x5b\xb1\x26\xab\x3b\x06\x74\x89\xe6\x72\x63\x4b\x64\x2e\xcc\x8c\x6d\x8c\x34\x71\xc8\xca\xb8\x3d\xfa\xf4\xd3\x55\xe6\x2c\x48\x66\x4f\x13\x37\x68\x72\x8a\x29\x54\xd0\x87\x3c\x34\xeb\x85\x2c\x98\x36\x06\x8a\xb8\xd2\xf2\xd0\x0b\x58\x92\xb3\xc3\x3d\xaf\xdb\x03\x4c\xf7\x46\xd0\x80\x71\x2e\x08\xeb\x80\x55\x6f\x28\xb1\x9e\xa4\x08\xe6\x5a\x90\xd9\x5a\xa8\x84\x97\xf8\xda\xc0\xfe\x18\xe7\xf0\xb0\x0f\xd1\x5d\x8e\x01\x07\x27\x1d\x54\xe3\x6a\xd1\x13\xb1\xca\x63\x9b\x26\xd5\x3c\xd5\x5e\x38\x26\x61\x3e\xe3\xc6\x38\x55\x9b\x5a\x04\xb8\x70\x3e\xb9\x23\x2d\xef\x73\x30\x47\xbd\xbd\xbd\x5b\x39\x63\xfa\x99\x8d\xd0\x84\x51\xa8\x22\x67\x91\x73\x63\x65\x0a\xeb\x91\x1d\x96\xc1\x39\xc3\xda\x2a\x73\xe2\x82\x8e\x00\x35\x12\xa7\x38\x57\x0b\x8a\x5c\xf1\xac\x28\x56\xab\x93\x72\x11\xb4\xa5\x33\x85\x60\x7d\x81\x1c\xc2\x39\x89\x58\x87\x50\x0c\xbb\x39\x55\x6a\x72\x8e\x4a\xf6\x2e\xf0\x60\x8d\x13\xb8\xb6\xe9\x07\x74\x1c\x7a\x51\x4c\x3f\x9c\x0c\x14\xf9\xf3\x29\x08\x03\xf6\xd4\xd1\x2d\xf2\x88\xc8\xea\x50\x7a\xbf\x29\xd9\x44\xb0\xbf\x72\x86\x18\x0f\x83\xd5\x35\x46\x56\x12\x73\x95\x83\xa3\x01\xc9\x5c\x40\x82\x0c\x83\x8c\x4d\xef\x12\xc5\xc1\x79\x27\x05\xb9\xd3\x1f\xef\x4b\xaf\x52\x90\x14\x62\x4a\x66\xe1\x26\x44\xc6\xa4\x8e\xe6\xc8\x55\xf1\x87\xe1\x5b\x71\x8c\x0f\xca\x19\xe3\xb3\x24\xc3\xaf\xd8\x5e\x47\xb3\x9d\x8d\xdc\x06\x78\x11\x54\x09\x10\xb2\x62\xa1\x64\xfb\x95\xc0\x3b\xc3\x70\xc4\xb1\x4c\x4f\x18\xe6\xcc\x30\x0c\xcf\x81\xc3\xa3\x05\x70\xef\xf0\x91\x4e\x7e\x5c\x91\x8d\x88\x44\x46\x9e\x34\xa3\x82\xfe\x51\x5b\x5c\x29\x9d\x27\xe4\x8e\xea\xd0\x26\xd6\x75\x9e\x40\x04\xe6\x90\xdb\x9e\xe2\x6b\xd9\x7f\x70\x66\x6a\xaf\x27\x8e\x49\x36\x4a\x3e\x12\x68\x1f\x09\x8b\x96\x43\x29\x88\x3c\xdf\x7b\x0a\x66\xa3\x90\x56\x2a\x98\x5e\xc3\x38\x2f\x16\x27\x43\x28\x8e\x35\x9e\x0a\x8b\xce\x46\xd0\xa9\x8b\xe3\x34\xe2\xaa\xed\xce\xae\x65\x2c\xd9\x55\xb5\x0d\x1a\xa0\x42\x3f\x5c\x8c\xab\xd1\x27\x4e\x08\xd8\x2b\xd9\x62\xfa\xb0\xae\xb4\xa5\x26\x4d\x09\x45\x40\xb6\x60\xc0\x6d\xd8\x76\x71\x28\x43\x94\x04\xd0\x97\x19\x90\x80\x0e\xee\x26\xe2\x7b\xee\x31\xb3\xa3\xa8\xc7\x1b\x77\xb7\x65\x91\xf5\x11\xd9\xe6\xe8\x19\xe3\x65\x44\x49\x4b\x74\xc7\xd5\xc8\xc6\x16\x2b\x5b\x18\x16\xda\x10\x9a\xc3\x8b\x11\x47\x0f\x35\x7f\xdf\xc1\x08\xa1\x2d\xf3\x7c\x0c\x7a\x12\x61\x42\x5a\x12\x02\x77\x2e\x35\x45\x0b\x39\xed\x68\x93\x77\xa7\xd9\x12\xa9\xab\x18\xc7\xd1\xee\xe6\x1e\x98\x44\x4e\xc9\xbd\x1d\xc8\x73\xee\x3c\x73\x42\x9b\xd6\xc4\x2f\x59\xb0\xb7\x24\x2c\x43\x26\x22\x46\xc7\xd2\xe8\x87\x74\x95\x13\xbd\xc5\xe2\x27\x75\x30\x7e\xb6\x1b\xc2\xd4\x44\x26\xc5\x80\xe4\x24\x75\xad\xcf\x64\x4a\xe9\x4d\x21\x0e\xce\x76\x0d\x5b\x7d\x34\xd3\x17\xb3\x87\x72\x31\x8e\x63\x86\xd5\x34\x42\x6d\x93\xd1\xe1\xcb\xc2\x70\xe5\x85\x04\x50\xe4\xe6\x53\x99\x35\x95\xb6\x60\x82\x0c\x89\xf5\x77\x45\x91\xbc\x09\xb3\x68\x57\x22\xb7\x40\x9c\xb1\x32\x14\x6b\x4c\x40\x0d\x95\x41\x46\x80\x08\x96\x57\x67\xe7\xbc\xdd\xec\xaf\x64\x67\x03\xef\xe5\x81\x03\x19\x31\xc1\xb6\xcb\x16\x28\x76\x72\xd8\xe9\xf8\x2e\xed\x21\x2b\xc9\xa1\x4f\xdd\x01\x89\xa6\x52\xb7\x66\x82\x2e\xb5\x95\xe6\x62\xc8\xc4\x23\x11\x67\x0c\x8d\x91\x36\x45\x2f\xc9\x1f\x63\xd9\xa9\xd4\x03\x49\x35\xd2\x86\xe5\x6b\x78\x53\x6c\xe2\xc3\x24\x77\x70\xab\xc3\x1b\x69\xdb\x8e\x4c\x50\xb7\xb9\x1e\x7c\x0e\x85\x8b\x94\x1c\xbc\xf0\xc8\x31\x2b\x6b\x29\xb8\xe7\xa4\x95\xf7\x42\x2f\x1b\xe1\xbd\xde\x57\xb9\x33\xba\xac\xc6\x91\x7f\xe4\xa5\x33\x7f\x46\x13\x39\x0e\xd2\x9b\x14\x1b\x18\x57\x87\xaa\x6d\xb8\xcc\x9a\x41\x72\xf5\x46\x5f\x18\xf7\x65\xfb\x83\xbb\x65\x3d\x6f\x79\x32\x7b\xe6\xd0\x7a\x07\x4a\xde\x97\xac\x0e\x36\x08\x93\x4e\x6c\xf7\x7a\x88\xfa\xa3\x46\xa8\x3f\x01\xe5\x0f\x48\x7e\x7e\xe9\x93\x7d\x62\x0e\xa2\x0c\x06\x11\x4b\xba\x31\x3c\x42\xec\x92\xed\x1b\x70\xb2\x75\xd2\x74\x58\xf6\x6d\x2c\x06\xa7\x4f\xf4\x54\xbd\xb9\x0f\x3f\xbf\x5c\x5f\xca\x84\x17\xed\x4a\xca\xec\xd3\x73\x0f\x6b\xa6\x9a\x18\x5f\x53\xe1\x30\xeb\xba\xe6\x0c\xb3\xc1\xdd\x50\x95\x4b\x77\xb9\xab\x68\x48\x88\x6f\xca\x0c\x48\x65\x98\x03\x32\xcb\xcf\x7c\x41\x06\xa0\x79\x40\xad\xd7\x6b\xb2\x3a\x11\xd7\xf8\x62\xcb\xe3\xc9\x54\x94\xf8\x6b\xdc\xdc\x48\xb7\x2c\x99\x2a\x37\x61\xca\x51\x4e\x69\x8d\x98\x7f\xc9\x28\xb3\x1c\x44\xac\x2b\xd6\xa5\xb4\x83\xc3\x66\xe4\xe8\xfc\xda\x9e\x66\x2d\x9d\x10\x43\xc4\x03\x7b\x5c\x32\x0b\x98\x00\x43\x37\xdf\xa0\x8f\xe3\x2f\x9d\xb3\xff\x01\xb5\x99\xc6\xe9\x80\x73\x63\x2c\xaf\x4c\x9e\xc9\xff\x88\x92\xc8\x63\x62\x8a\x35\x26\x44\x03\x6a\x61\xd3\x53\x35\x0b\x17\xbc\x1a\x0b\xdb\x33\x5e\x16\x80\xe3\xe9\xab\x21\xb4\xa9\x1b\x58\xd8\xd9\x46\x6f\x47\x45\xef\x83\xbb\x4b\x42\xab\xb8\x71\x6a\x4f\xe2\x38\x86\xcf\xe6\x8d\xbb\x3b\xc8\x14\xfe\x05\x16\xd7\x5c\xb6\x98\x6f\xdd\x2a\x3c\xdc\x21\xd6\x32\xa7\xaf\x00\xad\x0e\xad\x3a\x4d\xb7\x07\x12\xcd\xb4\xd7\xdb\x4d\x19\xf9\xc5\x0f\xf9\x3e\x4e\xe7\xc6\x3d\x64\xa6\x5d\x9a\x9b\x32\x15\x34\x98\x2f\xae\x0b\x91\x5c\x6e\xdc\x0c\xc8\xb3\xc1\x38\x78\xf3\xaf\xb3\xd3\x6a\xa3\xdb\x08\xaf\x1c\x7d\x67\xcc\x77\xee\x74\xe4\x16\xfb\xb9\xfe\xb2\xca\xe3\xb7\xcd\x6a\xf6\x47\x3f\xdb\xef\xbf\x8f\x78\xd5\xef\x20\x24\xbc\x61\x65\x1c\x23\xfb\x2b\xd8\xe9\x1f\x9a\x90\x17\x9a\x1a\x2f\xd3\x5e\x64\x1e\x51\xe9\x8b\x69\x68\x94\xa0\x2a\x43\x51\xf3\xf4\x31\x19\x61\x85\x50\x51\x53\xa4\x09\x48\xb9\x4e\x34\x2d\x6e\x59\xb7\xba\xab\xc8\x83\xab\x59\xe3\x89\x22\x9a\x99\x8d\xa4\xf9\x88\x17\xba\x37\xdf\xa5\x5b\xd2\x6a\x37\x53\xa9\x95\xc9\x96\x57\x03\x37\x35\xca\x61\xa8\xbb\xda\xf8\x91\x37\xf6\x4c\xee\xb1\x85\x4c\x9c\x49\x6e\x0c\xba\xb3\x4a\x03\x8a\x01\xb8\x61\x4b\xd7\x59\xc8\xa8\x0f\xa3\xeb\x94\x31\x21\xdb\xac\x88\x31\x8a\xbe\x95\x8a\x79\xa6\x43\x92\x58\x32\xfd\x84\x84\xbc\x06\x6e\xf6\x8e\xae\xb1\x87\x35\x9a\xe3\xc0\x61\x2e\xe6\x1f\xf5\x89\xd8\x09\xd2\x5b\xac\xc9\x2b\x91\xe0\x82\x1d\xe5\x17\xb3\x04\xe2\x32\xd0\xf4\x97\x22\x82\x2b\xaf\x65\xfb\x74\x17\x30\x8e\x86\x99\x32\x10\x99\xc0\xb9\x4e\xd6\x38\xd2\x04\x8a\xd3\x8b\x1f\xff\xf4\x2b\x18\x87\x6a\x20\x97\x46\xa0\x95\x64\x21\x10\x49\xe6\x6e\x2f\x60\x02\x78\x0a\xf2\x08\x30\xe9\x48\x66\x92\x3b\x6a\x20\xd5\x38\x42\xc3\xbd\xa8\x1a\x00\x46\xcb\x42\xe5\x68\x1a\x0e\x39\x70\xfa\x67\xbf\xa5\xe0\x1c\x35\xe8\x5f\x64\x43\xda\x46\xd8\x32\x57\x51\x0c\x18\xe6\xf1\xae\x2d\x03\x3c\x99\x75\xd1\x3a\x6d\x21\xe7\xdf\x48\x53\x9e\xbb\xfd\x83\x0b\x17\x84\xa4\x84\x43\xc2\x6e\x13\x64\x88\xae\x91\xcb\x44\xc9\xf1\x1d\xe9\x11\x60\x1f\x26\xd2\x75\xb0\xb6\x5b\x87\x1c\x2c\x34\xdc\xe5\xe3\x72\x0b\xc6\x4b\xbc\x2e\x1f\x13\x3f\x9b\x31\xc9\xf8\xe2\x6f\xb6\xe3\x63\xbe\x0a\x1d\xef\xce\xbe\x31\x88\x97\x47\x6d\xe9\x19\xaa\xab\x91\xc7\x91\x39\xe2\x41\x9c\x93\xdf\x16\xe9\x96\xb1\xfc\x98\x2f\xc2\x33\xf8\x25\x97\xa3\x32\xa1\x69\x38\x94\x2a\xf0\x31\x32\xaa\x69\x79\xa9\xd3\xb3\x02\x69\x5a\x56\x25\x14\xee\x52\x0a\x68\xc2\x75\x93\x7f\xa6\x14\x07\xa5\x52\x67\x7c\x22\x25\x13\xdb\xde\xf5\x63\x76\x78\xc1\x83\xf6\xef\xda\xe8\xd2\x7e\x93\xe4\x4b\x7f\x01\xbb\x48\x9d\x55\x08\x40\xaf\x1b\x64\x00\xd6\x1b\x49\x2a\x42\x0a\x14\x48\xbe\xec\x57\x46\x11\xdd\xe4\x24\x52\x6e\x21\xc3\x8d\xff\x76\x0d\x15\x99\xb6\xa9\x66\x5a\x1c\x22\xe9\x1e\xe2\xc1\xc1\x9d\x32\x2c\xf5\x6d\x59\x9a\x2d\xf5\x23\x2e\x7a\xc3\x05\xd4\xfe\x40\x99\x5b\x7d\x6c\xb8\x8b\x5e\x9e\x31\x01\x59\x96\x2e\x15\x6f\xaf\xe6\x79\x46\x23\x8f\xab\x09\x02\x9d\x1b\x31\x8f\xd9\x86\xed\xf0\x19\x76\x5c\xf5\x89\x2c\xfc\x65\xb0\x85\xb5\x4d\xc6\x0a\xe6\x8e\x9e\xac\xcf\x6c\xbc\x84\x24\x50\x46\x08\x7c\xe3\x4d\xef\x07\xf6\x92\xcd\x63\x08\x09\x67\xbc\x4b\xa0\x2b\x6a\xbb\xc0\x67\x8e\x67\x89\x3d\xd0\x8f\x82\xda\x98\x0d\x90\xa0\x8d\x2f\x78\xf3\x9d\xe4\x2c\x7b\x7b\xf1\xc7\x82\x76\xa0\xdd\x09\x77\xe9\xc3\xe1\x0d\xc0\x50\x00\x85\x6e\x47\x9a\xb4\x48\x46\x9c\x8d\x36\x74\x8b\x5e\x65\xae\x4d\xe9\x76\x9d\x89\xec\x70\x89\x4b\xa6\x98\x2b\xa9\x88\xc8\x15\x89\xf3\x45\x74\xee\x68\x53\x3f\xf5\xbd\x05\x19\xc3\x9c\xc7\x5a\x40\xfe\x44\xec\xcd\x7f\xab\xf7\x82\x5d\x64\x63\x40\x4a\xef\x1a\x31\x56\x0f\x1e\x02\xbc\x08\xfb\x23\x00\xf3\x36\x1a\xf2\xb7\xc3\x0a\x57\xe0\x0c\x25\x18\xf9\x37\x11\xe0\xc7\x4f\xf6\x65\x10\xd6\x2a\xcf\xc9\x74\xd9\xd5\x3e\xa2\x9c\x3e\x4e\x81\x5a\xb4\xb3\xb2\x22\x49\xec\x03\xd1\xbf\xbd\xb5\xc6\x02\x77\x77\x61\x7d\x06\xc4\x8b\x41\xb1\x08\xe1\x3d\x97\x4c\x7b\x6f\x83\x93\x42\x77\xc9\x8f\xa7\x5b\x1c\x30\x44\x23\xec\xbd\xed\xda\x62\x55\xa8\xa8\x18\x24\xac\x20\x97\x3e\xa0\x44\xc9\x45\xd6\xc9\xb6\x0e\x3f\x65\x64\x34\xf7\x95\xfb\xfb\x4f\x8d\x7e\xe9\x70\x2e\x99\x6b\x6a\x5a\xc9\xb5\x97\xa3\x1a\xcc\x82\x3d\x11\x50\x29\x26\xf1\xd9\x89\x33\xea\xc7\xad\x49\x41\x35\x65\x4e\x64\x9a\x8c\xa7\x9d\xd0\x51\x05\x0e\xda\xfd\xd2\x3f\xb3\xc3\xbe\x9b\xee\xef\x1e\x56\xa0\x0e\x9e\x92\x0b\x54\xe9\xb8\xb7\xea\xf3\xaa\x0b\xc5\x62\xf7\xfd\xc2\x93\x4e\x17\xa0\x5e\xe0\x32\x29\xf6\x10\xdc\x1a\xc9\x21\x09\x2d\x62\xa8\xe1\x7a\xba\x04\x44\x6b\x71\xcf\xd4\x2a\x98\x40\xeb\x4e\x0c\xae\x12\x2c\x0c\x72\x63\x62\xcd\x82\x9b\x13\xbb\xc3\xe4\xc5\x7d\x1e\x0b\xdb\xa6\x8d\x6c\x81\xab\x9d\x21\x70\x77\xa3\xd5\xd5\x40\xd8\xb8\x62\x60\x9d\xfd\xec\x45\x28\xf7\x0d\x62\x82\x8e\x29\x83\xb2\xbe\x5e\x41\xcf\xab\x51\xff\x74\xd5\x48\x47\x6d\xb3\x6c\x2c\x86\xb3\xe9\x88\x86\x72\x8f\xde\x57\x36\x21\xd9\x54\x00\x99\x29\xc8\x88\x85\x6c\x4d\x24\x81\xa0\x52\x6e\xb2\xdc\x06\x21\xa2\x5b\xdf\x88\x89\x1a\x8c\x82\x52\x0c\x37\xb7\xbf\x3e\x7f\x70\x64\x3c\x67\xc1\x9c\x15\x60\x4f\x46\x70\x58\x8a\x6c\x26\x77\x0f\xeb\x14\xb2\x9d\x03\x02\x04\x95\x30\x31\xf8\x11\x0f\xe7\x93\x37\xed\x86\xf0\xa5\x1f\x39\x0b\x26\x80\x07\xc1\x0e\xc7\x39\xb3\x72\xc3\xdd\x90\x45\x58\xd4\x4f\x60\x6a\x09\xf1\x46\x47\x8e\x0a\x22\xd0\xd1\xa8\x6c\xa6\x96\xce\x9b\x60\xeb\x60\x1a\x59\x8e\x38\x5a\x45\x10\x4e\x12\x61\xcb\x1d\x98\x4c\xf6\xe5\x01\x96\xdc\x6a\x85\xdb\x21\xc9\xc1\x25\xe4\xa7\x05\x80\x33\x72\xa0\x38\xe7\x6c\x63\x84\x20\x9b\xf1\x9a\x9e\x42\x67\x53\xc0\x99\x4c\xd7\x85\x33\x76\x26\xd6\x2f\x29\x36\xbf\x2e\x6c\x50\x7e\xf7\xf9\xbe\xcc\xfc\xf9\x54\xa0\xf8\xe3\x7d\x07\x2a\x32\x0c\x68\xe9\x3a\x18\xe8\x68\x9c\x99\x2a\xb5\xbe\xcf\x80\x7e\x00\xa1\x84\xb3\x2b\xdc\x2a\x89\xdd\x40\xf1\xfe\xa4\x70\x0c\xf1\xaf\xe7\xb3\xd7\xa6\x01\x97\xb8\xdc\xc7\x57\x75\xb1\x1e\x54\xef\xe4\x5c\x30\xaa\xb4\xd8\x45\xcf\xf5\xf6\xb4\x2c\x73\xe9\xe4\xae\x39\x28\xe8\x8f\x74\x64\x56\xad\x25\x6f\x92\x74\x8d\xb2\x56\x35\xff\xb0\x5d\x64\xd3\x2d\x4a\x47\x45\x59\x44\x7c\x2b\x08\x74\xb6\x91\x79\xb3\x6a\x79\xdb\xa6\x84\x8f\xb5\x7e\x3f\x64\xa3\xb3\x1a\xce\x02\x5e\xae\x09\xe4\xe4\x85\xef\x6a\x4d\x5d\xfa\x48\x9f\x99\x44\x4b\x93\xe9\xbb\x38\x95\x52\x33\x77\x79\x27\xde\x45\x99\x52\xcc\x8a\x03\xe5\x97\xe4\x1f\xe4\x17\xf3\x1f\x4c\xe2\x47\x94\x7f\x79\xb9\xcf\x3f\x93\xad\x1b\x49\x42\x3d\xfb\xc2\xc9\x5f\x96\xb9\x49\x2f\xe1\x66\xf1\x34\xe4\x6f\x70\x1c\x6d\xbe\x39\x4c\x9d\x83\xe2\x50\x48\xac\x1c\x9d\x29\xf1\x6f\x7c\x44\xa4\x7e\x1c\x57\x30\xf0\x90\x78\x39\xa9\x12\xfa\xcf\x96\x20\x9a\x05\x19\x48\x44\x56\x85\xe1\x19\x13\xa6\x29\x1d\xa0\x09\x1d\xb1\x9c\x53\xde\x65\x9b\x67\x96\xd1\x93\x78\xab\xbe\xa4\x5c\x72\x36\x9b\xf9\xe8\xaf\x97\x7e\x6a\xb2\xd9\x73\x63\x82\x1b\x1d\xd6\xf0\x37\x98\xa9\x97\x58\x65\x37\xa7\x97\x4c\xde\xf4\x5b\x2e\xd5\x4d\x7e\xce\x5a\xa1\x05\x2f\x08\x58\x8a\xd0\x99\xb9\xc3\xa9\x27\x89\x10\x27\x5e\x4f\xe4\xd1\xf5\xa4\x86\x6e\xd5\x58\xda\x93\x9b\xb7\x50\x0d\xa8\xcf\xb1\xcf\x00\xa2\x0f\xd0\x72\xe3\x31\xa9\x10\x52\x19\xc6\x02\x78\x51\x75\x03\x9a\xe7\x47\xf7\x80\x56\xc3\x1b\x77\xee\x92\xa1\x99\xe1\x3c\x4c\xf5\xfd\x9d\xd7\xf7\x90\xf5\xd5\x79\xf5\xcc\x41\x4a\xca\x18\xad\xac\xeb\xac\xf3\x28\xcd\x32\x72\x19\xaf\xbd\x05\x4a\xe8\x51\x33\x72\x16\xe2\x9a\xaf\xc4\x36\x5f\xca\xad\x37\xe2\x0b\x82\x8c\xd0\x81\x2a\x3e\x45\x8c\x46\xd5\x7e\x84\xe8\x4e\x6f\xc3\x81\xa2\x00\xb6\xfa\x71\x68\xf4\xe3\xc0\x24\xae\x80\xc8\xc3\x9d\xb5\x45\xa9\x9a\xec\x3d\x9b\x73\x90\x90\x98\x5e\x30\xc0\x02\x15\x56\xdf\xae\x98\x16\xfb\xaf\xef\xcc\x7e\xaa\x27\xa6\x2e\xf3\xcc\x7e\xf9\x19\x9c\x61\x89\x83\xeb\x83\x33\x1c\x32\xce\xb1\xa7\x34\xec\x7d\xf6\xab\x24\xae\xdc\xe2\x8a\xa0\xc4\x38\x92\xe2\xb3\xb9\x48\x31\x5c\xd6\x9e\x80\x57\x36\x10\x5d\xbd\x98\xe4\xee\xd4\xe6\x02\x24\x50\x45\x83\x9e\x27\xc1\x65\xb3\x72\xf5\x9e\x32\x4a\x01\xe7\xb9\x2f\xd4\xed\x4d\x5c\x78\x1b\x9b\x00\xcb\xd5\xe1\x55\xee\xc4\x84\x5a\xbc\x13\xa3\x11\xbb\xdb\x07\x12\xd1\xf5\xb4\xee\x87\xcc\xef\xd5\x27\x55\x2b\xce\x5e\xac\x73\xe2\x44\xb7\xfc\xc0\x0b\x10\x6c\x6e\xff\x7e\x0b\xac\x6a\xa2\x5e\xd0\xbc\x8b\x09\xed\x88\xe5\x70\xd3\x42\x3a\x05\xbe\xf9\x80\xa0\xe7\xb0\x07\xb2\x90\x26\xdf\x20\x2e\xf7\x75\x06\x2a\xd1\x0d\xaf\xf3\xf4\x26\xc7\x36\x95\x26\x25\x2e\x86\x92\x2c\xc8\x39\x26\x3d\x0a\xc7\xa0\xcd\x74\x8e\xe3\x3c\xd8\xd4\xcd\x5b\x2c\xe0\x1c\x97\x3c\xdd\x2a\x2f\x7a\xec\xb0\x95\xa1\xad\x70\x24\x1d\x8c\x2d\xf0\x11\x40\xb9\x98\x2d\x7f\x4b\x93\x6f\x42\xfb\x3d\x62\x0f\x6f\xa1\x51\x7a\x59\xfd\x38\x7a\x50\xa1\xa3\x39\x27\x31\x30\xd6\x7f\xfc\xd4\x2d\xd3\x38\xe1\x9f\x12\xe0\x42\xe4\x01\x4a\xb4\x0f\x30\x13\x01\xb8\x79\x22\x85\x8f\x5b\x7d\xac\x84\x1b\x66\xb4\x6e\x9b\x66\xa4\x6a\xf0\x67\xc7\x5c\x93\x47\xed\xaa\x6d\x47\xa6\xe6\x14\x6e\x1f\xdf\x96\xb2\xe9\x3e\xca\x77\xf8\xc6\x2f\x68\x21\xdf\x98\xd6\xb5\x17\x8a\xd1\xba\xcd\x7c\xb0\x07\x5a\x4e\xd7\xcf\xe1\x75\xcc\xf6\x11\x92\x26\x15\xeb\xd7\xca\x34\xdf\x38\xeb\x85\x47\x61\xda\xbb\x09\xae\x03\xa3\xc3\x1d\xfd\x0b\x17\xac\xba\x05\x55\xde\x34\x7e\x34\xff\x48\x3a\x5c\x68\xa2\x43\x89\x7e\xe9\xcc\x30\xf6\x81\x0c\x9a\xe1\xf5\x31\x91\x23\x09\x64\x1d\x69\x0a\xcc\x81\x46\x0f\x93\xb8\xec\xa7\x18\x8c\xe5\xe7\x15\x36\xdd\xe8\x28\x53\x9a\x2e\x62\xb9\x87\x2e\x09\xf6\x4b\x64\x36\x7e\x28\xc6\x34\x5d\x0a\x74\x60\x86\x3f\x28\x5d\xf8\xc3\x68\xd9\x34\xc5\xc2\xd7\xef\x49\x58\x6e\xeb\x93\x94\xbe\x76\x14\x59\x3b\x8f\x53\xaf\x8e\x97\xa5\x12\x64\xc7\xd2\x7e\xc9\x38\x03\x3f\x85\xf6\x60\xcd\xcf\xac\x1a\x9f\x03\x7d\xaa\x6f\x7c\x55\xe5\xb7\xce\x63\x57\x48\xa4\xe9\x00\xf0\x7f\xeb\x2b\xbc\xb0\x88\xae\x13\x03\x32\x31\x05\xb7\xd3\x28\x67\x95\x3b\x26\x76\xcd\xb8\x8e\xd5\xf5\x39\x3c\x8d\x96\x3c\x70\x9e\xcf\x08\x96\x91\x54\x6d\x73\xd7\xcd\xd3\x38\xb4\x06\xf4\x66\x0d\xff\x62\x24\x3c\x21\xb6\x99\x0f\x42\x13\x64\x48\xed\x40\x2b\x8f\x26\x00\x1b\xaf\xcc\xf2\x8f\x78\x35\xe3\x6f\xb1\xe7\x0f\x24\x61\x5a\xc5\x9a\x69\x49\x05\x0e\x77\x53\xcc\x95\xb1\x32\x7b\x2e\xef\x78\x2f\xac\x01\xfa\xa9\xff\x97\xb6\x57\xec\xca\x44\xca\x6a\x79\xcc\xf2\x18\x9b\xbd\xf8\x52\x8e\x97\xe6\xc9\x8f\x27\xde\xc4\x32\x00\x3d\xa2\x31\xd0\x19\xf8\x6a\xe8\x41\x20\x0d\xe9\xd8\x39\x8e\xe3\xf5\x0b\x9c\xc6\xa3\x11\x5a\xca\xb1\x64\xdf\x0a\x3d\xec\x3f\x34\x03\xad\xd1\xc3\x94\xd7\xa1\xc1\xac\xb2\xfd\xeb\x0c\xb0\x31\x67\x9a\x19\xda\x83\x47\x6c\x18\xd0\x65\x29\x07\x2d\x22\x5e\x6c\xcb\x80\xdb\xaf\x43\xa6\x97\x65\x58\x71\xfd\xca\x67\x44\x43\xd4\xa7\xea\x82\x0e\x4a\x33\xc2\x8d\x7a\x1e\x9c\x8a\xaa\x06\xac\xde\xde\xd5\xee\x97\xeb\x7d\x71\xef\x2c\xe2\x66\xea\x1d\x36\x14\xc2\xb5\x62\x5a\x85\xd8\xf4\xf3\xf0\x63\xa6\xa3\x98\xc3\xfb\x9a\xb4\x2c\xda\x0c\x71\xc7\xe4\x07\xbc\x2e\xdb\xad\xb3\x8a\xfa\x5a\xb6\x77\x54\x8f\x0f\xa5\x29\xda\x05\x65\x01\x51\xf9\x03\xc2\x38\x34\x7b\x9d\x11\x14\x43\xbe\x86\xe4\xac\xc1\xe0\x14\xaa\x59\x9f\xa6\x46\x8c\xb2\x91\xbb\x68\x46\xf7\x61\xed\x50\x5a\x2f\x17\x08\x78\xee\xc2\xcf\xc8\x4b\x22\x4d\xea\x64\x08\x87\x0e\x53\x82\x08\x5b\xc3\x36\xbb\x3f\x7c\xa6\x74\x38\xd2\x7a\x9b\x89\xe4\x17\xff\x9c\xed\x03\xec\x4f\x7b\x04\x53\xd3\xcc\x7e\xe6\xd3\x1a\x64\x87\x17\xc9\x80\x9c\x1e\x1c\xa8\x29\x12\x42\x12\x8c\x04\xf6\xc5\xf1\x1c\xcd\x3b\xcc\x52\x14\x8f\x6f\x5f\xff\xc2\x64\x45\x97\x64\x0c\x95\x03\x41\x84\x62\xec\xb4\x8b\x14\x6b\x34\x29\x55\xdb\xd8\x3d\x67\x34\xa6\x9e\x24\x7f\xb7\x11\xc7\x4c\x1f\x76\xc8\xfa\x9a\x89\x99\x99\x2b\x6d\x7a\xda\x18\x43\xec\x98\x0a\x1b\xef\x00\x93\xe8\xa5\xc7\x44\x03\xc5\xb4\x1c\x48\xed\xe8\x26\xe8\x3e\xae\xf1\x37\x46\x7a\x63\xec\x33\x64\x9d\xce\x9d\x4d\x99\xff\x78\x88\xb4\xa3\xca\x92\xda\x6a\xa9\x31\x11\x84\x79\x41\xa5\xa4\x6d\x29\x02\x2b\xd0\xa5\x19\xef\xaf\xd9\xbd\xb6\x01\x11\xab\x04\x74\xc3\x84\xea\xde\x99\x2a\xc8\x1c\x88\xa3\x0e\x10\xf8\x03\x85\x5c\x70\xa0\xd3\xa0\x71\xcf\x2e\xee\xb3\x1e\xad\x35\xad\xd4\xc3\x65\x8b\x89\xd0\x46\x6f\x7b\x7e\x36\xd7\xbc\x1f\x3d\x4d\x4c\xe3\x44\x22\xf3\x0e\xb3\x7d\x71\x66\x73\xcc\x21\xa1\xbc\xb6\x02\xbb\x57\xe0\xfe\xfa\xaf\xa9\x3a\x7d\xf0\x90\xb4\x59\x98\xb3\x89\xca\xd0\x5c\x55\x09\x54\x1c\x96\x40\x31\x82\xfe\x09\x3e\x9c\x5c\xa6\x01\x83\x18\x3f\xe8\xe3\x3e\xc7\x2b\x02\xc5\xcd\x78\x4e\x25\x9d\xb4\x9d\xc0\xfd\xe6\x83\xd7\x75\x47\x4c\x69\xe2\x24\x19\xfe\x69\xcf\xfa\x18\xac\x54\x56\x1e\x38\xfd\x68\x23\xf1\x62\x2b\x03\xfa\x25\x2b\x70\x3e\xcf\xbc\x95\xc0\xb7\x8d\x66\x5b\x0d\xc8\x7f\x0d\x55\x62\x6f\xdc\xb2\x36\x4f\xcc\x79\x2e\x30\x2a\xcd\xb6\x18\x7c\xfb\x04\xb6\x20\x8c\x0c\x3a\xd5\x95\x70\x3a\x0b\x00\x1c\x51\xfc\x11\x14\x04\x4d\x2f\x35\xc1\xdd\x76\x82\xd6\x9c\x02\x2d\xb8\xe1\x51\x05\x30\x1c\xcf\xe3\x81\x9d\x4e\x17\xa6\xef\x5e\x66\x83\x7a\x07\x75\x3a\xa3\x9f\xd5\xb6\x36\x83\x72\xb6\x05\xd8\xe0\x37\x8c\x05\x67\x60\x83\x20\xf0\xa8\x43\x91\x4e\x98\x83\x56\x36\x4c\xe0\x93\x1c\x82\x4a\x26\xd9\xda\xab\xe2\x04\x00\x9e\x52\x03\x83\x25\x6e\x19\x02\xc4\x9d\x47\xd2\x1c\x15\x91\x93\x18\x15\x77\x7a\x3a\x21\x0d\x66\x07\x83\xbb\xf6\x40\x0e\xb9\x06\xd1\x1a\xda\x1a\x9c\x16\x85\xd1\xc4\x20\x0e\x4c\x05\x00\x49\xa2\xc6\x79\xd9\x16\xf5\x2e\x2e\x4c\x5e\xb1\x84\x33\x29\xed\x8a\xf0\x08\x3a\x94\x60\x96\x32\x84\x43\xbd\x4b\x36\x3f\x24\x90\xa5\xa0\x68\x8d\xaf\x70\xce\x18\x88\xe4\x7e\xd9\x6c\xb2\xc7\xaf\xdf\x1d\x1f\xbe\xb8\x5e\xbd\x2e\xfe\x3f\xfc\x13\x04\x8f\xbc\xe9\x3b\x16\xca\x9a\x28\xf4\x58\x24\x0a\x2b\x4d\x0f\xda\xf8\x25\xde\x41\x07\xd6\x73\x4e\xd5\xf8\xc2\x08\x7d\x39\x74\x05\xb9\xf9\x66\xa0\x46\xaa\xcc\x66\xf4\xe4\x61\x3e\xc1\xe0\x12\x1b\x87\x54\x02\xfa\x28\xfe\xd5\xde\x51\xfb\x3d\x92\x62\xc8\x39\x13\x6d\x37\x50\xdc\x81\xef\x1c\xb6\xe4\xa2\xd7\xb5\x89\x96\xd9\x25\xd5\xe1\x2c\x75\x33\x7e\xb6\x31\xfd\x11\xe3\x4e\x2e\xb9\xcc\x96\xc6\xfc\x17\x2a\xc0\xfb\xd4\x5b\x18\x8b\x25\xbd\x75\x95\xca\x8d\x8b\xad\xe8\xd9\x98\x18\xf6\xf8\x1d\xaf\xcc\x32\xf4\xf1\x77\x17\xab\x7b\x7b\x58\x53\x62\x51\xef\xd4\x26\x53\x33\xda\xb0\x42\x94\x51\x07\xc5\x57\x26\x02\x87\x9d\x36\x23\xd5\x95\x39\x8f\x35\x43\x3b\x86\xed\xc7\xe9\xa3\x99\xcf\x16\xd5\x94\x5c\x99\x48\xcb\x65\x7b\x24\x5f\xb6\xf2\x16\xc5\x1a\x6a\x90\x17\x3a\x8f\x8e\x18\x32\xdf\x21\x10\x2e\xc5\x56\xab\x58\xd2\xdf\x0e\xea\xbc\x61\x9f\x7f\xaa\x27\xf5\x37\xb9\x1c\x47\x94\x43\x90\x02\xd0\xad\x56\x0d\xc6\x24\x64\x51\xf2\xee\x6d\x4c\x06\xcb\x7b\x02\x8e\x77\x97\xe0\x8f\x0d\x0b\xc2\x08\xe9\x00\x94\xd8\x13\x88\xe7\x95\x62\x50\x8a\xa0\x03\x56\x07\x79\x7c\xd7\xea\xe9\x5e\x71\x25\x88\x40\x7c\x52\xc9\xcd\x59\xba\x9b\x5e\xfe\x50\x7a\x6e\x9e\x78\xbe\x1f\x8b\x06\xeb\xd8\xf6\x00\x21\x1a\x94\x6f\xc7\x4f\x56\x19\x76\x65\xee\x32\xe6\xca\x3c\x56\xb2\x06\x7f\x9b\xac\xfd\xa6\x30\x66\xee\x21\x5f\xa7\x5c\x33\x34\x6b\x42\x50\x06\x9c\x83\x2a\x72\x79\x6d\xb5\xac\x49\xcf\xc3\x5a\x25\xb0\x46\xc9\x5c\x12\xc8\xc8\xfd\x1c\x3c\xa3\xc0\x12\xcc\x03\x7e\x0d\x8f\x76\x14\x87\x1b\x0e\xc8\xdf\x06\x6c\xe9\x4d\x6c\xcb\x10\x9a\x62\x84\x99\x03\x44\x65\x8a\x99\xc7\x30\x5c\xa5\xac\xc7\x05\xf8\xe1\xdc\x6e\x13\x5c\x37\x16\x40\x05\x96\xa1\x28\x98\x08\x49\xd0\xbd\xf7\x96\xef\x58\x26\x85\x1f\x27\x68\xa1\x8d\x2f\xed\xc5\xa9\x45\x11\x28\x36\xca\xe9\xda\x70\x75\x7a\xb2\xe0\x8c\x7e\x80\x35\xc1\x6c\x82\x6f\x6c\xdb\xde\x57\xf3\x29\x3e\xd1\xa1\x01\x9a\x62\x2f\x12\x10\x1f\xd7\x4c\x41\x94\xaf\x3a\x37\x48\x34\x27\x5c\x25\x34\x33\xed\x05\xfa\xa2\x96\x7e\x5c\xa4\x12\x31\x32\x58\xe9\xac\x6b\xd4\x8b\xeb\xa7\x19\x98\x8a\x3e\xbf\xab\xe0\x0e\x5f\xf0\x52\x8c\xb1\x1f\x59\x38\xe8\x57\x73\x1c\xaf\x37\xe3\x06\x30\x61\x9b\x51\x43\x8f\x46\xb8\xf9\xc2\xb5\xc4\xb5\xdb\xee\xcd\x29\x89\xf0\x4c\x05\x64\x9b\x8b\x9f\xb9\xb1\x80\xf8\xe5\x08\x70\xfe\x8b\x97\xe7\xf1\x83\x65\x19\xde\x6f\xbe\xd8\x7c\x96\x1f\x26\x4b\xf1\x3d\xbc\x97\x94\x5c\x97\x04\x9d\x4e\x9e\x84\x9f\xea\xe2\xe7\xdc\xfc\x5a\x48\x59\xe9\xbf\xf9\xc2\x9c\x9f\x13\x28\x89\x39\x41\xd9\x97\x56\x47\xae\xcf\x35\x89\x31\x8a\x98\xe4\x1d\x11\x76\x2d\x83\xb3\x23\xd2\xad\xce\xb6\x53\x2e\x43\xf2\x91\xe8\x60\xaa\x7e\xc3\x94\xe6\x4f\xa3\x18\xf7\x49\xe3\xd3\x36\xe2\x06\xc4\x41\x69\x94\xc2\x70\x2b\xb8\x95\x09\xbb\x36\x87\xe4\x9d\xa9\xb0\x76\xe3\xc2\xb7\xd6\x44\x85\x2e\x4e\x70\x1e\x69\xd8\x3f\xab\x85\x36\x0f\xb9\xa7\x26\x50\xe1\xa3\xfc\xe1\x64\x97\xad\xd5\xda\x19\xe6\x5c\xab\xf1\x87\xcc\x0a\x37\x40\x65\x4f\xd7\xf0\xab\xb8\xe1\x0d\xff\xec\x92\x58\x07\xdb\xf3\x07\xfe\x6c\xb3\x41\x71\x0f\x06\x68\x4e\x0e\x0d\xbf\xbc\x4c\x28\x50\xa6\x00\x87\x9b\xa9\x78\x4d\x08\x0a\x65\xac\xb9\xb4\x4f\x33\x69\x25\x99\xc1\x49\x9a\xe0\x31\xa5\x53\x88\xd2\xba\xe2\x98\x90\x1b\xde\x9a\x64\xbd\xd8\x48\xb1\x5a\x42\x6d\xbc\x5d\xf5\x68\xcb\x70\xe2\x49\x60\x62\xdf\x7a\x12\xdc\x18\x41\xf7\x12\xd6\x89\x7b\x61\x01\xee\x27\x24\x66\xb7\x7e\x81\x7c\x98\x35\x38\xfd\x6f\x67\xbd\x8c\xae\x62\x42\x27\x4c\x65\x53\x9c\x15\x35\x3d\x51\xb5\x8d\x05\xd8\xd0\x80\xba\x73\x2c\x18\x7d\x25\x95\xc8\xbb\xfc\xde\x47\x3e\xdb\x49\x96\x63\xce\xd4\x1b\xf9\xba\x33\xe1\x0a\x7f\x96\xdb\x40\xfe\xbd\x41\xc8\xea\xa6\x67\x06\x6b\x8f\x48\xaf\x8a\x99\x54\x2a\xf0\xf3\x2c\x44\xf1\xf6\x11\x90\x4e\x68\xc9\xf1\x0d\x11\xc5\xfc\xfb\x14\x4a\x61\xf5\x9e\x4e\xf3\xa4\xa3\x2e\x2e\x96\xf4\xf6\x2c\xd5\x73\xab\x37\x3a\xf1\x21\x38\x64\xd2\x1f\x07\xc4\xd0\xae\xf3\x33\x31\xfc\xfc\xbd\x6a\x25\x98\x47\xd7\xcb\xf1\xf6\x50\x39\x7e\xe8\xf9\x19\xfb\x12\x65\x4b\xe0\x3f\x7a\xad\xd6\xd3\x7e\xe2\xdd\x1e\xa3\xa3\x8f\xba\xec\xcc\x3c\x7f\xc3\x79\xd7\xbe\xc7\x6c\xbd\x54\x76\xf9\x84\x58\x44\x45\x13\x26\x21\xa2\xa3\xeb\x96\x22\x4f\x29\x21\x72\x33\x4a\x42\x7b\xb8\xb4\x03\xba\xce\xb1\x88\x46\xbf\x5f\xd7\xa5\x2b\x4d\x66\x9a\x5d\xc6\x64\x2f\x84\x54\xb5\xe3\xfa\x9b\x79\xbe\xef\x77\x41\x09\xd8\x33\xaf\xdb\x8b\xb9\x4f\xb5\x6c\x9f\x2b\x95\x7a\xa4\x09\xc6\x5a\x7f\xda\xf6\xc5\xbd\x75\x0d\x21\x18\x27\xb5\xbd\x36\x4d\xaa\x7c\xaf\xce\x30\xb9\x69\xa6\x53\x30\x00\x68\x3b\xbc\x63\x6d\x43\x50\xb6\x6a\xc3\xd2\x99\x9c\xa3\x15\xa7\x24\xef\xf5\x3d\xcc\x1c\x64\x31\x28\x34\x58\xb6\x8d\xec\xab\xdb\x24\xc3\xf4\x83\xf2\x31\x46\xcb\x73\xb0\x41\xed\x0b\xf0\xca\x98\x12\x14\x8a\x9b\xf7\x03\xc5\x9a\xab\xfe\xc7\x3b\x40\xa9\x2c\x23\x9e\xb0\x3e\x99\x7a\xcc\xfa\x64\xa9\xd2\xf4\x96\x51\x80\x38\x6d\xd4\x21\xbf\x07\x7f\x44\xb2\x2c\x1e\x94\xa0\x4d\xfb\xf8\x10\x91\x0d\x11\xa7\xbb\x7c\xfd\x65\xdc\xda\x2d\x26\xee\x20\xf0\x1b\x0f\x0d\x96\x6d\xd7\xc5\x2e\x8c\x32\x25\xdd\xb0\x56\x37\x6a\x2b\xed\xc2\xa0\x9a\xa4\x37\xb0\x82\x2e\xbf\x5a\x61\x38\x6b\x6f\xf1\xa9\xd0\xce\xa7\x7e\x4d\x4e\xd1\x8f\x34\x10\x57\x2d\xad\x89\x69\x30\xf4\xce\xc3\xd5\x27\x20\x96\xf1\xdc\xb1\x5a\xe5\xb2\xba\xb0\x4d\x3d\x9d\x43\xa2\x60\x44\xdc\xb3\x1f\x87\xfa\x98\x65\xa5\x5a\x68\x53\x2b\xb4\x05\x30\x2e\x65\x8c\x1e\x16\xfa\x59\x1e\x1f\xfa\xa8\x8c\x57\x8f\xc2\xe9\x6b\x3f\xa8\x9d\x39\xf4\x3a\x97\xe9\x9b\x78\xbc\xb9\x93\xef\xd3\x57\x16\xac\x72\x5d\x9e\x19\xbd\x49\x46\x27\xac\xee\xc5\x3d\xe0\x4d\xa5\xd6\x47\x82\x71\x4f\xf3\x1b\xa9\x80\x9f\xc3\xbf\x26\xf0\xb2\xac\x92\xf9\xf9\xff\xa3\x9c\xe0\x7d\xbe\x5c\x9a\xf3\xaf\x0a\xc0\xfa\xfc\x1f\x9c\xb4\xfa\xe5\x40\xc1\xd9\x56\x09\x84\x07\x6e\x03\xe4\x9f\xf0\x3b\xe0\x00\x61\xaa\x73\xa2\xc9\x1f\xd4\xcf\xec\xdb\x57\x89\x33\xc0\x44\x60\xdd\x58\x08\xa5\xef\xf6\x19\x88\xe4\xeb\xad\x29\xcc\x47\xad\x45\xd8\x95\xab\x09\x4c\xd7\x7a\x5d\xd0\x1c\x6d\xf0\x11\x6a\x76\x99\x90\x6a\x49\x89\xe7\x40\xcd\x1c\x05\xe3\x5a\x83\x80\x43\x2c\xbb\x53\xad\x5d\x6d\xa7\xbb\x0f\x5d\xa0\x1d\xfc\x68\x4d\x9b\x34\x17\x96\xcf\xd4\xb0\xb1\x4e\xf6\xc2\xf1\xc5\xb9\x7b\xf7\x31\x8d\x74\x5d\xe5\x5a\xb6\xc8\x5c\x44\xc2\x81\x58\x0b\x40\x5f\xf9\x1e\xbb\x49\x34\xe0\x8e\xaf\x05\x5c\x5b\x10\x05\x24\xfd\x81\x20\xe8\xf7\xae\xdf\x43\x04\x30\x44\x38\xc8\x6f\xed\x8a\x83\xac\xf4\xa5\x7f\x8f\x1d\x10\x55\x57\x12\x66\x43\x5e\xc7\xba\xca\x3c\x91\x48\xc8\xb8\x47\xb9\xea\x6b\xa3\x2b\x68\x6c\xe0\x24\xc0\x24\x20\xa1\xaa\x7c\x82\xd4\x21\xc2\x61\x9f\xc0\x69\xdf\x36\x21\xf3\xb6\x6b\xc8\x52\xd2\x50\x55\x57\xe9\xd1\xed\x9a\x62\xc4\x19\x11\xe2\xf2\xef\xc8\x59\x3a\x05\x42\x6a\x13\xb0\xca\x51\x59\xa3\x46\x73\x5f\xaf\x27\xa9\x4b\xdc\xfd\x19\x1e\x7d\x5d\x75\x5d\x4c\xa6\xe2\x85\xa1\xd3\x4e\x91\xf3\x0d\x0c\xd7\xc1\x03\xfb\xce\x71\x82\x02\xf5\xc4\x60\xe3\xab\xb6\x9f\x18\x28\x3e\x41\x47\x92\xad\xe5\x0a\x9b\x91\xba\x1f\x98\x6d\xe9\xf1\xe5\x0a\xe1\xe6\xad\x7c\xcd\xae\x68\x23\xe3\x0c\xcd\xed\xdd\x4b\x17\xf7\x6c\x99\x5e\x58\x2e\xcc\x6d\xa2\x67\xf7\x8e\xce\x9e\xe5\x27\x6b\xbe\x24\xed\x56\x27\xdc\x57\x38\x51\xbc\x20\x1c\x28\xba\x0e\x09\xc8\xbf\x88\x74\xd2\x6f\xe2\x29\x48\xde\xba\x1f\x1d\xce\xbe\x7c\x84\x11\x0b\x0c\x45\xa8\x89\x3b\x61\xf2\xf1\x34\x07\x15\xb4\x64\x6d\x05\x67\x7b\xdb\x05\xb4\x7d\xd9\xf0\xb7\xd0\x7b\xbd\x0b\x99\x41\xc6\x35\x8a\xdc\xda\x9e\x5c\x3a\x44\xd9\x04\x0a\x48\x6f\x9d\x04\xd8\xf3\x85\x4f\xbc\x0b\xc6\xbb\x43\xae\x13\xa6\x31\xc7\x45\xe9\x38\x42\x57\x1c\x74\x62\xd2\x2d\x05\x4f\x84\x2c\xee\x1d\x6b\x45\xab\xea\xea\xa1\x22\x67\x9c\x9b\xc9\x07\x37\x70\x6b\xa0\xa6\x70\xbf\x69\x39\x97\x02\x06\xb8\x16\x0a\x11\x84\xe4\xa2\x3b\xf7\x2c\x78\x00\x4b\x5c\xd5\x95\x9c\x93\xa3\x0c\x6f\x3d\x41\xc4\x65\xa8\x9f\x38\x3c\x20\xe9\xe3\x90\x6c\x13\x04\x02\x66\xe7\xa4\x4e\x4f\xcf\xd2\xc8\xb6\x1e\x9e\xc8\x40\xdd\xc0\xe6\xc8\x0b\xde\x4a\xfb\x5a\xed\x75\x09\x61\xf5\xba\x0e\xf0\x6d\x43\x53\x67\xe8\x41\x7d\x2f\xe6\x1d\xa3\xe7\x42\xcd\x9e\x6d\x76\x8f\x1d\x9e\x3e\x23\xb9\x7d\x90\xf1\x2b\x76\x1a\x3c\x6e\x10\xed\x20\xfd\xa9\x81\x58\x89\x76\x64\x1e\x87\xd0\xf6\x8e\x65\x17\x21\x0e\xde\x04\x31\x24\xeb\xdc\xf2\x4e\x0f\x5f\xe6\x70\x8c\xc7\x44\x40\xf3\x83\x14\xe9\xac\x2a\xec\x7f\xfe\xc0\x7f\x93\xaa\x59\xe8\x1a\xd2\x8b\x39\x39\x05\xbb\xec\xe5\xbd\xeb\xe4\x16\xae\x92\xae\xeb\xba\xd3\x1f\xf0\x07\xa2\xdd\x65\x9c\xbc\x0e\xc0\x73\x14\x23\xf2\x23\xd0\x78\x9d\xa2\xc6\x96\xca\x59\x05\x0a\x02\x31\xdf\x7a\x0e\x92\x80\xa5\xb6\x43\x08\x8a\x6d\x98\x4e\x71\x98\xea\x1a\x1a\x97\x83\xf6\xdc\xb9\x60\x21\xb2\x55\x33\x07\xd2\x92\x9a\x05\xcb\x5f\xff\x2e\x6a\x56\x0f\xee\x4c\x32\x7a\x1e\x7e\xe1\x07\xcd\x78\xbd\xf8\x2f\x53\x97\xeb\xc1\x42\x75\xe9\x5c\x62\x57\xb9\x48\x47\xef\x7e\x63\x1b\x0d\x09\x4e\x2f\xf6\xae\xab\x21\x7a\x5c\xd5\x06\x94\xf0\xa6\xd3\xcb\xc0\x11\xae\x1a\x16\x43\xa8\x23\xf8\x86\xd6\x78\xcd\xca\xe2\xf4\x58\x53\xf0\x5d\x4d\x70\x6e\x22\x86\x72\xac\x34\x48\x0f\xc0\xc9\x1f\xfb\x68\x92\x98\x7d\x5f\x41\x9d\x5f\x52\xb9\x55\xd4\xbb\x5e\x75\x47\x2f\xee\xac\x85\xe6\x9d\x63\x8a\x80\x04\x75\x80\x73\xea\x81\x72\x77\xcc\xbc\x54\x76\xe1\xcb\x9f\x66\x81\x39\xf9\x83\xa8\x43\x76\x7b\x4e\x83\x10\x9e\x27\x9d\xf3\x8f\x98\xa7\x3a\xb5\x6e\xe8\x17\x69\x42\xf0\xf3\xde\x9a\xfe\x3d\x9f\x0a\xa1\xc0\x43\x74\xdb\x0e\xc2\x6f\x6e\x46\x6d\x46\x7d\x92\xb5\x1f\x37\x0f\xa8\xd7\x11\x5f\x53\x58\xfd\x52\x42\x5c\xce\x7c\xb6\xed\x55\x27\x00\xee\xf9\x2e\x3a\x70\x41\x90\x3b\x3c\x76\x13\xd6\xbb\x71\xe6\xb0\x1c\xfb\x98\x30\x1d\x2d\xd4\x95\xb9\x25\xbd\xfd\x4e\xef\xfe\xfa\xb6\xcf\x7a\x82\x1b\x9b\xe8\x72\x59\xe8\xce\x92\xcc\xa0\xb5\x2c\x02\xb5\x8c\x4e\xad\x60\xa8\x63\x20\x65\x42\x92\xb9\x6f\x6c\xf8\xbb\x9c\x6e\xbb\xd7\xdf\xdc\x9b\x4e\x68\xbf\x4c\x8a\x42\xc3\x6e\x99\x28\x6e\xc0\x00\x5d\x8a\xce\x2d\x9c\x52\x24\x1f\x8f\x35\xf7\xab\x95\xcb\x00\x13\xbe\x00\xe9\xd4\x9d\x2a\xb1\x04\xd5\xd4\xba\x44\xd9\x1b\x71\x0f\x3f\xe1\xd2\xa1\xd3\x50\x8a\xcd\x79\x17\xfb\x6f\x9e\x50\x43\xc7\xef\xec\x52\xff\x6e\x87\x36\x1d\xc8\x8a\xa3\xf3\xf0\x70\xb5\x16\xd0\xb1\xd5\xb3\xa9\x73\xb3\x1e\xa3\xd7\x95\x37\xf3\x54\x92\xd1\x2e\xbc\x3a\xf6\xd0\xc9\xc2\x0e\xff\x50\x6f\xde\xc5\xe4\x51\x03\x80\x21\xa1\x70\xec\x8f\x6f\x9e\xe0\x66\xc4\x5f\x58\x5f\xeb\x75\xf9\x77\x98\xa7\xe4\x4e\xef\x5d\xac\xff\xb9\x4c\xe3\x4c\x2d\x8e\x27\x70\x9a\xf4\xa2\xff\xfa\x71\x90\xb9\xaf\xfc\x93\xde\x0c\x53\x3e\x86\xf5\x63\x44\x22\xe5\x9b\x7b\xad\x03\xa1\xe8\x5d\x02\x66\xef\xf7\x52\xcd\x65\xb2\x73\x26\xdd\x7a\xad\xc8\xcd\xac\x75\x14\xc9\xea\x9f\x27\x72\x59\xca\x90\xfb\x74\xec\x1b\x9b\x5e\x30\x7e\x14\x40\x57\xa3\xfb\x2c\x5d\x19\xbf\x3b\xb4\x9a\x6f\x75\xfd\x52\x44\x98\xd5\xd6\xcd\x61\x3b\x70\x82\xbd\x59\xfb\xf9\xd3\xdd\xb5\x9f\x3f\x60\x94\xfe\x5b\x9a\x45\x9f\x70\xb4\xa8\xaf\xad\x2c\x7f\x0a\x73\xf9\x7f\x0c\xd8\x7e\xc1\x14\x16\x84\xf0\x5e\x11\x9d\x0d\xa6\xdb\x29\xb9\x11\x65\xed\x0a\xc4\x97\x4a\xb7\x1b\x50\xa9\x7d\x4c\x90\x67\x8a\x74\x25\xd6\x6b\x6c\x0c\x03\x3f\x3b\xe6\x3f\x29\x85\xfc\x5f\xd9\xc1\xf8\x7f\x21\x71\xe3\x3f\x2b\xc4\xc8\x7a\x1d\x12\x08\xd9\xa7\x1c\x6d\x78\xa4\x78\xf4\x43\x3c\xe7\x68\x79\x32\xb8\x5c\x73\x7f\x49\x0c\xc0\x2f\xa2\x57\x9e\x9f\xc6\x6d\x10\xe0\x5f\x93\x81\x4e\x93\x4b\x2f\x6d\x18\x72\x2a\x6b\xe7\xc3\x07\xc5\x88\x53\x6b\xe2\x6d\x72\x21\xc1\x30\x84\xc4\xb0\xb3\xf8\x45\xda\xae\x20\x98\x12\x6d\xa7\x7e\x9d\xf0\x97\xed\x2a\x92\x05\x8b\x20\xde\xf2\x5f\x1e\xc3\xe8\xf5\x4e\x10\x7f\xb2\x67\x0b\x0f\x91\xff\x37\x6f\x1c\xdc\xbd\x0e\xf5\x97\x65\x27\x99\xbe\xb9\x56\x31\xd9\xd7\xb5\x8f\xca\x97\xea\xac\x7d\xd1\x7b\x22\x04\x9a\x29\xed\x87\x16\x6f\x58\x31\x0e\x05\x58\x57\x78\xee\x4f\x4d\xdc\xea\x5b\x67\x8b\x6f\xb0\x10\xf7\xb4\xcd\x62\xb6\x79\x74\xe7\x98\x49\x63\xa3\x8b\x25\x4b\x7b\x50\x8e\x88\x93\x65\xa8\x88\xa6\x24\x76\x37\xfd\x92\x11\x24\x82\xb3\x05\xf9\xc5\x1e\xc8\xab\x2d\x03\xe6\x2c\x1d\x09\x8b\x86\x74\xce\xa2\x5d\x69\x7d\x19\x19\xc2\x8c\xc1\xa8\xd2\x30\xd5\x12\xcb\xfb\x0a\x0b\x0f\xfd\x61\x54\x6c\x73\xbd\x6d\xb0\xa6\x4d\x69\x0e\x23\x95\x66\x83\xa1\xcb\x98\x9a\x4f\xed\x94\x17\xa9\x9a\x54\x01\xab\xab\x01\xcd\xbc\xe8\x6f\x1a\x5d\x15\x09\x91\x08\x25\x69\xa6\x83\x79\xa6\x77\x02\xf6\x10\x01\x14\x83\x10\x12\xfc\xd6\x23\x1c\x4c\x4a\x6d\xbd\x2b\x92\x7b\xf2\xa8\xdf\x4f\xe3\xa3\x5e\x73\xca\x5a\x6c\x09\xa7\xb0\x3e\x07\xdc\x1e\x9a\xdd\xb5\xf2\x5c\xce\x6f\x7f\x4d\x4b\xec\xac\x8e\x25\xb2\x8e\x6b\x91\x53\x89\x21\xd4\xec\x79\x2a\x80\x72\x23\x3b\x8a\xe7\x66\x21\x32\x4e\x6f\x8b\x56\xae\xb6\x62\xd1\x74\xb2\x2f\xe4\x3a\x21\x2b\x33\xc6\xa4\x27\xdd\x51\x9f\x0a\x55\x7a\x58\x2b\x79\x58\x82\x52\x5d\x0d\xae\xee\x1a\xa4\x30\xaa\x05\x60\x27\x61\xfe\x45\xc6\x75\x91\x49\x6c\x40\x2a\x0b\x12\x30\x88\x66\xee\x8d\xc9\x9b\x9a\x48\xcd\xfb\xb4\xb4\xf1\x0e\x31\xcc\xd8\x4b\x63\x4c\x09\x2a\x24\x8b\xfc\xc5\x9a\x2a\x3b\x1b\xf0\xe6\x72\x63\x11\x20\xec\x76\xb1\x37\x55\x5e\xa0\xc8\xfa\x2d\x35\xa0\xbd\x29\xd3\x72\x08\x40\x22\x6c\x59\xa6\xc2\xfc\x66\x9b\x2d\xe9\x38\xdc\xaa\x03\x44\xf9\xb0\x3c\x42\xc6\x37\x37\xe0\x98\x40\x34\x96\x72\x1e\xad\x5d\x37\xfc\x9b\x54\x37\x7a\x60\x6c\x68\xf9\xa1\xd3\x29\x09\xb8\xa8\xb7\x4d\xa9\x5c\x25\x0a\x61\x38\xad\x45\x0d\x5f\x19\xae\x75\x56\x7c\x25\xc8\x8e\xdf\x5f\x72\xed\x2e\x91\xba\x45\xec\xd1\x34\xda\x3f\x39\x5d\x11\xd7\xc6\xb9\x1f\xa6\x07\x90\xa9\x40\xff\xd7\x48\x01\x17\xb7\x43\xce\x42\xc3\xb8\x8e\x4d\x94\x65\x49\x60\x2e\xe9\xe8\x28\x93\x64\x03\x18\xcd\x54\x1e\x4c\x57\xf9\x2c\x82\xd8\xc8\xd2\x1c\xe9\xb5\xeb\xda\xb7\xd8\xb0\xa6\xd1\xb0\x45\x6f\x62\xbc\x5a\x8c\x3a\xed\x9f\xce\xc3\x92\xa6\xc5\xf2\x76\x70\x5b\xb8\x55\xa6\xf2\x16\x29\xb5\x83\x51\x7b\x04\xe1\x71\xdc\x06\xdd\x2d\x34\xf0\x63\xa4\x88\xdd\xef\x41\x00\x56\x00\x91\xb2\x3b\x12\x71\x47\x34\xbe\xf8\x08\x76\x4f\x6b\x4e\xbf\x83\x89\xc0\xea\x4d\xfd\x32\x9f\xa7\x18\x0a\xea\x1d\xc7\x52\x35\x50\x24\x03\x1f\x40\x8d\x80\x66\x71\x5b\x96\x39\xfa\x6b\x1e\x41\xbe\x88\xc0\xd2\x6f\x59\x90\x05\x33\x0c\x51\xb8\xa3\x63\xae\x66\x83\x94\x08\x77\x68\xad\x83\x77\x0d\xb7\xdd\x64\x21\xf5\x56\xaf\xcb\xf7\x77\x9b\xda\x01\x1b\x13\x6e\x50\xbe\x06\x3e\x09\x0f\x4b\x4c\x41\x67\x2c\x24\x9c\x5a\xca\x61\x89\x89\xa0\x2e\x8d\x32\x8a\x20\xf2\x16\x28\x8a\xc6\x53\x9d\x71\x89\x45\x42\x13\x78\x02\x91\x17\x1f\xdb\x26\x04\xeb\xe4\x73\x9a\x21\x2f\xdc\x96\xef\x3a\x2c\x64\x72\x94\x90\xa7\x96\x4d\x30\x86\x24\x17\x99\x30\x96\x8d\xdf\x93\x62\x45\x12\xd4\xe3\xd4\x69\xd7\xc6\x58\xc5\x2e\xea\x38\xf1\x2e\x68\x43\xb7\x27\x02\xaf\xea\xff\x72\x16\xbf\xa0\x35\xcc\x2a\xe6\x3a\x19\xaa\x7c\x1f\x04\x73\x66\xeb\x4f\xf8\xb5\x68\x9d\x04\xd1\x52\x4d\x42\x56\x9f\xd8\x59\x2d\xcd\xb0\x9d\x4c\x80\xa7\x79\x64\x87\x17\xd2\x6e\xb4\x52\x6a\x75\xb1\x5c\x6a\x5c\x99\x80\xfc\xac\xb4\x15\xf3\x9b\x60\xb5\xaf\xad\xae\x4a\x70\xeb\x58\x57\x22\x01\x3c\xe8\xba\x6a\x96\x55\x26\x1e\xee\x15\x73\x25\x36\x55\x26\x32\xb2\x01\x39\x67\x77\xc3\x53\xbe\xba\xc5\x53\xe6\xf6\x1e\x36\xf5\xf1\x65\xa7\x26\x90\x41\x76\x73\x9a\xe2\xb4\x09\x53\x31\xb1\xc5\x0b\x93\x5b\x17\xa7\x4b\xcf\x63\x5e\xea\x69\xe5\x09\x84\x94\x98\x91\xd4\xdf\xa7\x69\x4a\x88\x0e\x16\xb3\x93\x9a\x6e\x83\x2e\xf3\xe3\x17\xbf\x7c\xfc\x69\x5e\x81\x39\x73\x79\x0e\xfd\xae\xaa\x01\x64\x6a\x32\xba\xd6\x2b\x8d\x7d\x43\xbd\x50\x2d\x68\x25\x45\x59\xef\x9c\x19\xdb\xbe\x27\xef\xe9\x7f\xb2\x88\x81\x9f\x9c\x33\xb8\x4e\x4f\x9c\x4c\xc7\x6d\xbc\xf3\xae\xfe\xbb\x10\xb2\x2d\x77\xca\x02\x6c\xdf\xfd\x4e\xf3\x5c\xa7\xce\x33\x3e\x9b\xc6\x24\xd7\x74\x52\x80\x3c\xe6\x01\x38\x13\xa6\xf4\x15\x05\x8b\xf6\x34\x04\x08\x4f\xba\xe0\xfb\xc9\x99\xf6\x22\x16\x49\x5f\xa4\x45\x2a\x65\xe6\x0b\xb2\x81\x01\xb9\xb5\x40\xcd\x16\x06\x73\x52\x5d\x5c\xd5\x13\xc7\xfc\xce\x0e\x98\xa0\x20\x1a\x69\xcb\x14\xe8\x10\xa6\x53\x62\x16\x38\x9c\x0d\x71\x34\x43\x8a\xb7\x20\x7a\x0e\x87\x36\xa1\xd7\x54\x2f\xd3\xd4\x1b\xde\x19\x5f\x55\xd5\xb1\x7e\x14\xec\x56\xf5\x2b\x6d\xe8\xb4\xff\xdb\xbe\x55\x9e\x26\xdb\x74\xfa\xbb\x77\xbb\x0e\xe5\xab\x4e\xe1\x81\x8b\xc1\x9d\x3b\xce\x2c\xc7\xfd\x8d\x83\xaa\xff\x21\xbc\x06\xbd\xdc\xde\xd6\xbc\xe2\x6d\x0a\xaa\xb4\xed\x0e\x5d\x7c\x03\xf4\x04\xec\x53\x71\x8d\xe1\xd2\x88\x83\xb9\xfa\xaa\x73\x41\x5c\x7b\xb2\xd1\x44\xae\xed\xe4\xe4\xb7\xf2\x9c\xf9\xde\xd6\x83\x5a\x38\xe3\x42\xfd\xf5\xa0\x43\x6d\xca\x6f\x5e\x82\x37\x28\x99\x5c\x3b\x9d\x84\xdb\x6a\xbf\x1f\x86\x2b\x5a\x0a\x67\x35\x53\xaa\x70\x7b\x36\xfd\x0b\x87\x69\xc2\x7b\x85\x52\x25\xcc\xdb\xd0\x1c\x45\x97\x73\xf6\x2b\x6d\x33\x1c\xe3\x55\x8e\x79\xad\x40\xb4\x67\xf8\xfb\xe2\x12\x99\x49\x4f\xc1\x29\xb0\x43\x8e\xd8\x4f\x12\xaa\x33\x54\xf9\x9d\xd5\x74\x71\x79\x57\x05\x14\x4a\xe8\xb7\xd1\xd5\xa0\x04\xe4\x12\xa2\x8a\x10\xed\x83\xd7\x2d\x9e\x43\x1f\x1f\x22\xcc\x73\x0b\x04\xb4\xfa\x3e\xec\x79\xfe\x5c\x13\xbe\xd7\xbd\x45\xfd\x8a\x95\x06\x0b\xed\xec\x9e\x4e\x9b\x5a\x43\xfd\x71\x69\x9d\x2a\x72\x82\x2e\x4f\x93\x62\x8f\x6e\x91\x5c\xe3\x19\xb4\xda\x4c\x79\x03\x04\xb2\x16\x08\x7f\xa1\xc3\x3e\xe8\x68\x66\xe9\xc6\x69\x0b\xd0\xea\xeb\xbb\x22\xd9\xd7\xf9\xd5\x67\xfa\x6f\x53\x4d\xf0\xfd\x75\xeb\x19\xae\xd7\x5b\x0b\x78\x23\x41\x3f\x9a\x80\xf9\x4c\x18\xcb\xd1\xa9\x04\x77\x6c\xb9\x9a\x73\x23\x87\xf6\xb5\x68\xc1\xcc\xe9\x4b\x17\xb0\xb0\x9c\x75\x9c\xda\x55\xa5\x57\xaf\x80\x9c\x01\x1d\x27\xad\x5b\xe8\x56\xa1\x66\xc0\xce\x7b\xee\xfd\xaa\x53\x82\x84\xfc\x6a\xa4\x9f\x57\x90\x2f\x05\x52\xd4\xe8\x53\x4d\xfd\x89\x9c\x8d\x36\x7f\x6e\xe4\x38\x3d\xb1\xb1\xd9\xac\xdd\x26\x5e\xfd\x2f\xdc\x96\x03\xa9\x1b\x03\xc0\x15\x9e\xb7\x32\xf3\x55\xb8\x35\xd7\x7a\xdd\x68\xbc\x63\xad\xcb\x46\xbd\xcd\x1d\xcc\xb5\xb2\x45\xaa\x15\x9c\x10\x4a\xff\xc3\x91\x62\x9b\x2b\x2d\x8b\xff\x98\x7c\xf4\x66\x6c\x03\x93\xd4\x77\x78\xa5\xa6\xea\xbb\x0f\x19\xad\x95\xe6\xad\xea\x5c\xfd\x0b\xb7\x95\xb4\xd5\x2a\x63\x22\x30\xc0\x1e\xa0\xd2\xa6\x1c\xe6\xd4\xbc\x2a\x59\xc5\xb6\x74\x52\x1a\x14\x79\x5e\xc4\x58\x80\x7a\xa1\x8b\x78\xda\xd5\x8a\x8f\xf6\x15\x38\x5b\xb3\x8e\x43\x6a\x79\x0a\xfa\x56\x33\xa9\x40\x90\x92\x33\x76\x1a\x0f\x58\x17\x8c\x1d\x1d\x64\x4b\x50\x53\x79\x7a\xa5\x4d\x9b\xe1\x16\x8d\xb0\xd6\x36\xc0\x4e\xa8\x0e\xbf\xbe\xd4\xc3\xf5\x46\xaf\x26\x5d\x52\x87\xee\xe6\x7d\xf7\x7a\x78\xbd\x9d\xa4\xd7\x70\xe3\x11\x83\xf5\x76\x18\xac\x87\x5e\x01\x4a\x08\xfe\x4d\x34\x14\x45\xfd\x30\x04\x0e\xd4\x1f\x70\xee\x24\x7a\x05\xd1\xeb\xe9\x47\x0f\xf5\xd5\x4f\xe3\x9f\xeb\x95\x54\x6a\xc4\x93\xeb\x57\x7f\xd6\xe5\xa5\x2c\x24\x9f\x3c\x6a\x17\xa6\x38\x5b\x69\x9a\x41\xb2\xb6\xfd\x63\x45\x16\x35\xc8\x57\x23\x77\xdd\x0b\xad\x3e\x69\x72\x8e\x47\x16\x95\x7f\x32\x55\x00\xa9\x00\x3a\xff\x91\x31\x85\x35\x38\x14\xb7\x33\xb9\xc9\x73\xad\x07\xf4\x7f\xc8\x8b\x20\x9a\x2a\x86\x34\xff\xef\x43\xba\xa7\xf3\x39\x57\xcb\x95\xda\x54\xab\xaa\xb3\xb5\xf1\x75\x6a\x72\x76\x4a\x01\xbf\x4f\x47\xa4\xc3\xb1\x1e\x83\x72\x3b\x5c\xc4\xf5\xd3\x78\x8b\x0e\x25\xfb\x05\xa2\x70\x4c\x9f\x9c\x2e\xf6\xae\x9d\x29\x13\x86\x07\x3e\x7f\x1c\x54\x20\x5a\x2e\x63\x91\xfc\x6a\x03\xc4\x5d\xd3\x9c\x70\x08\x87\x43\x69\x72\x4c\x52\xe2\x29\xc2\x6f\xf7\x96\x39\xe7\x0c\x60\xb0\xc6\x07\x44\xe5\x61\xe1\xf9\x70\x0c\xa4\x50\x0c\x96\x7a\x1a\x2e\x56\x1f\xe6\x3f\xd0\x68\x54\x2a\xe9\xdd\x30\xe9\x10\x7f\x83\xea\x59\xd4\xce\x1a\xcb\xb2\xb5\x06\x34\x21\x66\x09\x23\x90\xd5\x8e\x49\xa8\x7c\x49\xd1\xbf\xc2\x11\x6b\xbd\xd3\xf0\xaa\x6a\x12\x87\x20\xb4\xfa\x00\x87\x71\xe1\x94\xfd\x42\x73\x9f\xdb\x03\x00\x6a\x67\x14\xdb\xac\xaf\xb3\x6b\x34\xe0\x98\x59\xe0\x6d\x8b\x34\xd3\x6d\x79\xfc\xd8\x1d\xd7\x87\x9a\xd4\x6a\x28\xf0\xf3\xe9\x25\x34\x0d\xb8\x44\xb0\x2e\xb0\x04\xd0\x50\x4a\xda\xfa\x71\xb9\x3c\x46\xdd\x58\x03\x84\x7d\x2c\x43\x5f\x9c\x76\xf5\x2a\x07\xa6\x65\x83\x4b\x42\x70\xd5\xc2\xda\x0b\x6d\x1b\xc9\x28\x11\x7c\x00\x57\xa2\x55\x47\x6c\x1e\xad\x15\xd2\x35\x2a\x04\xc2\x69\x44\xba\xaa\x24\x92\x68\xc2\x7e\x15\x8e\x30\xf9\x0b\xc0\x30\x41\xd2\x5e\x45\x22\xb1\x34\xc7\xb2\x57\xa9\x2d\x9d\x17\x1f\x30\x93\x64\xbb\x40\xed\xfe\xa2\x56\xdb\xc1\x77\xdb\xd9\x77\xeb\xed\xe6\xa7\xe1\x76\xfe\xe3\xf6\xe1\xbb\xcd\xf6\x95\x66\xf7\xa9\x6d\x9f\xd2\xaf\x3a\xbb\xfd\x07\xbf\x2f\x3d\x62\x98\x82\x02\x13\x21\x1c\xcd\x7c\xb4\x3e\x77\x39\xaf\xb9\x8b\x15\x29\x44\xf4\xdc\x14\x2f\x2a\x95\x01\x2b\xe8\x9e\x28\x13\x6a\xf4\xf4\xb1\xdb\x3f\xfc\xff\xd7\x03\x26\xe5\x7d\x78\xab\x71\x84\x67\xd8\x14\x5f\x96\xae\x75\xb9\xd5\xc1\x53\x04\x5e\x6b\x5a\x05\xc7\xd5\xf5\x95\xf9\xc1\xc2\x86\x85\x58\xa4\xca\x23\x7d\x7d\x02\x81\x07\x9e\xfe\x21\x7a\x7e\x22\x15\x8f\xd8\x66\xe0\xe2\xd3\x21\xac\x7b\x7d\x22\x0d\xf7\x44\x5e\xc7\xc8\xff\xf9\xc7\x29\x8e\x8b\x8f\xbc\x16\xf6\x1f\x9b\x3b\xae\x78\x1c\x81\xf8\xfb\xcf\x4f\x18\x54\xe4\x12\x52\xb7\xff\xdc\x22\x40\x99\xb9\x61\x3e\xfd\x54\x74\xf3\xfa\xc7\xa1\x90\xc2\x6a\xbf\x24\x48\xfc\x89\x18\x4c\x8f\x06\x8d\x04\x7e\x02\x05\x0a\xa8\x44\xe8\xf2\x68\x80\xb7\x0b\x09\xb5\xa8\x5c\xcb\x56\xe1\x6b\xda\x19\x5b\xa6\xc4\xaf\x47\x99\xf3\x48\xe4\xea\x14\x04\x7a\xfa\x3d\xf3\x4c\x7f\x3f\x57\x69\x7f\x58\x04\x79\x34\xc5\x57\xd3\x43\x1b\xb0\x69\x10\x8a\x64\x15\xd0\xa4\x7e\xcf\x2b\xde\x9d\xda\x38\xfb\x1e\xae\x9c\x4b\x5b\x51\xba\xbd\x05\x3f\x73\x71\x2a\xbb\x0c\x53\xc8\x8f\x3e\x68\xfc\x4b\xff\x4d\x9c\x47\x16\xb8\x62\x25\xe8\xb6\xe8\x9e\xbc\x2e\xfd\x39\xf2\x18\xfe\xce\xff\x4b\x75\xd6\xa4\xb8\x8d\xc7\xc8\x9b\x9c\x81\x6c\x10\xa3\x7f\x9e\x8b\x52\xfa\xf3\xfb\x5c\x29\x78\x6f\x9e\x0c\x6f\x52\xa6\xf8\x42\x10\xb6\x25\xe4\xcb\x1e\x14\x4f\x88\x47\xb6\x1a\x9d\xcb\x68\x98\x40\xf1\x69\x40\x2e\x81\x0d\x71\xf7\x60\x9a\x89\x31\x0d\x11\x1d\xc6\x5e\x7d\x60\xf6\x26\x48\xd9\xd8\x8c\x0e\xbe\x01\x93\x2e\xc4\xab\x14\xb2\x2d\x61\x3b\xb1\x12\x9d\x49\x6c\xb9\x6a\x22\x24\xe7\x23\xf8\xa5\xac\xde\xdf\xce\xca\xc9\xfa\xdf\x7c\xcd\x9f\x95\xae\x48\x36\xe4\x42\x1d\xd1\x55\xdd\x7c\x5b\x39\xad\xfc\xa8\xfc\xd1\x6c\xf3\x35\xfc\x65\x43\x81\x80\x72\x42\x36\x1a\x20\xf2\xf0\x4c\x46\x4e\xf8\x4c\x66\xd5\x94\x0d\xa9\xa6\xb9\x97\x98\xe6\xc4\x11\x8f\x22\xc2\x12\x2d\x56\x31\x1d\xa7\x7d\x47\x06\x33\x05\xd2\x19\x99\x2a\xac\x4e\xde\x34\x29\x69\x5b\xe6\x06\x2c\x2f\x3d\x51\x48\x41\xcf\xc0\x32\xda\xd1\x26\x19\x06\x2c\x5b\xc7\x6a\x20\x81\x20\xcb\x69\x27\x9d\x8d\xf8\x8b\x34\xc2\xf4\x87\xb9\x7d\x85\xa1\x03\xdb\xba\xbd\x35\xb5\x35\x7f\x0d\x40\xb3\xde\xdb\xdd\x0b\x80\xed\x44\x85\x2d\x1c\x1d\xeb\x45\x75\x50\x7e\xf5\x4f\x5b\xfd\xcd\x68\x65\x31\xe2\x79\x6e\x77\x7d\x09\x63\xef\xc2\x60\x28\x5f\xf9\x66\xe8\x6e\x42\x3f\xca\x13\xdd\x0c\x2b\xcc\x5d\x07\xfa\xbb\x3d\x0c\xa3\x1c\xa6\x37\x61\xd1\x35\x6f\x27\x01\x21\xc2\xf9\x0d\xa8\x1c\xce\x1c\xc0\xa2\xfb\xff\xa4\xbb\xf9\xa3\xb9\xde\xbf\xd1\xbf\xf3\x05\x9f\x85\xf2\xb9\x05\xd0\xd0\x1f\xe6\x3b\x3e\xff\x94\x01\xed\xe7\xcd\x32\x09\xeb\x9a\x31\xd2\xb0\x9c\x79\xd1\xc9\xaa\x20\x98\xc6\x76\xd5\x2a\x81\x6a\x3c\x89\xfc\xa6\x34\x5b\xbe\xbd\x20\x9d\xf4\x7d\x74\xf2\x76\xee\x5a\x04\xc1\x94\x07\x01\xcf\xb6\x83\x18\x07\x62\x78\x68\x8a\xf2\xea\x5d\xb4\xc7\x96\xda\x9b\x6d\x24\x5c\x71\x61\x03\x89\xb2\x34\x16\x5b\xf4\x3d\xe1\x41\xcf\x49\xda\x74\x92\x49\xed\xbc\xb7\x3c\xdd\x4f\x48\x1a\x51\xd4\x1f\xd2\x65\x86\x81\xa8\x5f\x5e\x63\x91\x62\x5d\xf4\x50\x59\x60\x73\x9a\x3b\x82\x26\x6a\x82\x1b\x21\xbd\xeb\x6f\x5b\x8e\x6f\x38\x01\x90\xca\x2a\x43\xf7\x77\x36\xdf\x38\x54\x25\x6e\x53\x0f\x56\x5b\xcf\x90\xf9\x15\xe0\x7a\xb5\xb6\x78\x7a\x4a\xad\x97\x3e\xa3\xe5\x53\x48\x69\xd4\x7e\x76\xe1\x29\x5d\x6b\x1c\x11\xdb\xc0\xa3\x77\xe0\xeb\x5d\xa9\x4c\xa1\x3a\xb1\xbe\x3c\x36\xd3\xff\x7d\xf1\x0a\x6c\x37\x06\xe1\xba\xf3\xb2\xe8\x8e\xe2\x6a\x7d\xd6\x45\xcf\x1e\x6a\x05\x8d\x7e\x18\x68\x43\x8f\xb2\xe6\x35\x25\xcd\x6d\xa8\x3a\x2f\xda\xcc\xb6\xdb\x6d\xa0\x52\x1e\x58\x6f\x0b\xc8\x94\xdd\xf0\x62\x25\xe5\x8e\x23\x1f\x29\x15\x3e\x9d\x75\xac\x3f\x78\xe2\x6d\x52\x42\x89\x1a\x1a\x99\xf2\x1c\xf4\x83\x35\xf4\xf3\x7d\xd0\x90\xb5\x1e\x9c\x43\x47\x84\xf6\x6d\xd3\x0b\xab\x1e\xa6\x84\x0f\x5b\xbd\x3a\x90\x4c\xe3\x38\xf2\x08\xe8\xf4\x46\x6b\x06\x5b\xfa\x2c\xae\x1b\xca\xd4\x92\x17\xd3\xdf\x6d\xe7\x09\x3e\x7b\x4d\x19\x7e\xf7\x55\x69\x59\x8c\x44\xa2\xd1\xa7\x10\xb7\x29\x41\x0b\xf2\x8c\x88\xd9\xd2\x3f\x5d\x45\x3f\x6b\xa4\xc7\xf9\xa6\x69\x66\xcf\x0f\xbb\xa1\x1b\x6d\x64\x76\x12\x5a\x92\x58\x57\x61\x5f\xb3\x1d\x31\xdd\x3a\x6e\x77\xbf\x7d\x5b\xfd\xe5\xe8\x5d\x87\xe0\xdc\x76\x9b\x94\xb4\xa6\xb0\x19\x46\x66\xb1\x46\x09\x6e\xc6\xa2\x9a\xe2\x96\xfc\x54\xa3\xd5\x22\x3d\x63\xcb\xed\x90\x4c\x9d\x2e\x23\x4e\x46\x19\x5c\x79\xbd\xd8\x0b\xf6\xd3\x67\xbe\x0a\x59\x25\xe7\x72\x3f\x34\xb0\xe0\x1e\x42\x93\xb4\x6e\x66\x70\x99\x46\x3c\xb3\x4c\xea\xeb\x27\xa8\xb9\x6f\xe9\x45\xe9\x5f\x93\x47\xb6\x57\xf7\xdd\xc0\x69\xac\xa4\xb3\xf6\x80\xf6\xb8\x12\xad\x33\x0c\x2f\xac\x1a\xa7\x1d\x0e\x55\x68\x11\x56\xb8\xc6\x42\x76\x53\x74\xd8\xd4\xd9\x33\x2d\x4e\x5b\xae\xe6\x1d\xb2\x9d\x96\x49\x4d\x4c\x4b\x6a\xae\x7d\x66\x33\xbf\xde\x65\x5e\x6e\x07\x12\xad\x98\xb9\x76\xf2\xe2\xf2\xac\xa4\x5d\x76\x62\xc3\x72\xf1\x6c\x59\xa6\x13\x81\x19\x67\x8d\x53\x59\x38\x27\x6f\x12\xd7\xa6\xa0\x8a\x6a\x06\xe8\x42\xb5\x82\x34\x2f\xc0\xf2\x09\x3c\x66\x4c\xae\x74\x07\x63\x1a\x05\xf7\xcd\x5d\x3a\x94\x35\x22\x5d\x36\x24\x8a\x4c\x75\x54\x9c\xc5\xf8\x6f\xeb\x67\x94\xeb\xd5\x6b\xce\x83\xe8\x9d\x48\x75\x90\x6c\x44\x7b\x0a\xcb\x33\x66\x30\x69\x72\x93\x02\xc7\x27\x27\x20\x49\x78\x52\x47\x83\x6a\x76\x3f\x73\x3a\xc7\x93\x7c\x08\xf6\x9f\xde\x84\xb8\x96\xfd\xf1\x82\x5d\xee\xb1\x75\x0d\x06\xed\x33\xd2\x6e\x79\x30\xd9\xb8\x41\x6c\xb6\xcc\x87\xe9\x00\x9b\xfa\x43\x37\xb5\x97\x6b\x54\xaf\x0e\xc2\x98\xad\x54\x6a\x58\x6b\xc5\x6b\x6c\x97\xe1\x69\x38\xb8\x98\xd8\x74\xe5\x56\x75\x9d\x23\xb9\x41\x32\xa9\xd4\x96\x3c\x2a\x3d\x51\x48\x79\x17\x28\xa8\xd8\x52\xe1\xdd\x02\x4b\x52\x68\xe2\xe0\xce\x12\x56\xfd\x59\x9b\xbb\xec\xed\x93\xcd\x5f\xff\x42\x24\x18\x48\x65\x72\x40\xd3\x1d\x6f\x24\x43\x53\x22\x37\x20\x1d\x9e\x72\x42\xb7\x2b\x4f\x54\x22\x62\x6a\xe7\x92\x0e\xe8\xec\x54\x35\x6a\xa4\xf7\xb1\x65\xc3\x34\xbf\xfc\x69\x30\x37\x3e\x43\x56\xdd\x2a\xca\x7a\xf8\xbb\x1c\xbe\xbe\x4c\xec\xa1\xe9\x17\x8b\xe3\x91\x81\x72\x75\x74\xa1\x7c\x2a\x5e\x44\xab\x00\xe3\x33\x9c\xf5\x7b\xe3\xeb\x75\x65\xc7\x94\xe7\xea\x73\x91\xe2\x7b\x01\x75\xa4\xdb\x59\x99\xe2\x26\xfd\x64\xa6\x0c\xd3\x4a\x62\x19\xf6\xdc\x07\x43\x5c\xec\xc3\xf8\x9c\x4e\x4f\x94\xce\xa4\x97\x05\xbc\x1e\xb4\xc8\xb2\x49\xf2\x5c\x3f\x75\x79\x5b\x77\x14\xa7\xe4\x92\xb2\xda\x09\x1c\xac\x3d\x19\xca\xb1\x61\x6a\x65\x4b\x85\xe3\xff\x35\x59\xf8\x7e\x61\x9f\xb0\xcb\x4a\xef\xef\x16\x22\x74\x3b\xc5\xcd\xb5\x1f\x66\x46\xb4\x82\x31\xf1\x2a\x3b\x75\x14\x83\x83\xff\xe1\xb2\x70\x66\x2d\x2a\xda\xcd\x87\x76\xa4\x3b\xcd\x7f\xe2\x9f\x31\x87\x57\x97\x13\x0e\x08\x7c\x98\x46\xea\x89\x89\xdd\xe7\xcf\x51\x1a\x3c\x0e\x81\xd1\x49\xa5\x3e\x31\x1d\x89\x48\x6a\x5c\x44\x65\xd1\xbe\x65\x52\x09\x13\x91\xc4\xe1\xae\xad\xa6\x0d\xad\xa2\x3f\x81\x2c\xa1\x43\x70\x2d\xf8\x81\xcd\xf9\x62\x62\x8d\x46\x29\xe5\x6c\x41\x25\x6d\x43\xbd\x7a\x59\x18\x72\xea\x4b\xd7\x13\x38\x29\x89\x39\x95\x79\xe0\x63\xde\x46\xdd\x36\x32\x98\x4d\x7b\x44\x8f\x60\xe3\x71\x70\x9f\x89\x09\x57\xb0\x21\x4b\x50\xc2\x76\xce\x6c\xf7\x06\x89\xb8\xd3\x5b\x81\x79\x1d\xcc\xfb\x3a\xe9\x44\x4a\x37\x2a\xbd\xf2\x18\x19\xd2\x99\xe9\x96\x76\x99\x02\x83\x8a\xe5\x9e\xb5\xc4\x8e\x4b\xc3\x87\x06\x20\x43\xfb\x56\x75\x86\xf1\x70\x64\x26\x66\x63\x6c\xf9\x01\xdc\x2d\x4d\xb8\xc5\x50\x77\x87\xdc\xaa\x9e\x83\x1d\xfc\x4e\x08\xb2\xca\x2d\xa3\x1f\x8e\xb6\xb1\xa0\x93\x44\xdf\x83\xeb\xc2\x6e\x07\x8a\xed\x39\x59\x7d\xc2\x6e\xa0\x8b\x54\x42\xa9\x9a\x11\xc5\x72\x32\x8a\x22\x76\x00\xe9\xe9\x75\xde\x23\xac\x87\x2f\x5e\x99\x02\x78\x7e\xa4\x54\xdf\x86\xe5\x99\x3c\x3b\x6e\x2e\x63\x0e\x62\x63\xd9\xd8\xc5\x0e\x25\x1e\xa9\xb6\x92\xe4\xec\xa0\xfa\x8b\x81\x68\x93\x0c\x04\xff\xd5\x78\xe0\xba\xf8\x81\x1c\xc2\x95\x20\x21\xf6\x74\x90\x49\xd8\x70\x84\x07\xc5\x8d\xd7\x6d\x58\x3b\x2b\xdb\x58\x47\xdf\xff\xb0\xa5\x4f\x75\x31\x54\x10\x17\x1d\x0b\xda\x83\x50\x92\x78\xd9\xa3\x83\xfe\x78\xb1\xf2\x53\x31\x3a\xb1\x60\x21\x9f\x4e\x0e\xdb\x0b\x0d\xc8\xd2\x1d\x52\xcc\x37\x73\xd0\xb6\xb8\x5a\xdc\xa3\x03\x02\x05\x23\x03\x68\x46\x37\x4c\xd5\xc8\x87\xa4\xb8\xcd\xe2\xac\xf5\xb0\x44\x17\xcd\xd9\x8b\x47\xe7\x50\x3e\x79\xc6\xc8\x88\x84\xf1\x32\x0c\xad\x97\x04\x1b\xbc\x2b\x6e\x22\xdb\xbf\xe8\xcf\xd3\xbb\xce\xe3\x1a\xb4\x29\x09\x07\x9c\x39\x88\x72\xec\x11\x60\x68\x83\x0c\x22\x9f\x77\x28\xef\xe3\x6b\x1b\x4f\x98\xb6\xba\x81\xfa\xbf\xd2\x7a\x90\x3a\xc0\xf1\x41\x87\x6d\x73\x02\xc7\x64\x6a\x38\x19\xd2\x4b\x72\x18\x79\xf3\xef\x3c\x63\x2d\xf1\x6e\xb5\xc1\x6d\x0d\x48\x89\x60\x7d\xe9\x6c\x3d\x0d\x14\xd5\xb3\x34\xdf\xb0\x83\x9c\xc8\x9f\x51\x02\xa6\x96\xe3\x63\xb1\x5c\xc4\x07\xdd\x9c\x59\x5f\xe0\xcc\x0d\x18\x69\xe3\xa5\x76\x75\x09\x1d\xea\x0d\x37\x8d\x63\xd0\x8a\x2c\xa2\x66\x4f\xac\x15\x17\x17\xeb\x47\x3f\xd4\xbc\x70\x1c\xd2\x13\x33\xa9\x64\xc4\xc1\xfc\x9b\xbb\x36\xc8\x4c\x0a\xeb\xbf\xee\x88\x82\xb9\x77\xce\x98\x61\xdb\xdc\x77\x62\x5d\xd1\x05\xa8\xb4\x6c\x2d\x02\x51\xa4\x25\xb5\x93\xa2\xce\xc8\x26\x4c\xb9\x6f\x43\xb6\x50\x66\x96\x77\x38\xd3\xd1\x17\xe6\x72\x6c\xc9\x9d\x01\x20\x1f\xf4\x63\xd3\xf4\x78\xd8\xec\x1d\xfc\xd7\x8f\x55\xe8\x54\x3d\x8f\xfb\x4f\xa0\x75\xb4\x5e\x72\x39\x15\x7b\xe0\xb3\xc9\x43\x1c\x76\x3c\x50\xd1\x41\x78\x6a\x4d\x55\xe0\x97\xa2\xb5\xc9\xbf\xd6\x2b\x58\xa7\x8d\x9e\xbd\x51\x77\x97\xfe\xa5\x8b\x93\xe4\x7a\x62\x0c\x9e\x73\xdc\x1c\x1f\x81\x3e\x75\x19\x80\x7f\xca\x9a\xbe\x02\xbc\xd0\x16\x7d\x94\x2e\x09\xe2\x9f\x30\x55\x28\xe1\x75\xf3\xd3\x8f\x4e\xb1\xfc\x7d\x99\xfb\xba\xd4\x87\x14\xa3\x4d\xc9\xa3\x07\x46\x48\x97\x0d\x58\xbc\xea\xd8\xea\x87\x47\xb7\x58\xee\x45\xf3\x93\xe6\x23\xa6\x3d\xa8\x19\x41\xde\x7e\xf3\xf8\xa5\xe4\x80\xaa\x01\x6c\xfe\xfa\xb0\xaa\x2d\x62\x9e\xfd\xe0\x2d\x5a\xe9\xbc\xfb\xe6\x19\x3a\xeb\xed\x2e\xd9\x0f\xd2\x52\x37\xae\xf5\x0a\x62\xff\x15\x40\x56\x65\xfc\xd0\xd2\x0f\x5e\xe2\xf0\x84\xda\xaa\x17\x35\x8d\xff\xb6\x03\x1c\x19\xc4\x4b\x18\x64\x66\x4f\x0f\x78\x8c\xca\x00\x19\xb6\xa1\x2c\x0e\x29\x4a\x6c\xc1\x1f\xaf\xed\x1b\xda\xea\xe3\x3e\xf6\x7f\x59\x00\x3d\xbf\x96\x60\x3b\xb9\x00\xf7\xd6\xeb\x61\x28\x49\x44\x42\x23\x15\x0e\xc7\xa9\xcc\xe7\x18\xe9\x2c\xf5\x30\x15\x45\x84\xe9\x25\x2e\xb8\xb6\x65\xdd\x5c\xe5\xe7\xcd\xb4\x92\x51\x7d\x62\xe7\x5d\xb1\x59\x82\x44\x77\x0b\xf4\x0c\x74\x09\x2f\xa3\x72\xb6\x57\x3d\x86\xb8\xa8\x81\x05\xfd\x55\x7f\xa9\xa3\x68\x06\xd5\xc0\x84\x9b\x50\x63\x26\x6b\x6b\x1e\x9d\x7e\x69\x84\x49\xef\x52\x83\xe5\x3e\xa6\x0c\x41\x59\x3b\x57\xfc\x17\x93\xe0\x41\xe1\xd6\x8d\x29\x78\xae\xf3\x4d\x11\x71\xbd\xed\xed\x40\x18\xd3\xb8\xc8\x6a\x33\x7b\xc6\xb2\x53\x1a\x5b\xb5\x46\x14\xac\x6a\x15\xf3\x4f\x90\x60\x1c\x5d\xfd\x8b\xe4\x0f\x40\x92\x87\x0f\x48\x8c\x10\xc6\x3e\x0b\x53\xe7\xa7\x4a\x61\xf0\x1b\xcc\x80\x1e\xc6\xb6\x4e\x34\x94\x44\x14\x21\x6d\x1f\xbc\x9c\x73\x0f\xeb\x6b\xf1\xd1\xc6\x3a\x42\x1a\x71\xef\x0e\xad\xa7\x2f\x0d\x4a\x36\xb4\x53\xa0\xfd\x44\xfc\x4d\x4d\xde\x44\xab\xdb\x47\x1b\x14\xbc\x4e\x8e\x01\x3b\x7e\x45\x0f\xb4\xd5\x2f\x48\x4d\xb8\xf3\x7a\x65\x78\x3d\x78\x50\x50\xe5\x1d\xcc\x17\xf9\x12\xd4\x52\x26\x61\x28\xf3\xf9\x78\x18\x9e\x0a\x48\x77\x4c\x03\x3b\x09\x3c\x72\x1e\x23\x4b\xe0\x6b\x30\x9d\xb5\xd2\x41\x39\xe1\x9f\xc6\x44\xce\xc1\x47\x45\x1d\x75\xaf\x18\x75\x7c\x7f\xc7\x9c\x16\x45\xce\x4a\x87\x53\xd8\x07\x1a\xf6\x04\x7c\xb1\xe6\x8b\xcb\xaa\x25\x5f\xc9\x5c\x96\x86\xb7\xb0\x67\x0b\x0a\x88\x10\x3f\xf4\x19\x42\xb7\xdf\xaf\x35\x09\x41\x81\x81\x2f\xbc\x13\x89\x9a\x08\x47\x42\xd8\x89\xfc\x79\x3b\x41\x82\x9f\x15\x86\x2c\x60\x5b\xc1\x37\x86\xf6\x4f\x31\xb1\x41\xe3\x26\x3d\xae\x63\xb8\x44\xd4\x90\xc0\x34\x74\x7a\xe5\xa4\xa4\xe9\x85\xc8\x29\xa0\x71\x0b\xf8\x68\x0a\xc6\x29\x10\xf2\x67\x00\x53\xd5\x8c\x53\xf8\xe4\x06\xb0\x28\x1e\x3a\x9c\x86\x45\xbd\x51\xc6\x81\xd9\xbb\x0a\x67\x77\x7b\x48\x13\xcd\xc0\xd0\x65\x71\x6c\x02\x68\xd2\x21\x86\xf9\x3d\x90\x46\x24\x04\x89\x13\x58\x3f\x7d\x10\x7b\xbd\x22\xc1\xa8\x32\x05\xbc\x15\xdd\xc5\x5c\xea\xb2\x93\xe1\x64\x41\xdd\x6e\x25\x02\xd7\x57\xb5\x58\xdb\xc0\x26\x90\x70\xd5\xd1\xf7\x7f\xc8\x50\x79\x40\x9a\x5b\x2f\xf9\x4e\xbc\x5b\xd5\xda\xba\x1b\x6e\xd2\x83\x6c\x08\xff\x1a\xfb\xc0\xd7\x98\xff\xbc\x4d\x36\x87\x77\xa7\x49\x4f\xf1\x7b\x11\xaa\x21\x14\x83\xdb\x51\xb8\x12\xf1\xb0\xb9\xa5\xa1\xaf\x69\xa0\x2d\x0c\xb2\xb0\xba\x8e\xb7\xcc\xf0\x49\x40\xd1\xea\x6c\x69\x6c\xe7\x59\xf0\xba\x36\x94\xbd\x2e\xfe\x4e\x13\x56\xe6\x9d\x49\xcf\x0e\x7d\xc2\x0f\x82\x5d\x4b\x2e\xdd\x58\x3b\x45\x8b\x4e\xbb\xae\xee\xc8\xb4\x89\x31\x03\xdd\x89\x28\x7c\xb2\xa8\xcb\xfe\x8d\x2b\x4b\xe7\x68\x7b\x39\x32\xdd\x1c\xdb\xc3\xb1\x3c\xcc\x3f\x1c\x39\x59\x74\xf2\x0f\xe4\xe1\x5f\xd7\x95\x87\x85\xeb\xfb\x59\x3c\x94\x2c\xbc\x0f\x65\x4a\x9a\x37\xf9\x09\x49\x78\xfc\x8b\x89\x57\xfc\x35\xb4\xd3\x36\x2d\x47\x55\x05\x93\xa1\x50\x70\xcb\x77\xc8\xca\xf8\x7d\x73\xfe\xe1\xd7\xfd\x5d\x84\x48\x0a\xea\x40\xd8\x34\xec\xa4\x35\x5c\x63\xc2\x6e\xe9\x11\xcc\x14\x4c\x25\x4f\xe5\x06\x33\x4b\xc4\xd8\xae\x48\x4c\x21\xb4\xce\x83\xdd\xc3\xba\x01\x1e\xaf\x57\x9e\xee\x62\x18\x60\xa5\x4c\xa4\x91\x96\xc5\x6c\xcf\x85\xcc\x93\x56\xaf\xf1\xad\x28\xff\x93\xa4\xc0\x27\x31\xb8\xa4\xb7\xf5\xec\xbf\xf8\x9f\xa9\x2f\xfb\x98\xfb\x23\xe1\x4d\x79\x3c\xde\x49\x0b\xa0\xe3\x36\xcb\x4e\xcc\x1b\x08\x3a\xc6\xc2\x5c\xe2\x88\x15\x47\xba\xa6\x4b\x21\x9c\xe1\x3c\x97\xbe\x60\xce\xf5\x75\x17\x1b\x9c\x90\x63\x3d\xc5\x56\xf6\x3b\x14\x85\x36\xca\xc4\x6a\x97\x0e\x6d\xb0\x72\xd9\xcd\xf3\x6c\xf9\xbb\x29\x43\x7e\xe3\xd0\x82\xf9\x78\x7d\x21\x93\x01\xfd\xaa\x7c\x1a\x6a\x6b\xbb\x05\x55\x80\x03\x1e\x94\x9b\x0f\xbd\x3d\x93\xe7\xc0\x36\x27\x0f\xfc\xb4\xb1\x10\xe6\x8b\xc2\x61\x45\x2e\x7b\xfd\xbe\x32\x23\x8b\x92\xe7\xb1\x26\x4f\xdb\x50\x60\x63\x7f\xdf\x52\x61\xd5\x33\x6b\x86\x1d\x23\xb2\x34\xdb\x65\xc2\x41\xa5\xd3\x8c\x3c\xc8\x4c\x02\xf8\xc9\xac\xfc\xa4\x07\xb5\x18\x31\x13\x28\xfd\x0a\xce\x79\x5a\x0a\xcb\x21\x90\xbd\x8c\x10\x30\xb7\xd9\x98\x21\x68\x78\xa7\x09\x4c\x46\xe0\x54\x31\x9a\xde\xa7\x1a\x48\x7f\xa5\xef\x73\xed\x78\xfe\x51\xab\x9d\x48\x64\x16\x0c\xa9\x42\x92\x2f\x17\x33\xb5\x30\x72\x37\x00\xa3\xd2\x2a\x3a\x4d\x5d\x2e\x81\xb9\xfe\xcc\x0c\x11\xc0\x73\x9c\x23\x63\x89\xd2\xd3\xd8\x5f\x2f\xdb\x19\x91\x0c\x01\x9d\xc3\x1c\x18\x4b\x90\x5e\x38\xb7\xfe\xce\x8e\xe2\xd1\xe6\xd6\x36\xce\x82\x28\x1e\xb3\x78\x7c\x8c\x74\x58\xba\x28\x5d\x88\x5a\x0e\x8f\x9c\xaf\xab\xb7\xde\xf2\x3a\x96\x4b\x08\x59\x46\x52\xa2\x14\xe3\xde\x10\x84\x52\x56\x08\xf5\x1d\x61\x06\x5b\xbf\x0a\x0f\x88\x6f\x3e\xd7\x4a\xbb\xc3\xae\x80\xa5\xee\xec\x1a\xe5\xf4\x95\xad\x79\xfc\x53\x7c\x92\x19\x0f\x90\x2c\x60\x40\xca\x96\x2f\x2b\x5b\xe5\xac\xac\x64\x15\xf3\x91\xcd\xf6\xad\x7f\x12\xac\x86\x29\xcc\x08\xcf\x30\xfe\xb1\x92\x55\x1f\xc5\xf6\x25\x2b\x94\x59\x51\x22\x93\x59\xea\xc2\x3d\x66\xda\xfd\x06\xf0\x7b\x3f\xed\xfa\x7e\x95\xae\x8a\x32\x22\x19\x6a\x32\xf7\xff\x5c\x17\x45\xdc\x10\xb6\xfd\x25\x72\x9f\xf3\x07\x92\x07\xf5\xbf\x6c\x8d\xbb\x75\x9d\xb7\x63\x30\xb6\x88\x1c\x0a\x50\x34\x36\x59\xf2\x11\xe0\xa5\x9b\x48\x7b\x6a\x3f\xc0\xdb\xd4\x2f\x91\x76\x94\x53\xae\x73\xc1\x1a\xad\x5f\xff\x7e\x3d\x57\x50\xad\x5c\x32\xf0\x1e\x19\x27\xd7\x50\xee\x1c\xaf\x0d\x80\x5e\x03\x6c\x84\x7b\xe6\xd9\xfd\x09\x45\xd7\xd0\xba\x52\xaf\x21\xc6\xd0\x89\xd6\x90\x0d\xd6\x0c\xe7\xff\x50\x9e\xe2\x8a\x34\x26\xb7\x3e\x60\x55\x9b\x0e\x72\xcb\x6b\x48\x25\xbf\x69\x8a\x29\xe7\x6c\x58\x87\x32\x63\xf3\xef\xb6\x23\x28\x55\x75\x8f\x6b\x0e\xf4\x70\xc8\x30\xbd\xd3\x36\xbb\x18\x07\x40\xf4\x89\x3d\x0b\x9c\x72\x9e\xf3\x96\xc0\x5d\xd4\xf2\x14\xd0\xcc\x3e\x3e\x29\x79\x81\xd3\x34\xf0\x40\xa7\x45\x33\xdf\x32\x76\x0d\x66\x8f\x4f\x4b\x23\xa5\xd6\x6d\x08\x7c\x1a\x0a\x86\x0b\xb9\xc2\xd5\x2b\x6a\x83\x5d\x75\xdc\x33\xe3\xf3\xb5\xa0\x8f\x4a\x28\x07\xc4\x0f\x6e\x76\x05\x03\xc5\x5d\xc0\xbc\x95\xec\x88\x6c\x7c\x23\xe8\x48\xdb\x44\x34\x18\xf5\xb6\x03\xac\x44\x89\x8f\x49\x4b\xbc\x92\x76\x1f\x6f\x99\xb9\xd4\xc7\xbc\x3a\x83\x7e\xa0\x9b\x1e\xed\xcc\x9e\x4c\x6d\x73\x22\x9d\xbb\x26\x0d\x20\x19\xeb\x32\x42\x20\xcc\x4c\xe8\x05\x4e\x1c\x49\x9b\xe0\x13\xff\xc6\x8f\xf9\x31\xce\xb1\x04\x34\x04\x53\x74\x6d\x7a\x4f\x2e\x01\x11\x3d\x31\x73\xf8\xd2\x9a\xd3\x11\x83\xd0\x84\x26\xd5\xb0\x84\x2b\xd4\x04\xa5\x76\xd3\x56\xa1\x01\xec\x45\x78\xab\x75\x19\x8c\x78\x73\x07\xf5\x8d\x35\xda\x30\xd6\xe0\xb9\xb3\x9e\xc9\x46\x6c\x80\x9c\xfc\x44\x34\x88\x9f\xf5\xbd\xad\xb2\x26\x38\xbb\x60\xc6\xaa\xb7\xf7\x36\xd9\x64\x52\xf3\xf9\x28\x95\x2e\xe9\x02\xf2\xca\xbf\xe1\xc4\x6b\x46\x1e\x0a\x4b\x10\xa3\x01\xb0\x39\x28\xfd\xe6\xb8\xe8\x44\xcd\x84\xf7\xfc\xb0\x9d\x30\x20\x0d\x49\x32\x10\x58\x51\x03\xe3\x3c\x30\xfa\xa0\x66\xc4\xa8\x85\xc4\xe2\xc9\x35\x5c\x17\xf5\x14\x08\x3b\x38\x7d\x33\x62\xdb\x28\x88\x40\x5b\x6e\x42\xcc\x5b\xea\xea\x71\xd4\x8a\x6d\xda\xce\xc3\xcc\x5e\x55\x71\x55\x33\xac\x73\x4e\x27\xd2\xff\x86\x05\x21\xf7\xdd\xfe\x65\xeb\xcc\x73\xaa\x80\xef\xd6\xc0\xb9\x4b\xf3\xf5\x01\x3c\x0d\x6c\x2a\xd4\xf1\xb7\x01\xdc\x90\x7b\xd2\xd0\xd4\x01\xf6\xc1\x84\xd5\x60\xf5\x39\xa5\x91\xd3\xec\x02\xfd\x59\x81\x3b\x4b\x9c\xce\x57\xc0\x54\xd3\x9e\x53\x06\x68\xc4\xbb\x02\x7a\x55\x13\xd0\x28\xec\x42\x4d\x4e\xed\xfa\xdb\x3f\xf0\x32\xa6\xf1\xfe\xd6\x8a\xea\xd0\x52\xbd\xaf\xbf\x27\x5d\x8a\x24\x1e\xbd\xd4\xd4\x2e\xcd\xcf\x4c\xb3\xce\x80\xc1\xe7\x2f\xe5\x57\xa6\x8b\x65\x80\x0b\x49\x01\x21\xfb\xa8\x86\xca\x7e\xcd\x54\xa2\x53\x01\x81\x2c\xd5\xa6\x2a\x05\xc8\x54\x97\x6a\xf5\xcb\x40\x51\xbd\x7e\xbb\x3e\xd9\x9e\xa4\xc3\xa2\xde\x2a\xa1\x6f\xc6\x3a\x75\xc4\x35\xba\x3a\xca\xea\x5d\x73\xff\x8c\x77\xcb\x15\x57\x5e\x8c\xe0\xa8\xa8\xb3\x76\x75\x35\x07\xca\x3a\x97\xff\x63\x7f\x79\x1f\xbb\xbf\x2f\xc7\x14\x7e\xd5\xb8\xc0\xab\x4a\x29\x45\xc1\x2e\xaa\x7a\xc6\xc6\xf1\xec\x35\x0e\x67\x37\x42\x20\x70\xa4\x20\x91\x83\x46\x09\x16\x35\x78\xb4\x10\xd1\xc3\x0b\x61\x04\xf1\x05\xec\x10\x9e\x91\x22\x46\x0e\xa4\x22\xfd\xec\xff\x3c\x4e\x1c\xf3\x0d\x9d\x5c\x2d\x91\xc4\xc3\xb3\x7e\x66\x64\x30\xe5\xd2\xf0\xc3\x57\x3d\x05\x39\x70\xc2\x0d\xb3\xbd\x59\x06\xba\x85\xaf\xea\xee\xe3\xee\xed\x7a\x95\x65\x4f\x6c\xcc\x4a\xa7\xeb\xde\x18\x70\xba\x7f\x19\xe2\x10\xba\x8d\xe9\x87\x89\x21\xae\x29\x3f\x34\x52\xe8\x67\x88\x39\x05\xb7\x44\x06\x3e\x73\x6b\xe3\xa9\x07\xb5\xc7\x7d\x1e\x77\xdf\x6f\xfa\xf4\x9b\x9c\xdf\x8b\xeb\x14\x78\x85\x77\x92\x1f\x61\x4c\xfb\x9f\x32\x50\xcb\xac\x08\xec\xb1\x9a\x72\xac\xc0\xd8\x78\x26\xb2\xa5\x7c\x5a\xaf\x83\x8d\x0a\xae\x74\xfb\x80\xb7\xc1\xf6\xf5\xc4\xb6\x76\x47\xaf\x52\x55\x55\x5e\x30\xf7\x28\x23\xae\x23\xcc\x5f\xca\x9e\xd5\xe0\xde\xff\x4f\xb8\xc0\x54\x2c\xb7\x40\xd3\x3d\xfc\xb7\x9f\xfe\xc9\x92\x7e\x52\xfa\x1b\xcd\xd1\xca\xde\xd4\x70\x04\xcc\x76\x6e\xb0\x0a\xde\x86\xfb\x4b\x6a\x19\xb3\xef\x23\x1b\xa9\x66\x13\x45\x6e\xc3\x54\x8e\x04\xb2\x13\xf2\xde\x99\x3a\xf1\x7a\xf2\x81\xf3\xd1\x1e\x5a\xbb\xf4\x61\xc9\xc3\x4a\x0f\xb6\x23\xdf\x83\xbb\x1a\xfd\x67\xb8\x01\xd6\xd1\x21\x66\x98\xd5\x47\xf3\xe9\x89\x95\x6a\x0b\xb0\x3f\xb3\xf0\x74\x1f\x4b\x0e\xbf\x1a\xbd\xf8\x82\x79\xf8\x6a\x62\xf9\x8a\x39\xf5\x62\x4b\xe2\x94\x1f\x6b\x1d\x80\xe6\x6e\x99\xc2\x5c\x5a\x85\x83\x68\x81\xd4\xee\x20\xf9\x02\xa5\x62\x60\x1c\xed\xf8\x03\x5c\x9e\x32\x75\xfd\x58\xc4\x87\x06\xcd\x2f\x86\x37\x60\x89\x21\x64\x46\xaf\xd5\xaf\xad\x6b\xcf\xf7\xc3\x66\x17\xbb\x06\x20\xcb\x63\x70\x47\x3c\x64\xdb\x00\x84\x14\xe4\x28\x8b\x06\x61\x36\xb1\xa5\x24\x16\xfb\xab\xd2\xd7\x1e\xed\xa0\xfa\xdb\x88\x81\x2d\x7c\xc0\xbd\xc6\x57\x6e\x2b\x63\x70\x0d\x87\xe0\x47\x58\x09\x47\x3c\x6b\x89\x12\xb9\x0f\x4d\x82\x7e\x74\xe7\x6c\x37\xf1\x0c\xc9\xee\xf0\x08\x7a\x74\x22\xa6\xde\xfe\x65\x84\x1e\x03\x82\x47\xcb\x50\xe7\x08\x58\xcd\x98\x6a\x87\x98\xee\x99\x5f\xfa\xc6\xc9\x80\x9a\x35\xc9\xfb\x66\x02\x84\x14\xec\x30\x75\x87\x30\x6c\xbc\xa1\x9c\xd4\x35\x3b\x10\x8c\x1d\x70\x17\x8d\xfc\x3f\xd5\x00\xc1\x98\xbb\x59\x4b\x00\xe0\x49\x74\x3c\x13\x34\x1a\xe4\xed\xab\x15\x96\xa0\x30\xd9\x2f\x28\x28\x51\x09\xbe\xbf\x0d\x00\x51\x5e\x02\x1d\xa5\x99\x33\x02\x40\x3c\xac\x4e\x71\xb8\x11\x36\xef\xbd\xa4\xc4\x0c\x39\x9e\x76\xc2\xb0\x0f\x4e\x80\x80\x02\xab\x82\x16\x60\xdf\x5a\x16\xf6\x77\x40\x7b\xf2\xdb\x13\x95\x4d\x79\xf6\x4c\xdd\x96\x32\x64\x78\x11\xe2\xa9\x02\x54\x7b\xda\x43\x96\xe6\x61\x6d\x56\xe7\x25\xfd\x22\x99\xe0\x41\x0c\x19\x3b\x76\xe1\xb6\xec\x6e\x78\xea\xdd\x2b\xbf\xc0\x2f\xe9\x4d\xb9\x8a\xb1\xd9\xfb\x79\x82\x3e\xf9\x8d\x4b\xd2\xdb\x0f\x4f\xd1\x8a\x11\xbf\xb4\x62\x09\xf3\x81\x45\x00\xf1\x10\x0b\x1d\x61\x27\xec\xa3\x75\x70\xa8\x50\xe1\x07\xe0\xf2\xce\x60\x4a\x33\x72\x11\x36\x6b\xb0\x56\x34\x55\xbd\x23\x8a\x66\xb0\x7e\xd6\xc7\xce\x68\xb0\x36\x6e\xd6\xed\x1f\x25\x2d\x63\x4f\x06\x22\xd7\x65\x35\xfb\xaa\xd9\x17\x2e\x8b\xa8\x85\xd2\x62\x34\x15\x61\xd5\x38\x3c\x22\x20\xc2\x0e\x58\x8c\xd5\x8d\x28\xa8\x00\xc1\x9c\x4a\x30\x40\x31\xdb\xff\x80\xa2\x34\xc1\x82\x3e\x2f\xa0\x86\x48\x1c\xa3\x9b\xfb\xa6\x1a\x5b\xae\xe5\x16\xdb\x82\xca\x18\xc4\x80\x0f\x80\xd0\x10\xa3\xa8\x08\x3b\x61\x1f\xde\x07\x54\x66\x89\xa7\xca\xaa\x78\x7a\x92\x89\xc6\x38\x69\xa8\x5f\x48\xb3\x21\x0d\x86\xde\x64\xb2\xfe\x2e\x9b\x02\x42\xac\xd7\xe9\xe0\xdb\x08\x3b\x2f\xef\x2d\x67\x1f\xb4\x5c\xd3\x01\xbb\x09\x00\x2f\xa5\xd4\xc7\x64\xe8\xcd\x2e\xd6\x5d\x65\x2b\x9c\xe2\xf4\x87\x9a\x8c\xd0\x16\x43\xf0\x16\x80\x2a\x8f\x53\xa5\x14\x84\xe5\xb7\x9b\x70\xda\x98\xa7\x75\x95\x88\x23\x8f\x26\xbf\x3c\xe2\x67\xca\xde\x17\xba\xee\x42\x8b\xe0\xb3\x24\x53\x67\xde\xb8\x59\x3e\x48\xf9\xa2\x23\x7e\x7b\x14\x36\xe6\x40\xde\x6e\xe1\x4d\xe8\x22\x95\xb0\x3d\x8e\x9c\x02\x7a\xb9\x8f\xd9\x5c\xc6\x74\x27\xdf\x1a\x1c\x65\xf8\x72\xb0\x35\xb4\x38\x22\x1e\x26\x96\x9e\x79\x55\x5c\x7f\x80\x2b\x5c\xa4\xb4\x5a\xea\x61\x49\x86\xee\x95\x3a\x91\x7c\xc5\x14\xdc\x35\xaf\x0c\x48\xf3\x3a\xc0\xcf\x2f\x51\x6e\x33\x25\x6e\x62\xdf\xbc\x66\xeb\x7d\x7c\xb6\x5f\x9d\xaf\xb1\x95\x61\x96\xc6\xf9\xf7\x5d\x14\x84\x1f\x24\x97\x02\x1b\x7b\x4b\x12\x21\x31\xe3\x44\x9b\x98\x5f\x92\x0f\xa9\x2f\x07\x51\xfc\x16\xd6\x56\xba\xb4\x92\x1e\x82\xe4\xb2\x27\x90\x9b\x84\xd9\xa5\x5f\xd0\x00\x97\xec\xba\xea\xfe\x5a\xac\x5c\xac\x5e\x69\x96\xea\x09\x52\x7a\xc9\x81\xe2\x6b\x0d\xee\xf7\xdd\x00\x62\x3f\x10\xfa\x7d\xdf\x1c\xc3\x75\xb2\x57\x63\xe3\x18\x60\x69\xf9\x4b\xa3\x9b\x4b\xa3\xe7\xd1\x6f\xe1\x17\x74\x04\x66\xf6\x76\x41\x0c\x36\x6b\x63\x6f\x65\x12\xb0\x79\x18\xfb\x0d\x89\xfa\x91\x87\x92\x55\xb2\xf7\xa5\x1f\x0d\xfa\x86\x97\x02\xe2\x4a\xec\x08\x34\x26\xfa\xd3\x70\xf9\xf2\x61\xe8\x6f\xd0\x79\x27\x33\xa2\x45\x84\x5d\x66\x66\xf7\x45\xb3\x85\xc7\x2e\x4a\x26\x61\x34\xf7\xda\xec\x97\x42\xac\x7d\x98\x53\x5a\xd4\x2a\xa2\x56\xa6\x5a\x0d\x25\x5c\x43\xb0\x76\x8d\x6a\xd8\xd6\x70\x3a\x34\x72\x68\x33\xd6\x19\x51\xd6\x0a\x67\x79\x41\x36\xe8\x17\xa2\x03\x93\x7e\xc1\xa3\xee\xd5\x08\x33\x31\x21\x38\x30\x34\xe8\x30\x27\x1f\xc2\x7b\xd8\xc3\x05\x1e\x03\xbc\x40\xf8\x6d\x8c\xa1\x74\x1d\x3d\x0b\xd4\xa7\xc3\x34\x3b\x20\x2b\xd3\xb6\xc5\x05\xc2\x8a\x2d\xd1\x3d\x45\xb2\xb9\xd7\x90\x0d\xbf\xec\x15\x9c\xf3\x58\xd2\x1e\xec\x3b\xc5\x1b\x87\x13\x10\xb7\x23\x4c\x68\xa6\xd6\x65\x2b\x06\xcb\x9f\x2f\xd2\x93\xe8\x20\xf9\x57\x12\x65\x4c\xa8\xea\xca\x58\x17\xca\xf6\xce\xec\xcc\x53\x2d\xbd\x29\x74\x9f\x4e\xf8\xbc\x7a\xe9\xb1\x4d\xab\x84\x82\x3a\xb2\x19\x96\xb4\xb8\xdd\x87\x2c\xcd\x95\x3e\x60\x6b\x25\x16\xdb\xf9\xd5\xbb\x78\xa9\xd8\x26\x9f\x42\x49\x76\x8b\xde\x32\xf1\x94\x6a\x73\xac\x35\x68\x5c\x9f\xa9\x9d\x7c\x43\xa4\x45\x68\x20\x7b\x1a\xc3\x72\xf9\xb9\x79\x78\x0c\x0f\x9d\xdb\x5a\x4e\x9e\x7b\x3f\x06\x67\x8c\xe7\xde\x77\x81\xed\xc8\x77\x31\xd9\xf0\xbb\x57\x39\xf9\xb8\x24\x26\x6c\x5c\x9e\xb9\x66\x6f\x15\xf2\xa6\x42\xdc\x54\xb0\x8f\xd3\x13\xd6\x0c\x38\x06\xdf\x32\x55\xbc\x1e\x54\xbf\x2f\x20\xcd\xa0\xc5\xda\x2f\x62\xe6\x17\xff\x3a\x7d\x7a\xdd\xd9\x11\x12\xd8\xdc\x67\x13\x6e\x7a\x4f\x08\xd4\xb7\x20\x64\x11\xd4\xe8\xaa\x0c\x73\x77\xda\xb5\x99\x71\xb9\xaf\x7d\xf9\xe4\x3c\x1d\x99\x02\xeb\x38\x4d\x74\x96\x26\xfc\x63\x69\xb0\xad\x27\xcd\x12\xce\x1d\xe7\x3b\xd0\x3a\xf7\xb9\x8f\x7c\xec\xff\xb8\xf1\xca\x12\x2e\xe3\x14\xe0\x8b\x44\xf6\xe8\xa6\xd5\x61\xe8\xfa\x9e\x4f\x4f\x43\xce\xa4\x6c\x44\xb1\xa7\xab\x66\xc7\x22\xd1\x87\xa3\x75\x51\xb7\x29\xd0\xc5\x96\xa9\xf6\xc1\x62\x91\x4b\xe8\xad\xdc\x87\x9a\x9b\x75\x1a\x30\x92\x1c\xa8\xe2\x99\x6d\x9d\x60\xf3\x40\x30\x17\xcc\x46\xe9\x15\x22\x21\x77\xc4\x12\x59\x05\x90\xce\x66\xad\x19\x46\x43\x60\xfe\x55\x02\x8d\x12\x67\x2e\x9f\x1f\x7a\x73\xc9\xa9\xcf\x61\x42\x6e\xf0\xa0\x76\x2d\xec\xb4\xa6\x3f\xe3\x11\x7a\x12\xd2\x81\x25\x8c\x3a\xa1\xd1\x2e\x3f\xfa\xae\x76\x48\x37\x13\x67\x33\x32\x36\x62\x2d\x66\xf5\x4c\x67\x90\x13\x83\xee\xc7\x4d\x56\x53\x30\xa5\x9d\x23\x41\xe0\x9c\x04\x2f\xb9\x7c\x9e\x38\x56\x40\xaf\x05\xca\x4b\xe3\x91\xdd\xbe\x76\x81\x28\x0f\x0a\x12\xc3\xbf\xe7\xa4\xb4\xe8\xf3\x39\xe1\x5d\x2d\x18\x82\xac\x45\x81\x1c\x9c\x10\x8f\x54\x78\xe8\x00\x0d\xec\xe7\x08\x39\x6a\x04\x1b\x16\x13\x60\x2f\x21\x9d\x6f\xb6\xe3\xc7\x64\x02\xc7\x48\x80\x67\x60\xd1\xae\x66\x97\xca\x22\xe2\x4e\x9b\x79\xd6\xd5\x57\x3f\x7f\x80\xe9\x34\x08\x40\x05\x47\x11\xfb\x6b\x0c\xf0\x9e\x9c\xa0\xe9\x2e\x7c\x21\x16\x60\xb6\x34\x9f\x76\x33\xe8\x51\x55\xac\xf4\x38\xed\x1a\x30\x50\x28\x06\x19\x0f\xbe\xbd\x42\xe5\x26\xb6\xe4\xd3\xff\x71\x80\x61\x39\xce\xbc\x62\xdc\x32\xf1\x0a\xa5\x0a\x2d\x54\x89\x82\x17\xc0\xaa\xe3\xfe\x1a\x3c\x37\x34\x52\x7f\x7c\xc0\x09\x73\x84\x45\x32\xe9\xef\xd6\x19\xe9\x4a\x17\xbb\xf6\x70\xac\x30\x6b\x62\xab\x43\xea\xd9\xc6\xf5\x63\x73\x61\x74\x66\x16\x72\x8e\xae\x77\xfb\xe6\xd8\x8e\x8b\xa0\x08\x4d\xc2\x8b\x9a\xc9\xd8\x8b\x90\x07\x9d\x91\x08\x77\x82\xb2\xf0\xc5\xee\x50\x97\x0b\xe9\x97\x99\xf3\x55\x11\xd5\x45\x4b\xee\xd8\x0f\x2f\x37\x11\xa2\x0e\x2e\x3f\x85\x3e\xc6\xa6\xac\x89\xa7\x6f\xf8\x87\x4a\x7e\xb2\x1e\x14\x42\x24\x60\xd1\x14\xec\x45\x3b\xde\xa6\x23\xc0\x36\xdb\x04\xed\xa6\xeb\x1d\x9c\x50\xa1\xe4\x18\xd3\x2a\x0c\xec\xc0\xa8\x07\x23\x7a\xb0\x59\x6b\x18\x8e\xa3\x37\xd2\xc9\xb0\xee\x8c\xf9\x03\x65\x9b\x8c\x25\xe0\xcf\x46\x89\x93\x50\x60\xac\xbe\x6d\x92\x12\xfc\x6e\x42\x9c\x2b\xf0\xbe\x62\x18\xb3\x8e\xaa\xae\x66\xe6\x10\xb3\x0e\xa2\xc8\xa2\xec\x19\x1d\xd0\xf4\x38\x3b\x10\xa1\xb4\x89\x69\xc6\x9f\x91\x36\x36\x3d\xd3\x94\xd2\x1a\x3c\x3c\xbc\xe0\xc2\x53\x73\x83\x27\xc6\x87\xfa\x07\x3c\x3c\xed\x54\x8e\xcc\xc3\xbf\xf3\x91\x3a\x7d\x32\x28\x5f\x21\x48\x44\xc0\xf5\x0a\xee\x16\x41\xd5\xb6\x74\x9f\x1a\x4d\xa6\x1b\xe9\xd5\xe3\xe5\x17\xb4\xe0\xf7\x6b\x26\x59\x03\x50\x12\x10\x4a\x55\x10\x51\xfc\xb3\x10\x9b\x0a\x54\x96\xc3\x3e\xe0\xcf\x23\x4f\xa4\x91\xd5\x87\xe8\xc7\x68\x1a\xd2\x83\xe8\x6c\x6e\xbd\x45\x8a\xcb\xf3\xbf\xdc\x6e\x08\x86\x3a\xf4\x2a\xcf\xc8\x12\x11\xac\xcf\x0a\xed\x9e\xb1\xff\x7d\xdc\x9f\xd1\xa1\x17\xad\x2a\x5a\x5a\x2b\x61\x63\x47\xb4\x56\x2a\x41\xb7\x11\x5f\x06\x43\xa5\x83\xde\xd6\x1a\x05\x25\xe6\x37\x2a\x63\xf2\x1b\x93\x2c\x6a\x3c\x40\x5f\x24\x9f\x80\x93\xc7\x05\x6d\xdc\x4d\x90\xda\x86\x06\x58\x18\x00\xf8\x22\xd9\xd3\x5f\x64\xa6\x3d\x5e\x65\xcc\xa9\x1d\x96\xa3\x05\x16\x97\x14\xe0\xd6\x40\x6d\xb2\x5a\x4c\x10\xcc\xc5\x77\xef\xe7\xdf\xd5\xa5\xd5\xb6\xa9\xe8\x64\xcc\xce\x0c\x35\x3b\x86\x6c\x27\x33\xf1\xeb\x8c\x79\xef\x52\xea\x84\x58\x83\x61\xdf\x79\xac\x6e\xab\x93\xe8\xb3\x1f\xf9\xe0\xf3\x97\x03\x32\x56\x15\x4f\x5c\x76\x02\xa2\x8e\x19\x25\x06\x65\xeb\x5a\xb0\x30\xe2\xb7\xb7\x11\x1d\xfb\xf8\x3e\xd1\xa3\x42\x84\xe0\xb7\x0f\x27\xb8\xe3\x8b\x8b\x71\xc0\xe8\x4c\x7b\x50\x21\x71\x56\x51\x81\x46\xcc\x62\xaa\x29\x2e\xa8\x26\x79\x1b\xff\xf3\x4e\x92\xe5\xdb\x76\xde\x8f\x84\x70\xe0\xfd\x90\xa5\x68\x87\x29\x74\x23\xb9\x64\x63\xd8\x8e\xee\xfc\xc9\x37\xe4\x91\xf0\xb1\xad\x89\xb7\x95\x6b\x48\xdf\x05\xb7\xa5\x77\x6a\x33\x78\x09\xdb\x34\x30\xb8\xb4\xc3\xf1\x17\xd9\x53\x94\xc9\x30\x4b\xfe\x3d\x2a\x49\x94\x06\x4d\x0d\x33\x70\xb0\x50\xbe\x52\x10\xe0\xfc\xaf\x63\x6c\xfc\x70\xe3\xf3\x17\x88\x62\x09\x5f\x61\xc4\x95\x10\x7a\x18\xef\xcb\x56\xbf\x69\x30\xf1\x9a\x94\xe5\xaa\x99\xba\x5d\x9a\x6b\x9e\xcd\x5f\x30\x58\xc4\xcd\xae\x66\x48\xa3\x40\xef\xbe\xee\x58\xc1\x4a\xfa\x2c\xcf\x97\x4f\xe0\xc4\xcd\xfe\x28\xc1\xcf\x10\x16\x13\x56\xb3\x55\x15\x05\x3a\xfe\xef\x28\xdd\xd3\x5e\x2f\x67\xf9\x65\xd8\xf7\x97\xf5\x71\x21\x1d\x99\x0e\xc2\x6e\x0b\x27\x47\x35\x10\xe6\x8a\x04\xa0\x30\x32\x1e\xa7\x5e\xd3\x96\x75\x92\xa4\x24\x9d\x0d\xd5\x25\xab\x7d\xe6\xaf\x49\x08\xf4\x3d\x65\x70\xf6\xf1\x88\xaf\xdf\x39\x84\xc3\x24\xf5\xf7\xed\x5c\x77\xe4\xe2\xe7\x09\xf2\xb7\x20\xd6\xfd\x16\x46\x4f\xe7\x47\x99\xed\xa3\x2a\x09\x99\x10\x62\xa6\xc3\x86\xc8\x0f\x15\x2c\x50\x53\xf5\x09\xfa\xa4\x7e\x68\xf4\x11\x31\x62\x1a\xda\xdf\x21\x89\x8a\xd4\x12\x08\x7c\x67\x92\xb8\x10\x1e\xdf\xda\xd3\xa6\x5f\x60\xe0\xa1\x95\xea\xfe\xee\x19\x3e\x2c\xf0\xd8\x30\x53\x23\x2c\x6a\x5b\xfd\x19\xab\xb0\xa4\xbc\x13\x2c\x4a\xbe\xd3\xd2\x4a\xac\xd8\xd7\xe8\x8e\xcf\x4c\x81\xfd\x7c\x41\x44\x63\x1d\xdd\xbf\x98\x68\xba\xf0\x58\x9d\x61\xa1\x80\xc2\x91\x8c\x9a\x8e\xb2\x60\xa1\xf5\x2b\x6b\x5b\xc9\x41\xa4\x71\x4b\x9f\x61\x80\xd7\x6e\x9a\xb1\x32\xb1\x2e\xed\x56\x96\x0d\x56\x1b\x6e\xa8\x56\xf2\x70\xad\x7f\x77\x83\x93\xc1\x23\xce\xc3\x5e\x12\xc3\xa8\x08\xbc\x93\x9a\x3f\x11\xa7\xc1\x41\x58\x75\x58\xac\x88\x8a\x1e\x0b\x39\xb0\x08\x3c\x6d\x04\xcc\x75\xb1\x21\x62\x4e\x3d\x32\x21\x32\x27\xb2\x48\x5c\x5e\x52\xa7\xc0\x08\x9a\xc9\xac\x3d\xa4\x71\x44\x61\x27\x56\x4d\x1b\x81\x11\x5b\x48\xfa\xb5\xec\xbe\xcd\x14\x34\xa7\x22\xf4\x3b\xa4\x04\x19\xca\xf3\xf7\x5e\x56\x40\x1e\xd6\x37\xe0\xd3\x72\x0f\x13\xd6\x86\x19\x37\xdc\x5e\x24\x6b\x9f\x44\xdc\x26\xcc\x40\x5d\x6e\x8e\x27\xbe\x35\xa8\xaa\x4e\xa3\x6d\xb8\xf1\x42\xc9\xda\xe9\x91\xbb\xd8\x39\xb6\xf6\x0e\xde\x71\x0a\xe6\xf9\x54\x95\x7d\xfc\x0e\x30\xfc\xeb\x33\x7f\x0b\x6b\x98\x4a\xb6\x92\x24\xe3\x37\x7e\xc2\xc2\x26\xc3\xc4\x2d\x36\x05\xe3\xd2\xac\x12\x97\x14\x4b\xc9\xb3\xbe\x49\x92\xf5\xf9\xeb\x3b\x88\x4f\x1e\x71\xce\x29\x5e\xb9\x44\xef\xfa\xb3\xcd\x30\x1d\x9b\x7e\x7b\x63\xfe\x72\xaa\xcf\xf2\x7d\x51\xcd\x04\x35\x76\x37\x6f\x82\x6f\x9d\xea\x3e\xf7\x28\x92\xaf\x74\xa5\xc5\x51\x3e\x1d\xcf\x05\xed\xa2\x0e\xb0\xbe\x48\xe7\xb2\xde\xee\x7b\x68\x60\x79\xd0\xd9\x04\xa8\xff\xda\x3a\xd6\x02\x85\xb2\x7a\xcf\x5b\x89\x64\x1f\xa6\x74\xc5\xde\x69\x77\xb4\x75\x4a\xdd\x2a\xdc\xb4\xe9\x9e\x63\x1f\x83\xf6\xa1\x93\x89\x5a\xfa\x41\x97\x8b\xdc\x74\xe4\x4a\x0d\x93\x78\xa4\x6f\x09\x1e\xcf\xfb\xe6\x13\x31\xc6\x0a\x5d\x3f\x06\x89\x1a\x0a\x86\x83\xe2\x99\x51\x06\xe8\x44\x14\x9c\x11\xce\x48\x92\xed\x36\x3f\x10\x34\xc5\xc9\x15\x1c\xb7\xe9\xe4\x59\xa1\xb3\x7e\xf3\x6d\xa7\x3c\xbf\xf2\x61\xfd\x6b\xdb\x0a\x04\xb8\x8e\x6e\x79\x05\x23\xc7\x32\x5c\xd5\xc8\x9f\x12\x67\x29\x96\xad\x4e\x5d\x22\xfc\x5f\x91\x9e\xd7\x7f\x6d\x2f\xf8\x7d\x37\xce\xff\x0b\xbe\x85\x40\xcb\x50\x4d\x57\x90\xa7\x7d\xef\xbe\x2d\x7a\xac\x93\x89\xb8\xbc\xd8\xb7\xb2\xde\x52\x07\xda\x04\xed\x3e\x3d\xfd\xe9\x62\x37\x12\x58\x21\xef\x5c\xe7\x97\x08\xd9\x26\x2b\xc4\xad\xf2\x6a\x9c\xf9\x2e\xed\x26\xbd\x1f\x6f\x5e\x1d\x93\xbc\x4c\x82\xbd\x21\x19\xd8\xbd\xc6\x39\x41\x78\xdd\x6d\x0d\x29\x5d\xd1\x1c\x5e\xf8\x53\x2b\x2e\x8a\x33\x58\xcb\xe2\xaa\x16\x21\x29\xf9\xf7\x0a\xd1\x5e\x99\x52\x62\xa7\x37\x88\x29\xcd\xc1\x78\x20\x53\xf6\xbd\x84\x43\x8c\x51\x40\x8c\x52\xde\x76\x7e\x69\x70\x04\x90\xb6\x27\xd7\x03\xee\x68\x38\xaa\x67\x8f\x57\xc1\x1d\x41\xca\x30\x17\xe1\x3a\x73\xb1\x51\x13\xdc\xa0\xd8\xa4\x60\xd7\x19\x15\x04\x30\x2e\x5b\x14\x95\x55\x72\x80\x8d\xbc\x37\x19\xdc\x35\xf7\x07\x5f\x54\x2f\x2f\x23\xb9\x4d\x46\xc1\xba\x5f\xff\x7d\xd6\x3e\x0b\x7b\x29\x2e\x7b\xec\xbd\xd3\xfd\xb1\x31\x85\xad\x91\x39\xac\xd4\xb0\x9b\x69\x74\x38\xee\x4b\xc7\x9b\xdb\x60\x1a\x6e\x58\x73\xa3\x99\x55\x85\xdf\x1e\xba\xf8\xec\x60\x95\x1b\x87\x6c\xd7\x20\x6a\xd7\x64\x62\x87\x04\xa0\x19\x90\x0b\x9a\xcd\x73\x36\x8a\x3a\x58\x6b\x71\x74\xd2\xc5\xf9\x4f\xb3\xf5\x81\x10\x1e\xf9\xcd\x00\xd4\x8d\x7a\xd7\xc9\x43\x56\x96\xf3\xb6\x01\x13\x2e\x89\x3b\x5c\x57\xdd\x3c\x90\xf5\x52\x32\x61\xee\x24\xd1\x6c\x84\x4e\x66\x1c\x9c\xa4\x72\xb6\x8f\x3b\x97\xbd\xc6\xb3\x4b\x3e\x65\x00\x09\x57\x90\xee\x5e\xc0\xa8\x11\x0e\x93\xce\xd3\x6a\xe2\x69\x21\xfb\xdf\x62\x64\xb3\x9e\x59\x1e\xd0\x02\x14\x2b\xce\x02\x4b\xdd\x1d\x0b\x6a\xf0\x53\x82\x69\x53\xa6\xd3\xb1\xfd\xd7\xb9\x5c\xd1\x2f\x55\x28\x55\x77\xe3\xaf\x53\xa7\xdb\x0a\x90\x73\x5f\xc4\xf3\xf3\x85\x83\x06\x20\x44\xec\x7b\x2d\xea\x45\xee\x57\x13\xa4\x7d\x1a\x07\x41\x32\x5f\x3d\x4a\xf5\xbf\x7a\x8d\x32\x24\x0a\xf0\x94\x5f\xb0\x91\xe9\xe6\x73\x9d\x45\xe8\x69\xbf\xad\xfc\x15\xae\x98\x13\x21\x1f\x15\x92\x6f\x41\x47\x9c\xaa\xe9\x8c\x6e\x37\x06\x1c\x25\x9e\x0a\xdb\x08\x7e\x45\x28\x1c\x06\x71\x27\x59\x8e\x07\x3a\x8f\xcf\x20\xf8\x5c\x9b\x14\xb3\x25\x24\xb0\xb0\xc4\x80\x40\xf5\x3a\x13\x7d\x3a\x85\xba\x55\x44\xb7\x73\xe4\x56\xe3\x83\x98\x6e\x82\x09\xde\xc7\x19\xac\xb1\xff\xb1\xc7\xd7\xce\x86\x07\x9e\xc7\xf9\xcb\x16\xaa\x33\xf4\xe5\xaa\x57\x3d\x6d\x5d\x15\x12\x30\x44\x77\xdf\x34\xca\x08\xcb\xf6\x45\xbf\x21\x5e\x70\xf0\xff\x5b\x99\xe5\x2f\x37\x50\xc6\x6a\x96\x13\x97\x4e\xa6\x13\x23\x41\x8d\x35\x27\xcf\xad\x61\x79\x0d\x92\xfd\xa0\x16\x7c\x5b\x56\x77\x3a\x51\xb8\x11\xf6\xf1\xa9\x03\xb2\x9c\xf8\x0b\xd7\xbb\x7b\xe8\x48\x2b\x55\x17\x9e\xea\xe3\xf8\x2e\xcf\x2e\xb2\xee\xff\x07\x5d\x09\x6b\x0d\xbd\xe3\xf4\x04\x2d\x4b\x99\x57\xab\xaa\xeb\x6e\x1c\xeb\x64\x47\xc5\xe1\x07\xa9\xd3\x22\xbd\x2a\x53\x4a\xcc\x57\x5b\x36\x95\x5e\xa0\x55\x62\x15\xbd\xac\x0f\x7e\x7c\x81\x59\xb1\x91\x0a\xd2\x93\xb0\xfe\x15\xe7\x6c\x77\x1f\x4c\x99\xb3\x3f\x75\xcb\x02\x17\xde\x8b\xfb\x9f\x66\x65\xe8\x41\x4b\x19\x26\x1c\x60\xf8\x93\x23\xd0\x74\xe1\x75\x56\x96\x6d\x63\x6e\xc7\x87\x60\x5d\xfe\x3c\xc9\x5f\x25\xdc\x77\x6b\x25\xa4\x0f\xb8\x69\x17\xe1\x0b\xb8\x23\xc1\xaf\x73\x2a\x48\xbf\x48\x30\xb0\x44\x6b\x59\x33\xa7\xfa\x9b\xd3\xc0\x4a\x6d\x08\xa5\xf5\xb5\xe3\xf6\x38\x54\xde\xc4\x45\x57\x5c\xf6\x04\xe2\x91\x47\x7f\x05\x6c\x01\x3e\xec\x14\x5c\xaf\xe2\x74\xd7\x83\x30\x67\x09\x94\x84\x3e\x22\x88\xd7\x6e\x6c\x68\x94\x0a\x77\x7b\xe7\xa8\xca\x13\xac\x28\x3e\x09\xc8\x11\x19\x08\x30\xb2\x20\x20\x8d\xc0\xcb\xd5\x70\x05\xa9\x2b\x17\x81\x6d\x20\xe8\x2e\x24\xae\xea\x40\x5d\x2e\xc6\x6f\xbd\x87\x4d\xfb\x48\x74\x5f\x3b\xef\xb3\xe7\x55\x04\xba\x43\xed\x50\xd5\x69\x26\x8a\xc7\x88\x81\xeb\x3a\xd9\xc3\x6c\x74\xee\xec\x0d\x60\x48\x37\x5c\x88\xfc\x77\xd2\xdf\xae\x2a\x2d\x11\x96\x32\x19\x16\xb1\x68\x3c\xe9\xdb\x17\xa6\x38\x6a\xe2\x83\x98\x5f\xc0\xb6\xc5\x25\x54\x22\x33\x98\xa8\x74\x5f\x51\x1c\x19\x81\xc5\xab\x67\x5f\x2d\x8d\x20\x75\x79\xc6\x6c\x9a\xc2\x98\xe1\x5f\xbb\x59\x84\x27\xcf\x1a\x06\xde\x55\x7d\x66\x98\x70\x85\x66\x01\xd1\x98\x8f\xe6\x6f\xfe\x5c\x08\x7a\x53\xf3\x90\x80\x66\x73\x89\x30\x0f\x79\x82\x3a\xd0\x47\x81\x2f\xd8\x2a\xae\xf2\x27\x6c\xd3\xd2\xd6\x6e\x3e\x10\x8b\xcc\x50\x09\x3b\xb1\x7e\xfd\x7e\x81\xea\x6e\x4d\x55\xc4\x7e\x70\x46\x4b\x87\xd7\x29\xff\xae\x8a\x09\x57\x2a\x77\xb3\xc7\xf7\xdd\x28\x72\xfb\xe2\xab\x7b\xb6\x5a\xe7\x23\x6f\x31\x78\xdc\xb1\xce\xc1\x0c\xfc\xa9\x22\x55\x59\xfd\x9f\xec\x83\x25\xc8\x90\x54\x11\xc0\x77\xca\x29\x7b\x95\x3b\xce\x1e\x1f\x8b\xe7\x47\x13\xa1\x06\xe3\x37\x89\xfb\xce\x8a\x3e\x09\x7e\x20\x37\x24\x31\x9f\x63\x3c\x4d\xc7\x37\x3d\x5c\x23\x6e\x82\x93\xb9\x73\x8d\x93\xe8\x97\x3e\x23\xae\x8b\x9f\xce\x2e\xb1\xcb\xc2\x8b\xb3\x63\xe2\xf6\x59\x98\x53\xd2\xed\x5c\x3c\xbb\x25\x69\x9d\x06\x15\xfe\xc6\x3a\x1c\x17\x43\x4f\x0a\x79\x6e\x79\x33\xe8\x48\xa3\x37\x4f\xeb\xf0\x75\x02\x48\x63\xf7\x08\x0f\xd8\xd5\x4a\x7d\x57\x39\x29\x68\xc7\x4d\xdb\x3f\x0b\xe7\x1f\xec\xf7\xdc\x55\xe2\xdc\x34\x50\x8d\x84\x80\x63\x9e\xd6\x96\x69\xee\xf6\x28\xfd\x84\x3e\x8f\xc0\xd4\xe8\xfd\x68\xb4\x3a\x5b\x75\x0d\xc2\x86\x9a\x67\x45\x8a\x23\x47\xbf\xd3\x1e\x40\x84\xde\x87\x51\xf7\xc2\x40\x52\x68\xcb\x62\xb8\xd2\x46\x40\x47\x6a\xf7\x9a\x6e\x14\xdd\xc5\x96\xb8\x23\x6a\xc1\xff\xd5\xb9\xed\xf8\x42\x8c\x6e\xab\x66\xe0\x81\xf4\xde\x35\x48\x90\x89\xb1\x95\x3c\xb2\x19\x64\xdf\x66\xb7\x77\xc0\x39\xe9\x53\x90\x6c\x37\x5b\xbd\x4a\x9f\x22\xec\xd4\x69\x89\xb5\x39\xef\x84\x06\xa3\xc6\xa8\x1b\x0b\xed\xda\x5b\x6e\x52\xea\x17\x65\x12\xb4\xfd\x9f\xa1\x41\x6a\x4c\x83\xb3\x02\x78\x06\x7e\xb4\x14\x7c\xec\xce\x70\xc6\x2d\x74\xcc\x5d\xf6\x6e\xa4\xf7\x51\x3e\x5a\x20\x70\x62\x5e\xf2\x95\x58\x07\x75\x75\xc9\x85\x29\xce\xa1\xd6\xb7\x2f\xda\x51\x94\x41\x2c\x10\x0a\x03\x78\x25\x7c\xa0\x1a\x78\x67\x5b\x4a\xa4\x1f\x29\xda\xa2\xaa\x7f\x01\xf6\x08\x3c\x90\xea\xe8\x4b\x06\xb9\xb2\x1b\xee\xa8\x2c\xfe\x1c\x24\xcf\x69\x1e\x33\x4a\x92\x9d\x54\xcd\xa3\x0a\x31\xdb\x32\x16\xcc\x03\x33\x36\xcf\x82\x15\x01\xe6\x10\x87\xb2\x0a\xc5\x02\xc6\x38\xb2\x6d\x46\x62\x42\xfa\x82\x62\x9e\x70\xca\x61\xce\xce\xa8\xc0\x33\xf6\x93\x1e\xbf\x48\x5a\xb6\xa0\x53\xd3\xa7\x29\x0a\x73\x74\xd4\x4a\x36\x61\xb3\x1b\x85\x18\xbb\x85\x6b\x30\x70\xb5\x13\xb7\xb1\xcf\x15\x40\x3a\x99\x10\x5f\xba\x95\x00\x59\x13\x48\xd4\x84\xd0\xac\x2c\x0e\x47\x78\x03\xf2\x38\xa2\x44\x29\x43\xd1\xf5\xa1\x83\x75\xe5\x9a\xb0\xa2\xcb\x64\xd2\x09\x71\xd3\x74\xb2\x49\x00\x7d\x36\x88\x2c\x72\x52\xcb\xa5\x73\xc4\x32\x41\x32\xb7\x33\x16\x72\x0e\x2b\x68\x8d\x93\xd8\xc7\x0c\x81\x6c\xe7\xae\x23\x9c\x78\x8c\xbc\x38\x5a\xb1\x38\x48\x56\x7e\x99\x79\x32\xae\xaf\x83\x35\xf2\x67\x28\xf1\x68\x5d\x9d\x42\x1d\x8c\x46\x46\x23\xc7\x34\x12\xcf\x57\x40\x6c\xd3\x48\x3c\x70\x01\x5d\x26\x49\x7c\x73\x8e\x1e\x3b\x93\x84\x8a\xa1\xc4\xb3\x46\x12\x86\x13\xda\x6a\x91\x04\xc2\x84\x66\xc2\x07\x5e\x01\x2d\x8d\x93\x54\xdd\x96\xd3\x1e\x04\x7e\xd7\xb3\x93\x58\x38\x98\x84\x3e\x3f\xc1\x4f\xc2\x89\xbf\x24\x6d\x10\x36\x7f\x17\x9f\xbd\x47\x9e\x09\x99\x46\xd7\x93\x7b\xf1\x3c\x1e\x6d\x24\x4a\xea\x5b\xa3\x91\xa0\x3b\x9e\x36\xd5\x75\xf5\x51\x37\x83\xee\x4b\xc0\xef\xff\xa8\x4b\x3b\x0b\xf7\x75\x24\x9a\xd6\x07\x7d\x7d\x57\x00\x4e\x5f\xea\x93\xa3\xfb\xae\xf3\x69\xcb\xe9\x03\x7a\x0c\x92\xf2\x0f\x20\x55\x36\xe7\xed\x43\x52\xf4\xd7\x77\xe1\x6c\x99\xbf\x2b\x51\xce\x4c\xa4\xec\x54\x54\x5d\x9c\xf5\x6c\x73\x87\x97\xc0\x31\x77\x55\xf0\xeb\xab\x8e\x92\xbc\x8c\x84\xf6\x67\x19\x2f\x6b\x1c\xfd\xbd\x18\xfe\x70\x97\xca\x28\xd6\xef\x88\x11\xc5\x68\x15\xe8\x86\x40\x36\x32\x87\xe1\xfe\xab\x47\xc0\xd7\x01\x06\x7c\x65\x51\x57\xed\x88\x0a\xd9\xa2\xb7\xfe\x00\xe1\x78\xe9\x94\xe1\x63\x04\xb4\xfc\x63\x59\xcd\xff\x6c\x81\x61\xbb\xfe\x80\x18\xf5\x45\x5f\x52\x11\x69\x95\x9d\x4d\x7e\xf9\x15\x9b\xbf\x77\x68\x54\xfd\x00\x6b\x1a\xec\x55\x78\x21\xc5\x1c\xda\xa7\x70\x76\x0e\x04\x19\xb3\xd9\xe7\xa7\xbf\x62\x61\xbf\x0a\x59\xc4\xb4\xf9\xa6\xa9\x4d\x11\x37\xbd\x89\x29\x72\x4d\xc6\x92\x83\xb6\x1d\x4b\xe5\x74\x0a\x9d\x8c\xb9\xce\xa1\xca\x57\x70\xea\xc7\x0d\xb3\x83\xba\xac\x09\xda\xb4\x29\x74\x2e\x13\xd9\xe8\x56\x29\x8d\x63\x94\x76\xeb\xe4\xe7\x87\xfa\x95\xa2\xc8\xfe\xb6\xb8\xe4\x03\xf6\xe1\xbf\xbe\x67\x70\x91\xf1\xe8\x97\xad\x37\x10\x3a\xf7\xb1\x19\x3e\x9e\xa2\xa8\x41\x86\xaa\x37\x9c\x95\x38\x0f\xff\xfd\xca\x7c\xb7\xed\x8c\x4c\xbc\xa3\xcc\x5c\xff\xbc\xb2\x90\xe7\x91\xf1\xfb\xcc\xb0\x95\xa5\x4d\xcf\x34\x66\x54\x62\x69\x85\x97\x04\x9a\xf5\xed\xe6\x63\x27\xf1\xee\xe9\xbf\xb9\x9d\xc5\x2d\x22\x6f\xce\x60\x5f\xfc\xcf\x79\xa4\xb5\x4c\x4e\x94\x80\xf4\x01\xcc\xbb\x2b\x47\xd7\x98\x02\x15\x49\xef\x9a\x17\x95\x46\x83\x5d\xad\x8c\x83\x15\x38\xf2\xfe\x0c\x3c\x46\x9c\xcf\x4c\x10\xce\x7d\xf9\x95\x39\x4f\xac\x09\xcc\x4a\x9f\x5a\x65\x99\x23\x8e\xbe\x89\xd6\xb7\x75\xd5\xbe\x1d\xab\xa7\x0c\xb8\x63\x84\x34\x8d\x1d\xb2\xeb\xdf\xc7\x6b\x18\xed\x0d\xbe\x22\x6b\xc4\x99\xa1\xdb\xc3\x16\x72\x70\x7a\x92\x9c\x99\x05\x9c\x72\x82\x88\x20\x3d\x77\x13\x84\x58\x31\x64\x58\x9c\xbe\x9a\x39\x2c\x21\x2c\xac\x68\x6a\xac\x5f\x0a\x8b\x36\xe6\x9a\x8d\xc8\x5e\xaa\x56\x33\x11\x11\xaf\x09\xc3\xa4\x7e\x5b\x09\x33\x52\x3d\x17\xa8\xaa\x93\xc6\xee\x66\x11\x22\xda\x96\x58\x71\x8a\xb3\x14\x51\xc4\x1e\x0e\x9d\x11\x35\x9c\x6c\xb0\x2e\x06\x21\x29\x88\x64\x99\x1b\xe1\x86\x16\xeb\x43\xa3\x57\x3e\xf0\x59\x8e\xbc\xdc\x2b\x3e\xb4\x67\xcb\x99\x13\x1a\x9f\x21\x29\x9b\xea\xc7\xff\xf5\x8f\xbe\x1b\x37\xb1\xef\x4c\xb8\xfd\x12\x99\x92\x97\xef\xf1\x7c\xa1\x85\xf2\x68\x30\x1e\x1a\x66\x92\x52\x09\x3f\xbe\xc7\x30\x54\x50\xa2\x2b\xe2\xf8\x4f\x67\x11\xef\x17\x5a\x5c\x18\xc8\x8a\x4b\x9d\x31\x0d\xd1\xf2\x96\xfc\x61\xd1\xd4\x9f\xbc\x5a\x9e\xfb\xd2\xa4\xbb\xd3\x1f\xc6\xf9\x77\x54\x19\xf6\xef\x00\xb7\x8a\xcc\xd9\x9c\x94\xa5\x6c\xea\x04\xb5\x53\xc2\x22\x5b\x82\x79\xcb\x4b\xef\x17\x53\x7c\x8c\x6f\x36\xe5\x78\x96\x5d\xe5\x4f\x44\x59\x72\xf6\xf1\x68\xaa\x5d\x94\xc0\xd7\x80\x29\x30\x19\xc9\xbc\x31\x48\x16\x18\x2f\xe8\x3e\x7d\x5e\x72\x68\x7a\x27\x9a\x28\xc0\x7d\xd6\x77\xad\xcd\xa8\xb9\xca\xa8\x1d\xc2\x59\xe5\x62\x67\x79\xe8\x26\x73\x28\xf4\xa3\xe0\xea\x4e\x50\x1e\xe1\x7f\x8f\x39\x47\xee\x0c\xac\x70\x4a\x3f\x01\xd5\xad\x8c\x22\x93\x80\xbd\x1b\x9f\xbc\x8c\xad\xc2\xd6\x85\xaa\x62\xc7\x40\xc7\xb3\x1d\x73\x15\xa6\x7c\x09\x88\x98\x43\x2f\xdd\x28\x65\xc2\x83\xbc\x60\xd6\xa8\xbc\x37\x38\xc7\x29\x7c\x7f\x99\xb3\x63\x13\x15\x2e\xec\x68\x78\x97\x3f\xa6\x26\x17\x15\x3e\xa9\xba\x08\xd9\x22\x96\x8b\xc9\x54\xfe\xec\x51\x01\xe8\x4e\x4f\x2b\x72\x92\xa8\x12\x9c\x56\x00\xf8\x86\x14\x92\xd6\xdf\x7e\xfb\x2a\xdf\x1f\x7d\x2b\x37\x8b\x4b\xaf\x04\xe9\x1d\x51\x4e\x1f\xd4\xda\x14\xab\xb4\x01\x91\x45\xea\x32\x65\x5a\x1d\xc0\xea\x96\x6b\xe8\xa0\x0d\x0b\x5f\x1a\x56\x1e\x4f\x6e\x37\xd4\x03\x47\xd7\xda\x42\xbe\xd3\x2f\xa7\xf7\xc5\x49\x16\x6e\x7c\xf3\xca\x2c\x84\x82\xc7\xdd\x60\xe9\x80\xb2\x3c\x77\x28\x97\x3c\xea\xcf\x35\x95\xce\xbd\xce\x12\x00\xff\x54\x94\x57\xd5\xd0\xf1\x90\xa8\x7f\xb6\x4f\xee\x11\x57\x37\xff\xb2\xfa\x09\xb5\xbd\xc4\xd5\x7e\x7b\x7f\xf9\xe3\x74\x85\x34\xc4\x68\xc9\xda\xe3\xc8\xe0\xf7\x27\x70\x98\xdc\x39\x61\x1f\x8f\x60\x80\x42\x1e\x51\x03\x80\x52\x9f\x02\x5e\x9e\x3c\x2c\x61\x70\x7d\xb2\x00\xbf\x8c\x7d\xbc\x79\xdd\xa5\xf4\xde\x1f\xab\xd6\xeb\xed\x41\x52\x18\xc4\x4d\x30\x7f\x4c\x29\x73\x79\x56\xbf\xf9\xd3\x25\x8a\xe1\x3a\x9b\x78\x71\xfc\x9a\xaf\xac\xa6\x8a\x5d\x47\x14\xe2\x0c\xa7\x93\x79\x81\x12\x22\x92\xa2\x91\xce\xd5\xe7\x90\x3c\xa3\x6d\x4a\x13\x10\x7e\x7b\x1d\xd5\xe7\xdb\x38\x76\x1f\x3b\xe1\x3e\x6e\x7c\xb7\x48\xc1\x78\xe0\x75\x35\x4c\xab\x42\x5d\xfd\x9b\xd3\xed\x0c\x98\x6e\xb6\x34\xca\xd6\xd7\x82\x89\x17\xde\x36\xa7\x73\xd1\x51\xf7\x5b\xbd\xeb\x43\x19\x38\x76\x0e\xd7\x9a\x21\xb2\xc4\x67\x00\xc9\xba\x6a\xbf\x61\x85\x66\xe7\xbc\x1a\x65\x68\xb4\x2b\xba\x98\x29\x88\x85\x3b\x3a\x75\xa9\xf4\xf6\x6a\xc8\xa7\x55\x61\x86\x5c\xa4\x3c\xc6\xae\xd0\xd4\x8f\xaf\x3b\x0f\x71\x0d\x65\x7c\x48\x8b\x8b\x8a\xe9\x64\x68\xd5\x8b\x56\xb9\x21\xbb\x29\xe3\x89\x9f\x72\x08\x49\xa7\x52\x0f\xcd\x3a\x0d\x09\x36\x9b\x65\x3e\x64\x69\xfa\xf5\x65\x35\xdb\xec\x0c\x1d\xb9\xb5\x40\x9d\xbe\xc6\x6c\xe6\x43\x0a\xa7\xb8\xb5\xa7\xbe\xc5\x8c\x94\x4d\xb1\x9c\x25\x5a\x16\xe5\xa5\xa6\xdd\xc1\x9d\x96\x69\x65\xad\x39\x8b\xd4\x59\xb5\x05\x28\x28\xb7\x45\x78\xcb\x69\x65\x39\x6e\xf6\x67\xc5\x04\x26\x7f\x78\xd4\x31\x0e\x5c\xcd\xac\xa3\xee\xdc\xda\xc4\x9e\xc5\x30\x9c\xca\xfe\x81\x65\x48\xd8\x31\x24\xab\xea\xfa\x74\xdd\x4b\xa5\x40\x5b\x60\x81\x08\xe8\xd5\x02\x4a\x57\xe2\x60\xa2\x82\xd2\x18\xe4\x15\x4c\x57\x2d\x5d\xac\x65\x41\x54\xc4\x5e\x53\x9d\x47\x42\x52\xe0\x5d\x3e\xa6\xb0\x94\x57\xc5\xd8\x4f\x59\x26\x67\x7e\xb2\xc0\xed\xbe\x5a\x5c\x64\x22\xeb\xfc\x50\x1e\x25\x2d\xf5\x41\x3a\x10\x85\x4d\xec\xb2\x84\x37\xe7\xd1\x1f\x60\xf0\x9c\x33\xab\x32\x25\x41\x0e\x3b\xed\x53\x1c\x4a\xd8\x8c\x24\xf5\x5b\x3d\xd0\x2d\x43\x7b\xd8\xd3\xf7\x09\xa9\x2d\x38\x23\x93\xaa\x8e\xb4\xe5\x40\x80\x0e\xd4\xf4\x0e\x3e\xa1\xd4\x8a\x05\x45\x28\xf9\x5a\x66\xf7\xe1\x3c\x97\x53\x85\xce\xe4\xc5\xc4\x07\xc8\xbe\x76\xe7\xc8\x73\x0c\x53\x2d\x30\x2c\x2e\x18\x8b\xc4\xfe\x0d\x89\xf3\xd3\x03\xe2\x0e\xd6\x7d\x7a\xb9\xac\x14\x51\x5a\xcb\x59\xb8\x70\x5b\x4d\x15\x1b\x0e\x44\xb9\x36\xab\xbd\x83\xab\x3c\x0e\xee\x0e\x66\xb0\xf8\x27\x7c\x21\x21\x5b\x76\xf5\xf1\x2f\x57\x58\x28\x77\x32\x9b\x2a\x7f\xd9\xb9\x97\x3c\xbc\xaa\xe6\xef\x4a\x95\x86\x74\xa5\x5e\xd8\x1c\x7a\x81\x4f\x03\x18\x52\xf3\x5a\x2a\x43\xe7\xa2\xf5\x23\x10\x40\x4b\x85\xb8\xab\x6b\x52\x26\x10\x52\xa9\xa0\x8c\x95\xb0\x48\xb8\x0c\x78\x0c\x79\x15\xc9\x80\x64\xd0\xb9\xd2\x68\xbd\xd4\x1b\x65\xab\x47\xcf\x36\x72\x61\xa2\x65\x8b\xfd\x40\x2d\x87\x99\xe9\x18\x94\x62\xa8\x2d\x85\xbb\x24\x3b\x9f\x2d\x04\x98\x6d\xb4\x18\x98\x8d\x17\x3c\x6a\x8a\x8c\xb0\x19\x69\xb3\x59\x8c\x22\xb0\xe3\xfe\xe1\x72\x82\x23\x72\x44\x56\x14\x52\x02\x6a\xa5\xe1\x8e\x45\xf3\x17\xf3\xfc\x41\x8b\x07\x75\x2c\xd9\x02\x1c\x53\x49\x26\xa2\x0f\x34\x15\x5b\xbe\x53\xd2\x82\x49\x30\xd9\x7c\x45\x94\xf8\x0d\xc9\x41\x03\x5d\x00\x6d\xfd\x58\x64\x61\x58\x09\xbb\x50\xf6\xe0\x2b\x49\x45\x74\x70\xdb\x52\x61\x6f\x00\x9d\x69\xf8\xda\x7a\x3f\x01\x51\x3e\x22\x47\xe4\x18\x85\x2f\x18\xb2\x43\x39\x1c\x36\x52\xbc\x37\x4a\xe6\xc5\xe2\xff\x59\x55\x4e\xd2\xcc\xda\xab\x11\x56\x0c\xe8\xd0\x65\xef\x41\x15\x1d\x50\x45\xd8\x9f\x9c\xa2\x22\x47\x64\x28\xda\xc8\x1e\x51\xbe\x7f\x22\x2a\x59\x67\xe4\xe1\xec\x8b\xe9\x94\x00\x49\x78\x30\xfd\x2f\x6f\x62\x37\xdf\x47\x67\x34\x89\x85\x43\x98\xc0\x0b\xc9\x67\x8e\x69\x85\x1c\x3d\x77\xf7\xba\xb0\x1b\x3f\xa0\x87\xd5\x88\x39\x99\x80\xa3\x9d\xff\x81\x36\x64\xa1\xa0\xf2\xac\x88\xec\xaa\xeb\xf9\xb0\x05\x2a\x9c\x99\xd1\x1d\xc3\x9a\x3e\x3d\x6a\x7c\x4c\x5e\xe2\x03\x05\x07\x84\xca\x7c\x01\xbc\x9a\x38\x79\x7b\x9f\x5a\x46\xfb\x00\xd7\x78\xa9\x57\xb5\x17\xba\xdb\xe4\xdb\xb2\x97\x05\xce\xa5\x0d\x65\xcb\x5a\x3d\xc5\x88\xee\xc8\x65\xd8\x6b\x1a\xba\x20\x9b\x41\x27\x83\x34\x0a\xcb\xe3\x62\x2c\x61\x16\x57\xbe\x92\x86\xdd\x45\x8b\xba\x6e\x35\xbe\x56\x77\x00\x2a\x8b\xd5\x11\xf5\x9e\xb9\x6e\x09\x09\x12\xf8\x93\x14\x0f\xbb\x0f\x6a\x1c\xe2\x3d\x5a\xce\xf2\x7d\x71\x2f\xf5\x5a\xd7\x1d\xc8\xea\x05\xd9\x27\x31\xb1\x9e\xa6\xf1\x18\xd6\x1f\xa9\xae\xef\x35\x9d\x85\xff\x03\xb5\x2b\x22\x73\xee\x2b\xaa\xf0\x5b\x0f\x15\xe6\x33\xa7\xa1\x01\xd4\x82\x49\x41\x84\x12\x86\xaf\x6a\xa1\xfd\xe2\x6f\xce\x06\x75\x43\xd9\x6f\x69\x38\xa6\xa2\x6b\x68\x08\x7c\x8e\x13\xa6\xf1\x72\xeb\x3e\x9c\xf6\xb1\x17\xd4\xd7\x60\xef\xa9\xfe\xfa\x7b\xbd\x59\x5c\x8d\xed\x4b\xd9\xf4\x59\xe3\x1c\x6a\x72\xf6\xa5\xcc\xfd\xb9\x69\x66\x7b\xaf\x79\x84\x97\x35\x8a\x4b\xf0\xf7\x1b\x81\xfa\xef\x8c\x65\xb2\x09\xfc\x3d\x8d\xd0\x46\x6c\x8f\x06\xb0\x3c\xa5\xe2\xc5\x75\x9e\xd3\x18\xd5\xa4\x8c\xc3\xe1\x47\xd9\x20\xf0\x2a\x41\xf1\xd0\xce\xe2\x51\x1a\xb5\x71\x29\xd7\x32\x2b\x1e\x4c\xd5\x2f\x17\xc0\xca\xea\x2a\xdb\x1e\x77\xc9\x58\x8e\xcb\xe3\xc7\xbe\xc5\xd8\x26\xfd\xf2\xe5\x89\xf3\xb0\xba\x8e\x86\xf6\x88\xe8\x64\x1e\x52\x17\xaf\xed\x49\xa0\x68\x9f\x9d\x3e\xa4\x6e\x25\x22\xdb\x6f\xac\xeb\x20\x40\x8d\x52\xd2\xcb\xac\x5d\xb8\x5d\x89\xfc\xc1\x77\x58\x22\xfc\x65\x51\x55\xed\x8c\xac\xc5\xcf\x47\x16\xa3\x59\x6c\x0f\xdd\x61\x65\x39\xf1\xec\x4c\x42\x12\x54\xea\x78\x1a\xdb\xcc\x41\x99\xea\xfa\xc1\x12\x12\x6b\xb3\x0d\x2a\xaf\x30\x6e\xb5\x77\xa1\x31\xd7\x0e\x41\x19\x89\x9f\x6c\x45\x1b\xce\x02\x20\x01\xaa\x98\x40\x13\x5e\x19\x36\x64\xad\x6e\xae\xab\xd7\xe1\x2c\xbc\x9c\x4b\x59\x4e\x43\xab\x08\x7e\x24\x47\xd5\x20\xd3\x32\x17\x2b\x54\xa6\x95\x68\x49\x7c\x54\x44\xb9\x28\x5b\x2d\x1e\x26\xd7\x01\xee\x60\xcd\x6e\x50\xb1\xc6\xfe\x2b\x32\x2f\x65\x5b\x7a\x3c\x27\xbb\x4b\x40\xed\x09\x77\x9b\x95\x77\xf0\x65\x68\x94\x97\x23\x74\xb8\xe5\x44\x89\x37\xff\xe2\x77\x92\xc5\xe2\x2a\x34\xe8\x74\x08\x07\xbe\x40\x45\x51\x2e\xcb\x96\x86\xf6\xa4\xdb\x4a\xb4\x40\x01\xe5\x83\x8d\x91\xf0\x89\x25\x4f\x2d\x6d\x37\x85\x06\x73\x3b\x38\x0a\x06\x41\xa3\xfe\xa9\xd9\x06\xe5\x90\x98\x6a\xaa\x51\x72\x29\xe1\x40\x0f\xdc\xbf\x6f\xbb\x2e\xed\xdd\x9a\x90\x86\x1d\x23\x62\x38\xd3\x07\xec\xdc\xc9\x72\x08\x5e\x95\x07\x8d\xfb\x71\x08\xbb\xa4\x3b\x73\x44\x58\xe7\x18\x62\xd8\x90\xb8\x72\x13\xd8\xe3\xa1\xd9\x10\x01\xd4\xfb\xf5\x93\xf0\x09\xa7\xfb\x84\xdf\x52\x0f\xd4\xd0\x03\xc4\xc8\x9c\x00\xdf\x8f\x8e\x53\xd1\xc1\xb6\x74\x97\xd5\x7c\xa5\xd5\xee\x7b\xb0\x39\x4e\x87\xdc\xa3\xd5\xad\xa2\x97\xd8\x0b\xac\xd7\xc2\xba\x8b\xdb\x12\x9f\x0d\x3c\xf8\x93\x5f\x41\x99\xd4\xf3\xda\x77\x5b\x03\x0f\xa2\x11\x81\xc9\xb1\x90\xa5\x54\x7e\x75\xdb\x92\xdd\x8f\xba\x31\xcb\xcd\xb2\x6a\x1b\xef\xd3\x7f\xe2\x44\x3a\xde\x39\xb7\x6e\xbf\x3c\x80\x13\xc0\x09\x3f\x4f\xe7\x92\xeb\x10\x17\x27\x21\xa9\x28\xf9\x1b\x49\x09\x2d\x52\xae\x2c\xf8\x1d\xe2\xa4\x7f\x3b\x7b\x1d\x0e\x2d\x85\x84\xa8\x55\xf4\xf5\x56\x7d\x0a\x71\xe5\xde\x89\xf3\xc8\x30\x70\x34\x75\x56\x5c\x4d\x2c\x7a\x6e\x20\x5a\x4d\x3c\x46\x32\xc2\x1c\x58\x44\xfb\x1b\x17\x29\x50\x5e\xd7\xbe\x7e\xa8\x8f\x2d\x5b\x57\x74\xc6\x18\xff\x4d\x2f\x9c\x61\x9b\xe9\xe0\x26\x7c\x8a\x51\xf8\x27\xe6\xe1\x76\x60\x10\xee\x2a\x5e\x9a\x7f\x38\xfa\xe1\xb6\x36\xcc\xc2\xc3\xf2\xab\x6b\x0a\x4d\x2d\xc1\xae\xe2\xe3\xfb\xf9\xf1\xfc\x66\x7e\x32\x7f\x17\xbc\x2b\x9c\xbf\xac\x9f\xe4\xc3\x74\x97\x83\x5e\x6a\x21\x11\xf6\x9e\x7b\x08\xb4\x46\xa6\xee\x8c\xca\x8e\xd1\x44\xc0\x62\x78\xfa\x94\x4c\x31\xd1\x11\xd3\x12\x90\xda\x54\xeb\xa9\x2f\x48\xf8\x19\xe0\x27\x7f\x5f\xaf\x0d\x8a\x6f\x4e\xc3\x6c\x03\x09\x8c\x8d\xa4\xc4\x96\xb5\x15\x5c\xef\x9a\x99\x39\x0d\x69\xf9\x2f\x7f\x1c\x65\xda\xa3\xdc\x05\x24\xcc\x2a\x6e\x83\x63\xd7\x1e\x2c\xe4\x9d\x2f\x62\xf4\x6d\xb9\x8d\xbd\xd6\x37\x61\xa1\xeb\x93\xb0\x1b\x48\xf5\xa4\x12\x94\x5f\x53\x0e\xcf\xc7\x9f\x09\x66\x60\x1b\x90\x21\x4f\x54\xc5\xbb\x70\xc4\x32\x68\xa9\xd6\xcc\x8d\xab\x17\xbc\x6f\xb7\x50\x69\x67\x2f\x43\x63\x2e\xab\x27\x9c\xf1\xc7\xd9\x63\x4b\x78\x08\xd5\x3e\x4c\x44\xe1\x9d\x17\xd4\x26\x1c\x7b\x64\xb4\x65\x5a\x89\x69\x94\xa4\xc4\x59\x20\xf9\x69\x32\xb1\x3d\x31\xb8\xd9\xa9\xd3\xa0\x44\xc1\xab\x85\x50\xdf\xc3\x9a\x48\x40\x1c\x18\x56\x82\xd1\x2f\x3e\x8a\x03\x83\xf4\x5b\x9b\x19\x7e\x16\x75\xf4\xef\xad\x49\x94\xd7\xae\xed\xd0\x34\x59\x86\xd0\x39\x4e\x28\x0b\x97\x1c\x25\x93\x83\x52\x2f\xbd\x0b\xfe\x29\xec\x26\xb1\x06\xe7\xc8\xe4\x52\x77\x47\x53\x37\x58\xe1\x4c\xf6\x22\x37\x0b\x4e\x7e\x18\x96\x25\x19\x9e\xde\x23\x63\x1c\x89\x40\xfa\x77\xe3\xd8\x26\x05\xf0\x37\x28\xc3\x03\xf6\x3b\x6b\x25\x15\x2b\x10\x08\x2c\x50\x00\xe0\x9b\x79\x83\x08\x03\x05\x93\x3e\xad\xc0\x50\x90\x64\x89\xde\x31\xae\x2f\x33\x6b\x90\x02\x33\x2d\x6b\xa4\x2f\x8d\x1d\x00\x16\xdd\x2b\x9b\x43\xb1\x04\x8b\x12\xc2\x66\xc7\xfb\x61\xb6\xb5\xec\xef\x4a\x86\x17\x98\x9c\x1d\x8b\x3d\x62\x13\x4b\x74\x90\x42\x51\xc5\xd7\x5a\x56\x35\xa2\x2e\x14\x7b\x3f\x23\xaa\x67\x35\x69\xda\x2b\x7c\xf9\x69\x1d\x41\x0d\x3c\xe2\xe1\x52\x93\x26\xba\x08\xf2\x3e\x4a\xa8\x60\x46\x36\x9d\x65\xdc\x6a\x79\xbb\x8b\x02\xdb\xac\xab\xb8\x8b\xe7\x26\x1c\xba\x2b\x37\x6b\xf9\x22\x72\x7a\xce\x73\x5f\xf7\x12\x78\x8c\x74\xba\x42\x83\x0d\xb8\xf4\xc4\xb6\x6d\x16\xcc\xa2\x6a\x81\x16\x8e\xaf\x86\xd2\xb2\x8a\x2c\x0b\x71\xcd\x80\xd2\x2a\x53\x85\x1b\xf7\x99\x31\x2c\x8d\x86\x19\x31\xaf\x1a\x78\xa5\xb3\x0c\x63\xc0\x0c\x9f\x28\x7b\xd1\x01\xc3\x2e\x3e\xd1\x45\x1c\xad\x5a\xaf\x27\xce\x56\xb1\x03\xa0\xa8\x80\x61\xef\x9b\xcb\x65\x1a\x85\xf5\x2d\xd6\xcb\x39\xea\x78\xab\xe1\xbf\xd7\xf2\xfd\x9f\x2d\x81\xef\xcd\xa5\x14\x4c\x91\x5c\x79\xbe\x9c\xd3\x83\x0e\x93\x49\x19\xff\x69\x27\x3b\x52\x74\x3d\x45\xc3\xc4\x13\x6d\x5b\xc5\x80\xd1\xb5\x41\xea\xcb\x56\x5e\xc7\x38\x9c\x08\x8e\xba\x11\xf4\x29\x55\x94\x89\xc4\x2c\x79\x86\xef\x64\x86\xde\xfd\xd1\x06\xe5\x79\x20\xf7\x9b\x7e\xc0\xff\x49\x23\x58\x95\xe8\xf0\xfd\x25\x2c\x93\xc7\xbc\xa9\xcb\x67\x79\x19\x6e\x46\x2b\x49\x4f\x4e\xe3\x97\x31\xe5\xfe\x78\x3a\xf1\x84\xc3\x2d\x35\x35\x58\x4a\x9e\x73\xb6\x9c\x80\xc7\x2d\x41\x39\xf6\xf1\x69\xe2\xd3\xec\x6a\xe9\x54\xb5\x3e\x7a\x1d\xd0\x7f\x5d\x79\x92\x6f\x4f\xd6\xf0\x8e\x6c\xec\xd0\xb9\xd8\xab\xc8\x3a\xaa\xad\xb1\xa9\x62\x36\xfa\x21\xda\xa7\x1b\x27\x52\xe6\xc7\x63\x12\x86\xcc\x1f\x57\x63\x24\x9d\xc2\x59\xa7\x15\x53\xb8\xcb\x76\xcf\xb9\x0f\x01\xb3\xe0\xec\xfd\x85\x32\x47\xfd\xe2\x37\xc3\x2a\x24\x66\x9b\xec\xbf\x3c\x0f\xb1\xdd\x60\x84\xb2\x5f\x17\x09\x8a\x16\xb8\xbf\x46\xb0\xdb\xb9\x4d\xaf\x8e\x4e\x68\xe6\xe2\x39\x4f\xe7\xd8\xf5\x22\x71\x2b\x25\xb0\x73\x94\xb7\x44\x92\x6f\x07\x1b\xc2\xba\xb2\x53\x1e\xbf\x89\xa6\x0a\x81\x12\x26\xb7\xb5\x27\xad\xd6\x81\xdb\xa1\x65\x34\x85\x57\x58\x54\x35\xef\xa7\x63\xfd\xb7\xb1\x20\x1a\x98\xf0\xc9\x18\x66\x35\xef\x13\xe2\x5c\x8f\xb0\x46\xfc\x42\x35\x4f\xa2\x0f\xae\x43\x0e\x75\x4d\x43\xe1\xb2\xc5\xd7\x76\x52\x30\x3c\x03\x49\x21\x5f\x5b\x66\x66\x34\xd5\x07\xd2\x27\x40\x69\x7b\x3d\xb7\xb6\x47\x26\x95\x87\xfd\x8c\xf6\xfb\xc5\x5c\x1a\xb1\x38\x8b\xd9\x33\x81\x56\xe9\x2c\xe9\xf5\xf0\x53\xec\x71\x0c\x64\x31\xd9\xf3\x3a\x3b\x24\xcb\xeb\x0b\x23\xf0\x6c\xdc\xae\x8f\xd1\x41\x3a\x4f\x07\xe1\xcf\xd1\xc9\x7b\x34\xf2\x76\xcc\x46\x27\x26\x8b\x22\xe3\x66\x53\x64\x9a\xf6\x72\xc2\x38\xbd\xb7\x8c\x6e\x53\x9c\xef\xf3\xc5\x4f\x03\xeb\xae\xaa\xb1\x28\x5c\x28\x17\x30\x44\xdf\x6b\xe6\x97\xba\xeb\x20\x79\xbd\x76\x91\xa5\x88\xbc\xb3\x54\x02\xbe\x6b\x49\xc1\xae\x6b\xcc\x8d\xd5\x5b\xd4\xc5\x17\xc4\x9d\x29\x3e\x09\xf9\xbb\xf1\x10\x4a\xa4\x01\x7f\x21\x48\xa2\x5f\xcd\x4f\x86\x0d\x3b\x69\xfe\xb5\x2c\x86\x87\x0e\x59\x37\x93\x07\x29\xeb\xfa\x92\xf4\x90\xdc\xcd\x1f\xf1\xdd\x23\x70\x3e\xfd\x85\xbb\x37\x53\x37\x8d\xa5\x37\xbe\x86\x4e\xed\x56\xff\x7a\x6d\x75\xa0\xe8\x02\x18\xed\x27\x4a\xd0\x3c\xd3\xfb\x5b\xb0\x41\xdd\xa7\xbf\xef\x9d\xf9\x0d\x7f\x5f\x35\x9c\x49\xa0\x1f\x6d\xdb\x26\x30\xf1\x07\x07\x9f\xef\xe2\x93\x54\xa3\x10\x6e\xbc\xc3\x30\x3d\xda\x94\x82\xbf\x7f\xdd\x71\x8a\x9b\x68\xb7\x42\x71\x9f\x5b\xa5\x07\xd3\xe5\xd0\xe4\x00\x4e\xed\x48\x36\x89\xff\x50\x1c\xf8\x96\x86\x8e\x65\x07\x93\x50\xbb\x83\x28\x32\x08\x1c\x22\xa1\xc9\xa1\x67\xe2\xd4\xbf\x1a\x78\xbf\x1d\x6a\x53\xf2\x58\x40\x45\x66\xba\x85\x93\xaf\x31\x08\xdc\x66\xa8\xee\x62\x39\x8c\x81\x65\x0a\x7d\x54\xf1\xe5\xa7\xfd\x83\x9c\x89\xce\x06\xba\xaa\x0b\x13\x0e\x81\x5c\x5f\xc6\xad\xe8\xc9\x41\x7d\xd1\xe6\x4b\xff\xb6\xfe\x64\xa8\x73\xe9\x20\xea\xa4\xb9\x31\xea\x69\xdb\x83\x92\x26\x43\x27\xc5\x9e\xac\x60\xf1\xe3\xa9\x3f\xe1\x0b\x59\x83\xc1\xf4\xa4\x63\x27\xec\xcf\x4f\x88\x56\x84\x9d\x6b\x8f\xfa\xfd\xc9\x29\x39\x35\x3e\x44\xbb\x2f\x19\x52\xf1\xe8\xfa\xee\xc2\x1d\x5c\x64\x50\xa9\xe8\xc2\x76\xa7\x3d\x3d\x5a\xd6\x6c\x14\x97\x84\x6f\xa6\x72\xff\x07\x94\xbf\xfd\xde\xe7\x27\xc8\x3f\xfc\x61\x9e\x1e\x70\xe4\xf5\x3c\x5d\xf6\x5c\x26\x9e\x0a\x2d\x5b\xf9\x5f\xf8\x1c\x25\x07\x62\x67\x92\x54\x15\x65\x0c\xfc\x5c\x1d\x2c\xee\xf9\xbf\xdf\x9b\x3d\x7b\x52\xe2\x0c\x2d\xb3\xb7\x2a\xa3\x94\x01\xa3\x28\xfd\x6a\xd7\x0e\x07\x82\x89\xb8\x14\x6d\x7a\x04\x89\xd7\x63\x63\x33\x32\xed\xa6\xac\xe4\x4f\x14\xaa\x38\x30\x29\x97\xa3\xa5\xb4\x94\xe4\x40\x34\x79\xcc\xd7\x45\x3f\x7e\x96\x7c\x60\x9c\xd1\xbb\xe9\x40\xfb\x53\x72\xd5\x2a\x48\xb3\xdc\x90\x0e\xef\x04\x38\x94\x8e\x60\xb4\xd3\x0e\x8f\xc9\xc4\x4a\x49\x69\x5b\x49\x22\x0d\x5a\x44\xfc\xce\x19\x62\x06\x34\xfb\x76\xdb\x96\xcb\x51\x38\xba\x37\xdc\x32\xb2\x64\x87\xc1\x33\xbb\x3d\x73\xf3\x44\x1e\xf8\x18\x70\x66\x31\xd3\xa7\xc0\xeb\x39\xd7\x18\x1f\x24\x0f\xd8\xbd\x84\x51\x27\x4d\x21\x87\xee\xe7\x54\xbb\x49\xb9\x2e\xab\x76\x89\xbc\x49\x93\x5e\x7f\x98\xb8\x99\x92\x52\x9c\xaf\xe5\x4a\x37\xcf\x7d\x33\xfb\x22\xb4\xd8\xd4\x52\x15\xc9\xa5\x7c\x65\x4e\x1e\xb6\x5d\x7b\x1e\xcf\xad\x53\xc1\x78\x7e\x2a\x3f\xd3\xca\x5d\x27\xab\x5d\x32\xce\x56\xb2\x51\x23\x47\x80\xfb\xc6\x2c\x24\xfa\x66\xb1\x06\xf9\xa7\x6e\x45\xb7\x5f\x6f\xf7\x9b\x89\x14\x98\x23\x64\xd1\xe3\x66\xf7\x73\x0c\xc0\x66\x6b\x80\x6b\xb1\x83\x08\xe8\x63\x6e\xe5\xbd\x90\xb0\x9e\x85\xd2\x7e\xb5\x7b\x4b\xb5\x97\xdd\x19\xe9\x04\x31\xed\xcd\x27\x3b\x6a\x00\xfd\x32\x7b\x43\x0d\x57\x7d\xba\xfa\xfe\x51\x98\xe3\x82\x73\x00\x90\x7d\x6d\xf8\x12\x1b\x9c\x9a\x31\xc2\x5b\xeb\xb6\x0c\x7c\xd0\x53\x8f\x8f\x4d\x11\x69\x74\x31\xda\x98\x18\x06\x89\xab\x26\x77\x23\x0a\x77\x93\xad\x4b\xbd\xf3\xa4\x9a\xdc\x1f\x56\x61\xf4\xcb\x07\xbc\x55\xc8\x9e\x32\x79\xd3\x50\x76\x4f\x37\xdf\x86\x6b\x03\x93\x4c\xdf\xdf\x2c\xc3\x81\x11\x84\x34\xe4\x5d\x27\xff\xef\x8b\x52\xfb\xc0\xa3\x2d\x97\x7b\x37\x07\x92\x1e\xf1\x62\xe3\x84\x6a\x08\xa8\x38\xc3\x08\xc6\xd5\xa6\xed\x9f\x13\xb8\xe2\xc3\x7a\xf9\xaa\xf1\xad\x37\x89\x28\xe9\x17\xf3\x91\xbe\x94\x9b\xbc\x89\xcc\xd6\x24\xb5\x2f\x95\xc3\x85\x8e\xb0\x73\x11\xd5\x0b\x3f\x8d\x30\x12\x5a\xe6\xe8\x2e\x0a\xc6\x44\x92\x78\xd0\x4b\xc3\x14\x8a\x7a\x8f\xc1\x76\xbb\x30\x1e\xe8\x45\xaf\xfd\x3a\x1f\x79\x58\xb2\x16\xd9\x77\xf4\x74\xe1\x7b\x74\xc7\x91\xc6\x37\xe4\xa4\x23\x3b\x23\xbe\x78\x05\x2b\x4d\x74\xb0\x49\x7f\x1a\x06\x67\x45\xf9\x6b\x8b\x15\xd8\xfb\xb2\x22\xd2\x11\x45\xfc\xb5\x45\x9b\x4f\x64\x3c\x2d\xb7\x76\x80\xdc\x90\x26\x2f\x71\xe5\x4c\x8f\xcb\xba\x09\xcc\x2a\xda\xac\x96\x2b\x33\x5b\x0b\x72\x3c\xab\xa3\x55\x88\x52\x7a\xe7\xd4\x21\x10\x39\x39\x7a\x63\xb2\x52\x0b\xec\xa7\x09\x7e\x1f\xd7\x66\xbc\xb4\x95\xfa\x97\x80\x86\x6b\x39\x31\xd9\x2b\xe0\xaf\x12\x12\x32\xda\x93\x2f\xff\x33\x95\x6f\x8b\x6f\xe0\x05\xbc\x6c\xfc\x7f\x28\xb1\x63\x5c\x9e\x34\x99\xd0\x9b\x3d\x4c\xa3\x89\x12\x6c\x8a\x60\x9f\x46\x62\x29\x34\x5d\x50\xb4\xcb\xa7\xd3\x44\x68\x74\x07\x2d\xea\x47\x00\xbb\x34\x26\xe8\x06\x0f\x10\x90\xf6\x43\x3f\x8c\x9d\xda\x5a\x39\x92\xfb\xc5\x7e\x4b\x5f\x6a\x71\x07\x1a\x5f\x43\x81\x10\xf6\x1d\x29\x3a\x45\x1e\x77\xe8\x53\x45\x54\x44\xf9\xd0\x22\x59\xb0\x38\x4b\xe9\xa8\xe3\x0e\x52\xc9\x73\x0a\xa2\xb9\x63\x8a\x3b\xe7\xf2\xf5\x46\x23\xf9\xa5\xff\xd4\x74\xe7\x34\x9a\x76\xfa\x49\x19\x84\xc3\xa6\x26\x8c\xee\x52\x8a\xaa\x68\x5f\x1b\x63\x8d\xe2\x6a\x4c\x46\x5b\x35\x44\x4c\xc3\x95\x2e\xb5\xb3\x52\xb1\xa9\x5c\x44\x3b\xfa\xb5\xdf\x15\xde\xd9\x1c\xad\x85\xc1\xb8\x16\x71\x46\xe9\x74\x4f\xb8\xc5\x23\xed\x53\x4d\xcf\x8e\x85\x41\xaa\x33\xd5\x30\x01\x1d\x5c\xdb\xcc\xfd\xa8\xf3\x5c\x5b\x34\xe8\x54\xbe\xe1\x0a\x83\xf2\xb5\xa9\x18\xc0\x83\xd3\x24\x1e\x43\xf4\x47\xb5\xd7\xd8\x9b\xd3\x28\x11\x8f\x39\x1e\x73\x4b\x63\xa4\x97\x26\x70\x19\xfc\x31\x51\xb8\xd3\x8b\xc8\xa3\xd3\x6d\x5d\x0e\xeb\x41\x64\xdc\xb6\x39\x2d\xad\x05\x67\xde\x3f\xc9\x5c\xd8\xf0\xee\xd0\x3b\xa9\x13\x4c\x1b\x04\x84\x2c\x28\x01\xa2\x9c\x4d\xe4\x73\xa9\x0c\x93\x35\x22\x8c\x19\x2f\x40\x8c\x7b\x11\x3a\x2e\x98\x73\x53\x09\x61\x76\xc4\x41\x90\x91\xf1\xe3\x26\x12\xba\xfc\x2f\x04\x9f\x3c\x39\x77\x8f\x2a\x12\x84\xa9\xf6\xb8\x7e\x16\x13\xa8\x1c\x5b\x55\xda\x3f\xf9\xd5\x4a\xd5\xb2\xf5\x3f\xc8\xc1\x15\x46\xc5\x60\xbf\x59\xf7\xc0\xbf\xd9\x60\xff\xa1\x06\xcc\xad\xe9\xa1\x8b\xdf\x44\xff\x6f\xdb\xe0\x81\x81\x0c\xfd\x74\xff\xbe\x59\x24\x5d\xb7\x11\xfb\x74\x4a\x80\xa9\x63\x18\x4c\x38\xee\x3b\x90\x73\xc3\x9b\x4d\xd8\x1f\xa0\xfb\xed\x2a\xad\x53\x9f\xd8\xb0\xfd\x96\xb1\xa7\x06\x05\x9e\x2b\x56\xcb\x55\xff\xab\xa2\x0e\x1d\x02\xe9\xa6\x4e\x3e\x39\xb2\xfa\xb7\x94\xf0\xd3\xd5\x54\xa1\x66\x04\x4d\xf9\x7a\xff\x6c\xcb\xdd\x0f\xbf\x58\x40\x0b\x7a\xbd\x38\xa0\x6b\xfa\x75\xb5\x1e\x78\x9d\xc0\x0c\xf6\x35\x1a\x2a\x93\x69\x05\xc9\xda\xe7\x3e\x50\x6b\x50\x3a\x86\xc7\x6c\xed\x87\xdd\xc0\xf2\x8b\x06\xbe\xa9\x55\x2f\x06\x35\x5c\xcd\x07\x51\xdb\xee\xb7\xcc\xdf\x79\x77\x1b\x60\x7f\xef\xa4\xd0\x00\xff\x56\x7d\xaa\xa9\x68\x80\x80\x82\x3b\x49\x11\x5e\x74\x56\x3e\xaf\x59\xd3\x44\xd8\xaa\xb9\x9f\x4d\x6e\x82\x3e\x36\xea\xf3\x7e\x97\xe5\x45\x22\xc3\x11\xb7\xe2\xd8\xe0\xf9\x6d\xac\x31\x1e\x36\x12\x8c\x60\x35\x88\x85\x87\x5f\x9b\x8d\xcf\x6d\xc5\xba\x1a\xd8\xc3\x43\xd4\x4c\x9f\x55\xd0\xfd\x37\x44\x38\x45\x28\x05\x86\x33\x51\xe8\x43\x49\x4a\x51\xfc\xda\x89\x6b\x16\x7d\x5f\x0d\xf6\xd7\xcb\xfe\xab\x72\x7d\x47\x83\x99\x4d\x36\x1d\x81\x9b\x0e\x63\x5a\x62\x9b\x6f\x33\x97\xca\x68\xd3\x54\x63\xb1\x2b\x67\xed\x84\x1c\xcc\x43\x22\x63\xc5\xee\x86\x38\x63\x08\x81\x9c\x02\xd1\x53\x72\xa6\x43\xea\x0e\x70\xfa\x29\x2e\x11\x87\x9f\xc5\xa1\xd2\x21\x06\x7d\xd5\x7b\x45\x24\x39\x78\x64\x97\x56\xda\xb4\xfe\x13\x7b\x10\xc1\xdf\x55\x36\x43\x77\x55\x46\x89\x05\x8c\x9c\xd7\xe4\x98\xe5\xa8\x41\xcf\x2e\x8b\x1c\x61\x6c\x7c\x54\x31\x4b\x6f\xff\x2a\x29\xd7\xb3\x66\x8b\x2b\xcf\xc7\xab\xe8\xa2\xa7\x75\xe4\x8f\x0f\xab\x7f\x80\x1c\x1e\x79\x3b\x55\x6b\xea\xfb\xe8\x9a\x4f\x64\xa1\x1f\x52\x07\xe1\xd4\x86\x2b\x8b\xd6\x03\x32\x48\x60\xd5\x15\x16\x35\xf7\x41\x16\x3b\x3e\xf0\x5e\x3c\x41\x55\x6d\x09\x4b\xe2\x0e\x4e\x23\x3e\x96\xa3\x8b\x7d\x58\xdc\x7c\x4d\x01\x39\xe7\x73\xf5\x90\x89\x89\x21\x2f\x38\xbb\xcd\xbe\xff\x31\x43\x8a\xbc\xbf\x2d\x56\x90\x5e\xa6\xda\x5e\xd4\x2d\xf2\x9f\xb5\x3b\x90\x04\x7e\x0b\x65\x01\xbf\x37\x09\x7c\x68\x0f\x24\xf0\x55\xc1\x56\x0c\x13\xdb\x0a\x3a\x49\x30\xc1\x24\x8a\x39\x65\x35\x82\x5f\x8a\x5c\x17\x0a\xbf\x05\xa3\x3e\x45\x04\x79\x8a\x29\x91\xb1\x77\x45\xc0\xd6\xd0\x0f\x2f\x84\x74\xcb\x9c\x14\xa0\x07\xd0\x4a\xbd\x37\x46\x36\x65\x65\xbc\xcd\xfc\xc1\x74\x3b\xba\x81\x7c\x61\x1f\x94\xba\x8c\xb5\x02\x0a\x22\xc5\x55\x98\x43\xd0\x58\x0e\xb3\x2a\xde\x33\xfc\x99\xf5\xef\xac\xd9\x42\x7c\x4d\x7d\x82\x79\x2c\xb4\xe4\xeb\x9b\x1b\x20\xbe\x76\xec\x95\xf4\x9d\xbd\x00\x9e\xaf\x69\x67\x3f\x01\xd9\x62\xa7\xdd\x4f\x2d\xbf\xea\x34\x5f\xdb\x68\x66\x7a\xe0\xdc\x30\xe9\xc6\xd8\xce\xb0\xfd\x86\xa4\x76\xce\x1d\x92\xe6\x00\x71\x66\x45\x93\xb6\xa2\x0c\x2b\x87\x7e\xf8\xd2\xa1\x46\xfa\xd9\xf2\xde\x25\x97\x61\x99\x18\xbe\xe2\xd4\xbf\xae\xaa\x51\xb8\x24\x58\x13\x6d\xb5\x22\x84\x24\x2f\xad\xc0\xdd\x2b\x68\x87\xf1\x3e\x9d\xb4\x36\xee\xe7\x4f\xfd\x79\x45\x14\xf7\x88\x82\x85\xcd\x5c\xd9\xb6\xe5\x2e\x45\x25\x81\xe6\x9f\xa2\x81\xd5\xa9\x48\x0b\xb8\x6a\x3e\xee\xbe\xba\x23\x3a\x5c\x79\xf8\xc4\x5a\x97\x92\x9b\xa0\x9d\x55\x52\xbf\x36\x7f\x74\xca\x07\xa8\x1a\xff\x8e\xe9\x27\xac\x07\x74\x04\xb0\x93\x5b\x5e\xe7\x75\x71\xa6\x4a\xe1\x68\xd6\x6c\x1f\x96\x5f\xba\xfe\x40\x1b\xf4\xa3\x66\x6f\xca\x29\x47\xba\xc5\xf8\xf8\x6a\xed\xc1\xb5\x11\x21\x05\xe9\x1e\x46\x16\xce\xfa\x60\x5b\x2d\x8b\x1f\x31\x2c\xd6\x33\xbc\x6a\xa2\x48\x30\x29\x96\x41\x35\xef\xeb\x35\x25\xae\x0f\x8c\xa6\x9d\xe5\x78\xa8\xc4\x6d\xe4\xc5\xdc\x98\xf4\xcd\xeb\xbc\x61\xb2\x30\x87\x83\x93\x0e\x99\x18\x6d\x06\x19\xd3\x38\x39\xcd\xb8\xd2\x19\x1c\x70\xd6\x3c\xd8\xf8\x3a\x9d\xd9\x5a\x77\xda\x99\xa6\x24\x3e\x4d\x47\x3f\x62\x16\xdc\x8c\x8c\x5b\x6b\xc3\xad\xef\xd8\x90\x31\x45\x9c\xb9\x4c\x67\x77\xc2\x7f\xac\x97\xfc\x49\x1e\xe4\x43\x45\x5d\xed\xb3\x0d\xa3\xbb\xa9\x86\x9f\xa0\x4a\x0c\x31\x6f\x05\x73\xfa\xc5\x13\x11\x8f\xff\xbd\xe5\x12\x19\x17\x4f\x84\x01\x64\xce\x5d\x97\x7a\x9e\xe3\x75\x5e\xbb\x2d\x48\xa6\x19\x53\x4f\x1c\x72\x1d\xed\x2c\xed\xf8\xb1\x51\xfd\xd5\xfc\x0c\xa5\xbc\xd1\xde\x1b\x9e\x6d\xca\x0c\x29\xdd\xda\xd0\xb7\xaa\x39\xe6\x1b\x7d\x3b\xe6\x61\xc9\x17\xf7\x34\x3a\xd8\xb9\xa7\xb8\x66\x67\x70\xd2\x01\x6c\xda\x38\x66\x82\x33\x7e\x69\xf9\x87\x8b\x51\x8d\x25\xf3\xf7\x34\x3c\x92\xed\xf8\xaa\x2b\xfb\x44\xde\x2f\xb8\xa6\x35\x2a\xa7\xa6\xc8\xd4\x27\xd8\x7e\x12\x6f\x16\xba\x58\xae\x1a\x6c\xf2\x42\xeb\x55\x43\x5e\x63\x25\x15\x24\x33\xc5\x5a\xc0\xb5\x2a\x5b\xcb\x34\x06\x00\x74\x5c\xce\xc4\xc3\x50\xfd\x74\x19\x62\xde\x42\x72\x40\x09\x18\xcb\xe7\x28\xf1\x66\xc3\x69\x43\xbb\x4a\x65\xdc\xd0\x9a\x79\x44\x35\x30\xdd\x04\x5f\x18\x56\x6d\x03\x55\x64\xc2\x88\x48\x57\xde\xeb\xef\x0b\xb0\x72\x20\x1f\x98\xa6\xb9\x9f\x81\x2b\x67\xa2\xd5\x13\x99\xbb\x78\x90\x3c\x92\x8a\x89\x04\x97\x53\xc9\xe2\x3d\xa0\x9e\x92\x61\xa0\x32\x5c\x87\x7d\xca\x38\x1d\xca\xc4\x6c\x70\x18\xbf\x8f\x7b\xea\xd7\x8d\xef\x33\x86\x1b\x35\x9c\x98\x09\xaa\x79\x38\x38\x84\xc7\x3d\xfb\x41\xf4\x82\xc4\xec\x4b\xbc\x69\x55\x40\x08\xc2\x72\x65\x86\x94\x4a\x83\xbf\xe2\x9c\xf8\x5e\xf9\x11\xc1\xa2\xbc\x37\x40\x16\x7e\x38\x83\x42\x6f\xe3\x7a\x14\xe9\xe3\x3a\x10\xd5\xdb\xcc\xb1\x41\xaa\x6f\x53\xb1\xd0\x64\x0c\x0b\x13\x99\x4b\x3f\x72\xf1\x42\xda\xc8\x3d\x83\x66\xbd\x27\x71\xb8\xf0\x07\x59\xec\x32\xd1\xe9\x8a\xf8\x27\x2d\xef\xe8\x7a\x2a\xa7\x05\x8f\x2f\x36\x39\x69\x0a\x9e\xcd\xaf\xd6\x74\x6e\x10\xb9\x7d\xe3\x1b\x01\x81\xaa\x6f\xc2\x7b\x88\xcb\x2d\x9d\x35\x2f\x6c\x76\xde\x5c\x5c\xda\x1c\x8e\xbf\xd6\x17\x85\x60\x56\xd9\xcc\xfa\xa7\xf7\xd8\x79\xbe\x99\xa3\xe9\x9e\x4b\x7f\x27\xef\xda\xf5\x52\x8e\x81\x81\xef\x1b\x6d\xae\x56\x5d\x9a\x1a\x61\x4b\xd5\xbc\xa7\xc7\x9d\xe7\x84\xbd\x09\x5d\xeb\x22\x3b\x60\x88\x90\xff\x81\x77\x38\xd4\xc0\x33\x15\x18\x74\x8c\x31\x34\x64\x19\x47\x3f\x99\xd9\x53\x0c\x0d\x6d\x49\xd9\x02\x52\x45\xcf\x13\x0c\x94\x37\xa5\x48\x54\x60\xd0\x19\x33\x4b\xb5\xde\xc5\xdd\xfc\xc3\x7d\xe8\xd2\x79\x90\x71\x7d\x5f\x3d\xa0\xf7\x7b\x29\x6a\x5b\xb8\xa2\x80\x70\xd5\xa5\xab\x19\x4f\xb7\x24\x7e\xd3\xba\x49\xe9\x77\x1b\x5c\x4b\x04\x14\x80\x55\xe9\xcb\x06\x25\xc6\xdf\x7b\x6b\x02\xe3\xbe\x03\x27\x4c\x86\xac\x54\xef\xad\x11\xe6\x30\x26\xc4\xcc\xdb\x7c\xb9\x4f\xc5\x92\xb6\x64\x78\xd9\xdc\xde\xb9\xd6\xb1\xb6\x6b\xb7\xbe\x89\x6a\xc0\xe9\xd9\x6f\x62\x00\xab\x57\xec\x83\x42\x94\xba\xc1\x8c\x32\x52\x5e\xa5\x31\xef\x52\xff\x4c\x99\xa8\x1a\xbc\xc1\xb4\x7c\x61\x98\x3b\x34\x9f\x99\x92\x89\x12\x9d\x3e\x16\x8a\x88\xce\xcc\x7e\x40\xb1\xa6\xf8\x86\x94\x78\x64\x9a\x5a\xf7\x7a\x4c\x92\x6b\x61\x4e\xbb\xab\x7e\x93\x26\x29\xc5\x6d\x00\xfa\xd3\x42\x2c\xdc\xac\x4c\xe4\x35\xcf\xd9\x61\x4d\xe3\xb7\x31\x7f\x5d\x9e\x13\x6b\x8f\x07\x56\x7b\x6b\x75\xc3\x1b\x91\xc9\x6c\xc0\x5e\xd0\xeb\xd8\xc9\x2f\x28\x95\x28\xb8\xbc\x9b\xe1\xf8\x3d\x43\xe3\x4c\xb3\xef\x9c\x61\xa1\x65\xa0\xe3\xea\x59\x1c\xad\xdc\x50\xcc\x66\x60\x4a\xa0\xbd\xe0\x50\x9f\x64\xe7\xb8\x5c\xd2\xa2\xe7\xbb\xc8\x5a\xed\xba\x1e\x99\x56\x29\x8c\xe3\xe4\xff\x6e\x9d\x74\x83\xb5\xbc\x48\x5f\x4c\x5c\xc7\x86\x13\x35\x63\xb1\x05\x1b\xd5\x6d\x59\x04\xad\xd7\x50\xdb\x66\x40\x41\x4e\x48\x36\x8f\x99\x95\x1e\x69\x11\x57\xab\x70\x8e\xa0\x7f\x4b\x05\x2e\x68\xb3\xc8\x16\x14\xd8\x63\x6a\x8e\x89\x97\x9f\x57\x8e\xf2\x36\xf1\xb1\xf1\xb4\x0a\xa8\x04\x7a\x51\xde\x96\x98\x99\x84\x44\x93\x51\xf4\x08\xe7\x8f\x71\x63\x1a\x3c\x39\xd8\xb0\x36\x33\x5c\xac\x60\x05\x6c\x1a\xb1\x23\xe5\x9f\x78\xe2\xb4\xcd\xa9\x99\x10\x8f\x97\xef\xe4\x54\x3f\x9c\x17\xeb\x56\xb2\xe7\xdd\xe2\x69\x58\x88\xf0\xd4\x6f\x80\x6b\x2e\xb5\x87\xef\x4c\xec\x90\x60\x64\xb1\x0e\x57\x66\x40\x21\xb2\x9f\x7a\x6e\x0f\x91\x6a\x42\x14\x85\x28\x73\x47\x9d\x47\x63\x8c\x81\x63\x17\x09\xd0\xfc\x99\x09\x72\x46\xda\x29\x40\x7f\x77\x7a\x69\x85\x0f\x5b\x53\xe3\x16\xa0\x9a\x76\xd7\x37\x86\xa7\xe6\xa5\xb0\x29\xd1\xf6\x0b\x98\x84\xee\x99\x6c\x29\x6a\xe3\x25\x3d\x9b\x42\x01\x45\x04\xa4\xa5\xfa\xbb\xb5\x26\xf0\xb4\xb9\xed\x8f\x46\x3a\x7d\x73\x17\x9b\x88\x43\xa9\xb4\x30\x2f\x99\x07\x22\xfa\x06\xd9\x72\x8b\x47\xc0\x64\x28\x6a\xa8\x89\xa4\xe6\x29\xdc\x6b\xf6\x1e\x93\xa8\xed\xfc\x83\x3e\x7c\xa6\x3a\x7f\xf8\x8e\x59\x52\x8d\xa4\xf1\x4a\x2d\x3d\x66\x4f\xe1\x31\xa9\x02\x56\xf0\x41\xa1\xf0\x37\x10\x5f\x2e\x79\x74\xa5\x88\x3a\x79\xf7\xe7\xf6\xfb\x7e\x17\x2a\xa1\xb9\x66\x56\x0c\x49\x3f\xc9\x8f\x52\xd8\x13\xdf\x67\x19\x4a\xa9\x56\x80\xe4\x4b\xb0\xd9\x87\xef\x30\x26\xa7\x46\xc9\xb2\xc0\xfa\x2c\x09\x43\x46\xb1\x79\x07\xe5\x20\x1d\x77\x82\x3b\x30\x32\x33\xca\x98\x91\xb7\x14\xce\xd6\x15\x98\xa8\x5d\x4d\x66\xec\x73\xf3\x9a\x67\xab\x19\x83\x6b\x79\xcd\x56\x03\x5b\x20\x8d\x62\x7d\xcb\xc9\x54\xc5\x5f\xf5\xb0\xae\x0a\xcb\x00\xdf\xb8\x50\x34\x9d\x31\x29\x9f\xbb\xb7\x8a\xab\x56\xdf\xa5\xd6\x8c\xb3\xb3\x16\xcc\x62\xad\x59\x56\xd4\xc5\x3c\x6b\x15\x5c\xd2\x35\x85\xea\x48\x1a\x47\x4b\xaf\x6c\xc7\x1b\x47\x8d\x39\x59\x19\xd6\x60\xc1\x74\x2a\xe8\x02\x77\x5b\x4f\xe6\x39\xa8\xa4\x94\xd5\xa6\x58\xb4\x73\x5a\xf3\x1d\xe3\x34\xe7\x3d\x6e\xfb\xed\x16\xa9\xe7\xbb\xa4\xd2\x67\xb6\x92\x47\x0a\x8c\x79\x79\xe2\x71\x12\x62\xf6\x32\x8e\x46\x89\xc8\x44\xc6\xb6\xb2\xe7\xff\x76\x2f\x2d\xe6\x9b\x49\x64\xae\x9d\x16\x6b\x4f\x37\x82\x08\xaf\xa5\x98\x95\x6f\xef\xad\x05\x8d\xc9\xfd\xfd\xef\x39\x7b\xbf\xa8\xf6\xda\x25\xd7\xac\xde\x39\x3f\xbd\x9e\x8e\xb1\xd0\xd4\xd6\xe5\x74\xbd\x70\x14\xcd\x57\x27\x3a\x22\x19\x66\xef\x81\xc8\x09\x69\x04\x67\x2a\x6e\x58\xa8\xc2\xbe\x03\xd1\x90\x15\x6c\x66\xe1\x0a\xdf\x9a\x21\x80\xdf\xfb\x16\x70\xe3\x50\xd5\xce\x51\xb1\x8d\x7a\xd1\xc2\x35\x8c\x1c\x4a\x5f\x16\xcc\x14\xc2\x37\x5f\x3a\x9e\x9a\xf2\x1b\x05\x31\x14\x64\xd5\x4f\x11\xef\xd9\x98\xce\xd3\x07\x39\xe7\x63\xb8\x7b\x57\x11\x38\xd7\x93\x65\x39\x50\x78\xa5\x65\x7e\x3f\x13\x26\xa7\x66\x19\x39\x25\x58\x77\xa8\x4d\x18\x44\x5b\x81\x23\x65\x54\x7f\xa7\x90\x71\x26\x6f\x67\xe8\xac\x50\x2e\x2e\x4b\x75\xa9\x96\x81\xa5\x2d\x4a\xdf\xca\xe5\x07\xb2\xfc\xc6\x6e\xb7\x42\xcc\x79\xc4\xaf\x9d\x43\xd0\xfe\xeb\x0f\x49\xd6\xe5\x0f\x51\xe9\xf1\x1c\x20\x9f\x16\x93\xdc\x62\x1d\xa6\x49\x7d\x85\xe1\x6b\x61\xa8\x0c\x62\x48\x78\x36\x97\x9a\xbc\xd3\xf4\xc1\x8e\x8e\xcd\x21\x1e\x3d\x9e\x6e\x3f\x91\x52\xb6\x60\x81\x52\x69\x23\x98\x53\x8a\x44\x22\x56\x65\x67\xf9\x9b\x83\xc1\x02\xa0\x7e\x33\xf2\x0a\x2e\x6f\xf8\x8c\x42\x3f\xa5\x0b\xcb\xb7\x12\xbd\x90\x63\xb0\x61\x99\x2a\x0b\xc1\x89\xfc\x24\x8c\x75\x9d\x3f\x78\x82\x72\x35\x0f\x1e\xd1\xb6\x26\x96\x50\x64\x0a\x08\x4e\xf2\xa6\x5e\x52\x1e\xc4\xb1\xac\x77\xa4\x64\x28\x18\x00\x57\xa4\xd3\x65\xc7\xd5\xdc\xcd\xaa\xf7\xca\x27\x28\x0d\xcb\x1a\xd8\xc3\xdc\x5c\xcf\xa3\x3d\xc6\x34\x12\x77\x6c\xc2\xf5\xeb\x3a\x1b\x5e\x58\xca\xf5\xc3\xb1\x1d\xf3\xc8\xc0\xd3\x9a\xef\x65\x4b\xf0\xa3\x23\xc5\x42\x7d\x74\xf8\x34\x1b\x53\xce\x83\x91\x26\x0c\x84\x80\xf4\x8b\xa4\x2c\x0e\x99\x6f\xac\x09\x62\x18\xe5\x20\x73\x3a\x97\x8c\x31\xd4\x20\x71\x14\x88\x28\xf5\xeb\x62\x39\x2e\xf6\x69\x9f\x36\x29\x3b\x07\x71\xea\x4d\x3d\xc4\x21\x54\xbd\x39\xc2\xa2\xd5\x2f\x4a\xf3\x58\xcb\xa2\xa7\xd6\x8d\x40\x45\x3e\x8a\x4e\x61\xa9\xea\xb5\x5d\x3a\x76\x28\x57\xaa\x71\xd9\x6f\x88\x65\x5c\x23\x09\xc0\x83\x53\xf0\x81\xca\xf9\x31\x16\x33\xb0\xea\xe2\xb3\x88\xd9\x46\xfb\x74\x4b\x72\x8a\xf7\x8b\x3c\xbf\xe0\x1d\x85\x3d\x52\xb6\x4e\x3c\xed\xc7\xab\xdc\xf5\x2c\x2d\xff\x47\xae\x1d\x7f\x7a\xbe\xb3\x10\x16\x51\x9c\x12\xb2\x20\x4a\x78\x15\x2c\xe5\x70\x70\x79\xb3\x4d\xb3\x25\xb8\xd8\x88\x3c\xd8\xbd\xfc\x03\x0f\xec\xf9\x31\x57\x69\x83\x56\xfc\xf8\x05\x19\xd3\x71\x82\x3e\x9e\xfb\xbd\xee\xc3\xce\x9a\xd1\x39\x21\xcc\xba\x47\xd2\x36\x76\x9c\xf3\xe4\x31\x91\x6c\xe6\x26\xa0\x9a\x7a\x2f\xd9\xc6\xb0\x76\x80\xd2\xea\x66\x5c\x65\x53\x4c\xd7\x51\x43\xb4\x50\xc2\xe2\x30\x58\x31\x8a\xdf\x9f\x9b\x92\x6f\x30\xf0\xd3\x7a\xcf\xe6\x6f\x11\x56\xbf\xf5\x14\xe8\xc7\x28\x6b\xb9\x2f\xcc\xa5\x29\x31\x3d\x78\x46\x6d\x80\x25\x94\x0a\x9d\xfe\x95\x94\xb2\x1e\x16\xaa\x83\x14\x77\xe0\xb3\xef\xcf\x55\xb8\x45\x57\x0b\x45\xf2\x2f\xef\x82\x5c\x83\xb7\x26\xc2\x35\xb1\xca\x59\xcf\x56\xd9\x03\xeb\x98\xa0\x0b\xf2\x07\xa5\x99\xe1\x08\xf8\x60\xca\xcc\xe7\xb2\x8a\x09\x44\xa7\x16\x0a\x72\xb1\x11\x3a\x15\x3f\xec\x26\xb4\x1f\x70\xd7\x34\x60\x3a\xe6\x8b\x05\x11\x73\x1f\xb7\x1e\xcf\xab\xa3\x58\x97\x22\x54\xa1\x3b\x1a\xe1\x08\x35\x2d\xb5\x28\x07\x59\x1b\x0a\xaa\x30\xd4\x41\x76\x5f\xcf\x91\x5d\xe2\xf9\x99\x35\x75\x9e\x84\xfd\x10\x77\xfa\xcd\x7e\x45\x1e\xd5\x29\xa4\x80\x4d\x9b\x5e\x74\x47\xcf\xaf\x4a\x81\x4d\xb5\x48\x3c\x68\x47\x67\x24\xb7\x5e\xf7\xcc\x56\xaa\x76\x0b\xeb\xa3\xea\x14\x26\x7f\x00\x22\x05\xfa\x13\x5c\x8d\x9e\x7b\xd1\xf2\x04\x5b\xc4\x40\x97\x53\xd0\xfa\x92\xe2\xdb\xd7\x92\xbf\x85\x03\xa5\x9b\xaf\x4b\x41\x30\x64\xea\xce\x80\xfd\x7a\xf7\x02\x36\x44\x6d\xd8\xf5\x0c\xcb\xaa\x30\xfa\x70\x3f\x86\x87\x75\x03\x4a\xff\xb9\xd5\x9c\xfe\x4e\xaf\xe5\xf3\xd5\xf8\x95\xb3\xb4\x15\x34\xc9\x2c\x16\xe2\x30\x58\x0a\x7f\x65\x0f\x86\x68\x74\x9e\xa2\x11\x6e\xbc\x5c\xa1\xde\x1e\x5e\xab\xd7\x6c\x03\xa1\xd8\x64\xdf\xb5\x2e\xb2\xaa\x90\x5c\xae\xf0\x01\x38\xff\xbd\xb5\x30\xf9\x9e\xf6\x49\x71\xab\x29\x22\xee\xca\x84\xee\xba\x85\xda\xd9\x4b\x32\xcb\xde\x55\x86\x76\x03\xdd\xee\xae\xc1\xc0\x20\x84\x56\x63\xb1\x92\xc3\x8b\x06\x61\x3e\xd9\x8c\xd5\xd8\x4e\x75\x70\x63\x9a\xba\x48\xae\x2d\x6c\x89\x5c\x89\x74\x50\x0e\x66\x7f\x19\x31\xdf\x18\x09\x33\xdc\x70\x16\x4e\xf5\xa0\x11\xdd\x33\x13\xcc\xc4\xd8\xd5\xd5\xf2\x23\xc7\x86\x29\x21\x92\xdb\xe9\x1c\x2d\x1b\x52\xa9\x38\x7b\x33\xc9\xd8\x95\x91\x01\x55\x35\x0c\xb1\x58\x8c\x15\x03\x73\x4b\x2b\x60\xcb\x6f\x54\xe4\x7b\xd3\xd6\xd7\xca\x84\xb7\x09\x12\x4c\x3d\x92\x8c\xc5\x34\x7d\x3e\xef\xc8\xec\xc3\xd5\x35\x61\x45\x15\x27\xb2\x02\x57\xb5\xa6\xe0\xfa\xfb\x84\x00\x26\x00\x8d\xa7\x6c\xe6\xa0\x82\x6b\x20\xa4\xb1\xb6\x45\x0c\x97\xf9\x51\x35\x47\x0e\x7b\x0e\x80\x92\x28\xd8\xa8\x43\x5d\xfe\x40\xda\xf2\x4e\x9f\x69\x13\x35\x0c\xe5\x3d\xfa\x46\x49\x6c\xe7\x54\x44\x6a\x18\x05\x13\x8c\x0e\x87\x71\x2e\x5f\xcc\x91\x8d\xe8\x0a\x6e\x75\x5d\xbf\x65\xbd\x59\xc6\x68\xf9\x83\x7a\x42\xe4\x96\xda\x64\x4e\x1e\x2e\x5c\x10\x67\x96\xf7\x93\x34\xed\x07\x8d\x63\x78\xb7\x04\xed\x04\xe3\x17\xa2\x8b\x47\xd6\xe5\x7a\x40\x40\x1a\x91\x39\xa6\x04\x6c\xf6\x3c\xc3\x54\x84\x7c\xbd\x50\x33\x67\x89\x09\x1c\x81\xa8\x87\xfd\x2a\x17\x58\xcd\x5a\x7d\xa8\x1f\x48\x27\xee\xa8\xd1\x81\x7b\x94\x1c\xf6\xdb\xb8\x30\xc5\xd1\x69\xe3\xde\x09\x48\xf0\x64\x13\x65\xbc\xcc\x55\x4a\x9a\x30\xd5\x26\x70\xf9\x25\xdb\x56\xb1\x5f\xff\x76\xe1\x3d\xe1\xfc\xe2\x1c\x4e\xb2\x86\xaf\xe1\x0e\x5e\xcb\x1f\xcb\x67\x8d\x94\xcc\xa5\x87\x2d\xd7\x9e\xc9\x31\xb9\x8e\x0f\x73\xfc\xaa\x7c\xe1\x0e\x6c\x6e\xdb\x60\x12\x50\xe2\xd0\x9b\xb2\xc1\x03\x52\xed\x3a\x2c\x41\xef\x89\xb8\x10\xf8\x15\x26\x09\xe5\x75\xe5\x2a\x8b\xb4\xac\x1a\xb3\xbc\xee\xf9\xdc\xc3\xf6\x68\x1a\x38\x17\x90\xf9\xe7\x43\xb0\xe4\x19\x25\xde\x89\xcb\x0f\xe0\x1d\x14\xac\x6e\xe0\xbb\x7d\x50\xda\xc4\xe4\x2a\x3d\x9b\xdc\x22\x27\x4b\x83\x46\x61\x91\x3f\x4c\xc6\xbf\x17\xf0\xf9\xd1\x60\xaf\xa5\xe5\xd5\xec\xe4\x89\x5b\x4f\x3b\x8f\x47\xce\xbd\xf4\x6d\x9c\xae\xef\xa5\xdd\x1a\x79\x54\x24\xdc\x7c\xb8\xa3\x89\xdc\x94\x98\x55\xc0\xdc\x91\xb4\x29\xbb\x54\x17\x74\x19\xfd\xe7\x52\x2b\x5a\xd2\x95\x68\x65\x3d\xa2\x8b\xf2\x02\x7d\x44\xd1\x65\x2f\x0b\x9a\x51\xe3\x25\x08\x2b\x7f\x4b\x48\x14\x5a\x7a\x4d\x21\xaf\x1e\x3d\x80\x14\x86\x42\x81\x67\x65\xf9\x40\x90\x77\xf5\x27\xc1\x19\xc9\xac\x9a\x21\x93\x0d\x7a\x96\xda\x11\x9d\xb6\xa2\xd7\x63\xb5\xb2\x7a\x72\x7a\xb0\x66\x4a\xa7\x5a\xbd\x4d\x34\x1c\x2c\xf2\x40\x83\xe7\xc5\x0c\x1d\x7a\xbb\xe0\x71\xad\x0c\xa9\x89\x76\xe4\x39\x3f\x85\x8f\x71\xba\xee\xed\x75\x42\x8a\x30\x28\x21\xc3\x38\x3e\x57\xf6\x47\xfc\xa2\xa1\xcd\x0a\x0a\x89\x16\xc2\x66\xf8\xb0\x48\xf8\x78\xbd\x5f\xfc\xcb\xa4\xb9\x47\x61\x54\x65\x68\x5b\x8e\xbf\xc0\xff\x3a\x14\x8f\xdb\x52\x93\x46\xaf\xd1\x99\x80\xc3\x96\x7c\x67\xd3\xe3\xdc\xbe\x81\x08\x1c\x15\xcb\xe6\xe1\x8c\x82\xf6\x61\x2c\x95\x61\xdb\x93\xde\x18\xce\x6b\x7f\x28\xc0\xca\x38\x82\x95\xaa\x36\xb8\xb5\xea\x25\x42\x15\xd3\xbe\xe6\xc6\x69\x59\x3e\x56\xee\x53\xcf\x16\x03\xb7\x1b\x47\x7d\xef\xeb\x3d\x5c\xb8\x09\x8d\x42\xf4\x37\xac\xc0\xec\xdf\xac\x68\xe0\x3a\x21\x0f\xab\xba\x39\xb7\x8c\x46\xf8\xaf\xc4\x0e\x9a\xb1\x7b\x8a\x98\xbd\x88\xad\xc2\xbd\xff\x84\x10\xeb\xee\x1f\x53\xaa\xe7\x0c\x69\x4f\x57\x4b\x4f\xad\xc4\xb9\x3c\x41\x03\x5b\xbb\x9a\x92\x38\xd6\xb0\xac\xde\x4b\x2a\xaa\x73\xd2\x5f\x78\x94\xd1\x99\xd3\xf0\x36\x6f\x5d\x84\xa6\xef\x3c\x3f\x1e\x89\xc0\x2f\xea\xd9\x86\x16\xdd\x0a\x8d\x98\x65\xca\xbb\x2d\xaf\x68\xa0\xa3\xce\x72\x96\xed\x6a\x3c\x34\x1f\x61\x61\xc0\xcf\x8f\xf6\x36\x39\x46\x5d\x7d\x76\xd1\xb9\x0f\x52\x74\x96\x4d\xbd\x77\x0d\xdc\x27\x57\x0c\x51\x3b\xd7\xf6\x72\x85\xf2\x46\xd5\xf1\xba\x93\xe9\x14\x26\x05\x53\x2e\xd6\x04\xb5\x34\x2c\x71\x5c\x1d\xfa\xe0\x46\x10\x9d\xc5\x9b\x3f\x9d\xbb\x66\xf2\x2a\x2e\xa8\xcf\x0c\x87\x26\xbd\xf3\xf2\xb0\xd0\xc8\x0f\xaf\x2a\x1f\xff\x8a\x14\x96\x2f\xfd\x52\x37\x31\x5b\x4d\x96\x68\x5f\x7e\x1f\x0f\xbf\x23\x2a\x5c\x4a\x2a\x8f\x48\x39\x1b\x9d\x69\xdb\xaa\xd8\x32\x76\xaf\x87\x88\xcc\xcd\xff\x82\x4b\xc1\x3d\x04\x16\x2f\xad\x79\xe5\x46\x3a\x71\xdd\x04\xa9\x61\x90\x09\x4b\xfa\x63\x6d\x71\x52\x09\x38\x60\xe7\x84\x70\x96\xa6\xbb\xdd\xae\xc7\xcd\x09\xb7\x68\x1d\xd9\x79\x1f\xe8\xfa\x65\x8e\x75\xda\xb4\xe3\x72\x79\xd6\xec\x53\x58\xba\x6b\x3b\x64\xd0\x84\x38\x93\x18\x40\x3b\xd7\x2d\x39\x2d\x19\x7f\x66\xcd\xca\x56\x21\xfa\x88\xd3\xfe\xb1\x70\x9e\xb0\x47\x2a\xd8\x2d\x06\x07\x86\xae\xd1\x45\xd2\x22\x3a\x5c\xc7\xe5\xea\xd1\xb6\xb9\x47\x0b\xec\x68\x3a\xc3\xe1\xac\xe2\xcc\x28\x97\x56\xa5\x3a\x6f\x85\xc1\xb6\x0f\x39\x98\xe7\xdf\x8b\xf4\x7b\x89\x70\xf2\x2f\xd1\x09\xb2\x14\x3b\x68\x00\xe0\x21\x79\x78\x41\xde\x1a\x9a\xf6\x41\xe0\x02\xff\xce\xca\x26\xb2\x14\xd7\x11\x64\x0f\xa9\x6d\x0b\x18\x5b\x4f\xde\x77\x43\x01\x9a\x77\xc7\xe4\xbf\x06\x3d\x9f\x72\xc4\x7d\xd1\xa7\x73\xc5\x49\x70\x9c\x26\x59\x07\xc5\x10\x62\xa9\xde\xdc\x95\x13\x8a\xcc\x33\xb7\x9e\x9e\x64\xf1\x9a\xfd\x1c\x0f\x1f\x83\x6f\xf6\x4d\x88\x6c\xac\x29\xde\x4e\x7e\xc7\xa5\x2f\xf2\x35\x55\x4b\x06\xcd\xe5\xd1\xbe\xba\xf8\x1e\xfd\x62\xdd\xe3\xe7\xab\xf1\x2b\x7e\xd4\x3e\x3b\xab\x26\x9c\xe0\x89\xab\x5b\xc6\xaa\x98\x71\x43\xab\x11\x32\x43\x85\x08\x86\x19\xe3\x84\xc7\x13\xad\xa1\xa5\xe7\x0d\x16\x4c\xf4\x23\xe6\x2c\x90\xd3\x68\xe7\x96\xe7\xf2\xb6\x98\xa5\xe3\x75\x91\x66\x97\x1e\x4c\xff\x0e\x3b\x51\xf8\xc4\xb7\xf5\x18\x2d\xd1\xd0\x1b\xca\x54\xe5\xa2\x02\xe0\xb3\xcc\x71\xcf\x03\xc6\xef\xdd\x7d\x18\x29\x42\xc2\x2b\x9d\x9a\x60\xc4\xff\xbc\xe3\x55\x7e\x5d\x96\xd7\x2e\xc4\xb5\x1a\x3b\x3f\x2b\x8e\x57\x92\xd0\x5b\x66\xa9\x14\x25\x78\x4d\xda\x01\x4b\xa1\x1b\x20\xd5\xe3\xa8\xb3\x10\x37\x07\xda\xdf\x15\x06\x1d\x49\x72\x73\x97\x14\x66\x5d\x25\x8d\xbb\xbf\x36\x88\x11\x2f\x93\x45\x2f\x90\x7a\x62\x26\x53\x93\xa3\xb5\x26\xe4\xbe\x81\x0e\x7b\xbb\x20\x13\xbd\xe7\x0c\xee\x4b\xbe\x81\x2b\x2e\x62\xb2\x60\xb8\x07\xad\x9a\xb6\x5a\x70\x54\xc9\x3b\xf3\x13\xd2\x93\x95\x4a\xaa\x7f\x2e\xba\x29\xb5\x2e\x26\x02\x21\x76\xa5\xd3\x92\x6d\x70\x73\xbb\xdd\x9e\x85\x7a\xfe\xd4\x1f\x52\xff\x02\xb7\x37\x71\x8d\x77\xab\x56\x68\xe1\x14\xa3\xd6\xe4\x6f\xbb\xe8\x35\x87\xd8\xb1\x75\x23\xf1\x6e\x2a\x56\x9d\xe8\x6d\x6d\xdb\x06\xa6\xd0\xe7\x6a\xf4\xf2\x0c\xf3\xf6\xbf\x1d\x06\x9a\xe6\x5f\xc2\xbe\xca\xfc\x4c\x4d\x11\x2d\x7b\xbe\x97\xbd\xf2\x35\x2f\xd6\xd8\xb6\x6d\x59\x5c\x95\x70\x75\xfb\x29\xe2\x25\xfc\xf9\x9a\x06\x49\xbb\x72\x0f\xa9\xca\x23\xce\x1d\x19\x15\x4b\x72\xb3\x6b\x3f\x94\x5a\x9c\x94\xfc\xcb\xae\xc3\x53\xdd\x2e\x7a\xfc\xd2\x66\x5c\xde\x65\x88\x74\x21\x55\xd9\x8a\xfc\xa1\x36\x0e\x14\x8b\xd6\xcb\xf5\xbc\x4a\xa1\xcc\x0a\x3a\xda\x7f\x51\x5c\x68\x40\x3c\x91\x64\xc8\x02\xfd\x86\x17\xda\xda\x2e\x74\x6a\x09\x12\x71\x4f\xf4\x74\x67\xf9\x4c\xb2\x70\x8c\xc2\xe9\xb7\x90\x78\xce\x31\x10\x51\x63\xfd\xfd\x6c\xdb\x2f\x44\xa2\x7f\xf5\xfe\xc2\xcb\x45\x9c\xcb\x3d\x97\xb9\x93\x40\x1a\xe9\x87\xc6\x3b\xf0\x7c\xc1\xc1\x55\x91\x2b\xbc\x07\xf9\x1e\xfe\xec\x71\x0e\x80\x6f\x82\x1f\xdf\x2c\x06\x34\x53\x44\x2f\x74\x20\x5d\xc3\xec\x4e\x47\x10\x39\xd2\xe7\x99\xe6\x6f\xd2\x5f\x2e\xb7\xf1\xa3\xb5\x0c\x99\x24\x03\xea\x48\x9d\x29\x71\xf9\xdd\xe5\x69\x8a\xe6\xa5\x54\x17\x14\x0d\xd2\x52\xe6\x16\xb2\xda\x2e\x5a\xb5\x57\xf4\x4a\x56\x66\xf0\xc4\x55\x4b\xae\xed\xb8\xd9\xe6\x3a\x87\x12\xde\x9a\x81\x23\xee\xab\xa9\x78\x6c\x15\x81\xf2\x84\x69\x8f\x24\x07\x43\x25\x3b\x98\xe4\xce\xf1\x1a\x79\xa0\xd1\x7b\xca\xf2\x67\xfb\x9f\x51\x3e\xe5\x0a\xcf\x0e\x2b\x7a\x4d\x1d\x55\xd1\x5d\xb9\x98\x22\xc3\x2e\x2f\xaa\xcb\xfd\x09\x76\x94\x95\xf4\x8c\x18\x44\xdb\x13\x52\x35\x57\x83\x79\x35\x2f\x86\x31\x93\xdd\xf8\xd9\x7b\x7a\xd1\x24\x23\x6a\xde\x07\x98\x1e\x59\x51\xe6\xb1\xc5\x80\x45\x1a\x29\x15\x2d\x2c\xfd\x1d\x4c\x9f\xe4\x3a\x3a\x85\x69\x0d\xc5\x75\x61\x98\xe2\xe4\x96\xe5\x23\x75\x8c\x9e\x2d\xa8\x48\x29\xc0\xbf\xae\x72\x21\x83\xd9\x43\x71\xf2\xb1\xef\x3c\xa2\xd2\x94\x39\x9d\x7f\xc7\x8c\x08\x52\xb2\xbb\x63\x13\xaf\x51\x86\xb3\x1d\x0d\x3e\x4d\xb5\xee\xc0\xc5\x56\x67\x76\x77\xbe\x18\xdf\xb6\x23\xed\x4c\xc2\xfa\x0c\xe1\xe5\x74\x7d\x42\x5c\x5f\x02\x3b\xc4\x93\xbc\x63\xfd\xbc\x6c\xa9\xeb\xf6\x3a\xd6\xc8\x4a\xc1\xa0\x29\xd3\xfc\x9e\x64\x0a\x99\x34\x1b\xd8\xb8\x87\x15\x33\x76\x5e\xc9\x12\x67\xa2\xc6\x7e\x45\x67\x6d\x12\xb9\x49\xbd\x33\x62\xe6\xe7\x4e\x3b\xe1\x66\x62\xda\xed\xa0\xd5\x25\x3b\xf9\xa2\xaf\xb4\x14\xe5\xbe\xad\x7e\x7b\xc5\xb7\xcc\x5a\xb2\x64\x8c\x59\x8b\x55\x65\xa2\x29\xe6\xe1\x36\xf3\xfa\xf5\x41\x4a\x30\x96\xad\x0d\xab\x7e\x1f\x0a\x49\x7b\xc6\x6d\x38\x1b\x5c\x86\x76\x21\xa5\x3d\x87\x56\xb0\x47\x78\x6d\x5b\x72\x36\xda\x66\x44\xbf\x64\x6b\x3b\x66\x90\x5a\x6d\xe7\x0c\x6f\xf2\x1c\xff\x31\xb7\x1c\x6e\x98\xe7\x77\xc0\x72\x7c\x30\xc1\xdd\x6c\x87\x61\x60\x96\xb7\xdb\xa2\xbc\x8b\xe9\xe6\xf7\xce\x7c\xfa\x05\x92\xdb\x0e\x93\xfa\x14\x33\xb2\xa5\x09\x9b\x16\xab\xfd\x9c\x09\x0f\xdb\x9a\xfe\x2f\x50\x18\xaa\x31\xec\xaa\xda\xe9\xf7\x75\x80\xca\xef\xee\xb5\x21\x03\xc9\x0d\x7d\x27\xaa\xbc\x53\xf4\xba\x4e\x25\x3a\xd1\xc6\xdb\x47\xc9\x1b\x97\xa7\x3c\x26\x47\x39\x16\xdc\x09\x1b\xc8\xc1\x7a\x47\x9a\x69\x98\x0e\x1c\xd5\xdb\x1b\x0d\x5d\x1f\xd7\x2e\xa8\x39\xf5\x85\x78\xf7\x97\x0e\x50\xe9\x5b\xa1\x49\x83\x46\xe5\xd2\x2c\x69\x62\x45\x5a\x86\x8c\xe0\x8a\x54\x40\x12\x07\x1b\x92\x43\x78\xfb\x96\x64\xa2\x25\x3a\xfe\x90\xa0\xe1\x90\x06\x79\x0d\x24\x48\x61\x9f\x95\xbf\x94\x7b\x5d\x6b\x9d\x18\x57\xd6\x38\xd1\xce\xa2\x82\x3a\x70\x3f\x16\x79\x64\x68\x4d\xfa\x90\x70\x21\xd4\xae\x00\xe3\xe8\xd4\xbb\x1e\xa2\x9e\x1f\xf8\x85\x7e\x20\xbb\x7f\x61\x7b\xe4\xf2\x84\x1a\x86\x02\xf9\x6a\x34\x34\x1f\x35\xd5\x24\x20\x8f\xe0\x34\x26\x49\x6d\x23\x2e\x5e\xf8\x1c\x8f\x45\xc8\xac\xe8\x4a\x52\xf2\x2a\x4d\x74\xcf\x63\x3a\x14\x8f\x47\xb5\xdc\x8f\x6b\x65\xe1\x5a\xee\x6c\x45\x2d\x9e\xfa\x2b\x5a\x9f\xa9\x5d\x53\xf5\xe1\x11\x47\x00\xd1\xb5\x87\x43\xf7\x51\x09\x70\x5b\x7d\x5f\x7c\x69\x34\xeb\x42\x64\x4e\x4b\x63\x49\x94\xb7\x2d\xb3\x97\xd6\x63\xba\x0a\xbf\x0c\xae\xa6\xd4\x62\x7a\xbe\xc3\x33\x55\xdf\xf8\xb7\x3b\x9d\xc7\x5b\x9f\x47\x9e\x12\x9d\x52\x5e\x18\x93\xda\x84\xef\x2b\x07\xae\xf7\xcd\x1a\x49\x53\x39\x5b\x9a\x51\x07\x42\xf6\x61\x59\x37\xfb\x04\xf9\xa5\x11\xb8\x83\x55\x5b\x43\x6f\xc9\xe6\xad\x82\x97\x28\x5b\x79\xc3\x03\x08\xd2\x89\x66\xdb\xc5\xbd\x78\x0c\xa3\x76\x67\x3d\x45\x5f\x6f\xb0\x06\x40\x65\x93\x6a\x75\x16\x49\x99\x44\x23\xa9\xa8\xa1\x90\x85\x24\xad\x62\xc5\xef\x8a\x3c\x5c\xf0\x01\xdd\x7c\xbb\xe6\x78\xe0\xe3\xa4\xd4\xca\x10\x30\x17\xbb\xc3\xa9\x37\x35\x29\x88\xef\x8d\xda\xb1\x50\x6d\xfe\xc0\xc9\x87\xbd\x02\x1d\x7a\xd4\x9e\x35\x23\x10\x47\x21\xfc\xe9\x65\x7b\xda\x0a\x8b\xb0\xfa\x33\xb4\x64\x2d\x4e\x2c\x0a\x9c\x66\x5f\x24\x20\xb6\x05\x87\x93\x7e\xa2\xf1\xf1\xf3\xf3\xe1\x42\xbf\x2d\x75\x92\x45\xac\x56\x73\x2f\xe4\x57\x15\xe6\xec\xa3\x4a\xe8\xd7\xc6\xf3\x9e\x9b\x42\xd3\xab\xf4\x87\x63\x56\xe1\x3a\x84\x52\x24\xbd\xbd\xc7\x26\xbf\x04\x11\x75\x69\xca\xa5\x69\x31\x04\xa1\xf5\x2c\x12\xd7\x0d\xfc\x28\xd9\x26\xa6\x2d\x83\x72\xa7\x5c\xc7\x3f\x0c\x05\xf3\x9f\xe6\x07\x79\x18\xbf\xf8\x5b\xcc\xd3\x30\xdd\x5f\xa3\xdf\x29\x11\x64\xb1\x6c\x87\xfe\xbb\x76\x37\x8f\xb7\x6a\xf8\x65\x27\x99\xf0\x28\x07\xc5\x77\x40\xea\x4f\xfd\xec\x74\xa9\xe0\xaf\x47\x5d\xc1\x8f\x6b\xae\xd3\xc4\x28\xd4\x65\x34\x85\xc4\xaa\x9b\x18\x48\xc1\x7c\xd5\x9c\xe9\x5e\x20\x22\x84\x70\x5d\x9a\xa0\xda\x09\x3a\xc7\x4e\xbf\x7f\x2f\x91\xf8\x8c\x04\x1a\x66\xf8\x88\x41\x86\xfb\xee\xd3\x6d\xd6\x6b\x29\xdd\x7f\xdb\xa0\x99\x26\xb4\xa1\xad\x51\xd7\x29\x83\x52\x69\x97\x17\xa7\x05\x6f\x0b\x7d\x7e\x96\x8f\x01\xb7\xa4\xb0\x85\x4b\xc3\x3c\x32\x7d\xf7\xd5\x2c\x75\x6a\x80\xbb\x78\x19\xeb\x4a\xda\xe6\xfb\x34\x49\x1a\x0a\x49\x91\x02\x5f\x74\x58\x9b\x47\x06\x75\xab\x8b\xcb\x7d\x30\xc3\xd1\xaf\xf3\xc0\x44\xba\x50\x7b\xd2\x90\x20\xc0\x25\x3c\x03\x34\xce\xd0\x83\x4e\xfb\x6c\xff\x3c\xef\xe9\x42\xb4\x8a\x15\xd3\x02\x67\xcf\x09\x74\xd9\xfb\xc1\xc8\x48\x71\x42\xbe\xd7\x7a\x2f\x5d\x82\x1f\x80\x8b\xb2\xb6\xba\x22\x0d\x0b\xf6\x22\xc9\x61\xfb\x8d\xa4\xae\x8f\xf5\x80\x8f\xd4\x97\xe0\xfa\xb8\xf5\x64\x2c\xb4\xcf\x8c\x6c\xe2\x7a\x9e\xf8\x1a\xc1\x9d\xa0\xee\xda\x2a\x91\xfe\xc9\x81\x0b\xdc\xcc\xe3\xc8\x36\x5c\x11\x6c\xd2\x0f\x5f\x31\x36\x51\x88\x85\xf3\xac\x1d\x71\x51\xc9\x17\x4a\xf1\x5f\xf8\xc9\x81\xea\x2a\x3a\x4c\x41\x4c\x6a\xb4\x05\x70\x9b\x9d\xbf\xfb\xe7\x1f\xb6\x2f\xb0\x39\x14\xf4\x58\x77\x64\xde\x75\xe2\x48\x38\x54\x77\x6b\x1d\xf5\xff\x7d\xbe\x06\x17\x79\xd5\x88\x8e\xbf\x74\xeb\x5c\xe3\x07\xad\xf8\xd2\xd6\xc6\x68\x00\x6a\xd3\x43\x8f\xe6\x91\x94\xe6\x60\xfe\x3d\xe1\xc4\xe0\x1d\x61\xf0\xa3\x02\x14\xe2\xd2\x43\xe4\xaf\xb3\x5c\x91\xab\x91\xf5\x1b\xec\xac\xf0\xa3\x21\xa8\xff\x0d\xee\xc0\x9a\x69\x26\x36\xe3\x89\x5e\x15\xd6\x02\xab\xd1\xd0\x7f\x90\x50\x3c\x83\x99\xf1\xce\x83\x3c\x31\xdd\x65\x29\x4a\x66\x72\x8e\x6b\x63\x20\xea\x86\x3d\x91\xc5\xc9\x01\x25\x3c\x6e\x3e\x1d\x2a\x3b\xcf\xd6\x7b\x2b\xb8\x3f\xb4\x40\x75\x0f\x5d\x3a\xd4\x22\x3e\xb8\x14\xec\xa4\x1c\x50\xe0\x11\x39\xae\xfc\x5c\x11\xc5\x53\x5c\x1e\xec\x8a\x07\xa7\xd1\x79\xf4\xcf\xc3\x1f\x9d\x36\x79\x56\x2a\x6a\xa8\x85\x9e\x1d\xe9\x9d\x96\xe2\x5b\x1f\x89\x4e\x7d\xb1\x81\x0b\x22\x0d\x2a\x1b\xd3\x39\x40\xab\xf8\xbd\x47\xd4\x01\x67\x24\x39\x0a\x54\x7f\xc4\xdf\xc5\x8c\x93\x6f\xbb\x74\x29\xb3\xfc\x0c\xbd\xe7\x09\x44\xe3\x97\x81\x13\x83\x74\xa8\xfa\xb0\x28\xed\x7f\x62\x43\x66\x8d\xc4\x05\x67\xe0\x79\xf4\x35\xa9\x4a\x8f\xee\x72\xa0\x08\x06\x5a\x0e\xeb\xee\xd3\x15\x89\xe5\x5d\xe3\x49\x4f\xb3\xb2\xf1\xb2\xe0\x09\x9f\x2c\x41\x9f\x45\x0a\xdf\x47\x5b\xc4\x02\xdf\x1d\xae\x7b\xa2\x11\x23\xa5\xb6\x7c\x78\x5e\x2a\x9e\x78\x0f\x95\x69\x99\xf0\x20\x12\xb5\xbb\x6b\x29\x8c\x7f\xc9\xd7\xbf\x98\x1d\x84\x35\x04\x0a\x31\x2b\xa3\x4a\x3a\x54\xd7\x2d\xe7\xc3\x7b\x1c\x36\x7a\xf4\xcf\xd9\xe3\x3d\x30\x9e\x18\x71\x1e\x49\x09\x6e\x1b\xa0\xaa\xd6\xee\xb5\x7a\x46\xc8\x5a\xf2\x8b\xfd\x11\xaf\xbc\x0a\xd2\x24\x3f\x74\xe5\x9f\xdb\x0c\x61\x17\x07\xfa\x99\x1e\xca\x2e\x0d\x7c\x56\x7a\x48\xcb\x5a\xfd\xd0\x76\x2e\xf4\x3d\xcb\x47\x36\x68\x2b\x87\x25\xbd\x97\x74\xb2\xe4\xc1\x04\x6f\x4e\xbe\x49\x01\x28\x47\x9e\x7a\x72\xf9\xd1\xef\xb0\x81\xa1\x35\x79\xf0\x8f\xd8\x5f\x07\x43\x9a\x8e\x67\xdc\x59\xf2\xd1\x68\x9f\xcb\x2f\xef\xb5\x26\x7a\x45\xf0\x16\xff\x31\x97\xe7\xb6\x45\xdb\x27\xbe\x62\x0a\x6f\xd9\xb0\x5d\x33\x52\xdd\x5c\xfe\x07\xb0\xf2\x26\xce\x1d\x41\xef\xa2\xde\xb0\xc9\x3f\x68\xdc\x74\x6b\xa2\x64\x8c\x5d\x70\xac\x90\x67\x37\x99\xc2\x15\x6e\xae\x6f\xc1\x72\xb0\xc9\x50\x26\x73\xdc\x85\x46\xb4\x39\xae\x23\x85\x1b\xff\x4d\xd3\xf6\x44\x72\x61\xa6\xa8\x5c\x31\xab\x8c\xfe\xee\x6e\x06\x44\xd2\x71\xf2\x48\xfc\xaa\xee\x85\xab\x43\xde\x78\x18\x88\x2c\x8e\xe5\x4f\x39\xcc\x85\x63\x14\xe5\x30\x34\x24\x6b\xb2\x34\x19\x57\x15\x54\xd0\x6e\x98\x8d\xd9\xdc\x2f\x5c\xd2\x12\xe9\x1c\xae\xb3\xc0\xfd\x6a\x4f\xd0\x71\x8f\x6f\xb8\xfc\xd5\xc7\x06\x46\xe5\x2d\x7d\x61\xf8\x4e\x4e\x72\xad\x64\xc8\x73\x86\x43\x17\x97\xbe\xe9\x0b\xcf\xc5\x7e\x69\x38\xdf\x12\xab\x93\x64\xc1\x94\x93\x36\x53\xef\x08\x07\x67\xd2\x56\xbf\xcb\x4e\x87\x9d\xa8\xc2\x31\x88\xe1\xad\xf2\x3f\x62\xa6\x22\xfc\xa9\x9b\x74\x75\x93\x69\xaa\x34\x32\x5a\xb9\x9f\xc0\x96\x47\x01\x0d\x82\x90\xb7\xa7\x2c\x74\xd3\x09\x1b\x00\x91\xab\xf5\x03\x1b\x43\xee\x64\x5b\xeb\x79\xca\x49\x9c\x48\x23\x50\x49\xd3\xea\x5f\xf0\xcc\xa7\x4d\xd8\x09\xea\xbc\x89\x97\x55\xd2\x5a\xec\x55\xbb\x50\x9f\x9a\xc4\x3a\xda\x8d\xa1\xb9\x7c\xf2\x4d\x20\x74\x80\x86\xf2\xd0\x18\x7f\x98\xe8\xa6\xb8\x8a\xf4\x46\xc9\x8e\xc6\x9f\xc3\x1a\xa1\xe9\x5e\xd2\x0f\x68\xc6\x93\xf6\x43\x10\xf3\x50\x6a\x28\xf2\x9d\xd6\x93\x85\x6a\x77\x08\x1a\x7b\xb9\xdf\xd8\x2b\x6a\xf6\x17\xde\x33\xa8\xdd\x9a\xc3\xd9\xc6\x03\x4a\x1a\xdf\xfd\x56\xa3\x69\xbd\x5c\x17\xae\xd2\xc5\xe0\xd6\x8d\xf7\xe1\x6e\xdc\x32\xf6\x87\xa5\x5e\xfb\x05\x2d\xdd\xc6\xb1\x4b\xdf\x8c\x9f\xd6\xb6\xda\x2e\xf3\x3a\x24\x94\x11\xc4\xd5\xff\xc5\x03\x6e\xcf\xbc\xbb\xbc\x5a\x89\xcd\x77\x9f\xd0\x8e\x03\xec\x6b\xe1\x78\x53\x28\x07\x64\x43\x45\xae\xbf\x05\x17\x64\xfa\x7c\x14\xb5\xc7\x99\xeb\xd7\xa6\x7c\xd6\x51\x6d\xf8\xdd\x30\x2b\xa9\xe3\xf3\x50\x27\xd2\xf8\xc3\x1e\x13\x92\x3b\x54\x16\x27\x91\x8d\x73\x14\xe1\x5a\xc8\x4e\x00\x79\x48\x3f\xde\x99\xe4\x45\x72\x2b\xa2\x23\x9e\x71\x14\xbf\xb1\x52\xab\x6d\xf8\x61\x4d\x7b\xf4\x01\xa5\xb0\x6b\x34\xf3\x52\x34\x79\xc6\xf5\x41\x3c\xd8\x1c\x32\xab\x02\xf2\x9c\x77\xd2\xf5\xcf\x49\x7c\xcb\x6a\x80\xa0\x75\x07\x16\xdb\xe0\x95\x26\xb4\xde\x7a\x47\xb0\x7b\x52\xad\xab\xd2\xc4\xd1\xc1\x37\x9a\xdc\x08\x24\x2c\x60\xf6\x13\x09\xf4\xcc\xe9\x8e\x1d\x6a\x87\xc0\x97\x97\x3c\x6e\x6e\x41\xef\xbd\x0c\xb1\x51\x20\x6d\xe8\xa9\xf3\x8c\x98\x65\x55\x22\xff\xca\xd5\xbc\xbb\x86\x72\x8f\xba\xa1\x44\xcb\x30\x42\x4c\xbd\xbc\xb5\x0b\x43\x32\xe9\xc3\x35\xf1\xa8\xa0\x69\x25\xc8\x6e\xa4\x92\xd7\x7e\x55\x02\xc5\xea\x2d\xe6\x44\xbd\x79\x0b\xdf\x68\xa6\x2e\x03\x09\x3f\x3f\xfb\xed\x89\xf5\xed\x25\xa0\x0f\xf0\xcf\x60\x03\xcb\x82\x30\x03\x86\x18\x6a\xbf\xdd\xed\x7e\x91\x6e\x45\x03\xdb\xf9\xd1\x01\xe4\x5d\xf9\x39\xb2\xf9\x34\xf1\xe9\xc2\x87\xa9\x73\xcb\xa1\x53\x6a\xa1\x6e\x68\xa4\x3c\x42\x76\xa2\xd1\xd5\x3b\xce\x26\x42\xc1\x5d\x55\x43\x77\xfc\x89\xf3\x32\x6d\xd1\x92\x3e\xf4\x30\xfd\xf8\xc7\x2a\xab\xb8\x0e\xdb\x81\xab\xd6\x35\x50\x05\x88\x74\xc5\xdd\xcd\x5e\x72\xab\xd8\xa1\xdb\x14\xfa\x43\x0b\x73\xb2\x9b\x44\x4e\xa8\x2b\x64\x16\x26\xd1\x3d\xaf\x4a\x0a\x69\x68\xc3\x88\xd8\xcc\x8c\x9e\x4f\xcf\x11\x3f\xc7\xef\x33\xbb\x02\x3d\xd8\x18\xa1\xa1\xcc\xcf\x45\xd4\x5f\x38\x30\x85\x16\x32\x03\xd2\xa3\xbb\xd6\x03\x03\x9b\xc2\xfb\x8d\x9e\x96\xdf\x88\x21\x39\x7e\x3d\x10\x33\x18\x6e\xcb\xce\x8a\x75\x80\x1a\xca\x54\x0f\x1b\x1a\xdd\x9c\x54\xaa\x00\xb9\xc7\x5f\xf1\xe8\x43\x5e\x62\x73\x79\x3b\x57\x86\x5b\xfb\x25\xa8\x25\x3e\x33\x48\x7c\x9f\xed\x91\x03\x15\xb5\x91\xd1\x93\x7b\xea\x81\x77\xad\x5e\x5e\x21\x8d\x82\x98\x07\x79\x62\x2f\xf4\x2f\x9c\xe8\xf8\x37\xc1\x80\xb7\x7f\x97\xda\x13\x79\x0b\xac\x63\xed\xb1\x8b\x43\x8d\x53\x3c\x3b\x0a\x6d\x3a\xee\x8e\xfc\x51\x33\x51\x5a\x65\x35\xa3\x11\x53\x46\x70\x78\xb7\x89\x9e\xcf\xf7\x52\xd1\x0e\x6a\xd6\x14\xd2\x82\x12\x47\x59\x68\x0e\xeb\x93\x78\xd9\xa9\x6b\x57\xd1\x5b\x8c\x86\xd8\xec\xc8\x9f\xc9\x76\xb2\xe5\x72\x46\x4e\xe1\xea\x4f\xef\x09\xd7\xd0\xd3\xa5\x93\xa5\xa4\xfd\xef\x86\xf2\x67\xfa\x80\x60\xdd\x87\xc9\x4c\x3e\x06\x41\x70\x66\x73\xd1\x10\x16\x0d\x5a\x0b\x84\x73\xc7\xe8\x41\x77\x50\xfd\xa7\x06\x72\x73\x1e\xb0\xfa\xfd\x67\x34\x18\x10\xf6\xe7\x7c\x79\x80\xe6\xe7\xf8\xff\xae\x51\x9d\x28\xcf\x8b\x1a\x8d\x68\xfc\x8f\x66\xe7\x88\xf4\x32\x9e\xf7\x7e\xa2\x44\xa4\xab\x8d\xbb\x53\x6b\xb3\xb6\x0b\x2d\xf6\x9f\xfb\xdd\xf5\xe7\x27\x22\xd1\x8f\x4b\x61\x8f\x2e\x0d\x78\x79\x9d\xa7\x01\x78\x73\x49\x12\x51\xa4\xeb\x35\x4f\x47\xac\x3b\x72\xd8\xa5\x4e\x9e\xb4\x41\xcd\xcf\xd6\xee\x85\x79\xa5\xae\xb5\xcb\xfb\x75\x94\x05\x9e\x5b\x9b\xe1\xab\x32\x01\x4c\x12\xfb\x03\x84\xb7\x42\xf9\x3a\x35\x95\x6c\x5f\xa8\x3e\xde\xa8\xcf\x12\xfe\xcb\xf0\xf0\xad\xfe\x35\xff\x4e\xbf\xcb\x56\xb9\xdb\xef\x7b\xcd\xc6\x67\xdc\x23\x3f\xc7\xf1\x99\x7d\xf8\x65\x24\x51\x47\xff\x33\x37\x15\x5f\x75\x0b\xb1\xfb\xe2\x89\x30\x5f\xcb\x32\x27\x6b\xaf\x7e\xe4\x17\x47\x11\x7d\xdd\x84\xbe\xc7\xa9\xdf\xbf\x30\x4b\xfe\x39\x5e\xd2\xfb\x45\xf0\xc2\xe8\x2c\x52\xbe\xa4\xc6\x6a\x3e\xcd\x18\x56\x9c\x02\x78\xf9\xd4\xf1\xbf\x77\xd7\xfa\x6b\xc4\xf3\x85\xc9\xd1\x4e\x08\x9b\xd0\x47\x97\xf4\xe3\x14\x2a\xcb\x86\x0b\xcd\x15\xb9\x68\x9f\x06\xdd\x77\xb4\x9e\x12\x82\x29\xc1\x87\x67\xc0\xeb\xa3\x0b\xb0\x68\x0f\xb6\x5a\x91\xbf\xdc\xa2\xb4\x15\xbd\x6e\xd2\xf0\xf8\xdc\xd9\x92\xf0\xa5\xb7\xbf\x91\x12\x5a\x90\x98\x64\xcd\x34\x64\xf1\x4a\x55\x8a\xb2\x6d\xcd\x66\x3e\x8f\x78\xec\xb2\x2e\xb0\x13\xb9\x80\x6c\xb1\x70\xb7\xbd\x23\x8a\x58\xf8\xda\x35\xdc\x54\x3a\x2d\xf0\x99\xa1\x65\xec\x08\x20\x66\x48\x0f\x4a\x62\xac\x6d\x9c\x5f\x60\x77\x28\xe3\x3c\xed\x86\x70\x65\x02\x3b\x38\x10\x93\x12\xe2\xcc\xd2\x5c\x04\x79\x44\x61\xa2\x1f\x2b\xa7\x1a\xae\x55\x46\x41\x42\x05\x20\x2b\x7c\x1e\x65\x9e\x6e\x61\xb5\x18\xd3\x05\x36\xce\x54\xa8\x6c\x1b\x09\x9c\x39\x7c\x40\x5b\xfe\x00\x95\xab\x48\x64\xda\x4f\x07\x92\x5d\x8e\x09\x54\xf7\xa6\xb7\x5b\xfb\xf9\x52\x77\x73\x19\x3a\x7a\x7a\xad\x10\x0e\x8f\x3e\x2d\x7d\xd0\x22\x38\x53\xea\xfe\xa3\x77\xb9\xd2\x42\xef\xf0\xe6\x1a\x54\x7b\xfa\x0a\xfb\xd8\xb2\xcd\xf6\xfc\x00\xb5\xb9\x42\x49\x2d\x36\x33\x1b\xf5\x1f\x27\x11\xa3\x8b\xa8\x41\x91\x97\x07\xee\xce\x6d\x92\x36\xfa\x57\x1f\x9b\x9e\xa2\x69\xc7\x56\x2f\xdb\x92\x83\x4b\x62\xe4\x53\x3b\xb7\x23\x19\x7c\xa8\x5e\x54\xa8\x74\x42\x94\xbd\x18\x7f\xc1\x9f\x92\xe4\x21\xc7\x68\xb5\xc3\xc0\x27\xf5\xd9\x62\x67\x90\x79\xcf\xdb\x29\x44\x76\xd9\x01\xc1\xfc\xb8\x60\x22\x19\xf7\x2d\x55\xc9\x19\xdd\xe6\x46\x25\x71\x23\xda\xeb\x4a\x1a\x63\xf0\x23\x60\x69\xda\x87\xb1\x41\x24\xff\xb2\x67\x3f\x1d\xd7\x35\x45\x33\xd4\xd0\x89\x95\x57\x90\x3b\x97\xbe\x72\x79\x01\x09\x97\x78\x8c\xd2\x62\xfe\x5a\x68\x31\x4f\x79\x36\x96\x83\xd4\x3e\x51\x9f\xf5\x16\xf8\x92\x4d\x38\xb0\xa8\xb6\x1f\x0d\xbd\xe6\x85\xbd\x1f\x58\x2b\xff\xa0\x61\x74\x85\xee\x05\xbf\x2c\x45\x95\x07\x3b\xc4\x6f\xea\x1f\x6c\x5e\x9e\xbe\xc8\x6c\x7f\xa8\xeb\xb2\xf1\xa8\x1d\xde\xdc\xfe\x9f\xfc\xa6\xf4\xba\x6f\x8a\xb3\xbe\xd8\x8e\x1e\x8e\xad\x33\xd3\x5a\x3b\x1c\x45\xb6\xdf\x4a\xbc\x83\x84\x0f\x2d\x35\xa2\xee\xca\xad\xee\xca\xad\xee\xca\x2d\x2b\xec\xe4\x8b\xae\x25\x0e\xd9\xf5\x42\x16\x48\x4c\x92\x75\x4a\xa7\x35\x1e\x5c\x14\xd1\x04\xdf\x5f\x67\xae\x75\xcd\x19\xc4\x9e\x8a\x56\xb4\xad\xf5\x73\xa1\x12\x47\x35\x2a\x8d\xaf\x14\xf8\x4a\xe8\xdd\xbb\xf7\x55\x78\xbd\x21\x2d\x2e\xa3\x44\x03\x62\x1c\x59\x59\x65\xfe\xbf\x6e\xe1\x3e\x86\xea\xd3\xbe\xaa\x64\x22\x6e\x53\xc3\x7a\x0d\x3a\x16\x2a\x09\xf3\x69\xb1\xe6\xc1\x55\xa2\x84\xa1\x41\x5e\x4b\xd5\xef\x69\x2c\xc7\x42\x8c\x6c\x6d\x04\xcc\x54\x92\xae\x2c\x76\x92\xff\xe8\x61\x51\xe1\x95\x74\x06\x1c\x33\x65\x64\x5b\x52\xd0\x0b\x65\xb9\xeb\x60\x84\xdc\x60\xad\xbb\x6a\x37\x69\x3c\xc3\xf1\x32\xff\xa7\x9f\x82\x38\xa8\x82\x1e\xfd\xab\xfd\x48\xdd\xbd\x2f\x41\xff\x85\xa1\x2c\x26\xc8\x74\x2a\xc1\xab\x6b\xda\x3a\x88\x78\x77\x82\xf8\x0e\xac\xca\xc5\xbf\x4a\x02\x5c\x15\xb1\xd8\x3f\x14\x55\x72\xe2\x86\x6f\xf3\x34\x27\x97\x0e\x8e\x7e\xe6\x84\x78\xfe\x8f\x36\x88\xf9\x91\x27\x7f\x69\xc1\xea\x16\xa2\xcf\x15\xed\xb1\x90\x39\x1a\x83\xe2\x43\x62\xd4\x30\x57\x02\xb7\x10\xa6\x63\xf3\x3e\xcc\x2a\x61\xfc\x2c\x1e\xd5\x55\x90\xee\x83\x5d\x99\x9d\xa1\x2f\x80\xaf\xc7\x50\xa0\xe6\x7b\x33\x14\xe9\x0b\xad\x8b\x1c\x30\x42\x67\xda\xb6\x50\x37\x3e\xb4\x2c\x2e\x23\x0a\x6b\x3b\xfa\x77\x6d\x81\xc3\x52\xa4\x9f\x5a\x21\x1e\x00\xdc\xdf\xb0\x3c\x3c\xa1\xcb\x70\xd4\x20\xde\x9c\x94\x04\xcb\x4c\xbb\x12\xa5\x68\xaf\x45\x8a\x30\x9f\xcd\xb7\x4d\x52\x56\xb0\xf6\x3c\xbc\x2b\x34\xe9\x9a\xd7\x9c\xd5\xad\x49\xdd\xad\x4b\x76\xe2\xb9\xa4\x01\x37\x38\x88\xa4\x52\x5a\xbf\x95\x9b\x15\xd5\x7d\x78\xd6\x82\x64\x3e\xca\x8c\x75\x57\x59\x9e\xf8\x3e\x40\xe5\x6b\x59\xaa\xab\xed\x9c\xa2\x26\xba\x05\x61\x0e\xb4\x48\x9c\xd1\x97\xeb\x75\xdb\x65\xbc\xf4\xaf\x3a\xe3\xc4\xf9\x3e\xbc\xcc\xa1\x70\x7d\x51\x10\x9c\x9e\x2f\x25\x81\xf8\x7c\x4f\x2b\x74\x91\xfe\x92\xa6\xa8\x27\x7b\x0a\x11\xc4\x91\xa6\x28\x08\x6c\x83\x5c\xc3\x0c\x48\xe5\x7e\xd2\xd5\xa2\x78\xb0\x22\x5a\x04\x7c\x3a\xca\xf3\xa3\xe5\xf8\x8f\x7b\x0f\x04\x65\xf7\x05\xa7\xa5\x29\xc0\x7a\x1d\x36\xdd\x66\x2e\x66\x15\x26\x28\x54\x90\x2b\x55\xf8\xe0\xd2\x7c\x0e\xd4\x54\x6b\xba\x3c\x6d\x86\xe2\x8c\xbc\x1a\x47\x9a\xb7\x84\x49\xd2\x36\x2d\xee\xd1\x66\xd7\xdc\xe7\x7b\xb5\x68\x0e\xdc\xbf\x43\x21\x01\x8a\x12\xe6\x5f\xe9\xf0\x03\x5f\x08\x33\x9c\x1a\x56\x7c\xf5\x30\x70\xe8\xc6\xba\x4b\xb9\xe4\xa1\x40\x66\x77\x90\x35\xf4\x88\x00\xef\x61\xd7\x74\x67\x1a\xc8\x49\x28\xba\x64\x28\x3f\x0d\xa7\x58\xda\x89\xfd\xcf\xd1\xb6\x8c\xc4\xb9\xc1\x70\xe9\x11\x28\x52\x6f\x84\x5c\x38\x6c\xd5\xe2\x3b\x2d\x9d\x51\x07\x75\x57\x8c\xe1\x21\x8c\x98\x97\x69\xd3\x65\x6b\xb5\x0a\x1d\xcd\x9b\x81\x63\x27\x89\x18\x8e\x7d\x49\x42\x2c\x0e\x79\x9f\xce\xe7\x22\xea\x52\x84\xdc\x62\xf2\x24\x9b\x9c\x49\x07\x2b\xbc\x2c\x99\xfb\x5e\x94\x56\x84\x00\x36\x5c\x73\xca\xf9\x87\xb8\xd2\xee\xfb\x94\x06\x60\x6f\xc4\x41\xb6\xdc\x67\x96\x1a\x9c\x20\x7b\xbd\x58\xf4\x58\x16\x96\x04\x0a\x92\xc2\xff\xd3\xd3\x84\x8d\xd3\xda\x5a\x63\x57\x9e\x47\xc6\x36\x30\x40\x84\xa1\x90\xef\xcd\xbe\x34\xa2\xfd\x47\xfd\xe9\x90\x45\xc5\x77\xc6\x00\xfc\x2e\x9b\x97\xb5\x87\x72\x02\x61\x10\x0e\x1e\x30\xe0\xe1\x3c\x71\x06\x4b\x02\xf8\xd4\x50\xcb\xa7\x9b\x04\x4f\x0a\xca\x3f\xdf\xc5\x4b\xd1\xd9\xfc\xb2\x20\x16\x2a\x85\x14\x43\x4c\x94\x66\xd9\x35\x29\xbf\xa9\xd2\x9c\x66\x25\xde\xb4\x5b\x6b\xfb\x30\xa5\xb3\x56\x2e\xe0\x64\xfc\xfb\x94\xbc\x2e\x3c\x79\x96\x45\xcc\xe1\xab\x10\x70\xe1\xec\xb8\x80\xba\xce\x17\x40\xcf\xd7\xa3\x8e\x48\x8e\xaf\x82\x7d\x79\x6f\x8f\x06\x29\xdc\xd2\xf1\xff\x1c\x8f\xe4\x22\x98\xad\xa5\xb2\x57\xe2\x6b\xbe\xd4\x0b\xca\x29\x03\x21\x3d\x7f\xdb\xe4\x02\x1e\x1e\x2a\x66\x60\x5f\xa4\x20\x2f\x54\x9f\xbb\x21\x9b\x30\x08\x75\x12\xdf\x5e\x63\xda\x43\x5e\x42\x76\x19\xb7\x32\x1c\x45\x0f\x7f\xd4\xf3\x53\x20\x30\xa9\xd1\xb0\xba\xd7\x29\xa2\x5b\x83\x6f\x9a\x50\xae\x0e\xd1\x45\x2d\xdc\xa1\xdf\x30\x9d\x7c\xc8\x38\x9a\x9c\x82\xd3\xe9\x02\x0d\x01\xca\x6c\x97\xad\x6b\x32\xb9\xc8\xcc\x1a\x95\xce\x98\xbf\x2e\x1d\x2f\x5c\xd9\x48\xce\x3a\xfc\x54\xbe\x71\x84\xfa\xdd\x7c\x88\x5f\xa4\x80\xc5\x25\x1e\x3a\x67\xd6\xcb\x50\x47\xc9\xb7\x1d\x8b\x39\x2d\xb2\x90\x2d\xc6\xb2\x7d\x48\xd5\x32\xd8\x70\x45\xee\x37\x71\xd7\x52\x34\x93\xea\x15\x83\x6a\x68\x86\x10\x88\xe4\xfc\x9e\xc5\xac\x4b\xbf\x4f\xeb\x6d\x11\xc8\x31\x5f\x68\xa2\x72\x4d\x34\xb5\x56\x3d\xae\x74\xce\xf5\x92\x04\x13\x6a\x29\xa6\x63\x71\x74\x01\xf2\x55\x16\xcc\x52\x8f\xb2\x43\xe5\xed\x72\x49\x73\xd9\x4d\xd8\x71\x90\xb7\xd5\x5a\xb2\x2b\x12\x55\x8b\x30\x3a\x73\x0a\xf2\x82\x1c\x8c\x05\xdb\xb9\x15\x4a\x6f\x7a\x14\x81\xa6\x7f\xd7\x64\x7f\xf4\xba\x18\x8a\x1a\xd3\x23\x70\x01\x1f\x9a\x70\xb0\x6c\xcd\x95\x6b\xb5\xe4\xf7\xcb\xe0\x71\xe1\xee\x81\x48\xdd\xce\x99\x02\x36\x39\x70\x9e\xa8\xa9\xa9\x5b\x3c\xb0\x1a\x06\xbf\x9b\x34\x5d\xd5\xc9\x75\x4c\xcd\x8e\x50\xec\x06\x59\xb9\x53\xc6\x4d\x5a\x02\x14\x59\x35\xde\x50\xff\xac\x8c\x68\x2c\xf5\xe3\x1e\x64\x25\x43\x5e\x42\x7d\xf7\x59\x0c\x58\x6c\xf5\x13\xfe\x6d\x96\x1a\xe7\x0d\xbe\x1c\x44\xdb\xe4\xfa\x36\x10\xef\x88\x40\xd7\x2b\x1d\xaf\x84\xa9\x31\x74\x78\xcf\x9e\x23\x0a\x31\x23\xa2\x1b\xba\x2d\x0c\xfc\x83\xbf\xda\xf1\x84\x38\xd8\xeb\xa5\xbf\xe2\x61\x9c\x1e\x45\xa6\x6b\x55\x17\xc6\xbf\xb5\xf2\xe8\xee\x96\x09\x54\x34\xa1\xb7\x78\x0a\x17\x0d\xb5\x83\xc4\xfb\x6a\x8d\x3a\x2c\xf3\x49\xa2\x58\xa0\x15\x44\x2d\xc2\x3c\x2b\xb6\xfb\xad\x6a\xcb\x14\x81\x2f\x8b\x95\x7c\xc1\x89\x06\xe4\x4b\xc5\x45\x4d\x15\xe8\x3a\xf3\x65\xd7\xa6\x32\x25\x64\x06\x4d\x95\xeb\xdf\xb2\x12\x1f\xff\x04\x17\x53\xa2\x62\xe2\x95\x20\x17\x35\x79\x44\x83\xf4\x31\x6a\x8c\xed\x8f\x2d\xbc\xf7\xf5\x94\x55\x55\x18\x6f\xb6\xfb\xda\x09\xbc\xab\xe9\x96\xf1\x14\x96\x4a\x32\x29\x98\xc0\x6d\x5e\xfc\xc1\xf2\x0a\x93\x9e\xf5\x4d\xb9\xac\xf9\x8d\xfe\xae\x2f\xf7\x7d\x2d\x63\xdd\x89\x33\xca\xe8\xe3\xd3\xa9\x2c\xc8\x7b\xc1\x94\x50\xdd\x74\xd8\xcd\x67\xb1\xf1\x7b\x5e\x1f\xae\x2f\xad\x7c\xa8\x3a\xde\xe4\xd5\xcf\x93\x6c\x64\x18\xaa\x49\xa9\x3c\x61\x95\x74\xe5\x2e\x7e\xf2\xee\x90\x4f\x32\x23\x96\x3b\x97\x62\x81\x73\xdc\xe1\x89\x4a\x3e\xe2\xfc\xc7\x22\x83\x5b\xdd\xdf\xd5\xc9\xfa\xdd\x47\xb8\x8b\x92\xff\x99\x7e\xce\x52\xa4\x69\xab\x93\x6e\xeb\x0f\x3a\xd5\xae\x39\x94\x82\x72\x28\xea\x90\xbf\x59\x9d\x04\x33\xb8\xcd\x10\x57\xdd\xb5\xc9\xdc\xf6\x73\xe5\x01\xff\xb8\x6b\xf5\x70\x28\xee\xf1\x19\x47\x18\xa7\x05\x6d\x26\x83\xb2\xc2\x59\xba\x73\xdc\xa8\x0f\xce\x45\xba\x16\x5d\x55\x2b\x74\x9a\x26\xf9\xf3\xb9\xdf\x64\x2e\x4f\x04\x70\xf4\x0f\x37\x1b\x6a\x92\x6c\xca\xa7\xc6\x2a\x3d\x81\x11\x59\xed\x2d\xad\xf5\x15\x2d\x43\x85\x67\x38\x08\x63\x9b\x4a\x42\x0b\x16\x86\xf8\x00\x9d\x95\xfd\xc0\x5d\x8e\x05\x1c\x3a\x1b\xcc\x78\xf1\x6e\xa9\xa3\xbf\x47\x39\xfe\x37\x13\x22\xfa\x0d\x2f\xe0\xdb\x7d\xd7\xcf\xae\xe7\x65\xf9\x84\xae\x27\x87\x90\x0c\x79\xed\x60\x09\x95\xf4\x16\x6e\x93\xa6\x70\xbd\x6f\x89\xe9\xb8\x44\x27\x3d\x42\x4c\x85\x69\xf9\xea\x2a\x8a\x9d\x22\xcb\xe7\x62\x49\xb5\x10\xe1\xfb\x72\x97\xe4\x98\x61\xb7\xde\x6a\x81\x47\x8e\x9b\x7c\x09\x0e\x2a\x9d\x75\x5e\xea\x1e\x92\xda\xa5\x11\x3d\xd8\x6d\xa4\x59\x53\x7a\x4e\x6e\x7a\x78\xcc\xf7\x3a\xc4\x68\xca\x6c\x7f\x53\xc6\xc2\x93\xe4\x17\xf9\xbd\x3f\x5d\x38\xed\xfa\xc6\x09\x4b\xa5\xe1\xb3\x5a\xf2\x7b\xb1\x2b\x91\xc5\x9d\x8b\x83\xe6\xbf\x90\x54\x33\x9d\x59\x0a\x99\x20\xff\x87\xac\xd5\x80\xea\x35\x0f\xad\x39\xcd\xbd\x10\x79\x13\xba\x96\x2d\xe9\x2e\xed\x8a\x3b\x65\x75\x7d\xa1\x5a\x23\x0c\x4b\x0c\x0d\x6b\x51\xe1\x25\x33\x14\x11\x1c\x2e\xc4\x7a\x12\x63\xd9\xc6\x4d\x9a\xdf\xec\xae\xfe\xbd\xda\xed\x86\xac\xd8\x41\x0b\xd1\xe5\x0f\xf0\x53\xc6\x1d\x37\xc0\xeb\x75\x28\xd8\x47\x2f\x95\x6a\xb9\x99\x59\x22\x2f\xfb\x65\x31\xb9\xa2\x86\x1a\x23\xb9\x17\xff\xcc\x97\x92\xc7\xa9\x77\xd2\x2b\x58\x1c\x54\x8d\x0a\x7d\xf1\x5b\x71\xa9\xe2\x9b\xf3\x51\xf9\xa0\x6d\x6c\x77\xf4\xe7\x1f\xd1\x06\xfd\xf2\xf2\xb8\x51\xe8\x2a\x88\x06\x94\x0e\xd3\x7b\x43\x41\x56\xd4\x2b\xa6\x5a\x73\xe6\x18\xa6\xcb\xef\xa0\x1d\xf5\xc4\x7b\x25\x7b\x9c\x97\x90\xf4\xbb\xb4\xf9\x48\xaf\x2c\x44\x94\xf1\xe3\x40\x80\xce\xa2\x44\x8b\x52\x84\xba\xf7\x2c\xe3\x75\x11\x42\xa6\x1d\xf7\xfb\x42\x2c\xeb\x00\x98\xee\x4a\xc5\x57\xa9\x98\x9a\xd8\x2a\x84\xb9\x21\xd3\x45\x6d\xc5\x91\x4f\x0e\x94\x50\xc5\x69\xca\x2e\x33\x5c\x81\x2a\x79\x2c\xb4\xa7\xa8\x3c\xcc\x12\xf3\x03\xb2\x84\x75\x0a\xda\xe2\xae\xed\x4c\xf0\xc4\x2b\x6c\x1a\x58\x91\xc9\x66\x04\x5e\xb7\x06\x98\xf0\xab\x82\x62\x0a\xc2\xd0\x3a\xcd\x0d\x9a\x52\x86\x42\x31\x1a\xed\x32\xc8\x85\x44\xb6\x14\xf8\x2b\x0a\xda\xe3\x0f\x4e\xb3\xbb\x23\x70\x7c\x3a\xc7\xe9\xb7\x91\xc0\xb7\xa9\x86\x2a\xda\x6d\x00\xa0\x1d\xd7\x59\x5e\x0b\x46\xb3\x25\x0e\x0a\x64\x75\x2f\xb7\xae\x93\x62\x60\x95\x54\x4e\x84\xc5\xde\x8a\xec\xb0\xd1\x96\x55\x05\x76\x02\x0e\x23\x30\x34\xdf\x2b\xa5\x89\x1b\x1d\x89\x88\x2e\x8f\x31\x36\x33\x44\x05\xdb\xcc\xea\x2e\xaa\xc1\x52\xab\x3e\x95\x6f\x78\x66\xbb\x76\x72\xda\xec\x70\x8d\x6b\x7d\x90\x09\x78\xfe\xde\xcf\x68\xaf\x95\xc5\x63\x34\xe3\x85\x77\xae\x85\x76\x6b\xa0\x4c\xe0\xfb\x92\x14\x41\xe5\x4f\x25\x00\x6a\xbf\x6d\xdb\x50\xfe\xdf\xf3\xfa\x70\x1d\x8a\x37\x41\xc3\x4f\xef\x4f\x34\xc2\x3f\xcd\xc8\xeb\xfb\x53\xa6\xb1\x0e\xfa\xda\xad\xda\xea\x6e\xdf\x4c\x76\x90\xe2\xc8\xee\x39\x2f\x76\xef\xc9\x06\xb8\x34\x8e\x4a\x51\xd8\x2e\xc4\x55\x6f\x24\x7b\x3c\xe7\x60\x3b\xa9\xb0\x75\x60\xed\x88\xbe\xaf\x88\x63\x91\x45\x54\xa1\x12\x55\x52\x99\x70\x75\xc7\xe7\x12\x59\x46\x06\x3c\x93\x1a\xee\xb3\x15\xaf\x93\x8f\x45\x17\x49\x45\x4a\x52\xc9\x65\xa1\x76\x4d\x59\x8e\x5d\x46\xe9\x3e\x35\xdc\x0d\x38\xf7\xd7\xb0\xf0\xe6\x58\x97\xa4\xb0\x8f\x76\xee\x0d\x53\xc5\xb8\x2f\xf5\xb5\xe4\x9c\x26\x1e\x36\x99\xf6\x22\xa2\x9d\xed\x91\x8c\x4b\x9f\x64\xdb\xc7\xdc\xca\x59\xa2\xfd\xa9\xb1\x6e\xc2\x38\x08\xf8\xc6\x19\x9a\x60\x89\x28\xf7\xcb\xe4\xbc\xca\x63\xa1\xc7\x2a\xd7\x85\x4e\xf7\x49\xa9\xd3\x0b\x43\xff\x73\xea\xfb\x8c\x29\xd4\x90\xa1\x71\x87\x5f\x97\xb4\xea\x5b\xed\xe4\xe7\xec\x2b\x0f\xaf\xf4\x9c\x90\x1d\x22\xdc\xbb\xfb\x6c\xbc\x37\x19\xcf\xdd\xb9\xde\x47\xd0\x82\xbf\x66\xeb\x4c\x0c\x0a\xb6\xd5\x08\x8e\x7e\x8c\x02\xf0\xcd\x25\x7a\x7d\x5d\xc2\xf8\xa2\xbd\x5c\xac\x15\x5f\xa6\xe5\xf0\x45\xb4\x73\x8d\x4d\x73\x0a\xbe\xf6\xb5\xe4\xc9\x93\x4e\xb9\x22\xdc\xb4\xfd\x96\x94\x85\xb9\xaa\x4d\xbb\x41\x2d\xc3\x13\x96\x65\x2c\x21\x13\x2d\x6b\xb7\x42\xd3\x1f\xe6\x91\x6e\xa0\x86\xbe\x9a\x2b\x66\x8d\x53\x49\x68\x7f\xc3\x32\xbd\x4c\xbf\xb4\xe8\x17\x0e\xa8\x40\xf0\xf9\x7a\x60\x45\xd4\xe5\xea\x3e\x09\xf0\x7a\xcc\x84\x03\x06\x86\xbe\x4b\x03\x7e\x6b\x20\x36\xa1\x6e\xf6\x89\x8a\x87\x9a\xbd\xba\x7a\xd2\xa6\x77\xf7\xba\xbc\xf7\x1d\x46\xa1\xcb\xfe\xee\xe1\xc7\x32\x59\xf6\x28\x7e\x63\x44\x5d\x43\x67\x7d\x3f\x7b\xbf\xaa\x7c\xa9\x76\x56\xdb\xda\x87\x56\x9f\xa7\x2f\xf5\x9d\xca\x1c\xc9\xe4\x7e\x95\x87\x51\x26\x9c\xdb\xa7\xda\x52\xec\xa5\xfa\xa2\x22\xf8\x78\xea\x51\x86\x99\x99\xf7\x80\xb8\xf0\xce\x70\xc1\x4a\xb1\xdf\x72\x72\xfb\x9e\xe4\x82\xc1\xa7\xe2\xbd\x6e\xe5\x6b\x02\xbb\xed\x41\x6d\x32\x47\x1e\xc0\x31\xea\x4d\x86\xe2\xf5\xf1\x4d\xe8\x54\xbe\xa2\x8b\x2b\xbf\xf7\x37\x9c\x1b\x67\x69\xeb\xd7\x2b\x95\x51\xf5\x84\xfa\xfa\x6f\x2a\x97\x95\x6e\x2a\x3d\x18\xdf\x6c\x76\x56\xad\x20\xd3\xc1\x1d\x6c\x22\xd7\x7c\x59\xd7\x84\x48\xea\xdf\xd2\xe5\xb8\xf3\xed\xe7\xf0\x24\x74\x27\x5a\xed\x01\xe6\x40\x04\x75\x1b\xf4\x9c\xf0\x1f\x59\x23\x4e\x07\x85\xe0\x48\x63\xa7\xa8\xdd\x4d\x11\x85\x8b\x3e\xb0\xe5\x03\xbf\x3b\xe5\xeb\x89\x6a\x16\x35\xc7\x4b\xb0\x4b\x13\x08\xea\xf1\xe4\xf5\x10\x9f\xe7\xc3\x97\xd8\xa4\xa7\xcc\xaf\xbe\xf8\x62\x35\xee\x54\xd1\xbf\x09\xff\xe4\xbc\x2f\x64\x13\xab\x0a\x7d\x2d\xfe\xba\xdf\xe8\x29\xab\xf8\xd7\xee\x61\x45\x44\xe3\xcb\x72\x80\x77\x5f\x64\xef\xeb\x57\x86\x34\xb1\xeb\xb5\x91\x24\x38\x21\x25\x0c\xbc\x29\xb9\x4d\x16\x5c\x79\xed\xe5\x55\xd9\xf2\x48\xd7\x67\x8b\xff\x35\x99\x45\x46\xbd\x3a\xf1\x7e\x78\x68\x39\xff\x46\xed\x43\x0c\x8c\xac\x71\x9d\x18\x08\x3f\x6c\x7c\x2a\xa2\x5e\xc5\x5f\xfa\xf7\x4d\xe7\x6d\x91\x4f\x25\xc1\xb2\xb9\xf5\xa1\xf4\x6b\xd1\xda\x5b\x0d\x17\x7e\xaa\x55\x7c\xbd\xd5\xbe\xf3\xdf\x41\x54\xbe\x53\x3f\xd4\xdb\x36\x40\xf8\x7e\xad\x08\x0f\xaf\xb1\xc0\xc3\x6b\x76\xf0\xf0\x7a\x24\x78\x78\xcd\x1e\x1e\x5e\x73\x86\x87\xd7\x1a\xe1\xe1\xf5\x1a\xe1\xe1\xf5\x08\xf0\xf0\x9a\x7b\x78\x78\x4d\x03\x3c\xbc\xa6\x35\x3c\xdc\xfc\xd5\xe3\x7f\xe7\xb1\x55\x06\x10\x8a\x6c\xe7\x95\x5e\x9a\x1f\xc3\x9d\xc4\xcd\xd2\xac\x5f\x56\x68\xbf\xa1\x03\xee\x1d\x0d\xa0\xa6\x76\xe4\x8b\x61\x99\x87\xe8\x33\xe9\xd3\x04\x3a\x00\x05\x33\x1e\xe8\x06\xd9\x0c\xdc\xa2\xc6\xc3\x74\xeb\xb2\x00\xb2\x2d\x4c\xcb\xe7\xf9\xc9\xf6\xda\xbf\x2f\xf5\x3d\x08\x04\xf4\xe0\xc2\x2c\x33\x71\xf5\xb1\x2b\x55\xc7\x23\x38\x6d\x2a\x11\x6b\x19\x8f\x4e\xe7\x4f\x98\xdd\x08\x6c\x37\x15\x0d\xc3\x95\xd0\xc0\x9f\xb1\xda\x2c\x7c\x0a\xc8\x51\x19\x8c\x43\x77\x32\x3c\x5b\xed\x8e\x6f\x7e\x26\xc6\x0e\xfa\xb1\xe8\x6c\x9a\x3c\x2b\x3f\x62\xe3\x42\x5e\xc7\x62\xba\xc7\xec\xd9\x7c\xa1\xd8\x88\xb7\x3c\x59\xe2\xc2\x89\x07\x6a\x2e\x64\x97\xe6\xc4\xb9\xc2\x93\x06\x6c\x15\x7e\x18\x79\x63\x77\xc4\xbc\x1b\x0f\x19\xeb\x40\xe8\x99\xc5\xc1\xe6\xf3\xe2\x43\x3d\xd6\xf2\xbf\x98\x41\x88\x5c\x21\x17\x6e\x2d\x11\x76\xb1\x1f\xa8\x73\x23\x73\x1c\x05\xae\x43\x1d\xe0\xae\x69\x9c\x43\xd6\xfe\x14\xb9\xff\x1a\xd7\x4c\x7d\xec\x52\x4f\x41\x69\x68\x12\x46\x5c\xd2\xa8\x7e\x87\x6e\x52\xa7\x9b\xa7\x91\xda\x27\x01\x8a\x3c\x17\x79\x95\xad\x2b\x20\x3d\x97\x7a\x74\xc9\x94\xcc\xd3\x46\xc6\x92\x5a\x80\xb6\x26\x74\xa3\xdd\x64\x7b\x88\x2c\x89\x2c\x73\x7a\x49\x74\xc1\xdf\x30\xf5\xbd\xdf\x99\xa7\x35\xeb\x56\xf7\xd1\x3c\xce\xa5\x85\x3b\xfb\x2e\x14\x3a\x87\xc2\x68\x49\x0c\x74\x6d\x04\xe3\x93\x72\x72\x66\x0c\xd6\xd1\x2b\x11\x67\x0f\x86\x25\xd2\x1a\xce\x1b\x6e\x8f\xd9\x02\xf3\xb6\xf9\x43\x81\x9b\xa2\xae\xab\x3c\xa4\x11\x54\xfb\x08\x80\xc3\xcd\xf2\x4e\x4b\xd7\xa1\x96\xb3\x3b\xff\x95\xc9\xd9\x2f\xcb\x9f\xb3\x2d\xcb\x3f\x92\x06\x2a\x3a\xd7\x6c\x48\xc1\xb9\x32\x43\x5a\x7c\x36\xd5\xb2\x03\x66\x47\x35\xfd\x6b\xa3\xca\x68\xa0\xe3\x42\x92\x43\x07\xb2\x0e\x29\xad\xa7\x2d\xb8\x87\x02\x5a\xa1\x98\x07\xc5\xfa\xae\x98\x06\xc5\x30\x8c\xb3\xf5\xfc\xdc\x69\x02\x2e\xa0\x3b\xb3\xf9\x49\x23\xf1\x49\xff\x4d\x4f\x7a\xe2\x13\x31\x80\xd5\x7e\xfe\x48\xee\x3d\x64\x89\x40\x57\xa2\x93\xe8\x37\xb9\x6c\x6c\x12\xa4\x3c\x44\xe2\x22\x61\x52\x67\x4e\x33\x93\x9d\xeb\x5b\xcf\x6b\x9d\xeb\x55\xe1\x66\xcd\x16\xf4\xad\x95\x6c\xa8\xbe\x35\x36\x96\x72\x74\xe7\x1d\x66\xa5\xba\x70\x4b\x67\x52\x93\x02\xec\x0a\x30\x53\x09\xe6\xda\xc0\xeb\x5f\xc3\x32\x33\x16\x7d\xce\xe8\x55\x0a\x75\xf0\x4a\x3d\x1c\xf6\xbd\x87\xd0\x7f\x1e\x6a\x4b\x41\xc2\x95\xba\x15\xa9\x31\xc2\x4c\x9d\x69\x66\xd6\x47\x23\xad\x12\x51\x85\x9a\xf2\x61\xaa\x5e\xee\xd0\xf8\x38\xb0\xd0\x0d\x6b\x2a\xff\x8a\x34\x7a\x08\xe7\x7c\x4b\x97\xd9\x7c\xdb\x99\x50\xf1\xf2\xe6\x4c\x87\x66\xfe\x45\x99\xd5\x00\xb7\xae\xc6\xb2\xae\x3c\x7a\x8b\x45\xe0\x36\x9d\xa8\x94\x99\x1d\x15\x06\x08\x2a\x44\x8d\x10\x93\x28\xd9\x64\xd4\x38\xd8\xb4\x2a\x31\x26\xff\x04\x36\x20\xf8\x61\x2e\x79\xc3\x84\x35\x60\xb4\x3f\x72\x2b\x37\x6a\xd9\x2f\x6e\xbf\x74\xca\x73\x22\xdf\xfd\x11\xab\xc0\xc1\x6a\x2b\xcb\x82\xea\xeb\xe0\x3b\x0b\xfa\x2f\xd8\x9e\x86\x99\xfe\x66\xfa\xcd\x8c\x18\x36\x62\x77\x0c\xaf\xac\xcd\xf6\x3e\x67\x1c\xdd\x12\x31\xcb\xa9\xce\xe9\x5f\xef\x7e\xbd\xa7\xeb\xc9\xc6\xb1\xc9\x3b\x4e\x86\xea\x1b\x48\xb8\xbd\xf2\x1e\x37\x66\x8c\x15\xfe\xd8\x26\xfd\x3a\xd1\xef\xcb\x28\x3a\x0e\x64\x66\x37\x51\x5d\xf2\xf7\x6b\x4c\x01\x7b\x8b\x51\xd4\x92\x7e\x1d\x71\x2b\xf1\x7a\xea\x10\x6c\x05\xe1\xa5\xe8\x12\xe1\x83\xf3\x8c\x28\xd5\x9e\x3f\x48\x8b\xb0\xfb\x2f\xab\x46\x3c\xde\x1c\x02\x22\x38\x7f\x33\x07\x82\x26\xa4\xff\x80\x52\x20\x5b\x3c\xb2\xf2\x19\xf6\x19\x1b\x14\x2e\x92\xe2\xaf\x63\x80\x9d\x04\x46\x88\x68\xb9\xec\xc6\xe6\x6d\x90\x10\x8f\x5e\xc8\x98\x3e\x07\x61\x97\xf1\x1a\xf2\xe6\x31\x6e\x00\xb2\xd1\xe3\x48\x9d\xc6\xea\x80\x60\xf3\xe5\xdf\xac\x3c\x86\x1a\x2d\x9a\x15\xa7\xc5\xac\x6b\x1f\x73\x89\xf2\x27\xa5\x50\xed\xb6\x76\x46\x7f\x84\x02\x34\x74\x84\x37\xde\xd1\x94\x43\x7c\x67\xd3\x50\x1a\x7e\xfb\x07\xb9\x72\x45\xb2\xd2\x49\x37\x28\x16\x29\x27\x0e\xf2\x02\xe9\xe5\x7b\x07\xb7\x52\x9b\x6e\xee\x3d\x4c\x66\xbb\x8c\x1f\xe9\x58\xe5\x5b\x45\xb4\xe2\x54\xba\x43\xc1\x57\x01\xec\xa2\x6d\x5d\xf3\x25\x06\x3b\xbc\x50\xd6\x34\xeb\xe1\x37\x88\x76\xf8\x28\x4f\xee\x08\x2f\x53\xb2\xd5\x9f\xee\x07\xb7\x90\x35\xfa\xe1\xf6\xcb\x97\xe3\x38\xe5\x5c\x33\xa7\xa9\x1d\x7e\x36\xef\x2a\xc6\x4d\x3e\xb9\x17\xbe\xfb\xd3\xd1\x1d\x79\x4f\xa6\x36\xc6\x3d\x35\xb0\x41\xec\x1c\xdd\xa8\xce\x59\x56\x37\xcc\x6f\x0a\xc3\xb8\xe0\xe3\x0d\xdf\x92\x4a\xd1\xf8\x4c\x21\x01\xe8\x7d\xdc\xd1\x1b\x2e\xfc\x46\x32\x35\x63\x42\x2e\xbe\x94\xc9\x03\xd0\x5b\x12\xcc\x6c\xab\xc2\x88\x9e\x6f\xee\x0b\x57\x61\x4d\x12\xf2\xaa\xb4\xd5\xea\x2c\x93\xf4\x73\x34\xd6\x6e\xac\xaf\x46\x1f\x9b\xca\xab\x2b\xa4\x62\xab\x77\x39\xd0\x8b\x07\xd1\x84\xdc\x56\xc5\xc3\x3e\x84\x3b\x84\xb4\x3b\x47\xfc\x16\xbb\x65\xc1\x5a\xfd\xd8\xa5\x41\x98\x6e\xcb\x7e\x94\x72\x4e\x36\x27\xbe\x63\x95\x6d\x29\xbf\xb3\xb1\x9b\x8a\x32\x22\x91\x15\xee\x59\xc8\xa4\x53\xb2\x21\xb9\x56\x0f\x2c\x20\x12\x2f\xc3\x36\x3c\x32\x4a\x8a\x24\x67\x25\x43\x30\x2d\xb5\xdc\x57\xf6\x7c\x6c\xd2\xf2\x85\x7f\x65\x93\x33\xad\x6e\x12\xb6\xa0\x47\x7e\xe3\xc6\x0c\xfc\x32\x7a\x1c\xd8\xc3\xce\x9a\x18\x58\xe7\xe4\x3a\xb1\x66\xb9\x77\xc5\xec\xfa\xb4\xb6\xae\x7f\x5f\x57\xa3\xdc\xfe\xd0\xe4\x65\xf6\xd2\x13\x1f\x43\x66\x79\x46\x7d\x0c\x7a\xa9\xa5\xc3\x57\x4f\xe3\x8e\x4b\x3d\x4a\x1c\xdd\xda\x9e\x43\x99\xd5\x67\x67\x27\x8b\x47\x36\x52\x25\xda\x87\xf3\x3f\xbe\x2c\xe5\x11\x87\x5a\x99\xcf\x62\x62\x5c\xcc\x79\xc3\xe3\x7b\x3b\xa3\x86\x58\xfa\x3d\x7c\x76\xee\x74\x65\x9e\xe3\x47\xcb\xca\x72\xbe\x1f\x4a\xcc\xba\x5c\xcf\x79\x3a\x51\xfa\x44\xed\x4d\x76\xaa\x39\x03\x7b\x1b\xa4\x97\x8c\xab\xe2\x38\x67\x58\xe5\x78\x1d\xb0\xdb\x8f\x90\xbb\xfb\x98\x79\x5e\x63\xc6\x75\x2e\x2e\x2a\xb7\x98\x7b\xc2\xa3\xec\xe2\x94\xe8\x48\x4a\x72\xa3\xe6\x0f\x12\xb8\x22\xc1\xbd\x87\xa7\xdc\x6d\x3b\x7a\x4e\x88\xf2\x70\x9d\xfb\xda\x59\x33\x39\xc6\x3f\x0d\xb9\xac\xc9\xe1\x6a\x51\x07\x39\x12\xc6\x78\xe4\x35\x94\x45\x78\xf5\xd9\x57\x6f\xa6\xa8\x05\xdb\x9f\x4f\xdc\xc1\x75\x8b\x3f\xd0\x32\x1f\xd6\x70\x6f\xe6\x73\xe5\xd1\x4f\x79\xd7\xf9\xca\x67\x3f\xfc\xec\xd6\xc7\x5b\xe6\xeb\xd7\xcd\xfb\xb1\x2e\xaa\x9f\x2c\xdb\x59\xa3\xc6\xe9\xd7\x7d\x71\x13\x33\x28\x1a\xfe\x57\x84\xaf\x75\x1a\xed\x80\x94\x73\x82\x76\xc2\x31\x74\x0e\x80\xb3\x67\x24\xa6\xe0\x3d\xa6\x2e\xba\xc2\xf9\x0a\x7c\x35\x7d\xf0\x95\x2a\xbb\x95\x78\xec\x81\xe6\x6a\x0d\xd4\x92\xb3\x0d\x77\x98\x96\x42\x5d\x94\x88\xf6\x5f\x30\x12\x7f\x6a\x2d\xc7\xae\x6d\xeb\xa8\x99\x78\x9c\x6d\xd9\x15\x34\x89\x2a\xd0\xf8\x03\x19\xa0\x77\x6b\x37\xe3\x6e\xac\x29\xcf\xaf\x13\xe9\xa7\x1a\xdc\xc8\x44\x72\x44\x75\x3e\x44\x69\x0d\x82\xbd\x24\x2a\x2a\x42\xd0\xba\xca\xfd\x73\xcb\xcc\x80\x0b\x5a\x9d\x7d\x28\x21\x01\x50\x70\x5c\x51\xc2\x5d\xb8\xde\x52\xa3\x91\x94\xe9\x4f\x26\x1d\xcc\x72\xb2\x62\xfb\x30\x58\x3f\xd6\xd8\x4d\x13\x32\x89\x63\x24\xa7\x17\x48\x2b\xc9\xb0\x8b\x12\x59\x97\xe9\x4f\xae\x05\xa1\x2f\x1d\x02\xa3\x58\x5d\x95\xd2\xa0\xc1\x31\x8d\xe6\x65\x3b\xf9\x35\x12\x78\xec\x0b\x72\x81\x26\x99\x92\xa6\xf3\xc9\x3e\x1a\x24\x71\x35\x51\x3c\xd2\xba\x59\x2c\xb1\x75\x38\x2e\xfe\xce\xeb\x27\xc8\x86\xa7\x1b\x49\xe2\x41\x4f\xa8\xad\xa4\x6d\x4b\x6b\x7a\x40\x72\xe8\xbd\x25\x5b\xd1\xe8\x76\x80\x1d\xd9\x89\xc0\xe7\x1a\xf1\xcd\x3c\x7a\xc8\x59\xb1\x7c\xd6\xf7\xa4\x0e\xe1\xb7\x08\x66\x1b\x22\xec\x05\x79\xc0\x1b\x9c\xa1\x55\x6b\xe3\x42\xfc\x82\x13\xdc\xe6\xc6\xbe\xd4\xee\xb0\x67\xc6\x34\xfa\xf7\xed\xc5\xc5\x37\x2c\x74\x14\x49\x70\x37\x72\x3f\x1a\xd3\x1e\x20\xb0\x89\xfb\x88\x31\x6c\x06\xfc\x00\x5b\xac\x9e\xcf\x57\x97\xd6\xb3\x39\x74\xf3\x57\x5f\x43\xb7\x7b\xd2\xe7\xa3\x8a\xe9\x52\x05\x33\x34\x38\xdc\xf0\x18\xb9\x56\x5c\x22\x66\x1e\xd7\xaf\x97\x83\x7e\x0b\xc6\x9a\x52\x98\x0d\x6c\x07\xfa\x7e\x7e\x15\xbd\x68\xd2\xfc\x16\xd1\xb3\x86\x0c\xeb\x2e\x23\x70\xbb\xdc\xfe\xc1\x65\x5a\x66\x22\xbf\x85\xfc\xb8\x57\xc9\xaa\x1b\xaf\x18\xa0\x52\x91\x59\x7e\x2a\x92\xab\x20\x55\xd2\xfb\xe9\x9c\x20\xfa\x16\xa1\xbf\x19\x6c\x97\xf9\x01\xbc\xfb\x0b\xcf\xfc\xe4\x0b\x9f\x54\x4c\xa4\x5d\x0e\xdc\xd3\xff\xe5\x5b\x37\xfb\xf1\x4a\x48\x9c\x0c\xb8\x48\x68\x8e\x4e\xcd\xc8\x5f\x4c\x32\xf1\x01\xf6\x17\xa7\x67\xac\x57\x3b\x79\x82\xaa\x2d\x5d\xa8\x99\x43\xc3\xd5\xa3\x3d\x9f\xbe\x3f\x3d\xc1\xbb\x7c\x95\x60\xf4\x71\xc3\xa2\xcf\x3a\x16\x6a\x83\xc8\x79\x36\xc2\xc3\xfa\xaa\x7e\xbc\xbb\x53\xee\x0e\x34\x0c\xf7\xba\xb3\x73\x9e\x7d\x9b\x1f\x19\x2a\xb6\xf0\xcc\x96\xa0\x71\x87\xef\x20\x73\xa9\x07\x1c\x58\x4c\x9e\xe1\x64\x90\xe4\x07\x72\x41\xb5\x29\xb6\xa7\xf3\x3a\x00\x0e\xa4\x4d\xdb\xb6\xcf\xdc\xfb\x6c\x07\x0c\xb4\x2d\x34\x49\x0e\xfa\xcc\x61\x31\xe5\xe7\x09\x34\x2b\x45\xa8\x0b\x86\x7f\xc8\x94\xfa\xcf\xb1\x59\x9f\xcc\x4c\xfd\xf7\x90\x1c\x8f\xc4\x1c\xd4\x9c\x07\xa2\xe8\x25\xe9\xd7\xc2\x70\x2d\x15\x5f\xb5\xfd\x7a\xc8\x75\x04\x36\x64\xf6\xd9\x39\xc0\x09\xc1\xdc\xc4\xa5\x96\x39\x1c\xff\x90\xff\x62\xda\xa7\x72\x3b\x77\x19\xdc\xb0\x3c\x73\xe7\xa5\xc7\x7f\x25\x9c\x92\xe1\x9a\xae\xe1\x0a\x0c\x1b\x0e\xb9\xbf\x3a\x5d\x0e\x0a\x18\xcc\xc2\xf7\x75\x9a\x0e\x2f\xba\x45\xdf\x78\x0f\xa2\xd3\xfc\x38\xde\x5f\xf8\x70\xfb\x75\xec\x84\x59\xf2\x6b\x74\xa8\xa9\xc1\x55\xb7\x26\x6e\x66\x6d\x82\x0e\x81\xaf\x58\x14\x6e\xc1\x15\x21\xcf\xb3\x8f\x7e\xfa\x28\x8d\xcd\x5b\xbb\xe2\x78\x33\xb6\x74\x38\x34\xce\x9d\xdf\xc2\x73\xd6\xec\x95\x9b\x78\x23\x71\x0b\x3d\xfb\x37\x08\x09\xf7\xec\x53\xbd\x48\x1e\x8f\xc3\x7b\x20\x38\xd4\x44\x8f\x87\x53\x9c\x09\xf3\x34\x81\xad\x73\xab\xa1\x8d\x81\xb0\xfe\xae\x8f\xff\xc6\xc7\xb3\x2e\x57\x03\x5e\x2c\x57\x99\xc7\x33\xe5\xa2\x8e\xff\x35\xb9\x02\xcb\x75\x7e\x32\xa9\xe2\x1a\xf8\x14\x1a\x1f\xfb\xf2\x16\x5e\x92\x70\x7c\x4b\xa5\x85\x68\x9b\x04\x35\x6b\x10\xa5\x68\xe7\xe2\x90\xcb\x65\x0c\xda\x58\x97\xdf\x00\x3f\xde\x6a\x76\xd6\x2f\x49\x2e\xac\xc2\x1d\x76\x9d\xfe\xe2\x76\x97\x37\x44\x20\x5f\x84\xb4\x50\xfc\x14\x77\x95\x19\x14\x07\x28\xf3\xab\xb9\x07\x61\x27\x3c\xd4\x81\x1f\xcd\xe7\x9b\x93\x7d\x28\xae\x0c\x69\x21\xb2\x51\x63\x01\x9c\x43\xf9\x4e\xb3\x24\x68\xc8\xd4\x83\x9c\x0b\xd0\x78\x3e\xae\xb7\xf3\xec\x02\x26\x89\x7d\x89\x20\x6b\xb9\x6a\xdb\x49\xe4\x0b\x62\xa4\x24\x43\xec\x78\xdf\xb1\xce\x44\x58\x9b\xc7\xc2\x78\x29\x9c\x2f\x04\x98\x69\xb0\x06\x9f\x08\x3d\x61\x70\x62\xed\x1b\x22\xd4\x72\xd6\xe9\x22\x3c\xf9\x9b\xa2\x49\xc9\xc1\x26\x45\x81\x47\xbe\x28\x45\x18\xbc\x3c\xcf\xea\x2b\x65\x64\xc1\xf2\x0c\xb7\xed\x68\x79\xf9\xd9\xb0\xe9\xc2\x19\xfb\xcc\xbc\xf0\xb5\x7c\x90\x02\xc9\x6d\xb4\xcf\x3f\xe5\xf9\xd9\x52\x81\xa7\x7b\xf1\xf9\xa9\xc2\x5e\x66\x5d\x96\x83\x65\xf9\x89\x8b\x27\x8f\xb6\x0e\xf6\x6d\xbc\x64\x3f\xd2\x35\x97\x85\x59\xd6\x9d\xb8\x4a\x1c\xbb\xdf\x9f\xf4\x88\x5b\xea\x1e\x2b\xb9\x1d\x29\xf3\xf0\x94\x42\x59\x54\x7e\x0c\x0c\x1f\x53\x0c\x59\x69\xc5\x32\x92\x62\x86\xf4\xb5\x81\x42\xf9\xec\xc1\x2b\xf2\xac\x3c\xdb\xd9\xdc\x1a\x68\x55\x22\x67\xe5\x3c\xef\xb6\xdd\x6c\xdf\x0c\xbd\x05\xa6\xd3\xe3\x41\x04\xaf\x49\x9f\xed\x0c\x53\x69\x48\x9f\xe5\x0f\x67\x7c\x4d\x8b\x06\xda\xff\xa9\xb8\xda\x19\xc5\x3e\xe7\x11\x2f\x49\x81\xe1\xcf\x63\x75\xcb\xad\x9c\x93\x25\xa9\x41\x71\xcf\x7f\x83\x84\xf7\xa1\x25\xb5\x90\x6f\xca\x26\x84\x42\x07\xd4\xfa\xff\x3b\x57\x15\x46\x32\xdf\x6c\x09\x28\x9e\xc2\x8b\xe6\x8a\xf4\x14\x13\xee\x0f\xe9\xda\xfe\x50\x9e\x0b\x62\xa6\x1e\x7d\xca\x61\xaa\x0d\xa6\x24\x68\x21\x40\x13\x15\xa0\x9b\x17\x8d\xfd\xe0\xc2\x5b\x17\x17\xd8\xa4\x53\x0b\x02\x1a\xca\xd6\xaf\xbf\xdf\x65\x0c\xb8\x8d\x04\x38\x53\xbb\xb8\x2e\xef\x20\x04\xcb\x5d\x18\xdc\x6b\x71\x80\x3f\xd6\xb7\xf2\xab\xdd\x1e\x50\x52\xd6\x0d\x35\xf6\x25\x21\x00\xfd\x52\xe0\xed\x8c\x30\x37\x3e\x43\x2d\xce\x95\x78\x9b\xbd\xc5\x93\x5e\x72\x35\x8e\x94\xd6\x49\xe0\x7e\x36\xf0\x25\x39\xbd\xf4\x07\xdc\x73\xd2\x82\xfb\x2b\x51\x47\x1a\xca\xae\x47\xdc\x8d\xf6\xaa\x93\x8f\x6e\xb2\x90\xb0\xae\xf8\x03\x4d\xb6\x06\x70\x80\x76\xca\x37\x2e\x57\x93\xc5\xe8\x26\x18\x82\xae\x2e\xe2\xaa\x67\x23\x8c\xed\x74\xcd\xa2\x12\x41\x77\x76\xc4\x82\xde\xae\xb3\x28\x06\xcf\x88\xc6\x66\xbd\x12\xad\x29\xb4\xd8\xb6\xe4\x2c\x44\x6d\x22\x49\xd3\xa7\x25\xc9\x78\xbd\x9b\xc4\x75\xbc\xd0\x0b\xb7\xfb\xcf\x0e\xb6\x51\x0f\x32\x5b\xc0\x64\x36\xe4\x02\x6d\x29\xb6\x05\xe8\x1c\x39\x1e\x5e\xf6\x3c\x27\x00\x0d\x90\x25\x3a\x0f\x83\x28\x56\xb8\x89\x25\xf6\xd8\x50\xde\x4a\x87\x4f\x8e\xb6\xa9\x5b\x77\x9c\x8d\xee\x95\xe3\x96\x4a\x18\x3a\x4c\x6e\x89\xb9\x3d\x51\x10\xb8\x6c\xd7\x1e\x61\x82\x64\xf8\x2c\xd8\xe9\x9d\xf8\xbb\x79\xeb\x83\x2a\x36\xfe\xe3\x65\x76\x70\xcf\x32\x38\x39\x71\x08\x2b\x98\xa9\x81\x0d\x02\x1a\x08\xe4\x67\xf5\xdd\x10\xc9\xa2\xfa\x15\x6a\x45\x1f\x25\xf1\xc7\x56\x7b\xba\x81\x04\x99\xc1\x92\x18\x66\x64\xa3\xba\x51\xce\x9c\xc0\xf5\x89\x60\x36\xb6\x5c\xf6\x84\x21\x8a\xb6\x00\xc0\xbc\xb0\x6f\xf1\xea\xe0\x84\x5d\x4d\x86\xa4\x6b\x09\x0c\x45\x53\x13\x6c\x39\x55\x03\x4c\xb3\xa5\x2f\x90\x42\xbe\xda\xea\xee\x10\x0b\x72\x3c\x3b\xaf\xac\x2e\xf6\xcb\x4c\x51\x87\xb9\x9a\xae\x40\x05\x8e\x3a\xd3\x27\x4b\x0d\xac\x7b\xf8\x70\xcf\x41\xd8\x79\x75\xfe\x94\x5d\x7e\x02\xfe\x93\xe5\xd1\xa1\x95\xfb\x33\xda\x64\xec\x61\xee\x6d\xea\x62\xde\x7f\x9c\x84\x4c\xf4\xc6\x1e\x99\x98\x19\x13\x1f\xa3\x5f\xbb\x18\x82\xa7\xd7\x1e\x06\x7f\xac\xcc\xab\xd6\x61\x4c\x45\x1f\x31\x45\xe3\xe5\xa3\xc1\x39\xac\xc8\x8c\x43\xb3\x05\x92\x05\x37\x8b\x07\x58\x70\xb4\x60\x6b\xa1\xd5\x32\x23\xcf\x18\x3b\x99\x24\x1f\xce\x5d\xb1\xe4\xda\xb1\x11\x03\x11\x45\x11\x36\x50\x71\x9b\xf3\x83\xf4\x90\x16\x7b\xfe\xf9\x52\x90\x0b\x14\xea\xab\x1c\x8c\xa6\x57\xc2\x68\x5e\x03\xe3\x69\xa5\x54\x5a\x25\x56\x60\x48\x18\xeb\x13\x96\xcf\x4e\xa9\x4c\xd2\x56\x6a\x65\x1b\x62\x65\x10\xc3\xb4\x0a\xbc\xa2\xce\x39\xe2\xa7\x59\xe2\xe2\xa2\x5d\x48\x98\x89\x9a\x72\xc1\xcb\x52\x7a\xb4\xf5\x4b\xe6\x88\x97\x4e\x3d\xb3\x10\x7e\xe1\xd3\xad\x32\x8e\xa8\x69\x25\xc0\x6c\x21\x33\x62\xcc\xf5\xc6\x49\x8c\x56\x6d\x23\x6f\xcb\x51\x67\x49\x37\xf5\x75\x6f\x4c\xb8\xd3\xa0\xe7\x23\x98\x8c\x43\xf7\x6a\x0f\x7e\xb3\x69\xdd\x9d\x84\x31\xdf\x35\xf8\x50\x4c\x04\x38\x34\xd5\x5d\x24\xe2\xa8\x0b\x30\xd1\x43\xc9\x9a\x4e\xd1\xed\xec\x8a\xf8\xbc\x21\x5e\xe4\xc7\xb0\x3d\x62\xcf\xb9\xe0\xbc\x2c\xed\x69\xa5\x54\x62\x05\x54\x18\x20\x39\x69\x7e\x4e\x78\x3e\xdb\x9b\xd8\x96\xe3\xe5\xec\x72\x35\xde\x70\x3c\xc2\x1b\xc8\xb3\x82\xb8\x7d\x5b\xed\xe3\x96\x8d\x50\x90\x6b\x1b\xc6\x63\x86\xfd\xf0\xca\x47\x32\x55\xaa\xbd\x89\xd3\x0b\xaa\x58\xda\x14\xcc\x79\xfb\x53\xeb\x47\x59\x3e\x61\x7e\xd2\x2e\xbb\xb2\xb1\xe1\x4a\xc9\xbb\xd2\xc0\xe4\xa5\xe4\x59\xe9\x60\x2c\x53\x5e\x2a\x8c\x66\x36\xed\xa3\x42\x6c\xa0\x53\x3e\x2a\x51\x98\xf6\xb4\x8f\x0a\xd0\xae\x90\xfa\xfd\xc6\x02\x2d\xb9\xbb\xe9\x9e\xff\x29\xc9\x79\xa3\x39\x27\x57\x7e\xb5\x04\x80\x50\x62\xab\x35\xa1\x5e\xfe\x7d\x05\x50\xc9\xae\x42\x21\xe5\x7a\xc2\x6a\x52\x00\x94\x11\xca\x8d\x86\xa1\xf1\xbf\xe5\x32\x10\xad\xee\xbd\x6b\xb4\xb1\xb9\x22\x3e\x21\xc2\x92\x28\xc1\xed\x08\xa6\xe8\x77\xb9\xa2\x03\xdf\xdd\xf4\xfb\x9e\x9e\x9e\xff\xe7\x64\x73\xaf\xa8\x62\x38\x03\x44\x33\xb6\x01\xae\xa8\xa3\x5c\xb6\x23\x74\x7a\xaa\x78\xfd\xb8\x28\xca\x01\xe8\x73\xe9\x7a\x95\x72\x55\xef\x62\x9e\x89\x7a\xda\xcb\x62\x66\xf4\x0d\x84\xfd\x1c\x76\xd0\x09\x78\x8e\x44\x29\x69\x11\x6f\xba\x58\x90\x6e\xf6\xf0\x7e\x9c\xd2\x5d\xf1\xd0\x4d\x8c\xdc\xc9\xb3\x38\x9c\x2b\x26\x29\x73\x96\xd7\xcf\x24\x81\x26\xce\x1b\x52\xf2\x35\x42\x12\xc2\x3d\x1d\xd4\xd4\x8f\xa7\x59\xe9\xe0\xc8\x45\x97\xe6\xf4\x16\x0e\xd8\x98\xbc\xa1\x00\xb4\x1d\xb0\x45\x15\x50\x83\x5f\xcd\x80\xc7\xa4\x0e\xdd\x2c\x85\x0a\x30\x7a\x4e\x84\x95\x76\x53\xd5\xf7\xfb\x87\x1f\x5a\x36\x76\x08\xc9\xee\xa4\x78\xf6\x92\x68\x0f\xf0\x71\x19\xae\x23\x26\xcd\xdd\x00\xe2\x0e\xab\x93\x88\x78\xbb\xc3\x5a\x6a\x88\x5c\x57\x18\x43\xfb\xde\x43\xd3\x4a\x42\xa1\xa2\x50\x03\x5d\x8d\x3f\x42\xac\x45\x95\x96\xb1\x4f\x31\x48\x62\xb4\x05\x2f\xd0\x20\x0d\x2d\xe2\xeb\x55\xe1\xee\xb5\x4a\xe7\x73\x39\x2d\x07\xc4\xe9\xec\xfe\xfc\x56\x96\x50\x67\x19\x17\x39\x7e\x1e\x19\x37\x74\xc9\x89\x60\xd9\x4b\x78\x3b\x07\x42\x34\x8c\xcf\x54\xc7\x3e\xc5\x82\x30\xd9\xc3\x89\xa2\xc8\xb5\x26\xd6\xc5\xc9\xdd\x41\x61\xa7\x9b\x06\x1e\x4e\xe2\xec\xd1\xfb\x0e\x99\x14\x70\x0d\xcc\xf3\x82\x2e\xe8\xff\xaa\xd1\x7f\x96\xae\xec\x7a\xce\x9b\x82\xb5\xbf\x2f\xa5\x34\x72\x70\xef\x34\xb3\x95\x06\x45\x93\xce\x7a\x2b\x15\x1b\x4f\xf8\xb1\x7a\xc8\x05\x8e\x30\x82\x4d\xa6\x9f\x43\x3f\xf7\xf9\xdd\xac\xa1\x0f\xf4\xe3\xf3\x6d\x12\x26\x22\xab\xdf\x81\xbc\x83\xb4\x27\x3b\xb9\x3e\xfb\x46\x7b\xd7\x69\x6d\xf4\x18\xac\x1f\xef\x94\x83\x29\x17\xf3\xe3\xe8\x11\xe0\x5f\x8d\xad\x81\xf4\x9a\xdd\xdf\x04\x4f\x87\xc4\xb5\xd6\x72\x7d\x6f\x7d\x3c\xce\x31\xcf\xbe\x48\x89\x74\x07\x98\x72\xdc\x33\xea\xb1\x41\xd2\x96\x62\x55\x15\xc2\xb0\x8e\xfb\xb5\xda\x2a\xbf\x58\x92\x15\xbc\xae\x4c\x0d\x86\x66\xa8\x1f\x8e\xc8\x9e\xd1\xb3\x52\x69\x38\x69\xf5\x5c\x6b\xd4\xd6\xb9\xd1\x04\x2c\x8f\xc3\x04\xad\x2b\x36\x85\x7c\x52\xe6\xf9\xbf\xd2\xf0\xcd\xb0\xbe\xb9\x7b\xf9\xee\xa5\xff\xdf\xdb\x53\xc1\xa1\xd2\xbf\x0d\x30\x9f\x73\xfd\x49\xdc\x76\x66\xc3\x80\x82\xf5\x88\x4b\x60\xa7\x0c\x0e\x80\xca\xa8\xf7\xad\x50\xd7\x9b\x93\x77\x83\xed\xe5\x09\x76\x79\xc7\xb9\x57\x15\x4a\x90\x46\xed\x46\x0a\x1b\xa9\x28\x87\x16\x6d\x50\x69\xac\xa2\xeb\xa8\xa1\xa7\x4c\xa8\x24\xb6\x61\x5f\x2b\x94\x2b\xc9\xff\x3b\x03\xaf\x27\xca\x37\x32\x9c\x90\x0f\xcd\xf9\x9b\xd4\x75\x7f\xb2\x59\x78\x7e\xda\x3c\xa1\xe4\x1f\xb0\xe6\xb7\x16\xe2\xd8\x33\x0c\xa4\x78\x56\xa8\x04\x5a\x9c\x22\xa9\x6c\x38\x95\x32\xa3\x41\x5c\xff\x5d\x82\x89\xb6\x3b\xc0\x12\x41\x7e\xb2\x81\xd6\xe8\x87\x44\xcd\xec\x37\xab\xe5\xa4\x46\xa0\x96\x0c\x2b\xee\xba\x69\xef\x20\xf8\x04\xf2\x2b\x87\x37\x70\xae\x6f\x2e\xce\x17\xcf\x16\x9d\xc9\x6e\x9d\x68\xe4\x29\x2d\x39\x0a\x06\x18\xd8\xbc\x39\x6d\xcf\x57\x63\x51\xda\x99\x0f\xcf\xd5\x3d\x08\xb7\xc1\xfd\xe7\x36\xe9\x77\x2b\x24\x52\xa9\x67\xaa\x6b\x01\x98\xf8\xec\x45\x63\x40\x44\x34\xdf\x91\x67\x59\x6c\x85\x17\x92\x5a\xd2\x6e\xa4\xda\x2f\x82\x2c\xf1\xeb\x3a\x29\x6b\x55\x75\x41\x35\xf8\x3f\xf3\x34\x3f\x88\xb9\x38\xce\x9a\xeb\xf8\xfb\xe9\x03\x3f\xde\x09\x49\x07\x37\x35\x77\x86\x6c\xa1\x4a\x9a\xfb\xf1\xd6\xbe\x3b\xc6\xb4\x8b\xfa\x48\x1b\xba\x2a\xe1\x32\x29\xa8\xf2\x6a\x51\x59\x12\xa9\x15\xa3\x2c\xbd\xa7\xd7\x0c\xf5\x9c\xa0\x42\xf9\xc1\xec\xa7\xed\x47\xcb\x96\x0c\x00\xb1\x3b\x1e\x47\x40\x37\xc1\xdd\x43\xa7\x6b\xc5\xd0\x45\xf5\x1e\x20\x59\x2f\x86\xdc\x7c\x58\x67\x5a\x33\xbe\x11\x45\xd3\xff\x10\xc8\xf7\x0f\xfe\xee\x36\x48\x43\xc1\xb7\x1e\xec\x63\x0e\x36\xce\x82\x66\xea\xa5\xb5\x62\x8e\x4b\x02\xbe\xc3\xcc\xf4\x6e\x25\xf9\x4b\x93\x43\x94\x0b\x95\x98\x08\x65\x3f\x70\x6c\x4a\x82\xf4\x5c\x59\xc6\xd3\xd1\xf7\x20\xea\x76\x94\x04\xfb\xd5\xcd\x21\x30\x43\x29\xba\xb2\x3f\x43\xdb\x19\xad\x4a\x94\xf7\xd2\x56\x68\x7e\x21\xcd\x74\xce\x03\x1e\x0f\xe2\x04\x36\x31\x7e\x35\x94\xd5\x45\x66\x62\x49\xa6\x3a\xa2\xb5\xc8\xa3\x6d\xc5\xda\x3d\x20\xf4\x18\xe4\xc8\x67\xa7\x5f\xa1\x88\x49\xa0\x1b\xa9\x40\xae\xb9\x6d\x2b\xeb\x35\x7b\xa4\x4e\x53\xd2\xd3\x47\x44\xd5\xef\x11\x24\x64\x3f\x05\x7d\x3c\xef\x39\x23\xcd\x4c\x09\x49\x32\xba\x17\x0f\xbe\xc3\xc8\x2d\xe5\xa2\x7a\x83\x50\xc9\x13\xfc\x9c\xf3\xae\xdb\x6d\xe5\x17\xf3\x58\x49\x6d\x4c\xcc\x56\x0e\x22\x8f\xa6\x19\x7b\xa4\xfa\xb8\xac\xb4\xae\x92\xfc\xf8\x57\xfd\x0d\x9e\x8d\x77\xdb\xc2\x70\xce\xc8\x44\xb4\x4f\x00\x44\x6f\xf0\x2c\x54\x19\xab\xc3\x3e\x2a\x9a\x9f\x8d\x23\x25\xb2\x4c\xb1\x0c\xf2\x08\xb2\x19\xa6\x99\x02\x71\x46\x5b\x8f\x87\x50\xe6\x6c\x0f\xf0\x8c\x40\x9c\x62\x90\xec\xc7\xec\xaf\x45\x76\x2d\x69\x09\x87\x54\xcb\x52\x65\x06\xf3\x54\xe8\x87\xad\xfb\x4b\xc9\xbe\x3b\x8d\xf5\x5a\x87\x4e\x95\xa5\x35\x30\xe6\x73\xe9\xca\xe9\xa7\x18\x66\x47\xe3\x91\x1a\x14\x3d\x0f\x39\x84\x5e\x0a\x1b\x16\x47\x97\x15\xb0\x7e\xa4\x10\x82\xdc\x11\x08\x8e\x8a\x31\xa1\x26\x23\x1c\x78\x4f\xfa\x70\x2a\xfa\x33\x0d\x7d\x0d\x94\x6c\xf3\xdd\x18\xcb\xc2\x02\x91\x62\x8a\xe8\x6b\xfd\x10\xc6\x03\x8e\x13\x3c\x16\x45\x99\xf2\xbe\xf1\x1d\xd8\x38\x8e\x32\xdd\x51\x80\xa3\x08\xb0\xf1\x38\x41\x80\x5e\x9b\x14\xa6\xd2\xfe\xb3\xcd\xcc\x9c\xf5\xbf\x9d\x08\x3b\x12\xf8\x36\xf8\xdf\xcc\x6c\x30\x78\x13\xc6\x43\x37\x9c\xe8\xd3\x51\x49\xed\x92\xdc\x92\xab\x8f\x02\xdb\x16\xb8\xf6\x08\x4d\x13\x64\x8a\xfe\x59\x2e\x75\x93\x42\xc3\xda\x34\x06\x39\x4b\xff\xf1\x03\x74\x7b\xab\xbd\x46\x37\x31\x6f\xa1\x26\xa5\x3e\xe7\xdc\x56\xa4\x5b\xa8\xd4\x10\xe9\xa4\xd3\x4a\xea\xbb\xef\x0e\x85\x6a\x6b\xdf\xff\x2d\xb2\xa5\x1b\x1d\x30\x02\x1a\xfd\xb4\xe7\x94\xdf\xc8\x42\x10\x64\xcd\x4b\xb4\x4b\x0e\x1b\x8a\x94\x0f\x23\x52\xf2\x5b\x08\x85\x34\x09\xf3\xad\x2e\x80\xf1\xca\xc1\xd9\x5f\x06\x7e\x24\x2e\x99\xf4\x1e\x77\xdd\xc2\x8d\x73\x25\x33\x15\x28\x80\x14\xa5\xc0\x3b\xc6\x8e\x2e\xf7\x88\xca\x92\x4c\x45\x24\x85\x9d\x38\x17\x58\xb9\xe3\xd9\x3d\x10\x33\xa0\xec\xa8\x36\x47\x9b\x13\x78\x72\xf0\xb2\x9f\x7d\x43\x65\x19\x37\x89\xb2\x15\xc5\xb8\x0c\x05\x5b\xc6\xd8\x15\xb3\x8d\x59\x8c\x32\x45\x96\x8b\xd6\xa5\xbb\x4e\x59\xdd\xaf\x39\x8d\x45\xf9\x59\x47\x4c\x2d\x6f\xe3\x40\x2b\x1c\x69\xac\x23\x44\x1e\x66\x3c\x67\xcf\x98\xd1\xa9\xd3\x44\x3a\x9e\x21\x70\x0d\xbe\x5c\xa3\x7c\x4b\x25\xae\x71\xc8\xf4\xb8\x30\x9e\x77\x18\x99\xbd\x26\x2b\x6c\x68\x23\xc1\x7a\xaa\xb9\xd9\x48\xa1\x57\xd9\xa7\x73\x87\x6d\xb7\x09\xa0\xd6\x9d\x97\xc7\xf9\x68\xff\xac\xb0\xc9\x85\x0a\x91\xd4\x58\x28\x5a\x0b\xb9\xa3\x50\x1d\xc5\xac\x11\xd2\x0c\x58\xec\x4d\x04\x53\xa3\xec\x43\x5d\x29\x59\xaf\xb8\xbc\xc8\x56\x48\xd2\xc0\x56\xd9\x05\xc0\xc0\x2c\x11\xcf\x75\x89\xe8\xab\xe3\xc4\x55\xb2\x3d\x61\x3d\x54\x13\xe6\x02\x49\x7a\xaa\xcd\x1e\x67\xef\x68\xee\xd9\x9f\x9d\x17\x49\x61\x2b\x60\xb7\xe6\x19\x1d\xf3\x9d\x29\xe3\xfb\x48\xd6\x70\x7d\xd7\x76\xd0\x96\x93\x01\xed\xda\xb4\x8d\xfb\xaa\x79\x12\x56\xa3\x75\xc0\x73\xa9\x35\x5b\xee\x07\x6a\x35\x36\x35\x08\x34\x7d\x5d\x0d\x63\x7f\x56\xdf\x62\xb5\x25\x30\x05\xe5\xfa\x57\xeb\x63\x7e\xc1\x33\xa2\x1c\x2c\xab\xc0\xd2\x24\x92\xfa\xce\x39\x38\xbe\xca\xc4\xf7\x69\x77\xde\x46\x0f\x2d\x4a\x86\x8e\xb6\xf8\x89\x02\xc7\x6a\x26\x18\xf8\xd7\xf6\xc4\x38\x01\x6c\xa7\xf8\x98\xbb\x89\xc6\xdd\xe6\x03\xeb\xc2\xb2\xf9\x71\xf7\xa2\x9b\x39\x61\xf8\xdc\x82\xd7\x45\x9c\x98\x19\xcf\x8e\xc8\x27\x2c\xf6\x7d\xe6\xe2\xe5\x8b\x13\x83\xd7\xe2\xaf\xaf\xee\x15\x4b\xc0\x80\x94\x7c\x7c\xd6\x2c\xd1\x91\x89\x11\xe0\x4e\x21\x17\x82\x26\xee\xe4\xff\x4e\x19\xdc\x85\xc7\x30\xff\x8b\xff\xc3\x16\x7e\x41\xc8\x3d\xcd\x3d\x28\x7d\x78\xe8\x79\x1f\x45\x39\x47\xdb\x1f\x48\xe6\x05\x42\x53\xd6\xd0\x04\xd2\x4d\x35\x3e\xd0\xcc\x70\xc7\xdf\x48\xf8\xbb\x29\x0a\x0f\x68\x0b\x47\x37\xea\x00\x2b\x00\xeb\x19\x6c\xd7\x09\x6b\x9c\xc8\x16\x36\x61\x9f\xbc\xaf\xba\x60\xb3\xf1\xa2\x3c\xca\xd9\xe8\xb7\xfe\x7c\xfb\x9e\xd6\x9a\x5a\x40\x63\x75\x1f\xea\xb6\xcc\xad\xee\x3e\xcf\x43\x16\x6d\x9c\xf4\x2f\x0d\x81\x53\x66\x14\x49\x5a\xd5\x3d\xf6\x3c\xf6\x7c\xa2\xce\xe9\xe3\xaf\xbd\x30\x44\xe8\x4b\x29\xa9\x1f\x9a\x59\xc4\x22\xb6\x4e\xc6\x3b\x38\x60\xd1\x44\x08\xbd\xae\x33\xbd\x81\x13\x42\x07\xde\xb1\xaa\x65\x56\x34\xc8\x7c\x7f\xc4\x7b\xbb\xed\xe0\x3c\x78\xa4\xf7\xd6\xb1\xd1\x47\xc8\x23\xcc\x7e\x18\x2f\xd8\xb2\x07\xd9\x09\x84\x23\x5d\xe3\xda\xd5\x6b\x14\x17\xd7\x76\x20\xec\xff\xb7\x89\x20\x20\xe6\xb6\xc6\x65\xe5\x98\xd7\x7d\x97\x3d\x02\xe5\x97\xd5\x7e\x1e\x83\x2b\xbc\x28\xba\x6c\xec\xb0\x91\x24\x51\xb2\x0e\x0b\xd8\x39\xca\x58\x27\xa9\xdc\x96\x01\x10\x73\x30\xcf\x0f\xb7\x06\xeb\x8d\x3a\x13\xf9\xc7\xf4\xb6\x47\x10\x0e\x8a\xe0\x14\x13\x10\xf5\x46\x50\x62\xa0\x5a\x25\x6e\x70\x52\xd3\x91\x70\x73\x10\x06\x62\x37\xca\x2e\xad\x82\x17\xa4\x52\x6f\xe1\xb8\x78\xb6\x15\xb3\x66\x65\xda\x90\x57\x24\x9d\x41\x5d\xf3\x5e\x5d\x63\x4a\x2b\x45\xdf\xe1\xcf\x4b\x4c\x13\xd4\xad\x9b\x31\x46\xbb\x20\xf5\x5e\x5b\xa9\xe1\x91\x96\xde\x76\x8b\x82\x3b\x04\xde\x71\x79\xc8\x97\x1b\xde\x3e\x93\xe9\x4d\x2e\xdf\x2b\xea\x35\xdc\x30\x03\x94\x1a\x70\x3a\xd3\x66\xb6\x1f\x3f\x16\x21\xea\xe6\xaf\x60\xbb\x72\xff\x0a\xdb\xda\xce\x21\xeb\xa0\xc6\xbe\x39\x47\x85\xcf\xa1\x39\xcc\x46\xce\x87\xdd\xb2\xad\x83\xde\x48\x2d\x5b\x20\x5d\x09\x03\x3c\x17\x3a\xf4\x96\x4f\xca\xef\xc2\xfe\x94\xae\x94\x7f\xda\xd5\x4a\x7a\x2e\x56\x02\x1b\x0d\x15\x8a\x67\x21\x62\x23\xa5\x7e\x6e\x87\xa0\x5e\xa3\x40\xaa\x21\x67\xbf\xa4\x71\x91\x5f\x72\x46\xaf\x20\x6c\x4d\x4e\x03\x63\x2d\x73\xdc\xa7\xd2\x07\xdf\xdf\xb0\x44\xa4\xa2\xca\xd2\xc6\x08\xbc\x6a\x1c\xe1\xea\xa3\x6a\xd0\x70\x4b\x34\x78\x7a\x1b\x03\x0c\xec\xc5\xd8\x01\xb1\xdb\x2f\xcb\xa0\xc1\xaf\xb1\x58\xd5\x15\x79\x78\xbf\xbf\x6e\x33\xe6\x50\x7a\x30\xbb\x36\x4d\x61\x71\xe2\x7c\xe6\x67\x46\xd8\xc7\xb8\x25\x7f\xdf\x79\xd9\x38\xb2\xc2\xf0\xe5\x26\xea\xee\x30\x33\x01\xcc\x07\xa4\xe4\x0d\xfa\x4e\x11\x8e\x0e\x0d\xce\x8a\x24\x03\xef\xc3\xc6\xa5\x58\x88\x47\xa2\xf6\xda\xa6\x9f\xcd\xd6\x2f\x9f\x3a\x66\x3c\x97\x81\xf4\x72\x55\xeb\xf7\x14\x4c\x84\x61\xd6\x49\xc9\x24\xff\x44\x97\x83\x5d\xd8\xe6\x17\x82\xd8\x3b\xf3\x0a\x25\x75\x79\x8d\xd5\x79\x91\x71\x84\xa3\x0e\xa8\xf4\xfc\x6e\x53\x96\x36\xec\x96\x56\x8e\x49\xa5\x7f\xd9\x17\xcf\xbb\x77\x2f\xa5\x6c\x62\xa7\x97\xa0\x37\x9c\x57\x56\xd6\xf2\x1a\x7c\xcf\x29\x5c\x07\xe4\x7d\xfd\x80\x6d\x66\x77\x7d\xb2\x37\xae\xd3\x24\x30\x7e\xe7\xf0\x32\x5e\x07\xc0\xb7\x3d\x5d\x36\xe9\x85\xd1\x34\x8f\xfd\xed\x79\x94\x69\xaa\x76\xbf\x54\x72\x23\x88\xa9\xb6\x7f\x51\x51\x1f\xeb\x69\xc5\xb2\x0e\xce\x5c\x12\xd8\x6b\xd6\x3c\x3d\x35\xce\x13\x62\x1c\x9f\xd5\x5c\xf1\x86\xc3\x32\x0a\x92\x9d\xba\xbe\x75\x75\x5d\x3f\x73\x8d\xe3\x08\x7d\x7d\x81\x7e\xe1\x2a\x57\xb6\x1d\x35\xab\xfa\xbc\xc7\xf9\xf6\x2f\x8a\x3b\x33\xd8\x1d\xe9\xae\xbe\xcf\xcf\x5c\xf3\x6d\xa5\x6e\x88\xa9\x9b\xc0\x35\x63\x23\x96\xe5\x44\x2e\x4f\x56\x73\xd8\x66\x26\xad\x0b\xcc\xde\xf4\xfb\x3d\x1e\x36\x7e\xd1\xf4\x9c\xac\xd9\x60\x67\xbb\x9b\xb3\x5a\x0a\x96\xdd\x91\x12\x8b\xe1\xf5\x46\x53\x1c\xf0\xe0\xb6\x12\xee\xa7\x95\x74\xfd\xad\xb7\xeb\x0f\x45\x0b\x9b\xa4\x32\x24\xfa\x2c\x7c\xe4\x1d\xb1\xad\x38\x39\x01\xd5\x2a\x1d\x14\x00\x74\x8f\x84\xd7\x9f\xf0\x07\xda\x49\x65\x50\xa5\x1c\x55\x7c\x35\xeb\x07\xa8\x7e\x08\xb4\x4c\x68\x3c\x16\xab\x53\xda\x45\xba\x44\x1a\xdb\x1a\xc2\xc3\x31\xc7\xa5\xfb\x63\x69\xbe\x99\x11\x47\xb0\xb3\xba\x17\x75\x0c\x44\xad\xb6\x45\xfe\xe4\x55\x8d\xbe\x78\x40\x3c\x66\xf5\x18\x62\xb0\x53\x37\x8d\x0e\xbb\x10\xf1\xf1\x50\x4d\xe6\x77\x35\x07\xb7\x98\xe4\xbf\x8d\x35\xad\x18\xc9\xb8\x74\xf1\x9a\x6f\xc2\xb2\x22\xe5\x2f\x17\x15\x1b\xac\x45\xb1\x14\x8e\xb6\x4b\x35\xf6\x28\xc1\xe9\xe2\xf3\xbf\xd7\xe5\x5f\xc3\xfa\x94\x55\x96\x0f\x37\x39\x33\x98\x08\x59\xbd\x08\x2b\xf0\x84\xb3\x12\x56\xe4\xb4\xd4\x3a\x89\xb9\xc0\xd5\x81\xef\xe9\x17\xd4\x98\xde\x84\x7b\xa8\xdc\xa0\x26\x30\xb2\xcf\x97\x6b\x61\x8d\xe3\x30\xe8\xe2\x2d\xa7\x5b\xca\x31\xd9\x66\xd1\xc8\xfc\x35\x16\x7d\xae\x53\x6b\x9b\x82\x2f\xda\x8b\x4e\xe6\xd2\xac\x08\xb5\x21\x3a\x32\xd8\x33\x28\x1f\x04\x5a\xbe\x11\x30\x95\xfd\xc5\x2b\x24\x8d\xf6\x6a\x7f\xbe\xa6\x7b\x33\xfa\x3f\x97\x9e\x27\xe7\x50\x82\xe9\x4a\x63\xd0\xda\xcd\x7e\x8f\x87\x09\x53\x09\x56\x35\xf5\xb9\x8b\x66\x69\xbe\xea\x7b\xb7\x9a\xca\x08\xe9\x34\x5c\x6b\xc4\x71\xa0\x60\xb6\x9b\xb1\x9d\x33\xdf\xfb\xb3\x9a\xfa\x45\x71\x81\xd9\x84\xec\xe0\x24\x97\x54\xc0\x2d\x2f\x93\xeb\xca\xae\xa8\x41\x20\x6b\x77\x7e\x69\xd5\xf5\x7f\x46\x72\x5b\x53\x45\xd9\x96\x36\x06\x96\xa1\xde\xb0\xe2\x87\x3a\x5a\x45\x53\xf2\x9e\xa9\xde\xba\xa5\xb3\xff\x11\xb9\xf9\x9c\x63\x7e\x48\x17\xc9\xd7\xac\x5b\x98\x5f\x3f\x1a\xd1\xe2\x18\xbe\x40\x20\xaf\x88\x4d\x48\x04\x17\x52\xca\xaa\x91\x1e\x7b\xd1\x35\xd6\xfb\x04\x0e\x99\x31\xe5\x38\xfe\xd7\xac\x01\x92\x24\x4f\xa4\x90\x0f\x74\x10\x63\x59\xe8\x45\x68\xda\x92\xaf\xad\x16\x89\xaa\xc6\x37\x1e\x2c\x60\x63\x8c\x0b\x22\x1a\x2b\x8e\x31\x1e\x9a\xee\x8f\xe8\x6f\xac\xc5\x9e\xf1\x62\xd5\x74\xba\x2d\xe1\x15\xb5\xb6\xf8\x38\xe5\xed\xaa\x9a\xae\x9c\x19\xd6\xba\xa9\xad\xd9\xe8\xff\xfa\x0b\xb4\xa5\x61\xc8\x6b\x93\xca\x29\x32\x1a\xbc\x06\xf5\x98\x93\xba\x0e\x7b\x4e\x9a\xb2\x46\x5b\xa3\x09\x78\x76\x92\x9a\xb0\x7b\x0c\x39\x18\x06\x15\xe1\x5f\xa8\x47\xcb\x9e\xaa\xed\x08\xd7\x99\x4e\x90\x32\x68\xda\x53\x6f\xb3\xaf\x3d\x2e\xbb\x77\x68\xb7\xb2\x7d\xf9\x7c\x0c\x7e\x4f\x90\x49\x1f\xbc\x79\x98\x95\x0e\x9d\xca\xdb\x3b\x73\x24\x1c\x5e\x7c\x62\xf3\xf1\x54\xfb\x92\x3d\xd8\xd3\x00\xe8\x15\x62\x5f\x7a\x36\xee\xd0\x3c\xad\x74\x74\x36\x9f\xc6\x07\xf5\x48\xe5\x5b\x7b\x52\x52\x9f\x44\xae\xdb\x52\x06\x0e\x66\x1b\x28\xbc\xa7\x41\x36\x50\x36\x20\x3a\xaa\x5e\x27\x2d\x35\x7d\xd8\xc5\x42\x7d\xb8\xea\xe0\xa0\x32\xb9\x05\x6a\xe8\x35\x79\x73\xe0\x56\x2a\xc3\x83\x33\xf0\xb2\xc2\x0b\x1a\x92\xa4\xab\xde\x70\xa6\x2c\x85\x7a\xde\x2b\x39\xb2\x56\x7c\x30\xc0\x5f\xc5\xc4\x88\x47\x1e\x2c\x53\xc8\x8b\x7e\x5c\x9d\x15\x4d\x49\x23\x56\xf7\xc2\x9a\xc7\xfe\xbf\xde\x4c\xcb\x0d\x93\xd5\x28\x42\xbb\xd3\x6f\x8a\x34\x78\xe8\xf8\x91\xe7\x5c\x32\x3a\x98\xbb\xf9\xd6\x0e\x94\x4d\xb1\xd3\x3a\x7e\x79\xf5\x94\x12\xf2\x64\x19\xb7\xa6\x9a\xb0\x2d\x6a\x85\xe9\xdc\x84\x09\x91\xb9\xbb\x39\xc5\x72\x00\x71\x3f\xbe\x20\x78\x2b\x05\x1a\x88\x9e\x2a\x20\x0c\x92\x3e\x3b\xcc\x11\x16\x14\x86\xc0\xd4\x07\xb5\x49\xcd\x16\x7d\x61\x67\xfb\xb8\x25\x24\x4b\x81\x2c\x6e\x01\x32\x62\xe7\xd2\xe3\x25\x3c\x35\x95\x40\x33\x68\x31\x73\x05\xfd\x30\xc4\x45\x78\x55\xe8\x9d\x3d\x41\x46\xdc\x73\x00\x5d\xcc\x20\x0a\x87\xef\xa2\xe7\x25\x3f\x2f\xc1\x57\x6e\x6a\x34\x00\xe3\xa2\x30\x04\x88\xae\x38\x10\xa9\x91\xec\x4f\x58\x64\x11\x70\x03\x06\xe6\x3f\x7c\xe0\x18\xa8\x1f\x94\xd8\xec\xb5\x52\x3d\xa4\xd0\x41\xf4\xad\x4f\x7a\xe0\x3e\xb5\xec\xb3\xff\xa0\x7f\xf1\x37\xf3\xc6\xf5\x6f\xdf\xbb\xf8\x10\x9f\x69\x16\xc4\xfe\x13\xff\x1b\x74\x69\xfe\x6e\x9c\xe5\xe3\x5e\x1e\xcf\x95\x37\x7d\x08\xcf\x7f\x76\xc0\x85\xfd\x2b\x25\xf3\xfb\xe2\xed\xb9\x7c\x2c\x62\xcf\x61\xcf\xbd\xe7\x96\x77\xcc\x7c\x90\x62\xdf\x4c\x5e\x04\xfe\xe3\x83\x17\x07\x2b\xdf\xec\x3f\xdc\xa9\xf9\x62\x1f\xd3\xf0\x85\x6f\xfc\xdf\xbe\xd9\xef\x74\xf2\x60\xa0\x8b\xb7\x26\x10\x6d\xe1\x84\xe8\x5a\x87\x4c\xf5\xe7\xa6\x2c\x00\xe6\x78\xf8\xb0\x78\x70\xcb\xf1\x0f\x0a\x9a\x1f\x2d\xc6\xc5\x1a\xfa\xea\x91\xe2\xe4\x1c\xb4\xfd\x62\x4a\xe3\x8d\x40\x18\x0d\x99\xab\x9c\xbc\x1a\xcd\x74\x2d\x4a\x18\x11\x8d\x6c\x20\xf6\x01\xdd\x08\x5b\x13\x89\x28\x27\x8d\x18\x0b\x45\x27\x93\x8d\x3a\x38\xe9\xc1\xd0\xe1\xb5\xd4\x8d\xa7\xa0\xdc\xb6\xdd\xd6\xc6\x30\xad\xc7\x2c\x80\x1d\x77\x3c\x24\xf1\x60\xd1\x81\x9d\xd4\x9a\x1c\xce\x69\x44\x0f\x14\xd4\x41\x52\xec\x10\x27\xb1\x1d\x51\x97\xe9\x63\x34\xf4\x66\xb4\xbd\x74\xb2\xc0\x97\x34\xb8\xe4\xb4\xfb\xa5\x78\x74\xe3\x51\xd1\x5a\x2e\xab\xf2\x89\x68\xda\x4e\xcd\x78\x9d\x21\xc8\xd1\x04\x40\x8b\x23\xbd\x62\xb2\x16\x18\x0d\x8c\xb1\x07\xc3\xfe\x68\x2b\x95\x78\x64\x56\x1e\x3e\xac\x27\x3d\xa4\x57\xa1\xe2\xd2\xa8\xb0\x14\x54\x29\xf5\xca\x7d\x43\x83\x53\xae\x6d\x82\x95\xd4\x23\xd9\xd0\xd1\xcd\xf0\x4c\x5a\x6d\x1d\x6c\xc9\x85\xd3\xbb\x99\x65\xe7\xb0\xa0\x55\x16\x2c\xd6\x44\x4b\x49\xc8\x29\xc6\x57\xc3\x71\x2d\x8f\x9a\x6c\x6b\x86\x2f\xa5\xa2\x1a\xb7\xe5\xc2\x9c\x22\xd7\x00\x5b\x9f\xb9\x88\x52\x72\x32\x5f\xa5\x4d\x93\x5a\x0c\x0c\x9f\xa5\x33\x14\x5c\xdc\x23\x46\x5a\xde\xb6\xb0\xf3\x50\xb9\x4c\x03\xdc\x5c\x3e\x7d\x32\xa1\x12\xcc\x89\xb5\xc4\xcc\x5f\x76\xe4\x5f\x47\x60\x85\xad\x15\xf4\xbe\x6c\xcf\xbf\xb5\x79\x47\xca\xca\xa6\xbd\xf1\x01\x64\x3a\x66\x0d\x1c\xc9\x72\x07\x17\x4e\xea\xdf\xee\xdf\xd7\xfb\xad\x53\x91\xb4\xce\xdb\xf2\x96\x1c\xfb\x68\x6f\xb0\x24\x68\x8d\x39\xd1\xa1\x8d\x45\x3a\x26\x0e\xc9\x1a\x61\x22\x52\x4f\x87\x3d\x55\xee\xb3\x82\xc2\x45\xf3\x53\x1f\x43\x55\x5a\xf2\xcb\x0e\x5b\xe9\xad\xfd\x16\xb1\x5e\xf1\xf8\xf8\xfe\xf0\xbc\xac\xb6\x7e\x43\xb3\x84\x19\x61\x71\x38\x7f\xb0\x06\xca\xea\xe1\x01\x44\xa3\x68\xb9\x81\x3e\x76\xb6\x10\x3e\xb4\xd6\x4e\x11\x0e\xcd\x38\xf0\x81\x68\xf6\x9f\x46\x51\x6e\x2b\x1b\xe8\x0b\xdf\x19\x3d\x6f\xc8\x79\x5b\x24\xc9\x3b\x17\x26\x7d\x42\x73\x72\xf5\x1e\xee\x8a\x5a\x1d\x15\xad\x1d\x1c\x17\x3b\xfa\x3f\xff\x6d\x2b\x32\x54\x53\x17\x8f\x86\x19\x17\x06\xd0\xde\x8a\xff\x21\xce\x2b\x1f\x0a\x6c\xa0\x99\xec\x25\x84\xd7\x29\x13\x39\xe7\x1d\xf9\xd0\xa9\xb3\xbd\x1a\x75\x07\xb0\x29\xc8\x06\xc9\x27\xd2\x2b\x2a\x29\x3a\x7a\x47\x23\x58\x85\x8d\xcc\x22\x4d\x9a\x96\x01\x4d\xc9\x3a\x24\x34\x28\x28\xbd\x5a\x5e\xdf\x4a\x70\x6c\x3d\x57\x27\x49\x15\xa0\x56\x92\xd1\x0a\x35\xe1\x8d\x7e\x9a\x75\x44\x7f\xc7\x76\xc1\xfb\x25\x4a\x85\x32\xc4\x0e\x1b\x82\xd9\xa0\xd4\xff\xcf\x02\xd6\x34\x93\x54\xcc\xbe\xb4\x14\x52\x7e\xf2\x26\x1e\xd8\x77\x30\x2e\xae\xcb\x6c\x81\x9a\x34\xfb\xcc\x8e\x50\x21\x9c\x0f\x2a\x27\x9b\x08\xca\x6e\xae\x6b\xa8\x4a\xdc\xea\x7e\x57\x62\xd6\xae\xb4\xcd\x2c\xdd\x61\xd3\x16\xd9\x1d\x18\x57\x30\x5c\x2d\x73\xa2\xa6\x6c\xd2\xb5\xda\xc0\x3b\xae\x34\x9e\x76\x6c\x1c\x91\x56\x5f\x53\x69\xab\x26\xa7\x5e\xf4\x76\x9c\x06\xe4\xe8\x00\x01\x93\x11\x25\xec\xc9\xbd\x3d\xdb\x30\xa5\x1a\xd2\xab\x2e\x18\xd6\x9d\x51\x4b\x66\x92\x89\x4a\x59\x94\xa3\xd0\xd8\xba\xa0\xef\xfd\x1f\xa2\x20\xb4\xeb\xd8\xd3\xfb\x97\xb7\xeb\xa9\x8c\xe1\x6f\x08\xed\x12\x72\x70\x47\x95\xe7\x14\xe1\x05\x1d\x55\x21\xcd\x41\x7d\x9e\x7a\xa5\x46\xf2\x0f\xee\xb5\x38\xd6\x4f\xce\x86\x6a\xba\x7d\x82\x86\xa3\x71\x0b\xdc\x81\x89\x9d\x03\xe6\xf9\x11\x55\xfa\xa8\xca\x5b\x1f\x53\xe5\x48\x43\x55\xe3\x3e\x50\x45\x4d\x5d\xb5\xdb\xbc\x5c\x57\x35\x09\x9b\x84\xb9\xc7\xc9\xca\xa0\x93\x79\xe3\xd3\x44\x6b\x43\xd8\x4a\x52\x1a\x4a\x53\x69\x2c\x6d\xd5\xa8\x4c\x49\x97\x06\x35\x45\x3d\x63\xb5\x45\xcd\x53\xa3\x8f\xed\x81\xd3\xac\xf4\xc9\x53\xc8\xb9\x5c\x9f\xb1\xe5\xc4\x1f\xd0\x1a\x69\x23\x5c\x98\xaf\x38\x30\x1a\xa0\xe6\x09\x2c\x59\x43\x94\x80\xe9\x8c\x16\xcb\x7f\x54\x91\x99\xd3\x32\x81\xb2\x5f\x0e\x56\x59\x14\xc3\x2e\x42\x53\x6b\xcd\x3a\x03\xc5\xc2\x35\x4e\x61\x38\x73\x2e\x98\x0c\xe1\x37\xfd\x56\xcb\xdc\xb1\xea\xd8\xe6\x14\x58\x38\x6a\x3a\xee\xe9\xe8\x04\x28\xad\x3c\xd5\x8a\x5d\x1f\xfa\x71\x41\xbd\x88\x44\x84\x9c\x46\x5e\x17\xf2\xdc\x73\x65\xd9\xdc\x31\xfd\xf1\xd9\xea\xb1\xf1\xc6\x03\x4f\x67\xcf\xe0\x64\x60\xc0\x0e\x95\x45\x0e\x2b\xcf\xaa\x20\x69\x79\x1d\xdb\x5c\x5f\xee\x3a\x9b\x74\xb9\xbe\xb7\x20\xda\xae\xa5\x80\x89\x1b\xed\xee\x14\x8b\x5c\xa8\x76\xd2\xbe\x9d\xb9\x98\x33\x7d\x4d\x4c\xf1\x0d\xbb\x06\x11\x26\x5c\xab\x12\xe9\x10\xc1\x39\xb1\x89\xcf\x6d\xd6\x81\x05\xcd\x6c\xbf\x3b\xc6\xac\xa3\x83\x77\x02\x34\xc6\x1f\x62\x51\x13\x7c\x03\x3a\xca\x2a\x14\x95\xd0\xfe\x1a\xc0\x34\xeb\x53\xfd\x1f\x0d\x42\x24\x46\xe0\x83\xf6\x6f\x75\xcc\x0c\x71\x1b\x60\x93\xbe\x41\xea\x3f\x08\xf8\x1e\xc5\x16\x02\xad\x4a\x00\x4b\xee\xf9\xb2\xe1\xb4\x89\xec\x61\xcb\x2d\xb9\xdd\x1b\xeb\xf2\xc1\x76\x98\xdb\x75\x22\x81\x8b\x99\xb3\x04\x63\xc9\xd3\xa1\x58\x33\xb5\x46\x9a\xe4\x9f\xcd\x79\xfd\x78\xe4\xc0\x76\x3d\x63\x57\x09\x61\x80\x9a\xa5\x24\x40\xae\x5a\xa5\x69\x5e\xb6\xeb\x73\x93\xae\x2b\xb9\x33\x08\xce\x6a\xa8\x76\x45\x79\xfe\x37\xb1\xf3\x05\x6b\x7e\x91\x25\x66\x8a\x57\x13\x88\x3e\x16\x05\x46\x25\x6f\xef\xd2\xa0\x7c\xdc\x22\xa5\xb4\x22\x72\x4f\xfe\x46\x49\xe0\x4d\xa1\xa3\xdc\xa6\x92\xc6\x38\x5d\xb2\xb7\x14\x13\x8e\x1f\x4f\x8e\x73\x6b\x8b\x43\xa3\x79\x0c\x00\x8c\x76\xa5\x2a\x97\xef\xae\x85\x8d\xc9\x7a\xe9\xd7\x2a\xea\xb8\x47\x34\x1c\x97\x56\xdd\x54\xb8\xb8\x46\xd1\x12\x13\x03\x68\x83\x87\x2c\x38\x76\xc4\xc5\x14\x19\x14\xb1\x18\x26\x31\x70\x22\x20\x0c\x67\x00\xb6\x32\x0c\xc3\x98\x8e\x59\x1d\x08\x9d\x3e\x37\x9f\x0d\xbe\x58\xf0\xdd\x96\x06\x99\x01\x15\x19\x38\xd9\xd6\xf1\x96\x85\xca\x1b\x65\xb1\x13\x91\x5b\x2d\x10\x4f\x2b\x78\x9a\xc2\x8d\x9e\x42\x1e\xd7\xa6\x6b\x4c\xb2\x6c\x66\x74\x2d\x9f\xd7\xda\x26\x4b\x27\x39\x73\x8d\x70\x72\x8f\x56\xfc\x2e\x96\x03\x71\xdd\xc0\xa7\x39\x0a\x11\xd2\xec\xed\x3a\xdd\x06\xb1\xd2\x38\x98\x85\x93\xfa\x0e\xda\xa1\xef\x7a\x42\xdf\xf5\xaa\x8a\xda\x2c\xf7\x70\xa0\xd2\x23\xa5\x27\xe6\x14\x5b\x6e\xba\xa6\x59\x15\x37\x9c\x5f\x64\xff\x5d\xb8\x3b\xab\xe2\xad\x12\xd3\x98\x05\x5c\x67\xd6\x7e\x0e\x8d\xbe\x85\x00\xe3\x07\x3f\x25\x73\x42\xc1\x1a\x5d\xaf\x93\x5b\x95\xa8\xc2\x3f\x18\x82\x01\xde\x13\x06\x0c\xf5\xd2\x90\x7a\x2c\xe4\x0d\x45\x68\xd1\x14\xba\x39\x41\xe1\x4f\x9e\xda\x40\xa7\x94\x06\x29\x03\x19\x24\xf7\xa6\xf9\xf7\x94\x36\xc5\x88\x7f\x35\x51\xaf\xc9\x1d\xa0\x11\xb4\xbd\xed\x4a\xdb\xa3\xac\x8f\x74\x7e\x62\xa2\x65\xe7\xcc\x8d\xb2\x2a\xec\xc5\x8a\xf4\x27\xd6\xf4\xa6\x47\xf2\x52\xae\xc5\x53\x70\x45\xf7\x25\xe7\xfb\x75\x04\x69\xba\x72\x1e\xcf\xa5\xe3\xae\xdb\xa4\x19\xe6\x63\x0e\x51\xce\x6e\x28\xf9\x5c\xb3\xfa\x61\x62\xb6\x88\x9f\x01\x95\x81\x9e\x8d\x98\xf0\xa6\x87\x4e\x03\x7c\xee\x58\x03\x5c\xf5\xbc\xfa\x34\xf2\x3c\x95\x23\xde\x51\xb4\x24\xa7\x69\x56\xbd\xd2\x42\x1c\x48\x6d\xfd\x4c\xeb\x96\x7e\xec\xe5\xee\x45\x24\x00\xd0\x8e\x0c\x92\xde\x18\x7b\x22\x9b\x03\x76\xcd\x4c\x0f\x9d\x8d\x1a\x81\xb7\xe3\xf5\xa4\xf4\xae\xcd\x80\x45\x1b\xbb\x21\xc0\xe9\x6a\x77\xca\xc8\x06\x78\xc0\x23\x04\x36\xb8\xd2\x2e\xd2\x0e\xeb\xdd\x90\xae\x9b\x97\x0c\xd3\xc2\x19\x4a\x8c\xfa\x6a\xb1\xd0\xa2\xdc\x43\x38\x73\x11\x57\xa5\x91\xa3\xf1\xf6\x74\x23\x37\x27\x2d\x21\x06\x2e\x68\x5e\xcd\x03\x0f\x81\x00\xe6\x47\xa6\x33\xf6\x6e\x3c\x07\xdb\xf8\xe6\x35\xa3\xe7\xc9\x08\xb2\x92\x07\x30\xf6\x68\x5d\xd3\x61\x61\xc0\x0d\x09\x13\x57\x17\xbf\x59\xa2\x94\x2f\x5b\x43\x20\x9a\xa3\xca\xc8\xef\x01\x87\x57\xb0\xc0\x7e\x46\x0d\xb6\xb3\x29\x5d\xeb\x14\x50\x45\x89\x45\x6e\xf8\x40\x27\x49\x8c\x22\x82\x28\xe3\x74\xe3\x48\x5a\xb6\xb1\xaf\xd5\x61\xfe\x38\x99\xdb\xf6\x1b\x65\x2c\xf1\xe4\xbc\x50\xae\xed\x18\x05\x64\x2d\xc7\xd4\xe4\x59\x45\x4d\x1b\xe6\x20\xb9\xda\x2f\xb2\x67\x12\x66\x78\x91\x4e\x58\xef\x66\x94\x48\x51\x2a\xed\x76\xf8\x48\xdd\x49\xca\x25\xfb\xd2\x90\x82\x4d\xcd\x23\x45\x06\x24\xa2\x52\x93\x21\xf9\x0c\xc3\x86\x15\x41\xbf\xa9\xe4\x02\x14\x6f\x31\x2a\xfe\x6c\x43\x6c\x79\x3d\x91\x30\x63\x4a\x87\xde\x9a\xdc\x75\x0d\x47\x74\xfe\x08\x72\x3d\x6f\xd3\x24\xf8\xcc\x39\x6a\x90\x1b\xe0\x6b\x89\x46\xa0\x9c\x8d\xaa\x58\x25\xd5\x7b\x77\x28\x99\xbb\x5c\xd4\x4b\x75\x13\x18\x79\xc0\xc7\x40\xcb\xaf\xc3\x35\x41\xa1\xff\xc8\x83\xb2\x9b\x6d\xab\x49\xcc\x28\xb5\x5e\xfd\x50\x51\xe1\xc7\xf6\xaa\xc6\x39\xf4\x71\xa9\xc2\x4e\x6e\x1c\x20\xf8\x79\x90\x8a\xb0\xf7\x09\x43\x75\x88\xf5\xa9\x33\x30\x2a\x07\x5f\xae\x57\x40\xd6\xcc\xf1\x2f\xfd\x0f\x21\x2c\x4e\x3a\xc2\x4a\xe1\x81\x64\x34\x61\xd2\x2e\x8a\x51\xf2\x85\x4a\x26\x59\x1e\x1b\x22\x25\xe4\x28\xc9\xf4\xbb\x87\xc1\x86\x00\x25\xfd\x15\x9a\xdd\x76\x3a\x05\x3c\x3a\xfb\x37\xf6\x53\x39\x6f\x84\x61\xe5\xab\xee\x56\xcc\x7c\xf1\xb5\x74\xc3\x17\x99\x76\xdf\x5c\x03\x25\x66\x78\x29\x49\x83\xa8\x56\x07\x69\x68\x6d\x24\x00\xc2\xa4\xd2\xa9\x23\x1d\x3c\xde\xbc\x36\xfa\xee\x49\x93\x04\x2b\x90\x52\x93\x84\xf2\x1a\xef\xfc\xc8\x69\xe6\x61\x39\xf5\x7f\x50\x6b\x4c\xaf\xde\xc7\x97\xfc\x04\xc0\xe4\xbb\x5e\xe2\xf5\x5a\x16\x81\x8a\xb9\x0c\xe9\x88\x1a\xcb\x1b\x72\x23\x1b\x19\x07\x9c\x69\xe3\xa5\x5f\xe2\x97\xba\xeb\x71\xbe\x2a\x04\xa7\x86\x4c\x76\x78\x51\x5e\x13\x86\xec\x7a\x9a\x93\x84\xa4\x88\xb9\x92\xc5\x26\x30\xb1\x62\xa4\x0f\x75\x7b\x56\x99\x00\xa3\xf4\xb3\x4d\x91\xc0\xc9\x51\x98\x4a\x25\xe6\x8f\x5e\xad\xb9\xc7\xa8\x9d\x75\x2e\x38\xff\x84\x88\xcb\xf9\x6a\x2b\x23\xf0\x4b\x2e\x4a\x30\x6c\xe5\x83\xa6\x13\x4a\x89\x7b\x0b\x48\x6d\x39\x60\xf3\x9a\x69\x3d\x1a\x80\x74\xc0\x60\xc6\xbd\xe9\xe6\xb2\x28\x01" -func vendorsMain86053eda843a2f338397JsBrBytes() ([]byte, error) { +func vendorsMainEbc1861b956e3132eed7JsBrBytes() ([]byte, error) { return bindataRead( - _vendorsMain86053eda843a2f338397JsBr, - "vendors~main.86053eda843a2f338397.js.br", + _vendorsMainEbc1861b956e3132eed7JsBr, + "vendors~main.ebc1861b956e3132eed7.js.br", ) } -func vendorsMain86053eda843a2f338397JsBr() (*asset, error) { - bytes, err := vendorsMain86053eda843a2f338397JsBrBytes() +func vendorsMainEbc1861b956e3132eed7JsBr() (*asset, error) { + bytes, err := vendorsMainEbc1861b956e3132eed7JsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "vendors~main.86053eda843a2f338397.js.br", size: 68833, mode: os.FileMode(436), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "vendors~main.ebc1861b956e3132eed7.js.br", size: 69805, mode: os.FileMode(436), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _workboxV363WorkboxBackgroundSyncProdJsBr = "\x1b\xb4\x0d\x00\x8c\x94\xae\x42\x62\xd9\x6a\x69\xf6\xcf\xe7\xe5\x28\x4d\x5c\xd0\x84\x9d\x74\x0d\x98\x5a\xaf\x74\xa7\x8d\x67\xe8\xb5\x0e\x8a\xb4\x90\x38\x69\x02\xe3\xe5\xff\x9f\xfb\x55\x8b\x54\x4a\xa0\x54\x3c\x56\x76\xef\xbb\x7b\x67\xf3\x2f\x6f\xdf\xb6\x21\x6a\x63\x88\x58\x12\x0b\x91\x43\x33\xc9\x24\x0d\xb1\xb2\xc6\x66\x7b\xd5\x13\xab\x03\x1b\xd2\x80\x54\x02\x09\x27\xf6\xe5\x3b\x7f\xd1\xbe\xcc\x2f\xc2\xc8\x05\x54\xb0\xe3\xf7\x1f\x79\xe2\x1e\xfd\xc5\x0b\x2a\x74\xb7\x34\x59\x35\xad\x71\x52\x37\x68\xfd\xd1\x9b\xa4\x43\x71\xef\xeb\xce\x05\x17\x84\x9a\x22\xeb\xf6\xf4\x5c\xb8\x46\x37\xe9\x9a\xfb\xc0\x5b\xc3\x9b\xd3\x6d\x75\xe9\x6d\xab\xca\x3b\x37\x66\xdf\xa1\x03\x47\xf0\x9e\xad\xf4\x48\x8a\x04\x44\x48\xff\x7e\x30\x55\x99\x25\x6b\x1c\x53\x73\xe8\x10\x06\x25\x08\x30\x52\x30\xb0\x97\xa6\xd1\xa8\xe5\x00\x47\xea\x08\x99\x8c\xfb\x30\x48\xe5\x78\xeb\x76\x18\x40\x90\xc8\xdf\xf1\xa2\x56\x5a\xf6\xe3\x5e\xd2\x95\xa9\x6a\xa5\x36\xa2\x27\xf1\x47\x59\x23\x97\x5f\xaa\x07\x48\xdd\x89\x87\x3e\x02\x57\xb9\xf3\x44\xcf\x16\xba\xd9\xe0\xf8\xa1\xed\x3c\xb3\xd0\xb0\x5a\x2e\x5f\xf6\x4a\x48\xf9\x1a\xff\x88\x92\xe6\x95\xd0\x94\x4a\x16\x0f\xb4\x4f\x65\xef\x01\x86\x43\xa9\xbe\xba\x27\x76\x15\xdb\x87\x72\x58\x09\x55\x4a\xa7\x18\x87\x0f\xa0\xf1\xd7\x76\xf5\x03\xb7\x72\xa9\x55\x5b\x3d\x47\x2b\x28\x4e\x75\xd3\x76\x7a\xd7\x3e\xb4\x2b\xfd\x8b\x61\x4e\xbb\x77\x67\xf9\xb6\x6a\xbe\x2f\x35\x05\xa1\x77\x03\x09\x07\xae\x77\x37\x39\xa8\x81\x81\x07\x93\x3e\xa2\xd4\xec\x21\x59\x2d\x14\x38\x1f\x86\xca\x8f\x47\x15\xca\xe5\x9b\x07\x83\x4e\x45\x52\xa9\x2c\xc6\x60\xb0\x68\x9c\x35\x7a\xb0\x70\xb5\x53\x51\x9f\x45\x73\xc0\xb3\x3c\xae\x69\x61\x01\x9e\x88\xfd\x90\xab\x0f\x76\x00\xa3\x79\xd4\xd4\x7e\x86\xf6\xa0\xc1\x4c\x0b\xa6\xe9\x91\x01\x44\x4e\xe0\x4d\x84\x96\x16\x60\xe8\x22\x6c\xc7\x85\x7b\x68\xd2\x86\x17\x8f\xf1\xdd\x8a\xc9\x10\xe7\x78\x9c\x65\x39\x39\xf7\x32\x90\x0a\xb4\x53\x77\xf9\xb2\x17\x22\x9a\x3e\x0b\xba\xa0\xc4\x05\x40\x24\xcf\x35\xd4\xea\xc5\xc0\xd8\xd1\x89\xcc\xc3\x45\xad\x3b\x1c\x66\x76\x6b\x81\xac\xc5\x85\x9d\x16\x42\xbd\xb8\x53\x9c\x8a\xf6\x2f\xbc\xdd\x6c\x6e\x6f\x18\x70\x53\xea\x64\x66\x28\xed\x70\x32\x89\x56\x1e\x49\xbd\xd0\xe3\x87\x67\x52\xdd\xe8\x88\x5b\xec\x25\x2f\x67\x02\x9c\xc9\xeb\xb6\x20\x7c\x57\xdc\x9d\xa0\x93\xb8\xd3\x49\x24\x32\x80\xa3\xb3\xf5\xd2\x19\xbb\xc8\xae\x7d\x91\xa7\x7a\x4c\x4c\xf5\xe7\x37\x06\x79\xd1\xbd\x7a\x6d\x0b\x2e\xd8\x85\x6b\x45\x86\xac\x6d\x2f\x03\x1b\xe7\xd9\x7b\x7b\xba\xa8\x0c\x4d\x21\xbf\xb6\x83\x7c\x60\x0c\x5f\xa5\x54\xe9\x5d\x9d\xbb\xc3\x21\xd6\x12\x94\x94\xe4\x79\x0b\x36\x2d\x55\x90\x13\x31\x1e\x08\x42\x3c\xc0\x78\x12\x58\xc6\x7d\x90\xe7\x35\xb9\xa5\xde\xa5\x39\x27\xeb\x21\x7b\x2c\x0f\x61\x12\x27\xa1\x1f\xc4\x52\xb4\x52\x63\xb1\x94\xae\xca\x9a\x8e\xf9\xb4\xd3\x78\x04\x4a\xb1\x05\xd5\x6b\xef\xf0\xe2\xf1\xc3\x57\xf2\xc3\x4b\x85\xa0\x57\x84\x97\x91\xc4\x00\x0f\xa7\x49\x6c\x51\xa9\x4a\x59\xd5\x06\x6e\xb4\x3f\x84\x42\x07\x79\x6b\xec\xf4\xfa\xa8\xcf\xa8\xa4\xfb\xa4\x52\x32\x05\xc7\x94\x56\x5e\x1b\x06\x1e\x06\x10\xa2\x53\x6d\xa4\x13\xef\x77\x51\xb2\x2a\x7c\xf4\x05\xbb\x52\x7d\xaf\x85\xca\xdd\xf0\xcb\xf8\xfd\x37\x51\xc9\x10\x00\xe5\xfc\x95\xd0\xb8\x18\x77\x83\x1e\x0f\x7e\xa4\xe3\xd8\xbc\x00\xe8\xb1\x96\x6f\xb2\xc1\x55\xfa\x9b\x9e\xd1\xb1\x7e\x96\x33\xaa\xb4\x35\x1e\x63\xeb\x4c\xf6\x6a\x7f\x07\xf6\x89\x0d\x23\x9a\x0d\x61\x61\xb3\x09\x41\x37\x72\x0d\xe4\x67\x6e\xda\xd2\x79\x2d\x09\x1d\x2a\xa1\x4f\x78\x46\x0b\x24\x4c\x22\xaa\x8d\x1e\x09\x06\xf3\xfa\x45\xba\x96\x70\xbe\xa9\x91\xf6\xe3\x4a\xc9\x81\x81\x70\x9d\xe2\xb9\x1d\xae\xa5\x9c\xf7\x24\x77\x38\xac\x80\xb9\x12\x0b\x31\x4b\x30\x25\x9e\x3c\xb2\xa2\x55\x2c\x11\x6a\x64\xdd\x1b\xc1\x2e\x5a\x69\x9c\xee\xd8\x78\xf7\x01\xe3\x3f\xd1\x21\xc1\x0f\x35\x62\x62\xc8\x14\xbd\xb3\x85\x58\x67\xc1\xa0\xb9\xcd\x3c\xf6\xfb\x71\xe1\x9b\x9b\x13\xa1\x7c\xb2\x95\x6b\x84\x7b\xa0\xae\xb3\xb4\xf4\xef\x2e\x60\x0e\x12\x8c\x8a\x12\xed\xb7\x11\xb7\x39\xcc\x30\xd4\xef\x4d\xdc\xb3\x1c\x0c\x99\x14\x90\x66\x36\x93\x33\x91\x91\x47\x9d\x8e\x1e\xc4\x24\x12\x13\x95\xe3\x28\x09\xd8\x4a\xb1\x89\x6c\xbc\x3a\x16\x8c\xc6\x6c\x9d\x82\xb5\x50\xd6\x74\x30\x1e\x7c\xe7\x10\x5f\xfe\xe3\x38\x7f\xd7\x37\xc0\x38\xf1\x4b\x74\xce\x0a\xd0\xd9\x3b\x78\xd3\x98\x92\x8f\xf4\x65\x3c\x33\xcf\x2d\x25\xc6\x45\x82\x6c\xe0\xc4\x6d\x01\xb9\x84\xf1\x06\xc3\xbc\xbe\xb6\xf9\x39\x93\x08\x6a\x42\x42\xee\x09\x49\xb7\x31\xc5\x0b\x12\x91\x12\x48\x79\x54\xd3\x45\x78\x8e\x79\x66\x47\x4b\xa5\xb8\x13\x33\x08\xc7\x4a\x51\xe8\x9a\x17\x9c\x98\x11\x0a\xf6\x0e\xd4\x81\x7a\x6a\x53\xcc\x57\x98\xd1\xee\x99\xb5\xa1\xd7\xe7\x63\xf9\x3f\x87\xc2\x77\xbb\x90\x8e\xa7\xcc\xfc\xf9\x62\x9f\x2c\x5c\xec\x4c\xdb\xf2\xf9\xf2\x65\xa1\x49\x0e\x74\x47\x22\xa6\x84\xf2\xc3\xd9\x60\x10\x7e\xf6\xd3\x12\xb3\x1c\x1f\x0f\x7e\x48\x2a\x50\x1e\x01\x24\x98\xa4\xd2\x83\xec\x3f\x18\x79\x38\xaa\xbc\x06\xe9\x4f\x33\x78\x91\xd5\x0c\xe2\x6a\xc1\xf8\xea\x8d\x66\x21\x32\x74\x0a\x1c\xaa\xc8\x4f\xc1\x1b\xa8\xb8\xe1\x88\x2b\x98\xd5\x82\xac\x9e\xfa\xdc\x48\x44\xa2\xff\x81\xac\xf4\x63\x74\x2e\x22\x57\xdc\xfa\x71\x9c\x9f\x8e\x31\xf1\x3b\xb8\xd7\x06\x92\x36\x81\x3d\x59\x9e\xf3\xfe\x81\x98\x02\xdf\xa4\x24\x86\x49\x11\x35\x18\x98\x9f\xe4\xe9\x37\x95\x2a\xf4\x69\x0a\x6d\x79\x4c\x81\x79\x12\xee\x85\xdb\x66\xd3\x1a\x82\xcf\xf3\xe7\x6f\xaf\xd9\x68\x1a\x41\x67\xb5\xcc\xf4\x7f\x63\x4b\xf5\x1c" +var _workboxV431WorkboxBackgroundSyncProdJsBr = "\x1b\xdc\x0e\x00\x1c\x07\x6e\xec\x34\x24\x65\xcf\xe6\xad\xcd\x54\xfd\xe7\xf3\xb2\xd9\x9c\x8f\xc8\x41\x38\xb9\xdd\x54\xd1\x31\xc6\xcb\x59\xac\x05\xa7\xcc\xa0\x7c\x22\x9c\x45\x23\x5e\x96\xcd\xc5\x4a\x09\x0b\xe9\x1a\x51\x19\xf8\xbd\x6b\xf9\x16\x50\xd6\xc9\xca\xbe\x5a\xd5\x9b\x99\x64\x0e\x72\xb9\xd7\xec\x96\x80\x33\x5b\xca\x7e\x40\x14\xae\xfa\x23\xe8\x2f\xfd\x57\x11\x97\xed\x11\xdb\x98\x62\x90\xd3\xc1\x31\x66\x09\x0c\x3c\xf6\x6f\xb8\xe6\x5f\xea\xb2\xcc\xa7\x70\x67\x40\x8c\x8f\xfd\xbe\xc9\xcb\xb3\x20\xfb\x47\x45\xc1\x02\xd5\x6d\x8a\x4c\x86\x8e\x69\xa9\xae\xd3\xf1\xa6\x16\x39\x5f\x2d\x9c\x84\x46\xa1\xa5\x29\x9f\xde\x1f\xee\xd3\x3d\x9a\xbb\x83\xd9\xec\xc8\x03\x50\xfe\x50\xa1\xda\x72\xc8\x45\x27\x9e\xef\x61\xe6\xaf\x4d\x35\x73\x0e\x23\xbb\x53\x9e\x1b\xc6\x91\x5d\xe6\x63\x2d\x16\x3a\x88\x6d\x97\xb5\x60\xdc\x30\x0a\xc7\xd9\xf4\x4c\xd6\x69\xbd\x67\x70\x96\xab\xc9\x20\x78\xf5\xc8\x8c\xdb\x9e\x31\x61\x1d\xf2\x66\x9d\x10\x14\xff\x42\xa0\x1f\xf6\x06\xd6\x3f\x20\xd5\xf1\x75\xb8\x40\x28\xad\x07\xd7\x4f\xf2\x3d\x2a\x19\x61\x58\x99\xc3\xd8\x62\x48\xe1\x1e\xe2\x7d\xef\x23\xaa\xac\x68\xe5\x2c\xe5\x6f\x68\xee\xe3\x0b\x39\x60\x46\x71\xfd\x6e\xa3\xf3\xf3\xd7\x22\x5b\x9e\xf2\x89\x8f\x58\x13\x74\x69\x98\x1b\x74\xf2\x5c\x77\x0b\xcb\x7f\x1e\x56\x33\x0f\xe6\xf4\xd4\x61\x6d\x8a\x2e\x1f\xa2\xbd\xc5\xf9\x7a\x9a\x84\x70\xe2\x7c\xec\x09\xb4\xff\x88\x8c\x90\x91\x0d\x68\x42\x1e\xd3\x51\x66\x8b\x69\xde\x1d\x46\xac\xe1\xe5\xe1\xe3\x9b\x57\x9f\xe5\xe6\xa6\xf0\x83\xe4\x35\x7e\x72\x25\xd0\x40\x4e\x60\x9f\x4a\x05\x34\x2e\xe6\x2d\x6d\xbd\x31\x6a\x31\x10\x9c\x17\x00\xad\x0c\x30\x6c\x6f\x49\x2b\x2f\xe0\x01\x61\x3e\x84\x74\x1e\x50\x2c\x25\xc6\xcc\x44\xb3\x52\x01\x1b\xaa\xdf\x55\x9d\x12\x9e\xf7\x28\xf2\xd8\xb3\x76\x36\xdb\x57\xf7\x34\xc5\x42\xf8\x83\xaf\x59\x08\xa9\x60\xcb\xed\x26\xe2\x22\xd0\x90\xda\xe0\x3b\x65\x66\xac\x07\x85\xc0\x43\x7e\x74\x58\xc1\x6d\xf8\x63\x5e\x8e\xd7\x1e\xe9\xfb\xd3\x16\xcf\xe4\xe6\x47\xd4\xff\xc1\xa5\xde\x19\x30\xe2\xad\x92\x37\x33\xe2\x88\x15\x93\x56\x85\xe9\xdc\xc0\x0a\x7a\xc4\xf1\xc2\x61\x57\x9f\x43\x07\x6b\xfe\x26\x3d\x78\x29\x1c\x3a\x40\xcd\xfc\xf7\x2b\xcb\x51\x7a\xc9\x9a\xe2\x79\x71\xe8\x80\x17\x39\x28\x04\x99\x4d\xef\xd2\xd6\xba\xa4\x7c\x80\xb5\xf9\x88\x70\xad\xee\xa0\xfc\x63\xac\xc7\x53\x14\x71\xc0\x43\xd5\xcc\x84\x6b\x17\xd7\xcd\x78\x1e\x94\xfe\x67\xb0\x75\x2d\x2d\xa1\x9a\x75\xae\x6d\xcd\x4c\x99\x95\xac\x9e\x9a\xcd\xbc\x10\x76\xea\xfc\xd8\x4e\xf2\x7c\xc8\xe2\x81\x1a\x85\xba\x22\x11\xef\x90\xd1\x03\x74\xab\x61\xf4\xb9\xb4\xa8\x60\x3a\x18\x56\xd4\x4a\xb6\x7a\x40\x80\xf4\x01\xc8\xfe\x57\x16\xe5\x80\x13\x5f\xe7\x64\x4c\x3e\x3b\x07\xcb\xdc\x3c\x31\x21\x43\x04\xea\x81\x16\xb6\xb9\xd3\x00\x74\xbd\x09\xbd\x80\x41\x5c\xe0\xce\xe5\xa1\x5b\x1c\x4f\xa0\x73\xe8\xe5\x33\x6d\x38\x76\xcd\xdd\x34\x0d\x2a\x76\x80\x82\x2b\x90\xd5\x74\x88\xb8\xf5\xae\x89\x27\xef\xb4\x74\x16\xa2\xd6\x77\x81\x12\xda\xc0\x33\x3b\x14\xb5\xa6\xe9\x06\x54\xdf\xa1\x25\xb0\x61\xf8\x33\xde\x34\x2a\x43\x2d\x00\x1a\xa1\xa3\x73\x29\xd4\x49\xea\x01\x92\x8a\x71\x52\xa6\x18\x8b\x80\xe4\x30\x48\xeb\x4d\x88\x93\xef\x5c\x57\x17\xd9\x7e\xc3\xf3\xb6\x7d\xdc\xe2\x55\x37\xe8\xbd\x45\x33\xe8\x0c\xaa\x79\x40\x5f\x80\x8e\xb7\x35\x14\xbc\x88\xd7\xbf\x44\x93\xd3\x0d\xb9\x99\xff\x7d\x48\xc6\xd5\xa0\xa6\x95\xbf\x22\x17\x8b\x57\x00\xfd\x3f\x0e\x57\x96\xf5\x68\xfa\xd5\xe3\xcd\xf0\x57\x72\x4b\xb0\x42\x83\xd1\xae\xc9\x0d\xcb\x61\xfd\x2f\xe0\x50\xd4\x5d\xa1\x73\x51\x23\x64\x57\xb3\x9a\x4e\x5c\xb6\xdb\x2d\xd7\xa5\x8d\x2b\xf7\x98\x42\x51\xdf\x38\x99\x9b\x5f\x85\x3c\x99\x58\x7a\x19\x4a\xd6\xf2\xea\xc1\x4e\x44\x57\x32\x49\x88\x1d\xae\xc6\xc6\x4e\x97\xf8\x39\x65\xbd\xa2\x23\x39\x93\x6b\x5e\x87\x65\x51\x54\xa1\xeb\x31\x8a\x23\xe9\x57\xe7\xe5\xdd\x38\xd3\x4a\xd9\xc9\xbf\xa4\x5c\xee\x27\x9c\xb8\xfe\x8f\xea\xfc\x5f\x3d\xa0\xf0\x9b\xa8\x42\x65\xb8\xf2\x80\x85\x17\x07\x35\x57\xe1\x83\x29\xa5\xe7\x61\xbb\xe7\xd4\x7d\x7b\x73\xb9\xd7\x49\x93\x2e\x40\xcb\xed\xcf\xf4\xb9\x0e\x01\xda\x15\x29\x0e\x65\x25\xb9\x6a\xe5\x13\x80\x59\x6f\x87\xbd\xad\xbe\xde\x11\x43\x1f\x57\xbc\x10\x8d\x7d\xd4\x18\x04\x55\x5c\x1a\x8a\xa9\x7d\x86\xc9\xae\xb6\xc2\xcc\xf9\x37\x5c\xc6\xdb\x71\x19\x12\xa4\x31\x20\x5d\x0a\x50\x02\x42\xbe\xb3\x0e\x0a\xca\xb2\xd2\xfe\x18\x0b\xe0\x8c\x96\x2d\x8e\x77\x6b\xb2\x8f\xa3\xc7\x07\x3e\x67\x4e\x14\x9f\xff\xf7\x55\xe0\x69\x1b\x38\xf4\xa2\x12\x6a\xc2\xfa\x80\xa4\x2e\x60\x95\x4e\x4f\xd4\x55\xab\xd8\x10\x6d\x61\x3d\x93\x8f\x80\xf2\xe2\xad\xba\x29\x81\x30\xc9\x2c\xd0\x98\x0f\xfc\x45\x33\x21\xa1\x32\xb6\x79\xa8\xe7\xa2\x93\x19\xed\x74\x97\x1c\x09\x49\xe6\x3a\x58\xa4\x12\x49\x64\x64\xfd\x69\xc8\xe5\xec\x57\xbd\x30\x2d\x2b\x54\xd9\xbe\xc0\xe4\x5a\x38\x2b\x96\x3d\x15\x3b\x59\x69\x9a\x43\x1e\xae\x7a\xaa\x42\x9e\x8a\x74\x2f\xc2\x4a\xc1\x41\xd5\x65\x29\xbf\xca\x8e\x6f\xb9\x18\xca\x13\x3d\x87\x68\xb7\x3f\xde\xad\x1b\x0b\xbb\x55\x51\xea\x78\x89\xfd\x76\x5b\x7b\xa8\xf2\xf3\xcf\x97\xec\xc9\x07\x13\xca\x96\x21\x54\x7e\x66\xd9\xa9\x95\x66\x3c\x61\x66\x35\x9c\x06\x38\xa7\x61\x0f\xfc\x2c\x1a\xb1\xee\x92\xea\x11\x9e\xb6\x9d\xfd\x84\x6e\xce\x57\x27\x91\x3f\x42\xb3\x93\x3c\x3e\xaa\x59\xed\x70\x27\xae\xd3\x94\x7c\xe7\x76\x2b\xb3\xd9\x54\x29\xc5\xa2\xa7\xac\xda\xbc\xf7\x70\x29\x6a\x51\xb9\x99\x6f\x95\xc3\x94\x59\xa7\xc4\x84\x37\x0b\x23\x06\xfa\xee\x06\xc1\x24\xb5\x8e\x00\x00\x0d\xe8\x57\x7b\xda\x8b\x33\xec\x15\x3d\x71\xae\x73\xd5\x93\x42\x2a\xdf\x76\xa0\x4e\x27\xeb\x33\xd0\x0c\x2f\x59\x87\xe5\x62\xc5\xb5\x07\x57\xae\x37\x76\x2b\xa0\x70\xe0\x1b\xfc\xcc\x70\x8f\x4a\x27\xd9\x5b\xe0\x3e\x26\x3f\xf7\x11\xd1\x11\x50\x61\x77\x09\xa3\x76\x57\x22\xe6\xff\xa9\xdf\xa4\xfe\x5d\x4c\xe7\xbc\x17\x6e\xb0\x1c\x18\xd2\x15\x2f\x28\x7c\x74\x4b\x5b\x33\xb8\x74\x53\x5f\x91\x94\x53\x66\xa8\xb6\x5e\xd0\x87\x95\x70\x0a\xfd\x45\x7a\x28\x7b\x88\x91\x15\xd0\xed\xdc\x79\x1b\x76\x75\x4a\xca\xcf\xf2\xf7\xd7\x17\xee\xee\x69\xba\xc8\x3e\x5b\x28\x14\xca\x71\xbd\x03" -func workboxV363WorkboxBackgroundSyncProdJsBrBytes() ([]byte, error) { +func workboxV431WorkboxBackgroundSyncProdJsBrBytes() ([]byte, error) { return bindataRead( - _workboxV363WorkboxBackgroundSyncProdJsBr, - "workbox-v3.6.3/workbox-background-sync.prod.js.br", + _workboxV431WorkboxBackgroundSyncProdJsBr, + "workbox-v4.3.1/workbox-background-sync.prod.js.br", ) } -func workboxV363WorkboxBackgroundSyncProdJsBr() (*asset, error) { - bytes, err := workboxV363WorkboxBackgroundSyncProdJsBrBytes() +func workboxV431WorkboxBackgroundSyncProdJsBr() (*asset, error) { + bytes, err := workboxV431WorkboxBackgroundSyncProdJsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "workbox-v3.6.3/workbox-background-sync.prod.js.br", size: 1297, mode: os.FileMode(420), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "workbox-v4.3.1/workbox-background-sync.prod.js.br", size: 1431, mode: os.FileMode(420), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _workboxV363WorkboxBroadcastCacheUpdateProdJsBr = "\x1b\x5e\x04\x00\x64\x55\xd5\x3f\xcf\x95\xa8\x80\x20\x01\x34\x3b\xb6\x02\xe6\xea\x58\xd7\xba\xb6\xea\x30\xd9\x72\x60\xb2\x53\xd6\xd0\x35\x79\x19\x34\xa4\x21\x8d\x3e\xfa\x6e\x59\x54\x51\xf4\x3f\x9c\x45\x0b\x16\xc8\x10\xa7\x52\x9b\xc0\xec\x35\xaf\x9d\xa5\x98\xe1\x28\xc1\x18\x07\x9f\xcd\x2f\x3d\xc9\x7d\x99\xdf\x00\xa2\x1d\x63\x42\xac\x43\x68\x62\x1b\x64\x3f\xa9\xcf\xe6\x4b\xb8\x2f\xda\xce\x6b\x35\x43\x6d\xff\x72\xa2\x68\xed\xe8\xf7\xb3\xf9\x6b\x0f\x86\x40\x95\xa3\xb0\x8a\xcf\x97\xb0\x8f\x47\xb8\x6f\x5e\x69\xb7\x9d\x99\x54\x9f\xcb\x4a\xd3\xbf\xf6\x99\x9c\x02\x83\x78\x1a\xf5\x06\xb8\x06\x72\x16\x35\xf2\x42\x23\x45\xdc\x21\x54\xcb\x66\x51\x9c\x78\x6b\x39\xe7\xbb\x4e\xb0\x18\x30\x1d\x98\xed\xee\x8c\xa4\xbc\x97\x88\x6e\x7c\x48\x92\xa6\x29\xeb\x24\x99\x86\x40\x57\xb4\x36\x15\x5f\x86\xf0\x09\x0b\xe5\xdd\x45\xb6\xbe\x9f\x1c\x62\x61\x30\x24\xc6\x34\x54\x54\xf0\xe4\x85\x22\xa4\x87\xdd\xcc\xe9\x45\x3a\x4c\xc8\xcc\xd3\xa4\xa1\xa0\xb5\xfa\xc5\x61\x29\x93\xa0\x76\xb9\x7c\xc0\x3a\x42\x41\xdb\xaf\x60\xcd\x1a\x43\x82\x4d\xfc\x3b\xa0\x1c\x90\x73\x19\xf3\xa6\x68\x60\xc0\x69\xd5\x53\xbb\x0a\xb1\x44\x16\xef\x14\xf9\x53\x6e\xb1\x34\x34\xad\x53\xc8\x29\x74\x3f\x36\xce\x13\x09\x0c\xe8\x49\x07\x29\x94\x1f\x20\x83\x22\xa6\xa4\xf0\xa7\x91\x89\xbb\xee\xd9\xa0\x09\x56\xc8\xab\x34\x60\x58\xe3\xf4\xce\xad\x8a\x9a\x5a\x57\x1d\x7c\xd5\x33\x0a\x09\x05\x09\x33\xaa\xa4\x29\xd1\xf9\xf3\xbc\x59\x03\x06\x46\x99\xf4\x47\xea\x9e\x52\xe2\x9f\xbe\x0a\x74\xd1\xd6\x7a\x2f\x48\xe5\x08\x19\xa2\x7f\xd7\x93\x35\x77\xbd\x72\x0a\x02\x09\x6a\x9f\xf9\x2f\x99\x38\xc6\x5f\x61\xd4\x56\x46\x17\xad\x21\x25\x20\xea\x4b\x29\x74\x9e\x62\x68\x58\xf4\x49\xc7\x88\x27\x50\x5c\x7f\x1a\xa0\x5c\x9e\x76\xb7\x72\x36\x82\x3a\xbe\x20\x51\x41\x49\x7e\xe4\x6c\x3e\x36\xb3\xee\xca\xae\xa8\xd0\xac\xc6\x33\xff\x05\x03\x83\x22\x4d\xf1\x0a\xb8\x78\x5f\x88\xc5\x67\xb6\xd6\xf8\x56\x4c\xa3\x88\xff\x1e\xf1\xab\x5d\x81\xfa\x52\x40\x7d\x39\x11\x41\xb1\x9d\x80\xcf\xa9\xd8\x45\x02\x5a\x5c\x2e\x9d\xcd\xc8\xf6\xf6\xd6\xe2\x43\xe4\x4a\xec\x2e\x78\xba\xbf\xa3\x02\xdc\xc4\x9d\xa6\xe8\xc2\x85\xe0\x3a\x6e\x7a" +var _workboxV431WorkboxBroadcastUpdateProdJsBr = "\x1b\x5f\x07\x00\x8c\x94\xae\x4a\x61\x79\x48\x52\xbb\xaa\x5a\xfb\x2d\x93\x4f\x07\x08\x24\xc0\xe8\xeb\x24\x83\x5f\x4a\x99\xba\x3e\xa1\x13\x3d\x1c\x29\x30\x75\x55\x61\xbc\xf8\xff\xbf\xd6\xf2\xee\x22\x75\x13\x87\x56\x89\x95\xb4\x4f\xee\x98\xfc\x59\xb1\x84\x6b\x33\x4d\xec\x34\x48\x26\x21\x12\x35\x12\x1a\xa9\x93\x13\x75\x65\xd0\x48\x3a\xac\xd5\xca\x89\xfe\xaa\x14\x12\x38\xed\xa8\xa0\x84\x33\x6e\xfd\xab\x57\xfc\x89\x75\x99\x3f\x47\x89\x71\x90\x44\xe7\x10\x8a\x58\xa4\xbf\x81\x50\xc3\xee\xce\x55\x06\x6d\x4b\x5e\x37\x37\xb6\xe5\xba\xab\xcc\xd3\x0f\xd7\xc0\x60\x0c\x56\x12\xfc\x12\xef\x87\x7b\xe1\x8e\xfb\xe5\xfd\x1f\x40\x33\x59\xbd\xdb\x4c\xe9\xed\x41\xb9\xe1\x45\x52\xe4\x07\xb1\xdf\x9c\xea\xae\xd3\x58\x50\x7e\x20\x01\x6c\x95\x3a\xba\x5d\x52\x50\xf4\xbe\xcd\xe3\xf1\xa8\x41\xf7\x5c\x27\xe8\xed\xe6\x16\xae\x7c\x2d\x33\x3f\x5e\xa6\x54\x72\x68\x2b\x6d\x7f\xb2\x6d\xf7\x1f\x8a\xf7\xc9\xd0\xa8\xf0\x58\xbf\x75\x94\xf8\x8e\xdc\xa7\xcc\x3f\x9c\x92\x83\x95\x41\x3e\x72\xe4\xa4\xa5\xad\x23\x37\x6b\xc2\x32\xe1\xbc\xfb\x45\x95\xe1\x59\x83\x6e\xbb\x4e\x14\x42\x1b\xf3\xe0\x9f\xb1\xd1\xf9\x32\x47\x35\x1c\x8b\xd7\xe1\x9a\x45\xb7\x4a\xca\xe1\x9f\x13\x50\x77\x0b\xed\xa5\xa5\x28\xcb\x85\x2b\x9d\xcf\x39\x3a\xa4\x6b\x9c\xf5\xc4\xde\x01\xe0\xbb\xe9\xfb\x97\x77\x51\x6d\x0b\x09\xc7\x04\x25\x00\x0a\xfc\x19\x83\x82\x23\x07\x20\x40\x5b\x38\xc5\x4e\xac\xac\xa6\x80\x7c\xf2\xf1\x3c\x83\x5c\x8a\xce\xc4\xd9\x38\x31\xd5\x05\x1e\xde\xd5\x86\x3a\x0d\x82\xad\xe9\x8e\xd9\x18\x0e\x1b\xeb\xee\xdc\x48\xd8\xd5\x9d\x7d\xab\xf4\x65\x85\xa8\x6a\xf0\xf9\xc9\x46\x26\x59\x3e\xd4\x96\xd7\x4e\x03\x87\x45\x68\xbd\x1a\x77\xc3\x0e\xda\x0d\x8d\xe5\x78\xcc\x00\x6e\x2a\x37\xf7\x95\x72\x66\xed\x4b\xdf\x56\x40\x2b\xb5\xe5\xe9\xfa\xf5\x74\x0e\xcf\x4d\xf5\x3a\x6f\xfe\xd2\x6e\x5b\x14\x2a\x72\xf9\xac\xa6\x38\x5b\x8c\x93\x25\xa2\xd9\x5c\xcc\x86\xdd\x9f\xf9\x8a\x5a\x95\xa1\x81\xa8\xb2\x00\xec\xcb\x26\x5c\xcc\xde\xe7\x40\xcb\x0a\xcf\xb8\x79\xf9\x97\xc5\x31\x73\x1e\xaf\x53\x44\xd5\x7b\x45\x4b\x83\x2f\x77\x90\x91\xd2\xce\xcc\x58\x91\xeb\xd5\x73\x40\xc9\x44\xd6\xcc\x30\x40\x50\x26\x23\x1f\x4d\x0e\x8d\xc8\xde\xd0\x3b\x27\x94\x03\x98\x3b\x62\x26\xab\x19\xe6\x1c\xed\xd1\xab\xa5\xeb\xe7\x30\xaf\xa2\xfd\x87\x88\x58\x9f\x3b\x93\xcb\x6f\x2e\x3b\xde\x9f\x0a\xe3\x1c\xd0\x07\x6f\x72\x91\xcb\xa1\x8a\xe6\x4f\x28\x22\xbd\x4d\xd8\x0e\x44\x7b\x92\xe6\xef\x49\x18\xcb\xcd\xd7\x86\xda\x2d\x3c\x33\xf9\xe4\x22\x9b\xb1\x64\x59\xa5\x4d\x91\xe2\x48\x88\xbd\x6e\x4e\x34\x1d\xea\x19\xf6\x51\x43\x33\xfd\x24\x8e\x1a\xa2\x12\xaf\xc6\x85\x14\xde\x17\xd9\xa6\xa0\x20\xaa\x03\x7d\x15\xb7\x11\x56\x5d\xb0\x0a\xd8\x73\x45\xb6\xb1\xf7\xe9\x40\xe3\x3f\xf8\x8f\x3f\x42\xb7\x76\x75\x86\xc4\xec\xdd\x09\xdc\x0e\x5b\xf6\xff\xac\x21\x36\xdb\xdb\x48\x98\x7e\x95\x39\xd3\xf0\x9e\xb3\x20\xcf\x9e\x32\xc3\x7b\x69\x09\x12\xb1\xab\xbf\xf1\xe0\x36\x76\x62\x15\x05\x25\x34\x3c\xdc\x00\x44\x19\xbf\xa5\x33\x19\xea\x36\x40\x33\x34\x83\x9f\x09\xf6\x61\xf0\xc0\xa5\x4f\xac\x49\xc2\xcc\x7f\x3e\x73\x73\xff\x53\x28\x2a\x28\xcd\xfe\x1a\x48\x5c\xbf\xfb\x2c\x6f\x5e\xcf\x82\x6b\xe9\x11\x22\xd3\xc8\x56\x53\x42\x7b\x2d\x16\x12\x15\x52\xd8\x46\x9b\x3f\x07\x5e\x9e\x44\xd3\x68\x10\x1c\x70\xc3\xf1\xa8\xf3\x49\x22\xd7\x54\x25\x09\xe1\x74\x4c\x1f\x2f\xf2\x87\xcf\x3b\x59\x49\x0c\xba\x51\xb8\xe3\x99\x83\xc3\x3f\x21\x76\x03\x8e\x27\x67\xff\x45\x87\xb9\x1c\x1f\xf4\xfd\xcb\x3b\x76\xb7\x0c\x9c\xf6\x26\xfc\x77\x90\xe6\x70\x02" -func workboxV363WorkboxBroadcastCacheUpdateProdJsBrBytes() ([]byte, error) { +func workboxV431WorkboxBroadcastUpdateProdJsBrBytes() ([]byte, error) { return bindataRead( - _workboxV363WorkboxBroadcastCacheUpdateProdJsBr, - "workbox-v3.6.3/workbox-broadcast-cache-update.prod.js.br", + _workboxV431WorkboxBroadcastUpdateProdJsBr, + "workbox-v4.3.1/workbox-broadcast-update.prod.js.br", ) } -func workboxV363WorkboxBroadcastCacheUpdateProdJsBr() (*asset, error) { - bytes, err := workboxV363WorkboxBroadcastCacheUpdateProdJsBrBytes() +func workboxV431WorkboxBroadcastUpdateProdJsBr() (*asset, error) { + bytes, err := workboxV431WorkboxBroadcastUpdateProdJsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "workbox-v3.6.3/workbox-broadcast-cache-update.prod.js.br", size: 512, mode: os.FileMode(420), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "workbox-v4.3.1/workbox-broadcast-update.prod.js.br", size: 831, mode: os.FileMode(420), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _workboxV363WorkboxCacheExpirationProdJsBr = "\x1b\x26\x0f\x00\x1c\x85\x71\xe3\x73\x38\x31\xf1\x50\x5a\xdb\xae\xc5\x43\x44\x24\xff\xd3\x99\xf5\x6e\x2a\x2c\xa7\x8f\xc7\xe0\xd4\x6d\x0a\x9d\x2f\x07\xb1\xbc\xe1\x74\x23\x24\xe6\xeb\xed\xe6\x7c\x99\xb1\xb1\x89\xa9\xd3\xea\x1e\x4e\xba\x9c\x76\x13\xe2\x69\x48\xa9\xbc\x7b\xe5\x70\x4d\x6d\xcb\xc2\xd5\xf9\xb1\x9f\x93\xb9\x4b\x0a\xf9\x12\xe7\x3b\xe0\xd2\x90\xf2\x30\x40\x30\x6a\x92\x25\xab\x09\xa7\x26\x67\x3a\x72\xee\xc9\xc3\x75\x51\x70\x10\x25\x0a\x5a\x42\xee\xb8\x51\xc5\xdd\x70\x4f\x3f\xcb\xfc\x0a\xde\x18\x2c\xbf\x88\x18\x48\x2a\x34\x44\xf3\x3b\x01\x49\x65\xa0\xc3\xbd\x73\xdc\x23\x4b\x07\x75\x2b\x1a\xe7\x6e\x7f\xa4\xcb\x1b\x81\xba\x79\x33\x57\x79\x8f\x95\xcb\x8a\x18\x5f\xeb\x3d\x6b\xd5\xf9\x88\xc7\x12\x5d\xea\x5e\x2d\xa6\xbf\x99\xa5\x30\xc7\x9d\x37\xb4\x61\x9a\xb4\xe3\x9e\x8b\xa6\xfd\xdd\x26\x62\x51\x87\x03\xc0\x02\x01\xe4\x21\x5e\x79\x41\x23\xe4\x36\xa3\x16\xb3\x5f\x61\x1c\x06\x9e\xc6\x27\x1e\xd7\xab\x75\xa7\x01\x28\xf0\x8e\x1e\x62\x14\x60\x68\x30\xa0\x50\x17\x31\xa5\x72\xc6\x80\x38\xa9\x94\x8c\x1c\xd5\x87\xe2\xa2\x16\xe7\x88\xc1\xd3\x60\x40\x09\x1e\x5e\xd2\x05\xaf\xca\x62\x1d\xd6\xc1\xe8\xaf\xb5\x88\x19\x0c\x8c\xba\xb5\xec\x4d\x14\xa6\x07\x12\xa4\xe4\xac\x99\x21\xd9\x45\x1e\xe7\xb9\x7f\xa5\x58\x57\x2f\x15\x42\x42\x8f\xd1\x95\x2d\x2d\x8f\xfa\x32\xbf\x77\xfe\x58\xa8\x7d\xb2\x93\xf0\x04\x48\x4b\xe0\xaa\x06\x2c\x87\x28\x56\x3f\x15\xfc\xeb\xc7\x3a\xa0\xa9\x34\xa1\xe4\xc7\xd8\x08\x59\x21\xaa\xcc\xbf\x72\x2b\xb8\x5f\xa7\xf0\x75\xa6\x52\x75\x47\x8a\xa2\x19\xfa\xb6\xff\x18\x86\xdc\xf6\x95\x6b\x0a\xd4\xdc\x58\xae\xac\x20\x73\xf7\xe3\x27\xc0\x3b\x2c\x14\x0c\x35\x4e\x4e\xbd\x3f\x26\x92\x2c\x9a\x02\x74\x20\x44\x65\x05\xa6\x01\xaf\xc6\x2b\xba\xd0\x08\x00\x82\x19\xa5\x7b\x16\x85\x86\x1f\xb8\xd8\x3a\x42\x70\x88\x83\xf3\x85\x22\x01\x48\x8f\x21\x69\x94\xfc\x95\x7e\x52\x7f\x90\x12\xc4\x68\xe1\x68\x8a\xff\xcb\xf3\xf4\x97\x92\xdd\x98\xb6\x1b\xac\x6f\xf2\x86\xe4\x84\x34\x7c\x09\x24\xa8\x94\xd1\xd6\x12\x2b\x64\x1c\xcb\x72\x3b\x5d\x9c\x3f\xce\xc3\xe9\xda\x68\x1b\x54\xfb\xb3\x6b\x4f\x0f\x6f\x77\x78\x75\xda\xe0\x1f\xe7\xa1\x63\xf8\x3c\xda\x3b\x61\x2a\x2f\xb3\x51\x10\xc3\x92\xea\xd5\xe8\x69\x23\x90\xc3\xb0\xc4\x19\xc5\x04\x68\x33\x0f\xf0\xcb\x56\x17\xf2\x8c\x82\xf4\xc1\xe0\x9c\xb0\xde\x4a\x4e\x0d\x1e\x65\x56\xc6\x9b\xdc\xc1\xbf\x1e\x0f\x71\xf1\x43\x12\xe0\xe2\x07\x50\x34\xb7\x98\xbe\xb2\x94\x00\x7c\x78\x58\xfa\x2f\x3a\xf8\xa1\x5d\x78\xf9\x91\xfa\x67\x0e\x84\x6a\x73\xf8\x00\xc1\xb5\x22\x94\x06\xd7\x70\xf0\x06\x3d\xb2\x51\xda\x5b\xfa\xa7\x61\xc4\x59\xab\x94\xe7\x40\xf2\xc7\x2f\x7a\x27\x69\xe0\xf9\x31\x9f\x6f\xef\xce\x32\xc4\x5d\x7a\xda\x6f\x89\xfa\xc6\x5d\x84\x9a\xb5\xbe\x3c\xd5\x9b\x08\x01\xb8\x2c\x6d\xa3\x3c\xd0\xc1\x75\x70\xcc\x19\x68\xbd\x2c\xe5\x05\x06\x52\xb6\xf2\x28\x46\x2a\x24\x02\x96\x10\xd5\x3c\x64\xd9\xc4\x18\xbe\xdf\x67\xaa\xf4\xb5\xbe\x50\x1d\xa5\xac\x47\x9c\x47\x68\xaf\xa3\x9c\xcc\x9d\x47\x8a\x94\x93\x8a\x2d\x9d\x08\x43\x07\x2a\x38\x87\x40\xea\xce\x13\x41\x01\x24\xa5\x74\x44\x2b\x36\x19\x10\x56\xca\x18\x50\x27\x9a\xf4\x5f\x4a\xcb\xad\x54\xea\x52\xae\xa6\x68\x82\x58\xda\xf0\xf2\xf2\x4f\x70\xc1\x28\x7f\xcb\xb9\xaa\x3b\x8a\xb6\x75\x88\x49\xeb\xe8\x14\x75\x3f\x92\x95\x22\xcc\x61\xd3\xfd\xa7\xf7\x2f\x4b\xeb\xf9\x17\xb5\xb9\x0c\x39\x4c\x34\x6e\x33\xa4\x42\xf5\xc5\x99\x43\x6f\x0c\xda\xcd\x1c\xd4\x05\x33\xb1\x78\x67\xe9\x73\x45\xfb\xb3\x2b\xec\x18\x86\xc7\x22\x1e\xf9\x02\x5c\x2b\x0c\xb8\xb8\x61\x75\x01\xef\xd4\x66\x82\xaa\x29\xe8\xf0\x9a\x81\x35\x8c\x8e\x70\xe0\xd0\x32\x99\xd7\x68\xec\xe1\x58\x8e\x97\x25\xb3\xf1\x3f\xe2\x35\x68\x76\x25\x19\x1b\x8d\x19\x27\xcc\x66\xe2\xd0\xab\xed\x97\x2d\xcb\x9c\x9d\x91\x50\xab\xa4\x7c\xe8\x4f\x74\x16\xd2\xa2\xd0\x05\x9c\x45\x9d\xe0\x15\x9f\x1e\x7f\x65\xbb\x3b\xa8\x3b\x6a\x83\x37\xe1\xbd\x21\xdc\x4a\xa8\x70\x7d\xed\x3e\x37\x8b\x74\x0f\xeb\x8a\xc3\xa4\xa0\x80\x88\xb8\x01\xe6\xd0\x69\xa8\x5f\x81\xb6\x3c\x4d\x74\x4a\x34\x06\x87\x51\x8a\xe1\x30\xc8\x4a\xb1\x30\x38\xbd\x49\xbe\x5f\x07\xba\xf6\xb6\x83\x49\xae\x25\x4a\x51\xc6\xc7\x22\x60\x2c\x15\x4d\xf6\x56\xe0\x3e\xa9\x9f\xb1\xb2\x8a\x37\x2d\x10\x72\x89\x8f\x93\x1c\x28\x4c\x46\xe3\x83\xda\x81\xc1\x6d\x69\x38\x09\x90\x15\x6b\xa8\x7e\x43\x01\x79\xbb\x41\x6c\x86\x1e\x44\x0c\x1f\x31\x9f\xd2\x03\x43\xaa\x3d\x96\x82\x33\x3f\x48\xfc\x3b\x40\x72\x68\x4b\x6b\x84\x03\x37\x12\x76\xe8\x3a\xa5\x12\x75\xc4\x61\xc9\x40\x2c\x0d\x91\xa2\xc0\x68\xcc\x92\x2f\xc5\x8d\x67\x6f\x80\x44\x1f\x36\x1c\x0e\xf9\x38\xf1\x35\xd4\x14\x23\x4a\xd5\x75\xaa\xa0\x33\x3a\x02\x49\xf1\x63\x62\xda\x45\x5e\x09\xf4\x2c\x29\x29\xb4\xa7\x49\x16\xa8\xf1\x15\x95\x97\xb3\x22\xc6\xe0\x4c\x75\xfb\xd7\xf6\xb5\x28\x46\xd1\x25\x7a\xca\x55\xb1\x70\x75\xd3\xaa\x3a\xbc\xa4\xb5\x30\x60\xe2\x92\x15\xb2\x99\x99\x73\x65\x2e\x2d\x26\xec\x1a\x94\xc7\x72\xfa\x9e\x10\x83\xe8\xc8\x00\x0d\xcd\x94\x06\xa3\x6d\x2f\xa9\x5f\x28\xfe\x20\xf5\x63\x79\x52\x15\x7c\x95\xd7\x11\xad\x46\xd7\x74\x2c\x77\x98\x26\x66\x05\x63\x89\xb2\x7b\xb1\xfa\x38\x6a\xb5\x56\x94\x7f\xea\xbb\x4b\x73\x0f\x79\x10\x48\x70\xf1\x66\x78\xda\x24\xf3\xbd\x3e\xbd\x7f\x19\xd6\xb6\x56\x96\x1f\xfe\x67\x4a\xf9\x7f\x5f\xb6\x3f\xdd\x19" +var _workboxV431WorkboxCacheableResponseProdJsBr = "\x1b\x42\x02\x00\x8c\x94\xee\x1a\xcf\xb6\x74\xdb\x59\xa6\x8a\xa5\x2d\x41\xa7\x72\x41\x57\x26\x9b\x44\x2c\x41\xff\x12\x73\x53\x37\xf5\x2d\x0a\x3c\xf2\x54\xc6\x1a\x3a\xb6\x65\x63\xda\x6b\x17\xc8\x93\xb6\x6c\xae\xcd\x87\xcd\x1e\xbd\x8a\x06\x70\x90\x2f\x33\xe6\x62\xa3\x84\x21\x20\xcb\xdb\x97\x0e\x3e\x97\x79\x28\xbd\xa8\x22\x04\x8c\x04\x61\x34\xd2\xee\x2b\x64\x84\x80\x71\x5e\xf7\x96\x3c\x0f\x2b\x71\x6a\xf2\xfc\x19\xb3\xfc\x91\xc3\x00\xcb\xfc\xfc\xb3\x7e\x67\x55\xac\x60\xc9\x99\x04\xc1\x2c\x82\xae\x32\x15\x30\xda\x47\x86\x26\xe2\xad\xdb\x93\x06\xc8\x05\xa3\x51\x26\x24\xa8\xbc\xb7\x61\x1d\x33\x26\xc1\xf0\x2b\x58\x0f\xdc\x8c\x8e\x50\xa6\x2c\xce\x1b\xb1\xc8\x2e\xc6\x3e\xc7\xad\x0b\x82\x88\xe9\x54\x58\x83\x0d\x41\x02\x0e\x40\xdd\xa9\xf2\xce\x79\x81\x59\xcb\x0e\x8e\xea\x00\xba\x93\xae\x66\x5d\x89\x29\xee\x36\x12\x31\x10\xf1\xfe\xe1\x11\x4f\x00\x52\x56\x15\x7e\x8e\x1d\x24\x33\x4e\x05\xa7\xdc\x52\xc9\xfe\x83\x8d\x6f\xc1\x81\xd2\x66\x6d\x23\x01\x85\x93\x19\x27\xc6\xfd\xcb\x71\xa6\x41\x15\x11\x05\x63\xe5\x85\x03\x62\x92\x34\x24\x7b\xd0\xfb\xaa\xa9\x68\x64\x5e\x2e\xca\x0a\x05\xd7\x8a\x13\x7e\xb2\xb2\x7c\xd8\xeb\x92\xff\x48\xf2\x30\x26\xc6\x30\xc0\x23\xe3\x65\x71\xcf\x01" -func workboxV363WorkboxCacheExpirationProdJsBrBytes() ([]byte, error) { +func workboxV431WorkboxCacheableResponseProdJsBrBytes() ([]byte, error) { return bindataRead( - _workboxV363WorkboxCacheExpirationProdJsBr, - "workbox-v3.6.3/workbox-cache-expiration.prod.js.br", + _workboxV431WorkboxCacheableResponseProdJsBr, + "workbox-v4.3.1/workbox-cacheable-response.prod.js.br", ) } -func workboxV363WorkboxCacheExpirationProdJsBr() (*asset, error) { - bytes, err := workboxV363WorkboxCacheExpirationProdJsBrBytes() +func workboxV431WorkboxCacheableResponseProdJsBr() (*asset, error) { + bytes, err := workboxV431WorkboxCacheableResponseProdJsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "workbox-v3.6.3/workbox-cache-expiration.prod.js.br", size: 1242, mode: os.FileMode(420), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "workbox-v4.3.1/workbox-cacheable-response.prod.js.br", size: 293, mode: os.FileMode(420), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _workboxV363WorkboxCacheableResponseProdJsBr = "\x1b\x4a\x02\x00\x1c\x07\x6e\x2c\xcd\x5b\x69\x67\x62\x5b\xba\xed\x2c\x53\xc5\x52\x49\x61\x2d\x17\x74\x65\xb2\x49\xbc\x98\x25\xe8\x5f\x62\x2e\x67\x6c\xe8\x26\x6e\xa6\x81\x04\x1e\x79\x2a\x6b\x0c\xda\x3a\xa6\xa5\xdd\x83\x44\xfa\x6b\xb7\x16\x0a\x86\x3d\x7a\xe9\x6a\xb7\x7b\x89\x85\x84\x7b\x09\x06\x78\xac\x6e\x5f\xba\xc8\x6f\x99\xbf\xa4\x9d\x3c\xaa\x00\xa3\x40\xcd\x46\x3a\xbc\x85\x0c\x12\x30\xce\xeb\xbd\x25\xcf\xc3\x5a\x9c\xba\x3c\x7f\x46\x2c\xfa\xf9\xf0\x3d\x76\x9a\x72\x81\xca\xcc\x9e\xe5\x47\x01\x43\xce\x94\x6a\x11\x33\x17\x30\x1a\x2a\x6d\xe3\xf8\xca\xed\x09\x03\x48\x07\xc3\x58\x21\x24\x28\x83\x51\x32\xab\x05\x93\xa0\x17\x56\xac\x07\xae\x52\x97\x22\x96\x56\xe7\x52\x2c\xb2\xab\x43\x80\xc0\x56\x07\x41\xc4\xd4\xa4\xb6\x62\x83\xa2\x00\x02\x20\x77\xf2\x7c\x12\xc6\xc0\xb6\xb4\x83\x80\x6a\x80\x56\x45\x8b\xdc\x60\x62\x8e\xbb\x52\x22\x06\x22\xdc\x7f\x78\xcc\x53\x80\x94\x55\x89\xdf\x63\x57\xa1\x05\xa7\xe3\xca\x5b\x3c\xc9\x7f\x72\x90\x75\x58\xd2\xb5\xfc\x58\x7d\xbc\xea\x12\x9b\x2e\x46\xfc\xd2\x71\xb2\x51\xe9\x63\x05\x23\xe5\x0b\x25\xea\xc4\x6b\x4a\x31\xde\x47\xaa\xa9\x68\x64\x34\x4c\x16\x79\xee\x5a\xfe\x42\x2e\x5a\x56\x8e\xfa\x3d\xb2\x1e\x4c\xd6\xc7\xfb\xf3\xb6\xc1\x63\xce\x2e\xcb\x7b\x05" +var _workboxV431WorkboxCoreProdJsBr = "\x1b\xfb\x16\x00\x1c\x83\x6d\xb3\xf9\xb2\x06\xc6\x69\x8d\x88\x91\x24\xbd\x3e\x49\xff\x6d\xb6\xd2\x7f\x3f\x2f\xc7\xed\x30\xf2\x4c\x20\xe7\xcb\x19\x72\xf6\xbe\xe9\xe5\x80\x60\xdd\x12\x99\x48\xf2\x1e\x25\xab\xf9\xb6\xb7\xaa\x4d\x0e\x56\x63\x9d\x35\x81\x72\x9f\x1c\x6a\xda\x1f\xa0\x09\xc1\xc2\xd1\x8b\x9b\x4d\xaa\x0c\xef\xff\xe9\xd4\xf7\x3a\x29\x0e\xcd\x05\xda\xb6\xf2\x38\xd7\xff\xdf\x3f\xbd\x9e\xef\x2c\x93\x94\x54\x56\xc2\x72\x00\x48\xa7\x50\x15\x17\xe4\x14\x61\x22\x9c\x08\x26\xc0\xbd\xb5\x18\xce\x32\x49\xcf\xf1\x55\x06\x52\x3b\xfe\x51\x4b\x20\xe2\xb6\xeb\xb4\xae\xdf\xe9\xba\xcc\x47\x18\x28\x2a\x76\x6a\x17\x3c\xf6\x0f\x88\x6e\xf3\x8c\x46\x16\x8e\xad\xda\xa6\xd3\x66\x96\x1a\xfb\xc6\xe6\x49\xf8\x9f\xf8\xe3\x3c\xca\x83\x6f\x67\x43\xf1\x1b\x9c\x25\xf3\x5f\x7d\x7b\xf3\x4e\xa2\x46\x05\xc8\x2a\x73\x81\x0e\xfa\x58\x6a\x48\xa8\x9e\x4a\x5d\xf3\xd7\x4e\x77\x87\x01\xe8\x57\x7d\x69\xbc\x37\x0f\xba\x6a\xc8\x4a\x9c\x9f\x8f\xfd\x06\x14\xbe\x74\x24\x37\xcf\xaa\x68\x16\x14\x8f\xfd\x64\xcd\x56\x33\x27\x31\x20\x09\x5d\x32\x79\xd0\x3b\x09\x12\xd1\x62\x25\xbe\x11\x5b\x9a\x6a\x72\x2b\x93\x6f\xe3\x6b\x65\x3e\x94\x9e\x84\x79\xac\x59\xc5\x4d\x6e\x6f\xe6\xed\x63\x9f\xe5\x34\xa1\xba\x38\xde\xfe\xd6\x5f\x2e\xf7\x2d\xb5\x2d\xed\x79\xd4\x6b\xc9\x2b\xc9\xc0\xf6\xf6\xad\xd7\x52\xd6\x3e\x19\xf0\x32\x52\x09\x2b\x55\x29\xe4\x17\xb6\x0c\x42\x9d\x6e\x38\x8b\xeb\xdf\x45\x72\x66\x2b\xfc\x4c\xd9\x0e\x01\xea\xb4\xb8\x27\xb0\x76\x1c\xf3\x6c\x69\x1d\xa3\x66\xd9\xd3\x59\x3f\xf5\x7b\xd4\x69\xd7\x2c\x58\x9f\x8f\x51\x8c\xbc\x7b\xe7\xc5\xa3\x3b\xa6\xd1\xd0\xe5\x7e\x74\x7f\x47\xaa\x8d\x9e\x0d\x05\xf0\x8f\xf8\xfb\xab\xc0\x30\x87\xd2\x27\xa4\x83\xd5\x42\xb9\xcf\x57\x5f\x77\x21\x38\x19\x23\x5c\x2e\xf5\xf6\x33\x2c\x39\x67\x14\xa5\xc3\xdb\x12\x38\x1d\x90\x0a\x51\xf2\x3d\x97\xc2\x72\x13\xef\xf0\x6d\xf7\x87\xdc\x13\x63\xda\xb7\x6c\x45\x29\x29\x1c\x8a\x13\xae\xbb\xb3\x83\x34\xa4\x13\xdc\xc6\xec\xb7\xb9\xae\x15\x4f\xa1\xee\x99\xa6\xed\x09\xaa\x3d\xa7\xe9\xc8\xf2\xdb\x06\x27\x4c\xdb\xea\x4e\xe1\x7a\x7f\x5f\x0d\xb3\x0d\x6e\xa5\x3b\x23\xb8\xc2\x18\x4d\x18\x4e\x9b\x8a\xa3\x2c\xa5\xde\xc3\xd8\xfd\x1f\x9c\xb0\x99\x83\xdd\x17\xb8\x39\xda\x5f\xee\x12\x57\xf2\xc2\xe6\x22\x0a\x5e\x78\xf2\xda\x3e\xdd\x1d\x13\x50\xcb\x64\xac\x1a\xfb\xd2\x47\xf7\x61\xec\x56\x80\x23\xc6\x21\x90\xce\xc8\xf1\xe8\xab\xd1\x91\x4b\x80\xec\xe2\x71\x12\xd7\x72\x32\x42\x78\x39\xb1\x74\xe8\x33\xcb\x56\x7c\x33\x08\x6e\x44\x6b\x1c\x66\xc1\x29\x96\x53\xf4\x4a\x2f\x53\xf4\x44\x3f\x47\xdd\x6d\x93\x17\xf6\xf9\x53\x3d\xab\xf9\x69\x48\xa0\x10\xc4\x14\x2c\x4f\xc8\x2a\x84\xf8\x08\xc6\xa8\x96\xdb\x98\x33\x07\xeb\x01\x17\x9b\xf3\xf6\x3c\x0f\x17\x18\x6d\x2c\x35\x6d\x26\x15\xba\xd7\xbb\x22\x05\x4d\x00\x09\x75\x19\x77\x64\x94\x74\x28\x20\x4b\xbb\x6e\xfa\xb3\x15\x14\xa9\x54\xd2\xb4\x12\x4a\x42\x18\xde\xe0\xdb\x76\xb5\x44\x43\x71\x4a\xad\x79\xc3\x27\x4a\x83\x07\xca\x68\x6e\x26\x5f\x1c\xb1\xb3\x9b\xc3\x52\x06\xed\x1c\x34\xdf\x1e\xeb\x69\x92\xe0\xf1\x0e\x16\xaf\xc9\x34\x43\xfb\xdc\x06\x26\xa3\x7e\xb1\x6c\x95\x75\xdc\x67\x00\xe8\x59\x78\x63\xbf\x1c\xbe\xee\x80\x75\xb8\xbb\x2b\x69\x5a\xf9\x05\xf7\x8c\xc7\xce\xbe\xd1\x91\x13\xc0\x2f\x57\xd9\xf2\x96\x1e\x94\x81\xa5\x34\x54\x13\xf7\x8e\xfd\x53\x10\xb3\x64\xee\xcc\xc2\x66\x05\xf2\xdb\xb5\xee\xb3\xa5\xcb\x1b\x33\xa9\xd9\x89\x9b\x6c\x20\x55\xc3\xeb\x6d\x67\x03\x1e\x07\x0d\x96\x40\x48\x0c\x98\xef\x06\xbf\xfc\xa5\xe6\x69\x55\xaf\xa0\x26\x67\x6a\xc5\x62\x42\xee\x10\xd4\xfc\x14\xf9\xad\xd1\xea\xd4\x95\xc9\x7a\x79\xe0\x80\x38\x00\x1e\x01\xcb\xcc\x12\x2c\x0f\x9c\x56\xa6\xdd\x1e\x85\x75\xfb\xed\xd3\xaa\x65\x5f\x5d\x2a\xe9\xbd\x6c\xd2\x8f\x2c\xe7\x3c\x8d\xbe\x8d\x9c\x79\x1a\x9d\x5e\xd7\x2e\xae\x7c\x13\x73\x83\x35\x6a\x78\x3b\x54\xae\xda\x5e\x00\x5e\xb3\xb6\x9f\x44\x6f\x66\xe3\x57\x9a\x22\x70\xac\xae\x65\xd0\xaa\x87\x90\x87\x59\xa2\x1b\x3e\x86\x71\x47\xab\x17\x75\x06\xfb\x7a\x96\x79\x69\x9f\xd3\xaa\x90\xb9\xe8\xdc\xe9\x5a\x62\xc2\xf1\xed\xdd\xf0\xe8\xce\x27\x8f\x5d\x6f\xdc\x67\x25\x55\x77\x5b\x28\x8a\x12\x9e\x99\xc2\x11\x6d\x02\xce\x0a\xda\x7e\xd2\xa3\xc1\xde\xc2\x4c\x2f\xe6\x39\x34\x90\x6a\x15\x12\x59\x34\x5a\x9a\x20\xc7\x6f\x20\xc2\x46\x6b\x50\xd0\xad\x9c\xd3\xdb\x23\x62\x40\xf6\x4f\x3e\xe4\x13\xd3\x1b\x82\x62\x78\xa9\xe0\x05\x1a\xa5\x54\x51\x52\xfd\xf7\xb4\x60\x06\x2f\x4a\x3f\x76\x24\xd1\x0e\x95\xe4\x47\x59\xd6\xe4\xfb\x52\xd3\x5d\xc3\xe8\x94\xc5\x4b\xf7\x22\x28\xa6\x9c\xeb\xf2\x64\x71\x51\xa4\x24\x99\x82\x66\xd1\x99\x6a\xde\x02\x80\x04\x4c\xe0\x43\x82\x28\x4f\x40\xa4\x20\xc7\x91\x5b\x22\x1f\x32\xbf\x0f\xec\xc7\x87\x55\x46\x3b\x84\xfc\xd5\x95\x98\xf3\x82\x87\x6e\x74\x41\x67\xd2\xaa\x16\x80\x7d\x70\x2d\xd1\xd5\xef\x15\x07\x77\x5c\x33\x7a\x04\x9f\x9d\xd8\x3d\xbc\xd4\x2f\xc6\x0e\x7a\xf2\xd1\x24\x87\x8c\xa9\xba\x35\x1d\x4b\x48\x06\xdd\xcf\x81\x92\xac\x76\x6b\xc0\xf6\xde\x76\x08\x92\xa7\x83\xfd\x52\x15\xae\x13\x2b\x38\x62\x82\x56\x59\x61\x56\x5c\xae\x16\xcf\x61\xe4\x77\x61\x28\x7e\xee\x0c\x84\x2b\x20\x4c\xdb\x59\x03\xcc\xb9\x2b\xbd\xba\x2b\x5e\x5a\xe9\x84\x0e\xa5\xc4\x3b\x8d\x20\x29\x6f\x7a\x82\x85\x9a\xd9\x32\xc3\x11\x43\x00\x7f\xc5\x03\xc9\x6e\xcc\x50\xfa\x02\x37\xf2\x20\xd9\x4a\x10\x17\xde\x27\x53\x1c\xbf\xe0\x55\xc8\x63\x91\x07\x38\x91\x36\xe5\x66\xf1\x18\x97\xa6\xfc\x07\x36\x78\xd2\x01\x37\xd2\xe0\x23\x71\x18\x93\x7c\xf4\xda\xf7\xec\xe0\xb5\xd2\xa8\x26\xad\xc4\x23\x06\x8a\x23\x1e\x28\xea\x2f\xfc\xce\xbe\x81\x7c\xbd\x9a\x00\xe6\x7f\xb5\xf1\xc8\xc6\x68\xd5\xa9\x97\x87\x2a\x91\xbc\x65\xe5\xa6\x48\xe7\x4f\xd8\x1d\xca\xba\x22\x7b\xae\xc4\x54\xdf\xfe\x2c\x83\x45\x85\x33\x41\x53\x89\x3e\x68\xf0\x8c\x00\x00\xce\xb1\xf8\x2e\x42\x64\x2b\x58\x2f\x29\x2e\xb4\x06\xae\xa1\xe2\x5c\x04\x47\xe9\x61\xca\xa6\x7d\x16\x14\x63\x62\x56\xf3\xb3\x8d\x1a\x8b\x27\x2b\x7a\x61\x06\xa2\x40\x67\xf6\xc5\x5d\x2a\xec\x8f\x77\xa0\x88\x52\xf3\x90\x4c\xbc\x60\x8f\x20\x93\xf2\xc4\x21\xd5\x78\x2f\xd6\xd2\xf2\x78\xf2\x9c\xc3\x61\xda\x45\xa3\x80\x3c\x14\xd9\x0f\x2f\xd6\x74\xd8\x46\xc6\xa8\x4b\x4b\x93\x73\x9e\x72\x82\xa8\x06\x43\xe2\x1a\x6b\x56\xa6\x40\xcc\xa5\x94\xa3\xe7\xb8\x4c\xc8\x70\x8c\xb9\x98\x8d\xb2\xe0\x31\x68\x21\xd3\x9b\x1d\x86\x32\xa7\x65\x0a\x34\xe8\xaa\xc0\x87\x94\xcc\xdc\x3f\x31\x87\x03\x29\x02\xf1\xf7\x18\xa2\xe9\x32\x37\xf8\xd1\x58\x65\xce\x12\x37\xb4\x93\x08\x74\x88\x92\x80\xdf\xbc\x62\x83\x67\x51\x65\x4a\xd0\xe1\x90\x1d\x63\x9f\xbd\x84\xcf\x26\xab\x97\xfe\x99\x22\x3a\xc7\xa1\x80\x8d\xa7\xd1\x9c\x77\x97\xb3\xff\x5e\xb1\x1e\xdd\x29\xfa\xf5\x7e\x1d\xbd\x36\x5f\x6b\xd6\xd1\xd9\xbe\xb1\x43\xa9\xa5\x55\x79\xf8\x99\x39\x0a\xb6\xed\xb8\x80\xcc\xd6\xb5\x67\xcc\x8b\x40\x22\xb9\x6d\x0d\xb7\x5d\x7e\x5a\x8b\xd8\xfb\x82\x81\xd9\xf5\x0d\x8d\x9d\x19\x5c\xf5\x34\x48\x3d\x7b\xa6\x91\x1b\xcd\x34\xdd\x02\xd7\x00\xfe\x4a\x90\xab\x78\x03\x92\xee\xb3\x87\x97\xc9\x89\x91\x01\x8a\x2e\x2d\x0a\xa0\xef\x0e\x0d\x9d\x69\x50\x73\x6e\xa0\x42\x1b\x9f\x83\xa8\xc4\x34\x69\x77\x0f\xc5\x87\xea\x63\x8e\x8d\x3d\x88\x8c\xf7\x85\x28\x08\x14\x2f\x3b\x50\x98\x1f\xef\x40\x86\x42\x72\x9a\xaa\xe1\x7d\xba\x72\x6a\xab\xb0\x3b\x0c\x4f\x04\x46\x9a\xc6\x9e\x73\x53\x34\xec\x14\x86\xde\x28\xe2\xc9\x2a\xe4\xb6\xd0\x37\x05\x73\x35\x10\x09\x00\x23\x51\x1a\x61\x50\x10\xf2\x70\xa0\x42\x03\x8c\xba\xdb\x7a\x2c\xd7\xa1\x73\x5e\x16\x7d\x18\x12\x8a\x95\x38\x66\x64\x1c\x49\x95\x46\xa6\xca\x32\x44\x39\x11\x54\x28\xfb\xa1\x1a\xcb\x92\xa2\x4e\x1d\xf4\x5d\x7a\x34\x64\x56\x83\x2d\x45\x58\x70\x4b\x23\xd9\x0b\x7c\x93\x88\xbb\x00\xb2\x12\xda\x2b\xf4\xd5\x82\xe8\x18\x54\x41\x1d\x44\xd5\x60\xe2\xbe\x0a\x2d\xc2\xed\xfb\x0c\x44\x95\xb9\x9d\xd0\x22\xd5\x13\x69\x8c\x74\x02\xd1\x1c\x36\x4a\xb3\x02\xda\xdb\x67\x25\x91\x44\x53\x51\xf8\xd4\x1c\x49\xcf\xf1\x91\xe4\x40\xdd\x14\x0a\xda\xc8\xb8\xda\x8b\xb6\xdb\x14\x9e\xfd\xa8\xb6\x14\x98\xf3\xf2\xff\x23\xcc\x97\xb0\x8b\x82\xb5\x76\x71\xa5\x27\x3e\x06\xd0\x19\x74\x0f\xfa\x25\x1f\x9e\x3c\x18\xeb\x39\xd5\x23\x33\x76\x1e\x42\xea\x4f\xe4\x48\x68\xb2\xb3\x6c\x8d\xd3\x30\x11\xcd\xf7\x72\xd0\x48\x17\xaa\x3c\xbe\x56\xc3\xa6\x99\xf3\x53\xf4\x49\x6f\x88\x00\x8e\x96\xf3\xe2\xbb\x95\xa4\xc3\xb1\x90\x82\xe2\x80\x87\x70\x27\x69\x91\x2b\x27\xec\x44\x50\x50\xd5\xf8\x51\x83\x8e\xec\xf4\x4e\x94\xea\x2c\x16\x70\x0b\xe9\x94\xe1\x6e\x15\xa7\xbf\x11\xfd\x63\x29\xfc\x24\x8c\x9e\xf8\xe4\x09\x38\x6b\xc5\xc3\x19\x1b\x7e\x9a\xcb\x49\x9f\x7a\xe9\x6f\x78\xc1\x97\x92\xe5\x23\xbf\xcc\x90\x31\x7d\xb7\xc8\xcd\x18\xaf\x01\x4e\x87\x4d\x2d\x05\xb0\xf5\x39\xc4\x9c\x96\x6a\x07\x67\x66\xe6\x13\x4d\x7a\x2e\xfd\xde\x4c\xce\x66\x9e\xc2\x0f\x18\x41\xc9\x68\xf2\x49\xdf\xf4\x89\x2a\x9e\xf8\x2a\xb2\xf6\xe5\xed\xf8\x90\x7b\xcb\x33\xa7\xe6\x44\xeb\x26\x4b\x05\xc1\x54\x6c\x70\xee\x94\x7b\x3b\x3b\x7f\xcf\xff\xfa\xf5\x23\xd6\xca\xd1\xe0\x49\x61\x49\x38\xa1\x27\x3b\xe9\xb0\xe1\x46\x73\xe5\x2c\x13\xd1\x86\xab\x67\x84\x12\x8e\x61\xda\x46\xa9\x7e\xcd\xba\x12\x59\xcb\x08\x56\x9f\x0a\xfe\xa9\x64\xb8\xed\x00\x61\x62\x4a\xe9\x55\x41\x34\xd9\xc8\xf0\x7e\x65\xcc\x19\x48\x06\xdf\x05\x5e\x97\x30\xba\x14\x82\x95\x35\x9e\xf6\xe1\xb0\x07\xe0\x90\x96\x93\x9a\x5f\x74\xcc\xe7\x91\xe4\xed\xec\xdc\x3f\xb7\x1b\xba\xcc\x05\xff\x53\x2f\x6b\x7e\xda\x65\xdb\x11\xb6\x77\xd5\xdf\x19\xea\x8a\x7b" -func workboxV363WorkboxCacheableResponseProdJsBrBytes() ([]byte, error) { +func workboxV431WorkboxCoreProdJsBrBytes() ([]byte, error) { return bindataRead( - _workboxV363WorkboxCacheableResponseProdJsBr, - "workbox-v3.6.3/workbox-cacheable-response.prod.js.br", + _workboxV431WorkboxCoreProdJsBr, + "workbox-v4.3.1/workbox-core.prod.js.br", ) } -func workboxV363WorkboxCacheableResponseProdJsBr() (*asset, error) { - bytes, err := workboxV363WorkboxCacheableResponseProdJsBrBytes() +func workboxV431WorkboxCoreProdJsBr() (*asset, error) { + bytes, err := workboxV431WorkboxCoreProdJsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "workbox-v3.6.3/workbox-cacheable-response.prod.js.br", size: 298, mode: os.FileMode(420), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "workbox-v4.3.1/workbox-core.prod.js.br", size: 2211, mode: os.FileMode(420), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _workboxV363WorkboxCoreProdJsBr = "\x1b\x2d\x1d\x00\x1c\x85\x71\xe3\xf3\xa6\x94\x5b\x3b\xe6\xda\xb2\x29\x21\x22\xdb\x08\x49\x66\xfd\xde\x54\xed\xbe\x97\x13\x8d\xec\x32\x83\x5d\x89\x29\x1d\x79\x90\x52\xe4\x94\xd2\x65\xf0\x53\x86\x0d\x63\xe4\xe1\xa8\x2d\x28\xad\x6c\x65\x94\x1a\xb7\x5a\xb6\xaa\x8d\xd1\xce\xcb\x14\x7f\x39\x48\xe6\x81\xe6\x80\xf6\x81\xe7\xe4\x36\xb6\x7e\xe3\x59\x14\xfa\x6e\xfa\x7f\x73\xa5\xcd\xed\xa1\x6c\x59\x91\xbc\x1a\x07\x24\x4c\x9d\xd9\xf9\x03\xbd\x24\x93\x7d\x2f\x93\x1c\xce\xe6\x08\x16\x8a\x34\xc9\x11\x80\x2a\xea\x23\xf2\x7d\xbe\xaf\x4a\x9c\x90\x95\xb2\x46\x9e\x2c\xb8\xc9\x92\x14\xa6\xe1\x0e\x96\xe1\x74\x57\xa7\x14\x89\x91\x84\x2a\xff\x51\xe6\xcf\x34\x47\xe7\x47\x48\x0b\x0a\xc5\x20\xbd\x2f\xc0\x72\x3f\xf0\xe6\xa6\x3c\x16\x97\x77\x2e\x41\xc8\x06\xd5\xa6\x5c\x85\xac\x26\xe0\x26\x32\xca\x9d\x41\x28\x9a\xdb\xe6\xbc\x90\x5b\x50\x92\x7d\x53\x1e\xb6\xab\x72\x30\x23\xba\xde\xee\x52\x3f\x26\x48\x2b\x1f\x47\x04\x93\x42\x56\x81\x88\x55\x56\x20\xa4\x1c\xd6\x49\x00\x26\x2c\x3b\x24\xf4\xb9\x7d\x25\x19\xf3\x86\xef\x0a\x29\x61\x24\x37\x7c\xf5\x2a\xcc\x61\xe0\xf7\x4d\x86\x80\x39\x31\xa6\x0b\xe1\xcd\x9d\x8d\x92\x02\x77\xfc\x2c\xb8\xc8\x26\x93\x21\xb8\xce\x3a\xe2\xad\x0f\x18\x63\x18\x4a\x0c\xbd\xa1\x46\x1f\xde\xb6\x36\xab\x3b\x54\xfd\xbd\xc4\xa0\xa6\x54\x19\xd0\x41\xe7\x88\xae\xab\xf9\x51\x77\x33\x9f\xc0\x5d\xcb\xcb\x79\x77\xac\x2b\x10\xd0\xf7\x30\x2a\x82\x8a\x1c\xf8\xe3\xee\x32\xd3\xb4\x70\x57\xb8\x39\x97\xec\xae\x12\xb7\xc2\xe2\xae\xb1\x5f\x26\x64\x75\xd7\x5d\xc2\x94\x7b\xad\x54\x97\x7e\x11\x4d\x0f\xe8\x8a\x0f\x42\x74\x47\x9b\xf6\x53\x7f\xde\xcd\x25\x5e\x8a\x12\x40\xa1\x21\x26\xb6\x8e\xb2\x25\x35\xad\x44\x44\x56\x93\x96\x99\x45\x6d\xd8\xb4\xb7\xcb\x82\x26\xb7\x07\x1e\xe4\x9f\x6e\x14\x18\x45\x36\xc6\x20\x64\x91\x7a\x8c\x12\x0c\x84\x10\xd5\x38\x81\x2f\x25\x5d\x96\xf7\x42\xc9\x40\xaf\x5b\x18\xfc\x0e\x23\xaa\x1c\x17\xd4\x56\xe6\x48\xb8\x87\x30\x19\xf7\x43\x54\xba\x08\x9d\xdd\x9a\x74\x66\x0d\xb5\x82\x34\x88\xe0\x09\x6f\x32\x9a\xa6\xe1\x22\xbf\xd4\xeb\xbb\xf9\x27\x40\x79\x94\xe1\x1f\x49\xf3\xca\xdf\x25\xba\x54\x6b\x0d\x01\xa7\x28\x8a\x13\x39\x63\x81\x1d\x2e\x37\xdb\xce\xee\x56\x7f\xfe\x33\x1c\x66\x8c\xd7\xbe\x89\xae\x7a\x37\x71\x0c\xf3\xb3\xe4\x2c\x7a\x66\x5f\x64\xf6\x50\x79\xb9\xe7\x08\x18\xea\x78\x46\x53\x91\xd2\xc3\x1c\x3a\x6f\xa5\x12\x14\x77\x3d\x57\x3b\x01\xf5\x08\x52\x27\x55\xd9\x9c\x23\x7e\x4b\x73\xe1\xd6\x8c\x66\x8a\x69\x0a\xc9\x76\xb5\x85\x70\x0b\x08\x3f\x61\x67\xeb\x7e\xc8\x68\xc0\x40\xd8\xd9\xc2\xd7\x51\x7f\x00\xec\xc2\xe1\xf5\x6b\x3f\xc5\xd8\x2e\x64\x55\xd1\xb1\x2d\x22\x07\x0d\xdc\xc8\x33\x73\x64\x37\xc9\xa8\xe2\xfd\x2e\x68\x12\x10\xd8\x6a\x5e\x71\xcc\x55\xc5\xb1\x88\x9a\xa6\x51\x68\xb2\x09\x50\xd9\x02\x84\xfe\x08\x5a\x65\x1d\xea\x89\x9b\x05\x50\x84\x24\x8e\x45\x60\x04\xb3\xd3\x99\x05\xe1\xc1\x55\x43\xdb\x6a\xf2\x75\x18\x48\x3e\xfb\x3f\x95\xc3\x12\xda\x42\x2c\x96\xea\xdb\xc7\x6e\x47\x0a\x9f\x59\x8a\x8b\x82\xc5\x97\x9d\x21\xb0\x10\x64\xa4\x34\x9e\x82\x25\x7f\xa3\x0b\x68\x87\x8e\x0b\x83\x59\x15\x1a\x6e\x13\x3f\x13\xe9\x58\xe6\xd5\x2e\xd2\xaa\x23\xd1\x4e\x72\xb2\xcd\xe6\x36\x83\xb2\xfe\xa5\x8a\x6e\x12\xaa\xdc\x5f\xc0\x1b\x9e\x55\x0b\xbc\x2c\x91\xda\x0a\x61\x0d\x11\xc3\x24\x58\x07\x76\xd2\xd3\x74\x8b\xcb\x77\x70\xb2\x17\x12\xa3\xd1\xf7\xd0\x6a\xb6\xb9\xae\x58\x09\x0b\xef\x06\x9a\x33\xdc\x7a\x25\x9c\x90\x77\x8d\x01\x16\xfd\x8e\xcb\x62\xea\x79\x58\x65\x8f\xfe\xb3\xa5\xf5\x96\x22\x7d\xbf\x90\x25\x17\xa0\xac\xf1\xab\x0f\x29\xed\xa7\x6b\xc8\x7c\x03\x89\x51\x3c\x35\x11\x78\x10\xf3\x7a\x48\xe6\xd2\x0a\x24\x0b\x40\xf5\xb7\x11\x21\xd5\xd2\x77\x57\x59\x07\x57\x4a\x7b\x95\xd3\xe3\xb2\xcb\x94\xb8\x06\x7c\x97\x91\xf9\xb0\xd8\xc6\x1d\xb1\x80\xfd\x47\xca\x41\xb6\x7d\x8d\xda\xbd\x2d\xdb\x8a\x1f\xd4\x00\x26\xf2\x90\xb8\xf9\xe9\xf0\x6a\x53\xb2\x14\x2c\x79\x14\x43\x3b\x7b\x90\x75\xdf\x0d\xa9\x44\x0a\x0a\xa7\x66\xdc\x9e\x6f\x1a\xa5\x04\x8b\xbb\xb5\xac\xc9\x89\x14\x65\x26\x4d\x57\xe5\xdf\xc4\xb9\x0e\xe0\x4e\xcd\xfc\x82\x45\xc9\x52\xb3\xc1\x36\x9b\xf6\x1a\x86\xea\x64\x0b\x8b\x11\x99\x87\x1a\x99\x02\xce\x80\x34\xe4\x4a\xd2\x9a\xd0\x1a\xb4\x21\x29\x55\xdd\xcd\xbf\x39\xb5\xb9\x46\xe2\x24\x8e\x5f\xf5\x48\x50\x83\x01\x1b\x84\x11\xd6\xf3\xa6\x9c\x09\x68\x7f\x10\x42\x66\xc2\xa8\xde\x5a\x32\x86\x59\x34\x35\x04\x8d\x2a\x83\xb6\x45\x8a\x73\x82\x9c\x4f\xe3\xf9\x55\x7b\xb9\x3c\xbf\x6a\x41\x89\xf3\xdd\x9d\xc6\xeb\x07\xbd\x3c\xe4\xf2\x41\xb1\x4e\xd9\xfc\x4f\x6a\xb6\x38\xe5\x46\x7d\xd0\x05\xc9\x9b\x93\xab\x2d\x90\x96\x4b\xc8\x8a\x4e\x8d\xae\x89\xd2\xa0\x72\x59\x50\xa9\x7e\x02\x52\x51\x32\xaf\x71\x10\x39\x63\xb9\x94\x4c\x38\xbd\x1d\x2f\x68\xfd\x52\xa2\x6c\xd6\x12\xa2\xf8\xa4\x83\x6c\x8c\x4d\x88\xb2\x56\x7d\x57\xb6\x06\x8f\xd0\x7b\xe7\x7e\x6a\xf4\x4c\xb9\x7e\x70\xd9\x34\x89\xbe\x68\x96\xbb\xea\xe9\xec\x5f\x0b\x0c\x63\x03\xc9\xb4\x7b\x3e\x85\x2d\xb0\x11\xcc\x11\xf0\x01\xc5\xb1\xc6\x88\xf8\x11\xd6\x41\x78\x3e\xe6\x05\x81\xe5\x7c\xc8\x84\xf2\x34\xc7\xb8\x54\x26\x38\xee\xff\xa3\x2a\x7b\x46\x50\x05\xdd\x2c\xfa\x8e\xe3\x52\x2b\xd2\xab\x27\xf3\x03\x8a\x29\xa3\x54\x25\x74\xa6\xfc\x3d\xa7\xb0\x27\xed\xc8\x0c\xfa\xde\x4a\x49\x50\x2f\x31\x0c\xa4\x57\xdd\x4b\xd3\xbc\x71\x86\x41\x55\x17\x25\x8a\x70\x58\xa9\xe8\x3b\x85\x12\x7b\x60\xd9\x42\x01\xc6\x12\x41\x78\xe6\xc5\x99\x68\xe5\xc5\x26\x7b\xfa\x39\x76\x0e\x3c\x25\xc1\x3c\xa7\xb2\x17\xa2\x25\x25\x18\x94\xae\xa6\x15\x19\xae\x0e\xb8\x9f\xce\x67\x8f\x51\xe2\x03\x4a\xbc\xba\x0e\xba\x0e\x57\xf0\xab\xd3\x1c\x01\xa3\x8c\x39\x8d\x6d\xed\x8b\x42\x93\x28\x25\xaa\xe0\xfd\x47\xc8\xd1\xaa\xc8\x08\xb7\xf9\x0d\x66\x69\x55\x8d\xff\xa6\xa0\x9c\x9c\x85\x9a\x30\x4a\xe0\xe4\x3b\xc4\x94\x00\xad\x61\x53\xcd\x43\xed\xdb\xfa\xb8\x36\x85\xad\x62\x67\x8c\x28\xfb\xa2\x9e\x85\xf4\x04\xc0\xa6\xea\xb1\x42\x32\xd3\x95\x91\xa2\x50\x4b\x7d\x65\xd0\xd8\x67\x24\x8e\x69\x7b\xd4\x3d\x54\x18\xc0\x33\xfe\xd5\xc4\x43\xbd\x5e\x45\x6b\x00\x86\xe6\xde\x35\x50\x69\x2e\x11\x88\xc4\xb4\x99\xb1\xf8\x20\x18\xe3\x8b\x33\xfa\x68\x1a\x74\x8a\x9f\x1b\x35\x6d\x25\x4c\xa8\x71\x8e\x04\xa2\xc2\x6c\xe9\x50\xe6\x95\xbe\x38\xb8\x84\x11\xa4\x6c\x01\xbd\x92\xb6\x0a\xdc\xdf\xe3\x09\x92\x87\xfa\x8a\x45\xe9\xe1\x47\x01\xe7\x57\xc4\x2a\x75\xb5\x5d\x7b\x92\x1b\x15\x3b\x22\xcf\x19\x83\xad\xb0\x7f\xe8\x02\xc1\x64\xf6\xed\xd1\x00\x46\x6d\x10\xbb\xa0\xd8\xd9\xd0\xb5\x65\xae\x62\x86\xcb\x5b\x9c\xce\x9d\x65\x7e\xaa\x33\x94\x87\x7c\x3e\x74\xdc\xdc\x96\x19\xf3\xcc\x98\x95\x75\x93\x85\x88\x8f\xc0\x4d\x66\x6f\xfe\xfc\x3b\x4a\x09\x77\x22\xcd\x46\xd1\x31\x50\x3b\x1f\x98\xb1\xb1\x3c\x57\x71\xb4\x90\xed\x2c\xaf\x72\xd0\xa4\xdb\x55\x37\x6d\x34\x35\xba\xb9\xba\xe9\xe5\x03\x79\x54\x3d\x1e\x6a\xda\x20\xfc\x8c\xc8\x64\x0d\x2e\x9a\x3e\xae\x07\x72\x91\xa1\x74\xbf\xad\xed\x87\xb3\xd8\x64\x2d\x75\x3b\x17\x7f\xf3\x11\x14\x9d\xd6\x1a\xe2\x99\xef\x3e\x82\x9e\x09\x14\x4c\x6b\x11\x16\x1d\x7a\x33\x93\x9c\xc5\xf6\x6f\x47\xc4\xe5\x8b\x60\xb4\xae\x1a\xbd\x4b\xdf\x5a\xed\xaa\x6a\x28\x82\xfd\x00\x63\x53\x93\xc5\x27\xef\x74\x4d\xc3\xf1\x2c\xb6\x43\x94\x53\xc9\x57\x32\x1a\x3a\x8a\xaa\x3f\x9a\x5e\x68\xf8\xda\x14\x44\x8f\x2d\x1b\x8c\x5f\xb9\x7f\x13\x77\x15\x54\x73\xfb\x54\xc0\x24\x5c\x0c\x56\x11\x3a\x17\x87\x5c\xd0\x31\xd6\xc2\x9a\x8e\xd8\x1f\xe7\x79\xef\xa7\x93\x50\x7b\xaa\x87\xd2\xa4\xe7\x7a\xdb\x9a\x8e\x49\xb9\xe7\xcc\xaf\x41\x94\xa1\x26\x61\xb9\x96\x05\xc6\x9c\x55\xf2\x9c\xf2\x5c\xfd\x84\xf0\x44\xfc\xdc\x4c\x3f\x78\xcc\xb1\xbe\xff\xb4\xbf\xc0\x18\x12\x02\x07\x13\x88\x57\x67\x19\x20\xac\x1b\x2f\x1f\x74\xec\xe1\xab\x1a\xe7\x69\x9c\xda\x66\x86\x65\x75\x9b\xdc\x69\x68\xb2\x63\xed\x8c\xe1\xd1\x7c\x9a\x82\x37\x54\x0a\xe0\x18\xce\x13\xea\x49\x21\xc2\x9b\x24\x05\x45\xe0\xbd\xc1\xf3\x21\x98\xf4\x3a\x98\x87\xd9\x15\xf7\x4a\xa4\x4e\x54\x91\x8e\xbc\x03\x41\xa1\x31\xb6\xc8\xe0\xd4\x22\x89\xeb\xa9\x61\xcf\x50\x46\xb8\xaf\xb0\x67\x0d\xad\x96\x5b\x3e\x3f\xdc\xda\x42\x02\x49\x1a\x33\xf2\x1e\xe6\xb8\xac\x6b\x4a\xe2\xd9\xa3\xb0\x20\x2c\xbd\xc1\x3d\x80\x5e\x9d\x84\xe9\x65\x52\x0f\x8f\xc7\x45\x68\x00\xc2\x22\x31\x48\xe4\xf1\x86\x3a\x5f\x73\x3d\x73\xdb\x84\x54\x47\xc3\xb4\x53\x4f\x33\xd2\x11\x98\xe8\xeb\xd3\x08\xcb\x77\xa2\xfb\x34\x43\x4a\x29\x84\xfe\x62\xd2\x6d\x11\x48\x37\x3d\xd1\xb1\xde\x2e\x21\x8d\xa3\xbb\x21\xa9\xcc\x28\x00\x0b\x85\x42\xc6\x33\x1f\x25\xc3\x50\x53\xc4\xb7\x5b\xb7\xb0\xd3\x42\xd3\x95\x8c\xf1\x39\x83\x1f\xbb\x0d\xff\xf5\x36\x9c\x1d\xbf\xef\xe2\x48\xbf\xbf\x44\x6f\x3c\x7d\x06\x26\x2d\x6a\x0b\xd0\x7c\xba\x66\x0a\xcf\x90\xab\x63\x29\xa3\x13\x81\x42\x26\xa4\xcf\x64\x2c\x67\xf4\xe2\x29\xa4\xc8\x93\x20\x0f\x88\x61\x74\xa5\xd2\xfa\x42\xd3\xfa\x32\xcc\xe0\x98\x01\xc0\x89\xcf\x20\xb1\xdd\x7e\x20\x16\x27\xaf\xa7\xcc\x0d\xd2\x92\x95\xd4\x06\x80\xe8\xee\x3f\xa7\x7f\xfe\xe0\xbd\x2f\xcb\x07\x75\x33\x94\xbc\xeb\xde\x99\xbf\x7d\xe9\xda\xcf\x4d\x2f\xbd\x94\x7a\xf5\xec\x1a\x8e\xeb\x03\x24\xa6\x40\xa4\x09\xc7\x87\x5a\x72\xd9\x93\x42\x69\x80\x2a\x80\x1c\xb0\x0b\x8e\x84\x84\x0e\x73\xc7\x4b\xf8\xdd\x71\x18\xbb\xf2\x3d\xd0\x88\xd5\x0d\xc8\x72\xf2\xfb\x26\xee\x01\xb8\x61\x4e\xf0\x3a\x32\x9f\x80\x51\x2c\x81\xc0\xe6\xd4\xb2\x2a\x6a\x82\x70\x6b\xfd\x7f\x8c\x00\xa3\x77\x7a\x45\xd3\x52\xde\x03\x65\x14\x15\xce\x18\x1e\xc6\x58\xed\x34\xc7\x69\x20\x39\x5d\x91\xd2\xb8\x6b\xbc\xf0\x2c\x46\x96\x62\x49\x07\xc3\xd2\x95\x65\x04\x65\xf5\x6b\x64\x30\x3b\xb4\x79\x2c\xe7\x80\xca\xe4\x32\x6a\x70\xd3\x13\x13\xd9\x30\x54\xd1\xde\x2b\xfe\xae\x66\x99\x91\xd6\x35\x23\x48\xa3\x5c\xf5\x07\x8b\xbc\x4e\xeb\x1d\xd1\x0a\xdc\x13\x69\x33\xbb\x74\xb7\xc0\xff\xa0\x32\xfb\xb7\x7f\x8b\x0a\xb7\xe6\x67\x4d\x0d\xc3\xc3\x5d\x72\xbf\xf6\x80\xaf\xc8\x48\xd8\xc8\xde\x9d\x07\xd0\x59\xcd\xf7\xa4\x48\x83\xce\xfc\x1e\x2d\xe8\x5a\xf9\xaf\x7c\x7c\x77\x38\x9e\x72\xd7\xc8\x51\x71\x2b\xde\x30\x1e\xd0\x0d\x78\x43\xfd\xf7\xfd\xd8\xde\x99\xd2\x86\x82\x50\xe7\x8c\x02\xf6\x82\xbd\xe7\x52\x4a\xc7\x64\x7f\x9b\x45\x95\x1c\xc0\x79\xaa\x62\x1e\x59\x3e\x43\x3c\xbf\xf2\xe5\x92\x55\x2e\x61\xba\x4f\xe9\x02\x25\xb8\xea\xae\xe9\xc3\xe8\xe4\x2f\x72\xf1\x0c\xd0\xa9\x02\x49\x83\xa1\xa4\x45\x69\x5a\x8c\xe1\xa9\x6a\x14\xe9\x36\x1d\xeb\xc5\x44\x43\xb9\xb5\x42\x7f\xb5\xec\xfa\x89\x0d\x83\x1e\xe0\x30\xf1\x02\xf4\x0d\x11\x77\xbd\x9d\xc6\x78\x97\x40\x82\xa5\x33\x1a\xda\x01\xcb\xe4\x24\x0c\xa3\x41\x27\xae\x7a\x6e\xa2\xdc\xf4\x4a\xa2\x1e\x2c\x31\x7f\x73\x4c\xc1\x15\x2f\x5e\x3f\x3e\xfd\x2f\xae\x4b\xc6\xc4\x9b\x8b\xa9\x8d\xaa\x7c\xd5\x0f\xd6\xa2\x89\x8c\x8b\x17\xbd\x98\xc6\x2e\xde\x43\x8d\xc2\xa1\xb0\x89\x94\x50\x1b\x3d\xa4\x95\x04\x3d\x60\xf9\xfd\x7b\x4f\xeb\x71\xc2\xb4\xbc\x11\xec\xf1\x04\xbd\x02\x28\x90\x6e\x43\xc1\xdf\x85\x29\x16\xe9\x65\x04\xc3\x45\x8f\xe5\x02\xe4\xa5\x4b\x17\xb6\x8f\x46\xf6\xd2\x53\xf9\xf1\xdd\xa1\x8a\x9c\x3a\xf6\x1f\x03\xde\x3b\xcd\xc9\x5d\x73\x76\xbe\xfc\x0b" +var _workboxV431WorkboxExpirationProdJsBr = "\x1b\x49\x0b\x00\x64\x33\x55\xff\xf9\xbc\x6c\x76\x11\x35\x0c\xdb\x97\xbe\xa8\xc0\x23\xe3\xd7\xbd\x58\x0b\x96\x98\x41\xf9\x44\xa8\x8b\xe2\xd9\x5a\xa6\x8e\x20\xbe\x4e\x3f\x58\xf5\x3b\x3b\xb7\xc9\xdf\xde\x5d\x9e\x10\xba\x65\x09\xe8\x08\x5c\xab\xab\xc8\xd5\xb2\x70\xaa\xa6\xe2\x6c\x00\x60\x3c\x3b\x79\x8a\xda\x68\x0f\x28\x21\x4f\x9c\xfb\xd5\xfd\xe5\x23\x0e\xcb\xfc\x0e\x7c\x50\xa1\x11\x11\x03\x4f\xa9\x2c\xcd\x5f\xad\xa2\x60\xc2\x80\x1e\x23\x64\x33\x24\x99\x24\xed\xc3\x5e\x4d\xa5\xfd\xbf\xac\x99\xe3\x8b\xa1\xa1\xe3\xde\x77\x4f\xe8\x94\x56\xe6\xdb\xc3\x87\x3f\x2c\x64\xc9\x49\x55\x4b\x33\xe9\xc1\x49\xcb\x6f\xd3\x99\xe7\x0c\xee\xd9\x38\x41\x99\x47\x58\x9f\xc1\x9e\x95\xd7\x79\x9d\x15\x8e\xf2\xa7\x63\x56\x9d\x8a\x66\x62\xfe\xb1\x0a\x75\x55\x4d\xd4\xa0\x10\x14\x6d\xa5\x4a\xc4\xae\x2e\x87\x95\xb5\xeb\xa5\x00\x9d\xfd\xca\xaa\xbc\x9c\xe8\x26\x84\x2e\xcf\x3f\xbf\x71\xbd\x2d\xae\x30\x77\x71\x38\xc2\x86\xa2\x24\xe6\x94\xd7\x6f\xa9\x0e\x56\xa1\x40\xb9\xc9\x04\xb3\x2b\x99\x9f\x93\xf5\x39\x79\x88\x3a\x14\xfa\x7e\xee\x33\x7b\xcc\x37\xf2\xef\xa5\xd7\xd6\x99\x50\x9b\x02\x95\xbc\x12\xfa\x7a\x8e\x2a\x0e\x79\x66\x07\xde\xe7\xd9\xfb\x6e\x37\x5d\xbd\xcd\x10\xb2\xf0\x9f\x60\x53\xd1\xd4\x9e\x08\xd1\x52\x87\xd2\x81\x1e\xa6\x15\x94\x95\xa1\x24\xda\x89\x78\xd5\x8a\x02\x59\xd9\x4c\x56\xf4\x65\x27\xdd\x44\xe9\x38\xa8\x12\x2d\x43\x7f\xeb\x14\xb9\x85\x9c\xa0\xb0\xdc\x91\xf6\x63\xa8\xef\xf1\xd6\x50\x94\x91\x7e\x23\x45\xf0\x4e\xbb\x5a\x6e\x84\xbd\x3f\x04\x40\xbc\x90\x12\x00\x45\x91\x76\xd7\x40\x5e\x74\xc1\xee\xc4\xd4\x56\xfd\xc5\x4d\xd4\xee\xd1\x44\x12\x44\x73\xab\x41\x9b\x30\x00\x9c\xee\x79\x4e\xd4\x79\x29\x00\x18\x47\x5c\xc1\x7a\x2b\xf8\x7c\x70\x59\x79\x0a\xa6\xb6\x02\xc5\x15\xfc\xea\xaa\xad\xb7\x4d\x23\x92\x8c\x46\x9e\x53\x62\xbc\xc5\xd9\xda\x8c\x87\xd3\x2e\x15\x86\x88\x8f\xbb\x55\x38\x58\x2f\xbe\x4c\xf1\x1a\xaa\x12\xd9\xd3\xcf\xcc\x6b\xcf\xc3\x87\xf6\x7a\x5b\xb2\x46\xfa\x4c\xc7\x51\x1e\xad\x6b\xd7\x2c\x9b\x98\xd8\x90\xc6\x10\xb8\x76\x36\x03\xf4\x7d\x17\x62\x85\x52\xa7\xf1\x06\x1b\x9d\xe1\x05\x0c\xfa\xc5\x0f\x5d\x6f\xb9\x3f\xae\x93\xee\x30\x49\x60\x3d\x8a\x16\xe2\x8a\x3a\x0a\x35\x60\xe0\x52\x52\x1a\xfa\xdb\x38\x3b\x11\x4a\xeb\x46\xfa\xe6\x2a\x9d\x99\xd1\xcc\x90\x63\x2f\x25\xe8\x0c\x0c\x05\x14\xce\x25\xf2\xe2\x1d\x4f\x57\x4b\x6d\xb8\xd7\x78\xcb\x42\x77\xfe\xaf\x7b\xe9\xe3\xb3\xc7\xc0\xae\x91\x7f\x3a\x0f\x41\xe0\xce\xdc\x5d\xde\x59\x05\x88\xc4\x21\x87\x03\xdc\x1d\x1d\xc8\x8b\xe3\xb9\x27\x71\x0f\x2e\xa1\x12\xc9\xb1\xac\xac\xc2\x99\xf9\x87\x9b\x4b\xaf\x42\xb1\xfb\x63\x61\xbe\x92\xd3\xc7\x33\xb3\xab\x9b\x9e\x5a\xa2\x00\x6e\xaf\x3b\x02\x26\xea\xe4\x04\xdc\x81\x63\xe5\x04\x1d\x29\xfa\x84\x8e\x98\x13\xe6\x03\xd3\xcb\x84\xe6\x22\x68\x10\xd8\x4d\xa4\xb2\x64\x09\x9a\xf7\x57\x47\xdc\x6a\x99\x45\x31\xcf\xd4\x65\x44\x6a\x42\x7a\xf7\xfa\xe9\x15\x83\xed\xb5\xb3\x57\x13\xd2\x6f\xf6\x87\x33\xa3\x21\x4d\xd4\x0b\x11\x30\x3d\xac\xd7\x88\x4d\xab\xc5\x12\x4a\x01\x98\x95\x2e\x4e\xdb\xae\xca\xa4\xf8\x80\x4a\xad\x16\xca\x0c\x36\xc1\x6a\x6c\x15\xbc\x64\x45\x92\x51\x95\x1b\x00\xbd\xfc\xcc\x1f\x51\xe9\x38\xf4\x8d\xbc\x88\xbf\x3b\x2e\xfb\xdf\xa5\x0d\x3e\x7c\x18\x87\xab\x63\xec\x19\xa9\xab\xfe\x1c\x16\xca\x02\xaa\x1d\x88\x59\xbd\x8b\xf5\x33\x51\x5f\xde\x12\x6b\xfa\x6f\xac\x62\xf0\x0c\x33\xfb\xd8\x86\x44\x57\xf3\x7a\x88\x1a\xee\x1e\xeb\xb6\x00\xda\xf6\xdd\x9f\x89\x40\xfe\x40\x1f\x0a\x44\xe0\x68\xb7\xc6\x36\x7c\x5e\x07\xe0\x73\x28\x99\xe7\x4d\x7a\xca\x90\xa5\xec\xc2\xda\x40\xf2\xdc\xa6\xc5\xa0\x7f\x1c\x6d\x39\xa9\x0e\x88\x9c\xbc\xc4\x97\x4f\xa7\x5a\x14\x00\x94\x42\x55\xad\x7f\xe1\x98\xfc\x3a\xb2\xf5\x5c\x7a\x18\x50\xce\xa3\x15\xe5\x50\xac\x59\xac\xce\xf4\x7b\x24\x7c\xaf\xcf\x85\xa2\xad\x73\x1a\x22\x8d\x64\x46\x10\x72\xd6\x27\x9e\xdb\x00\x41\x36\x1b\x9f\x78\x63\x13\x54\x11\xc4\x6a\x55\x31\xd8\x33\xd2\x99\x4b\x12\x22\x46\x35\x43\x95\xc3\xaa\x04\x22\xe8\xf3\xc1\x1d\x6d\xdd\x42\xc2\xab\x77\x13\x9c\x28\x8e\xf2\xdc\x17\x7c\x8a\x07\x14\x93\x05\xfd\xac\xf0\x1f\x26\x64\x1a\x3c\x07\x33\xcb\x38\xca\x9a\xa1\xad\xfd\x20\xcc\xa9\x32\x6c\x4e\x35\x0f\xab\x35\x72\xef\x36\x60\x0a\xc6\x8a\xbd\x7a\xa5\x11\x0d\x62\xe2\x31\xe4\xdd\x2e\xf5\x40\x96\x6c\xbb\xd2\x73\xff\xdc\x26\xd8\x90\x73\xb8\x14\x52\xe0\x02\xff\x65\xa8\x3f\xdf\x79\x5a\x76\xcf\x2a\xa7\x69\xa5\x88\x91\xac\x3e\xa9\x98\x68\xd6\x63\x61\x0c\x4c\x71\x6e\x41\xd6\xeb\xc2\xbb\x96\xf3\x59\xe6\x8b\xa2\x7c\x5b\x53\xb8\xed\x84\x0c\xc8\x72\x1b\x72\x52\xe5\xd1\x3d\xa0\x0a\xc9\xe1\x52\x50\x8b\xcd\x05\xeb\xa3\xa4\x69\x6f\xe5\x47\x1d\xf8\x3f\x3d\x53\x07\xd5\xc9\x62\x71\xef\xaf\x66\xb1\xed\xd6\x4b\xde\xbd\x7e\xca\x15\xd3\x9d\x34\x7c\x30\x5d\x74\x9d\xe8\xce\x1f\x4f\x00" -func workboxV363WorkboxCoreProdJsBrBytes() ([]byte, error) { +func workboxV431WorkboxExpirationProdJsBrBytes() ([]byte, error) { return bindataRead( - _workboxV363WorkboxCoreProdJsBr, - "workbox-v3.6.3/workbox-core.prod.js.br", + _workboxV431WorkboxExpirationProdJsBr, + "workbox-v4.3.1/workbox-expiration.prod.js.br", ) } -func workboxV363WorkboxCoreProdJsBr() (*asset, error) { - bytes, err := workboxV363WorkboxCoreProdJsBrBytes() +func workboxV431WorkboxExpirationProdJsBr() (*asset, error) { + bytes, err := workboxV431WorkboxExpirationProdJsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "workbox-v3.6.3/workbox-core.prod.js.br", size: 2585, mode: os.FileMode(420), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "workbox-v4.3.1/workbox-expiration.prod.js.br", size: 1126, mode: os.FileMode(420), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _workboxV363WorkboxGoogleAnalyticsProdJsBr = "\x1b\x4a\x08\x00\x14\x21\xc9\xec\x66\xaa\xfe\xfb\x79\xf9\xd8\x45\xb6\x30\x32\xb6\x74\xe8\xda\xaf\x8c\x97\x9d\x41\xcb\xd0\xc8\x29\x44\x4a\x42\x59\x0c\x0d\x5a\x6b\xf5\x2d\xc6\x8f\x0e\xd4\x34\x6b\x6f\xe6\x09\xf3\x24\xde\x44\xbc\x6a\x82\x50\xae\x94\x44\x4a\xd0\xe5\xaf\xf1\xae\x3d\x74\x23\x3e\xf8\xb3\xf2\x22\x5c\x02\x8b\x7d\x2b\x79\xa0\x2b\xfb\x2e\xf3\x4b\xc0\xd0\x86\x65\x2b\xa2\x71\x50\x92\xa4\x5b\x86\x00\x0a\x02\x11\x1a\x48\x2e\x9b\x29\xf1\x2c\x69\x1c\x1a\x35\xb5\xc6\xc7\x9c\x41\x11\x52\xfc\x6e\x61\xde\xda\xaa\x40\x03\x73\xbf\xfd\xa9\xda\xc1\x7d\xdc\x31\xe7\xb4\x55\xca\x30\x90\xcb\xac\xd3\xff\x9a\x8d\xb4\x71\xb1\xdc\xb0\xcb\xfb\xf7\xcb\x0d\xf7\x91\x8d\x3e\xdc\x80\x81\xac\xa7\x95\x5f\xf1\x38\x9a\x53\x96\x63\xc2\x92\xf6\x9f\xca\xbc\xb2\x12\x12\x6d\x4a\x13\xef\x2c\x8b\x88\xb1\x8f\x03\x8f\xeb\x59\xe0\xfb\xdf\xaa\x3c\x89\x07\x6b\x01\xd4\xe5\x78\x3d\x42\xae\x30\x62\x17\x9d\x3b\x56\xac\x16\x64\xcd\x1d\x1c\xd6\x04\x10\x01\xe7\x82\x15\xa4\x71\xdd\x15\x10\xc4\xcf\x99\x1c\xcb\x95\xd8\x93\x13\x0a\xd4\xf3\x39\xb5\xcd\x5c\x98\x5d\xa9\x13\x7c\x39\x79\xeb\xf5\xc8\x44\x84\xf3\x9d\x50\xb6\x3e\x57\x6a\xa5\xcf\xd7\x89\x7e\x39\xf7\xc4\xf4\xc1\x4e\x44\x91\x05\xd9\xf8\xcd\x4c\x21\x4f\x71\xac\x04\x58\x06\x63\xdc\x25\xab\x08\x18\xa2\x5e\x35\x85\x42\x3d\xb4\x16\xdf\x7e\xb9\x22\x0e\x22\xb2\x14\xa7\x97\x8f\xc9\x8c\x0f\x9e\x1b\x25\xed\xec\xcb\x28\xab\x8f\xe4\xf6\x0f\xd6\x8b\xad\x7a\x1d\xa8\x35\x38\x5a\x27\xe9\x3c\xc3\x40\x04\xc8\xdb\xb3\x4a\x82\xc9\x92\xe5\xb1\x96\xa8\x99\xdb\xea\x27\xd9\x2a\x76\xac\xd6\xfc\x57\xe3\xdc\xf3\xf3\xa6\x83\x91\xbe\x79\x65\x0c\x72\x6f\xdd\x3c\x25\x39\xae\x98\x9c\xdd\x01\xa3\x03\xc6\x29\x77\x30\x2a\x1c\x6a\x78\x4f\x72\xad\x44\x1b\x7e\x2e\xcc\xa4\x9d\xce\x06\xcd\x15\x32\xb3\x9f\x49\xec\x31\xa3\x93\xdc\x22\x9c\xd7\x11\x0f\x04\x10\x57\x0c\xb5\xe3\x86\x48\xe3\xaa\x31\xf6\x83\xce\x85\x6b\xe5\x9b\x37\x06\x68\xdc\x0f\x82\xa9\x0e\x25\x6f\x80\xb4\x55\x46\x60\x3e\xcd\x07\x78\x12\xf4\x85\x99\x44\x59\x33\x99\x46\x62\x32\x10\xb1\x89\xbc\xe6\xa0\x83\x1f\x13\x19\xb9\x19\xd4\x82\x82\x72\x3e\x51\x36\x40\x62\x9d\xff\x9a\x25\x8b\x81\x02\xeb\x06\x4e\xff\x62\x0a\x04\x9c\xe2\x48\x57\xaf\xb2\x20\x88\x59\xca\x5b\x00\x0e\xe0\x65\x03\xe5\x8a\x2d\x47\x3e\x39\x26\x29\xb3\x82\x11\xd1\xbf\x21\x6b\x99\x72\x71\xf4\x81\x94\xd9\x81\x14\x81\x95\x8c\xc4\x88\x52\x5d\xe6\x27\xce\xc0\x6e\x85\x65\x77\x51\x07\x9e\x79\x7c\x01\xff\xa3\x76\x1c\x4f\x86\x9c\x7f\x64\x20\xdf\xf8\x87\x63\x56\x0e\x89\x07\xfa\x0e\x54\xdb\x87\x87\x9b\x00\xad\xf1\x54\x65\x9e\xc7\x28\x97\x9e\x63\xfe\x91\x44\x96\x7b\x36\x9c\x50\x1c\x4c\xb4\xb0\x9c\x54\x6b\x88\xd7\xdf\x20\xda\x93\x76\xd3\x73\xe6\x84\x25\x2b\x2e\x92\x00\x8e\xbd\x82\x6d\xcb\x67\xb5\x55\xcb\xc2\x79\xb6\x18\xe1\x36\x6d\x32\x89\xc6\x50\x21\x22\x46\x71\x00\x7a\xef\x79\xf3\xc6\x6c\x38\xf1\x5d\xa7\x0d\x2f\x8d\x0c\x04\x30\x52\xf5\xbf\x74\xc5\xd9\xc1\x41\x22\xe3\xea\x3b\xb1\xa2\xc1\x75\x3a\xf5\xdd\x46\xfa\x76\x23\xe2\x71\xde\xc9\x61\x1b\x55\x11\x1e\x0f\x18\x40\xa9\x8e\x94\x57\x34\x64\x9f\x3d\x2b\x99\xc5\x6a\xc1\xe7\x1b\xa3\x45\x3c\x80\x26\x70\x79\xb0\x22\x15\xca\xec\x66\x97\xf5\x8a\x40\x4b\x27\x55\x5c\x11\x6b\x84\x50\x70\x61\x72\x2d\x0a\x56\x1a\x4c\x84\x5d\x2d\xdf\xa6\x17\xc1\xef\x59\xd3\xb2\x36\xbd\x01\x3a\xf8\x5a\xd4\x57\x98\x66\x85\x00\x2c\x01\x08\x98\x7a\x8d\x66\xfd\xb3\x05\x29\x30\xc0\xc5\xe6\x02\x52\x73\x92\xc0\x2e\x9e\x3c\x86\xc6\x0a\xda\x8d\x1f\x2f\xd5\x00\xb1\x79\xba\x28\x93\x0e\xa1\x33\x9b\xa4\x7a\xce\x74\x84\xa2\x1c\xdb\xd8\x78\x39\xc1\x20\x9b\x6d\xe5\x91\xce\x8e\xff\x51\x4d\x6b\xc5\xdb\x28\x6b\xbc\x76\xe6\xc6\xdf\xbe\x00" +var _workboxV431WorkboxNavigationPreloadProdJsBr = "\x1b\x8b\x02\x00\x64\xff\xed\xdc\xbb\x4c\x50\x72\xc8\x55\x13\x38\xc3\x13\x9c\x73\x9d\xf2\xbf\x3f\x78\x93\xc7\xb6\x2e\x72\x9f\xa2\xff\xbd\x2c\x7b\x1f\x3c\xd2\x07\x92\x62\x6f\x13\x41\xf2\xec\x09\x03\x17\xda\x95\x15\xb1\x51\xc2\x4c\x9c\x0e\xd7\x6f\xb3\xf3\x6f\x99\x9f\x59\xc4\x09\x31\x12\xc7\x0e\xad\xdd\x42\xf6\x49\x50\xa5\x5f\x4f\x4e\x3e\xe5\x11\x1c\x25\x5d\x97\xc7\x4f\x99\xa5\x2e\xd3\x0c\xa0\x9a\x62\xdf\xf0\xbd\x56\xa5\x0a\x95\xd2\xeb\x7c\x7e\x0b\xb8\x54\xe6\x82\x4a\xab\xac\x31\xac\xe9\x95\xde\xf5\x1a\xf3\xfe\x02\x7c\x67\x64\x05\x05\xcd\xe4\x16\x5d\x55\xd4\xac\x34\xa1\xd2\x88\x9a\xff\x1c\x06\x6c\xcd\x9e\xd4\x20\x7d\x9a\xfa\xd5\x5e\x38\x6d\x49\xb3\xa5\x84\xe2\x86\xfd\x53\xba\xbe\xa2\x05\x81\x12\xe0\xe7\x71\xfc\x02\xd8\x6c\x29\x8d\xa8\x51\x5b\x42\x7c\x51\xe6\x10\x41\xc0\x24\x32\x0f\x75\xd8\x2f\xee\x4b\xe8\xc9\x92\x27\x6c\x36\xfb\x20\x68\x84\x1e\x3c\xb7\xc1\x95\x9b\x6c\x89\x06\x55\xa5\xe4\x38\x4e\xa6\xde\x84\x3f\xf5\x2c\x5d\x4c\xfb\xcd\x40\xc0\xb0\x03\xba\x3d\xae\x83\x62\xf8\xa4\xf3\xfe\x96\x00" -func workboxV363WorkboxGoogleAnalyticsProdJsBrBytes() ([]byte, error) { +func workboxV431WorkboxNavigationPreloadProdJsBrBytes() ([]byte, error) { return bindataRead( - _workboxV363WorkboxGoogleAnalyticsProdJsBr, - "workbox-v3.6.3/workbox-google-analytics.prod.js.br", + _workboxV431WorkboxNavigationPreloadProdJsBr, + "workbox-v4.3.1/workbox-navigation-preload.prod.js.br", ) } -func workboxV363WorkboxGoogleAnalyticsProdJsBr() (*asset, error) { - bytes, err := workboxV363WorkboxGoogleAnalyticsProdJsBrBytes() +func workboxV431WorkboxNavigationPreloadProdJsBr() (*asset, error) { + bytes, err := workboxV431WorkboxNavigationPreloadProdJsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "workbox-v3.6.3/workbox-google-analytics.prod.js.br", size: 869, mode: os.FileMode(420), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "workbox-v4.3.1/workbox-navigation-preload.prod.js.br", size: 251, mode: os.FileMode(420), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _workboxV363WorkboxNavigationPreloadProdJsBr = "\x1b\x93\x02\x00\xe4\xca\xce\x3e\x4d\x05\xdd\x3e\xf6\x23\x3d\xeb\x80\x15\xbc\x11\x37\xbc\xb9\x81\x9b\x72\xcc\x4f\xe1\x1d\xfa\xdf\xc3\xa2\xfb\xc1\x22\xad\x0d\x64\x8a\x7b\x9b\x48\x90\x67\x4f\x19\xb9\x30\xaf\x16\x61\x5e\x82\x76\xdc\x96\xd7\xaf\x5d\x88\xb7\xcc\x8f\x0c\xe4\x00\x09\xf1\x1d\x83\x96\x6e\x21\xfb\x89\x41\x46\x5f\x4f\x0a\x3f\xf9\xb1\x5f\x71\xb4\xc6\x8f\x9f\x54\x8b\x1a\x6f\xbf\x47\xd1\xe6\xa0\x4a\x4a\x32\x6f\xf0\xa5\x9a\xc3\x22\xe6\xa2\x13\x3b\x13\x31\x53\x06\xa9\x24\x57\x48\x84\xf6\x42\x70\xbd\x9e\x68\x71\x11\xe4\x4b\xca\x5c\x27\x93\xe8\x1a\x91\x65\x50\xa4\x14\xc6\x1d\x12\x25\x33\x5a\x24\x20\x57\x1b\x54\x11\xd1\x43\xd5\x9f\x16\x4c\x51\x83\x6d\x47\x32\xba\x0f\xf6\xb5\x74\x6d\x59\x93\x0c\x05\x01\x7f\xc8\xf1\x17\x01\xb6\x23\x15\x80\x02\x65\x30\xd2\x45\x98\x4d\x18\x00\x42\x92\xae\xe9\x92\xd6\xb3\xf9\x22\x7c\x12\x4f\x17\x6c\x52\xbb\x82\x41\x09\x75\xff\x5c\x0d\x97\xb3\xc9\x60\x25\xa4\x8a\xb7\x96\x65\xc5\xf6\x9d\x10\xa7\x9f\xc5\xc3\x5e\xc3\x76\x03\x10\xd3\xc3\xdb\xe3\x5a\xc9\x1e\x9e\x78\x5e\xdc\x42" +var _workboxV431WorkboxOfflineGaProdJsBr = "\x1b\x61\x07\x00\x64\x35\x53\xff\xfd\xbc\x02\xed\x12\x51\x9a\x3d\x6e\x1b\xdc\x75\xbf\xae\x57\x92\x15\x9e\x46\x7b\x2e\x1c\x69\x93\x68\xa8\x85\x22\x9f\xe7\x98\x8d\x0b\x7c\x06\x6b\xa5\xed\xaf\x22\xad\x8b\x13\x24\x1b\x70\xcf\xf3\x22\x01\xe5\xc0\xce\x64\xb4\xd9\x49\x2c\x8e\xf1\x91\x28\x1f\x25\xf8\x62\xe4\x77\xb8\xe7\xeb\xca\x7e\x5f\x2a\x7e\xa8\x20\xdd\x8a\xa3\x51\x31\x49\xdf\xb7\x82\x8a\x01\x3d\xf6\xe8\x30\x43\x31\x4b\x92\x55\xd2\x38\x39\x35\x9d\xc6\x87\xc2\xa0\x71\x6d\x82\x22\xb7\xea\x06\xdd\x57\xda\x73\x3a\xa3\x13\xb3\x7d\xfa\xf4\xd6\x42\x55\xde\x1b\x4b\x75\xc1\x27\x5d\x45\x3e\xfa\xb5\x39\xb2\x9b\x7c\xb8\x39\x82\x17\xf8\x49\x3e\xc2\xc4\xc2\xcf\xb5\xaa\xb7\x05\xf6\xcf\xb5\x5a\x81\x9f\x97\x59\x74\x15\xba\x21\x44\xdb\x05\xee\xcd\xbc\x5e\x09\x13\x42\x40\xc7\x2d\x74\x50\x82\x57\x16\x09\xb9\x5b\x8f\xb3\xcb\x73\xa1\xaf\x1c\xd0\xb1\x97\x5c\xc8\xab\x49\x9e\x96\x38\x03\x23\x02\x92\xec\x99\x0d\xfa\x13\xcc\xec\x49\x21\xca\x17\x1e\x04\xe8\x12\xfc\xfb\xe5\x04\xd1\x5f\xf0\xe4\xe6\xe0\xc5\x02\xc9\x9e\xb0\x0c\xad\xa3\xe4\x34\x05\x23\xf7\x8d\x05\x54\xc4\x66\x1a\xe5\xf0\x25\xf3\x5f\x0d\xc0\x7e\x7f\x0c\x98\xf8\x6d\xaf\x42\x3e\x64\x0b\x4d\xec\xa6\x61\x43\x49\x47\x30\x01\x0a\xf5\x8b\x82\x8e\xbb\x80\x59\x5d\x02\xf6\x05\xe4\x72\xf7\x86\x30\xf4\x39\x82\x02\xf8\x68\xee\x47\x09\xcc\x0d\x0c\xec\x24\xb0\xd6\x6d\x17\x71\x86\x62\x80\x6a\xd4\xee\x34\xcc\xd5\x10\x09\xa1\xbf\x93\x0e\x57\xaa\xfb\xe9\xd3\x0f\x50\x5c\x1d\x7c\x2b\xe1\xc8\x80\x22\xd1\x0d\xa2\x5f\x88\x4c\xa4\x10\x83\xa3\x64\x63\x3b\x74\x04\x70\xc0\x59\x87\x65\x56\x75\x54\xb9\x48\x42\x0c\x80\xc2\x56\xb4\xe2\x97\xe1\x7c\xf7\xfc\xc2\xb8\x10\x93\x41\x17\xe5\x8f\x78\x9d\xfa\x39\xb5\x26\xec\x26\x35\x68\x89\x82\xa9\x2d\x26\xf5\xc8\x1b\x13\xae\x6b\x8d\x1e\xe4\x47\xc6\x29\x6c\x6a\x05\xb8\x09\x1b\x6d\x88\x10\xd3\xbb\xf8\x7d\x61\x00\x94\x5a\x2b\x4e\xa8\x13\x0a\xac\x50\xd9\x96\x25\xce\xad\x5c\xd7\x9a\x9c\x33\x01\x1b\x66\x01\x40\xd1\x09\x25\x75\xf0\xe6\x78\xfa\x34\xda\x56\xb5\xb0\x6b\x07\x0c\x68\x33\x66\xb2\x23\x28\x99\x3b\x65\xf9\xd5\x7c\xc2\x6b\xd9\xd6\x5e\x8c\x64\x6b\xb7\x7a\x4f\x85\x96\x87\x14\x27\x33\xf6\xb5\x2f\xe0\x57\x02\x31\xad\xc2\xb6\xe2\x4c\x33\xdc\xaa\x5c\x54\xfc\x82\xbf\x93\x17\x93\x86\x99\x2d\x52\xcb\x96\x6d\xd5\x71\x46\xbb\xcc\x91\x13\xc3\x5d\xda\x88\xd5\xab\x54\xd2\xff\x65\xc5\x1d\x85\x4e\xed\x47\xa3\x48\xc3\xb6\xa3\xf6\xe3\x11\x71\x7f\x74\x59\x0c\xb9\xa3\x8d\x28\xae\x2e\xa1\x0c\xb2\x8a\xad\x15\x2e\x15\x68\x0e\x7b\x0e\x44\xe1\x19\x89\x46\xd1\x0f\x66\x1b\xdf\x75\x59\x71\xa7\x04\x73\x67\x50\xfa\xcb\xdf\x89\x0c\x35\xc7\xa6\xd0\x60\xd9\xf5\xf7\xdf\x44\x13\x9c\x2e\xf8\x99\x59\xfa\xd6\xe9\xf5\xf5\x31\x06\xff\xfd\xc1\xbb\x36\x59\x81\x0a\x98\x79\xbd\x58\x0f\x38\xbf\x20\xee\xf2\x88\x68\xb2\x0e\xb6\x6b\xc4\xa6\xe8\xe5\xd4\x15\x3b\x5b\x45\x94\x50\x86\x48\x99\x96\x40\x92\xcb\x02\x5d\xa4\x79\x2f\x81\xe1\x10\x0c\x17\xd0\x26\xd1\x46\x94\x21\xd5\x96\x8a\x39\x53\x4d\x76\x06\x62\xc4\x5f\x61\xd8\xbf\xca\xdb\x4c\x52\xbc\xe1\xb9\x9d\x4e\x27\x3f\x7e\x56\x53\x61\xd6\xec\x98\x02\xdd\xc1\xd1\xd1\xa3\xbe\xe9\x84\xc3\x74\x0c\xfd\xfc\xf6\x95\xe5\x66\x0b\xc3\x90\xd7\x8e\x36\x63\x4f\xd3\x0d\x42\xa5\xbb\x44\xba\x7f\x07" -func workboxV363WorkboxNavigationPreloadProdJsBrBytes() ([]byte, error) { +func workboxV431WorkboxOfflineGaProdJsBrBytes() ([]byte, error) { return bindataRead( - _workboxV363WorkboxNavigationPreloadProdJsBr, - "workbox-v3.6.3/workbox-navigation-preload.prod.js.br", + _workboxV431WorkboxOfflineGaProdJsBr, + "workbox-v4.3.1/workbox-offline-ga.prod.js.br", ) } -func workboxV363WorkboxNavigationPreloadProdJsBr() (*asset, error) { - bytes, err := workboxV363WorkboxNavigationPreloadProdJsBrBytes() +func workboxV431WorkboxOfflineGaProdJsBr() (*asset, error) { + bytes, err := workboxV431WorkboxOfflineGaProdJsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "workbox-v3.6.3/workbox-navigation-preload.prod.js.br", size: 253, mode: os.FileMode(420), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "workbox-v4.3.1/workbox-offline-ga.prod.js.br", size: 768, mode: os.FileMode(420), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _workboxV363WorkboxPrecachingProdJsBr = "\x1b\xa9\x16\x00\x1c\x07\xb9\x89\xf5\x6e\x2c\xad\x8d\xb7\xbe\x35\x11\x11\xc9\x2f\x5b\x7e\xde\xe7\x72\x32\x3d\x29\xaa\xc9\x7c\xec\xbf\xdc\x34\x43\xb2\x9f\xb2\xcf\xb2\xf9\x6f\x20\x1e\xa0\x94\xdc\xa2\xa4\xc6\x0e\x91\xad\xfd\xeb\x74\x5a\x81\x4e\xaf\x8a\xba\xfb\x9e\x4a\xc3\x48\x13\x07\xbe\x1b\xb7\x1c\x98\x9c\xab\x19\x9b\xab\xb5\x4c\x12\x29\x15\x19\x21\x9f\x57\xea\xeb\x9e\xee\xad\xcc\x52\x60\x66\xef\x73\x0b\xc1\xbd\x00\xc1\x44\x3c\x10\x38\xa2\xf2\x61\xf7\xea\x25\xb9\x37\x3a\xf5\x5e\x65\x1d\xcd\xf6\xaa\x78\x29\x35\x38\x1d\x19\x52\x09\x04\xbc\xd4\x85\xff\x9a\x2f\x3a\x97\xf9\x8b\xe8\xd9\xb3\x9d\x57\xd8\x0a\xa2\xe8\x64\x6c\xa0\xf9\x7b\x06\x95\xc2\xc8\x84\x91\x96\x35\x36\x69\x13\x9d\x55\x4a\x5d\xad\x39\x35\x3f\x64\x90\x1c\x1f\xc9\x79\x81\xc9\xeb\x20\x73\xa7\x72\xf0\xe0\x9b\x6a\xb4\xb6\xf1\x22\x23\xf3\x6e\xa4\xf8\x30\xc4\xa2\xda\x30\x02\x15\xc3\x80\x2e\x56\xab\xa3\x47\x2c\x99\x66\xc6\x26\x59\xda\x69\xe3\x95\x9f\x64\x65\xb6\x2b\xf4\x10\x75\xad\x4f\x86\xd2\xf4\x80\xba\xa5\x7a\xa8\x90\xe9\xe3\xe8\x94\x51\x4f\x72\xbc\x74\x2c\x72\x91\xd0\xa5\x1a\x40\xda\xcf\x37\xdd\xa8\xa1\x65\xe5\x4b\xb9\x53\x71\xbe\x43\xe9\x7a\x26\x5a\x49\x69\xf8\x01\x25\xd8\xb6\x50\x54\xfd\x28\x82\x6a\x88\x24\x5b\x29\xe9\xcb\xcd\x99\x4b\x80\x0f\x73\xcb\x1a\x2a\x5b\xfa\x75\x15\xc5\x8a\x5b\xbf\x86\xde\x48\x5f\x35\xec\xdc\xff\x7b\x2a\xc9\x10\x55\x67\x12\xf4\x84\x6e\x59\xbf\x4e\x40\xdd\x6d\x93\x06\xb6\x53\x43\x11\x04\xce\x5a\xc1\x8a\x31\xdb\x27\x5c\x15\x9b\x6c\x82\xc0\x5e\x41\x15\x7c\xa9\x35\xb1\xfb\xfe\xc4\x60\x5a\x56\x9e\xe8\x4d\xed\x99\xa0\xaf\x29\xca\xad\xb9\x43\x51\x36\xe5\xc9\x6d\xaa\x18\xf1\x78\x81\xf2\xc0\xbe\xfb\xc7\xfb\xd3\xe4\xe1\x7c\x24\x3d\x51\xbb\x38\x16\x1d\x19\xf4\xcb\xcd\x2d\x67\x6e\xa9\xf0\x96\x39\xfc\x2c\x33\xc3\x0a\xfe\x74\x4c\xfc\xd9\xa1\x50\xbf\x81\xec\xa1\x6e\x82\xe4\xdd\x2d\xc5\xcf\x78\x0d\x85\xaf\x9e\xef\xa6\xbf\xb9\x3d\x29\x59\xc5\xa2\xb8\xf2\x1d\xae\x3f\xc7\x53\x0b\xc2\x94\x7a\x42\x3d\x8d\x70\x52\xaa\xf8\xff\x82\xbf\x12\x6f\x21\xfa\x15\xb3\x80\x2b\xf1\xb9\xb5\x7a\xa4\x15\xdc\xbb\x49\x58\x6b\x7d\xd1\xbf\x10\x53\xad\xe2\x17\x16\xdf\x83\xdd\xb4\x83\x5f\xb9\xaf\x07\x31\x6d\xe5\x9b\x7e\x1f\x0e\x66\x02\xd8\x66\x26\x0d\xbf\x65\xb9\xf8\x0b\xbc\x0e\xf0\xfd\x46\xd4\x86\x4a\x01\x37\x8d\x4a\x4e\xca\xa2\x08\xa5\x38\xd8\xa2\x32\xcd\x12\x48\x02\x40\x89\xed\xa9\x8a\x40\x21\xaa\xda\x06\x40\xd6\xa1\x72\xb3\x3b\x64\x35\x36\xfd\xd1\xfb\x3f\x5a\x45\x62\xc6\x9e\x59\x0a\xc3\x5a\xa3\xbd\xa6\xb8\xae\xb2\xe3\x69\xe0\xc9\x0a\x65\xe2\x13\x1f\x95\xda\xc7\x9e\x90\xe2\x93\xe5\x52\x1e\xed\x73\xa7\x02\xb1\x58\x4b\x17\xeb\x8a\xab\x9f\xb7\x32\x17\x31\x09\x12\xee\xc3\xff\x32\x0a\x96\xe1\x0b\x21\xad\xe6\xf1\x58\x96\x49\x64\x86\x35\xc4\xec\x89\x93\x3f\xc8\x62\xee\x9d\xe7\x46\xae\x5a\x61\xbf\x82\x80\x2b\xe2\x50\x92\x3a\x01\x29\xa7\xf5\x72\x77\x7f\x74\xbb\x06\x69\x55\x85\x1f\xb5\xea\x54\xdd\x57\xe8\xb8\x4a\xe9\xc2\xd3\xd8\x17\x0b\xb3\xc1\x90\x25\xa3\x72\xb9\x57\x2a\x29\xe7\x89\xef\xfc\x0e\x6b\xad\xb2\x3f\x7a\x00\x51\x5c\x40\x25\x64\x93\x95\xd3\xcf\xb3\x09\xe0\x2f\xb8\xd2\x7f\xaa\x2a\xcb\xc5\xeb\x85\xd2\xc9\x93\x07\xad\x12\xcd\x56\xe1\x4c\x4c\x3b\x67\x6c\xfa\x77\x84\x67\x2e\x6a\x05\x9d\x41\x34\xc5\x7f\xb4\xb3\x57\xc5\xaa\xda\xc8\x66\x2a\x6a\xba\xe8\xdf\x87\x15\x85\x61\xad\x5d\x28\x60\x39\x74\x98\xce\x0c\x7f\x57\x94\xdb\x45\x97\x27\xee\x2a\x14\xea\x7f\x77\x54\xd1\x34\x72\x07\x88\xef\x9d\x26\xd0\x09\x0b\x5e\xd8\x21\x70\xd0\x05\x08\x92\xc5\x48\x42\xd0\x18\xee\x80\xae\x72\x8f\x2c\xb0\xd5\xf9\xec\x7b\x43\x51\xbc\xe8\x2a\x75\xff\x14\xa3\xcb\x18\x4e\xe9\x63\xd1\x27\x81\x86\xb3\x06\x38\x93\xda\x45\x5f\xeb\xaf\x0e\x01\x1b\xe4\x82\xda\xfc\x93\x35\xbc\x11\x31\x9b\x33\x9f\x33\x28\x54\xcd\x28\x46\xa0\x0b\x59\x2c\x82\xd4\xde\x2c\x28\xc6\xff\x1a\x48\xf6\x9b\x06\xd7\x0c\x85\xb3\x39\x94\x39\x19\x6b\xe3\x3a\x22\x66\xe3\xc5\xf9\x15\x8a\x5e\x15\x68\x51\x09\xbf\x56\x08\x2e\xe8\xb8\x11\x38\x95\x09\x38\x82\x3a\x04\x37\x70\x3e\x3c\x2d\xed\xc5\x71\x6a\x32\x70\x71\xc3\xab\x4e\xa5\x95\x3d\x97\x69\x46\xca\xf9\xc2\x99\x56\x44\x56\xf0\x06\x19\xbb\x22\x6a\x8c\x0a\x4c\xc1\x12\xf3\xe4\xa2\xaa\xf4\x62\xe6\x02\x88\x9d\x44\x4b\x36\xe1\xd7\xa8\x0f\x76\x6f\xd2\x67\x85\x7c\x9e\xe0\xbc\x7f\xa0\xfd\x67\x24\x87\xdf\xc8\x30\x4c\xdf\x0b\xfd\x26\x6a\xb8\x29\x89\xe8\x0a\x42\x7f\x9b\xa8\x55\x3e\xa2\x66\x3e\xab\x4b\x6b\x15\x17\x81\xce\xb9\xb8\xd6\x06\xc8\x4e\xe1\x6a\xf0\xe6\xa8\x43\x64\x74\xfa\x34\x18\x82\x5f\x89\x27\x03\x98\x2d\x68\xda\x6f\xea\x97\x18\x47\xf9\xd5\x0f\xfe\xca\x96\x1e\x38\x3f\x57\xf7\xd8\xa7\x60\x34\x8c\x75\x7a\x3a\xa9\xd4\xaa\x58\x25\xeb\xd1\x59\xe1\x38\x1f\x3b\x32\xa9\x4b\xdf\xb5\xa1\x9b\xa4\x0a\x19\x31\xa8\x06\x82\x2c\x56\x46\x8c\x6a\xa6\x89\x9e\x1a\xc7\xeb\xf7\x15\x44\x94\x69\xc8\x95\x5c\xc0\x52\xb8\xbd\x03\x67\xb2\xf5\xaa\xde\x86\x94\x0f\xde\xf5\xab\x7e\xfe\x46\xae\xfd\xaf\x9a\x68\x3b\xcc\xcf\x97\xef\xc8\xd8\x37\x90\x3a\xbd\x5a\xe0\xd0\x52\x0e\xad\x89\x6a\x78\x68\x6a\xa7\xba\x93\x47\xc8\xb9\xbe\x1d\x50\x82\x00\x83\xa9\xa3\x8e\xaa\x77\x03\x4c\x0c\x48\xd1\x2a\xb6\x8e\x65\x5a\x96\x5c\xd2\x77\x5e\xc2\x02\xc4\xb6\x74\x8d\x6a\x7f\x3d\x00\xc5\x97\xcb\x59\x64\xf0\xdd\x62\xa7\x55\x7d\x00\x34\x43\x72\xcf\xea\x36\x1e\xad\x83\x54\xce\x9c\x0c\x0d\x1a\x7e\xe3\x76\x1a\x1b\x39\x88\x09\x93\xbb\x02\x64\x26\xac\xeb\x10\xac\x37\xda\x55\x2a\x8f\x26\x82\x62\xfd\xaf\xd8\x0b\xe3\xb3\x39\xf5\x47\x7b\xe8\x89\x15\x84\x3e\xb0\xe2\x19\xb9\x6e\x26\x28\xa7\xd7\x59\x64\xf6\x03\xa3\x52\x10\x6f\xdc\x43\x3b\x8a\x55\x26\xb2\xe1\x75\x7d\xb5\x53\xa0\xeb\xbf\x89\xb9\xb9\xc7\x34\x4d\xac\x9a\x01\x64\xf8\xc4\xfb\x87\xe4\x50\x39\x3f\x5f\x82\x9f\x14\xd4\xb3\x35\x49\xc9\xb0\xc0\xf4\xda\x30\x6e\xaf\x4c\x9f\xef\x14\x25\xf2\xce\x28\xda\xcc\x59\x8a\x27\x03\x18\x17\xd5\x31\xd9\xb4\x56\x3e\x94\xf8\xfc\xf4\xf8\x55\x0b\x36\x0c\xb4\xe5\xaa\x22\xd8\x22\x7d\x99\xd0\xb7\x75\xec\x9c\x89\x20\x64\xc9\x14\x98\xcc\x90\xe8\x37\xac\x58\x3a\x43\x61\xe8\x18\x57\xd1\x7b\x53\x2a\x9d\xd3\x7f\x88\x3e\x71\x64\xdc\x4c\x0b\xa6\x3a\x87\xf4\x3c\x51\x03\x1b\x5d\x36\x1f\xad\xaf\xe5\xe4\x69\x85\xa1\xaa\xc2\xbc\x9a\xdd\xd7\x5a\xbd\x1d\x56\xc0\xff\xe0\x6c\xf3\xd1\x30\xcf\x22\x8f\x68\xa6\x42\x0a\x37\x39\x18\x07\x72\xfd\xa7\xbc\xcb\x9f\x4c\xa5\x57\x31\x9a\x8e\x51\xc5\x23\xde\xf7\x9b\x62\x04\x0f\x66\x30\x1f\x7b\xf3\x81\x0f\xd1\x6f\x46\xc6\xdd\x9f\xc3\x8d\x7a\xbf\x7b\x5c\x36\x87\xa7\xdd\x03\xc7\xc4\x70\x83\xaf\x17\x8d\x98\xe6\xf8\x10\x47\xd3\x00\x29\x0d\x4c\x74\x71\xcd\x25\xfe\x8f\x56\xdc\xbc\xf8\xca\x16\x4c\xb2\x40\x45\xeb\x25\xf5\x77\xa3\x5d\x60\xc2\x4a\x21\x9d\xe6\xf0\xca\xa3\x4a\x7d\xca\x9a\x19\xd4\xa4\xa1\x78\x8c\x01\xe7\x34\x28\xbc\xc1\x28\x5b\xbe\x24\x84\xfb\xcd\xbf\xb4\x61\x2a\x84\x30\x67\x33\xff\x3d\xc3\xea\xef\xf6\x75\x64\x51\x62\x8c\xf5\x42\xa4\x86\xe1\x2d\xf1\x78\x03\x23\x9c\x36\xc1\x79\x11\x04\xdd\x48\xec\xd2\x72\x19\x63\x21\x1c\xb5\x89\xfe\x51\xf0\xde\xd1\x3e\xa7\xeb\x59\x4e\x4a\xab\x79\xaa\x93\xb4\x07\x6c\xf1\xd3\xa7\x4f\x4e\x27\xa6\x1d\x55\x9c\x50\x83\x3e\x8b\x44\x82\xd1\x57\x8d\x30\x58\x3d\xef\x57\x43\xcf\x31\x91\x47\x0d\xb2\x31\xe9\x09\xa9\x71\x8a\xbc\xac\xbc\x71\xb5\x7f\x70\x90\xfd\x15\xdb\x2a\x03\xfd\xb1\x57\x79\x1f\x45\xe0\x9b\x9a\x6c\x47\x09\x18\x7a\xae\x6f\xf6\x9b\xc6\xef\xe4\xc3\x05\x25\x7b\x40\x91\xf0\x62\x84\x61\xd3\x77\xf0\xad\x75\xbe\x34\xdd\x8f\x5b\x1f\xd5\x39\x19\xe1\xb0\x3b\x63\xd9\xc7\xe4\x37\xcd\xf5\xee\xcc\x03\x31\xbd\x3a\x35\x3f\x6c\xcf\xe0\xd1\x49\xf4\x4a\xe6\x28\x71\xee\x54\x38\xb1\x9a\xfa\xa8\x60\xb6\xf8\x6a\x70\xeb\x13\x8d\xec\xa6\xee\xe3\x8e\x0a\x05\xb1\x81\x67\xfc\xe0\x70\xd3\x07\xe6\xdb\x8e\xe2\x2b\x6e\xd1\x89\xb5\x7e\xd7\x75\x77\xe6\xb5\x52\x68\x7c\x3c\x48\x54\x52\xcf\x0e\xa1\xb2\x13\x44\x37\x0a\xfb\x2e\xba\x10\x64\x23\xb5\xdd\x14\xad\x8e\xa6\x8e\x90\x2e\x21\x94\x4c\xf6\xdf\x8d\x02\xff\x6c\x77\x1e\xda\x93\x4e\x9d\x43\x19\xa4\x49\x37\x82\xcd\x0d\xa5\x7f\x14\xf0\x99\xfd\xc2\xb7\x0a\x86\xe6\xd2\x6f\x55\x3f\x34\xf4\x0d\xa8\x85\x4a\x47\x9d\x81\x06\x3a\xe0\x02\xbe\x3c\x78\xf2\x89\xf0\xfc\xa2\x13\x92\x7d\x7c\x92\x10\xb3\xf9\x2d\x67\x54\x0c\xd4\xc2\x01\x73\xbc\xa7\x91\xe5\xe3\x78\x15\x02\x4b\x63\xe2\xdd\xee\xe5\x5e\x69\xe8\xd8\x08\xaf\xf9\xf0\xf6\xf7\x66\x48\x0d\x06\x4f\xa3\x7e\xfb\x6f\x0f\x48\xbe\x00" +var _workboxV431WorkboxPrecachingProdJsBr = "\x1b\x92\x10\x00\x8c\xd1\x63\x9f\x87\xc4\xb5\xd6\x72\x3d\x47\x92\xf2\x7b\x9b\xe9\xdd\x97\x13\xc8\x29\xa3\x64\xc1\xf5\xa4\x94\x5e\x78\x5a\x31\xbb\x28\x0f\xcf\xf0\xa4\x8f\x9b\x82\xa6\xa6\x4e\xab\xd3\x1e\x47\x80\x38\x7b\xb6\x40\x78\x9a\x52\x5c\xe4\x56\x95\xe9\x45\xff\xdf\xfd\x4a\x3b\x40\x76\xa5\xda\x92\x35\x73\xdf\x7d\xf9\xa7\xc9\x00\x65\xe6\x74\xb2\x2d\xa7\x00\x98\x5f\x40\x94\xdb\xda\x0a\xb7\xab\x2a\xcb\x4e\xe1\xf1\x5d\x86\x53\x37\x3c\xf1\x1a\xe5\x7c\xc2\x25\x88\x78\x63\xad\xe7\x77\xde\x75\x2c\xf3\x57\x30\x70\xd1\x76\x7a\x72\xf0\x61\x88\xb2\xbd\xd3\x9a\x9f\x23\x90\x29\xcc\x0c\x18\xcd\xfc\xe2\x2a\xb7\x14\x03\x4c\xc1\xf3\xa2\xc0\xe5\x7f\x99\x12\x96\x70\x0b\xbb\xe3\x3c\xca\x83\xf7\xef\xe1\x5a\x47\x56\x47\xfe\x2c\x30\x2e\xeb\x9b\x64\x54\xaa\x5f\x7f\x18\x55\xb6\x15\x8e\xac\xee\xde\xe8\x37\x7d\x9a\x96\x12\xec\xa4\x36\xb3\xc1\x2e\x39\x4e\xf3\x32\x5d\xf7\xed\x61\x37\x16\xe5\x2d\x5d\x67\x6e\xc1\x6c\x53\x56\xf0\xda\xa7\x80\xb6\x4f\x7a\x56\x49\x3d\xab\x42\x7e\x6b\x95\xcc\x8f\xdc\x09\xc6\x6f\xfa\xa6\xdd\x1a\xfa\xda\x06\xdb\x97\x35\x8c\x6e\x1b\xbe\x08\x86\x85\x70\xc1\xc1\x7d\xe7\x71\x30\x69\x5e\x77\xcc\xe8\x1c\x30\x36\x68\xc0\xaa\x04\xa3\x43\x1e\x83\xa4\xca\x8e\x11\x29\x97\xfd\x5e\xf1\x85\xe3\x94\x86\xb8\x9a\x9f\xe3\xaf\xad\x05\xfa\x4e\x91\xa7\xa1\xe3\x04\xdb\xc5\x42\x81\xa0\x2a\xb3\x3f\xae\xb9\xc5\x75\xac\xa8\x2c\x81\x2a\x58\xc4\x72\xf3\xfd\x52\x0b\xf6\x95\x5a\x3b\xf6\x10\xf6\x0b\x6d\xae\x20\x4f\x06\x6b\x5c\x42\xab\x59\x4c\xe6\x64\x1c\x15\xa0\x53\xd2\x0a\x77\x6e\x84\x38\xf3\xcb\x24\xf8\x1d\xb1\xad\x78\x9f\x38\xb0\x99\xb4\x4c\x36\xf7\xc4\x37\x7e\x5a\x96\x9b\xfe\xb3\xee\xca\x87\xfd\xea\x50\x56\xdc\xdc\x12\x51\xf0\xf2\x09\x3d\x53\x24\x18\x82\x84\x14\x8c\x45\x16\x7b\x6a\x0e\xcb\x4c\x82\xe1\x5a\xd0\xcc\xb6\xe2\x25\xbe\xdd\xb9\xc3\x6f\x46\xd6\x63\x94\x6d\x63\x39\x82\x61\x91\x4c\xf7\x84\x74\xf9\x2a\x5a\x54\x1c\xdd\x27\x44\xd5\x14\xa5\x6c\x29\x1a\xe2\xe8\xa8\xd5\x1b\x52\xf9\x4b\x80\x3c\x68\x88\x0f\x73\x6c\x95\x85\x09\xac\x48\x9b\xcd\x3f\x4c\x83\xbc\x47\x24\x8d\xb3\x79\x8a\x40\x88\x64\x50\x55\xe3\x31\x8b\x23\xc1\x32\x62\xf4\xff\x7c\x62\x90\xe6\xc9\x72\x22\xe8\x6e\xcb\xf9\x39\x5a\x94\xbb\x32\xd8\x42\x6a\xaf\x8d\x64\x71\x40\xdc\x26\x60\x91\xc5\x79\x33\x30\x97\xdf\x32\x99\x76\x52\x70\x41\xa4\x84\x6b\x29\x1c\x4a\x94\x2e\x78\x8b\x8d\xd4\xcb\x9d\x1f\x80\x8f\x1e\x2c\x9a\xf9\x57\xbf\x7c\x7c\x9d\x9d\x50\x6e\xf8\x12\xd8\xc9\xe8\x32\xe7\x4b\xd8\xe2\xc1\x24\x1a\xe7\x8b\x8f\x2a\xd7\x50\x97\xb3\xc2\x2b\xc8\x4d\x91\x52\x0a\x81\x71\x45\x83\x0b\x38\x5b\xd3\xff\x53\x91\x34\x2e\x91\x02\x88\x1e\xa6\xca\x44\x92\x6f\x67\x6b\x7e\xd0\x28\xa2\xd9\x22\x96\xea\xdc\x55\x32\x93\x5e\x6a\xcb\x3f\x93\xc0\x12\x9e\xdc\xb3\x20\xfa\x31\x3b\x93\x97\x27\xdc\xd8\xad\x85\x8c\x51\xc6\x8a\xca\x33\xc1\x79\x68\xce\x4d\x45\x18\x7a\xae\x63\xc0\xdd\xa9\x54\xd7\xa6\x9d\x79\xba\x8b\xe6\x01\xa7\x47\x09\x0e\xf1\x8e\x4d\xec\xd7\x4a\x22\xfc\x31\x73\xb8\x56\x18\x06\xf2\x42\x46\x63\x86\x54\x46\x80\xb6\xda\x42\x7e\xb1\xac\x35\xa9\xab\x43\x63\x78\xb0\x4b\xc6\x3c\xa5\x25\x7b\xdf\xdb\xc7\xb3\x19\xc4\xaf\xb1\x5e\x26\x66\xa8\xd3\x94\xe3\x0d\xf1\xc8\xf7\xac\xc8\xc3\x17\x94\x94\xa9\x7a\x34\x6b\xae\x0d\x84\x1b\xe2\x3f\x33\x82\xa9\x01\x38\x10\x19\xce\x2a\xcc\x1a\xd6\xd8\x5b\x40\x3b\xe6\x05\x6f\xaa\xe7\x37\x25\xce\xf8\xbe\x9d\xff\x7c\xe8\x59\xd7\x64\x99\x4b\xef\x08\x4f\x93\x6e\x6c\xe4\x26\xca\x2c\xbe\x55\xcc\x8e\xf3\x37\xd3\xe2\x2a\x6b\x18\x76\xf0\x65\xb8\x7e\x9c\xb2\xc0\x91\x00\xd6\xa1\x28\x57\xaa\x3e\xff\xf4\x8f\x87\x14\xd7\x5d\xea\x55\xea\xa4\x21\xe8\xdc\xa8\x8f\xed\x5d\x39\xa3\x14\xff\xbd\x42\xc7\xd7\xfb\x36\xbc\xab\xe0\x58\xd5\xb8\x98\x01\x42\xe3\xa1\xa9\x6e\x40\x32\x24\x20\x6b\x67\xaf\x9b\x7e\xb5\x99\xcf\x2a\x68\xee\x3b\xb1\x96\x14\x9e\x6a\xb2\xb1\x17\x6c\x76\x2f\xaf\xf4\x27\xdf\xa7\xd6\x66\xf4\xf6\xac\x70\x06\x83\x9c\x8c\x03\x62\xee\x9d\xe6\xb2\x76\x8d\xe0\x8c\x04\x85\x7e\x15\xc8\xcf\x99\xc6\x7c\xe7\x10\x36\x41\x4b\x59\xbf\x94\x0d\x7f\xc4\x1b\x01\xa2\xa7\x99\x2f\xd9\x6f\x7c\xee\x8d\x87\x2f\x34\x61\xba\xbe\xb2\x5f\x77\x70\x42\x3f\x99\xa2\x0e\x55\x77\xe0\x1b\x2f\x71\x9a\x47\xd0\xee\x70\x41\x81\x5f\x5b\x81\x1f\x68\xce\xc9\xd1\x89\x66\x75\x71\xe0\xb1\xaf\xf4\x41\xa1\xba\x32\xba\x6e\x39\xf3\x57\x14\xc1\x7d\xde\x48\x1b\x1a\x4c\x51\xd3\x6d\x15\x65\xcf\xc5\x83\x81\xc0\xf8\xe5\x33\x18\x35\x96\x52\x60\x93\x43\x69\x36\xd9\xa0\x72\xec\xad\xe4\xd5\xc6\xd1\xac\xa0\xf3\x6a\x38\xb3\x98\xd1\xc2\x77\x98\x3d\x63\xdd\x93\x2d\x11\x05\x19\x56\xdf\x94\xc0\x56\xc6\x87\x2d\x87\x2d\xe5\x7c\xce\x74\xf5\x7b\xf6\xdc\x4b\x84\x56\xd0\xa6\x57\xaa\x1a\x53\x9f\x80\x59\x2b\xec\x8c\xbd\xb4\x5a\x61\x30\x97\x01\x9d\x00\xc0\x3b\xeb\xd3\x78\xa6\xfa\x00\xfd\xff\xfc\x46\xd0\xdd\xf1\xac\x77\x22\x62\x8b\x3f\x0d\xfd\xda\xfb\x3b\xb7\x93\x6e\xfa\x87\x41\x6e\x97\x59\xce\xcb\x71\xcb\x33\x54\xef\x3f\x5b\x2d\xca\x09\xd7\x64\x6c\x7c\x03\xea\x32\xdd\xd5\x96\x7d\x15\x9d\x51\xfd\x6b\x0d\xb9\x9c\x43\xa2\xfa\xe0\x7c\x83\xa1\xba\x7d\x55\x5a\x73\x0e\xa6\x3e\x7f\x80\xcf\xc5\xe6\x82\x4e\x5f\xc7\x7b\xda\xa5\x2b\x64\x8f\x0f\x54\x64\xdb\xb3\x70\xa4\x2e\x62\xdf\x1e\x11\x1e\x7b\xdf\xd4\x7b\x5f\x78\xea\x42\x84\xcb\xbe\xc9\xc3\x30\x02\xe0\x99\xea\x7d\x98\x17\x02\x6c\x81\x35\x28\x6f\x17\xa9\x0a\x2e\x82\xde\x94\xf9\x63\xbc\x3f\x4e\xa7\x2a\x88\x31\x2b\x36\x28\x8e\x26\xe8\xe3\x81\x01\x73\xaa\xc0\xb8\x21\xe7\x7c\x45\x69\xe5\xd7\xd0\x40\x67\x77\x61\x3d\xb1\x02\x6b\x9e\xbb\xb3\xe1\x1a\x91\x50\xdb\x3e\x8f\xe1\x05\x98\xc2\x54\x7e\x84\xe1\x04\x58\x76\x51\x95\xf6\xdc\xec\xee\x80\x66\x63\xe8\x01\x04\x18\x4c\x20\x87\xce\xec\xb8\xb3\x21\x92\xfc\x3b\xe6\xe9\xdd\x0c\xf7\x4a\x9a\xd7\xcc\x68\x89\xef\xce\xbb\xce\x04\x3d\x37\x24\x7c\x99\xc3\x97\x23\x03\x0c\x39\x1c\xcb\x58\xf4\x27\xb8\x79\x57\xd4\x57\x92\x07\x47\x2d\xd6\xc2\xe5\xde\xa4\x20\x9d\xeb\x6c\xdb\xac\xe4\xe7\x34\x08\xdd\xf0\xe7\x96\x90\x65\x10\x40\x48\x08\xd7\xfe\x7c\x3d\xce\x8e\xf8\xc2\x5a\xb3\xaa\xc3\x5f\x00\x00\x8a\x11\xc2\xa2\x76\xa4\x2a\x91\x79\x76\xcb\x46\x84\x6b\x4d\xcf\x18\xc2\xa6\x32\x74\x30\xe0\xdf\x7e\xe7\x75\x80\x7f\x20\xc4\xe9\x90\xf1\x42\x9e\x4d\xdc\x04\x67\xac\xbe\xd7\x15\x19\x8b\x8e\x9c\xee\x8c\x84\xa3\x2c\x5c\xca\xc7\x09\x13\xda\xdd\x9a\x85\x4b\x1c\x73\x90\x2d\x3b\xd3\xe9\x6e\xf7\x03\xda\x09\x36\x60\xd5\x0c\xa9\x4f\x76\x5c\x3b\x3d\xb5\x6f\xff\xbd\x90\x69\x77\x00" -func workboxV363WorkboxPrecachingProdJsBrBytes() ([]byte, error) { +func workboxV431WorkboxPrecachingProdJsBrBytes() ([]byte, error) { return bindataRead( - _workboxV363WorkboxPrecachingProdJsBr, - "workbox-v3.6.3/workbox-precaching.prod.js.br", + _workboxV431WorkboxPrecachingProdJsBr, + "workbox-v4.3.1/workbox-precaching.prod.js.br", ) } -func workboxV363WorkboxPrecachingProdJsBr() (*asset, error) { - bytes, err := workboxV363WorkboxPrecachingProdJsBrBytes() +func workboxV431WorkboxPrecachingProdJsBr() (*asset, error) { + bytes, err := workboxV431WorkboxPrecachingProdJsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "workbox-v3.6.3/workbox-precaching.prod.js.br", size: 1978, mode: os.FileMode(420), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "workbox-v4.3.1/workbox-precaching.prod.js.br", size: 1521, mode: os.FileMode(420), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _workboxV363WorkboxRangeRequestsProdJsBr = "\x1b\x5a\x06\x00\x64\x5b\x99\xfe\xfd\x79\xad\x71\x0a\xb2\x05\x2e\x9d\x44\x69\xef\x5e\x59\xaf\x26\x26\x57\xf0\x08\xb9\x72\x32\x6c\x4c\x4b\x24\x7c\x9d\xaf\xac\x74\x7f\x0f\x05\x62\x05\xec\x08\xb7\x29\x02\x47\xf1\x9b\x07\x00\xed\x76\x45\xb7\x97\x82\x17\x4a\x97\x6e\xa2\x56\x82\x13\x8e\x8c\xf5\x86\x56\xfc\xbb\xcc\xaf\xc2\x23\x1d\x91\x16\x91\xe0\xcb\x4d\x04\xfd\xd5\x33\x2e\xa1\xbb\xcb\xc6\x43\x53\x29\x67\xea\x1e\xa9\xdc\x76\xa6\x2c\x97\x4e\x5d\xfd\x70\x07\x1d\x09\x50\x28\x48\xfb\x54\xda\x8f\x47\x71\xdf\xfd\xa2\x5d\xd3\xda\x9b\xdd\xe6\xac\x83\x92\x17\x1a\xf3\xc8\xf3\xf4\x4b\x05\x96\x16\x55\x18\xfa\x58\xdf\x04\x2b\x5d\xc5\x13\x61\xdb\x6c\x35\x0a\xc4\xe2\x6d\xd6\x2b\x83\x10\x47\x73\x6c\x6f\xf1\x1f\xab\x77\x8d\xc3\x19\xfe\x6d\xeb\x02\x7a\x2e\xf5\x7a\x58\xf2\x6e\x30\x7e\xa1\x8c\x66\x95\x5c\xd1\x2d\x6b\x20\x91\x41\x20\x97\x62\x40\xc7\x18\x76\x01\x22\x8d\x22\x07\x41\x56\x83\xcc\x15\x41\x8d\x86\x88\xac\x9a\xbb\x58\x37\xde\x2a\x37\x72\x80\x1d\x86\x69\x0f\x76\x58\x08\x23\x87\xcb\x24\x1d\x76\xa5\x15\xca\x1d\x4f\xa9\xc0\x98\xb9\x26\x92\x1a\x1e\xb7\xe6\x1a\xc7\xf6\x1d\xc2\x67\xd6\xcb\xb9\x83\xee\x67\x9f\x84\x18\xdb\xb7\xfd\xcf\x69\x13\xc2\xbe\xae\xed\xc8\x37\x7c\xe6\x75\x42\x84\xb8\x9d\x88\x64\xb5\x5a\x97\x1f\xbb\xbf\x1e\x3c\x98\xb7\xbb\xf7\x8b\x86\x40\x59\x7a\x16\x6f\x99\x29\xcf\xde\x33\x5f\x75\x74\x31\xb6\x24\xe7\x88\x08\x99\xfd\x29\x72\x67\x72\x3e\xbb\x6f\x6b\x80\xbc\x9c\xce\x63\x72\x4f\xb3\xf7\x6f\x66\x5e\x00\x33\xdd\x16\x9e\x4f\x83\xc6\x71\x5e\x47\x0f\x58\xcc\x37\xad\x28\x5a\xd5\x36\xb8\x14\x18\xbd\x50\x79\xd2\x56\x2b\x7d\xbc\xc3\x1a\x63\xa9\xb4\xac\x1a\x3e\xfc\xc8\x5e\x7c\x8f\xcc\x00\x13\x48\x8d\xbe\xa0\x20\x1f\x60\x0c\x86\x9d\xce\x58\x82\x2f\x97\xe4\x27\xfa\xd4\x67\x6a\x41\xb0\x50\x83\x74\x82\x4e\x9c\xda\xf1\x43\x55\xd9\xda\x05\x94\x8a\x23\xc3\xef\x2c\x66\x3e\x63\x33\x36\xb2\x9f\x1c\x5f\x06\x9c\x53\xce\x7a\x12\x57\x39\xd1\x50\x12\x95\xe6\xfc\xc5\xf1\x92\xf8\x11\xd9\x89\x97\x9c\x63\x0f\x04\x95\xb4\xb7\x73\x84\x07\x91\x4c\x30\x94\x5c\x3a\x4b\x91\x2c\xd5\x85\x5e\x95\x4a\x1a\x27\x8b\xb6\x22\xc3\xa5\xcb\xe9\x1a\xbf\x98\x33\xfc\x11\x29\x4e\x83\x15\xf0\x5c\x54\xfb\x09\x87\x7f\xad\x3e\x35\xdc\xeb\x94\xfb\x2d\x1c\x24\x9b\xf6\xb0\x6b\xdb\x7f\xb7\x72\xbf\x0f\xf0\x32\x4e\x70\xe4\xe3\xfc\x44\x9c\x6b\xcd\x1c\xec\x52\x5c\x67\x0e\xaf\xab\x0e\x1f\xf4\x75\xae\x81\x19\x60\x2c\x13\xc0\x1d\x92\x67\x23\x88\x81\x1e\x8c\xa5\x41\xb0\x6b\x41\xb7\x30\x1f\xe4\x18\x71\xb9\xc0\x04\x39\x15\x52\xe4\xf8\x26\x7a\x0e\x8a\xf8\x8e\x7e\xed\xe1\x9e\xce\x83\x34\x9e\xfe\x17\x9c\x6d\x7b\xae\x1e\x0d\x0f\x49\x8c\xe7\xcb\xa4\xa5\x51\xb4\x90\x58\x38\x22\x9b\x75\x0f\x1e\x84\x41\xe3\x79\x6e\xae\xa7\xfe\x40\x19\x06\x9a\xa7\x3c\x98\x21\x9b\xef\x86\x01\x1b\xef\x9a\xeb\xfa\x73\xf5\x82\x9b\x4e\xc9\xed\xed\x8d\x97\x90\xf1\x37\x32\x2c\x7d\x7a\xff\x92\x2e\xb1\x46\x88\xe9\x8d\xf1\x42\xea\x14\xff\xef\xcf\x2f\xf2\xc5\x1a" +var _workboxV431WorkboxRangeRequestsProdJsBr = "\x1b\xe7\x05\x00\x64\x7f\xbd\xad\xbb\x97\x13\xc6\x46\x34\x60\xe9\x8c\x71\xcb\xb9\xd7\x5f\xd8\x95\x9d\x82\x8f\xc4\xca\x30\xff\xd7\xd4\xbb\xdb\xc0\x67\x3e\x1c\xda\xcf\x55\x25\x65\x52\xa4\xd6\xf3\x3d\x8f\xd4\x46\xdb\x82\x9e\x57\xe9\x40\x53\x31\x21\x2b\x81\x0b\xd6\xfa\x7c\xcf\x0d\x79\x2f\xf3\x03\x34\x53\xee\x69\x21\x76\x31\x20\x57\x20\xfb\x31\xd2\x02\x2b\xdc\x48\x34\xa2\x25\x0d\x0a\x13\x2d\x0f\x95\x29\xe3\x77\xd8\x9c\x17\x8c\xae\x24\x2f\xc2\x91\x3f\xf4\xfb\xf0\x73\x73\xf3\xb7\xc5\xa6\x2e\x7d\x6d\x51\x9a\x02\xd7\x1a\xcd\x18\x85\x10\x1f\xa5\xbf\xf6\x60\xef\x84\x99\xd5\x13\xae\x44\xb5\x3e\xd4\xc9\x90\x17\xa2\x46\x38\x7a\x13\xcc\x17\xff\x2f\xaa\x05\xac\x72\x30\xf6\x6b\xab\x82\x7a\x55\xf2\x9d\x59\xc4\xa1\xc1\x7f\xa6\x0b\xed\x1e\x95\xb0\xb0\xc8\x8e\x40\x0c\xc1\x08\x08\xb4\xbf\x63\xd2\x80\x75\xbe\x4d\x39\x7e\x6b\x20\x83\x28\x67\x8c\xc8\xa0\xde\xf8\xe0\xd7\x33\x77\x58\xe8\x1f\x34\x0a\x03\x62\x87\xc6\x28\x73\xb6\xe7\x77\x7d\x74\xdb\x38\x80\xaa\xa2\xfc\xe9\x31\x8e\x7b\x7e\x61\x13\xb5\x07\x6d\x78\x54\xfa\x4d\x71\xcc\x0e\x04\x1f\x5b\x2c\xe1\x0e\xea\xbb\xfd\x92\x8a\x31\x7f\xd7\xfe\x18\xb7\xd1\x8d\x95\xec\xfa\x78\x1f\x07\xab\x25\x8c\x0a\xd7\x99\x59\x96\xcb\x55\xf9\xbe\xff\x73\x73\xb3\x9a\xf5\xe0\x27\x0d\xfa\xb4\xf0\x26\x92\x60\xf3\x6d\x3f\xc3\x2a\x95\xd7\x4f\xab\x13\x03\x60\x66\x64\xb2\x27\xc8\x15\xc1\xe1\x64\x36\x49\x21\xc5\xc5\xb8\x8e\xd0\x03\xe6\xa0\xb8\x35\x2b\x48\x85\xbb\x5b\xf8\x3f\xd4\xf7\xb3\xdc\x5b\xa4\x64\xb2\x2e\x25\xd1\x2a\xdb\x41\x37\x82\x8c\x1e\x54\x2e\xbb\xe5\x52\x2f\xf6\x58\xc3\x2c\x05\x17\x59\xdd\x05\x8f\x64\xc9\xdf\x40\x05\xc1\xe8\x43\x47\x9f\x41\x88\x0f\xc8\x18\x33\x0b\x99\x42\x29\xe0\x12\x49\x3e\xd1\x27\xb6\x70\xe7\x84\x12\x77\x18\x16\x70\xa2\xd0\x94\x4c\x25\x65\x67\x1f\x49\x2a\xf2\x02\xbf\x30\xb5\x66\x0b\x75\xc6\x06\xc6\xc1\xfc\x38\x52\xe6\xf2\x75\x93\x28\xd3\x42\x7e\xb2\xdf\x70\xe6\xcf\x46\x33\xe6\x87\x7e\x85\x78\x8e\x4c\xd5\x8f\x12\xe1\x60\xef\x84\x26\xe1\xae\x81\xc6\x00\xfb\x56\xd2\x5d\x51\x95\xe4\x55\xce\xa0\xbe\x14\x6b\xcb\x6c\x66\x2e\xc7\x09\xd9\x4c\xe1\xfe\x7c\x14\xbb\xd0\x0d\xd2\x5a\x48\xfb\x76\xa0\x3f\x56\xef\x34\xeb\x95\x72\x6d\x73\x93\xb0\xcb\x77\xfb\x6d\xf7\xcf\x4e\xc9\x56\x90\x66\x21\x82\x20\x6f\xe4\xc7\x0c\x90\x88\x38\xda\x47\xb8\xf6\x9a\x57\x59\xcd\x7b\x7d\x05\x1b\xb6\x06\xcc\x10\x7d\xb8\x24\x9c\x53\xb8\x09\x56\x8a\xfe\x0c\x78\x72\x0e\xd7\x8a\x1a\x9a\xd0\x0d\x80\x6a\x5c\x13\xee\xa6\xa9\x7b\x1e\xbf\x79\x3d\x65\xfd\xa5\x75\x26\x44\x4a\x57\xc2\xa2\x51\x3e\xb2\xb9\x19\xa4\x04\x57\x9d\x28\x9f\x58\x2b\x0a\xa5\x60\xab\xaa\x46\xb1\xd9\xda\x28\xf0\xc2\x73\xd8\x2a\x7f\x07\xfb\x42\x9c\xac\xec\xee\xae\x99\x80\x4e\xce\x2a\x18\xfc\xf8\xee\x05\x6f\x30\xc4\x85\xda\x4c\x7f\x5d\xf2\xe8\xff\x8f\xfb\xe6\xdd\xf5\x0a" -func workboxV363WorkboxRangeRequestsProdJsBrBytes() ([]byte, error) { +func workboxV431WorkboxRangeRequestsProdJsBrBytes() ([]byte, error) { return bindataRead( - _workboxV363WorkboxRangeRequestsProdJsBr, - "workbox-v3.6.3/workbox-range-requests.prod.js.br", + _workboxV431WorkboxRangeRequestsProdJsBr, + "workbox-v4.3.1/workbox-range-requests.prod.js.br", ) } -func workboxV363WorkboxRangeRequestsProdJsBr() (*asset, error) { - bytes, err := workboxV363WorkboxRangeRequestsProdJsBrBytes() +func workboxV431WorkboxRangeRequestsProdJsBr() (*asset, error) { + bytes, err := workboxV431WorkboxRangeRequestsProdJsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "workbox-v3.6.3/workbox-range-requests.prod.js.br", size: 700, mode: os.FileMode(420), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "workbox-v4.3.1/workbox-range-requests.prod.js.br", size: 665, mode: os.FileMode(420), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _workboxV363WorkboxRoutingProdJsBr = "\x1b\x31\x0b\x00\x1c\x07\xb9\xc9\xea\x6e\x9c\x45\x23\xb6\x1a\x3f\xf9\xa6\xd9\xbe\xa7\xa9\x76\x0d\xe3\xd1\x1b\xb4\x3a\x68\xe5\x11\xd7\x12\xff\xcf\x55\xc8\x3e\xc8\x7b\x63\x9b\xe8\x95\x59\xc3\xa5\x34\x74\xd9\xf4\x9d\x70\xe8\xd6\x17\x08\xfc\xe7\x66\x36\xfb\x35\x35\x63\xf3\x7f\x73\x6a\xcb\xc2\xd6\xe9\xbd\x59\xd5\x0f\xb9\x2d\x77\x97\xa4\xc0\x3f\x23\x26\x0b\xa4\x00\xed\xfc\xba\xe7\xa7\x23\x9c\xed\x55\xcf\x8b\x05\x2a\x9b\xa3\x96\x40\xc1\xa3\xbf\xf3\x8b\x7d\xbd\x58\x96\xee\x9c\xf9\x83\x70\x7e\x6c\xd7\x0f\x97\xc7\x3d\xf6\x4f\x31\xd0\xc3\x63\xcd\x43\xb4\x72\xfd\xaf\x85\xa4\xf2\xda\xc9\x51\xed\xc2\xef\x6f\xdd\xa4\xd5\x2e\x1a\xe8\x5c\x8a\xf0\xc3\xa6\xf0\xd8\x27\x74\x3f\x7c\xf4\xae\x81\xd6\xd5\x1a\x37\x89\x60\x65\x98\xac\xb6\x18\x03\x37\xc3\x60\xc5\x69\x8d\x68\xdd\x34\x25\xdf\xad\xf2\x84\xa8\x65\xef\xf6\x91\x9b\xcb\xb4\x75\xb3\xa3\x13\xc0\x6a\x37\x62\x41\x00\x49\x28\x97\x82\x29\x83\x78\x3a\xd3\x7c\x59\x8a\x7b\x7f\xb6\x2d\x49\xdd\xa6\xe7\x08\x51\xb6\x7f\xd3\xb8\x3f\x96\x3b\x85\xc3\x6a\x27\x60\xa9\x04\x2f\xf9\x1f\x41\xb4\x5d\xe9\x46\x0f\xd7\x59\x74\xa3\x6d\xb4\x22\x40\xce\xad\xc6\x78\xf0\x96\xa7\x48\xd5\x5d\xdb\x5e\x5e\x79\xd9\x81\xd4\xa6\xd0\x4f\xed\x03\x3b\x93\x77\xd8\x26\x8a\xa9\x2c\xc9\x4e\x50\x6b\xcf\xe2\xcf\xd6\xe9\x65\xcb\x05\xde\xd2\xa3\x46\x25\x38\xd1\xca\xd2\x84\x15\xba\xe5\xab\xdc\x01\x41\x5b\x27\x8b\xba\x18\x31\x1e\xd8\xbc\x6c\xc3\x49\x4e\x0d\x03\x00\xdf\xb9\x8f\x4c\x23\x9a\xbc\x89\x7f\xe3\x6e\xd2\x20\xa6\x29\x8f\x86\x52\x40\xcf\x6d\x61\x8d\xf9\x59\xf6\x34\x41\x42\x96\xf9\x88\x66\x37\xcc\x9d\x1a\x63\xbb\x16\x7e\x0b\x55\x4b\xb6\xa2\x68\xd3\xa8\xda\x54\xaa\x64\x26\x48\xe6\xbb\x66\xf5\x16\x15\xf7\xfc\x40\xdd\xa1\x4d\xc5\x6b\xbb\xf9\xf1\xf1\xd1\x17\x65\xf2\xad\x0b\xc3\xda\xb0\xd1\xe8\xb9\x36\x93\x76\x42\xab\x25\x3b\x19\xe8\x57\x94\xa2\x74\x00\x6c\x4e\xa4\x92\x39\x49\xe0\xa1\x3c\x72\x63\x2e\x29\x95\x06\x3e\xf6\xdc\xe7\x42\x0d\x56\xc4\xd0\x36\x03\xd1\x99\xc9\x7a\xb8\xd5\x70\xda\xd9\x67\xc9\x05\x3c\x1e\xf2\xba\x58\xfd\xbf\x01\x11\x31\x1e\x98\x15\x06\x2c\xb5\x75\xb1\x98\xe8\xf9\x44\xa9\x88\x62\x88\x95\x82\x16\xd4\x84\xd2\x70\xf9\x8b\x14\x89\xf6\xb5\x65\x19\xcb\xa1\x5b\x8f\xba\xaa\x83\x53\x3a\x25\x0d\xd6\x16\xc9\x52\xf4\xd5\x90\xac\xb3\xd3\xeb\xa5\xd4\x9e\x5b\x71\xce\xa8\x7b\xcd\xcd\x1f\x9a\xe3\xba\x20\x1c\x12\x73\xce\x42\x28\x91\x8a\x9b\x92\x6e\x59\x25\x11\x0e\x78\xe1\x16\x9a\xea\xf9\x5b\xc9\xf3\x4f\x25\x26\x73\x49\x3a\x72\x7b\xce\xdb\x1f\x60\xd1\xa8\x16\x84\xf5\xaf\x08\xfe\xf8\x30\x42\x04\x60\x09\x1b\x47\x49\x61\x2a\xda\x55\x99\x9f\x07\xfb\x11\xc9\x12\xc8\xf0\x32\xd5\x3b\xd0\xed\x49\x4f\x9c\xe3\xd3\xc8\x3f\x3c\x3d\xcc\x6d\x42\x6a\x77\x42\x68\x33\xdd\x49\xe0\x4c\x78\xda\xf7\x75\x8e\xa4\x44\x6a\xe4\x0d\xfb\xe6\x32\xb0\xd1\xcf\xa3\x72\x34\x1d\x4e\x0f\xfd\x07\x5f\x1b\x5c\xd0\xf5\x01\x69\xc0\x7c\xdd\x02\x4e\x3b\x79\x8a\x33\x27\xfb\x82\x40\x9d\x5e\x03\x1c\xd2\x72\x85\x6d\x57\xb2\xfa\xc1\x9e\x04\x73\x23\x1c\xff\xe1\x96\x0e\x92\xa3\x22\xd2\x60\x60\xc6\x73\x8a\x2c\x09\x49\x33\x24\xe6\x9a\xd1\x1f\x28\x0d\x8e\x70\x15\xc5\x72\xa0\x7b\xb4\x15\xcf\x72\x18\xad\x98\x18\xf8\x5c\xb6\x92\xf2\x78\xc8\xcc\x1c\xc4\x3d\x82\x33\x8c\xec\x93\x6b\xb4\xa9\x22\x0d\x05\x17\xbb\x09\x78\x15\x8a\x6f\x66\x10\x88\x71\xac\xd0\x5c\xcb\xb9\xfb\x21\xef\x6c\x43\xe0\x37\x7b\xde\x32\xe5\x61\x32\xa2\xf6\x88\x36\xfe\x3f\xe1\x0f\x8a\x1a\xbb\x59\x2a\xf6\xbf\xe4\xad\xaf\x30\x4c\x4c\x76\x9e\xaf\xb2\xae\x8e\x3d\x4c\x0e\x2f\x58\x40\xc7\x40\xe0\x05\x85\x2e\x1b\x7c\xa0\x02\x21\x5f\xd0\x5e\xca\xec\x5b\x32\xdf\x58\x72\xc8\x9d\x14\x39\xa5\x6e\x2b\x45\x09\x18\x4a\xe0\x39\x9a\x2b\x11\x36\xa8\x90\x79\x33\xd0\x68\xd0\x4f\xbd\x11\xaa\xa7\x92\xd7\x75\xfe\x9b\x26\x88\xea\x37\x71\xb4\xaa\x2d\x3a\x3f\x85\x6b\xb1\x8a\xa7\xf8\x09\x46\x90\xc0\x19\xbb\xc0\xd9\xc1\x72\x22\x89\xe4\x94\x0f\xcc\x50\x2a\x67\xc4\x21\x59\xe4\x02\x4f\x2a\x15\x6e\x66\xb2\x09\x58\x45\xa5\x7c\x6a\x0d\x01\x78\x43\x83\x3f\xa2\xfa\x1e\x21\xa2\x19\x33\xb0\x79\xf6\x56\x52\xee\x26\x31\xf5\x9e\x91\xbe\x6e\x90\x38\x11\xc6\x71\xab\xb9\xb5\x7f\x28\x39\xf3\x02\xb1\x42\x1d\xec\xbc\x9b\xf6\x45\x63\x58\x2d\x72\x1c\x43\xbb\x38\xab\x76\x69\x38\x2e\x78\x96\x1a\xac\xb2\xd6\x83\x87\xb8\x80\xc4\x53\x62\x65\xfd\xf4\xe5\xea\x30\x2a\x1f\xf5\x7b\xf5\x25\x77\xf5\xf3\xc3\x70\xe4\x73\x0d\x4f\xfb\xbf\xf7\x7a\x73\xf9\x0d\x87\x27\x8c\xa0\xb0\xc9\x6e\xf4\x10\x6c\xbd\x4c\x49\x6f\xb2\x77\x5f\xee\x6e\xea\x48\xfc\x8b\x78\xbb\xbb\xd7\x82\xe0\x70\xcb\xcd\xe1\x74\x77\xf0\xf6\xc0\x8a\xa6\x9e\x84\x5d\x25\x9c\x19\x4d\x88\xb1\x5d\x10\x1d\x18\xa6\x8c\x02\x0e\xb6\x51\xe7\x18\x8f\xe7\xd2\x95\xcf\x70\x0a\x3f\xe1\xd0\xbf\xed\x31\x4c\x3e\x9e\x4b\x60\xc6\x50\x56\xab\xdd\x3d\xc8\xf2\xc1\xb4\x3e\xf5\xf5\xd3\xb9\x69\x1c\xc4\x49\xb5\xff\xf2\x12\x53\x6e\xbb\x03" +var _workboxV431WorkboxRoutingProdJsBr = "\x1b\x43\x0d\x00\x64\x4d\x53\xf7\x2c\x93\x7d\x0d\x0e\x24\x42\x33\x31\xda\x49\x02\x9d\x61\xe9\xfb\xe5\x51\x5c\x3a\x56\x1e\x5d\xc0\xa3\xfa\x9d\x79\xdf\x7e\xed\xd1\x3e\x1e\x22\x2d\x69\x8d\x37\xb3\xb3\x5f\xec\x4c\x16\x51\xdf\x2f\x01\x97\x04\x49\xb5\x1f\x17\x0a\x2a\x83\x89\xaa\x3f\x5e\x52\x9d\x31\x45\x29\x81\x82\x6b\x37\xe5\xaf\x7c\xdf\x39\x1c\x5a\x50\xe6\x6a\xb6\x32\xfb\x38\xdd\x0a\x29\xff\x07\x27\x25\xc3\x96\xe6\xaa\x8b\xea\x36\x6e\x3d\xf5\x6e\xff\xda\x84\x52\x3f\x52\xd3\xea\xae\x74\xf7\x82\x9f\xf3\x3a\x5d\xe4\x7c\x05\x68\x19\x7b\x1d\x5b\x2c\x8d\xde\xb9\xa8\x92\x04\xe6\x0f\x9a\xc4\x65\xe3\x39\x27\x10\x5b\x92\x88\xaf\x1a\xf6\x73\xef\x1a\xc3\xbb\x3a\x8f\xde\x90\x66\x4a\x53\x8b\x74\x31\x92\x90\x6e\x92\xb6\x61\x99\x40\x71\x26\xc8\x8e\xa4\x78\x06\x83\x72\xba\xd8\xe1\x50\x23\xfa\xb3\xc7\x2d\x50\x7d\x7b\x36\x1b\x5a\xca\x43\x11\xef\x54\x7e\x9c\xf2\xe9\x05\x21\x88\xb9\x8a\x4d\xbd\x08\x69\x81\x8d\xe9\x5d\xe0\xb2\x19\x65\x86\x83\x23\xf9\xf8\xa2\x8a\x26\x4a\x17\xb1\x70\x68\xb3\x3d\x74\x4e\x1c\xfa\xad\xd3\xc0\x36\xee\x20\x2d\xd4\x3e\x59\xd3\x52\x44\x59\xba\x2c\x14\x5b\xb1\x5c\xf7\x48\x75\x9a\x38\x0b\x02\xb0\x3d\x75\xe2\xbe\x63\xb8\xdf\x15\x83\x3a\x71\x5f\xa0\x85\x83\x0d\xe3\xb8\x03\x57\xe6\x7d\x86\x7d\x51\xc2\x5a\x92\x66\xb0\x38\x22\xd9\x6a\x6d\x0e\x49\xcd\x1c\x0c\x34\x4d\x98\xcd\xe6\x15\x0d\x94\x4d\xa3\x92\x4e\x09\x7d\x1e\x94\x75\x5e\xd5\x90\x6e\x3b\x57\xd6\x90\xd6\xa5\x88\x18\x53\x6e\x2e\xe7\xb3\xf7\x84\xb1\x6c\x1b\xe7\x16\x28\xd1\xd9\x25\x28\x92\x5f\x63\xf7\x65\xc6\xc0\x9c\xbc\x8d\x5b\xa2\x88\xe9\xc5\x47\x99\xf4\xcf\xe2\xd5\xf0\x14\xb7\xea\xbb\xed\xa5\x2b\xc4\x04\xac\xda\xfa\x38\x2b\x17\xdd\xea\xdb\xfd\x32\x63\x5d\x6a\x80\xf2\xea\xaf\x42\x79\x48\xbb\xaa\xad\x89\x7c\x72\xeb\x1a\xc3\x6e\x8b\x93\x89\xa0\x91\xa5\x5c\x07\xd5\x4c\x52\xc0\x12\x9d\x07\xf6\x96\xb3\xb3\x03\x85\x0b\xee\xae\xd3\x30\x90\x16\xdc\x3f\x61\x3d\x49\x57\x13\x89\x22\x18\xa0\x09\x99\x0b\x1a\x5c\xc8\x39\x9d\x2a\xe9\xe5\x57\x9f\xde\xbf\xfc\x90\x44\xa4\xc8\x60\xad\xb1\x91\xf4\xfc\xd3\xf0\xcf\xb8\x94\x51\x8d\x16\x32\x59\xa0\xad\x38\x0f\x0f\x0f\xa0\x3c\xdb\x43\xfd\x58\x48\x1a\xe4\xc7\xe1\x09\x86\xb1\x92\xbd\x94\x35\x70\x65\xce\xe0\xf2\xc3\x2f\x50\x1a\x4d\x85\x9c\x4f\xbf\x8f\x99\x9d\xdd\xe1\xe1\x59\x14\x18\x88\xbd\xb3\x01\xc6\x0b\x67\xaf\xcb\x90\xfc\x04\x68\xa4\x72\x4e\x4c\xfe\x71\x76\x91\x33\x0c\x41\xda\x3e\xa3\x82\xc8\x7d\xaa\xba\x5d\xcf\xc3\xf2\x4c\x60\x8f\x83\x31\x9a\xed\x8c\x50\x94\x8b\x27\x92\x0d\xa7\xdd\xda\xf0\x89\x3b\x24\x89\xe8\x10\x5b\x97\xc6\x66\xd3\x62\x27\x02\x1c\x93\x4e\x7a\xad\x93\x74\x68\x59\xff\xa0\xbe\xa8\xd4\x3c\x5c\xa1\x9b\x48\xd4\x44\x57\x42\x24\xc0\xe2\xe2\x9e\x3e\x3b\xc7\xe9\xf6\x7d\x29\x53\x91\xa3\x8c\xe8\x9a\x4d\xa3\x94\x9c\x8b\xad\x42\x32\x0a\x63\xce\xdf\xd3\xe6\x9c\x61\x94\x64\xa4\x72\x02\x9b\x5d\x4d\xc9\xd8\x20\x5c\xcf\x0e\xd1\xb6\x3e\x6c\xac\x5b\x59\x4e\xc7\xe7\xd5\x03\x8e\xc1\x2c\xbb\x8e\x59\xbe\xef\xa9\x52\xb9\x1d\x19\xb1\xcd\xf6\x43\xf2\x81\xf2\x6a\x26\xdd\x9f\x82\x48\x35\x62\xda\xb5\x5e\xad\xae\xb1\xc2\xaa\xb3\x9b\x39\xf2\xad\x3a\xa8\x35\x36\x31\x9e\x90\x8c\x59\xc5\x24\x2a\x36\xd0\x45\x91\xc9\x84\x87\x1c\x01\x19\x69\x17\x5e\xe1\x75\xf8\x90\x18\xeb\xff\x23\x45\x80\x36\x73\x8b\xbf\x6f\xce\xce\xab\x94\xae\xb0\x19\x11\x22\xe2\x61\x93\x39\x3f\xc2\xe5\x95\x92\x29\xd8\x0e\x41\xea\x2e\x48\x8d\xe9\xce\x84\x76\xaa\x06\x9e\x33\x5a\x44\x55\x8f\x02\xe9\x96\x8e\x67\xbb\x79\x52\x66\x40\x5e\xa9\xb8\x07\x6a\xdf\x2a\x55\x7b\xee\xb2\x11\x4a\xf5\x0b\x18\x7f\xae\x82\x43\x45\x25\x75\x55\xfd\x36\xfd\xb8\x40\x02\xb6\xc6\x59\x84\x73\xbf\x63\xcc\xd3\x08\x20\x74\x81\xa3\x4c\x46\xdf\x5b\xf9\xb3\x50\x17\x61\xfc\xc5\x8d\xe3\x25\x09\xb8\x2e\xf5\x64\xae\xb0\x58\xba\xba\x99\x7d\x35\x15\x5f\xc5\x27\xc6\x2a\x2e\xb1\x56\xf7\x22\x51\x4b\x38\x5d\xdf\xeb\xc2\x78\x04\x52\x2b\x1d\x86\xd1\x72\x8d\x7c\x3e\xd0\xcd\x6a\x4d\x0f\xfe\xe0\xb7\xb4\xf0\xea\xd1\xd8\x0f\x98\xa8\x4f\x0e\x66\x92\xd2\x1a\x23\xc4\xcc\x1e\x08\x2c\xbe\x17\x40\xd9\xc0\x70\x38\x00\x0c\x26\xe3\x8a\x2d\xb2\xe3\xb8\x82\x06\xb6\xe2\x91\x12\xc9\x0c\xae\xe3\x88\x0b\x51\x1f\x96\x91\x9c\x57\xf4\x64\x79\xe5\x33\x27\xd6\xb7\xfe\xeb\x00\x4e\x26\xcd\xb3\x76\x55\x51\x0e\x40\x71\xcf\xde\x30\xa3\xb6\xb7\xa6\x99\xfb\xc0\x2a\x14\x90\x26\xda\x13\x23\x38\x0d\x98\x12\x9a\x10\xce\x00\x66\x58\xb1\x09\x85\x45\x0a\xb8\xad\x8b\x64\x57\xb5\xa9\x46\xf7\x69\xcf\x07\x06\x7f\xe1\xfa\xe3\x7e\x2d\xcc\x6b\xc7\xad\xc6\x36\x84\x85\x61\x5a\x1c\xc9\xdd\xea\xeb\x93\xeb\xe3\xe6\xc1\xd7\x26\xc9\x55\x9f\x8c\x2e\xf6\x0e\x38\x46\x44\x58\x19\xe3\xb4\x27\xca\x72\xf9\xde\x0d\x94\x6f\xd8\x03\xb2\x5c\xbf\x3a\x21\x4d\x81\xd0\x4a\x80\xa6\x94\x42\x4c\x40\x04\x78\x6e\x4c\xf3\x0c\x70\x74\x41\xde\x42\xf6\x14\x0c\x5c\xbb\x04\x3e\x15\x6e\x7a\xa0\xd3\x25\x22\x96\x80\xc1\x04\x86\x6e\x4e\x4a\x83\xef\x55\x49\x94\xdd\x82\xff\x16\xf6\x53\x98\xc1\xab\xd7\xf4\x4e\x0a\xab\x65\x82\xa8\x7e\xb3\x82\x9a\xeb\xd3\xf9\x0e\x8a\xa6\xa8\x9b\x54\xe8\x19\x46\x10\x89\xda\xa6\x02\xe4\x3a\x8f\xd5\xab\x57\xf1\x44\x04\xb1\x62\x2f\x9c\x56\xb2\x7c\xac\x94\x4e\xed\xa4\x11\xd8\x9c\xd0\x83\x33\x8c\x23\x4e\x49\xe5\x4c\xb6\xcf\x7e\x66\xd1\x94\x00\x04\x3a\x0a\xb0\x97\x78\xef\x6f\x67\xd5\x56\x01\xc5\xf4\x3d\x1a\xd0\x82\x36\xc5\xc0\x82\xf0\xf6\xd5\x26\xa7\x10\x25\xd3\xb0\x3f\x3a\x3d\x7d\x76\x90\x69\x5a\xb8\xf7\xa6\x4f\xef\x5f\x0a\x52\x10\x31\x74\xfe\xe2\xbb\x1a\x36\x19\x47" -func workboxV363WorkboxRoutingProdJsBrBytes() ([]byte, error) { +func workboxV431WorkboxRoutingProdJsBrBytes() ([]byte, error) { return bindataRead( - _workboxV363WorkboxRoutingProdJsBr, - "workbox-v3.6.3/workbox-routing.prod.js.br", + _workboxV431WorkboxRoutingProdJsBr, + "workbox-v4.3.1/workbox-routing.prod.js.br", ) } -func workboxV363WorkboxRoutingProdJsBr() (*asset, error) { - bytes, err := workboxV363WorkboxRoutingProdJsBrBytes() +func workboxV431WorkboxRoutingProdJsBr() (*asset, error) { + bytes, err := workboxV431WorkboxRoutingProdJsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "workbox-v3.6.3/workbox-routing.prod.js.br", size: 1147, mode: os.FileMode(420), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "workbox-v4.3.1/workbox-routing.prod.js.br", size: 1295, mode: os.FileMode(420), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _workboxV363WorkboxStrategiesProdJsBr = "\x1b\xe0\x13\x00\x2c\x06\xec\x66\xe5\x42\x15\xb3\x98\x6f\xcb\x87\xcb\x88\x1a\xc7\xdd\x25\x38\x26\xa5\x97\xa6\xee\x59\xa6\xb7\xd3\x20\x47\xb8\x64\xd5\x1f\xf6\x94\xb6\xb6\xc9\xa5\xe2\x2a\x37\xbd\xdc\xc2\xe3\x18\x67\xbe\x0c\xd7\x66\xc3\xe0\xaf\xc6\x52\x11\x4e\xd1\x5a\x08\x16\x8e\xad\x6f\xd4\x73\xf4\x39\xc9\xee\x6c\x3e\x93\x32\x94\xdd\x93\xb2\xc3\xf4\xff\xdf\xcf\x11\x67\x6f\x43\x4e\xa7\xd5\xbf\x81\x87\x44\x8a\x70\xdf\xbf\x6f\xf2\x6d\xae\x98\x78\x14\x8f\x6a\x21\x91\xa8\x64\x5a\xa7\x26\x13\x1d\xa3\xd5\x65\x22\x8c\xf0\xea\x83\xa2\x04\x32\xf6\x8d\x77\x17\xf9\x3c\x50\x33\xa7\xc4\x59\x8c\x5a\x59\xa8\x79\x1e\x80\x9a\x82\xd6\x7c\xa5\x45\x72\x5a\x4e\x72\x73\x9d\xae\x16\x8d\xb3\xca\x91\xaf\xce\xc1\xbf\xb3\x42\x3b\x0f\x85\x1b\x36\xab\x19\x79\x75\x81\xb9\xcc\xed\xa3\xcf\x86\xf6\x81\xbb\x04\x2d\xe6\x68\xd4\xa4\x20\xca\x82\x00\x88\xf4\xab\xf8\x43\xf3\xf7\x68\x18\x90\xb6\x0a\x3a\x5f\x44\xea\x33\x2d\x99\x6d\x10\xdd\x61\x85\xcf\x50\xa7\x69\xd1\x3c\x59\x98\x08\x57\x0d\xcb\xf4\x4e\xed\x72\x77\x23\xd1\x81\xe6\x82\x7f\xc6\x86\x03\x1c\x36\x42\xf3\x8c\xa9\x53\xfd\xeb\x68\xac\x71\x63\xab\x94\xa6\x8a\xf1\xe6\xf9\x5d\x8f\xd8\x15\xdd\x25\x78\xf4\x3e\xcd\x4f\x41\x6f\x9e\xb5\xea\x99\xb9\x7d\x89\xe4\x56\xf9\x1f\xe1\xeb\x77\x74\x04\xf4\x0a\x52\xc8\x2a\x09\x8b\xcd\x33\xc8\xe6\x21\xa1\xc1\x03\x79\x08\x2a\xd9\xea\xb9\xe8\xf7\x09\x41\x2c\x4b\x73\x21\xa2\x5c\x97\x1a\xa7\x05\xcf\xf1\xd8\x56\x68\xee\x94\x7f\x39\xac\x0d\x66\x22\x65\x22\x7b\x0c\x8b\x1b\x83\xd9\x24\x24\xf8\xdf\xd5\x6e\x9c\x82\x9b\x25\xc2\x88\x75\x75\x8f\x59\x10\x02\x42\x25\xb1\x15\xf5\xb2\xc3\x85\x79\x91\x76\xe7\x42\x63\x16\xc8\x2c\x00\xa6\x68\x96\x94\x84\x28\x04\xe5\x82\x08\x31\x90\x61\x63\xcd\x5b\x94\x8d\x8e\xa0\xa2\x69\xd1\x7c\x71\x34\x7a\x29\x1a\x59\xf2\x5b\xdc\x6d\x15\x8e\xa8\x84\x81\xeb\xf6\xc7\xfc\xc4\x95\x17\xa4\xfd\xbe\x30\xfd\x99\x9b\x67\x8c\x13\xfc\xe0\x34\x5b\x36\x7a\xad\xe7\xcd\xae\xa7\xb9\xce\x25\x54\xb5\xdf\xab\x9b\x0f\x99\x3a\xf1\x95\xa6\x41\xa9\x7e\x29\x29\x13\x2f\x6c\x18\x4c\x98\xac\x8b\x30\x2b\x1e\xfd\x2d\x16\x0e\x0d\x56\x8f\xc3\x51\x5a\xca\xeb\xba\xf6\x22\x44\xd9\x31\x84\xda\x0f\x22\x13\x4b\xb8\x14\x34\x3b\xbb\x9c\xc1\x2b\x83\xca\x08\xb4\xa8\xb9\x80\x44\xb8\x5e\x4c\xb2\x0e\x6b\x35\x1a\xca\x24\x7b\xb0\x44\x9a\x4f\xdb\xcf\x3d\xc3\xdd\x92\xce\x99\xd3\x9c\x3d\x0f\xd4\xb1\x70\xb8\xb3\xec\xd5\xcb\x50\x32\xfb\x3f\x9c\x3f\xe1\x91\x0a\x3f\x28\xee\x80\xf4\xca\xc5\xfe\x49\xbe\xa4\x1e\xe3\x03\x59\xdd\xc6\x59\xd5\x62\x59\x4b\x23\x90\xac\x8d\x26\x29\x12\x66\x73\x5d\x8c\xd3\x30\x14\x14\x9e\x17\xca\xa5\xe2\xb1\xa0\xa4\x1f\x05\xd5\x6e\x5e\x05\x3b\x96\x94\x23\x29\x38\x0b\x17\x7a\x07\xd6\xa9\xa9\x2a\x31\xcb\xf1\xb8\x5f\xd3\x40\x6a\x05\x5b\x10\xc7\x69\x49\xf5\x84\xc7\xa5\x84\x2b\x62\x45\x51\xec\x56\x5d\x35\x28\x96\x9a\xa8\xb8\x6c\xa6\x92\xb5\x8d\x5d\x8d\x6f\x22\xa8\x57\x14\x4a\x55\xc3\x46\x65\x1b\x2e\xb0\x0a\xfb\x6d\x86\x96\x96\x8d\x66\x87\x60\x29\x12\xf1\x66\x70\x84\x73\xde\xc8\x32\xd3\x53\x8d\x8e\x54\x67\x14\xa6\x04\x5e\xe5\x2c\x40\xa6\x42\xa1\xa0\x0d\xd9\x33\x5b\xc2\xc2\x4e\x43\x57\x7a\x03\x65\x81\xc6\x2e\xe4\x34\xc8\x9d\xd7\x06\x88\xe6\x05\x11\xe1\x4a\x0c\xd4\xf8\x70\x42\xa8\x80\x71\xe9\xe5\x6c\x89\x4d\x90\x3b\xea\x99\x20\x56\x58\x87\x87\x2e\xc6\xf0\x48\x20\xa9\xd6\x88\x28\xfa\x31\x0c\x26\x56\xb1\xa9\x44\xac\x54\x76\x31\x88\x1e\xbc\x28\xe1\x0e\xc7\x04\x06\xea\x47\x4b\x2e\x8d\xc2\x1e\xb5\xb5\x88\x89\xe3\xc2\x72\x53\x72\x28\x20\xb2\x29\x7e\x43\x49\xf6\xcd\x92\x7c\xed\xe1\xc3\x6f\xaf\x28\xfd\x9d\xbd\x2d\xc9\xc6\x10\x7b\x5a\x6c\x2f\x85\xcd\xd4\xd5\x87\xb4\x09\x70\x4d\x3c\xf5\x30\x1b\x91\xb0\xf2\x6f\x91\xc1\xc4\xdf\x6f\x27\x5c\x78\xaf\xe3\x81\xb7\x3f\x35\x64\x41\xc0\x9a\xc4\xc2\x9d\x3e\xa2\xbb\xe2\x57\x3d\x73\x14\x88\x3f\x01\xc6\x94\x0b\x63\x81\xf8\x19\x39\xe3\x4f\x1e\x27\x9a\xd8\xfd\x3f\x3e\x99\x9c\xfe\x09\xa4\x79\x06\x3a\x6d\x13\xc9\x42\x0e\xf0\xc6\xbd\x3a\x6f\xca\x03\x96\xa4\xfa\xaf\xf0\xbf\x9b\x5c\xf6\x3b\xa1\x0f\x9a\x00\x7b\x9b\x45\x82\x68\x49\x19\x9f\x2d\xcf\x27\xfd\xec\x58\x74\xbb\x51\xd4\xbd\xe8\xbc\xdf\xb8\x1c\x7e\xde\x37\x47\xd7\xbe\x17\x36\x69\x9b\xfb\x66\x42\xc6\x2a\x44\x9a\x69\x2b\xe6\x02\xc5\x41\xc0\x65\x14\x6f\xfb\x82\x3c\xdb\xa5\xb7\x57\xb0\x31\x9d\x6d\xd1\x41\x4f\xc0\xb8\x55\x25\x61\xa5\xb6\xd2\x33\x5c\x52\xf3\x3d\x08\x0d\xb0\x73\x5c\x00\x86\x19\x34\x73\x1e\xca\xe9\xb6\xa5\x15\x1d\x96\x87\xc1\x69\x92\x48\x4f\x0b\xef\x96\x8b\x6e\x61\x21\x76\x98\xbc\x3d\x98\x07\x1e\x52\x3e\xf3\xf7\x7d\x35\x66\x3d\x9f\xa8\x4c\xab\x7d\xda\x4d\xf9\xf3\xef\xe4\x6e\xb4\xbf\x01" +var _workboxV431WorkboxStrategiesProdJsBr = "\x1b\xfa\x12\x00\x1c\x85\x8d\x1b\xb9\xa1\xcf\xaf\xa6\x4d\x92\xe4\x20\xfb\x50\x5a\xab\x74\xda\xbb\xa9\x64\x85\xfe\x32\xeb\x33\x75\xa7\xd9\xb8\x4e\x4b\x95\x01\x3f\x28\x13\xbe\xce\x4a\x5d\x56\xf5\x87\xa8\x4a\x1b\x6e\x01\x40\xb3\xce\xed\xc3\xc9\xb6\xf6\x42\x1a\x27\x5f\x99\xc9\xff\xae\xa9\xed\x75\x40\xd6\x14\x58\xc8\x29\xd7\xfc\x24\xa5\xdc\x15\xaf\x37\x28\xd0\x80\xb0\xc4\x72\x40\x8e\x40\x48\x94\x7b\x7e\x4e\x4f\xcd\xaa\xad\x6a\x13\x72\x36\x8c\x69\x7d\xaf\x79\x0c\x02\x87\xa4\x62\xa5\x54\x80\x12\x54\x71\x66\xb6\xbe\xf0\xf3\x42\xa5\x0e\x28\xcc\x51\xd4\x0a\xe4\xe6\x63\x01\x10\x0a\x1c\xbd\xa4\xb9\xd8\xc7\xac\x1c\x76\xbf\xf3\x43\x5e\x1c\x76\xd7\x34\x2f\xb1\x3f\x37\x82\x82\xbd\x63\xdb\xda\xd5\x76\x3e\x7c\x5c\x7a\x5b\x59\x75\x6d\x79\xd3\xe0\x1c\x25\x26\xa8\xaf\x5d\xef\x02\x58\x07\x49\xac\xc4\x45\xa9\x16\xe0\x1d\xcf\x5b\xfb\x15\x0f\x6f\xb1\x3a\xfc\x2e\xcb\x6a\x02\xea\x99\xb0\x3e\x50\x08\x75\x40\x70\x6b\x15\x5c\xc1\x71\xa2\x89\x87\xf9\x8f\x7f\xf0\x56\x80\x0c\x3b\xce\x4c\xce\xa6\x0e\x8f\x1d\x18\x6b\xde\x50\x65\x1b\x34\x40\xbc\x21\x93\x07\x1e\x18\x08\xe9\x85\xd8\x4e\xb2\x0e\x03\x15\x68\x81\xe8\x32\xfa\x8e\x5e\xc9\x49\xb0\x39\xf4\x06\x73\x32\x6e\xbf\xa1\xc7\x56\x44\x8f\xe7\xac\xef\xd3\x12\x29\xca\x78\xc8\x1c\xe4\x47\x70\x63\x45\x26\xe4\x8e\xa7\x88\x2f\x72\x56\x39\x39\xec\x90\x23\x5a\x02\xa8\xef\x90\x02\x6e\x29\x1a\x44\x89\x8b\xbc\xc5\x5d\x48\xdf\x88\xa2\x68\x4a\x13\xaa\xcf\x47\x10\xa0\xd6\x01\x27\xbc\xf9\xe8\xcf\x6e\x7d\xce\xd8\x0e\xf4\x7a\x87\x0a\x78\x7f\xea\x06\xe7\x7c\xdd\x40\xf7\xf3\x39\x52\xec\x4a\x93\xc6\xae\x04\x7c\xc3\xe6\x6e\x64\x3c\x65\x36\x2f\x02\x20\x41\x8a\x98\xf5\x2c\x30\xd7\x2c\x9d\x72\x57\x13\xe9\x0c\x5b\xd0\xad\xd0\x44\xd5\xfc\x2a\xfc\xb2\xd7\x54\xae\x57\x31\xac\xe2\x87\xd2\x3c\x6c\x7b\x3c\x9c\xfc\xc0\x84\xfc\x46\xc2\xc9\x45\xe8\xd0\xc1\x23\x3d\xc0\xbb\x94\x97\x67\xf6\x40\xe6\x2d\xf6\x6e\x19\xbf\xd1\x36\x8d\x1f\xfd\x18\x0e\x7f\xc3\xb7\x15\x76\x48\x6f\x83\x72\xc0\xdd\x79\x0e\x04\x2b\xb3\x01\x96\xe5\xbd\xb2\x85\x6d\xa5\x22\xe8\x65\xb8\xf0\xa5\xd3\x6a\x91\x8c\xea\xac\xeb\x2a\x25\xfd\xbd\x4d\x51\xac\x00\x89\xba\x0f\x04\xb5\x4c\x7e\x5b\x00\xe2\x91\xe4\x53\x72\x84\x18\xf4\xce\x95\x3c\x0e\xdc\xad\x8f\xa0\xcc\x8b\x52\xe0\x4b\x52\xef\x63\xa9\x3d\x05\xb6\x54\xcb\x3c\x43\x4f\xa5\x49\xe3\xc0\x53\x0c\xfb\x0d\x64\x42\x23\x14\x59\xe1\x90\xfb\x12\x6c\xd0\x3e\x1b\xab\x98\x2f\xaf\x75\x23\x83\x20\x46\xbd\x90\xe4\xfd\x2c\xb4\xc7\xe7\x11\x17\x24\x2e\xac\x47\x66\x15\x30\xf3\x68\x7d\xc0\x34\x54\x24\x8f\x4d\xd7\xdf\x7b\x43\x6b\x82\x3d\x3c\xc9\x11\x4d\x70\xc7\xac\xb3\xac\x63\x12\xf8\x75\x5f\x17\x46\x0c\x64\x19\x04\x98\xe3\xc3\xcc\xc8\x5d\x3c\xa2\xf7\x34\xc5\xe1\x86\x31\x18\x95\x95\x26\x77\x66\x82\x7a\xd8\x89\x14\x3e\x3d\xca\x11\x65\x10\xed\x00\x9e\xbc\x77\x10\x92\x64\x10\x35\xc2\xdc\xfd\x41\xdc\x4d\xce\x0c\x08\xd4\xe7\x0e\xab\x55\xab\x10\xb4\xf2\x5a\x52\x16\x1a\x0b\xc5\xd1\x8e\xdd\x67\x2d\xa0\xa0\x30\xb0\x30\x77\x08\xec\x94\x9f\x22\x80\xd3\x96\xbe\x85\xfd\x86\xc8\x87\xca\x8f\x58\xd5\x22\xad\xb9\x3d\x64\x30\x8b\xb5\x7b\xf0\x58\xbe\xfe\x29\x02\x04\x3f\x95\x51\xc8\x91\xf3\x6e\x91\x8c\x13\x45\x2c\xf7\x11\xbe\x61\x30\x62\xa0\x0e\x57\x0a\x6a\x81\x7a\x36\x51\x91\x4a\x4e\x8f\x87\x0f\xdf\xd8\xf1\xf7\x75\xf8\x34\x00\xff\xb1\x94\x96\xfe\xf0\x2d\x40\xf8\x38\x0a\xe8\xc7\x00\xe9\xba\xa3\x2e\x51\xdd\x92\x51\x2a\x16\xaa\xe0\xea\xe7\xe0\x99\xfc\xfb\xe7\x44\xd4\xc6\x1c\x32\x33\x19\x27\xf1\x62\x23\x19\xa2\x98\xc7\xa9\x7f\x41\x58\x32\xe8\x30\xb4\x38\xe0\xcd\xd4\x82\x23\x56\x16\x6a\x46\x79\xcb\x71\x58\xb7\x50\x3f\xa6\x40\xc1\x16\x49\xc9\x16\x3f\xbf\xd9\x17\x4d\x59\x59\x28\x59\x16\x5b\x99\x5c\x30\x69\x42\x98\x27\x3f\xcd\xae\xe1\x06\x4e\xfd\x46\x14\xa0\x5b\x3d\x05\xcd\x90\x6f\xe2\x6a\xe1\xa3\x08\x3e\xe7\x26\x94\xc3\xb4\x8c\xb7\xe6\xf2\xbf\xe1\xf5\xe0\x6d\xc8\x8e\x2d\xc1\x5d\x21\x2e\x12\xa7\x7d\x0c\xe5\x6e\x3e\xa4\x37\x14\x6f\xef\x73\x9c\xd9\x85\x39\xea\x03\xb9\x60\x53\x8a\x59\x30\x93\x9f\x08\x61\xda\x30\xf7\x5a\x4e\x3e\xe5\xcb\xa4\x1c\x49\xb9\x50\x97\xf4\x88\x5a\x80\x44\x11\x7c\xb9\x69\x72\x4f\xbf\x6a\xf8\xf1\x0d\x8d\xb8\x54\xec\x8a\xc2\x3d\xcc\x80\xa6\xa1\xb9\x9f\xb6\xc4\xb5\x4a\xce\x7d\x2b\x3a\xf7\xa7\xb6\xc8\x66\x93\x1e\xea\x80\x73\x93\xd0\x03\x73\xf0\x6f\xe7\x60\x65\xb9\x66\x9e\x14\xb5\x66\x73\xfe\x6e\x2e\xc8\x9d\xad\x0f\x7c\xbe\x1d\xef\x74\xc8\x69\x3c\xdc\xca\xac\x76\xb7\x5e\xe8\xd8\x97\x79\x36\x35" -func workboxV363WorkboxStrategiesProdJsBrBytes() ([]byte, error) { +func workboxV431WorkboxStrategiesProdJsBrBytes() ([]byte, error) { return bindataRead( - _workboxV363WorkboxStrategiesProdJsBr, - "workbox-v3.6.3/workbox-strategies.prod.js.br", + _workboxV431WorkboxStrategiesProdJsBr, + "workbox-v4.3.1/workbox-strategies.prod.js.br", ) } -func workboxV363WorkboxStrategiesProdJsBr() (*asset, error) { - bytes, err := workboxV363WorkboxStrategiesProdJsBrBytes() +func workboxV431WorkboxStrategiesProdJsBr() (*asset, error) { + bytes, err := workboxV431WorkboxStrategiesProdJsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "workbox-v3.6.3/workbox-strategies.prod.js.br", size: 1093, mode: os.FileMode(420), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "workbox-v4.3.1/workbox-strategies.prod.js.br", size: 1058, mode: os.FileMode(420), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _workboxV363WorkboxStreamsProdJsBr = "\x1b\x22\x06\x00\x1c\x07\xb9\xb9\xe8\x82\x88\xc7\xe9\x76\x34\xbd\xd7\xf7\xf7\xbb\xcb\x54\x1a\x28\xc6\xb6\xe5\x1e\x6c\xb3\xa3\x7f\xea\xb9\xf7\x61\xcd\x0f\x9e\x80\x35\x52\x2f\x52\x35\x63\x33\xfd\xfd\xd4\x25\xdb\x80\x66\xf6\xfa\xd7\x22\x83\xb2\x29\x8a\xaa\x4c\x66\x51\x08\xd3\xdd\x16\xf1\xbc\x55\x24\x9e\x74\xa4\x25\x30\xe0\x6c\xd6\x0f\xbe\x93\x71\x99\x1f\xa0\x1f\x75\xc9\x7d\xea\x19\x95\xd7\x40\x70\x6c\xbe\x9a\xac\x9b\xf7\xc7\xc5\x37\x27\xef\x9f\x83\x18\x96\xca\xf7\xf6\x73\xf3\xab\x2e\x67\x70\x29\x9f\xa5\xc9\xe6\x6f\x3e\x09\x31\x39\x46\x20\x89\xb2\xbd\xbe\x68\x33\x5f\x6f\x2c\xe9\x7f\x79\x01\xe1\xf3\x3f\x94\x1e\x31\x9d\x30\x08\x26\x69\xc0\xe0\x1c\x10\x16\x4c\xb4\x79\x76\x77\xe5\x73\x34\xdd\x8b\xf7\xcc\x6a\xe8\xc5\x8f\x67\x80\x59\xa2\x74\x87\xfa\x9b\xbc\x0f\x64\x79\x33\x08\x26\x97\xd0\x00\xea\x7d\xaa\xe2\xeb\x9d\xec\xb3\x5f\xf9\xb8\x6b\x1a\x61\x48\x1c\x65\x44\x30\xfe\x04\x40\xa8\x21\x9f\x8f\xce\x42\xc6\x2d\x90\xd8\x40\xa0\x99\xcb\x4a\x56\xf8\xbf\x1f\x27\x0c\xbb\xb0\x83\x14\xc2\x12\xed\xa7\xfe\xa6\x13\x12\x1f\x2b\x2b\xc0\x93\xcc\x73\xc6\xe3\x1d\x78\x82\x2a\x61\xa2\xa2\x83\x03\x3d\xe7\x56\x2c\xf3\x5c\x80\xcc\xdf\x0d\x33\x52\x71\x13\x52\x20\x66\x69\x12\x50\x99\x49\x92\x34\x67\xe1\x05\x4f\x0e\xc6\x13\x98\x64\x02\x81\xfe\x36\xfc\xa1\xeb\xfb\xba\x81\x20\x49\x60\xd0\x44\x34\x7e\x01\x38\x3a\x60\x04\x86\xd0\x64\xbe\xc2\x23\xce\x90\x3e\x6c\x56\x82\xc1\xa2\x24\x15\xa5\x87\x62\xb0\xa9\x74\xc2\x61\xcf\xf6\x9c\xf8\xfd\x1d\xa4\xcd\xc4\xcd\xb4\xa9\xa5\xc2\x51\xef\x07\x57\x90\x1a\x34\x59\xb7\x51\xdf\x61\x86\xeb\x8d\xa9\x97\x35\xb8\x81\x20\xbd\xb2\x43\x07\x4c\xe3\x51\xcb\xe9\x21\xe4\xa8\xd2\x78\x40\xd5\x9c\x5f\x89\x82\x02\xb5\x18\x73\xcc\x71\x3c\xc1\x75\x2b\x20\xbb\x71\x50\x9a\x99\x0d\xb5\xbc\xaf\x0c\x91\x95\xc9\x40\x08\x51\xaf\xf0\xc6\xb1\x82\x83\x5f\x6c\x27\xc1\x0b\xbd\x7d\xf9\x59\xd2\xa2\x6d\x29\x2e\xad\xb8\x70\xa3\xdf\xec\xb7\x8a\xaa\x89\x7b\xa8\xe3\xd1\xda\x36\x34\xb1\x6e\xa8\x7f\xea\x34\x45\x07\x35\xed\xc9\x35\x9e\xcb\x2c\xb5\xa5\x3f\x8f\x74\x1b\xed\x09\xdb\xad\xf6\x39\xce\xaf\x1d\x12\x7a\xf6\x61\x78\x89\xc6\x6c\xf4\xda\x6b\x7e\x25\xaf\xed\xc9\x8f\x41\xf6\xba\x02\xf2\xdb\xe0\xbc\x84\x77\x59\x47\xf6\xd9\x81\x05\x3b\x8c\x29\x79\x27\x02\xa9\xa9\x85\xd9\x92\x0b\x46\xb3\x67\x2f\xeb\x48\x1a\x5a\xd4\xb2\xf0\xe7\xa3\xd4\xd5\xba\xd9\x1f\xa3\xd4\x0a\x0f\x25\x5c\x0c\x14\x96\x74\x38\x1f\x82\x86\x41\x34\x98\x36\x72\x76\xe8\x9d\x16\xfd\xe9\xa2\xa5\xb9\xea\x0c\x98\x5b\x20\x21\x28\x96\xb9\x3e\x02\x6d\xcf\x40\xde\xd8\x8e\xe1\x4c\xac\x65\x02\x79\x52\xd9\x81\x35\xdd\x8a\x0a\x7f\x10\xae\x01\xcd\x2d\xa8\xb2\xf2\xda\x1f\xa8\x26\x86\x4e\x35\x16\x24\x01\x23\xca\x84\xbc\x6c\x75\x11\x46\xfa\x4b\x18\xfb\xf1\x86\x5d\xb5\xfa\xb0\x26\xbd\x74\x5d\xa5\x27\xe3\xa4\xb0\x06" +var _workboxV431WorkboxStreamsProdJsBr = "\x1b\x5e\x05\x00\xe4\x95\xc9\xea\x6d\xaa\x90\x60\x44\x8c\xd5\xde\x60\xaa\xad\x52\xa5\x1f\x2e\xa0\x19\x9c\x5d\x3e\xae\xdc\xff\xdc\xea\xb0\xd4\x69\x99\xd6\x76\xb7\xff\x51\xb3\x24\x16\x25\xe1\xaf\x93\x28\x01\x8f\x89\x3a\x95\xe8\xfc\x19\xa7\xa4\x9a\x88\x56\x02\x09\x07\x93\xff\x95\x15\x79\x2f\xf3\x13\x74\xa4\x96\xc3\xa7\x4e\xa0\xfc\x06\x8a\x7d\xfd\x57\xd3\xd5\x16\xf5\x65\x8e\xf5\x21\xea\xbf\x4e\xc6\x7a\xbf\x5e\x4c\x52\x5e\x94\x13\x3e\xe6\xc3\xf5\x6f\xdb\xdb\x3f\x00\x53\x3f\xf6\x9e\xe8\xb0\xbe\xe7\xb3\x5b\x8b\x55\x13\xe5\x8f\xf1\x13\x54\x4e\xff\x49\x7a\xc4\x67\x42\xa0\xc8\x6a\x80\xe4\x09\x00\x42\x54\x6c\x52\x26\x69\xd9\xde\xde\x1f\xe1\x27\x8d\x67\xb5\x9a\x7a\x76\xe4\x01\x60\xd1\x2c\xc3\xa9\x3e\xd3\x3f\xaf\xb6\xbc\x1b\x14\x8b\x3f\x4c\x04\x45\xc4\xe1\x5d\x63\x35\xa8\x0e\xc8\x4d\x4d\xd6\x04\xf4\x63\x00\x25\x43\x39\xed\x21\x4a\x55\x2c\x4b\x44\x5c\x0e\x06\xb8\xaa\x6e\x1f\x9e\xd2\x48\x44\xd8\x2c\xf4\x41\x7b\xdc\xb3\x41\x99\xa0\x7b\xca\x20\xbf\xb8\xdd\xfb\x37\x01\x80\x54\xa2\xe3\x02\x38\x65\xaa\x74\x7f\x79\x84\xca\x8b\x45\x71\x5c\xb5\xbb\xeb\xa7\x62\xa7\x6e\xee\x33\xd0\x6f\x7c\xc3\x84\x74\x4a\x9a\x0e\x40\x2c\xfa\x25\x4d\xa5\x07\x65\xb5\xf0\xe1\x81\xca\x21\xc7\x9b\xc8\xca\x02\x32\x7c\x9e\xab\xff\x59\xad\xa0\x48\x9a\x98\xf4\xb1\x1a\xff\x00\xec\x01\x98\x89\xa9\x4d\x26\xfc\xd2\x73\x86\xa2\xe1\x1c\xcd\xdf\x40\x1d\xa6\xda\xf8\x79\x6c\xb0\x6e\x86\xaa\xbd\xa7\xdf\x73\xe0\xd7\x57\x92\xac\xa6\x61\xa2\x75\xbb\x55\xed\x3f\x21\xe1\x06\x92\xb5\xc6\x54\x2b\xd5\xe1\x28\xa1\x86\x3c\xc5\xf0\xde\x34\x4a\x40\x45\xc1\x53\x5f\x1a\xa1\xed\x88\x53\x7f\x86\x6a\x2a\x23\x29\xd3\xbb\x2a\x16\x25\x66\x3f\x18\xda\x75\x39\xa0\xb8\xb9\xa4\x94\x88\x34\xb4\xfb\xb1\x3a\x44\xbf\x63\xe0\x4e\x26\x52\x93\xb5\x83\x15\x7b\x8c\xf5\x30\x65\x61\x6f\x69\xbf\x3c\x67\xb7\x79\x0c\xb5\x31\x54\x8c\x8e\xb3\xdd\x3a\xd4\x7a\xa9\xa4\xfc\xd2\xee\x7f\x98\x13\x27\xe5\x88\x35\xe8\x9c\x76\x32\xeb\xc1\xd0\x67\x86\x1e\x13\x3a\x4b\xa3\x5f\xf5\xbd\x8c\x14\xa3\x23\x65\x4e\x9c\x6c\x3b\xa0\x34\xf5\x21\x29\x58\xd9\x2b\xb8\xe5\x9c\x5a\x9b\x1f\xc9\x74\x6c\x6a\x1c\x61\xf1\xdb\xd7\xcb\x04\x92\xa7\x49\xb8\x5e\x64\x4c\xa3\xbe\x72\x05\x1e\xdf\xdf\xab\xc7\x7c\x78\x26\x8e\xcd\x4d\x0d\x8c\xd4\xa8\x57\xcb\xa2\x37\x0e\xdb\xfd\x51\xbb\xa5\x67\xc6\xd3\xbb\x4f\xde\x0d\x38\xf7\x7e\x49\x00\xd6\x61\x33\x80\x23\x54\x97\xd9\xd7\x5e\xd0\x20\x84\xbf\xd2\xa4\x09\xfd\x31\x78\x9e\xfd\xfd\x8d\x47\x53\x91\xe7\xf4\x8b\xde\x5d\x5f\x49\xc0\x93\xec\xb5\xf0\x67\xf5\x85\x5f\x1b\x6e\xd5\x0a" -func workboxV363WorkboxStreamsProdJsBrBytes() ([]byte, error) { +func workboxV431WorkboxStreamsProdJsBrBytes() ([]byte, error) { return bindataRead( - _workboxV363WorkboxStreamsProdJsBr, - "workbox-v3.6.3/workbox-streams.prod.js.br", + _workboxV431WorkboxStreamsProdJsBr, + "workbox-v4.3.1/workbox-streams.prod.js.br", ) } -func workboxV363WorkboxStreamsProdJsBr() (*asset, error) { - bytes, err := workboxV363WorkboxStreamsProdJsBrBytes() +func workboxV431WorkboxStreamsProdJsBr() (*asset, error) { + bytes, err := workboxV431WorkboxStreamsProdJsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "workbox-v3.6.3/workbox-streams.prod.js.br", size: 667, mode: os.FileMode(420), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "workbox-v4.3.1/workbox-streams.prod.js.br", size: 605, mode: os.FileMode(420), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _workboxV363WorkboxSwJsBr = "\x1b\xdf\x05\x00\x64\x9b\xa9\x7b\x96\xc9\x91\x1b\xca\x09\x3e\x4e\x3a\x3e\x52\xd7\xd2\x27\x97\x8a\xed\x54\x7c\x48\xa9\x9c\x0e\xd7\xd4\x46\xb8\x82\x53\xd5\xf6\x28\xa5\x7f\xce\x97\x79\x63\x61\x80\x64\xe6\xfa\x72\x63\x39\x3d\xcf\x7e\xce\xd7\x44\xbc\x5e\x23\xea\xf4\x92\xe9\x21\x0c\x2e\xce\x4f\x4d\xd3\xaf\xa5\x7f\xc3\x17\xc7\x1a\x4b\x7e\x99\x09\x74\x25\xff\x15\x4f\xba\x4e\xf3\xd4\x7d\xf7\xe0\xf2\xb9\xe7\x1f\xbf\xeb\x0e\xdc\x2e\x0c\x42\x47\xde\xcd\x04\x8b\x3e\xe1\xf9\xbd\x9a\x04\x78\x8b\xa7\x42\x05\xc7\x01\x64\x3c\x59\xbf\x30\xd9\xc4\xaa\x7d\x3b\x9b\x7f\x56\x70\x71\x2a\x4b\x53\x14\xc3\x63\x33\xde\x79\xfc\xfb\x9c\x79\x98\x17\x5a\x4e\xea\x40\xd4\xe1\xe7\x35\xca\x78\xa8\xda\x18\x73\x6c\x78\x63\xa0\x1c\xc9\xa3\xef\x4a\x55\xf7\xd0\x18\x9b\x13\xd4\x1a\xa6\xac\x8a\x63\x09\xd0\x07\x2f\x23\x64\x8a\xfe\x5b\x76\xae\x01\x0a\x4c\x91\xe8\xc6\x43\xe9\x5b\xae\xb5\x80\x28\xef\xdc\x21\xd0\xf2\x30\xdb\xd8\x75\x12\x02\x4d\xa0\x13\x6f\x5e\x3e\x97\x1e\xba\x18\x28\xee\x85\x0f\xa1\xa2\x2e\xb1\x39\x01\x2d\xed\xf4\x25\xe6\x64\xc2\x02\x12\x2b\x96\x87\x69\x03\x84\x30\x52\xa0\x4b\x0d\x54\x06\xe8\xb7\xe2\x4a\x98\xf4\x8b\x7c\xe9\xa5\x6c\x16\xa5\x24\x42\xd6\xdf\xa1\x28\x25\x4a\x48\xe6\xc4\x1e\x20\x86\x20\x1e\x43\x08\x01\x1e\x45\x61\x86\x2a\x08\x4b\x87\x90\xa7\xee\x9c\xd5\xd3\x6c\x55\xbd\xc8\x28\x88\x2f\xa7\x73\xc5\x7e\x13\x83\x33\x55\x77\x3b\x76\x0a\xf3\xf8\x0d\x24\xe9\xa4\x39\x68\x5a\x71\xd8\xec\x90\x9f\x4b\x77\xf3\xf3\xbf\x7f\xe6\x3f\x54\x96\x51\x8c\x10\x63\x79\x59\x18\xe9\xf1\x00\x3d\x8f\xd3\x4e\x17\x87\xad\x14\x62\x25\x8a\xab\xd4\x6a\x89\x23\x3d\xff\x2f\xe6\xbc\x31\x08\x8f\x37\x4a\xd2\x31\x92\xe1\xd3\xaa\xa8\x1c\xe5\x0f\x41\x37\x96\x50\xd4\x0d\xf6\xc9\x02\x65\x95\xd3\x0d\x3b\xfa\x82\xed\x1c\xd0\x2b\x7b\xf5\x3a\x1c\x65\xc7\x1f\x33\x7e\xef\xe5\x73\xc9\x65\xc6\x6d\x3d\x1c\x67\xc2\x80\x5d\xae\xf6\xdc\xab\x35\xb2\x0b\xcf\x13\x12\x24\x49\x45\x05\xb0\xfc\x73\xeb\x1c\x64\xce\x73\x99\x3c\x31\xf0\xc6\xf7\xd6\x64\x30\x9c\xe8\x3b\x6b\x34\x41\x5d\xdd\xa0\xbb\x4f\x5e\xd2\x2a\xfd\x72\x02\xdb\x13\x89\x89\x18\x36\x6e\x96\x58\xa8\x24\x45\xf6\xe7\x9b\x84\x61\x9c\x8c\xa0\x08\x61\x59\x2d\xff\x82\xbb\x7a\xc4\x78\x75\xb7\x05\x87\x62\xa6\xae\x2c\x29\xe8\xdb\x0b\xf1\xc7\x7b\x4a\xd9\x1a\xde\x9f\x79\xac\xdd\x28\xa2\xed\x8d\x1d\x98\x56\x71\x07\x37\x46\x62\xd5\x64\x62\x94\xdd\x11\x87\x39\x8d\x90\x8b\x94\x53\x26\x12\xd1\x77\xc0\xee\x7b\x94\x1a\x87\x9e\x40\xa9\x32\x76\xa9\xe3\x1a\x25\x8e\x3e\xa8\xee\x95\xc7\x94\x43\x25\x80\xd7\x98\x53\xb9\x02\x7c\x32\x33\x1c\xf2\xe2\xe9\xa0\x02\xc4\xde\xe3\xc2\x1a\xb6\x33\xd0\x56\x65\xe5\xad\x59\x34\x2a\x1b\xea\x20\xf1\x22\xaa\x92\xa6\x70\x29\x40\xc6\x47\xaa\x6a\x56\x68\x3a\x55\x55\x7f\x60\x97\x3c\xbd\xe0\xec\xf9\xe1\x2a\x20\x7a\xc0\x3f\xee\xb5\x1b\x7d\x4c\xd6\x1b" +var _workboxV431WorkboxSwJsBr = "\x1b\x30\x05\x00\xc4\x57\x4d\xfd\x3d\xcb\xe4\xbc\x34\x31\xe0\xe9\x62\x24\x93\x0e\x4a\x5d\x4b\xfb\x7f\x72\xa9\x72\x69\x32\x44\xa6\x0a\xfa\xfb\xb9\xd5\x1f\x1a\x92\x48\x91\x10\x89\x91\x2f\x6f\xfa\x86\xb8\x5f\x17\x8d\xa3\xb1\x08\x1e\xc9\x64\x12\x7d\xad\xcf\x86\xb4\x99\xcd\xd6\x70\xe3\xa3\xd5\xe3\x43\xf8\xfd\xc7\xa7\x84\x96\x68\x5a\x4e\x14\x8d\xa6\xdf\x9c\xb2\x58\x07\xde\xec\x8c\xe3\x8f\x93\x6f\x77\x65\x2f\x6d\x1b\xbd\xd3\xd3\x81\x21\xed\xd6\x52\xca\x65\xf4\xe6\x17\x2d\xf5\x98\xa1\x53\xc8\x33\x5a\x38\xd4\x47\xfb\xa5\x30\x09\x42\x1b\x55\x93\xe9\xae\x06\x07\xd6\xe1\x5a\x38\xf8\x21\x31\x3e\x7c\xfc\xee\x26\x0e\x66\xd1\x4a\xf6\x69\x30\x2f\xc4\x58\x8c\x5c\x0e\x58\xe5\x2b\x0e\x96\x13\x63\x83\xd4\xcb\x54\xda\xc1\x38\x59\xa5\x7d\x0f\x3c\x89\xc9\x36\x1a\x13\x0d\x0b\x58\xc6\x11\x18\xe0\x90\x00\x67\x40\x66\x6b\xcf\x21\xce\x66\xcc\x7c\xab\xe6\x23\x30\x57\xf1\x15\x5d\x26\x07\xe3\x44\xb5\xdf\x47\xc1\x04\x4b\xc2\xdb\x72\x37\x77\x78\xc6\xc1\x72\x85\x32\x96\x17\x87\x73\xb2\x4a\xfb\x38\x78\xe0\x14\xee\x0f\x08\x13\x58\x65\x98\x1c\xce\x09\x30\x7a\x98\x85\x20\x72\x28\x8d\xe4\x0c\xbb\xab\xfb\x5d\xf8\xee\xe8\x14\xce\x1a\xa4\x14\x93\xa9\x58\x2e\xcd\x4b\x6a\xdd\xe7\xc2\x14\x51\xae\x55\xe2\x0e\x20\x62\x30\xad\xc3\x7b\x1f\xaa\xac\xae\x98\x0d\x03\x1e\x32\xb6\xc8\x2b\x2e\x46\xa4\xa5\x39\xed\xe1\x1f\x7f\x18\x9b\x42\xf8\x09\xf1\xd1\xe8\x76\x37\x73\x83\x69\xf8\x02\x63\x0a\x71\x0a\x47\xbd\xe8\x0f\xdb\x9c\x66\xe5\xd5\xdc\xfb\xf3\x6b\xec\x70\x9e\x07\x35\xca\x42\x79\x39\x33\xda\x91\x1e\x25\x9e\xd1\xd8\x60\x2f\x17\x7d\xb8\x82\x65\x2f\x9e\x9e\xaa\x15\x80\xf8\xe7\xcb\x85\x86\xc0\x9b\x3d\xce\xb1\x0c\x89\x3d\x2f\x96\x42\x45\x82\xfe\xe5\xe7\xea\xea\x73\x89\x43\xa4\xa4\x43\xba\x48\x71\xc7\x9e\xfc\x2b\xb4\x43\xb8\x85\xf6\x76\x05\x09\xda\x6a\x4f\x14\xed\xe6\x72\x37\x6f\xc5\x94\xb0\xe7\x03\xdc\x34\x04\xd4\x94\x5b\x9f\x1d\x89\xe0\x2e\x86\xc7\x94\x95\x58\x72\x54\xb2\xc0\x8a\x98\xd8\x61\xf0\x53\x5f\x1a\xa5\xf2\x29\xb4\x1f\xfc\xaf\xec\xd2\x81\xf8\x68\x5c\x3c\x88\x88\xdc\x80\xee\x8d\xdb\x90\xa3\xf0\xb0\xdd\xa3\x08\x46\xb4\x21\x9c\x39\x3b\xce\x5a\xce\x3a\x1f\x32\x9a\x04\x07\x76\x48\x2c\xa5\x2c\x4d\x60\xd1\x89\x5a\x19\x4b\x12\xd9\x64\x6d\x31\x81\x33\xe9\x80\x9a\x4d\xd0\x96\xf8\x8e\x8a\x4e\x1b\xc6\x54\xb0\xc7\x99\x27\x5f\x16\xbb\x92\x21\x27\x7f\x05\x80\x49\x32\x26\x49\x03\x2e\x5b\x46\x7c\x52\xf8\xe3\x1a\x44\x9d\x21\xad\x32\x55\xbb\xe7\x4c\x17\xeb\xb3\x49\x30\x36\x03\x6e\x13\x8b\xd2\xd7\x22\xc5\xf4\x2a\xf7\xfe\xa3\x94\x62\xa8\x39\xa8\xeb\xa3\x21\xa5\x60\x7c\x7d\xad\xff\xef\x8f\x1e\x40\x11\xf9\xf6\x13\x3c\xd7\xb6\xa3\xfd\x01" -func workboxV363WorkboxSwJsBrBytes() ([]byte, error) { +func workboxV431WorkboxSwJsBrBytes() ([]byte, error) { return bindataRead( - _workboxV363WorkboxSwJsBr, - "workbox-v3.6.3/workbox-sw.js.br", + _workboxV431WorkboxSwJsBr, + "workbox-v4.3.1/workbox-sw.js.br", ) } -func workboxV363WorkboxSwJsBr() (*asset, error) { - bytes, err := workboxV363WorkboxSwJsBrBytes() +func workboxV431WorkboxSwJsBr() (*asset, error) { + bytes, err := workboxV431WorkboxSwJsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "workbox-v3.6.3/workbox-sw.js.br", size: 670, mode: os.FileMode(420), modTime: time.Unix(1549614484, 0)} + info := bindataFileInfo{name: "workbox-v4.3.1/workbox-sw.js.br", size: 627, mode: os.FileMode(420), modTime: time.Unix(1560038421, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _workboxV431WorkboxWindowDevEs5Mjs = "\x74\x72\x79\x20\x7b\x0a\x20\x20\x73\x65\x6c\x66\x5b\x27\x77\x6f\x72\x6b\x62\x6f\x78\x3a\x77\x69\x6e\x64\x6f\x77\x3a\x34\x2e\x33\x2e\x31\x27\x5d\x20\x26\x26\x20\x5f\x28\x29\x3b\x0a\x7d\x20\x63\x61\x74\x63\x68\x20\x28\x65\x29\x20\x7b\x7d\x20\x2f\x2f\x20\x65\x73\x6c\x69\x6e\x74\x2d\x64\x69\x73\x61\x62\x6c\x65\x2d\x6c\x69\x6e\x65\x0a\x0a\x2f\x2a\x0a\x20\x20\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x39\x20\x47\x6f\x6f\x67\x6c\x65\x20\x4c\x4c\x43\x0a\x0a\x20\x20\x55\x73\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x73\x6f\x75\x72\x63\x65\x20\x63\x6f\x64\x65\x20\x69\x73\x20\x67\x6f\x76\x65\x72\x6e\x65\x64\x20\x62\x79\x20\x61\x6e\x20\x4d\x49\x54\x2d\x73\x74\x79\x6c\x65\x0a\x20\x20\x6c\x69\x63\x65\x6e\x73\x65\x20\x74\x68\x61\x74\x20\x63\x61\x6e\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x4c\x49\x43\x45\x4e\x53\x45\x20\x66\x69\x6c\x65\x20\x6f\x72\x20\x61\x74\x0a\x20\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6f\x70\x65\x6e\x73\x6f\x75\x72\x63\x65\x2e\x6f\x72\x67\x2f\x6c\x69\x63\x65\x6e\x73\x65\x73\x2f\x4d\x49\x54\x2e\x0a\x2a\x2f\x0a\x2f\x2a\x2a\x0a\x20\x2a\x20\x53\x65\x6e\x64\x73\x20\x61\x20\x64\x61\x74\x61\x20\x6f\x62\x6a\x65\x63\x74\x20\x74\x6f\x20\x61\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x76\x69\x61\x20\x60\x70\x6f\x73\x74\x4d\x65\x73\x73\x61\x67\x65\x60\x20\x61\x6e\x64\x20\x72\x65\x73\x6f\x6c\x76\x65\x73\x20\x77\x69\x74\x68\x0a\x20\x2a\x20\x61\x20\x72\x65\x73\x70\x6f\x6e\x73\x65\x20\x28\x69\x66\x20\x61\x6e\x79\x29\x2e\x0a\x20\x2a\x0a\x20\x2a\x20\x41\x20\x72\x65\x73\x70\x6f\x6e\x73\x65\x20\x63\x61\x6e\x20\x62\x65\x20\x73\x65\x74\x20\x69\x6e\x20\x61\x20\x6d\x65\x73\x73\x61\x67\x65\x20\x68\x61\x6e\x64\x6c\x65\x72\x20\x69\x6e\x20\x74\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x62\x79\x0a\x20\x2a\x20\x63\x61\x6c\x6c\x69\x6e\x67\x20\x60\x65\x76\x65\x6e\x74\x2e\x70\x6f\x72\x74\x73\x5b\x30\x5d\x2e\x70\x6f\x73\x74\x4d\x65\x73\x73\x61\x67\x65\x28\x2e\x2e\x2e\x29\x60\x2c\x20\x77\x68\x69\x63\x68\x20\x77\x69\x6c\x6c\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x74\x68\x65\x20\x70\x72\x6f\x6d\x69\x73\x65\x0a\x20\x2a\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x20\x62\x79\x20\x60\x6d\x65\x73\x73\x61\x67\x65\x53\x57\x28\x29\x60\x2e\x20\x49\x66\x20\x6e\x6f\x20\x72\x65\x73\x70\x6f\x6e\x73\x65\x20\x69\x73\x20\x73\x65\x74\x2c\x20\x74\x68\x65\x20\x70\x72\x6f\x6d\x69\x73\x65\x20\x77\x69\x6c\x6c\x20\x6e\x6f\x74\x0a\x20\x2a\x20\x72\x65\x73\x6f\x6c\x76\x65\x2e\x0a\x20\x2a\x0a\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x53\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x7d\x20\x73\x77\x20\x54\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x74\x6f\x20\x73\x65\x6e\x64\x20\x74\x68\x65\x20\x6d\x65\x73\x73\x61\x67\x65\x20\x74\x6f\x2e\x0a\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x4f\x62\x6a\x65\x63\x74\x7d\x20\x64\x61\x74\x61\x20\x41\x6e\x20\x6f\x62\x6a\x65\x63\x74\x20\x74\x6f\x20\x73\x65\x6e\x64\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x2e\x0a\x20\x2a\x20\x40\x72\x65\x74\x75\x72\x6e\x20\x7b\x50\x72\x6f\x6d\x69\x73\x65\x3c\x4f\x62\x6a\x65\x63\x74\x7c\x75\x6e\x64\x65\x66\x69\x6e\x65\x64\x3e\x7d\x0a\x20\x2a\x0a\x20\x2a\x20\x40\x6d\x65\x6d\x62\x65\x72\x6f\x66\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x0a\x20\x2a\x2f\x0a\x0a\x76\x61\x72\x20\x6d\x65\x73\x73\x61\x67\x65\x53\x57\x20\x3d\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x6d\x65\x73\x73\x61\x67\x65\x53\x57\x28\x73\x77\x2c\x20\x64\x61\x74\x61\x29\x20\x7b\x0a\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x6e\x65\x77\x20\x50\x72\x6f\x6d\x69\x73\x65\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x72\x65\x73\x6f\x6c\x76\x65\x29\x20\x7b\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x6d\x65\x73\x73\x61\x67\x65\x43\x68\x61\x6e\x6e\x65\x6c\x20\x3d\x20\x6e\x65\x77\x20\x4d\x65\x73\x73\x61\x67\x65\x43\x68\x61\x6e\x6e\x65\x6c\x28\x29\x3b\x0a\x0a\x20\x20\x20\x20\x6d\x65\x73\x73\x61\x67\x65\x43\x68\x61\x6e\x6e\x65\x6c\x2e\x70\x6f\x72\x74\x31\x2e\x6f\x6e\x6d\x65\x73\x73\x61\x67\x65\x20\x3d\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x65\x76\x74\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x72\x65\x73\x6f\x6c\x76\x65\x28\x65\x76\x74\x2e\x64\x61\x74\x61\x29\x3b\x0a\x20\x20\x20\x20\x7d\x3b\x0a\x0a\x20\x20\x20\x20\x73\x77\x2e\x70\x6f\x73\x74\x4d\x65\x73\x73\x61\x67\x65\x28\x64\x61\x74\x61\x2c\x20\x5b\x6d\x65\x73\x73\x61\x67\x65\x43\x68\x61\x6e\x6e\x65\x6c\x2e\x70\x6f\x72\x74\x32\x5d\x29\x3b\x0a\x20\x20\x7d\x29\x3b\x0a\x7d\x3b\x0a\x0a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x5f\x64\x65\x66\x69\x6e\x65\x50\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x28\x74\x61\x72\x67\x65\x74\x2c\x20\x70\x72\x6f\x70\x73\x29\x20\x7b\x0a\x20\x20\x66\x6f\x72\x20\x28\x76\x61\x72\x20\x69\x20\x3d\x20\x30\x3b\x20\x69\x20\x3c\x20\x70\x72\x6f\x70\x73\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x20\x69\x2b\x2b\x29\x20\x7b\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x64\x65\x73\x63\x72\x69\x70\x74\x6f\x72\x20\x3d\x20\x70\x72\x6f\x70\x73\x5b\x69\x5d\x3b\x0a\x20\x20\x20\x20\x64\x65\x73\x63\x72\x69\x70\x74\x6f\x72\x2e\x65\x6e\x75\x6d\x65\x72\x61\x62\x6c\x65\x20\x3d\x20\x64\x65\x73\x63\x72\x69\x70\x74\x6f\x72\x2e\x65\x6e\x75\x6d\x65\x72\x61\x62\x6c\x65\x20\x7c\x7c\x20\x66\x61\x6c\x73\x65\x3b\x0a\x20\x20\x20\x20\x64\x65\x73\x63\x72\x69\x70\x74\x6f\x72\x2e\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x62\x6c\x65\x20\x3d\x20\x74\x72\x75\x65\x3b\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x22\x76\x61\x6c\x75\x65\x22\x20\x69\x6e\x20\x64\x65\x73\x63\x72\x69\x70\x74\x6f\x72\x29\x20\x64\x65\x73\x63\x72\x69\x70\x74\x6f\x72\x2e\x77\x72\x69\x74\x61\x62\x6c\x65\x20\x3d\x20\x74\x72\x75\x65\x3b\x0a\x20\x20\x20\x20\x4f\x62\x6a\x65\x63\x74\x2e\x64\x65\x66\x69\x6e\x65\x50\x72\x6f\x70\x65\x72\x74\x79\x28\x74\x61\x72\x67\x65\x74\x2c\x20\x64\x65\x73\x63\x72\x69\x70\x74\x6f\x72\x2e\x6b\x65\x79\x2c\x20\x64\x65\x73\x63\x72\x69\x70\x74\x6f\x72\x29\x3b\x0a\x20\x20\x7d\x0a\x7d\x0a\x0a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x5f\x63\x72\x65\x61\x74\x65\x43\x6c\x61\x73\x73\x28\x43\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x2c\x20\x70\x72\x6f\x74\x6f\x50\x72\x6f\x70\x73\x2c\x20\x73\x74\x61\x74\x69\x63\x50\x72\x6f\x70\x73\x29\x20\x7b\x0a\x20\x20\x69\x66\x20\x28\x70\x72\x6f\x74\x6f\x50\x72\x6f\x70\x73\x29\x20\x5f\x64\x65\x66\x69\x6e\x65\x50\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x28\x43\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x2e\x70\x72\x6f\x74\x6f\x74\x79\x70\x65\x2c\x20\x70\x72\x6f\x74\x6f\x50\x72\x6f\x70\x73\x29\x3b\x0a\x20\x20\x69\x66\x20\x28\x73\x74\x61\x74\x69\x63\x50\x72\x6f\x70\x73\x29\x20\x5f\x64\x65\x66\x69\x6e\x65\x50\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x28\x43\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x2c\x20\x73\x74\x61\x74\x69\x63\x50\x72\x6f\x70\x73\x29\x3b\x0a\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x43\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x3b\x0a\x7d\x0a\x0a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x5f\x69\x6e\x68\x65\x72\x69\x74\x73\x4c\x6f\x6f\x73\x65\x28\x73\x75\x62\x43\x6c\x61\x73\x73\x2c\x20\x73\x75\x70\x65\x72\x43\x6c\x61\x73\x73\x29\x20\x7b\x0a\x20\x20\x73\x75\x62\x43\x6c\x61\x73\x73\x2e\x70\x72\x6f\x74\x6f\x74\x79\x70\x65\x20\x3d\x20\x4f\x62\x6a\x65\x63\x74\x2e\x63\x72\x65\x61\x74\x65\x28\x73\x75\x70\x65\x72\x43\x6c\x61\x73\x73\x2e\x70\x72\x6f\x74\x6f\x74\x79\x70\x65\x29\x3b\x0a\x20\x20\x73\x75\x62\x43\x6c\x61\x73\x73\x2e\x70\x72\x6f\x74\x6f\x74\x79\x70\x65\x2e\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x20\x3d\x20\x73\x75\x62\x43\x6c\x61\x73\x73\x3b\x0a\x20\x20\x73\x75\x62\x43\x6c\x61\x73\x73\x2e\x5f\x5f\x70\x72\x6f\x74\x6f\x5f\x5f\x20\x3d\x20\x73\x75\x70\x65\x72\x43\x6c\x61\x73\x73\x3b\x0a\x7d\x0a\x0a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x5f\x61\x73\x73\x65\x72\x74\x54\x68\x69\x73\x49\x6e\x69\x74\x69\x61\x6c\x69\x7a\x65\x64\x28\x73\x65\x6c\x66\x29\x20\x7b\x0a\x20\x20\x69\x66\x20\x28\x73\x65\x6c\x66\x20\x3d\x3d\x3d\x20\x76\x6f\x69\x64\x20\x30\x29\x20\x7b\x0a\x20\x20\x20\x20\x74\x68\x72\x6f\x77\x20\x6e\x65\x77\x20\x52\x65\x66\x65\x72\x65\x6e\x63\x65\x45\x72\x72\x6f\x72\x28\x22\x74\x68\x69\x73\x20\x68\x61\x73\x6e\x27\x74\x20\x62\x65\x65\x6e\x20\x69\x6e\x69\x74\x69\x61\x6c\x69\x73\x65\x64\x20\x2d\x20\x73\x75\x70\x65\x72\x28\x29\x20\x68\x61\x73\x6e\x27\x74\x20\x62\x65\x65\x6e\x20\x63\x61\x6c\x6c\x65\x64\x22\x29\x3b\x0a\x20\x20\x7d\x0a\x0a\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x73\x65\x6c\x66\x3b\x0a\x7d\x0a\x0a\x74\x72\x79\x20\x7b\x0a\x20\x20\x73\x65\x6c\x66\x5b\x27\x77\x6f\x72\x6b\x62\x6f\x78\x3a\x63\x6f\x72\x65\x3a\x34\x2e\x33\x2e\x31\x27\x5d\x20\x26\x26\x20\x5f\x28\x29\x3b\x0a\x7d\x20\x63\x61\x74\x63\x68\x20\x28\x65\x29\x20\x7b\x7d\x20\x2f\x2f\x20\x65\x73\x6c\x69\x6e\x74\x2d\x64\x69\x73\x61\x62\x6c\x65\x2d\x6c\x69\x6e\x65\x0a\x0a\x2f\x2a\x0a\x20\x20\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x38\x20\x47\x6f\x6f\x67\x6c\x65\x20\x4c\x4c\x43\x0a\x0a\x20\x20\x55\x73\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x73\x6f\x75\x72\x63\x65\x20\x63\x6f\x64\x65\x20\x69\x73\x20\x67\x6f\x76\x65\x72\x6e\x65\x64\x20\x62\x79\x20\x61\x6e\x20\x4d\x49\x54\x2d\x73\x74\x79\x6c\x65\x0a\x20\x20\x6c\x69\x63\x65\x6e\x73\x65\x20\x74\x68\x61\x74\x20\x63\x61\x6e\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x4c\x49\x43\x45\x4e\x53\x45\x20\x66\x69\x6c\x65\x20\x6f\x72\x20\x61\x74\x0a\x20\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6f\x70\x65\x6e\x73\x6f\x75\x72\x63\x65\x2e\x6f\x72\x67\x2f\x6c\x69\x63\x65\x6e\x73\x65\x73\x2f\x4d\x49\x54\x2e\x0a\x2a\x2f\x0a\x2f\x2a\x2a\x0a\x20\x2a\x20\x54\x68\x65\x20\x44\x65\x66\x65\x72\x72\x65\x64\x20\x63\x6c\x61\x73\x73\x20\x63\x6f\x6d\x70\x6f\x73\x65\x73\x20\x50\x72\x6f\x6d\x69\x73\x65\x73\x20\x69\x6e\x20\x61\x20\x77\x61\x79\x20\x74\x68\x61\x74\x20\x61\x6c\x6c\x6f\x77\x73\x20\x66\x6f\x72\x20\x74\x68\x65\x6d\x20\x74\x6f\x20\x62\x65\x0a\x20\x2a\x20\x72\x65\x73\x6f\x6c\x76\x65\x64\x20\x6f\x72\x20\x72\x65\x6a\x65\x63\x74\x65\x64\x20\x66\x72\x6f\x6d\x20\x6f\x75\x74\x73\x69\x64\x65\x20\x74\x68\x65\x20\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x2e\x20\x49\x6e\x20\x6d\x6f\x73\x74\x20\x63\x61\x73\x65\x73\x20\x70\x72\x6f\x6d\x69\x73\x65\x73\x0a\x20\x2a\x20\x73\x68\x6f\x75\x6c\x64\x20\x62\x65\x20\x75\x73\x65\x64\x20\x64\x69\x72\x65\x63\x74\x6c\x79\x2c\x20\x62\x75\x74\x20\x44\x65\x66\x65\x72\x72\x65\x64\x73\x20\x63\x61\x6e\x20\x62\x65\x20\x6e\x65\x63\x65\x73\x73\x61\x72\x79\x20\x77\x68\x65\x6e\x20\x74\x68\x65\x20\x6c\x6f\x67\x69\x63\x20\x74\x6f\x0a\x20\x2a\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x61\x20\x70\x72\x6f\x6d\x69\x73\x65\x20\x6d\x75\x73\x74\x20\x62\x65\x20\x73\x65\x70\x61\x72\x61\x74\x65\x2e\x0a\x20\x2a\x0a\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x2a\x2f\x0a\x0a\x76\x61\x72\x20\x44\x65\x66\x65\x72\x72\x65\x64\x20\x3d\x0a\x2f\x2a\x2a\x0a\x20\x2a\x20\x43\x72\x65\x61\x74\x65\x73\x20\x61\x20\x70\x72\x6f\x6d\x69\x73\x65\x20\x61\x6e\x64\x20\x65\x78\x70\x6f\x73\x65\x73\x20\x69\x74\x73\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x61\x6e\x64\x20\x72\x65\x6a\x65\x63\x74\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x73\x20\x61\x73\x20\x6d\x65\x74\x68\x6f\x64\x73\x2e\x0a\x20\x2a\x2f\x0a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x44\x65\x66\x65\x72\x72\x65\x64\x28\x29\x20\x7b\x0a\x20\x20\x76\x61\x72\x20\x5f\x74\x68\x69\x73\x20\x3d\x20\x74\x68\x69\x73\x3b\x0a\x0a\x20\x20\x74\x68\x69\x73\x2e\x70\x72\x6f\x6d\x69\x73\x65\x20\x3d\x20\x6e\x65\x77\x20\x50\x72\x6f\x6d\x69\x73\x65\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x72\x65\x73\x6f\x6c\x76\x65\x2c\x20\x72\x65\x6a\x65\x63\x74\x29\x20\x7b\x0a\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x2e\x72\x65\x73\x6f\x6c\x76\x65\x20\x3d\x20\x72\x65\x73\x6f\x6c\x76\x65\x3b\x0a\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x2e\x72\x65\x6a\x65\x63\x74\x20\x3d\x20\x72\x65\x6a\x65\x63\x74\x3b\x0a\x20\x20\x7d\x29\x3b\x0a\x7d\x3b\x0a\x0a\x2f\x2a\x0a\x20\x20\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x39\x20\x47\x6f\x6f\x67\x6c\x65\x20\x4c\x4c\x43\x0a\x20\x20\x55\x73\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x73\x6f\x75\x72\x63\x65\x20\x63\x6f\x64\x65\x20\x69\x73\x20\x67\x6f\x76\x65\x72\x6e\x65\x64\x20\x62\x79\x20\x61\x6e\x20\x4d\x49\x54\x2d\x73\x74\x79\x6c\x65\x0a\x20\x20\x6c\x69\x63\x65\x6e\x73\x65\x20\x74\x68\x61\x74\x20\x63\x61\x6e\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x4c\x49\x43\x45\x4e\x53\x45\x20\x66\x69\x6c\x65\x20\x6f\x72\x20\x61\x74\x0a\x20\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6f\x70\x65\x6e\x73\x6f\x75\x72\x63\x65\x2e\x6f\x72\x67\x2f\x6c\x69\x63\x65\x6e\x73\x65\x73\x2f\x4d\x49\x54\x2e\x0a\x2a\x2f\x0a\x76\x61\x72\x20\x6c\x6f\x67\x67\x65\x72\x20\x3d\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x29\x20\x7b\x0a\x20\x20\x76\x61\x72\x20\x69\x6e\x47\x72\x6f\x75\x70\x20\x3d\x20\x66\x61\x6c\x73\x65\x3b\x0a\x20\x20\x76\x61\x72\x20\x6d\x65\x74\x68\x6f\x64\x54\x6f\x43\x6f\x6c\x6f\x72\x4d\x61\x70\x20\x3d\x20\x7b\x0a\x20\x20\x20\x20\x64\x65\x62\x75\x67\x3a\x20\x22\x23\x37\x66\x38\x63\x38\x64\x22\x2c\x0a\x20\x20\x20\x20\x2f\x2f\x20\x47\x72\x61\x79\x0a\x20\x20\x20\x20\x6c\x6f\x67\x3a\x20\x22\x23\x32\x65\x63\x63\x37\x31\x22\x2c\x0a\x20\x20\x20\x20\x2f\x2f\x20\x47\x72\x65\x65\x6e\x0a\x20\x20\x20\x20\x77\x61\x72\x6e\x3a\x20\x22\x23\x66\x33\x39\x63\x31\x32\x22\x2c\x0a\x20\x20\x20\x20\x2f\x2f\x20\x59\x65\x6c\x6c\x6f\x77\x0a\x20\x20\x20\x20\x65\x72\x72\x6f\x72\x3a\x20\x22\x23\x63\x30\x33\x39\x32\x62\x22\x2c\x0a\x20\x20\x20\x20\x2f\x2f\x20\x52\x65\x64\x0a\x20\x20\x20\x20\x67\x72\x6f\x75\x70\x43\x6f\x6c\x6c\x61\x70\x73\x65\x64\x3a\x20\x22\x23\x33\x34\x39\x38\x64\x62\x22\x2c\x0a\x20\x20\x20\x20\x2f\x2f\x20\x42\x6c\x75\x65\x0a\x20\x20\x20\x20\x67\x72\x6f\x75\x70\x45\x6e\x64\x3a\x20\x6e\x75\x6c\x6c\x20\x2f\x2f\x20\x4e\x6f\x20\x63\x6f\x6c\x6f\x72\x65\x64\x20\x70\x72\x65\x66\x69\x78\x20\x6f\x6e\x20\x67\x72\x6f\x75\x70\x45\x6e\x64\x0a\x0a\x20\x20\x7d\x3b\x0a\x0a\x20\x20\x76\x61\x72\x20\x70\x72\x69\x6e\x74\x20\x3d\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x70\x72\x69\x6e\x74\x28\x6d\x65\x74\x68\x6f\x64\x2c\x20\x61\x72\x67\x73\x29\x20\x7b\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x5f\x63\x6f\x6e\x73\x6f\x6c\x65\x32\x3b\x0a\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x6d\x65\x74\x68\x6f\x64\x20\x3d\x3d\x3d\x20\x27\x67\x72\x6f\x75\x70\x43\x6f\x6c\x6c\x61\x70\x73\x65\x64\x27\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x53\x61\x66\x61\x72\x69\x20\x64\x6f\x65\x73\x6e\x27\x74\x20\x70\x72\x69\x6e\x74\x20\x61\x6c\x6c\x20\x63\x6f\x6e\x73\x6f\x6c\x65\x2e\x67\x72\x6f\x75\x70\x43\x6f\x6c\x6c\x61\x70\x73\x65\x64\x28\x29\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x3a\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x62\x75\x67\x73\x2e\x77\x65\x62\x6b\x69\x74\x2e\x6f\x72\x67\x2f\x73\x68\x6f\x77\x5f\x62\x75\x67\x2e\x63\x67\x69\x3f\x69\x64\x3d\x31\x38\x32\x37\x35\x34\x0a\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x2f\x5e\x28\x28\x3f\x21\x63\x68\x72\x6f\x6d\x65\x7c\x61\x6e\x64\x72\x6f\x69\x64\x29\x2e\x29\x2a\x73\x61\x66\x61\x72\x69\x2f\x69\x2e\x74\x65\x73\x74\x28\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x75\x73\x65\x72\x41\x67\x65\x6e\x74\x29\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x72\x20\x5f\x63\x6f\x6e\x73\x6f\x6c\x65\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x28\x5f\x63\x6f\x6e\x73\x6f\x6c\x65\x20\x3d\x20\x63\x6f\x6e\x73\x6f\x6c\x65\x29\x5b\x6d\x65\x74\x68\x6f\x64\x5d\x2e\x61\x70\x70\x6c\x79\x28\x5f\x63\x6f\x6e\x73\x6f\x6c\x65\x2c\x20\x61\x72\x67\x73\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x73\x74\x79\x6c\x65\x73\x20\x3d\x20\x5b\x22\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3a\x20\x22\x20\x2b\x20\x6d\x65\x74\x68\x6f\x64\x54\x6f\x43\x6f\x6c\x6f\x72\x4d\x61\x70\x5b\x6d\x65\x74\x68\x6f\x64\x5d\x2c\x20\x22\x62\x6f\x72\x64\x65\x72\x2d\x72\x61\x64\x69\x75\x73\x3a\x20\x30\x2e\x35\x65\x6d\x22\x2c\x20\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x77\x68\x69\x74\x65\x22\x2c\x20\x22\x66\x6f\x6e\x74\x2d\x77\x65\x69\x67\x68\x74\x3a\x20\x62\x6f\x6c\x64\x22\x2c\x20\x22\x70\x61\x64\x64\x69\x6e\x67\x3a\x20\x32\x70\x78\x20\x30\x2e\x35\x65\x6d\x22\x5d\x3b\x20\x2f\x2f\x20\x57\x68\x65\x6e\x20\x69\x6e\x20\x61\x20\x67\x72\x6f\x75\x70\x2c\x20\x74\x68\x65\x20\x77\x6f\x72\x6b\x62\x6f\x78\x20\x70\x72\x65\x66\x69\x78\x20\x69\x73\x20\x6e\x6f\x74\x20\x64\x69\x73\x70\x6c\x61\x79\x65\x64\x2e\x0a\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x6c\x6f\x67\x50\x72\x65\x66\x69\x78\x20\x3d\x20\x69\x6e\x47\x72\x6f\x75\x70\x20\x3f\x20\x5b\x5d\x20\x3a\x20\x5b\x27\x25\x63\x77\x6f\x72\x6b\x62\x6f\x78\x27\x2c\x20\x73\x74\x79\x6c\x65\x73\x2e\x6a\x6f\x69\x6e\x28\x27\x3b\x27\x29\x5d\x3b\x0a\x0a\x20\x20\x20\x20\x28\x5f\x63\x6f\x6e\x73\x6f\x6c\x65\x32\x20\x3d\x20\x63\x6f\x6e\x73\x6f\x6c\x65\x29\x5b\x6d\x65\x74\x68\x6f\x64\x5d\x2e\x61\x70\x70\x6c\x79\x28\x5f\x63\x6f\x6e\x73\x6f\x6c\x65\x32\x2c\x20\x6c\x6f\x67\x50\x72\x65\x66\x69\x78\x2e\x63\x6f\x6e\x63\x61\x74\x28\x61\x72\x67\x73\x29\x29\x3b\x0a\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x6d\x65\x74\x68\x6f\x64\x20\x3d\x3d\x3d\x20\x27\x67\x72\x6f\x75\x70\x43\x6f\x6c\x6c\x61\x70\x73\x65\x64\x27\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x69\x6e\x47\x72\x6f\x75\x70\x20\x3d\x20\x74\x72\x75\x65\x3b\x0a\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x6d\x65\x74\x68\x6f\x64\x20\x3d\x3d\x3d\x20\x27\x67\x72\x6f\x75\x70\x45\x6e\x64\x27\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x69\x6e\x47\x72\x6f\x75\x70\x20\x3d\x20\x66\x61\x6c\x73\x65\x3b\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x7d\x3b\x0a\x0a\x20\x20\x76\x61\x72\x20\x61\x70\x69\x20\x3d\x20\x7b\x7d\x3b\x0a\x0a\x20\x20\x76\x61\x72\x20\x5f\x61\x72\x72\x20\x3d\x20\x4f\x62\x6a\x65\x63\x74\x2e\x6b\x65\x79\x73\x28\x6d\x65\x74\x68\x6f\x64\x54\x6f\x43\x6f\x6c\x6f\x72\x4d\x61\x70\x29\x3b\x0a\x0a\x20\x20\x76\x61\x72\x20\x5f\x6c\x6f\x6f\x70\x20\x3d\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x5f\x6c\x6f\x6f\x70\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x6d\x65\x74\x68\x6f\x64\x20\x3d\x20\x5f\x61\x72\x72\x5b\x5f\x69\x5d\x3b\x0a\x0a\x20\x20\x20\x20\x61\x70\x69\x5b\x6d\x65\x74\x68\x6f\x64\x5d\x20\x3d\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x66\x6f\x72\x20\x28\x76\x61\x72\x20\x5f\x6c\x65\x6e\x20\x3d\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x20\x61\x72\x67\x73\x20\x3d\x20\x6e\x65\x77\x20\x41\x72\x72\x61\x79\x28\x5f\x6c\x65\x6e\x29\x2c\x20\x5f\x6b\x65\x79\x20\x3d\x20\x30\x3b\x20\x5f\x6b\x65\x79\x20\x3c\x20\x5f\x6c\x65\x6e\x3b\x20\x5f\x6b\x65\x79\x2b\x2b\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x72\x67\x73\x5b\x5f\x6b\x65\x79\x5d\x20\x3d\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x5b\x5f\x6b\x65\x79\x5d\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x20\x20\x70\x72\x69\x6e\x74\x28\x6d\x65\x74\x68\x6f\x64\x2c\x20\x61\x72\x67\x73\x29\x3b\x0a\x20\x20\x20\x20\x7d\x3b\x0a\x20\x20\x7d\x3b\x0a\x0a\x20\x20\x66\x6f\x72\x20\x28\x76\x61\x72\x20\x5f\x69\x20\x3d\x20\x30\x3b\x20\x5f\x69\x20\x3c\x20\x5f\x61\x72\x72\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x20\x5f\x69\x2b\x2b\x29\x20\x7b\x0a\x20\x20\x20\x20\x5f\x6c\x6f\x6f\x70\x28\x29\x3b\x0a\x20\x20\x7d\x0a\x0a\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x61\x70\x69\x3b\x0a\x7d\x28\x29\x3b\x0a\x0a\x2f\x2a\x0a\x20\x20\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x39\x20\x47\x6f\x6f\x67\x6c\x65\x20\x4c\x4c\x43\x0a\x0a\x20\x20\x55\x73\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x73\x6f\x75\x72\x63\x65\x20\x63\x6f\x64\x65\x20\x69\x73\x20\x67\x6f\x76\x65\x72\x6e\x65\x64\x20\x62\x79\x20\x61\x6e\x20\x4d\x49\x54\x2d\x73\x74\x79\x6c\x65\x0a\x20\x20\x6c\x69\x63\x65\x6e\x73\x65\x20\x74\x68\x61\x74\x20\x63\x61\x6e\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x4c\x49\x43\x45\x4e\x53\x45\x20\x66\x69\x6c\x65\x20\x6f\x72\x20\x61\x74\x0a\x20\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6f\x70\x65\x6e\x73\x6f\x75\x72\x63\x65\x2e\x6f\x72\x67\x2f\x6c\x69\x63\x65\x6e\x73\x65\x73\x2f\x4d\x49\x54\x2e\x0a\x2a\x2f\x0a\x2f\x2a\x2a\x0a\x20\x2a\x20\x41\x20\x6d\x69\x6e\x69\x6d\x61\x6c\x20\x60\x45\x76\x65\x6e\x74\x54\x61\x72\x67\x65\x74\x60\x20\x73\x68\x69\x6d\x2e\x0a\x20\x2a\x20\x54\x68\x69\x73\x20\x69\x73\x20\x6e\x65\x63\x65\x73\x73\x61\x72\x79\x20\x62\x65\x63\x61\x75\x73\x65\x20\x6e\x6f\x74\x20\x61\x6c\x6c\x20\x62\x72\x6f\x77\x73\x65\x72\x73\x20\x73\x75\x70\x70\x6f\x72\x74\x20\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x61\x62\x6c\x65\x0a\x20\x2a\x20\x60\x45\x76\x65\x6e\x74\x54\x61\x72\x67\x65\x74\x60\x2c\x20\x73\x6f\x20\x75\x73\x69\x6e\x67\x20\x61\x20\x72\x65\x61\x6c\x20\x60\x45\x76\x65\x6e\x74\x54\x61\x72\x67\x65\x74\x60\x20\x77\x69\x6c\x6c\x20\x65\x72\x72\x6f\x72\x2e\x0a\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x2a\x2f\x0a\x0a\x76\x61\x72\x20\x45\x76\x65\x6e\x74\x54\x61\x72\x67\x65\x74\x53\x68\x69\x6d\x20\x3d\x0a\x2f\x2a\x23\x5f\x5f\x50\x55\x52\x45\x5f\x5f\x2a\x2f\x0a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x29\x20\x7b\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x43\x72\x65\x61\x74\x65\x73\x20\x61\x6e\x20\x65\x76\x65\x6e\x74\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x20\x72\x65\x67\x69\x73\x74\x72\x79\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x2f\x0a\x20\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x45\x76\x65\x6e\x74\x54\x61\x72\x67\x65\x74\x53\x68\x69\x6d\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x2f\x2f\x20\x41\x20\x72\x65\x67\x69\x73\x74\x72\x79\x20\x6f\x66\x20\x65\x76\x65\x6e\x74\x20\x74\x79\x70\x65\x73\x20\x74\x6f\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x73\x2e\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x65\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x52\x65\x67\x69\x73\x74\x72\x79\x20\x3d\x20\x7b\x7d\x3b\x0a\x20\x20\x7d\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x73\x74\x72\x69\x6e\x67\x7d\x20\x74\x79\x70\x65\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x46\x75\x6e\x63\x74\x69\x6f\x6e\x7d\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x76\x61\x72\x20\x5f\x70\x72\x6f\x74\x6f\x20\x3d\x20\x45\x76\x65\x6e\x74\x54\x61\x72\x67\x65\x74\x53\x68\x69\x6d\x2e\x70\x72\x6f\x74\x6f\x74\x79\x70\x65\x3b\x0a\x0a\x20\x20\x5f\x70\x72\x6f\x74\x6f\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x20\x3d\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x74\x79\x70\x65\x2c\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x29\x20\x7b\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x67\x65\x74\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x73\x42\x79\x54\x79\x70\x65\x28\x74\x79\x70\x65\x29\x2e\x61\x64\x64\x28\x6c\x69\x73\x74\x65\x6e\x65\x72\x29\x3b\x0a\x20\x20\x7d\x3b\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x73\x74\x72\x69\x6e\x67\x7d\x20\x74\x79\x70\x65\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x46\x75\x6e\x63\x74\x69\x6f\x6e\x7d\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x5f\x70\x72\x6f\x74\x6f\x2e\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x20\x3d\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x74\x79\x70\x65\x2c\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x29\x20\x7b\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x67\x65\x74\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x73\x42\x79\x54\x79\x70\x65\x28\x74\x79\x70\x65\x29\x2e\x64\x65\x6c\x65\x74\x65\x28\x6c\x69\x73\x74\x65\x6e\x65\x72\x29\x3b\x0a\x20\x20\x7d\x3b\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x45\x76\x65\x6e\x74\x7d\x20\x65\x76\x65\x6e\x74\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x5f\x70\x72\x6f\x74\x6f\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x20\x3d\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x65\x76\x65\x6e\x74\x29\x20\x7b\x0a\x20\x20\x20\x20\x65\x76\x65\x6e\x74\x2e\x74\x61\x72\x67\x65\x74\x20\x3d\x20\x74\x68\x69\x73\x3b\x0a\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x67\x65\x74\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x73\x42\x79\x54\x79\x70\x65\x28\x65\x76\x65\x6e\x74\x2e\x74\x79\x70\x65\x29\x2e\x66\x6f\x72\x45\x61\x63\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x6c\x69\x73\x74\x65\x6e\x65\x72\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x28\x65\x76\x65\x6e\x74\x29\x3b\x0a\x20\x20\x20\x20\x7d\x29\x3b\x0a\x20\x20\x7d\x3b\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x52\x65\x74\x75\x72\x6e\x73\x20\x61\x20\x53\x65\x74\x20\x6f\x66\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x73\x20\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x64\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x70\x61\x73\x73\x65\x64\x20\x65\x76\x65\x6e\x74\x20\x74\x79\x70\x65\x2e\x0a\x20\x20\x20\x2a\x20\x49\x66\x20\x6e\x6f\x20\x68\x61\x6e\x64\x6c\x65\x72\x73\x20\x68\x61\x76\x65\x20\x62\x65\x65\x6e\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x2c\x20\x61\x6e\x20\x65\x6d\x70\x74\x79\x20\x53\x65\x74\x20\x69\x73\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x2e\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x73\x74\x72\x69\x6e\x67\x7d\x20\x74\x79\x70\x65\x20\x54\x68\x65\x20\x65\x76\x65\x6e\x74\x20\x74\x79\x70\x65\x2e\x0a\x20\x20\x20\x2a\x20\x40\x72\x65\x74\x75\x72\x6e\x20\x7b\x53\x65\x74\x7d\x20\x41\x6e\x20\x61\x72\x72\x61\x79\x20\x6f\x66\x20\x68\x61\x6e\x64\x6c\x65\x72\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x73\x2e\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x5f\x70\x72\x6f\x74\x6f\x2e\x5f\x67\x65\x74\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x73\x42\x79\x54\x79\x70\x65\x20\x3d\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x5f\x67\x65\x74\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x73\x42\x79\x54\x79\x70\x65\x28\x74\x79\x70\x65\x29\x20\x7b\x0a\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x5f\x65\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x52\x65\x67\x69\x73\x74\x72\x79\x5b\x74\x79\x70\x65\x5d\x20\x3d\x20\x74\x68\x69\x73\x2e\x5f\x65\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x52\x65\x67\x69\x73\x74\x72\x79\x5b\x74\x79\x70\x65\x5d\x20\x7c\x7c\x20\x6e\x65\x77\x20\x53\x65\x74\x28\x29\x3b\x0a\x20\x20\x7d\x3b\x0a\x0a\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x45\x76\x65\x6e\x74\x54\x61\x72\x67\x65\x74\x53\x68\x69\x6d\x3b\x0a\x7d\x28\x29\x3b\x0a\x0a\x2f\x2a\x0a\x20\x20\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x39\x20\x47\x6f\x6f\x67\x6c\x65\x20\x4c\x4c\x43\x0a\x0a\x20\x20\x55\x73\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x73\x6f\x75\x72\x63\x65\x20\x63\x6f\x64\x65\x20\x69\x73\x20\x67\x6f\x76\x65\x72\x6e\x65\x64\x20\x62\x79\x20\x61\x6e\x20\x4d\x49\x54\x2d\x73\x74\x79\x6c\x65\x0a\x20\x20\x6c\x69\x63\x65\x6e\x73\x65\x20\x74\x68\x61\x74\x20\x63\x61\x6e\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x4c\x49\x43\x45\x4e\x53\x45\x20\x66\x69\x6c\x65\x20\x6f\x72\x20\x61\x74\x0a\x20\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6f\x70\x65\x6e\x73\x6f\x75\x72\x63\x65\x2e\x6f\x72\x67\x2f\x6c\x69\x63\x65\x6e\x73\x65\x73\x2f\x4d\x49\x54\x2e\x0a\x2a\x2f\x0a\x2f\x2a\x2a\x0a\x20\x2a\x20\x52\x65\x74\x75\x72\x6e\x73\x20\x74\x72\x75\x65\x20\x69\x66\x20\x74\x77\x6f\x20\x55\x52\x4c\x73\x20\x68\x61\x76\x65\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x60\x2e\x68\x72\x65\x66\x60\x20\x70\x72\x6f\x70\x65\x72\x74\x79\x2e\x20\x54\x68\x65\x20\x55\x52\x4c\x53\x20\x63\x61\x6e\x20\x62\x65\x0a\x20\x2a\x20\x72\x65\x6c\x61\x74\x69\x76\x65\x2c\x20\x61\x6e\x64\x20\x69\x66\x20\x74\x68\x65\x79\x20\x61\x72\x65\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x20\x68\x72\x65\x66\x20\x69\x73\x20\x75\x73\x65\x64\x20\x74\x6f\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x55\x52\x4c\x73\x2e\x0a\x20\x2a\x0a\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x73\x74\x72\x69\x6e\x67\x7d\x20\x75\x72\x6c\x31\x0a\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x73\x74\x72\x69\x6e\x67\x7d\x20\x75\x72\x6c\x32\x0a\x20\x2a\x20\x40\x72\x65\x74\x75\x72\x6e\x20\x7b\x62\x6f\x6f\x6c\x65\x61\x6e\x7d\x0a\x20\x2a\x2f\x0a\x0a\x76\x61\x72\x20\x75\x72\x6c\x73\x4d\x61\x74\x63\x68\x20\x3d\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x75\x72\x6c\x73\x4d\x61\x74\x63\x68\x28\x75\x72\x6c\x31\x2c\x20\x75\x72\x6c\x32\x29\x20\x7b\x0a\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x6e\x65\x77\x20\x55\x52\x4c\x28\x75\x72\x6c\x31\x2c\x20\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x29\x2e\x68\x72\x65\x66\x20\x3d\x3d\x3d\x20\x6e\x65\x77\x20\x55\x52\x4c\x28\x75\x72\x6c\x32\x2c\x20\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x29\x2e\x68\x72\x65\x66\x3b\x0a\x7d\x3b\x0a\x0a\x2f\x2a\x0a\x20\x20\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x39\x20\x47\x6f\x6f\x67\x6c\x65\x20\x4c\x4c\x43\x0a\x0a\x20\x20\x55\x73\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x73\x6f\x75\x72\x63\x65\x20\x63\x6f\x64\x65\x20\x69\x73\x20\x67\x6f\x76\x65\x72\x6e\x65\x64\x20\x62\x79\x20\x61\x6e\x20\x4d\x49\x54\x2d\x73\x74\x79\x6c\x65\x0a\x20\x20\x6c\x69\x63\x65\x6e\x73\x65\x20\x74\x68\x61\x74\x20\x63\x61\x6e\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x4c\x49\x43\x45\x4e\x53\x45\x20\x66\x69\x6c\x65\x20\x6f\x72\x20\x61\x74\x0a\x20\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6f\x70\x65\x6e\x73\x6f\x75\x72\x63\x65\x2e\x6f\x72\x67\x2f\x6c\x69\x63\x65\x6e\x73\x65\x73\x2f\x4d\x49\x54\x2e\x0a\x2a\x2f\x0a\x2f\x2a\x2a\x0a\x20\x2a\x20\x41\x20\x6d\x69\x6e\x69\x6d\x61\x6c\x20\x60\x45\x76\x65\x6e\x74\x60\x20\x73\x75\x62\x63\x6c\x61\x73\x73\x20\x73\x68\x69\x6d\x2e\x0a\x20\x2a\x20\x54\x68\x69\x73\x20\x64\x6f\x65\x73\x6e\x27\x74\x20\x2a\x61\x63\x74\x75\x61\x6c\x6c\x79\x2a\x20\x73\x75\x62\x63\x6c\x61\x73\x73\x20\x60\x45\x76\x65\x6e\x74\x60\x20\x62\x65\x63\x61\x75\x73\x65\x20\x6e\x6f\x74\x20\x61\x6c\x6c\x20\x62\x72\x6f\x77\x73\x65\x72\x73\x20\x73\x75\x70\x70\x6f\x72\x74\x0a\x20\x2a\x20\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x61\x62\x6c\x65\x20\x60\x45\x76\x65\x6e\x74\x54\x61\x72\x67\x65\x74\x60\x2c\x20\x61\x6e\x64\x20\x75\x73\x69\x6e\x67\x20\x61\x20\x72\x65\x61\x6c\x20\x60\x45\x76\x65\x6e\x74\x60\x20\x77\x69\x6c\x6c\x20\x65\x72\x72\x6f\x72\x2e\x0a\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x2a\x2f\x0a\x0a\x76\x61\x72\x20\x57\x6f\x72\x6b\x62\x6f\x78\x45\x76\x65\x6e\x74\x20\x3d\x0a\x2f\x2a\x2a\x0a\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x73\x74\x72\x69\x6e\x67\x7d\x20\x74\x79\x70\x65\x0a\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x4f\x62\x6a\x65\x63\x74\x7d\x20\x70\x72\x6f\x70\x73\x0a\x20\x2a\x2f\x0a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x57\x6f\x72\x6b\x62\x6f\x78\x45\x76\x65\x6e\x74\x28\x74\x79\x70\x65\x2c\x20\x70\x72\x6f\x70\x73\x29\x20\x7b\x0a\x20\x20\x4f\x62\x6a\x65\x63\x74\x2e\x61\x73\x73\x69\x67\x6e\x28\x74\x68\x69\x73\x2c\x20\x70\x72\x6f\x70\x73\x2c\x20\x7b\x0a\x20\x20\x20\x20\x74\x79\x70\x65\x3a\x20\x74\x79\x70\x65\x0a\x20\x20\x7d\x29\x3b\x0a\x7d\x3b\x0a\x0a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x5f\x63\x61\x74\x63\x68\x28\x62\x6f\x64\x79\x2c\x20\x72\x65\x63\x6f\x76\x65\x72\x29\x20\x7b\x0a\x20\x20\x74\x72\x79\x20\x7b\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x72\x65\x73\x75\x6c\x74\x20\x3d\x20\x62\x6f\x64\x79\x28\x29\x3b\x0a\x20\x20\x7d\x20\x63\x61\x74\x63\x68\x20\x28\x65\x29\x20\x7b\x0a\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x72\x65\x63\x6f\x76\x65\x72\x28\x65\x29\x3b\x0a\x20\x20\x7d\x0a\x0a\x20\x20\x69\x66\x20\x28\x72\x65\x73\x75\x6c\x74\x20\x26\x26\x20\x72\x65\x73\x75\x6c\x74\x2e\x74\x68\x65\x6e\x29\x20\x7b\x0a\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x72\x65\x73\x75\x6c\x74\x2e\x74\x68\x65\x6e\x28\x76\x6f\x69\x64\x20\x30\x2c\x20\x72\x65\x63\x6f\x76\x65\x72\x29\x3b\x0a\x20\x20\x7d\x0a\x0a\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x72\x65\x73\x75\x6c\x74\x3b\x0a\x7d\x0a\x0a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x5f\x61\x73\x79\x6e\x63\x28\x66\x29\x20\x7b\x0a\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x66\x6f\x72\x20\x28\x76\x61\x72\x20\x61\x72\x67\x73\x20\x3d\x20\x5b\x5d\x2c\x20\x69\x20\x3d\x20\x30\x3b\x20\x69\x20\x3c\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x20\x69\x2b\x2b\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x61\x72\x67\x73\x5b\x69\x5d\x20\x3d\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x5b\x69\x5d\x3b\x0a\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x74\x72\x79\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x50\x72\x6f\x6d\x69\x73\x65\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x66\x2e\x61\x70\x70\x6c\x79\x28\x74\x68\x69\x73\x2c\x20\x61\x72\x67\x73\x29\x29\x3b\x0a\x20\x20\x20\x20\x7d\x20\x63\x61\x74\x63\x68\x20\x28\x65\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x50\x72\x6f\x6d\x69\x73\x65\x2e\x72\x65\x6a\x65\x63\x74\x28\x65\x29\x3b\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x7d\x3b\x0a\x7d\x0a\x0a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x5f\x69\x6e\x76\x6f\x6b\x65\x28\x62\x6f\x64\x79\x2c\x20\x74\x68\x65\x6e\x29\x20\x7b\x0a\x20\x20\x76\x61\x72\x20\x72\x65\x73\x75\x6c\x74\x20\x3d\x20\x62\x6f\x64\x79\x28\x29\x3b\x0a\x0a\x20\x20\x69\x66\x20\x28\x72\x65\x73\x75\x6c\x74\x20\x26\x26\x20\x72\x65\x73\x75\x6c\x74\x2e\x74\x68\x65\x6e\x29\x20\x7b\x0a\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x72\x65\x73\x75\x6c\x74\x2e\x74\x68\x65\x6e\x28\x74\x68\x65\x6e\x29\x3b\x0a\x20\x20\x7d\x0a\x0a\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x6e\x28\x72\x65\x73\x75\x6c\x74\x29\x3b\x0a\x7d\x0a\x0a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x5f\x61\x77\x61\x69\x74\x28\x76\x61\x6c\x75\x65\x2c\x20\x74\x68\x65\x6e\x2c\x20\x64\x69\x72\x65\x63\x74\x29\x20\x7b\x0a\x20\x20\x69\x66\x20\x28\x64\x69\x72\x65\x63\x74\x29\x20\x7b\x0a\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x6e\x20\x3f\x20\x74\x68\x65\x6e\x28\x76\x61\x6c\x75\x65\x29\x20\x3a\x20\x76\x61\x6c\x75\x65\x3b\x0a\x20\x20\x7d\x0a\x0a\x20\x20\x69\x66\x20\x28\x21\x76\x61\x6c\x75\x65\x20\x7c\x7c\x20\x21\x76\x61\x6c\x75\x65\x2e\x74\x68\x65\x6e\x29\x20\x7b\x0a\x20\x20\x20\x20\x76\x61\x6c\x75\x65\x20\x3d\x20\x50\x72\x6f\x6d\x69\x73\x65\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x76\x61\x6c\x75\x65\x29\x3b\x0a\x20\x20\x7d\x0a\x0a\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x6e\x20\x3f\x20\x76\x61\x6c\x75\x65\x2e\x74\x68\x65\x6e\x28\x74\x68\x65\x6e\x29\x20\x3a\x20\x76\x61\x6c\x75\x65\x3b\x0a\x7d\x0a\x0a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x5f\x61\x77\x61\x69\x74\x49\x67\x6e\x6f\x72\x65\x64\x28\x76\x61\x6c\x75\x65\x2c\x20\x64\x69\x72\x65\x63\x74\x29\x20\x7b\x0a\x20\x20\x69\x66\x20\x28\x21\x64\x69\x72\x65\x63\x74\x29\x20\x7b\x0a\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x76\x61\x6c\x75\x65\x20\x26\x26\x20\x76\x61\x6c\x75\x65\x2e\x74\x68\x65\x6e\x20\x3f\x20\x76\x61\x6c\x75\x65\x2e\x74\x68\x65\x6e\x28\x5f\x65\x6d\x70\x74\x79\x29\x20\x3a\x20\x50\x72\x6f\x6d\x69\x73\x65\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x29\x3b\x0a\x20\x20\x7d\x0a\x7d\x0a\x0a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x5f\x65\x6d\x70\x74\x79\x28\x29\x20\x7b\x7d\x0a\x2f\x2f\x20\x60\x73\x6b\x69\x70\x57\x61\x69\x74\x69\x6e\x67\x28\x29\x60\x20\x77\x61\x73\x6e\x27\x74\x20\x63\x61\x6c\x6c\x65\x64\x2e\x20\x54\x68\x69\x73\x20\x32\x30\x30\x20\x61\x6d\x6f\x75\x6e\x74\x20\x77\x61\x73\x6e\x27\x74\x20\x73\x63\x69\x65\x6e\x74\x69\x66\x69\x63\x61\x6c\x6c\x79\x0a\x2f\x2f\x20\x63\x68\x6f\x73\x65\x6e\x2c\x20\x62\x75\x74\x20\x69\x74\x20\x73\x65\x65\x6d\x73\x20\x74\x6f\x20\x61\x76\x6f\x69\x64\x20\x66\x61\x6c\x73\x65\x20\x70\x6f\x73\x69\x74\x69\x76\x65\x73\x20\x69\x6e\x20\x6d\x79\x20\x74\x65\x73\x74\x69\x6e\x67\x2e\x0a\x0a\x76\x61\x72\x20\x57\x41\x49\x54\x49\x4e\x47\x5f\x54\x49\x4d\x45\x4f\x55\x54\x5f\x44\x55\x52\x41\x54\x49\x4f\x4e\x20\x3d\x20\x32\x30\x30\x3b\x20\x2f\x2f\x20\x54\x68\x65\x20\x61\x6d\x6f\x75\x6e\x74\x20\x6f\x66\x20\x74\x69\x6d\x65\x20\x61\x66\x74\x65\x72\x20\x61\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x74\x68\x61\x74\x20\x77\x65\x20\x63\x61\x6e\x20\x72\x65\x61\x73\x6f\x6e\x61\x62\x6c\x79\x20\x63\x6f\x6e\x63\x6c\x75\x64\x65\x0a\x2f\x2f\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x64\x69\x64\x6e\x27\x74\x20\x74\x72\x69\x67\x67\x65\x72\x20\x61\x6e\x20\x75\x70\x64\x61\x74\x65\x2e\x0a\x0a\x76\x61\x72\x20\x52\x45\x47\x49\x53\x54\x52\x41\x54\x49\x4f\x4e\x5f\x54\x49\x4d\x45\x4f\x55\x54\x5f\x44\x55\x52\x41\x54\x49\x4f\x4e\x20\x3d\x20\x36\x30\x30\x30\x30\x3b\x0a\x2f\x2a\x2a\x0a\x20\x2a\x20\x41\x20\x63\x6c\x61\x73\x73\x20\x74\x6f\x20\x61\x69\x64\x20\x69\x6e\x20\x68\x61\x6e\x64\x6c\x69\x6e\x67\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x2c\x20\x75\x70\x64\x61\x74\x65\x73\x2c\x20\x61\x6e\x64\x0a\x20\x2a\x20\x72\x65\x61\x63\x74\x69\x6e\x67\x20\x74\x6f\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x6c\x69\x66\x65\x63\x79\x63\x6c\x65\x20\x65\x76\x65\x6e\x74\x73\x2e\x0a\x20\x2a\x0a\x20\x2a\x20\x40\x66\x69\x72\x65\x73\x20\x5b\x6d\x65\x73\x73\x61\x67\x65\x5d\x7b\x40\x6c\x69\x6e\x6b\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x57\x6f\x72\x6b\x62\x6f\x78\x23\x6d\x65\x73\x73\x61\x67\x65\x7d\x0a\x20\x2a\x20\x40\x66\x69\x72\x65\x73\x20\x5b\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x5d\x7b\x40\x6c\x69\x6e\x6b\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x57\x6f\x72\x6b\x62\x6f\x78\x23\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x7d\x0a\x20\x2a\x20\x40\x66\x69\x72\x65\x73\x20\x5b\x77\x61\x69\x74\x69\x6e\x67\x5d\x7b\x40\x6c\x69\x6e\x6b\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x57\x6f\x72\x6b\x62\x6f\x78\x23\x77\x61\x69\x74\x69\x6e\x67\x7d\x0a\x20\x2a\x20\x40\x66\x69\x72\x65\x73\x20\x5b\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x5d\x7b\x40\x6c\x69\x6e\x6b\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x57\x6f\x72\x6b\x62\x6f\x78\x23\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x7d\x0a\x20\x2a\x20\x40\x66\x69\x72\x65\x73\x20\x5b\x61\x63\x74\x69\x76\x61\x74\x65\x64\x5d\x7b\x40\x6c\x69\x6e\x6b\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x57\x6f\x72\x6b\x62\x6f\x78\x23\x61\x63\x74\x69\x76\x61\x74\x65\x64\x7d\x0a\x20\x2a\x20\x40\x66\x69\x72\x65\x73\x20\x5b\x72\x65\x64\x75\x6e\x64\x61\x6e\x74\x5d\x7b\x40\x6c\x69\x6e\x6b\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x57\x6f\x72\x6b\x62\x6f\x78\x23\x72\x65\x64\x75\x6e\x64\x61\x6e\x74\x7d\x0a\x20\x2a\x20\x40\x66\x69\x72\x65\x73\x20\x5b\x65\x78\x74\x65\x72\x6e\x61\x6c\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x5d\x7b\x40\x6c\x69\x6e\x6b\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x57\x6f\x72\x6b\x62\x6f\x78\x23\x65\x78\x74\x65\x72\x6e\x61\x6c\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x7d\x0a\x20\x2a\x20\x40\x66\x69\x72\x65\x73\x20\x5b\x65\x78\x74\x65\x72\x6e\x61\x6c\x77\x61\x69\x74\x69\x6e\x67\x5d\x7b\x40\x6c\x69\x6e\x6b\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x57\x6f\x72\x6b\x62\x6f\x78\x23\x65\x78\x74\x65\x72\x6e\x61\x6c\x77\x61\x69\x74\x69\x6e\x67\x7d\x0a\x20\x2a\x20\x40\x66\x69\x72\x65\x73\x20\x5b\x65\x78\x74\x65\x72\x6e\x61\x6c\x61\x63\x74\x69\x76\x61\x74\x65\x64\x5d\x7b\x40\x6c\x69\x6e\x6b\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x57\x6f\x72\x6b\x62\x6f\x78\x23\x65\x78\x74\x65\x72\x6e\x61\x6c\x61\x63\x74\x69\x76\x61\x74\x65\x64\x7d\x0a\x20\x2a\x0a\x20\x2a\x20\x40\x6d\x65\x6d\x62\x65\x72\x6f\x66\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x0a\x20\x2a\x2f\x0a\x0a\x76\x61\x72\x20\x57\x6f\x72\x6b\x62\x6f\x78\x20\x3d\x0a\x2f\x2a\x23\x5f\x5f\x50\x55\x52\x45\x5f\x5f\x2a\x2f\x0a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x5f\x45\x76\x65\x6e\x74\x54\x61\x72\x67\x65\x74\x53\x68\x69\x6d\x29\x20\x7b\x0a\x20\x20\x5f\x69\x6e\x68\x65\x72\x69\x74\x73\x4c\x6f\x6f\x73\x65\x28\x57\x6f\x72\x6b\x62\x6f\x78\x2c\x20\x5f\x45\x76\x65\x6e\x74\x54\x61\x72\x67\x65\x74\x53\x68\x69\x6d\x29\x3b\x0a\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x43\x72\x65\x61\x74\x65\x73\x20\x61\x20\x6e\x65\x77\x20\x57\x6f\x72\x6b\x62\x6f\x78\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x20\x77\x69\x74\x68\x20\x61\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x20\x61\x6e\x64\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x0a\x20\x20\x20\x2a\x20\x6f\x70\x74\x69\x6f\x6e\x73\x2e\x20\x54\x68\x65\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x20\x61\x6e\x64\x20\x6f\x70\x74\x69\x6f\x6e\x73\x20\x61\x72\x65\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x61\x73\x20\x74\x68\x6f\x73\x65\x20\x75\x73\x65\x64\x20\x77\x68\x65\x6e\x0a\x20\x20\x20\x2a\x20\x63\x61\x6c\x6c\x69\x6e\x67\x20\x60\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x72\x65\x67\x69\x73\x74\x65\x72\x28\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x2c\x20\x6f\x70\x74\x69\x6f\x6e\x73\x29\x60\x2e\x20\x53\x65\x65\x3a\x0a\x20\x20\x20\x2a\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x64\x65\x76\x65\x6c\x6f\x70\x65\x72\x2e\x6d\x6f\x7a\x69\x6c\x6c\x61\x2e\x6f\x72\x67\x2f\x65\x6e\x2d\x55\x53\x2f\x64\x6f\x63\x73\x2f\x57\x65\x62\x2f\x41\x50\x49\x2f\x53\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x43\x6f\x6e\x74\x61\x69\x6e\x65\x72\x2f\x72\x65\x67\x69\x73\x74\x65\x72\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x73\x74\x72\x69\x6e\x67\x7d\x20\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x20\x54\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x73\x63\x72\x69\x70\x74\x20\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x64\x20\x77\x69\x74\x68\x20\x74\x68\x69\x73\x0a\x20\x20\x20\x2a\x20\x20\x20\x20\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x2e\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x4f\x62\x6a\x65\x63\x74\x7d\x20\x5b\x72\x65\x67\x69\x73\x74\x65\x72\x4f\x70\x74\x69\x6f\x6e\x73\x5d\x20\x54\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x6f\x70\x74\x69\x6f\x6e\x73\x20\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x64\x0a\x20\x20\x20\x2a\x20\x20\x20\x20\x20\x77\x69\x74\x68\x20\x74\x68\x69\x73\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x2e\x0a\x20\x20\x20\x2a\x2f\x0a\x20\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x57\x6f\x72\x6b\x62\x6f\x78\x28\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x2c\x20\x72\x65\x67\x69\x73\x74\x65\x72\x4f\x70\x74\x69\x6f\x6e\x73\x29\x20\x7b\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x5f\x74\x68\x69\x73\x3b\x0a\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x67\x69\x73\x74\x65\x72\x4f\x70\x74\x69\x6f\x6e\x73\x20\x3d\x3d\x3d\x20\x76\x6f\x69\x64\x20\x30\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x72\x65\x67\x69\x73\x74\x65\x72\x4f\x70\x74\x69\x6f\x6e\x73\x20\x3d\x20\x7b\x7d\x3b\x0a\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x20\x3d\x20\x5f\x45\x76\x65\x6e\x74\x54\x61\x72\x67\x65\x74\x53\x68\x69\x6d\x2e\x63\x61\x6c\x6c\x28\x74\x68\x69\x73\x29\x20\x7c\x7c\x20\x74\x68\x69\x73\x3b\x0a\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x2e\x5f\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x20\x3d\x20\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x3b\x0a\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x2e\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x4f\x70\x74\x69\x6f\x6e\x73\x20\x3d\x20\x72\x65\x67\x69\x73\x74\x65\x72\x4f\x70\x74\x69\x6f\x6e\x73\x3b\x0a\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x2e\x5f\x75\x70\x64\x61\x74\x65\x46\x6f\x75\x6e\x64\x43\x6f\x75\x6e\x74\x20\x3d\x20\x30\x3b\x20\x2f\x2f\x20\x44\x65\x66\x65\x72\x72\x65\x64\x73\x20\x77\x65\x20\x63\x61\x6e\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x6c\x61\x74\x65\x72\x2e\x0a\x0a\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x2e\x5f\x73\x77\x44\x65\x66\x65\x72\x72\x65\x64\x20\x3d\x20\x6e\x65\x77\x20\x44\x65\x66\x65\x72\x72\x65\x64\x28\x29\x3b\x0a\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x2e\x5f\x61\x63\x74\x69\x76\x65\x44\x65\x66\x65\x72\x72\x65\x64\x20\x3d\x20\x6e\x65\x77\x20\x44\x65\x66\x65\x72\x72\x65\x64\x28\x29\x3b\x0a\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x2e\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x44\x65\x66\x65\x72\x72\x65\x64\x20\x3d\x20\x6e\x65\x77\x20\x44\x65\x66\x65\x72\x72\x65\x64\x28\x29\x3b\x20\x2f\x2f\x20\x42\x69\x6e\x64\x20\x65\x76\x65\x6e\x74\x20\x68\x61\x6e\x64\x6c\x65\x72\x20\x63\x61\x6c\x6c\x62\x61\x63\x6b\x73\x2e\x0a\x0a\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x4d\x65\x73\x73\x61\x67\x65\x20\x3d\x20\x5f\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x4d\x65\x73\x73\x61\x67\x65\x2e\x62\x69\x6e\x64\x28\x5f\x61\x73\x73\x65\x72\x74\x54\x68\x69\x73\x49\x6e\x69\x74\x69\x61\x6c\x69\x7a\x65\x64\x28\x5f\x61\x73\x73\x65\x72\x74\x54\x68\x69\x73\x49\x6e\x69\x74\x69\x61\x6c\x69\x7a\x65\x64\x28\x5f\x74\x68\x69\x73\x29\x29\x29\x3b\x0a\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x53\x74\x61\x74\x65\x43\x68\x61\x6e\x67\x65\x20\x3d\x20\x5f\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x53\x74\x61\x74\x65\x43\x68\x61\x6e\x67\x65\x2e\x62\x69\x6e\x64\x28\x5f\x61\x73\x73\x65\x72\x74\x54\x68\x69\x73\x49\x6e\x69\x74\x69\x61\x6c\x69\x7a\x65\x64\x28\x5f\x61\x73\x73\x65\x72\x74\x54\x68\x69\x73\x49\x6e\x69\x74\x69\x61\x6c\x69\x7a\x65\x64\x28\x5f\x74\x68\x69\x73\x29\x29\x29\x3b\x0a\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x55\x70\x64\x61\x74\x65\x46\x6f\x75\x6e\x64\x20\x3d\x20\x5f\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x55\x70\x64\x61\x74\x65\x46\x6f\x75\x6e\x64\x2e\x62\x69\x6e\x64\x28\x5f\x61\x73\x73\x65\x72\x74\x54\x68\x69\x73\x49\x6e\x69\x74\x69\x61\x6c\x69\x7a\x65\x64\x28\x5f\x61\x73\x73\x65\x72\x74\x54\x68\x69\x73\x49\x6e\x69\x74\x69\x61\x6c\x69\x7a\x65\x64\x28\x5f\x74\x68\x69\x73\x29\x29\x29\x3b\x0a\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x43\x68\x61\x6e\x67\x65\x20\x3d\x20\x5f\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x43\x68\x61\x6e\x67\x65\x2e\x62\x69\x6e\x64\x28\x5f\x61\x73\x73\x65\x72\x74\x54\x68\x69\x73\x49\x6e\x69\x74\x69\x61\x6c\x69\x7a\x65\x64\x28\x5f\x61\x73\x73\x65\x72\x74\x54\x68\x69\x73\x49\x6e\x69\x74\x69\x61\x6c\x69\x7a\x65\x64\x28\x5f\x74\x68\x69\x73\x29\x29\x29\x3b\x0a\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x5f\x74\x68\x69\x73\x3b\x0a\x20\x20\x7d\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x52\x65\x67\x69\x73\x74\x65\x72\x73\x20\x61\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x66\x6f\x72\x20\x74\x68\x69\x73\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x73\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x20\x61\x6e\x64\x20\x73\x65\x72\x76\x69\x63\x65\x0a\x20\x20\x20\x2a\x20\x77\x6f\x72\x6b\x65\x72\x20\x6f\x70\x74\x69\x6f\x6e\x73\x2e\x20\x42\x79\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x74\x68\x69\x73\x20\x6d\x65\x74\x68\x6f\x64\x20\x64\x65\x6c\x61\x79\x73\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x75\x6e\x74\x69\x6c\x20\x61\x66\x74\x65\x72\x0a\x20\x20\x20\x2a\x20\x74\x68\x65\x20\x77\x69\x6e\x64\x6f\x77\x20\x68\x61\x73\x20\x6c\x6f\x61\x64\x65\x64\x2e\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x4f\x62\x6a\x65\x63\x74\x7d\x20\x5b\x6f\x70\x74\x69\x6f\x6e\x73\x5d\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x46\x75\x6e\x63\x74\x69\x6f\x6e\x7d\x20\x5b\x6f\x70\x74\x69\x6f\x6e\x73\x2e\x69\x6d\x6d\x65\x64\x69\x61\x74\x65\x3d\x66\x61\x6c\x73\x65\x5d\x20\x53\x65\x74\x74\x69\x6e\x67\x20\x74\x68\x69\x73\x20\x74\x6f\x20\x74\x72\x75\x65\x20\x77\x69\x6c\x6c\x0a\x20\x20\x20\x2a\x20\x20\x20\x20\x20\x72\x65\x67\x69\x73\x74\x65\x72\x20\x74\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x69\x6d\x6d\x65\x64\x69\x61\x74\x65\x6c\x79\x2c\x20\x65\x76\x65\x6e\x20\x69\x66\x20\x74\x68\x65\x20\x77\x69\x6e\x64\x6f\x77\x20\x68\x61\x73\x0a\x20\x20\x20\x2a\x20\x20\x20\x20\x20\x6e\x6f\x74\x20\x6c\x6f\x61\x64\x65\x64\x20\x28\x6e\x6f\x74\x20\x72\x65\x63\x6f\x6d\x6d\x65\x6e\x64\x65\x64\x29\x2e\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x76\x61\x72\x20\x5f\x70\x72\x6f\x74\x6f\x20\x3d\x20\x57\x6f\x72\x6b\x62\x6f\x78\x2e\x70\x72\x6f\x74\x6f\x74\x79\x70\x65\x3b\x0a\x20\x20\x5f\x70\x72\x6f\x74\x6f\x2e\x72\x65\x67\x69\x73\x74\x65\x72\x20\x3d\x20\x5f\x61\x73\x79\x6e\x63\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x5f\x74\x65\x6d\x70\x29\x20\x7b\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x5f\x74\x68\x69\x73\x32\x20\x3d\x20\x74\x68\x69\x73\x3b\x0a\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x5f\x72\x65\x66\x20\x3d\x20\x5f\x74\x65\x6d\x70\x20\x3d\x3d\x3d\x20\x76\x6f\x69\x64\x20\x30\x20\x3f\x20\x7b\x7d\x20\x3a\x20\x5f\x74\x65\x6d\x70\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x72\x65\x66\x24\x69\x6d\x6d\x65\x64\x69\x61\x74\x65\x20\x3d\x20\x5f\x72\x65\x66\x2e\x69\x6d\x6d\x65\x64\x69\x61\x74\x65\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6d\x6d\x65\x64\x69\x61\x74\x65\x20\x3d\x20\x5f\x72\x65\x66\x24\x69\x6d\x6d\x65\x64\x69\x61\x74\x65\x20\x3d\x3d\x3d\x20\x76\x6f\x69\x64\x20\x30\x20\x3f\x20\x66\x61\x6c\x73\x65\x20\x3a\x20\x5f\x72\x65\x66\x24\x69\x6d\x6d\x65\x64\x69\x61\x74\x65\x3b\x0a\x0a\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x5f\x74\x68\x69\x73\x32\x2e\x5f\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x54\x69\x6d\x65\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x65\x72\x72\x6f\x72\x28\x27\x43\x61\x6e\x6e\x6f\x74\x20\x72\x65\x2d\x72\x65\x67\x69\x73\x74\x65\x72\x20\x61\x20\x57\x6f\x72\x6b\x62\x6f\x78\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x20\x61\x66\x74\x65\x72\x20\x69\x74\x20\x68\x61\x73\x20\x27\x20\x2b\x20\x27\x62\x65\x65\x6e\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x2e\x20\x43\x72\x65\x61\x74\x65\x20\x61\x20\x6e\x65\x77\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x20\x69\x6e\x73\x74\x65\x61\x64\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x5f\x69\x6e\x76\x6f\x6b\x65\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x69\x6d\x6d\x65\x64\x69\x61\x74\x65\x20\x26\x26\x20\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65\x20\x21\x3d\x3d\x20\x27\x63\x6f\x6d\x70\x6c\x65\x74\x65\x27\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x5f\x61\x77\x61\x69\x74\x49\x67\x6e\x6f\x72\x65\x64\x28\x6e\x65\x77\x20\x50\x72\x6f\x6d\x69\x73\x65\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x72\x65\x73\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x27\x6c\x6f\x61\x64\x27\x2c\x20\x72\x65\x73\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x29\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x7d\x2c\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x53\x65\x74\x20\x74\x68\x69\x73\x20\x66\x6c\x61\x67\x20\x74\x6f\x20\x74\x72\x75\x65\x20\x69\x66\x20\x61\x6e\x79\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x77\x61\x73\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x74\x68\x65\x20\x70\x61\x67\x65\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x61\x74\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x74\x69\x6d\x65\x2e\x0a\x20\x20\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x69\x73\x55\x70\x64\x61\x74\x65\x20\x3d\x20\x42\x6f\x6f\x6c\x65\x61\x6e\x28\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x29\x3b\x20\x2f\x2f\x20\x42\x65\x66\x6f\x72\x65\x20\x72\x65\x67\x69\x73\x74\x65\x72\x69\x6e\x67\x2c\x20\x61\x74\x74\x65\x6d\x70\x74\x20\x74\x6f\x20\x64\x65\x74\x65\x72\x6d\x69\x6e\x65\x20\x69\x66\x20\x61\x20\x53\x57\x20\x69\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x74\x68\x65\x20\x70\x61\x67\x65\x2c\x20\x61\x6e\x64\x20\x69\x66\x20\x74\x68\x61\x74\x20\x53\x57\x20\x73\x63\x72\x69\x70\x74\x20\x28\x61\x6e\x64\x20\x76\x65\x72\x73\x69\x6f\x6e\x2c\x20\x69\x66\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x29\x20\x6d\x61\x74\x63\x68\x65\x73\x20\x74\x68\x69\x73\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x27\x73\x20\x73\x63\x72\x69\x70\x74\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x20\x3d\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x67\x65\x74\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x49\x66\x43\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x28\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x5f\x61\x77\x61\x69\x74\x28\x5f\x74\x68\x69\x73\x32\x2e\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x53\x63\x72\x69\x70\x74\x28\x29\x2c\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x5f\x74\x68\x69\x73\x32\x24\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x53\x63\x72\x69\x70\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x3d\x20\x5f\x74\x68\x69\x73\x32\x24\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x53\x63\x72\x69\x70\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x49\x66\x20\x77\x65\x20\x68\x61\x76\x65\x20\x61\x20\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x2c\x20\x73\x74\x6f\x72\x65\x20\x74\x68\x65\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x20\x61\x73\x20\x74\x68\x65\x20\x22\x6f\x77\x6e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x53\x57\x2c\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x61\x63\x74\x69\x76\x65\x2f\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x64\x65\x66\x65\x72\x72\x65\x64\x73\x20\x61\x6e\x64\x20\x61\x64\x64\x20\x6e\x65\x63\x65\x73\x73\x61\x72\x79\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x73\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x5f\x74\x68\x69\x73\x32\x2e\x5f\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x73\x77\x20\x3d\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x61\x63\x74\x69\x76\x65\x44\x65\x66\x65\x72\x72\x65\x64\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x5f\x74\x68\x69\x73\x32\x2e\x5f\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x44\x65\x66\x65\x72\x72\x65\x64\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x5f\x74\x68\x69\x73\x32\x2e\x5f\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x72\x65\x70\x6f\x72\x74\x57\x69\x6e\x64\x6f\x77\x52\x65\x61\x64\x79\x28\x5f\x74\x68\x69\x73\x32\x2e\x5f\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x27\x73\x74\x61\x74\x65\x63\x68\x61\x6e\x67\x65\x27\x2c\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x6f\x6e\x53\x74\x61\x74\x65\x43\x68\x61\x6e\x67\x65\x2c\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6f\x6e\x63\x65\x3a\x20\x74\x72\x75\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x20\x2f\x2f\x20\x49\x66\x20\x74\x68\x65\x72\x65\x27\x73\x20\x61\x20\x77\x61\x69\x74\x69\x6e\x67\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x77\x69\x74\x68\x20\x61\x20\x6d\x61\x74\x63\x68\x69\x6e\x67\x20\x55\x52\x4c\x20\x62\x65\x66\x6f\x72\x65\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x60\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x60\x20\x65\x76\x65\x6e\x74\x20\x66\x69\x72\x65\x73\x2c\x20\x69\x74\x20\x6c\x69\x6b\x65\x6c\x79\x20\x6d\x65\x61\x6e\x73\x20\x74\x68\x61\x74\x20\x74\x68\x69\x73\x20\x73\x69\x74\x65\x20\x69\x73\x20\x6f\x70\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x69\x6e\x20\x61\x6e\x6f\x74\x68\x65\x72\x20\x74\x61\x62\x2c\x20\x6f\x72\x20\x74\x68\x65\x20\x75\x73\x65\x72\x20\x72\x65\x66\x72\x65\x73\x68\x65\x64\x20\x74\x68\x65\x20\x70\x61\x67\x65\x20\x28\x61\x6e\x64\x20\x74\x68\x75\x73\x20\x74\x68\x65\x20\x70\x72\x65\x76\x6f\x69\x75\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x70\x61\x67\x65\x20\x77\x61\x73\x6e\x27\x74\x20\x66\x75\x6c\x6c\x79\x20\x75\x6e\x6c\x6f\x61\x64\x65\x64\x20\x62\x65\x66\x6f\x72\x65\x20\x74\x68\x69\x73\x20\x70\x61\x67\x65\x20\x73\x74\x61\x72\x74\x65\x64\x20\x6c\x6f\x61\x64\x69\x6e\x67\x29\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x64\x65\x76\x65\x6c\x6f\x70\x65\x72\x73\x2e\x67\x6f\x6f\x67\x6c\x65\x2e\x63\x6f\x6d\x2f\x77\x65\x62\x2f\x66\x75\x6e\x64\x61\x6d\x65\x6e\x74\x61\x6c\x73\x2f\x70\x72\x69\x6d\x65\x72\x73\x2f\x73\x65\x72\x76\x69\x63\x65\x2d\x77\x6f\x72\x6b\x65\x72\x73\x2f\x6c\x69\x66\x65\x63\x79\x63\x6c\x65\x23\x77\x61\x69\x74\x69\x6e\x67\x0a\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x72\x20\x77\x61\x69\x74\x69\x6e\x67\x53\x57\x20\x3d\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x2e\x77\x61\x69\x74\x69\x6e\x67\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x77\x61\x69\x74\x69\x6e\x67\x53\x57\x20\x26\x26\x20\x75\x72\x6c\x73\x4d\x61\x74\x63\x68\x28\x77\x61\x69\x74\x69\x6e\x67\x53\x57\x2e\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x2c\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x29\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x53\x74\x6f\x72\x65\x20\x74\x68\x65\x20\x77\x61\x69\x74\x69\x6e\x67\x20\x53\x57\x20\x61\x73\x20\x74\x68\x65\x20\x22\x6f\x77\x6e\x22\x20\x53\x77\x2c\x20\x65\x76\x65\x6e\x20\x69\x66\x20\x69\x74\x20\x6d\x65\x61\x6e\x73\x20\x6f\x76\x65\x72\x77\x72\x69\x74\x69\x6e\x67\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x61\x20\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x73\x77\x20\x3d\x20\x77\x61\x69\x74\x69\x6e\x67\x53\x57\x3b\x20\x2f\x2f\x20\x52\x75\x6e\x20\x74\x68\x69\x73\x20\x69\x6e\x20\x74\x68\x65\x20\x6e\x65\x78\x74\x20\x6d\x69\x63\x72\x6f\x74\x61\x73\x6b\x2c\x20\x73\x6f\x20\x61\x6e\x79\x20\x63\x6f\x64\x65\x20\x74\x68\x61\x74\x20\x61\x64\x64\x73\x20\x61\x6e\x20\x65\x76\x65\x6e\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x20\x61\x66\x74\x65\x72\x20\x61\x77\x61\x69\x74\x69\x6e\x67\x20\x60\x72\x65\x67\x69\x73\x74\x65\x72\x28\x29\x60\x20\x77\x69\x6c\x6c\x20\x67\x65\x74\x20\x74\x68\x69\x73\x20\x65\x76\x65\x6e\x74\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x50\x72\x6f\x6d\x69\x73\x65\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x29\x2e\x74\x68\x65\x6e\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x32\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x6e\x65\x77\x20\x57\x6f\x72\x6b\x62\x6f\x78\x45\x76\x65\x6e\x74\x28\x27\x77\x61\x69\x74\x69\x6e\x67\x27\x2c\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x77\x3a\x20\x77\x61\x69\x74\x69\x6e\x67\x53\x57\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x61\x73\x57\x61\x69\x74\x69\x6e\x67\x42\x65\x66\x6f\x72\x65\x52\x65\x67\x69\x73\x74\x65\x72\x3a\x20\x74\x72\x75\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x29\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x77\x61\x72\x6e\x28\x27\x41\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x77\x61\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x77\x61\x69\x74\x69\x6e\x67\x20\x74\x6f\x20\x61\x63\x74\x69\x76\x61\x74\x65\x20\x27\x20\x2b\x20\x27\x62\x65\x66\x6f\x72\x65\x20\x74\x68\x69\x73\x20\x73\x63\x72\x69\x70\x74\x20\x77\x61\x73\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x2e\x2e\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x20\x2f\x2f\x20\x49\x66\x20\x61\x6e\x20\x22\x6f\x77\x6e\x22\x20\x53\x57\x20\x69\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x73\x65\x74\x2c\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x74\x68\x65\x20\x64\x65\x66\x65\x72\x72\x65\x64\x2e\x0a\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x5f\x74\x68\x69\x73\x32\x2e\x5f\x73\x77\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x73\x77\x44\x65\x66\x65\x72\x72\x65\x64\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x5f\x74\x68\x69\x73\x32\x2e\x5f\x73\x77\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x6c\x6f\x67\x28\x27\x53\x75\x63\x63\x65\x73\x73\x66\x75\x6c\x6c\x79\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x2e\x27\x2c\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x5f\x74\x68\x69\x73\x32\x2e\x5f\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x64\x65\x62\x75\x67\x28\x27\x41\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x20\x27\x20\x2b\x20\x27\x69\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x74\x68\x69\x73\x20\x70\x61\x67\x65\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x20\x65\x6c\x73\x65\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x64\x65\x62\x75\x67\x28\x27\x41\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x77\x69\x74\x68\x20\x61\x20\x64\x69\x66\x66\x65\x72\x65\x6e\x74\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x20\x69\x73\x20\x27\x20\x2b\x20\x27\x63\x75\x72\x72\x65\x6e\x74\x6c\x79\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x74\x68\x65\x20\x70\x61\x67\x65\x2e\x20\x54\x68\x65\x20\x62\x72\x6f\x77\x73\x65\x72\x20\x69\x73\x20\x6e\x6f\x77\x20\x66\x65\x74\x63\x68\x69\x6e\x67\x20\x27\x20\x2b\x20\x27\x74\x68\x65\x20\x6e\x65\x77\x20\x73\x63\x72\x69\x70\x74\x20\x6e\x6f\x77\x2e\x2e\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x72\x20\x63\x75\x72\x72\x65\x6e\x74\x50\x61\x67\x65\x49\x73\x4f\x75\x74\x4f\x66\x53\x63\x6f\x70\x65\x20\x3d\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x63\x75\x72\x72\x65\x6e\x74\x50\x61\x67\x65\x49\x73\x4f\x75\x74\x4f\x66\x53\x63\x6f\x70\x65\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x72\x20\x73\x63\x6f\x70\x65\x55\x52\x4c\x20\x3d\x20\x6e\x65\x77\x20\x55\x52\x4c\x28\x5f\x74\x68\x69\x73\x32\x2e\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x4f\x70\x74\x69\x6f\x6e\x73\x2e\x73\x63\x6f\x70\x65\x20\x7c\x7c\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x2c\x20\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x62\x61\x73\x65\x55\x52\x49\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x72\x20\x73\x63\x6f\x70\x65\x55\x52\x4c\x42\x61\x73\x65\x50\x61\x74\x68\x20\x3d\x20\x6e\x65\x77\x20\x55\x52\x4c\x28\x27\x2e\x2f\x27\x2c\x20\x73\x63\x6f\x70\x65\x55\x52\x4c\x2e\x68\x72\x65\x66\x29\x2e\x70\x61\x74\x68\x6e\x61\x6d\x65\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x21\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x2e\x70\x61\x74\x68\x6e\x61\x6d\x65\x2e\x73\x74\x61\x72\x74\x73\x57\x69\x74\x68\x28\x73\x63\x6f\x70\x65\x55\x52\x4c\x42\x61\x73\x65\x50\x61\x74\x68\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x63\x75\x72\x72\x65\x6e\x74\x50\x61\x67\x65\x49\x73\x4f\x75\x74\x4f\x66\x53\x63\x6f\x70\x65\x28\x29\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x77\x61\x72\x6e\x28\x27\x54\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x70\x61\x67\x65\x20\x69\x73\x20\x6e\x6f\x74\x20\x69\x6e\x20\x73\x63\x6f\x70\x65\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x27\x20\x2b\x20\x27\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x2e\x20\x57\x61\x73\x20\x74\x68\x69\x73\x20\x61\x20\x6d\x69\x73\x74\x61\x6b\x65\x3f\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x27\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x27\x2c\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x6f\x6e\x55\x70\x64\x61\x74\x65\x46\x6f\x75\x6e\x64\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x27\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x63\x68\x61\x6e\x67\x65\x27\x2c\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x6f\x6e\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x43\x68\x61\x6e\x67\x65\x2c\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6f\x6e\x63\x65\x3a\x20\x74\x72\x75\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x29\x3b\x20\x2f\x2f\x20\x41\x64\x64\x20\x6d\x65\x73\x73\x61\x67\x65\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x73\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x27\x42\x72\x6f\x61\x64\x63\x61\x73\x74\x43\x68\x61\x6e\x6e\x65\x6c\x27\x20\x69\x6e\x20\x73\x65\x6c\x66\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x62\x72\x6f\x61\x64\x63\x61\x73\x74\x43\x68\x61\x6e\x6e\x65\x6c\x20\x3d\x20\x6e\x65\x77\x20\x42\x72\x6f\x61\x64\x63\x61\x73\x74\x43\x68\x61\x6e\x6e\x65\x6c\x28\x27\x77\x6f\x72\x6b\x62\x6f\x78\x27\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x62\x72\x6f\x61\x64\x63\x61\x73\x74\x43\x68\x61\x6e\x6e\x65\x6c\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x27\x6d\x65\x73\x73\x61\x67\x65\x27\x2c\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x6f\x6e\x4d\x65\x73\x73\x61\x67\x65\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x27\x6d\x65\x73\x73\x61\x67\x65\x27\x2c\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x6f\x6e\x4d\x65\x73\x73\x61\x67\x65\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x5f\x74\x68\x69\x73\x32\x2e\x5f\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\x29\x3b\x0a\x20\x20\x20\x20\x7d\x29\x3b\x0a\x20\x20\x7d\x29\x3b\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x52\x65\x73\x6f\x6c\x76\x65\x73\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x62\x79\x20\x74\x68\x69\x73\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x20\x61\x73\x20\x73\x6f\x6f\x6e\x20\x61\x73\x20\x69\x74\x0a\x20\x20\x20\x2a\x20\x69\x73\x20\x61\x63\x74\x69\x76\x65\x2e\x20\x49\x66\x20\x61\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x77\x61\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x61\x74\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x0a\x20\x20\x20\x2a\x20\x74\x69\x6d\x65\x20\x74\x68\x65\x6e\x20\x69\x74\x20\x77\x69\x6c\x6c\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x74\x6f\x20\x74\x68\x61\x74\x20\x69\x66\x20\x74\x68\x65\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x73\x20\x28\x61\x6e\x64\x20\x6f\x70\x74\x69\x6f\x6e\x61\x6c\x6c\x79\x0a\x20\x20\x20\x2a\x20\x73\x63\x72\x69\x70\x74\x20\x76\x65\x72\x73\x69\x6f\x6e\x73\x29\x20\x6d\x61\x74\x63\x68\x2c\x20\x6f\x74\x68\x65\x72\x77\x69\x73\x65\x20\x69\x74\x20\x77\x69\x6c\x6c\x20\x77\x61\x69\x74\x20\x75\x6e\x74\x69\x6c\x20\x61\x6e\x20\x75\x70\x64\x61\x74\x65\x20\x69\x73\x20\x66\x6f\x75\x6e\x64\x0a\x20\x20\x20\x2a\x20\x61\x6e\x64\x20\x61\x63\x74\x69\x76\x61\x74\x65\x73\x2e\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x40\x72\x65\x74\x75\x72\x6e\x20\x7b\x50\x72\x6f\x6d\x69\x73\x65\x3c\x53\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x3e\x7d\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x52\x65\x73\x6f\x6c\x76\x65\x73\x20\x77\x69\x74\x68\x20\x61\x20\x72\x65\x66\x65\x72\x65\x6e\x63\x65\x20\x74\x6f\x20\x61\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x74\x68\x61\x74\x20\x6d\x61\x74\x63\x68\x65\x73\x20\x74\x68\x65\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x0a\x20\x20\x20\x2a\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x2c\x20\x61\x73\x20\x73\x6f\x6f\x6e\x20\x61\x73\x20\x69\x74\x27\x73\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\x2e\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x49\x66\x2c\x20\x61\x74\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x74\x69\x6d\x65\x2c\x20\x74\x68\x65\x72\x65\x27\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x61\x6e\x20\x61\x63\x74\x69\x76\x65\x20\x6f\x72\x20\x77\x61\x69\x74\x69\x6e\x67\x20\x73\x65\x72\x76\x69\x63\x65\x0a\x20\x20\x20\x2a\x20\x77\x6f\x72\x6b\x65\x72\x20\x77\x69\x74\x68\x20\x61\x20\x6d\x61\x74\x63\x68\x69\x6e\x67\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x2c\x20\x69\x74\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x75\x73\x65\x64\x20\x28\x77\x69\x74\x68\x20\x74\x68\x65\x20\x77\x61\x69\x74\x69\x6e\x67\x0a\x20\x20\x20\x2a\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x74\x61\x6b\x69\x6e\x67\x20\x70\x72\x65\x63\x65\x64\x65\x6e\x63\x65\x20\x6f\x76\x65\x72\x20\x74\x68\x65\x20\x61\x63\x74\x69\x76\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x69\x66\x20\x62\x6f\x74\x68\x0a\x20\x20\x20\x2a\x20\x6d\x61\x74\x63\x68\x2c\x20\x73\x69\x6e\x63\x65\x20\x74\x68\x65\x20\x77\x61\x69\x74\x69\x6e\x67\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x77\x6f\x75\x6c\x64\x20\x68\x61\x76\x65\x20\x62\x65\x65\x6e\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x6d\x6f\x72\x65\x0a\x20\x20\x20\x2a\x20\x72\x65\x63\x65\x6e\x74\x6c\x79\x29\x2e\x0a\x20\x20\x20\x2a\x20\x49\x66\x20\x74\x68\x65\x72\x65\x27\x73\x20\x6e\x6f\x20\x6d\x61\x74\x63\x68\x69\x6e\x67\x20\x61\x63\x74\x69\x76\x65\x20\x6f\x72\x20\x77\x61\x69\x74\x69\x6e\x67\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x61\x74\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x0a\x20\x20\x20\x2a\x20\x74\x69\x6d\x65\x20\x74\x68\x65\x6e\x20\x74\x68\x65\x20\x70\x72\x6f\x6d\x69\x73\x65\x20\x77\x69\x6c\x6c\x20\x6e\x6f\x74\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x75\x6e\x74\x69\x6c\x20\x61\x6e\x20\x75\x70\x64\x61\x74\x65\x20\x69\x73\x20\x66\x6f\x75\x6e\x64\x20\x61\x6e\x64\x20\x73\x74\x61\x72\x74\x73\x0a\x20\x20\x20\x2a\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x2c\x20\x61\x74\x20\x77\x68\x69\x63\x68\x20\x70\x6f\x69\x6e\x74\x20\x74\x68\x65\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x69\x73\x20\x75\x73\x65\x64\x2e\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x40\x72\x65\x74\x75\x72\x6e\x20\x7b\x50\x72\x6f\x6d\x69\x73\x65\x3c\x53\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x3e\x7d\x0a\x20\x20\x20\x2a\x2f\x0a\x20\x20\x5f\x70\x72\x6f\x74\x6f\x2e\x67\x65\x74\x53\x57\x20\x3d\x20\x5f\x61\x73\x79\x6e\x63\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x5f\x74\x68\x69\x73\x33\x20\x3d\x20\x74\x68\x69\x73\x3b\x0a\x0a\x20\x20\x20\x20\x2f\x2f\x20\x49\x66\x20\x60\x74\x68\x69\x73\x2e\x5f\x73\x77\x60\x20\x69\x73\x20\x73\x65\x74\x2c\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x77\x69\x74\x68\x20\x74\x68\x61\x74\x20\x61\x73\x20\x77\x65\x20\x77\x61\x6e\x74\x20\x60\x67\x65\x74\x53\x57\x28\x29\x60\x20\x74\x6f\x0a\x20\x20\x20\x20\x2f\x2f\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x63\x6f\x72\x72\x65\x63\x74\x20\x28\x6e\x65\x77\x29\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x69\x66\x20\x61\x6e\x20\x75\x70\x64\x61\x74\x65\x20\x69\x73\x20\x66\x6f\x75\x6e\x64\x2e\x0a\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x5f\x74\x68\x69\x73\x33\x2e\x5f\x73\x77\x20\x7c\x7c\x20\x5f\x74\x68\x69\x73\x33\x2e\x5f\x73\x77\x44\x65\x66\x65\x72\x72\x65\x64\x2e\x70\x72\x6f\x6d\x69\x73\x65\x3b\x0a\x20\x20\x7d\x29\x3b\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x53\x65\x6e\x64\x73\x20\x74\x68\x65\x20\x70\x61\x73\x73\x65\x64\x20\x64\x61\x74\x61\x20\x6f\x62\x6a\x65\x63\x74\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x62\x79\x20\x74\x68\x69\x73\x0a\x20\x20\x20\x2a\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x20\x28\x76\x69\x61\x20\x5b\x60\x67\x65\x74\x53\x57\x28\x29\x60\x5d\x7b\x40\x6c\x69\x6e\x6b\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x57\x6f\x72\x6b\x62\x6f\x78\x23\x67\x65\x74\x53\x57\x7d\x29\x20\x61\x6e\x64\x20\x72\x65\x73\x6f\x6c\x76\x65\x73\x0a\x20\x20\x20\x2a\x20\x77\x69\x74\x68\x20\x61\x20\x72\x65\x73\x70\x6f\x6e\x73\x65\x20\x28\x69\x66\x20\x61\x6e\x79\x29\x2e\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x41\x20\x72\x65\x73\x70\x6f\x6e\x73\x65\x20\x63\x61\x6e\x20\x62\x65\x20\x73\x65\x74\x20\x69\x6e\x20\x61\x20\x6d\x65\x73\x73\x61\x67\x65\x20\x68\x61\x6e\x64\x6c\x65\x72\x20\x69\x6e\x20\x74\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x62\x79\x0a\x20\x20\x20\x2a\x20\x63\x61\x6c\x6c\x69\x6e\x67\x20\x60\x65\x76\x65\x6e\x74\x2e\x70\x6f\x72\x74\x73\x5b\x30\x5d\x2e\x70\x6f\x73\x74\x4d\x65\x73\x73\x61\x67\x65\x28\x2e\x2e\x2e\x29\x60\x2c\x20\x77\x68\x69\x63\x68\x20\x77\x69\x6c\x6c\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x74\x68\x65\x20\x70\x72\x6f\x6d\x69\x73\x65\x0a\x20\x20\x20\x2a\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x20\x62\x79\x20\x60\x6d\x65\x73\x73\x61\x67\x65\x53\x57\x28\x29\x60\x2e\x20\x49\x66\x20\x6e\x6f\x20\x72\x65\x73\x70\x6f\x6e\x73\x65\x20\x69\x73\x20\x73\x65\x74\x2c\x20\x74\x68\x65\x20\x70\x72\x6f\x6d\x69\x73\x65\x20\x77\x69\x6c\x6c\x20\x6e\x65\x76\x65\x72\x0a\x20\x20\x20\x2a\x20\x72\x65\x73\x6f\x6c\x76\x65\x2e\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x4f\x62\x6a\x65\x63\x74\x7d\x20\x64\x61\x74\x61\x20\x41\x6e\x20\x6f\x62\x6a\x65\x63\x74\x20\x74\x6f\x20\x73\x65\x6e\x64\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x0a\x20\x20\x20\x2a\x20\x40\x72\x65\x74\x75\x72\x6e\x20\x7b\x50\x72\x6f\x6d\x69\x73\x65\x3c\x4f\x62\x6a\x65\x63\x74\x3e\x7d\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x20\x20\x5f\x70\x72\x6f\x74\x6f\x2e\x6d\x65\x73\x73\x61\x67\x65\x53\x57\x20\x3d\x20\x5f\x61\x73\x79\x6e\x63\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x64\x61\x74\x61\x29\x20\x7b\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x5f\x74\x68\x69\x73\x34\x20\x3d\x20\x74\x68\x69\x73\x3b\x0a\x0a\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x5f\x61\x77\x61\x69\x74\x28\x5f\x74\x68\x69\x73\x34\x2e\x67\x65\x74\x53\x57\x28\x29\x2c\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x73\x77\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x6d\x65\x73\x73\x61\x67\x65\x53\x57\x28\x73\x77\x2c\x20\x64\x61\x74\x61\x29\x3b\x0a\x20\x20\x20\x20\x7d\x29\x3b\x0a\x20\x20\x7d\x29\x3b\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x43\x68\x65\x63\x6b\x73\x20\x66\x6f\x72\x20\x61\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x74\x68\x65\x20\x70\x61\x67\x65\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x73\x0a\x20\x20\x20\x2a\x20\x69\x74\x20\x69\x66\x20\x69\x74\x73\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x20\x6d\x61\x74\x63\x68\x73\x2e\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x20\x40\x72\x65\x74\x75\x72\x6e\x20\x7b\x53\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x7c\x75\x6e\x64\x65\x66\x69\x6e\x65\x64\x7d\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x20\x20\x5f\x70\x72\x6f\x74\x6f\x2e\x5f\x67\x65\x74\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x49\x66\x43\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x20\x3d\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x5f\x67\x65\x74\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x49\x66\x43\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x20\x3d\x20\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x3b\x0a\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x20\x26\x26\x20\x75\x72\x6c\x73\x4d\x61\x74\x63\x68\x28\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x2e\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x2c\x20\x74\x68\x69\x73\x2e\x5f\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x29\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x3b\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x7d\x3b\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x52\x65\x67\x69\x73\x74\x65\x72\x73\x20\x61\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x66\x6f\x72\x20\x74\x68\x69\x73\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x73\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x20\x61\x6e\x64\x20\x72\x65\x67\x69\x73\x74\x65\x72\x0a\x20\x20\x20\x2a\x20\x6f\x70\x74\x69\x6f\x6e\x73\x20\x61\x6e\x64\x20\x74\x72\x61\x63\x6b\x73\x20\x74\x68\x65\x20\x74\x69\x6d\x65\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x77\x61\x73\x20\x63\x6f\x6d\x70\x6c\x65\x74\x65\x2e\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x5f\x70\x72\x6f\x74\x6f\x2e\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x53\x63\x72\x69\x70\x74\x20\x3d\x20\x5f\x61\x73\x79\x6e\x63\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x5f\x74\x68\x69\x73\x35\x20\x3d\x20\x74\x68\x69\x73\x3b\x0a\x0a\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x5f\x63\x61\x74\x63\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x5f\x61\x77\x61\x69\x74\x28\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x72\x65\x67\x69\x73\x74\x65\x72\x28\x5f\x74\x68\x69\x73\x35\x2e\x5f\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x2c\x20\x5f\x74\x68\x69\x73\x35\x2e\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x4f\x70\x74\x69\x6f\x6e\x73\x29\x2c\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x72\x65\x67\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x4b\x65\x65\x70\x20\x74\x72\x61\x63\x6b\x20\x6f\x66\x20\x77\x68\x65\x6e\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x68\x61\x70\x70\x65\x6e\x65\x64\x2c\x20\x73\x6f\x20\x69\x74\x20\x63\x61\x6e\x20\x62\x65\x20\x75\x73\x65\x64\x20\x69\x6e\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x60\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x55\x70\x64\x61\x74\x65\x46\x6f\x75\x6e\x64\x60\x20\x68\x65\x75\x72\x69\x73\x74\x69\x63\x2e\x20\x41\x6c\x73\x6f\x20\x75\x73\x65\x20\x74\x68\x65\x20\x70\x72\x65\x73\x65\x6e\x63\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x70\x72\x6f\x70\x65\x72\x74\x79\x20\x61\x73\x20\x61\x20\x77\x61\x79\x20\x74\x6f\x20\x73\x65\x65\x20\x69\x66\x20\x60\x2e\x72\x65\x67\x69\x73\x74\x65\x72\x28\x29\x60\x20\x68\x61\x73\x20\x62\x65\x65\x6e\x20\x63\x61\x6c\x6c\x65\x64\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x35\x2e\x5f\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x54\x69\x6d\x65\x20\x3d\x20\x70\x65\x72\x66\x6f\x72\x6d\x61\x6e\x63\x65\x2e\x6e\x6f\x77\x28\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x72\x65\x67\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\x29\x3b\x0a\x20\x20\x20\x20\x7d\x2c\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x65\x72\x72\x6f\x72\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x65\x72\x72\x6f\x72\x28\x65\x72\x72\x6f\x72\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\x20\x2f\x2f\x20\x52\x65\x2d\x74\x68\x72\x6f\x77\x20\x74\x68\x65\x20\x65\x72\x72\x6f\x72\x2e\x0a\x0a\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x72\x6f\x77\x20\x65\x72\x72\x6f\x72\x3b\x0a\x20\x20\x20\x20\x7d\x29\x3b\x0a\x20\x20\x7d\x29\x3b\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x53\x65\x6e\x64\x73\x20\x61\x20\x6d\x65\x73\x73\x61\x67\x65\x20\x74\x6f\x20\x74\x68\x65\x20\x70\x61\x73\x73\x65\x64\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x77\x69\x6e\x64\x6f\x77\x20\x69\x73\x20\x72\x65\x61\x64\x79\x2e\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x53\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x7d\x20\x73\x77\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x20\x20\x5f\x70\x72\x6f\x74\x6f\x2e\x5f\x72\x65\x70\x6f\x72\x74\x57\x69\x6e\x64\x6f\x77\x52\x65\x61\x64\x79\x20\x3d\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x5f\x72\x65\x70\x6f\x72\x74\x57\x69\x6e\x64\x6f\x77\x52\x65\x61\x64\x79\x28\x73\x77\x29\x20\x7b\x0a\x20\x20\x20\x20\x6d\x65\x73\x73\x61\x67\x65\x53\x57\x28\x73\x77\x2c\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x74\x79\x70\x65\x3a\x20\x27\x57\x49\x4e\x44\x4f\x57\x5f\x52\x45\x41\x44\x59\x27\x2c\x0a\x20\x20\x20\x20\x20\x20\x6d\x65\x74\x61\x3a\x20\x27\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x27\x0a\x20\x20\x20\x20\x7d\x29\x3b\x0a\x20\x20\x7d\x3b\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x5f\x70\x72\x6f\x74\x6f\x2e\x5f\x6f\x6e\x55\x70\x64\x61\x74\x65\x46\x6f\x75\x6e\x64\x20\x3d\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x5f\x6f\x6e\x55\x70\x64\x61\x74\x65\x46\x6f\x75\x6e\x64\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x53\x57\x20\x3d\x20\x74\x68\x69\x73\x2e\x5f\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x2e\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x3b\x20\x2f\x2f\x20\x49\x66\x20\x74\x68\x65\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x20\x70\x61\x73\x73\x65\x64\x20\x74\x6f\x20\x60\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x72\x65\x67\x69\x73\x74\x65\x72\x28\x29\x60\x20\x69\x73\x0a\x20\x20\x20\x20\x2f\x2f\x20\x64\x69\x66\x66\x65\x72\x65\x6e\x74\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x53\x57\x27\x73\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x2c\x20\x77\x65\x20\x6b\x6e\x6f\x77\x20\x61\x6e\x79\x0a\x20\x20\x20\x20\x2f\x2f\x20\x73\x75\x63\x63\x65\x73\x73\x66\x75\x6c\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x63\x61\x6c\x6c\x73\x20\x77\x69\x6c\x6c\x20\x74\x72\x69\x67\x67\x65\x72\x20\x61\x6e\x20\x60\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x60\x20\x65\x76\x65\x6e\x74\x2e\x0a\x20\x20\x20\x20\x2f\x2f\x20\x42\x75\x74\x20\x69\x66\x20\x74\x68\x65\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x20\x69\x73\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x61\x73\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x0a\x20\x20\x20\x20\x2f\x2f\x20\x53\x57\x27\x73\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x2c\x20\x77\x65\x27\x6c\x6c\x20\x6f\x6e\x6c\x79\x20\x67\x65\x74\x20\x61\x6e\x20\x60\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x60\x20\x65\x76\x65\x6e\x74\x20\x69\x66\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x0a\x20\x20\x20\x20\x2f\x2f\x20\x63\x68\x61\x6e\x67\x65\x64\x20\x73\x69\x6e\x63\x65\x20\x69\x74\x20\x77\x61\x73\x20\x6c\x61\x73\x74\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x2e\x20\x54\x68\x69\x73\x20\x63\x61\x6e\x20\x62\x65\x20\x61\x20\x70\x72\x6f\x62\x6c\x65\x6d\x20\x69\x66\x20\x74\x68\x65\x20\x75\x73\x65\x72\x0a\x20\x20\x20\x20\x2f\x2f\x20\x6f\x70\x65\x6e\x73\x20\x75\x70\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x70\x61\x67\x65\x20\x69\x6e\x20\x61\x20\x64\x69\x66\x66\x65\x72\x65\x6e\x74\x20\x74\x61\x62\x2c\x20\x61\x6e\x64\x20\x74\x68\x61\x74\x20\x70\x61\x67\x65\x20\x72\x65\x67\x69\x73\x74\x65\x72\x73\x0a\x20\x20\x20\x20\x2f\x2f\x20\x61\x20\x53\x57\x20\x74\x68\x61\x74\x20\x74\x72\x69\x67\x67\x65\x72\x73\x20\x61\x6e\x20\x75\x70\x64\x61\x74\x65\x2e\x20\x49\x74\x27\x73\x20\x61\x20\x70\x72\x6f\x62\x6c\x65\x6d\x20\x62\x65\x63\x61\x75\x73\x65\x20\x74\x68\x69\x73\x20\x70\x61\x67\x65\x20\x68\x61\x73\x20\x6e\x6f\x0a\x20\x20\x20\x20\x2f\x2f\x20\x67\x6f\x6f\x64\x20\x77\x61\x79\x20\x6f\x66\x20\x6b\x6e\x6f\x77\x69\x6e\x67\x20\x77\x68\x65\x74\x68\x65\x72\x20\x74\x68\x65\x20\x60\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x60\x20\x65\x76\x65\x6e\x74\x20\x63\x61\x6d\x65\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x53\x57\x0a\x20\x20\x20\x20\x2f\x2f\x20\x73\x63\x72\x69\x70\x74\x20\x69\x74\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x6f\x72\x20\x66\x72\x6f\x6d\x20\x61\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x61\x74\x74\x65\x6d\x70\x74\x20\x6d\x61\x64\x65\x20\x62\x79\x20\x61\x20\x6e\x65\x77\x65\x72\x0a\x20\x20\x20\x20\x2f\x2f\x20\x76\x65\x72\x73\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x70\x61\x67\x65\x20\x72\x75\x6e\x6e\x69\x6e\x67\x20\x69\x6e\x20\x61\x6e\x6f\x74\x68\x65\x72\x20\x74\x61\x62\x2e\x0a\x20\x20\x20\x20\x2f\x2f\x20\x54\x6f\x20\x6d\x69\x6e\x69\x6d\x69\x7a\x65\x20\x74\x68\x65\x20\x70\x6f\x73\x73\x69\x62\x69\x6c\x69\x74\x79\x20\x6f\x66\x20\x61\x20\x66\x61\x6c\x73\x65\x20\x70\x6f\x73\x69\x74\x69\x76\x65\x2c\x20\x77\x65\x20\x75\x73\x65\x20\x74\x68\x65\x20\x6c\x6f\x67\x69\x63\x20\x68\x65\x72\x65\x3a\x0a\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x75\x70\x64\x61\x74\x65\x4c\x69\x6b\x65\x6c\x79\x54\x72\x69\x67\x67\x65\x72\x65\x64\x45\x78\x74\x65\x72\x6e\x61\x6c\x6c\x79\x20\x3d\x20\x2f\x2f\x20\x53\x69\x6e\x63\x65\x20\x77\x65\x20\x65\x6e\x66\x6f\x72\x63\x65\x20\x6f\x6e\x6c\x79\x20\x63\x61\x6c\x6c\x69\x6e\x67\x20\x60\x72\x65\x67\x69\x73\x74\x65\x72\x28\x29\x60\x20\x6f\x6e\x63\x65\x2c\x20\x61\x6e\x64\x20\x73\x69\x6e\x63\x65\x20\x77\x65\x20\x64\x6f\x6e\x27\x74\x0a\x20\x20\x20\x20\x2f\x2f\x20\x61\x64\x64\x20\x74\x68\x65\x20\x60\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x60\x20\x65\x76\x65\x6e\x74\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x20\x75\x6e\x74\x69\x6c\x20\x74\x68\x65\x20\x60\x72\x65\x67\x69\x73\x74\x65\x72\x28\x29\x60\x20\x63\x61\x6c\x6c\x2c\x20\x69\x66\x0a\x20\x20\x20\x20\x2f\x2f\x20\x60\x5f\x75\x70\x64\x61\x74\x65\x46\x6f\x75\x6e\x64\x43\x6f\x75\x6e\x74\x60\x20\x69\x73\x20\x3e\x20\x30\x20\x74\x68\x65\x6e\x20\x69\x74\x20\x6d\x65\x61\x6e\x73\x20\x74\x68\x69\x73\x20\x6d\x65\x74\x68\x6f\x64\x20\x68\x61\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x0a\x20\x20\x20\x20\x2f\x2f\x20\x62\x65\x65\x6e\x20\x63\x61\x6c\x6c\x65\x64\x2c\x20\x74\x68\x75\x73\x20\x74\x68\x69\x73\x20\x53\x57\x20\x6d\x75\x73\x74\x20\x62\x65\x20\x65\x78\x74\x65\x72\x6e\x61\x6c\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x75\x70\x64\x61\x74\x65\x46\x6f\x75\x6e\x64\x43\x6f\x75\x6e\x74\x20\x3e\x20\x30\x20\x7c\x7c\x20\x2f\x2f\x20\x49\x66\x20\x74\x68\x65\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x20\x6f\x66\x20\x74\x68\x65\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x20\x53\x57\x20\x69\x73\x20\x64\x69\x66\x66\x65\x72\x65\x6e\x74\x20\x66\x72\x6f\x6d\x20\x74\x68\x69\x73\x0a\x20\x20\x20\x20\x2f\x2f\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x27\x73\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x2c\x20\x77\x65\x20\x6b\x6e\x6f\x77\x20\x69\x74\x27\x73\x20\x64\x65\x66\x69\x6e\x69\x74\x65\x6c\x79\x20\x6e\x6f\x74\x20\x66\x72\x6f\x6d\x20\x6f\x75\x72\x0a\x20\x20\x20\x20\x2f\x2f\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x2e\x0a\x20\x20\x20\x20\x21\x75\x72\x6c\x73\x4d\x61\x74\x63\x68\x28\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x53\x57\x2e\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x2c\x20\x74\x68\x69\x73\x2e\x5f\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x29\x20\x7c\x7c\x20\x2f\x2f\x20\x49\x66\x20\x61\x6c\x6c\x20\x6f\x66\x20\x74\x68\x65\x20\x61\x62\x6f\x76\x65\x20\x61\x72\x65\x20\x66\x61\x6c\x73\x65\x2c\x20\x74\x68\x65\x6e\x20\x77\x65\x20\x75\x73\x65\x20\x61\x20\x74\x69\x6d\x65\x2d\x62\x61\x73\x65\x64\x20\x68\x65\x75\x72\x69\x73\x74\x69\x63\x3a\x0a\x20\x20\x20\x20\x2f\x2f\x20\x41\x6e\x79\x20\x60\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x60\x20\x65\x76\x65\x6e\x74\x20\x74\x68\x61\x74\x20\x6f\x63\x63\x75\x72\x73\x20\x6c\x6f\x6e\x67\x20\x61\x66\x74\x65\x72\x20\x6f\x75\x72\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x69\x73\x0a\x20\x20\x20\x20\x2f\x2f\x20\x61\x73\x73\x75\x6d\x65\x64\x20\x74\x6f\x20\x62\x65\x20\x65\x78\x74\x65\x72\x6e\x61\x6c\x2e\x0a\x20\x20\x20\x20\x70\x65\x72\x66\x6f\x72\x6d\x61\x6e\x63\x65\x2e\x6e\x6f\x77\x28\x29\x20\x3e\x20\x74\x68\x69\x73\x2e\x5f\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x54\x69\x6d\x65\x20\x2b\x20\x52\x45\x47\x49\x53\x54\x52\x41\x54\x49\x4f\x4e\x5f\x54\x49\x4d\x45\x4f\x55\x54\x5f\x44\x55\x52\x41\x54\x49\x4f\x4e\x20\x3f\x20\x2f\x2f\x20\x49\x66\x20\x61\x6e\x79\x20\x6f\x66\x20\x74\x68\x65\x20\x61\x62\x6f\x76\x65\x20\x61\x72\x65\x20\x6e\x6f\x74\x20\x74\x72\x75\x65\x2c\x20\x77\x65\x20\x61\x73\x73\x75\x6d\x65\x20\x74\x68\x65\x20\x75\x70\x64\x61\x74\x65\x20\x77\x61\x73\x0a\x20\x20\x20\x20\x2f\x2f\x20\x74\x72\x69\x67\x67\x65\x72\x65\x64\x20\x62\x79\x20\x74\x68\x69\x73\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x2e\x0a\x20\x20\x20\x20\x74\x72\x75\x65\x20\x3a\x20\x66\x61\x6c\x73\x65\x3b\x0a\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x75\x70\x64\x61\x74\x65\x4c\x69\x6b\x65\x6c\x79\x54\x72\x69\x67\x67\x65\x72\x65\x64\x45\x78\x74\x65\x72\x6e\x61\x6c\x6c\x79\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x65\x78\x74\x65\x72\x6e\x61\x6c\x53\x57\x20\x3d\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x53\x57\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x2e\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x27\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x27\x2c\x20\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x55\x70\x64\x61\x74\x65\x46\x6f\x75\x6e\x64\x29\x3b\x0a\x20\x20\x20\x20\x7d\x20\x65\x6c\x73\x65\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x49\x66\x20\x74\x68\x65\x20\x75\x70\x64\x61\x74\x65\x20\x77\x61\x73\x20\x6e\x6f\x74\x20\x74\x72\x69\x67\x67\x65\x72\x65\x64\x20\x65\x78\x74\x65\x72\x6e\x61\x6c\x6c\x79\x20\x77\x65\x20\x6b\x6e\x6f\x77\x20\x74\x68\x65\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x53\x57\x20\x69\x73\x20\x74\x68\x65\x20\x6f\x6e\x65\x20\x77\x65\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x2c\x20\x73\x6f\x20\x77\x65\x20\x73\x65\x74\x20\x69\x74\x2e\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x73\x77\x20\x3d\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x53\x57\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x73\x77\x44\x65\x66\x65\x72\x72\x65\x64\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x53\x57\x29\x3b\x20\x2f\x2f\x20\x54\x68\x65\x20\x60\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x60\x20\x73\x74\x61\x74\x65\x20\x69\x73\x6e\x27\x74\x20\x73\x6f\x6d\x65\x74\x68\x69\x6e\x67\x20\x77\x65\x20\x68\x61\x76\x65\x20\x61\x20\x64\x65\x64\x69\x63\x61\x74\x65\x64\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x63\x61\x6c\x6c\x62\x61\x63\x6b\x20\x66\x6f\x72\x2c\x20\x62\x75\x74\x20\x77\x65\x20\x64\x6f\x20\x6c\x6f\x67\x20\x6d\x65\x73\x73\x61\x67\x65\x73\x20\x66\x6f\x72\x20\x69\x74\x20\x69\x6e\x20\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x2e\x0a\x0a\x0a\x20\x20\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x6c\x6f\x67\x28\x27\x55\x70\x64\x61\x74\x65\x64\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x66\x6f\x75\x6e\x64\x2e\x20\x49\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x20\x6e\x6f\x77\x2e\x2e\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x20\x65\x6c\x73\x65\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x6c\x6f\x67\x28\x27\x53\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x69\x73\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x2e\x2e\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x7d\x20\x2f\x2f\x20\x49\x6e\x63\x72\x65\x6d\x65\x6e\x74\x20\x74\x68\x65\x20\x60\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x60\x20\x63\x6f\x75\x6e\x74\x2c\x20\x73\x6f\x20\x66\x75\x74\x75\x72\x65\x20\x69\x6e\x76\x6f\x63\x61\x74\x69\x6f\x6e\x73\x20\x6f\x66\x20\x74\x68\x69\x73\x0a\x20\x20\x20\x20\x2f\x2f\x20\x6d\x65\x74\x68\x6f\x64\x20\x63\x61\x6e\x20\x62\x65\x20\x73\x75\x72\x65\x20\x74\x68\x65\x79\x20\x77\x65\x72\x65\x20\x74\x72\x69\x67\x67\x65\x72\x65\x64\x20\x65\x78\x74\x65\x72\x6e\x61\x6c\x6c\x79\x2e\x0a\x0a\x0a\x20\x20\x20\x20\x2b\x2b\x74\x68\x69\x73\x2e\x5f\x75\x70\x64\x61\x74\x65\x46\x6f\x75\x6e\x64\x43\x6f\x75\x6e\x74\x3b\x20\x2f\x2f\x20\x41\x64\x64\x20\x61\x20\x60\x73\x74\x61\x74\x65\x63\x68\x61\x6e\x67\x65\x60\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x20\x72\x65\x67\x61\x72\x64\x6c\x65\x73\x73\x20\x6f\x66\x20\x77\x68\x65\x74\x68\x65\x72\x20\x74\x68\x69\x73\x20\x75\x70\x64\x61\x74\x65\x20\x77\x61\x73\x0a\x20\x20\x20\x20\x2f\x2f\x20\x74\x72\x69\x67\x67\x65\x72\x65\x64\x20\x65\x78\x74\x65\x72\x6e\x61\x6c\x6c\x79\x2c\x20\x73\x69\x6e\x63\x65\x20\x77\x65\x20\x68\x61\x76\x65\x20\x63\x61\x6c\x6c\x62\x61\x63\x6b\x73\x20\x66\x6f\x72\x20\x62\x6f\x74\x68\x2e\x0a\x0a\x20\x20\x20\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x53\x57\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x27\x73\x74\x61\x74\x65\x63\x68\x61\x6e\x67\x65\x27\x2c\x20\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x53\x74\x61\x74\x65\x43\x68\x61\x6e\x67\x65\x29\x3b\x0a\x20\x20\x7d\x3b\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x45\x76\x65\x6e\x74\x7d\x20\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x5f\x70\x72\x6f\x74\x6f\x2e\x5f\x6f\x6e\x53\x74\x61\x74\x65\x43\x68\x61\x6e\x67\x65\x20\x3d\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x5f\x6f\x6e\x53\x74\x61\x74\x65\x43\x68\x61\x6e\x67\x65\x28\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x29\x20\x7b\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x5f\x74\x68\x69\x73\x36\x20\x3d\x20\x74\x68\x69\x73\x3b\x0a\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x73\x77\x20\x3d\x20\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x2e\x74\x61\x72\x67\x65\x74\x3b\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x73\x74\x61\x74\x65\x20\x3d\x20\x73\x77\x2e\x73\x74\x61\x74\x65\x3b\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x69\x73\x45\x78\x74\x65\x72\x6e\x61\x6c\x20\x3d\x20\x73\x77\x20\x3d\x3d\x3d\x20\x74\x68\x69\x73\x2e\x5f\x65\x78\x74\x65\x72\x6e\x61\x6c\x53\x57\x3b\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x65\x76\x65\x6e\x74\x50\x72\x65\x66\x69\x78\x20\x3d\x20\x69\x73\x45\x78\x74\x65\x72\x6e\x61\x6c\x20\x3f\x20\x27\x65\x78\x74\x65\x72\x6e\x61\x6c\x27\x20\x3a\x20\x27\x27\x3b\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x65\x76\x65\x6e\x74\x50\x72\x6f\x70\x73\x20\x3d\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x73\x77\x3a\x20\x73\x77\x2c\x0a\x20\x20\x20\x20\x20\x20\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x3a\x20\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x0a\x20\x20\x20\x20\x7d\x3b\x0a\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x21\x69\x73\x45\x78\x74\x65\x72\x6e\x61\x6c\x20\x26\x26\x20\x74\x68\x69\x73\x2e\x5f\x69\x73\x55\x70\x64\x61\x74\x65\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x65\x76\x65\x6e\x74\x50\x72\x6f\x70\x73\x2e\x69\x73\x55\x70\x64\x61\x74\x65\x20\x3d\x20\x74\x72\x75\x65\x3b\x0a\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x6e\x65\x77\x20\x57\x6f\x72\x6b\x62\x6f\x78\x45\x76\x65\x6e\x74\x28\x65\x76\x65\x6e\x74\x50\x72\x65\x66\x69\x78\x20\x2b\x20\x73\x74\x61\x74\x65\x2c\x20\x65\x76\x65\x6e\x74\x50\x72\x6f\x70\x73\x29\x29\x3b\x0a\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x73\x74\x61\x74\x65\x20\x3d\x3d\x3d\x20\x27\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x27\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x54\x68\x69\x73\x20\x74\x69\x6d\x65\x6f\x75\x74\x20\x69\x73\x20\x75\x73\x65\x64\x20\x74\x6f\x20\x69\x67\x6e\x6f\x72\x65\x20\x63\x61\x73\x65\x73\x20\x77\x68\x65\x72\x65\x20\x74\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x63\x61\x6c\x6c\x73\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x60\x73\x6b\x69\x70\x57\x61\x69\x74\x69\x6e\x67\x28\x29\x60\x20\x69\x6e\x20\x74\x68\x65\x20\x69\x6e\x73\x74\x61\x6c\x6c\x20\x65\x76\x65\x6e\x74\x2c\x20\x74\x68\x75\x73\x20\x6d\x6f\x76\x69\x6e\x67\x20\x69\x74\x20\x64\x69\x72\x65\x63\x74\x6c\x79\x20\x69\x6e\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x61\x63\x74\x69\x76\x61\x74\x69\x6e\x67\x20\x73\x74\x61\x74\x65\x2e\x20\x28\x53\x69\x6e\x63\x65\x20\x61\x6c\x6c\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x73\x20\x2a\x6d\x75\x73\x74\x2a\x20\x67\x6f\x20\x74\x68\x72\x6f\x75\x67\x68\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x77\x61\x69\x74\x69\x6e\x67\x20\x70\x68\x61\x73\x65\x2c\x20\x74\x68\x65\x20\x6f\x6e\x6c\x79\x20\x77\x61\x79\x20\x74\x6f\x20\x64\x65\x74\x65\x63\x74\x20\x60\x73\x6b\x69\x70\x57\x61\x69\x74\x69\x6e\x67\x28\x29\x60\x20\x63\x61\x6c\x6c\x65\x64\x20\x69\x6e\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x69\x6e\x73\x74\x61\x6c\x6c\x20\x65\x76\x65\x6e\x74\x20\x69\x73\x20\x74\x6f\x20\x6f\x62\x73\x65\x72\x76\x65\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x74\x69\x6d\x65\x20\x73\x70\x65\x6e\x74\x20\x69\x6e\x20\x74\x68\x65\x20\x77\x61\x69\x74\x69\x6e\x67\x20\x70\x68\x61\x73\x65\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x69\x73\x20\x76\x65\x72\x79\x20\x73\x68\x6f\x72\x74\x2e\x29\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x4e\x4f\x54\x45\x3a\x20\x77\x65\x20\x64\x6f\x6e\x27\x74\x20\x6e\x65\x65\x64\x20\x73\x65\x70\x61\x72\x61\x74\x65\x20\x74\x69\x6d\x65\x6f\x75\x74\x73\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x6f\x77\x6e\x20\x61\x6e\x64\x20\x65\x78\x74\x65\x72\x6e\x61\x6c\x20\x53\x57\x73\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x73\x69\x6e\x63\x65\x20\x74\x68\x65\x79\x20\x63\x61\x6e\x27\x74\x20\x67\x6f\x20\x74\x68\x72\x6f\x75\x67\x68\x20\x74\x68\x65\x73\x65\x20\x70\x68\x61\x73\x65\x73\x20\x61\x74\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x74\x69\x6d\x65\x2e\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x77\x61\x69\x74\x69\x6e\x67\x54\x69\x6d\x65\x6f\x75\x74\x20\x3d\x20\x73\x65\x74\x54\x69\x6d\x65\x6f\x75\x74\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x45\x6e\x73\x75\x72\x65\x20\x74\x68\x65\x20\x53\x57\x20\x69\x73\x20\x73\x74\x69\x6c\x6c\x20\x77\x61\x69\x74\x69\x6e\x67\x20\x28\x69\x74\x20\x6d\x61\x79\x20\x6e\x6f\x77\x20\x62\x65\x20\x72\x65\x64\x75\x6e\x64\x61\x6e\x74\x29\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x73\x74\x61\x74\x65\x20\x3d\x3d\x3d\x20\x27\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x27\x20\x26\x26\x20\x5f\x74\x68\x69\x73\x36\x2e\x5f\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x2e\x77\x61\x69\x74\x69\x6e\x67\x20\x3d\x3d\x3d\x20\x73\x77\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x74\x68\x69\x73\x36\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x6e\x65\x77\x20\x57\x6f\x72\x6b\x62\x6f\x78\x45\x76\x65\x6e\x74\x28\x65\x76\x65\x6e\x74\x50\x72\x65\x66\x69\x78\x20\x2b\x20\x27\x77\x61\x69\x74\x69\x6e\x67\x27\x2c\x20\x65\x76\x65\x6e\x74\x50\x72\x6f\x70\x73\x29\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x69\x73\x45\x78\x74\x65\x72\x6e\x61\x6c\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x77\x61\x72\x6e\x28\x27\x41\x6e\x20\x65\x78\x74\x65\x72\x6e\x61\x6c\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x68\x61\x73\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x20\x62\x75\x74\x20\x69\x73\x20\x27\x20\x2b\x20\x27\x77\x61\x69\x74\x69\x6e\x67\x20\x66\x6f\x72\x20\x74\x68\x69\x73\x20\x63\x6c\x69\x65\x6e\x74\x20\x74\x6f\x20\x63\x6c\x6f\x73\x65\x20\x62\x65\x66\x6f\x72\x65\x20\x61\x63\x74\x69\x76\x61\x74\x69\x6e\x67\x2e\x2e\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x20\x65\x6c\x73\x65\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x77\x61\x72\x6e\x28\x27\x54\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x68\x61\x73\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x20\x62\x75\x74\x20\x69\x73\x20\x77\x61\x69\x74\x69\x6e\x67\x20\x27\x20\x2b\x20\x27\x66\x6f\x72\x20\x65\x78\x69\x73\x74\x69\x6e\x67\x20\x63\x6c\x69\x65\x6e\x74\x73\x20\x74\x6f\x20\x63\x6c\x6f\x73\x65\x20\x62\x65\x66\x6f\x72\x65\x20\x61\x63\x74\x69\x76\x61\x74\x69\x6e\x67\x2e\x2e\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x7d\x2c\x20\x57\x41\x49\x54\x49\x4e\x47\x5f\x54\x49\x4d\x45\x4f\x55\x54\x5f\x44\x55\x52\x41\x54\x49\x4f\x4e\x29\x3b\x0a\x20\x20\x20\x20\x7d\x20\x65\x6c\x73\x65\x20\x69\x66\x20\x28\x73\x74\x61\x74\x65\x20\x3d\x3d\x3d\x20\x27\x61\x63\x74\x69\x76\x61\x74\x69\x6e\x67\x27\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x63\x6c\x65\x61\x72\x54\x69\x6d\x65\x6f\x75\x74\x28\x74\x68\x69\x73\x2e\x5f\x77\x61\x69\x74\x69\x6e\x67\x54\x69\x6d\x65\x6f\x75\x74\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x69\x73\x45\x78\x74\x65\x72\x6e\x61\x6c\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x61\x63\x74\x69\x76\x65\x44\x65\x66\x65\x72\x72\x65\x64\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x73\x77\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x73\x77\x69\x74\x63\x68\x20\x28\x73\x74\x61\x74\x65\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x27\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x27\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x69\x73\x45\x78\x74\x65\x72\x6e\x61\x6c\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x77\x61\x72\x6e\x28\x27\x41\x6e\x20\x65\x78\x74\x65\x72\x6e\x61\x6c\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x68\x61\x73\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x2e\x20\x27\x20\x2b\x20\x27\x59\x6f\x75\x20\x6d\x61\x79\x20\x77\x61\x6e\x74\x20\x74\x6f\x20\x73\x75\x67\x67\x65\x73\x74\x20\x75\x73\x65\x72\x73\x20\x72\x65\x6c\x6f\x61\x64\x20\x74\x68\x69\x73\x20\x70\x61\x67\x65\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x20\x65\x6c\x73\x65\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x6c\x6f\x67\x28\x27\x52\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x72\x65\x61\x6b\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x27\x61\x63\x74\x69\x76\x61\x74\x65\x64\x27\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x69\x73\x45\x78\x74\x65\x72\x6e\x61\x6c\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x77\x61\x72\x6e\x28\x27\x41\x6e\x20\x65\x78\x74\x65\x72\x6e\x61\x6c\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x68\x61\x73\x20\x61\x63\x74\x69\x76\x61\x74\x65\x64\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x20\x65\x6c\x73\x65\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x6c\x6f\x67\x28\x27\x52\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x61\x63\x74\x69\x76\x61\x74\x65\x64\x2e\x27\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x73\x77\x20\x21\x3d\x3d\x20\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x77\x61\x72\x6e\x28\x27\x54\x68\x65\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x69\x73\x20\x61\x63\x74\x69\x76\x65\x20\x62\x75\x74\x20\x27\x20\x2b\x20\x27\x6e\x6f\x74\x20\x79\x65\x74\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x74\x68\x65\x20\x70\x61\x67\x65\x2e\x20\x52\x65\x6c\x6f\x61\x64\x20\x6f\x72\x20\x72\x75\x6e\x20\x27\x20\x2b\x20\x27\x60\x63\x6c\x69\x65\x6e\x74\x73\x2e\x63\x6c\x61\x69\x6d\x28\x29\x60\x20\x69\x6e\x20\x74\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x72\x65\x61\x6b\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x27\x72\x65\x64\x75\x6e\x64\x61\x6e\x74\x27\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x73\x77\x20\x3d\x3d\x3d\x20\x74\x68\x69\x73\x2e\x5f\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x6c\x6f\x67\x28\x27\x50\x72\x65\x76\x69\x6f\x75\x73\x6c\x79\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x6e\x6f\x77\x20\x72\x65\x64\x75\x6e\x64\x61\x6e\x74\x21\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x20\x65\x6c\x73\x65\x20\x69\x66\x20\x28\x21\x69\x73\x45\x78\x74\x65\x72\x6e\x61\x6c\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x6c\x6f\x67\x28\x27\x52\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x6e\x6f\x77\x20\x72\x65\x64\x75\x6e\x64\x61\x6e\x74\x21\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x72\x65\x61\x6b\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x7d\x3b\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x45\x76\x65\x6e\x74\x7d\x20\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x5f\x70\x72\x6f\x74\x6f\x2e\x5f\x6f\x6e\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x43\x68\x61\x6e\x67\x65\x20\x3d\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x5f\x6f\x6e\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x43\x68\x61\x6e\x67\x65\x28\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x29\x20\x7b\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x73\x77\x20\x3d\x20\x74\x68\x69\x73\x2e\x5f\x73\x77\x3b\x0a\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x73\x77\x20\x3d\x3d\x3d\x20\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x6e\x65\x77\x20\x57\x6f\x72\x6b\x62\x6f\x78\x45\x76\x65\x6e\x74\x28\x27\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x27\x2c\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x77\x3a\x20\x73\x77\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x3a\x20\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x0a\x20\x20\x20\x20\x20\x20\x7d\x29\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x6c\x6f\x67\x28\x27\x52\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x6e\x6f\x77\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x74\x68\x69\x73\x20\x70\x61\x67\x65\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x44\x65\x66\x65\x72\x72\x65\x64\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x73\x77\x29\x3b\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x7d\x3b\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x45\x76\x65\x6e\x74\x7d\x20\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x5f\x70\x72\x6f\x74\x6f\x2e\x5f\x6f\x6e\x4d\x65\x73\x73\x61\x67\x65\x20\x3d\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x5f\x6f\x6e\x4d\x65\x73\x73\x61\x67\x65\x28\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x29\x20\x7b\x0a\x20\x20\x20\x20\x76\x61\x72\x20\x64\x61\x74\x61\x20\x3d\x20\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x2e\x64\x61\x74\x61\x3b\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x6e\x65\x77\x20\x57\x6f\x72\x6b\x62\x6f\x78\x45\x76\x65\x6e\x74\x28\x27\x6d\x65\x73\x73\x61\x67\x65\x27\x2c\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x64\x61\x74\x61\x3a\x20\x64\x61\x74\x61\x2c\x0a\x20\x20\x20\x20\x20\x20\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x3a\x20\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x0a\x20\x20\x20\x20\x7d\x29\x29\x3b\x0a\x20\x20\x7d\x3b\x0a\x0a\x20\x20\x5f\x63\x72\x65\x61\x74\x65\x43\x6c\x61\x73\x73\x28\x57\x6f\x72\x6b\x62\x6f\x78\x2c\x20\x5b\x7b\x0a\x20\x20\x20\x20\x6b\x65\x79\x3a\x20\x22\x61\x63\x74\x69\x76\x65\x22\x2c\x0a\x20\x20\x20\x20\x67\x65\x74\x3a\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x67\x65\x74\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x5f\x61\x63\x74\x69\x76\x65\x44\x65\x66\x65\x72\x72\x65\x64\x2e\x70\x72\x6f\x6d\x69\x73\x65\x3b\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x20\x20\x2a\x20\x52\x65\x73\x6f\x6c\x76\x65\x73\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x62\x79\x20\x74\x68\x69\x73\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x20\x61\x73\x20\x73\x6f\x6f\x6e\x20\x61\x73\x20\x69\x74\x0a\x20\x20\x20\x20\x20\x2a\x20\x69\x73\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x74\x68\x65\x20\x70\x61\x67\x65\x2e\x20\x49\x66\x20\x61\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x77\x61\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x61\x74\x0a\x20\x20\x20\x20\x20\x2a\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x74\x69\x6d\x65\x20\x74\x68\x65\x6e\x20\x69\x74\x20\x77\x69\x6c\x6c\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x74\x6f\x20\x74\x68\x61\x74\x20\x69\x66\x20\x74\x68\x65\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x73\x20\x28\x61\x6e\x64\x0a\x20\x20\x20\x20\x20\x2a\x20\x6f\x70\x74\x69\x6f\x6e\x61\x6c\x6c\x79\x20\x73\x63\x72\x69\x70\x74\x20\x76\x65\x72\x73\x69\x6f\x6e\x73\x29\x20\x6d\x61\x74\x63\x68\x2c\x20\x6f\x74\x68\x65\x72\x77\x69\x73\x65\x20\x69\x74\x20\x77\x69\x6c\x6c\x20\x77\x61\x69\x74\x20\x75\x6e\x74\x69\x6c\x20\x61\x6e\x20\x75\x70\x64\x61\x74\x65\x0a\x20\x20\x20\x20\x20\x2a\x20\x69\x73\x20\x66\x6f\x75\x6e\x64\x20\x61\x6e\x64\x20\x73\x74\x61\x72\x74\x73\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x74\x68\x65\x20\x70\x61\x67\x65\x2e\x0a\x20\x20\x20\x20\x20\x2a\x20\x4e\x6f\x74\x65\x3a\x20\x74\x68\x65\x20\x66\x69\x72\x73\x74\x20\x74\x69\x6d\x65\x20\x61\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x69\x73\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x20\x69\x74\x20\x77\x69\x6c\x6c\x20\x61\x63\x74\x69\x76\x65\x20\x62\x75\x74\x0a\x20\x20\x20\x20\x20\x2a\x20\x6e\x6f\x74\x20\x73\x74\x61\x72\x74\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x74\x68\x65\x20\x70\x61\x67\x65\x20\x75\x6e\x6c\x65\x73\x73\x20\x60\x63\x6c\x69\x65\x6e\x74\x73\x2e\x63\x6c\x61\x69\x6d\x28\x29\x60\x20\x69\x73\x20\x63\x61\x6c\x6c\x65\x64\x20\x69\x6e\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x2a\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x2e\x0a\x20\x20\x20\x20\x20\x2a\x0a\x20\x20\x20\x20\x20\x2a\x20\x40\x72\x65\x74\x75\x72\x6e\x20\x7b\x50\x72\x6f\x6d\x69\x73\x65\x3c\x53\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x3e\x7d\x0a\x20\x20\x20\x20\x20\x2a\x2f\x0a\x0a\x20\x20\x7d\x2c\x20\x7b\x0a\x20\x20\x20\x20\x6b\x65\x79\x3a\x20\x22\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x22\x2c\x0a\x20\x20\x20\x20\x67\x65\x74\x3a\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x67\x65\x74\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x44\x65\x66\x65\x72\x72\x65\x64\x2e\x70\x72\x6f\x6d\x69\x73\x65\x3b\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x7d\x5d\x29\x3b\x0a\x0a\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x57\x6f\x72\x6b\x62\x6f\x78\x3b\x0a\x7d\x28\x45\x76\x65\x6e\x74\x54\x61\x72\x67\x65\x74\x53\x68\x69\x6d\x29\x3b\x20\x2f\x2f\x20\x54\x68\x65\x20\x6a\x73\x64\x6f\x63\x20\x63\x6f\x6d\x6d\x65\x6e\x74\x73\x20\x62\x65\x6c\x6f\x77\x20\x6f\x75\x74\x6c\x69\x6e\x65\x20\x74\x68\x65\x20\x65\x76\x65\x6e\x74\x73\x20\x74\x68\x69\x73\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x20\x6d\x61\x79\x20\x64\x69\x73\x70\x61\x74\x63\x68\x3a\x0a\x0a\x2f\x2a\x0a\x20\x20\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x39\x20\x47\x6f\x6f\x67\x6c\x65\x20\x4c\x4c\x43\x0a\x0a\x20\x20\x55\x73\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x73\x6f\x75\x72\x63\x65\x20\x63\x6f\x64\x65\x20\x69\x73\x20\x67\x6f\x76\x65\x72\x6e\x65\x64\x20\x62\x79\x20\x61\x6e\x20\x4d\x49\x54\x2d\x73\x74\x79\x6c\x65\x0a\x20\x20\x6c\x69\x63\x65\x6e\x73\x65\x20\x74\x68\x61\x74\x20\x63\x61\x6e\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x4c\x49\x43\x45\x4e\x53\x45\x20\x66\x69\x6c\x65\x20\x6f\x72\x20\x61\x74\x0a\x20\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6f\x70\x65\x6e\x73\x6f\x75\x72\x63\x65\x2e\x6f\x72\x67\x2f\x6c\x69\x63\x65\x6e\x73\x65\x73\x2f\x4d\x49\x54\x2e\x0a\x2a\x2f\x0a\x0a\x65\x78\x70\x6f\x72\x74\x20\x7b\x20\x57\x6f\x72\x6b\x62\x6f\x78\x2c\x20\x6d\x65\x73\x73\x61\x67\x65\x53\x57\x20\x7d\x3b\x0a\x2f\x2f\x23\x20\x73\x6f\x75\x72\x63\x65\x4d\x61\x70\x70\x69\x6e\x67\x55\x52\x4c\x3d\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x64\x65\x76\x2e\x65\x73\x35\x2e\x6d\x6a\x73\x2e\x6d\x61\x70\x0a" + +func workboxV431WorkboxWindowDevEs5MjsBytes() ([]byte, error) { + return bindataRead( + _workboxV431WorkboxWindowDevEs5Mjs, + "workbox-v4.3.1/workbox-window.dev.es5.mjs", + ) +} + +func workboxV431WorkboxWindowDevEs5Mjs() (*asset, error) { + bytes, err := workboxV431WorkboxWindowDevEs5MjsBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "workbox-v4.3.1/workbox-window.dev.es5.mjs", size: 28564, mode: os.FileMode(420), modTime: time.Unix(1560038421, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _workboxV431WorkboxWindowDevMjs = "\x74\x72\x79\x20\x7b\x0a\x20\x20\x73\x65\x6c\x66\x5b\x27\x77\x6f\x72\x6b\x62\x6f\x78\x3a\x77\x69\x6e\x64\x6f\x77\x3a\x34\x2e\x33\x2e\x31\x27\x5d\x20\x26\x26\x20\x5f\x28\x29\x3b\x0a\x7d\x20\x63\x61\x74\x63\x68\x20\x28\x65\x29\x20\x7b\x7d\x20\x2f\x2f\x20\x65\x73\x6c\x69\x6e\x74\x2d\x64\x69\x73\x61\x62\x6c\x65\x2d\x6c\x69\x6e\x65\x0a\x0a\x2f\x2a\x0a\x20\x20\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x39\x20\x47\x6f\x6f\x67\x6c\x65\x20\x4c\x4c\x43\x0a\x0a\x20\x20\x55\x73\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x73\x6f\x75\x72\x63\x65\x20\x63\x6f\x64\x65\x20\x69\x73\x20\x67\x6f\x76\x65\x72\x6e\x65\x64\x20\x62\x79\x20\x61\x6e\x20\x4d\x49\x54\x2d\x73\x74\x79\x6c\x65\x0a\x20\x20\x6c\x69\x63\x65\x6e\x73\x65\x20\x74\x68\x61\x74\x20\x63\x61\x6e\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x4c\x49\x43\x45\x4e\x53\x45\x20\x66\x69\x6c\x65\x20\x6f\x72\x20\x61\x74\x0a\x20\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6f\x70\x65\x6e\x73\x6f\x75\x72\x63\x65\x2e\x6f\x72\x67\x2f\x6c\x69\x63\x65\x6e\x73\x65\x73\x2f\x4d\x49\x54\x2e\x0a\x2a\x2f\x0a\x2f\x2a\x2a\x0a\x20\x2a\x20\x53\x65\x6e\x64\x73\x20\x61\x20\x64\x61\x74\x61\x20\x6f\x62\x6a\x65\x63\x74\x20\x74\x6f\x20\x61\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x76\x69\x61\x20\x60\x70\x6f\x73\x74\x4d\x65\x73\x73\x61\x67\x65\x60\x20\x61\x6e\x64\x20\x72\x65\x73\x6f\x6c\x76\x65\x73\x20\x77\x69\x74\x68\x0a\x20\x2a\x20\x61\x20\x72\x65\x73\x70\x6f\x6e\x73\x65\x20\x28\x69\x66\x20\x61\x6e\x79\x29\x2e\x0a\x20\x2a\x0a\x20\x2a\x20\x41\x20\x72\x65\x73\x70\x6f\x6e\x73\x65\x20\x63\x61\x6e\x20\x62\x65\x20\x73\x65\x74\x20\x69\x6e\x20\x61\x20\x6d\x65\x73\x73\x61\x67\x65\x20\x68\x61\x6e\x64\x6c\x65\x72\x20\x69\x6e\x20\x74\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x62\x79\x0a\x20\x2a\x20\x63\x61\x6c\x6c\x69\x6e\x67\x20\x60\x65\x76\x65\x6e\x74\x2e\x70\x6f\x72\x74\x73\x5b\x30\x5d\x2e\x70\x6f\x73\x74\x4d\x65\x73\x73\x61\x67\x65\x28\x2e\x2e\x2e\x29\x60\x2c\x20\x77\x68\x69\x63\x68\x20\x77\x69\x6c\x6c\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x74\x68\x65\x20\x70\x72\x6f\x6d\x69\x73\x65\x0a\x20\x2a\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x20\x62\x79\x20\x60\x6d\x65\x73\x73\x61\x67\x65\x53\x57\x28\x29\x60\x2e\x20\x49\x66\x20\x6e\x6f\x20\x72\x65\x73\x70\x6f\x6e\x73\x65\x20\x69\x73\x20\x73\x65\x74\x2c\x20\x74\x68\x65\x20\x70\x72\x6f\x6d\x69\x73\x65\x20\x77\x69\x6c\x6c\x20\x6e\x6f\x74\x0a\x20\x2a\x20\x72\x65\x73\x6f\x6c\x76\x65\x2e\x0a\x20\x2a\x0a\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x53\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x7d\x20\x73\x77\x20\x54\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x74\x6f\x20\x73\x65\x6e\x64\x20\x74\x68\x65\x20\x6d\x65\x73\x73\x61\x67\x65\x20\x74\x6f\x2e\x0a\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x4f\x62\x6a\x65\x63\x74\x7d\x20\x64\x61\x74\x61\x20\x41\x6e\x20\x6f\x62\x6a\x65\x63\x74\x20\x74\x6f\x20\x73\x65\x6e\x64\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x2e\x0a\x20\x2a\x20\x40\x72\x65\x74\x75\x72\x6e\x20\x7b\x50\x72\x6f\x6d\x69\x73\x65\x3c\x4f\x62\x6a\x65\x63\x74\x7c\x75\x6e\x64\x65\x66\x69\x6e\x65\x64\x3e\x7d\x0a\x20\x2a\x0a\x20\x2a\x20\x40\x6d\x65\x6d\x62\x65\x72\x6f\x66\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x0a\x20\x2a\x2f\x0a\x0a\x63\x6f\x6e\x73\x74\x20\x6d\x65\x73\x73\x61\x67\x65\x53\x57\x20\x3d\x20\x28\x73\x77\x2c\x20\x64\x61\x74\x61\x29\x20\x3d\x3e\x20\x7b\x0a\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x6e\x65\x77\x20\x50\x72\x6f\x6d\x69\x73\x65\x28\x72\x65\x73\x6f\x6c\x76\x65\x20\x3d\x3e\x20\x7b\x0a\x20\x20\x20\x20\x6c\x65\x74\x20\x6d\x65\x73\x73\x61\x67\x65\x43\x68\x61\x6e\x6e\x65\x6c\x20\x3d\x20\x6e\x65\x77\x20\x4d\x65\x73\x73\x61\x67\x65\x43\x68\x61\x6e\x6e\x65\x6c\x28\x29\x3b\x0a\x0a\x20\x20\x20\x20\x6d\x65\x73\x73\x61\x67\x65\x43\x68\x61\x6e\x6e\x65\x6c\x2e\x70\x6f\x72\x74\x31\x2e\x6f\x6e\x6d\x65\x73\x73\x61\x67\x65\x20\x3d\x20\x65\x76\x74\x20\x3d\x3e\x20\x72\x65\x73\x6f\x6c\x76\x65\x28\x65\x76\x74\x2e\x64\x61\x74\x61\x29\x3b\x0a\x0a\x20\x20\x20\x20\x73\x77\x2e\x70\x6f\x73\x74\x4d\x65\x73\x73\x61\x67\x65\x28\x64\x61\x74\x61\x2c\x20\x5b\x6d\x65\x73\x73\x61\x67\x65\x43\x68\x61\x6e\x6e\x65\x6c\x2e\x70\x6f\x72\x74\x32\x5d\x29\x3b\x0a\x20\x20\x7d\x29\x3b\x0a\x7d\x3b\x0a\x0a\x74\x72\x79\x20\x7b\x0a\x20\x20\x73\x65\x6c\x66\x5b\x27\x77\x6f\x72\x6b\x62\x6f\x78\x3a\x63\x6f\x72\x65\x3a\x34\x2e\x33\x2e\x31\x27\x5d\x20\x26\x26\x20\x5f\x28\x29\x3b\x0a\x7d\x20\x63\x61\x74\x63\x68\x20\x28\x65\x29\x20\x7b\x7d\x20\x2f\x2f\x20\x65\x73\x6c\x69\x6e\x74\x2d\x64\x69\x73\x61\x62\x6c\x65\x2d\x6c\x69\x6e\x65\x0a\x0a\x2f\x2a\x0a\x20\x20\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x38\x20\x47\x6f\x6f\x67\x6c\x65\x20\x4c\x4c\x43\x0a\x0a\x20\x20\x55\x73\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x73\x6f\x75\x72\x63\x65\x20\x63\x6f\x64\x65\x20\x69\x73\x20\x67\x6f\x76\x65\x72\x6e\x65\x64\x20\x62\x79\x20\x61\x6e\x20\x4d\x49\x54\x2d\x73\x74\x79\x6c\x65\x0a\x20\x20\x6c\x69\x63\x65\x6e\x73\x65\x20\x74\x68\x61\x74\x20\x63\x61\x6e\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x4c\x49\x43\x45\x4e\x53\x45\x20\x66\x69\x6c\x65\x20\x6f\x72\x20\x61\x74\x0a\x20\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6f\x70\x65\x6e\x73\x6f\x75\x72\x63\x65\x2e\x6f\x72\x67\x2f\x6c\x69\x63\x65\x6e\x73\x65\x73\x2f\x4d\x49\x54\x2e\x0a\x2a\x2f\x0a\x2f\x2a\x2a\x0a\x20\x2a\x20\x54\x68\x65\x20\x44\x65\x66\x65\x72\x72\x65\x64\x20\x63\x6c\x61\x73\x73\x20\x63\x6f\x6d\x70\x6f\x73\x65\x73\x20\x50\x72\x6f\x6d\x69\x73\x65\x73\x20\x69\x6e\x20\x61\x20\x77\x61\x79\x20\x74\x68\x61\x74\x20\x61\x6c\x6c\x6f\x77\x73\x20\x66\x6f\x72\x20\x74\x68\x65\x6d\x20\x74\x6f\x20\x62\x65\x0a\x20\x2a\x20\x72\x65\x73\x6f\x6c\x76\x65\x64\x20\x6f\x72\x20\x72\x65\x6a\x65\x63\x74\x65\x64\x20\x66\x72\x6f\x6d\x20\x6f\x75\x74\x73\x69\x64\x65\x20\x74\x68\x65\x20\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x2e\x20\x49\x6e\x20\x6d\x6f\x73\x74\x20\x63\x61\x73\x65\x73\x20\x70\x72\x6f\x6d\x69\x73\x65\x73\x0a\x20\x2a\x20\x73\x68\x6f\x75\x6c\x64\x20\x62\x65\x20\x75\x73\x65\x64\x20\x64\x69\x72\x65\x63\x74\x6c\x79\x2c\x20\x62\x75\x74\x20\x44\x65\x66\x65\x72\x72\x65\x64\x73\x20\x63\x61\x6e\x20\x62\x65\x20\x6e\x65\x63\x65\x73\x73\x61\x72\x79\x20\x77\x68\x65\x6e\x20\x74\x68\x65\x20\x6c\x6f\x67\x69\x63\x20\x74\x6f\x0a\x20\x2a\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x61\x20\x70\x72\x6f\x6d\x69\x73\x65\x20\x6d\x75\x73\x74\x20\x62\x65\x20\x73\x65\x70\x61\x72\x61\x74\x65\x2e\x0a\x20\x2a\x0a\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x2a\x2f\x0a\x0a\x63\x6c\x61\x73\x73\x20\x44\x65\x66\x65\x72\x72\x65\x64\x20\x7b\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x43\x72\x65\x61\x74\x65\x73\x20\x61\x20\x70\x72\x6f\x6d\x69\x73\x65\x20\x61\x6e\x64\x20\x65\x78\x70\x6f\x73\x65\x73\x20\x69\x74\x73\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x61\x6e\x64\x20\x72\x65\x6a\x65\x63\x74\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x73\x20\x61\x73\x20\x6d\x65\x74\x68\x6f\x64\x73\x2e\x0a\x20\x20\x20\x2a\x2f\x0a\x20\x20\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x70\x72\x6f\x6d\x69\x73\x65\x20\x3d\x20\x6e\x65\x77\x20\x50\x72\x6f\x6d\x69\x73\x65\x28\x28\x72\x65\x73\x6f\x6c\x76\x65\x2c\x20\x72\x65\x6a\x65\x63\x74\x29\x20\x3d\x3e\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x72\x65\x73\x6f\x6c\x76\x65\x20\x3d\x20\x72\x65\x73\x6f\x6c\x76\x65\x3b\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x72\x65\x6a\x65\x63\x74\x20\x3d\x20\x72\x65\x6a\x65\x63\x74\x3b\x0a\x20\x20\x20\x20\x7d\x29\x3b\x0a\x20\x20\x7d\x0a\x0a\x7d\x0a\x0a\x2f\x2a\x0a\x20\x20\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x39\x20\x47\x6f\x6f\x67\x6c\x65\x20\x4c\x4c\x43\x0a\x20\x20\x55\x73\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x73\x6f\x75\x72\x63\x65\x20\x63\x6f\x64\x65\x20\x69\x73\x20\x67\x6f\x76\x65\x72\x6e\x65\x64\x20\x62\x79\x20\x61\x6e\x20\x4d\x49\x54\x2d\x73\x74\x79\x6c\x65\x0a\x20\x20\x6c\x69\x63\x65\x6e\x73\x65\x20\x74\x68\x61\x74\x20\x63\x61\x6e\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x4c\x49\x43\x45\x4e\x53\x45\x20\x66\x69\x6c\x65\x20\x6f\x72\x20\x61\x74\x0a\x20\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6f\x70\x65\x6e\x73\x6f\x75\x72\x63\x65\x2e\x6f\x72\x67\x2f\x6c\x69\x63\x65\x6e\x73\x65\x73\x2f\x4d\x49\x54\x2e\x0a\x2a\x2f\x0a\x63\x6f\x6e\x73\x74\x20\x6c\x6f\x67\x67\x65\x72\x20\x3d\x20\x28\x28\x29\x20\x3d\x3e\x20\x7b\x0a\x20\x20\x6c\x65\x74\x20\x69\x6e\x47\x72\x6f\x75\x70\x20\x3d\x20\x66\x61\x6c\x73\x65\x3b\x0a\x20\x20\x63\x6f\x6e\x73\x74\x20\x6d\x65\x74\x68\x6f\x64\x54\x6f\x43\x6f\x6c\x6f\x72\x4d\x61\x70\x20\x3d\x20\x7b\x0a\x20\x20\x20\x20\x64\x65\x62\x75\x67\x3a\x20\x60\x23\x37\x66\x38\x63\x38\x64\x60\x2c\x0a\x20\x20\x20\x20\x2f\x2f\x20\x47\x72\x61\x79\x0a\x20\x20\x20\x20\x6c\x6f\x67\x3a\x20\x60\x23\x32\x65\x63\x63\x37\x31\x60\x2c\x0a\x20\x20\x20\x20\x2f\x2f\x20\x47\x72\x65\x65\x6e\x0a\x20\x20\x20\x20\x77\x61\x72\x6e\x3a\x20\x60\x23\x66\x33\x39\x63\x31\x32\x60\x2c\x0a\x20\x20\x20\x20\x2f\x2f\x20\x59\x65\x6c\x6c\x6f\x77\x0a\x20\x20\x20\x20\x65\x72\x72\x6f\x72\x3a\x20\x60\x23\x63\x30\x33\x39\x32\x62\x60\x2c\x0a\x20\x20\x20\x20\x2f\x2f\x20\x52\x65\x64\x0a\x20\x20\x20\x20\x67\x72\x6f\x75\x70\x43\x6f\x6c\x6c\x61\x70\x73\x65\x64\x3a\x20\x60\x23\x33\x34\x39\x38\x64\x62\x60\x2c\x0a\x20\x20\x20\x20\x2f\x2f\x20\x42\x6c\x75\x65\x0a\x20\x20\x20\x20\x67\x72\x6f\x75\x70\x45\x6e\x64\x3a\x20\x6e\x75\x6c\x6c\x20\x2f\x2f\x20\x4e\x6f\x20\x63\x6f\x6c\x6f\x72\x65\x64\x20\x70\x72\x65\x66\x69\x78\x20\x6f\x6e\x20\x67\x72\x6f\x75\x70\x45\x6e\x64\x0a\x0a\x20\x20\x7d\x3b\x0a\x0a\x20\x20\x63\x6f\x6e\x73\x74\x20\x70\x72\x69\x6e\x74\x20\x3d\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x28\x6d\x65\x74\x68\x6f\x64\x2c\x20\x61\x72\x67\x73\x29\x20\x7b\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x6d\x65\x74\x68\x6f\x64\x20\x3d\x3d\x3d\x20\x27\x67\x72\x6f\x75\x70\x43\x6f\x6c\x6c\x61\x70\x73\x65\x64\x27\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x53\x61\x66\x61\x72\x69\x20\x64\x6f\x65\x73\x6e\x27\x74\x20\x70\x72\x69\x6e\x74\x20\x61\x6c\x6c\x20\x63\x6f\x6e\x73\x6f\x6c\x65\x2e\x67\x72\x6f\x75\x70\x43\x6f\x6c\x6c\x61\x70\x73\x65\x64\x28\x29\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x3a\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x62\x75\x67\x73\x2e\x77\x65\x62\x6b\x69\x74\x2e\x6f\x72\x67\x2f\x73\x68\x6f\x77\x5f\x62\x75\x67\x2e\x63\x67\x69\x3f\x69\x64\x3d\x31\x38\x32\x37\x35\x34\x0a\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x2f\x5e\x28\x28\x3f\x21\x63\x68\x72\x6f\x6d\x65\x7c\x61\x6e\x64\x72\x6f\x69\x64\x29\x2e\x29\x2a\x73\x61\x66\x61\x72\x69\x2f\x69\x2e\x74\x65\x73\x74\x28\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x75\x73\x65\x72\x41\x67\x65\x6e\x74\x29\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6f\x6e\x73\x6f\x6c\x65\x5b\x6d\x65\x74\x68\x6f\x64\x5d\x28\x2e\x2e\x2e\x61\x72\x67\x73\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x63\x6f\x6e\x73\x74\x20\x73\x74\x79\x6c\x65\x73\x20\x3d\x20\x5b\x60\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3a\x20\x24\x7b\x6d\x65\x74\x68\x6f\x64\x54\x6f\x43\x6f\x6c\x6f\x72\x4d\x61\x70\x5b\x6d\x65\x74\x68\x6f\x64\x5d\x7d\x60\x2c\x20\x60\x62\x6f\x72\x64\x65\x72\x2d\x72\x61\x64\x69\x75\x73\x3a\x20\x30\x2e\x35\x65\x6d\x60\x2c\x20\x60\x63\x6f\x6c\x6f\x72\x3a\x20\x77\x68\x69\x74\x65\x60\x2c\x20\x60\x66\x6f\x6e\x74\x2d\x77\x65\x69\x67\x68\x74\x3a\x20\x62\x6f\x6c\x64\x60\x2c\x20\x60\x70\x61\x64\x64\x69\x6e\x67\x3a\x20\x32\x70\x78\x20\x30\x2e\x35\x65\x6d\x60\x5d\x3b\x20\x2f\x2f\x20\x57\x68\x65\x6e\x20\x69\x6e\x20\x61\x20\x67\x72\x6f\x75\x70\x2c\x20\x74\x68\x65\x20\x77\x6f\x72\x6b\x62\x6f\x78\x20\x70\x72\x65\x66\x69\x78\x20\x69\x73\x20\x6e\x6f\x74\x20\x64\x69\x73\x70\x6c\x61\x79\x65\x64\x2e\x0a\x0a\x20\x20\x20\x20\x63\x6f\x6e\x73\x74\x20\x6c\x6f\x67\x50\x72\x65\x66\x69\x78\x20\x3d\x20\x69\x6e\x47\x72\x6f\x75\x70\x20\x3f\x20\x5b\x5d\x20\x3a\x20\x5b\x27\x25\x63\x77\x6f\x72\x6b\x62\x6f\x78\x27\x2c\x20\x73\x74\x79\x6c\x65\x73\x2e\x6a\x6f\x69\x6e\x28\x27\x3b\x27\x29\x5d\x3b\x0a\x20\x20\x20\x20\x63\x6f\x6e\x73\x6f\x6c\x65\x5b\x6d\x65\x74\x68\x6f\x64\x5d\x28\x2e\x2e\x2e\x6c\x6f\x67\x50\x72\x65\x66\x69\x78\x2c\x20\x2e\x2e\x2e\x61\x72\x67\x73\x29\x3b\x0a\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x6d\x65\x74\x68\x6f\x64\x20\x3d\x3d\x3d\x20\x27\x67\x72\x6f\x75\x70\x43\x6f\x6c\x6c\x61\x70\x73\x65\x64\x27\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x69\x6e\x47\x72\x6f\x75\x70\x20\x3d\x20\x74\x72\x75\x65\x3b\x0a\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x6d\x65\x74\x68\x6f\x64\x20\x3d\x3d\x3d\x20\x27\x67\x72\x6f\x75\x70\x45\x6e\x64\x27\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x69\x6e\x47\x72\x6f\x75\x70\x20\x3d\x20\x66\x61\x6c\x73\x65\x3b\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x7d\x3b\x0a\x0a\x20\x20\x63\x6f\x6e\x73\x74\x20\x61\x70\x69\x20\x3d\x20\x7b\x7d\x3b\x0a\x0a\x20\x20\x66\x6f\x72\x20\x28\x63\x6f\x6e\x73\x74\x20\x6d\x65\x74\x68\x6f\x64\x20\x6f\x66\x20\x4f\x62\x6a\x65\x63\x74\x2e\x6b\x65\x79\x73\x28\x6d\x65\x74\x68\x6f\x64\x54\x6f\x43\x6f\x6c\x6f\x72\x4d\x61\x70\x29\x29\x20\x7b\x0a\x20\x20\x20\x20\x61\x70\x69\x5b\x6d\x65\x74\x68\x6f\x64\x5d\x20\x3d\x20\x28\x2e\x2e\x2e\x61\x72\x67\x73\x29\x20\x3d\x3e\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x70\x72\x69\x6e\x74\x28\x6d\x65\x74\x68\x6f\x64\x2c\x20\x61\x72\x67\x73\x29\x3b\x0a\x20\x20\x20\x20\x7d\x3b\x0a\x20\x20\x7d\x0a\x0a\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x61\x70\x69\x3b\x0a\x7d\x29\x28\x29\x3b\x0a\x0a\x2f\x2a\x0a\x20\x20\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x39\x20\x47\x6f\x6f\x67\x6c\x65\x20\x4c\x4c\x43\x0a\x0a\x20\x20\x55\x73\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x73\x6f\x75\x72\x63\x65\x20\x63\x6f\x64\x65\x20\x69\x73\x20\x67\x6f\x76\x65\x72\x6e\x65\x64\x20\x62\x79\x20\x61\x6e\x20\x4d\x49\x54\x2d\x73\x74\x79\x6c\x65\x0a\x20\x20\x6c\x69\x63\x65\x6e\x73\x65\x20\x74\x68\x61\x74\x20\x63\x61\x6e\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x4c\x49\x43\x45\x4e\x53\x45\x20\x66\x69\x6c\x65\x20\x6f\x72\x20\x61\x74\x0a\x20\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6f\x70\x65\x6e\x73\x6f\x75\x72\x63\x65\x2e\x6f\x72\x67\x2f\x6c\x69\x63\x65\x6e\x73\x65\x73\x2f\x4d\x49\x54\x2e\x0a\x2a\x2f\x0a\x2f\x2a\x2a\x0a\x20\x2a\x20\x41\x20\x6d\x69\x6e\x69\x6d\x61\x6c\x20\x60\x45\x76\x65\x6e\x74\x54\x61\x72\x67\x65\x74\x60\x20\x73\x68\x69\x6d\x2e\x0a\x20\x2a\x20\x54\x68\x69\x73\x20\x69\x73\x20\x6e\x65\x63\x65\x73\x73\x61\x72\x79\x20\x62\x65\x63\x61\x75\x73\x65\x20\x6e\x6f\x74\x20\x61\x6c\x6c\x20\x62\x72\x6f\x77\x73\x65\x72\x73\x20\x73\x75\x70\x70\x6f\x72\x74\x20\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x61\x62\x6c\x65\x0a\x20\x2a\x20\x60\x45\x76\x65\x6e\x74\x54\x61\x72\x67\x65\x74\x60\x2c\x20\x73\x6f\x20\x75\x73\x69\x6e\x67\x20\x61\x20\x72\x65\x61\x6c\x20\x60\x45\x76\x65\x6e\x74\x54\x61\x72\x67\x65\x74\x60\x20\x77\x69\x6c\x6c\x20\x65\x72\x72\x6f\x72\x2e\x0a\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x2a\x2f\x0a\x0a\x63\x6c\x61\x73\x73\x20\x45\x76\x65\x6e\x74\x54\x61\x72\x67\x65\x74\x53\x68\x69\x6d\x20\x7b\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x43\x72\x65\x61\x74\x65\x73\x20\x61\x6e\x20\x65\x76\x65\x6e\x74\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x20\x72\x65\x67\x69\x73\x74\x72\x79\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x2f\x0a\x20\x20\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x2f\x2f\x20\x41\x20\x72\x65\x67\x69\x73\x74\x72\x79\x20\x6f\x66\x20\x65\x76\x65\x6e\x74\x20\x74\x79\x70\x65\x73\x20\x74\x6f\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x73\x2e\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x65\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x52\x65\x67\x69\x73\x74\x72\x79\x20\x3d\x20\x7b\x7d\x3b\x0a\x20\x20\x7d\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x73\x74\x72\x69\x6e\x67\x7d\x20\x74\x79\x70\x65\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x46\x75\x6e\x63\x74\x69\x6f\x6e\x7d\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x74\x79\x70\x65\x2c\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x29\x20\x7b\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x67\x65\x74\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x73\x42\x79\x54\x79\x70\x65\x28\x74\x79\x70\x65\x29\x2e\x61\x64\x64\x28\x6c\x69\x73\x74\x65\x6e\x65\x72\x29\x3b\x0a\x20\x20\x7d\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x73\x74\x72\x69\x6e\x67\x7d\x20\x74\x79\x70\x65\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x46\x75\x6e\x63\x74\x69\x6f\x6e\x7d\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x74\x79\x70\x65\x2c\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x29\x20\x7b\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x67\x65\x74\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x73\x42\x79\x54\x79\x70\x65\x28\x74\x79\x70\x65\x29\x2e\x64\x65\x6c\x65\x74\x65\x28\x6c\x69\x73\x74\x65\x6e\x65\x72\x29\x3b\x0a\x20\x20\x7d\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x45\x76\x65\x6e\x74\x7d\x20\x65\x76\x65\x6e\x74\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x65\x76\x65\x6e\x74\x29\x20\x7b\x0a\x20\x20\x20\x20\x65\x76\x65\x6e\x74\x2e\x74\x61\x72\x67\x65\x74\x20\x3d\x20\x74\x68\x69\x73\x3b\x0a\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x67\x65\x74\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x73\x42\x79\x54\x79\x70\x65\x28\x65\x76\x65\x6e\x74\x2e\x74\x79\x70\x65\x29\x2e\x66\x6f\x72\x45\x61\x63\x68\x28\x6c\x69\x73\x74\x65\x6e\x65\x72\x20\x3d\x3e\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x28\x65\x76\x65\x6e\x74\x29\x29\x3b\x0a\x20\x20\x7d\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x52\x65\x74\x75\x72\x6e\x73\x20\x61\x20\x53\x65\x74\x20\x6f\x66\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x73\x20\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x64\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x70\x61\x73\x73\x65\x64\x20\x65\x76\x65\x6e\x74\x20\x74\x79\x70\x65\x2e\x0a\x20\x20\x20\x2a\x20\x49\x66\x20\x6e\x6f\x20\x68\x61\x6e\x64\x6c\x65\x72\x73\x20\x68\x61\x76\x65\x20\x62\x65\x65\x6e\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x2c\x20\x61\x6e\x20\x65\x6d\x70\x74\x79\x20\x53\x65\x74\x20\x69\x73\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x2e\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x73\x74\x72\x69\x6e\x67\x7d\x20\x74\x79\x70\x65\x20\x54\x68\x65\x20\x65\x76\x65\x6e\x74\x20\x74\x79\x70\x65\x2e\x0a\x20\x20\x20\x2a\x20\x40\x72\x65\x74\x75\x72\x6e\x20\x7b\x53\x65\x74\x7d\x20\x41\x6e\x20\x61\x72\x72\x61\x79\x20\x6f\x66\x20\x68\x61\x6e\x64\x6c\x65\x72\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x73\x2e\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x5f\x67\x65\x74\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x73\x42\x79\x54\x79\x70\x65\x28\x74\x79\x70\x65\x29\x20\x7b\x0a\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x5f\x65\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x52\x65\x67\x69\x73\x74\x72\x79\x5b\x74\x79\x70\x65\x5d\x20\x3d\x20\x74\x68\x69\x73\x2e\x5f\x65\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x52\x65\x67\x69\x73\x74\x72\x79\x5b\x74\x79\x70\x65\x5d\x20\x7c\x7c\x20\x6e\x65\x77\x20\x53\x65\x74\x28\x29\x3b\x0a\x20\x20\x7d\x0a\x0a\x7d\x0a\x0a\x2f\x2a\x0a\x20\x20\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x39\x20\x47\x6f\x6f\x67\x6c\x65\x20\x4c\x4c\x43\x0a\x0a\x20\x20\x55\x73\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x73\x6f\x75\x72\x63\x65\x20\x63\x6f\x64\x65\x20\x69\x73\x20\x67\x6f\x76\x65\x72\x6e\x65\x64\x20\x62\x79\x20\x61\x6e\x20\x4d\x49\x54\x2d\x73\x74\x79\x6c\x65\x0a\x20\x20\x6c\x69\x63\x65\x6e\x73\x65\x20\x74\x68\x61\x74\x20\x63\x61\x6e\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x4c\x49\x43\x45\x4e\x53\x45\x20\x66\x69\x6c\x65\x20\x6f\x72\x20\x61\x74\x0a\x20\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6f\x70\x65\x6e\x73\x6f\x75\x72\x63\x65\x2e\x6f\x72\x67\x2f\x6c\x69\x63\x65\x6e\x73\x65\x73\x2f\x4d\x49\x54\x2e\x0a\x2a\x2f\x0a\x2f\x2a\x2a\x0a\x20\x2a\x20\x52\x65\x74\x75\x72\x6e\x73\x20\x74\x72\x75\x65\x20\x69\x66\x20\x74\x77\x6f\x20\x55\x52\x4c\x73\x20\x68\x61\x76\x65\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x60\x2e\x68\x72\x65\x66\x60\x20\x70\x72\x6f\x70\x65\x72\x74\x79\x2e\x20\x54\x68\x65\x20\x55\x52\x4c\x53\x20\x63\x61\x6e\x20\x62\x65\x0a\x20\x2a\x20\x72\x65\x6c\x61\x74\x69\x76\x65\x2c\x20\x61\x6e\x64\x20\x69\x66\x20\x74\x68\x65\x79\x20\x61\x72\x65\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x20\x68\x72\x65\x66\x20\x69\x73\x20\x75\x73\x65\x64\x20\x74\x6f\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x55\x52\x4c\x73\x2e\x0a\x20\x2a\x0a\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x73\x74\x72\x69\x6e\x67\x7d\x20\x75\x72\x6c\x31\x0a\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x73\x74\x72\x69\x6e\x67\x7d\x20\x75\x72\x6c\x32\x0a\x20\x2a\x20\x40\x72\x65\x74\x75\x72\x6e\x20\x7b\x62\x6f\x6f\x6c\x65\x61\x6e\x7d\x0a\x20\x2a\x2f\x0a\x0a\x63\x6f\x6e\x73\x74\x20\x75\x72\x6c\x73\x4d\x61\x74\x63\x68\x20\x3d\x20\x28\x75\x72\x6c\x31\x2c\x20\x75\x72\x6c\x32\x29\x20\x3d\x3e\x20\x7b\x0a\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x6e\x65\x77\x20\x55\x52\x4c\x28\x75\x72\x6c\x31\x2c\x20\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x29\x2e\x68\x72\x65\x66\x20\x3d\x3d\x3d\x20\x6e\x65\x77\x20\x55\x52\x4c\x28\x75\x72\x6c\x32\x2c\x20\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x29\x2e\x68\x72\x65\x66\x3b\x0a\x7d\x3b\x0a\x0a\x2f\x2a\x0a\x20\x20\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x39\x20\x47\x6f\x6f\x67\x6c\x65\x20\x4c\x4c\x43\x0a\x0a\x20\x20\x55\x73\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x73\x6f\x75\x72\x63\x65\x20\x63\x6f\x64\x65\x20\x69\x73\x20\x67\x6f\x76\x65\x72\x6e\x65\x64\x20\x62\x79\x20\x61\x6e\x20\x4d\x49\x54\x2d\x73\x74\x79\x6c\x65\x0a\x20\x20\x6c\x69\x63\x65\x6e\x73\x65\x20\x74\x68\x61\x74\x20\x63\x61\x6e\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x4c\x49\x43\x45\x4e\x53\x45\x20\x66\x69\x6c\x65\x20\x6f\x72\x20\x61\x74\x0a\x20\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6f\x70\x65\x6e\x73\x6f\x75\x72\x63\x65\x2e\x6f\x72\x67\x2f\x6c\x69\x63\x65\x6e\x73\x65\x73\x2f\x4d\x49\x54\x2e\x0a\x2a\x2f\x0a\x2f\x2a\x2a\x0a\x20\x2a\x20\x41\x20\x6d\x69\x6e\x69\x6d\x61\x6c\x20\x60\x45\x76\x65\x6e\x74\x60\x20\x73\x75\x62\x63\x6c\x61\x73\x73\x20\x73\x68\x69\x6d\x2e\x0a\x20\x2a\x20\x54\x68\x69\x73\x20\x64\x6f\x65\x73\x6e\x27\x74\x20\x2a\x61\x63\x74\x75\x61\x6c\x6c\x79\x2a\x20\x73\x75\x62\x63\x6c\x61\x73\x73\x20\x60\x45\x76\x65\x6e\x74\x60\x20\x62\x65\x63\x61\x75\x73\x65\x20\x6e\x6f\x74\x20\x61\x6c\x6c\x20\x62\x72\x6f\x77\x73\x65\x72\x73\x20\x73\x75\x70\x70\x6f\x72\x74\x0a\x20\x2a\x20\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x61\x62\x6c\x65\x20\x60\x45\x76\x65\x6e\x74\x54\x61\x72\x67\x65\x74\x60\x2c\x20\x61\x6e\x64\x20\x75\x73\x69\x6e\x67\x20\x61\x20\x72\x65\x61\x6c\x20\x60\x45\x76\x65\x6e\x74\x60\x20\x77\x69\x6c\x6c\x20\x65\x72\x72\x6f\x72\x2e\x0a\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x2a\x2f\x0a\x0a\x63\x6c\x61\x73\x73\x20\x57\x6f\x72\x6b\x62\x6f\x78\x45\x76\x65\x6e\x74\x20\x7b\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x73\x74\x72\x69\x6e\x67\x7d\x20\x74\x79\x70\x65\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x4f\x62\x6a\x65\x63\x74\x7d\x20\x70\x72\x6f\x70\x73\x0a\x20\x20\x20\x2a\x2f\x0a\x20\x20\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x28\x74\x79\x70\x65\x2c\x20\x70\x72\x6f\x70\x73\x29\x20\x7b\x0a\x20\x20\x20\x20\x4f\x62\x6a\x65\x63\x74\x2e\x61\x73\x73\x69\x67\x6e\x28\x74\x68\x69\x73\x2c\x20\x70\x72\x6f\x70\x73\x2c\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x74\x79\x70\x65\x0a\x20\x20\x20\x20\x7d\x29\x3b\x0a\x20\x20\x7d\x0a\x0a\x7d\x0a\x0a\x2f\x2a\x0a\x20\x20\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x39\x20\x47\x6f\x6f\x67\x6c\x65\x20\x4c\x4c\x43\x0a\x0a\x20\x20\x55\x73\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x73\x6f\x75\x72\x63\x65\x20\x63\x6f\x64\x65\x20\x69\x73\x20\x67\x6f\x76\x65\x72\x6e\x65\x64\x20\x62\x79\x20\x61\x6e\x20\x4d\x49\x54\x2d\x73\x74\x79\x6c\x65\x0a\x20\x20\x6c\x69\x63\x65\x6e\x73\x65\x20\x74\x68\x61\x74\x20\x63\x61\x6e\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x4c\x49\x43\x45\x4e\x53\x45\x20\x66\x69\x6c\x65\x20\x6f\x72\x20\x61\x74\x0a\x20\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6f\x70\x65\x6e\x73\x6f\x75\x72\x63\x65\x2e\x6f\x72\x67\x2f\x6c\x69\x63\x65\x6e\x73\x65\x73\x2f\x4d\x49\x54\x2e\x0a\x2a\x2f\x0a\x2f\x2f\x20\x60\x73\x6b\x69\x70\x57\x61\x69\x74\x69\x6e\x67\x28\x29\x60\x20\x77\x61\x73\x6e\x27\x74\x20\x63\x61\x6c\x6c\x65\x64\x2e\x20\x54\x68\x69\x73\x20\x32\x30\x30\x20\x61\x6d\x6f\x75\x6e\x74\x20\x77\x61\x73\x6e\x27\x74\x20\x73\x63\x69\x65\x6e\x74\x69\x66\x69\x63\x61\x6c\x6c\x79\x0a\x2f\x2f\x20\x63\x68\x6f\x73\x65\x6e\x2c\x20\x62\x75\x74\x20\x69\x74\x20\x73\x65\x65\x6d\x73\x20\x74\x6f\x20\x61\x76\x6f\x69\x64\x20\x66\x61\x6c\x73\x65\x20\x70\x6f\x73\x69\x74\x69\x76\x65\x73\x20\x69\x6e\x20\x6d\x79\x20\x74\x65\x73\x74\x69\x6e\x67\x2e\x0a\x0a\x63\x6f\x6e\x73\x74\x20\x57\x41\x49\x54\x49\x4e\x47\x5f\x54\x49\x4d\x45\x4f\x55\x54\x5f\x44\x55\x52\x41\x54\x49\x4f\x4e\x20\x3d\x20\x32\x30\x30\x3b\x20\x2f\x2f\x20\x54\x68\x65\x20\x61\x6d\x6f\x75\x6e\x74\x20\x6f\x66\x20\x74\x69\x6d\x65\x20\x61\x66\x74\x65\x72\x20\x61\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x74\x68\x61\x74\x20\x77\x65\x20\x63\x61\x6e\x20\x72\x65\x61\x73\x6f\x6e\x61\x62\x6c\x79\x20\x63\x6f\x6e\x63\x6c\x75\x64\x65\x0a\x2f\x2f\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x64\x69\x64\x6e\x27\x74\x20\x74\x72\x69\x67\x67\x65\x72\x20\x61\x6e\x20\x75\x70\x64\x61\x74\x65\x2e\x0a\x0a\x63\x6f\x6e\x73\x74\x20\x52\x45\x47\x49\x53\x54\x52\x41\x54\x49\x4f\x4e\x5f\x54\x49\x4d\x45\x4f\x55\x54\x5f\x44\x55\x52\x41\x54\x49\x4f\x4e\x20\x3d\x20\x36\x30\x30\x30\x30\x3b\x0a\x2f\x2a\x2a\x0a\x20\x2a\x20\x41\x20\x63\x6c\x61\x73\x73\x20\x74\x6f\x20\x61\x69\x64\x20\x69\x6e\x20\x68\x61\x6e\x64\x6c\x69\x6e\x67\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x2c\x20\x75\x70\x64\x61\x74\x65\x73\x2c\x20\x61\x6e\x64\x0a\x20\x2a\x20\x72\x65\x61\x63\x74\x69\x6e\x67\x20\x74\x6f\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x6c\x69\x66\x65\x63\x79\x63\x6c\x65\x20\x65\x76\x65\x6e\x74\x73\x2e\x0a\x20\x2a\x0a\x20\x2a\x20\x40\x66\x69\x72\x65\x73\x20\x5b\x6d\x65\x73\x73\x61\x67\x65\x5d\x7b\x40\x6c\x69\x6e\x6b\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x57\x6f\x72\x6b\x62\x6f\x78\x23\x6d\x65\x73\x73\x61\x67\x65\x7d\x0a\x20\x2a\x20\x40\x66\x69\x72\x65\x73\x20\x5b\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x5d\x7b\x40\x6c\x69\x6e\x6b\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x57\x6f\x72\x6b\x62\x6f\x78\x23\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x7d\x0a\x20\x2a\x20\x40\x66\x69\x72\x65\x73\x20\x5b\x77\x61\x69\x74\x69\x6e\x67\x5d\x7b\x40\x6c\x69\x6e\x6b\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x57\x6f\x72\x6b\x62\x6f\x78\x23\x77\x61\x69\x74\x69\x6e\x67\x7d\x0a\x20\x2a\x20\x40\x66\x69\x72\x65\x73\x20\x5b\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x5d\x7b\x40\x6c\x69\x6e\x6b\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x57\x6f\x72\x6b\x62\x6f\x78\x23\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x7d\x0a\x20\x2a\x20\x40\x66\x69\x72\x65\x73\x20\x5b\x61\x63\x74\x69\x76\x61\x74\x65\x64\x5d\x7b\x40\x6c\x69\x6e\x6b\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x57\x6f\x72\x6b\x62\x6f\x78\x23\x61\x63\x74\x69\x76\x61\x74\x65\x64\x7d\x0a\x20\x2a\x20\x40\x66\x69\x72\x65\x73\x20\x5b\x72\x65\x64\x75\x6e\x64\x61\x6e\x74\x5d\x7b\x40\x6c\x69\x6e\x6b\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x57\x6f\x72\x6b\x62\x6f\x78\x23\x72\x65\x64\x75\x6e\x64\x61\x6e\x74\x7d\x0a\x20\x2a\x20\x40\x66\x69\x72\x65\x73\x20\x5b\x65\x78\x74\x65\x72\x6e\x61\x6c\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x5d\x7b\x40\x6c\x69\x6e\x6b\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x57\x6f\x72\x6b\x62\x6f\x78\x23\x65\x78\x74\x65\x72\x6e\x61\x6c\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x7d\x0a\x20\x2a\x20\x40\x66\x69\x72\x65\x73\x20\x5b\x65\x78\x74\x65\x72\x6e\x61\x6c\x77\x61\x69\x74\x69\x6e\x67\x5d\x7b\x40\x6c\x69\x6e\x6b\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x57\x6f\x72\x6b\x62\x6f\x78\x23\x65\x78\x74\x65\x72\x6e\x61\x6c\x77\x61\x69\x74\x69\x6e\x67\x7d\x0a\x20\x2a\x20\x40\x66\x69\x72\x65\x73\x20\x5b\x65\x78\x74\x65\x72\x6e\x61\x6c\x61\x63\x74\x69\x76\x61\x74\x65\x64\x5d\x7b\x40\x6c\x69\x6e\x6b\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x57\x6f\x72\x6b\x62\x6f\x78\x23\x65\x78\x74\x65\x72\x6e\x61\x6c\x61\x63\x74\x69\x76\x61\x74\x65\x64\x7d\x0a\x20\x2a\x0a\x20\x2a\x20\x40\x6d\x65\x6d\x62\x65\x72\x6f\x66\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x0a\x20\x2a\x2f\x0a\x0a\x63\x6c\x61\x73\x73\x20\x57\x6f\x72\x6b\x62\x6f\x78\x20\x65\x78\x74\x65\x6e\x64\x73\x20\x45\x76\x65\x6e\x74\x54\x61\x72\x67\x65\x74\x53\x68\x69\x6d\x20\x7b\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x43\x72\x65\x61\x74\x65\x73\x20\x61\x20\x6e\x65\x77\x20\x57\x6f\x72\x6b\x62\x6f\x78\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x20\x77\x69\x74\x68\x20\x61\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x20\x61\x6e\x64\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x0a\x20\x20\x20\x2a\x20\x6f\x70\x74\x69\x6f\x6e\x73\x2e\x20\x54\x68\x65\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x20\x61\x6e\x64\x20\x6f\x70\x74\x69\x6f\x6e\x73\x20\x61\x72\x65\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x61\x73\x20\x74\x68\x6f\x73\x65\x20\x75\x73\x65\x64\x20\x77\x68\x65\x6e\x0a\x20\x20\x20\x2a\x20\x63\x61\x6c\x6c\x69\x6e\x67\x20\x60\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x72\x65\x67\x69\x73\x74\x65\x72\x28\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x2c\x20\x6f\x70\x74\x69\x6f\x6e\x73\x29\x60\x2e\x20\x53\x65\x65\x3a\x0a\x20\x20\x20\x2a\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x64\x65\x76\x65\x6c\x6f\x70\x65\x72\x2e\x6d\x6f\x7a\x69\x6c\x6c\x61\x2e\x6f\x72\x67\x2f\x65\x6e\x2d\x55\x53\x2f\x64\x6f\x63\x73\x2f\x57\x65\x62\x2f\x41\x50\x49\x2f\x53\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x43\x6f\x6e\x74\x61\x69\x6e\x65\x72\x2f\x72\x65\x67\x69\x73\x74\x65\x72\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x73\x74\x72\x69\x6e\x67\x7d\x20\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x20\x54\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x73\x63\x72\x69\x70\x74\x20\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x64\x20\x77\x69\x74\x68\x20\x74\x68\x69\x73\x0a\x20\x20\x20\x2a\x20\x20\x20\x20\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x2e\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x4f\x62\x6a\x65\x63\x74\x7d\x20\x5b\x72\x65\x67\x69\x73\x74\x65\x72\x4f\x70\x74\x69\x6f\x6e\x73\x5d\x20\x54\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x6f\x70\x74\x69\x6f\x6e\x73\x20\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x64\x0a\x20\x20\x20\x2a\x20\x20\x20\x20\x20\x77\x69\x74\x68\x20\x74\x68\x69\x73\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x2e\x0a\x20\x20\x20\x2a\x2f\x0a\x20\x20\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x28\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x2c\x20\x72\x65\x67\x69\x73\x74\x65\x72\x4f\x70\x74\x69\x6f\x6e\x73\x20\x3d\x20\x7b\x7d\x29\x20\x7b\x0a\x20\x20\x20\x20\x73\x75\x70\x65\x72\x28\x29\x3b\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x20\x3d\x20\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x3b\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x4f\x70\x74\x69\x6f\x6e\x73\x20\x3d\x20\x72\x65\x67\x69\x73\x74\x65\x72\x4f\x70\x74\x69\x6f\x6e\x73\x3b\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x75\x70\x64\x61\x74\x65\x46\x6f\x75\x6e\x64\x43\x6f\x75\x6e\x74\x20\x3d\x20\x30\x3b\x20\x2f\x2f\x20\x44\x65\x66\x65\x72\x72\x65\x64\x73\x20\x77\x65\x20\x63\x61\x6e\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x6c\x61\x74\x65\x72\x2e\x0a\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x73\x77\x44\x65\x66\x65\x72\x72\x65\x64\x20\x3d\x20\x6e\x65\x77\x20\x44\x65\x66\x65\x72\x72\x65\x64\x28\x29\x3b\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x61\x63\x74\x69\x76\x65\x44\x65\x66\x65\x72\x72\x65\x64\x20\x3d\x20\x6e\x65\x77\x20\x44\x65\x66\x65\x72\x72\x65\x64\x28\x29\x3b\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x44\x65\x66\x65\x72\x72\x65\x64\x20\x3d\x20\x6e\x65\x77\x20\x44\x65\x66\x65\x72\x72\x65\x64\x28\x29\x3b\x20\x2f\x2f\x20\x42\x69\x6e\x64\x20\x65\x76\x65\x6e\x74\x20\x68\x61\x6e\x64\x6c\x65\x72\x20\x63\x61\x6c\x6c\x62\x61\x63\x6b\x73\x2e\x0a\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x4d\x65\x73\x73\x61\x67\x65\x20\x3d\x20\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x4d\x65\x73\x73\x61\x67\x65\x2e\x62\x69\x6e\x64\x28\x74\x68\x69\x73\x29\x3b\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x53\x74\x61\x74\x65\x43\x68\x61\x6e\x67\x65\x20\x3d\x20\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x53\x74\x61\x74\x65\x43\x68\x61\x6e\x67\x65\x2e\x62\x69\x6e\x64\x28\x74\x68\x69\x73\x29\x3b\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x55\x70\x64\x61\x74\x65\x46\x6f\x75\x6e\x64\x20\x3d\x20\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x55\x70\x64\x61\x74\x65\x46\x6f\x75\x6e\x64\x2e\x62\x69\x6e\x64\x28\x74\x68\x69\x73\x29\x3b\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x43\x68\x61\x6e\x67\x65\x20\x3d\x20\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x43\x68\x61\x6e\x67\x65\x2e\x62\x69\x6e\x64\x28\x74\x68\x69\x73\x29\x3b\x0a\x20\x20\x7d\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x52\x65\x67\x69\x73\x74\x65\x72\x73\x20\x61\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x66\x6f\x72\x20\x74\x68\x69\x73\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x73\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x20\x61\x6e\x64\x20\x73\x65\x72\x76\x69\x63\x65\x0a\x20\x20\x20\x2a\x20\x77\x6f\x72\x6b\x65\x72\x20\x6f\x70\x74\x69\x6f\x6e\x73\x2e\x20\x42\x79\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x74\x68\x69\x73\x20\x6d\x65\x74\x68\x6f\x64\x20\x64\x65\x6c\x61\x79\x73\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x75\x6e\x74\x69\x6c\x20\x61\x66\x74\x65\x72\x0a\x20\x20\x20\x2a\x20\x74\x68\x65\x20\x77\x69\x6e\x64\x6f\x77\x20\x68\x61\x73\x20\x6c\x6f\x61\x64\x65\x64\x2e\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x4f\x62\x6a\x65\x63\x74\x7d\x20\x5b\x6f\x70\x74\x69\x6f\x6e\x73\x5d\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x46\x75\x6e\x63\x74\x69\x6f\x6e\x7d\x20\x5b\x6f\x70\x74\x69\x6f\x6e\x73\x2e\x69\x6d\x6d\x65\x64\x69\x61\x74\x65\x3d\x66\x61\x6c\x73\x65\x5d\x20\x53\x65\x74\x74\x69\x6e\x67\x20\x74\x68\x69\x73\x20\x74\x6f\x20\x74\x72\x75\x65\x20\x77\x69\x6c\x6c\x0a\x20\x20\x20\x2a\x20\x20\x20\x20\x20\x72\x65\x67\x69\x73\x74\x65\x72\x20\x74\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x69\x6d\x6d\x65\x64\x69\x61\x74\x65\x6c\x79\x2c\x20\x65\x76\x65\x6e\x20\x69\x66\x20\x74\x68\x65\x20\x77\x69\x6e\x64\x6f\x77\x20\x68\x61\x73\x0a\x20\x20\x20\x2a\x20\x20\x20\x20\x20\x6e\x6f\x74\x20\x6c\x6f\x61\x64\x65\x64\x20\x28\x6e\x6f\x74\x20\x72\x65\x63\x6f\x6d\x6d\x65\x6e\x64\x65\x64\x29\x2e\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x61\x73\x79\x6e\x63\x20\x72\x65\x67\x69\x73\x74\x65\x72\x28\x7b\x0a\x20\x20\x20\x20\x69\x6d\x6d\x65\x64\x69\x61\x74\x65\x20\x3d\x20\x66\x61\x6c\x73\x65\x0a\x20\x20\x7d\x20\x3d\x20\x7b\x7d\x29\x20\x7b\x0a\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2e\x5f\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x54\x69\x6d\x65\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x65\x72\x72\x6f\x72\x28\x27\x43\x61\x6e\x6e\x6f\x74\x20\x72\x65\x2d\x72\x65\x67\x69\x73\x74\x65\x72\x20\x61\x20\x57\x6f\x72\x6b\x62\x6f\x78\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x20\x61\x66\x74\x65\x72\x20\x69\x74\x20\x68\x61\x73\x20\x27\x20\x2b\x20\x27\x62\x65\x65\x6e\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x2e\x20\x43\x72\x65\x61\x74\x65\x20\x61\x20\x6e\x65\x77\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x20\x69\x6e\x73\x74\x65\x61\x64\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x21\x69\x6d\x6d\x65\x64\x69\x61\x74\x65\x20\x26\x26\x20\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65\x20\x21\x3d\x3d\x20\x27\x63\x6f\x6d\x70\x6c\x65\x74\x65\x27\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x61\x77\x61\x69\x74\x20\x6e\x65\x77\x20\x50\x72\x6f\x6d\x69\x73\x65\x28\x72\x65\x73\x20\x3d\x3e\x20\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x27\x6c\x6f\x61\x64\x27\x2c\x20\x72\x65\x73\x29\x29\x3b\x0a\x20\x20\x20\x20\x7d\x20\x2f\x2f\x20\x53\x65\x74\x20\x74\x68\x69\x73\x20\x66\x6c\x61\x67\x20\x74\x6f\x20\x74\x72\x75\x65\x20\x69\x66\x20\x61\x6e\x79\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x77\x61\x73\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x74\x68\x65\x20\x70\x61\x67\x65\x0a\x20\x20\x20\x20\x2f\x2f\x20\x61\x74\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x74\x69\x6d\x65\x2e\x0a\x0a\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x69\x73\x55\x70\x64\x61\x74\x65\x20\x3d\x20\x42\x6f\x6f\x6c\x65\x61\x6e\x28\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x29\x3b\x20\x2f\x2f\x20\x42\x65\x66\x6f\x72\x65\x20\x72\x65\x67\x69\x73\x74\x65\x72\x69\x6e\x67\x2c\x20\x61\x74\x74\x65\x6d\x70\x74\x20\x74\x6f\x20\x64\x65\x74\x65\x72\x6d\x69\x6e\x65\x20\x69\x66\x20\x61\x20\x53\x57\x20\x69\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x0a\x20\x20\x20\x20\x2f\x2f\x20\x74\x68\x65\x20\x70\x61\x67\x65\x2c\x20\x61\x6e\x64\x20\x69\x66\x20\x74\x68\x61\x74\x20\x53\x57\x20\x73\x63\x72\x69\x70\x74\x20\x28\x61\x6e\x64\x20\x76\x65\x72\x73\x69\x6f\x6e\x2c\x20\x69\x66\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x29\x20\x6d\x61\x74\x63\x68\x65\x73\x20\x74\x68\x69\x73\x0a\x20\x20\x20\x20\x2f\x2f\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x27\x73\x20\x73\x63\x72\x69\x70\x74\x2e\x0a\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x20\x3d\x20\x74\x68\x69\x73\x2e\x5f\x67\x65\x74\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x49\x66\x43\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x28\x29\x3b\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x3d\x20\x61\x77\x61\x69\x74\x20\x74\x68\x69\x73\x2e\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x53\x63\x72\x69\x70\x74\x28\x29\x3b\x20\x2f\x2f\x20\x49\x66\x20\x77\x65\x20\x68\x61\x76\x65\x20\x61\x20\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x2c\x20\x73\x74\x6f\x72\x65\x20\x74\x68\x65\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x20\x61\x73\x20\x74\x68\x65\x20\x22\x6f\x77\x6e\x22\x0a\x20\x20\x20\x20\x2f\x2f\x20\x53\x57\x2c\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x61\x63\x74\x69\x76\x65\x2f\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x64\x65\x66\x65\x72\x72\x65\x64\x73\x20\x61\x6e\x64\x20\x61\x64\x64\x20\x6e\x65\x63\x65\x73\x73\x61\x72\x79\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x73\x2e\x0a\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2e\x5f\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x73\x77\x20\x3d\x20\x74\x68\x69\x73\x2e\x5f\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x61\x63\x74\x69\x76\x65\x44\x65\x66\x65\x72\x72\x65\x64\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x74\x68\x69\x73\x2e\x5f\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x44\x65\x66\x65\x72\x72\x65\x64\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x74\x68\x69\x73\x2e\x5f\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x72\x65\x70\x6f\x72\x74\x57\x69\x6e\x64\x6f\x77\x52\x65\x61\x64\x79\x28\x74\x68\x69\x73\x2e\x5f\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x27\x73\x74\x61\x74\x65\x63\x68\x61\x6e\x67\x65\x27\x2c\x20\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x53\x74\x61\x74\x65\x43\x68\x61\x6e\x67\x65\x2c\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6f\x6e\x63\x65\x3a\x20\x74\x72\x75\x65\x0a\x20\x20\x20\x20\x20\x20\x7d\x29\x3b\x0a\x20\x20\x20\x20\x7d\x20\x2f\x2f\x20\x49\x66\x20\x74\x68\x65\x72\x65\x27\x73\x20\x61\x20\x77\x61\x69\x74\x69\x6e\x67\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x77\x69\x74\x68\x20\x61\x20\x6d\x61\x74\x63\x68\x69\x6e\x67\x20\x55\x52\x4c\x20\x62\x65\x66\x6f\x72\x65\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x2f\x2f\x20\x60\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x60\x20\x65\x76\x65\x6e\x74\x20\x66\x69\x72\x65\x73\x2c\x20\x69\x74\x20\x6c\x69\x6b\x65\x6c\x79\x20\x6d\x65\x61\x6e\x73\x20\x74\x68\x61\x74\x20\x74\x68\x69\x73\x20\x73\x69\x74\x65\x20\x69\x73\x20\x6f\x70\x65\x6e\x0a\x20\x20\x20\x20\x2f\x2f\x20\x69\x6e\x20\x61\x6e\x6f\x74\x68\x65\x72\x20\x74\x61\x62\x2c\x20\x6f\x72\x20\x74\x68\x65\x20\x75\x73\x65\x72\x20\x72\x65\x66\x72\x65\x73\x68\x65\x64\x20\x74\x68\x65\x20\x70\x61\x67\x65\x20\x28\x61\x6e\x64\x20\x74\x68\x75\x73\x20\x74\x68\x65\x20\x70\x72\x65\x76\x6f\x69\x75\x73\x0a\x20\x20\x20\x20\x2f\x2f\x20\x70\x61\x67\x65\x20\x77\x61\x73\x6e\x27\x74\x20\x66\x75\x6c\x6c\x79\x20\x75\x6e\x6c\x6f\x61\x64\x65\x64\x20\x62\x65\x66\x6f\x72\x65\x20\x74\x68\x69\x73\x20\x70\x61\x67\x65\x20\x73\x74\x61\x72\x74\x65\x64\x20\x6c\x6f\x61\x64\x69\x6e\x67\x29\x2e\x0a\x20\x20\x20\x20\x2f\x2f\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x64\x65\x76\x65\x6c\x6f\x70\x65\x72\x73\x2e\x67\x6f\x6f\x67\x6c\x65\x2e\x63\x6f\x6d\x2f\x77\x65\x62\x2f\x66\x75\x6e\x64\x61\x6d\x65\x6e\x74\x61\x6c\x73\x2f\x70\x72\x69\x6d\x65\x72\x73\x2f\x73\x65\x72\x76\x69\x63\x65\x2d\x77\x6f\x72\x6b\x65\x72\x73\x2f\x6c\x69\x66\x65\x63\x79\x63\x6c\x65\x23\x77\x61\x69\x74\x69\x6e\x67\x0a\x0a\x0a\x20\x20\x20\x20\x63\x6f\x6e\x73\x74\x20\x77\x61\x69\x74\x69\x6e\x67\x53\x57\x20\x3d\x20\x74\x68\x69\x73\x2e\x5f\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x2e\x77\x61\x69\x74\x69\x6e\x67\x3b\x0a\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x77\x61\x69\x74\x69\x6e\x67\x53\x57\x20\x26\x26\x20\x75\x72\x6c\x73\x4d\x61\x74\x63\x68\x28\x77\x61\x69\x74\x69\x6e\x67\x53\x57\x2e\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x2c\x20\x74\x68\x69\x73\x2e\x5f\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x29\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x53\x74\x6f\x72\x65\x20\x74\x68\x65\x20\x77\x61\x69\x74\x69\x6e\x67\x20\x53\x57\x20\x61\x73\x20\x74\x68\x65\x20\x22\x6f\x77\x6e\x22\x20\x53\x77\x2c\x20\x65\x76\x65\x6e\x20\x69\x66\x20\x69\x74\x20\x6d\x65\x61\x6e\x73\x20\x6f\x76\x65\x72\x77\x72\x69\x74\x69\x6e\x67\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x61\x20\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x2e\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x73\x77\x20\x3d\x20\x77\x61\x69\x74\x69\x6e\x67\x53\x57\x3b\x20\x2f\x2f\x20\x52\x75\x6e\x20\x74\x68\x69\x73\x20\x69\x6e\x20\x74\x68\x65\x20\x6e\x65\x78\x74\x20\x6d\x69\x63\x72\x6f\x74\x61\x73\x6b\x2c\x20\x73\x6f\x20\x61\x6e\x79\x20\x63\x6f\x64\x65\x20\x74\x68\x61\x74\x20\x61\x64\x64\x73\x20\x61\x6e\x20\x65\x76\x65\x6e\x74\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x20\x61\x66\x74\x65\x72\x20\x61\x77\x61\x69\x74\x69\x6e\x67\x20\x60\x72\x65\x67\x69\x73\x74\x65\x72\x28\x29\x60\x20\x77\x69\x6c\x6c\x20\x67\x65\x74\x20\x74\x68\x69\x73\x20\x65\x76\x65\x6e\x74\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x50\x72\x6f\x6d\x69\x73\x65\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x29\x2e\x74\x68\x65\x6e\x28\x28\x29\x20\x3d\x3e\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x6e\x65\x77\x20\x57\x6f\x72\x6b\x62\x6f\x78\x45\x76\x65\x6e\x74\x28\x27\x77\x61\x69\x74\x69\x6e\x67\x27\x2c\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x77\x3a\x20\x77\x61\x69\x74\x69\x6e\x67\x53\x57\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x61\x73\x57\x61\x69\x74\x69\x6e\x67\x42\x65\x66\x6f\x72\x65\x52\x65\x67\x69\x73\x74\x65\x72\x3a\x20\x74\x72\x75\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x29\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x77\x61\x72\x6e\x28\x27\x41\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x77\x61\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x77\x61\x69\x74\x69\x6e\x67\x20\x74\x6f\x20\x61\x63\x74\x69\x76\x61\x74\x65\x20\x27\x20\x2b\x20\x27\x62\x65\x66\x6f\x72\x65\x20\x74\x68\x69\x73\x20\x73\x63\x72\x69\x70\x74\x20\x77\x61\x73\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x2e\x2e\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x7d\x29\x3b\x0a\x20\x20\x20\x20\x7d\x20\x2f\x2f\x20\x49\x66\x20\x61\x6e\x20\x22\x6f\x77\x6e\x22\x20\x53\x57\x20\x69\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x73\x65\x74\x2c\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x74\x68\x65\x20\x64\x65\x66\x65\x72\x72\x65\x64\x2e\x0a\x0a\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2e\x5f\x73\x77\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x73\x77\x44\x65\x66\x65\x72\x72\x65\x64\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x74\x68\x69\x73\x2e\x5f\x73\x77\x29\x3b\x0a\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x6c\x6f\x67\x28\x27\x53\x75\x63\x63\x65\x73\x73\x66\x75\x6c\x6c\x79\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x2e\x27\x2c\x20\x74\x68\x69\x73\x2e\x5f\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2e\x5f\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x64\x65\x62\x75\x67\x28\x27\x41\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x20\x27\x20\x2b\x20\x27\x69\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x74\x68\x69\x73\x20\x70\x61\x67\x65\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x20\x65\x6c\x73\x65\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x64\x65\x62\x75\x67\x28\x27\x41\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x77\x69\x74\x68\x20\x61\x20\x64\x69\x66\x66\x65\x72\x65\x6e\x74\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x20\x69\x73\x20\x27\x20\x2b\x20\x27\x63\x75\x72\x72\x65\x6e\x74\x6c\x79\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x74\x68\x65\x20\x70\x61\x67\x65\x2e\x20\x54\x68\x65\x20\x62\x72\x6f\x77\x73\x65\x72\x20\x69\x73\x20\x6e\x6f\x77\x20\x66\x65\x74\x63\x68\x69\x6e\x67\x20\x27\x20\x2b\x20\x27\x74\x68\x65\x20\x6e\x65\x77\x20\x73\x63\x72\x69\x70\x74\x20\x6e\x6f\x77\x2e\x2e\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x20\x20\x63\x6f\x6e\x73\x74\x20\x63\x75\x72\x72\x65\x6e\x74\x50\x61\x67\x65\x49\x73\x4f\x75\x74\x4f\x66\x53\x63\x6f\x70\x65\x20\x3d\x20\x28\x29\x20\x3d\x3e\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6f\x6e\x73\x74\x20\x73\x63\x6f\x70\x65\x55\x52\x4c\x20\x3d\x20\x6e\x65\x77\x20\x55\x52\x4c\x28\x74\x68\x69\x73\x2e\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x4f\x70\x74\x69\x6f\x6e\x73\x2e\x73\x63\x6f\x70\x65\x20\x7c\x7c\x20\x74\x68\x69\x73\x2e\x5f\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x2c\x20\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x62\x61\x73\x65\x55\x52\x49\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6f\x6e\x73\x74\x20\x73\x63\x6f\x70\x65\x55\x52\x4c\x42\x61\x73\x65\x50\x61\x74\x68\x20\x3d\x20\x6e\x65\x77\x20\x55\x52\x4c\x28\x27\x2e\x2f\x27\x2c\x20\x73\x63\x6f\x70\x65\x55\x52\x4c\x2e\x68\x72\x65\x66\x29\x2e\x70\x61\x74\x68\x6e\x61\x6d\x65\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x21\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x2e\x70\x61\x74\x68\x6e\x61\x6d\x65\x2e\x73\x74\x61\x72\x74\x73\x57\x69\x74\x68\x28\x73\x63\x6f\x70\x65\x55\x52\x4c\x42\x61\x73\x65\x50\x61\x74\x68\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x63\x75\x72\x72\x65\x6e\x74\x50\x61\x67\x65\x49\x73\x4f\x75\x74\x4f\x66\x53\x63\x6f\x70\x65\x28\x29\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x77\x61\x72\x6e\x28\x27\x54\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x70\x61\x67\x65\x20\x69\x73\x20\x6e\x6f\x74\x20\x69\x6e\x20\x73\x63\x6f\x70\x65\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x27\x20\x2b\x20\x27\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x2e\x20\x57\x61\x73\x20\x74\x68\x69\x73\x20\x61\x20\x6d\x69\x73\x74\x61\x6b\x65\x3f\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x27\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x27\x2c\x20\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x55\x70\x64\x61\x74\x65\x46\x6f\x75\x6e\x64\x29\x3b\x0a\x0a\x20\x20\x20\x20\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x27\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x63\x68\x61\x6e\x67\x65\x27\x2c\x20\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x43\x68\x61\x6e\x67\x65\x2c\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x6f\x6e\x63\x65\x3a\x20\x74\x72\x75\x65\x0a\x20\x20\x20\x20\x7d\x29\x3b\x20\x2f\x2f\x20\x41\x64\x64\x20\x6d\x65\x73\x73\x61\x67\x65\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x73\x2e\x0a\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x27\x42\x72\x6f\x61\x64\x63\x61\x73\x74\x43\x68\x61\x6e\x6e\x65\x6c\x27\x20\x69\x6e\x20\x73\x65\x6c\x66\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x62\x72\x6f\x61\x64\x63\x61\x73\x74\x43\x68\x61\x6e\x6e\x65\x6c\x20\x3d\x20\x6e\x65\x77\x20\x42\x72\x6f\x61\x64\x63\x61\x73\x74\x43\x68\x61\x6e\x6e\x65\x6c\x28\x27\x77\x6f\x72\x6b\x62\x6f\x78\x27\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x62\x72\x6f\x61\x64\x63\x61\x73\x74\x43\x68\x61\x6e\x6e\x65\x6c\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x27\x6d\x65\x73\x73\x61\x67\x65\x27\x2c\x20\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x4d\x65\x73\x73\x61\x67\x65\x29\x3b\x0a\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x27\x6d\x65\x73\x73\x61\x67\x65\x27\x2c\x20\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x4d\x65\x73\x73\x61\x67\x65\x29\x3b\x0a\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x5f\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x3b\x0a\x20\x20\x7d\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x52\x65\x73\x6f\x6c\x76\x65\x73\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x62\x79\x20\x74\x68\x69\x73\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x20\x61\x73\x20\x73\x6f\x6f\x6e\x20\x61\x73\x20\x69\x74\x0a\x20\x20\x20\x2a\x20\x69\x73\x20\x61\x63\x74\x69\x76\x65\x2e\x20\x49\x66\x20\x61\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x77\x61\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x61\x74\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x0a\x20\x20\x20\x2a\x20\x74\x69\x6d\x65\x20\x74\x68\x65\x6e\x20\x69\x74\x20\x77\x69\x6c\x6c\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x74\x6f\x20\x74\x68\x61\x74\x20\x69\x66\x20\x74\x68\x65\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x73\x20\x28\x61\x6e\x64\x20\x6f\x70\x74\x69\x6f\x6e\x61\x6c\x6c\x79\x0a\x20\x20\x20\x2a\x20\x73\x63\x72\x69\x70\x74\x20\x76\x65\x72\x73\x69\x6f\x6e\x73\x29\x20\x6d\x61\x74\x63\x68\x2c\x20\x6f\x74\x68\x65\x72\x77\x69\x73\x65\x20\x69\x74\x20\x77\x69\x6c\x6c\x20\x77\x61\x69\x74\x20\x75\x6e\x74\x69\x6c\x20\x61\x6e\x20\x75\x70\x64\x61\x74\x65\x20\x69\x73\x20\x66\x6f\x75\x6e\x64\x0a\x20\x20\x20\x2a\x20\x61\x6e\x64\x20\x61\x63\x74\x69\x76\x61\x74\x65\x73\x2e\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x40\x72\x65\x74\x75\x72\x6e\x20\x7b\x50\x72\x6f\x6d\x69\x73\x65\x3c\x53\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x3e\x7d\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x67\x65\x74\x20\x61\x63\x74\x69\x76\x65\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x5f\x61\x63\x74\x69\x76\x65\x44\x65\x66\x65\x72\x72\x65\x64\x2e\x70\x72\x6f\x6d\x69\x73\x65\x3b\x0a\x20\x20\x7d\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x52\x65\x73\x6f\x6c\x76\x65\x73\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x62\x79\x20\x74\x68\x69\x73\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x20\x61\x73\x20\x73\x6f\x6f\x6e\x20\x61\x73\x20\x69\x74\x0a\x20\x20\x20\x2a\x20\x69\x73\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x74\x68\x65\x20\x70\x61\x67\x65\x2e\x20\x49\x66\x20\x61\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x77\x61\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x61\x74\x0a\x20\x20\x20\x2a\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x74\x69\x6d\x65\x20\x74\x68\x65\x6e\x20\x69\x74\x20\x77\x69\x6c\x6c\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x74\x6f\x20\x74\x68\x61\x74\x20\x69\x66\x20\x74\x68\x65\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x73\x20\x28\x61\x6e\x64\x0a\x20\x20\x20\x2a\x20\x6f\x70\x74\x69\x6f\x6e\x61\x6c\x6c\x79\x20\x73\x63\x72\x69\x70\x74\x20\x76\x65\x72\x73\x69\x6f\x6e\x73\x29\x20\x6d\x61\x74\x63\x68\x2c\x20\x6f\x74\x68\x65\x72\x77\x69\x73\x65\x20\x69\x74\x20\x77\x69\x6c\x6c\x20\x77\x61\x69\x74\x20\x75\x6e\x74\x69\x6c\x20\x61\x6e\x20\x75\x70\x64\x61\x74\x65\x0a\x20\x20\x20\x2a\x20\x69\x73\x20\x66\x6f\x75\x6e\x64\x20\x61\x6e\x64\x20\x73\x74\x61\x72\x74\x73\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x74\x68\x65\x20\x70\x61\x67\x65\x2e\x0a\x20\x20\x20\x2a\x20\x4e\x6f\x74\x65\x3a\x20\x74\x68\x65\x20\x66\x69\x72\x73\x74\x20\x74\x69\x6d\x65\x20\x61\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x69\x73\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x20\x69\x74\x20\x77\x69\x6c\x6c\x20\x61\x63\x74\x69\x76\x65\x20\x62\x75\x74\x0a\x20\x20\x20\x2a\x20\x6e\x6f\x74\x20\x73\x74\x61\x72\x74\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x74\x68\x65\x20\x70\x61\x67\x65\x20\x75\x6e\x6c\x65\x73\x73\x20\x60\x63\x6c\x69\x65\x6e\x74\x73\x2e\x63\x6c\x61\x69\x6d\x28\x29\x60\x20\x69\x73\x20\x63\x61\x6c\x6c\x65\x64\x20\x69\x6e\x20\x74\x68\x65\x0a\x20\x20\x20\x2a\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x2e\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x40\x72\x65\x74\x75\x72\x6e\x20\x7b\x50\x72\x6f\x6d\x69\x73\x65\x3c\x53\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x3e\x7d\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x67\x65\x74\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x44\x65\x66\x65\x72\x72\x65\x64\x2e\x70\x72\x6f\x6d\x69\x73\x65\x3b\x0a\x20\x20\x7d\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x52\x65\x73\x6f\x6c\x76\x65\x73\x20\x77\x69\x74\x68\x20\x61\x20\x72\x65\x66\x65\x72\x65\x6e\x63\x65\x20\x74\x6f\x20\x61\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x74\x68\x61\x74\x20\x6d\x61\x74\x63\x68\x65\x73\x20\x74\x68\x65\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x0a\x20\x20\x20\x2a\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x2c\x20\x61\x73\x20\x73\x6f\x6f\x6e\x20\x61\x73\x20\x69\x74\x27\x73\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\x2e\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x49\x66\x2c\x20\x61\x74\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x74\x69\x6d\x65\x2c\x20\x74\x68\x65\x72\x65\x27\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x61\x6e\x20\x61\x63\x74\x69\x76\x65\x20\x6f\x72\x20\x77\x61\x69\x74\x69\x6e\x67\x20\x73\x65\x72\x76\x69\x63\x65\x0a\x20\x20\x20\x2a\x20\x77\x6f\x72\x6b\x65\x72\x20\x77\x69\x74\x68\x20\x61\x20\x6d\x61\x74\x63\x68\x69\x6e\x67\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x2c\x20\x69\x74\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x75\x73\x65\x64\x20\x28\x77\x69\x74\x68\x20\x74\x68\x65\x20\x77\x61\x69\x74\x69\x6e\x67\x0a\x20\x20\x20\x2a\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x74\x61\x6b\x69\x6e\x67\x20\x70\x72\x65\x63\x65\x64\x65\x6e\x63\x65\x20\x6f\x76\x65\x72\x20\x74\x68\x65\x20\x61\x63\x74\x69\x76\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x69\x66\x20\x62\x6f\x74\x68\x0a\x20\x20\x20\x2a\x20\x6d\x61\x74\x63\x68\x2c\x20\x73\x69\x6e\x63\x65\x20\x74\x68\x65\x20\x77\x61\x69\x74\x69\x6e\x67\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x77\x6f\x75\x6c\x64\x20\x68\x61\x76\x65\x20\x62\x65\x65\x6e\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x6d\x6f\x72\x65\x0a\x20\x20\x20\x2a\x20\x72\x65\x63\x65\x6e\x74\x6c\x79\x29\x2e\x0a\x20\x20\x20\x2a\x20\x49\x66\x20\x74\x68\x65\x72\x65\x27\x73\x20\x6e\x6f\x20\x6d\x61\x74\x63\x68\x69\x6e\x67\x20\x61\x63\x74\x69\x76\x65\x20\x6f\x72\x20\x77\x61\x69\x74\x69\x6e\x67\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x61\x74\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x0a\x20\x20\x20\x2a\x20\x74\x69\x6d\x65\x20\x74\x68\x65\x6e\x20\x74\x68\x65\x20\x70\x72\x6f\x6d\x69\x73\x65\x20\x77\x69\x6c\x6c\x20\x6e\x6f\x74\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x75\x6e\x74\x69\x6c\x20\x61\x6e\x20\x75\x70\x64\x61\x74\x65\x20\x69\x73\x20\x66\x6f\x75\x6e\x64\x20\x61\x6e\x64\x20\x73\x74\x61\x72\x74\x73\x0a\x20\x20\x20\x2a\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x2c\x20\x61\x74\x20\x77\x68\x69\x63\x68\x20\x70\x6f\x69\x6e\x74\x20\x74\x68\x65\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x69\x73\x20\x75\x73\x65\x64\x2e\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x40\x72\x65\x74\x75\x72\x6e\x20\x7b\x50\x72\x6f\x6d\x69\x73\x65\x3c\x53\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x3e\x7d\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x61\x73\x79\x6e\x63\x20\x67\x65\x74\x53\x57\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x2f\x2f\x20\x49\x66\x20\x60\x74\x68\x69\x73\x2e\x5f\x73\x77\x60\x20\x69\x73\x20\x73\x65\x74\x2c\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x77\x69\x74\x68\x20\x74\x68\x61\x74\x20\x61\x73\x20\x77\x65\x20\x77\x61\x6e\x74\x20\x60\x67\x65\x74\x53\x57\x28\x29\x60\x20\x74\x6f\x0a\x20\x20\x20\x20\x2f\x2f\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x65\x20\x63\x6f\x72\x72\x65\x63\x74\x20\x28\x6e\x65\x77\x29\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x69\x66\x20\x61\x6e\x20\x75\x70\x64\x61\x74\x65\x20\x69\x73\x20\x66\x6f\x75\x6e\x64\x2e\x0a\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x5f\x73\x77\x20\x7c\x7c\x20\x74\x68\x69\x73\x2e\x5f\x73\x77\x44\x65\x66\x65\x72\x72\x65\x64\x2e\x70\x72\x6f\x6d\x69\x73\x65\x3b\x0a\x20\x20\x7d\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x53\x65\x6e\x64\x73\x20\x74\x68\x65\x20\x70\x61\x73\x73\x65\x64\x20\x64\x61\x74\x61\x20\x6f\x62\x6a\x65\x63\x74\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x62\x79\x20\x74\x68\x69\x73\x0a\x20\x20\x20\x2a\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x20\x28\x76\x69\x61\x20\x5b\x60\x67\x65\x74\x53\x57\x28\x29\x60\x5d\x7b\x40\x6c\x69\x6e\x6b\x20\x6d\x6f\x64\x75\x6c\x65\x3a\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x57\x6f\x72\x6b\x62\x6f\x78\x23\x67\x65\x74\x53\x57\x7d\x29\x20\x61\x6e\x64\x20\x72\x65\x73\x6f\x6c\x76\x65\x73\x0a\x20\x20\x20\x2a\x20\x77\x69\x74\x68\x20\x61\x20\x72\x65\x73\x70\x6f\x6e\x73\x65\x20\x28\x69\x66\x20\x61\x6e\x79\x29\x2e\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x41\x20\x72\x65\x73\x70\x6f\x6e\x73\x65\x20\x63\x61\x6e\x20\x62\x65\x20\x73\x65\x74\x20\x69\x6e\x20\x61\x20\x6d\x65\x73\x73\x61\x67\x65\x20\x68\x61\x6e\x64\x6c\x65\x72\x20\x69\x6e\x20\x74\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x62\x79\x0a\x20\x20\x20\x2a\x20\x63\x61\x6c\x6c\x69\x6e\x67\x20\x60\x65\x76\x65\x6e\x74\x2e\x70\x6f\x72\x74\x73\x5b\x30\x5d\x2e\x70\x6f\x73\x74\x4d\x65\x73\x73\x61\x67\x65\x28\x2e\x2e\x2e\x29\x60\x2c\x20\x77\x68\x69\x63\x68\x20\x77\x69\x6c\x6c\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x74\x68\x65\x20\x70\x72\x6f\x6d\x69\x73\x65\x0a\x20\x20\x20\x2a\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x20\x62\x79\x20\x60\x6d\x65\x73\x73\x61\x67\x65\x53\x57\x28\x29\x60\x2e\x20\x49\x66\x20\x6e\x6f\x20\x72\x65\x73\x70\x6f\x6e\x73\x65\x20\x69\x73\x20\x73\x65\x74\x2c\x20\x74\x68\x65\x20\x70\x72\x6f\x6d\x69\x73\x65\x20\x77\x69\x6c\x6c\x20\x6e\x65\x76\x65\x72\x0a\x20\x20\x20\x2a\x20\x72\x65\x73\x6f\x6c\x76\x65\x2e\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x4f\x62\x6a\x65\x63\x74\x7d\x20\x64\x61\x74\x61\x20\x41\x6e\x20\x6f\x62\x6a\x65\x63\x74\x20\x74\x6f\x20\x73\x65\x6e\x64\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x0a\x20\x20\x20\x2a\x20\x40\x72\x65\x74\x75\x72\x6e\x20\x7b\x50\x72\x6f\x6d\x69\x73\x65\x3c\x4f\x62\x6a\x65\x63\x74\x3e\x7d\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x61\x73\x79\x6e\x63\x20\x6d\x65\x73\x73\x61\x67\x65\x53\x57\x28\x64\x61\x74\x61\x29\x20\x7b\x0a\x20\x20\x20\x20\x63\x6f\x6e\x73\x74\x20\x73\x77\x20\x3d\x20\x61\x77\x61\x69\x74\x20\x74\x68\x69\x73\x2e\x67\x65\x74\x53\x57\x28\x29\x3b\x0a\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x6d\x65\x73\x73\x61\x67\x65\x53\x57\x28\x73\x77\x2c\x20\x64\x61\x74\x61\x29\x3b\x0a\x20\x20\x7d\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x43\x68\x65\x63\x6b\x73\x20\x66\x6f\x72\x20\x61\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x74\x68\x65\x20\x70\x61\x67\x65\x20\x61\x6e\x64\x20\x72\x65\x74\x75\x72\x6e\x73\x0a\x20\x20\x20\x2a\x20\x69\x74\x20\x69\x66\x20\x69\x74\x73\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x20\x6d\x61\x74\x63\x68\x73\x2e\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x20\x40\x72\x65\x74\x75\x72\x6e\x20\x7b\x53\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x7c\x75\x6e\x64\x65\x66\x69\x6e\x65\x64\x7d\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x5f\x67\x65\x74\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x49\x66\x43\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x63\x6f\x6e\x73\x74\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x20\x3d\x20\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x3b\x0a\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x20\x26\x26\x20\x75\x72\x6c\x73\x4d\x61\x74\x63\x68\x28\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x2e\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x2c\x20\x74\x68\x69\x73\x2e\x5f\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x29\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x3b\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x7d\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x52\x65\x67\x69\x73\x74\x65\x72\x73\x20\x61\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x66\x6f\x72\x20\x74\x68\x69\x73\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x73\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x20\x61\x6e\x64\x20\x72\x65\x67\x69\x73\x74\x65\x72\x0a\x20\x20\x20\x2a\x20\x6f\x70\x74\x69\x6f\x6e\x73\x20\x61\x6e\x64\x20\x74\x72\x61\x63\x6b\x73\x20\x74\x68\x65\x20\x74\x69\x6d\x65\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x77\x61\x73\x20\x63\x6f\x6d\x70\x6c\x65\x74\x65\x2e\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x61\x73\x79\x6e\x63\x20\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x53\x63\x72\x69\x70\x74\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x74\x72\x79\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x63\x6f\x6e\x73\x74\x20\x72\x65\x67\x20\x3d\x20\x61\x77\x61\x69\x74\x20\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x72\x65\x67\x69\x73\x74\x65\x72\x28\x74\x68\x69\x73\x2e\x5f\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x2c\x20\x74\x68\x69\x73\x2e\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x4f\x70\x74\x69\x6f\x6e\x73\x29\x3b\x20\x2f\x2f\x20\x4b\x65\x65\x70\x20\x74\x72\x61\x63\x6b\x20\x6f\x66\x20\x77\x68\x65\x6e\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x68\x61\x70\x70\x65\x6e\x65\x64\x2c\x20\x73\x6f\x20\x69\x74\x20\x63\x61\x6e\x20\x62\x65\x20\x75\x73\x65\x64\x20\x69\x6e\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x60\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x55\x70\x64\x61\x74\x65\x46\x6f\x75\x6e\x64\x60\x20\x68\x65\x75\x72\x69\x73\x74\x69\x63\x2e\x20\x41\x6c\x73\x6f\x20\x75\x73\x65\x20\x74\x68\x65\x20\x70\x72\x65\x73\x65\x6e\x63\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x70\x72\x6f\x70\x65\x72\x74\x79\x20\x61\x73\x20\x61\x20\x77\x61\x79\x20\x74\x6f\x20\x73\x65\x65\x20\x69\x66\x20\x60\x2e\x72\x65\x67\x69\x73\x74\x65\x72\x28\x29\x60\x20\x68\x61\x73\x20\x62\x65\x65\x6e\x20\x63\x61\x6c\x6c\x65\x64\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x54\x69\x6d\x65\x20\x3d\x20\x70\x65\x72\x66\x6f\x72\x6d\x61\x6e\x63\x65\x2e\x6e\x6f\x77\x28\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x72\x65\x67\x3b\x0a\x20\x20\x20\x20\x7d\x20\x63\x61\x74\x63\x68\x20\x28\x65\x72\x72\x6f\x72\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x65\x72\x72\x6f\x72\x28\x65\x72\x72\x6f\x72\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\x20\x2f\x2f\x20\x52\x65\x2d\x74\x68\x72\x6f\x77\x20\x74\x68\x65\x20\x65\x72\x72\x6f\x72\x2e\x0a\x0a\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x72\x6f\x77\x20\x65\x72\x72\x6f\x72\x3b\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x7d\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x53\x65\x6e\x64\x73\x20\x61\x20\x6d\x65\x73\x73\x61\x67\x65\x20\x74\x6f\x20\x74\x68\x65\x20\x70\x61\x73\x73\x65\x64\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x77\x69\x6e\x64\x6f\x77\x20\x69\x73\x20\x72\x65\x61\x64\x79\x2e\x0a\x20\x20\x20\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x53\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x7d\x20\x73\x77\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x5f\x72\x65\x70\x6f\x72\x74\x57\x69\x6e\x64\x6f\x77\x52\x65\x61\x64\x79\x28\x73\x77\x29\x20\x7b\x0a\x20\x20\x20\x20\x6d\x65\x73\x73\x61\x67\x65\x53\x57\x28\x73\x77\x2c\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x74\x79\x70\x65\x3a\x20\x27\x57\x49\x4e\x44\x4f\x57\x5f\x52\x45\x41\x44\x59\x27\x2c\x0a\x20\x20\x20\x20\x20\x20\x6d\x65\x74\x61\x3a\x20\x27\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x27\x0a\x20\x20\x20\x20\x7d\x29\x3b\x0a\x20\x20\x7d\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x5f\x6f\x6e\x55\x70\x64\x61\x74\x65\x46\x6f\x75\x6e\x64\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x63\x6f\x6e\x73\x74\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x53\x57\x20\x3d\x20\x74\x68\x69\x73\x2e\x5f\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x2e\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x3b\x20\x2f\x2f\x20\x49\x66\x20\x74\x68\x65\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x20\x70\x61\x73\x73\x65\x64\x20\x74\x6f\x20\x60\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x72\x65\x67\x69\x73\x74\x65\x72\x28\x29\x60\x20\x69\x73\x0a\x20\x20\x20\x20\x2f\x2f\x20\x64\x69\x66\x66\x65\x72\x65\x6e\x74\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x53\x57\x27\x73\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x2c\x20\x77\x65\x20\x6b\x6e\x6f\x77\x20\x61\x6e\x79\x0a\x20\x20\x20\x20\x2f\x2f\x20\x73\x75\x63\x63\x65\x73\x73\x66\x75\x6c\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x63\x61\x6c\x6c\x73\x20\x77\x69\x6c\x6c\x20\x74\x72\x69\x67\x67\x65\x72\x20\x61\x6e\x20\x60\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x60\x20\x65\x76\x65\x6e\x74\x2e\x0a\x20\x20\x20\x20\x2f\x2f\x20\x42\x75\x74\x20\x69\x66\x20\x74\x68\x65\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x20\x69\x73\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x61\x73\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x0a\x20\x20\x20\x20\x2f\x2f\x20\x53\x57\x27\x73\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x2c\x20\x77\x65\x27\x6c\x6c\x20\x6f\x6e\x6c\x79\x20\x67\x65\x74\x20\x61\x6e\x20\x60\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x60\x20\x65\x76\x65\x6e\x74\x20\x69\x66\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x0a\x20\x20\x20\x20\x2f\x2f\x20\x63\x68\x61\x6e\x67\x65\x64\x20\x73\x69\x6e\x63\x65\x20\x69\x74\x20\x77\x61\x73\x20\x6c\x61\x73\x74\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x2e\x20\x54\x68\x69\x73\x20\x63\x61\x6e\x20\x62\x65\x20\x61\x20\x70\x72\x6f\x62\x6c\x65\x6d\x20\x69\x66\x20\x74\x68\x65\x20\x75\x73\x65\x72\x0a\x20\x20\x20\x20\x2f\x2f\x20\x6f\x70\x65\x6e\x73\x20\x75\x70\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x70\x61\x67\x65\x20\x69\x6e\x20\x61\x20\x64\x69\x66\x66\x65\x72\x65\x6e\x74\x20\x74\x61\x62\x2c\x20\x61\x6e\x64\x20\x74\x68\x61\x74\x20\x70\x61\x67\x65\x20\x72\x65\x67\x69\x73\x74\x65\x72\x73\x0a\x20\x20\x20\x20\x2f\x2f\x20\x61\x20\x53\x57\x20\x74\x68\x61\x74\x20\x74\x72\x69\x67\x67\x65\x72\x73\x20\x61\x6e\x20\x75\x70\x64\x61\x74\x65\x2e\x20\x49\x74\x27\x73\x20\x61\x20\x70\x72\x6f\x62\x6c\x65\x6d\x20\x62\x65\x63\x61\x75\x73\x65\x20\x74\x68\x69\x73\x20\x70\x61\x67\x65\x20\x68\x61\x73\x20\x6e\x6f\x0a\x20\x20\x20\x20\x2f\x2f\x20\x67\x6f\x6f\x64\x20\x77\x61\x79\x20\x6f\x66\x20\x6b\x6e\x6f\x77\x69\x6e\x67\x20\x77\x68\x65\x74\x68\x65\x72\x20\x74\x68\x65\x20\x60\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x60\x20\x65\x76\x65\x6e\x74\x20\x63\x61\x6d\x65\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x53\x57\x0a\x20\x20\x20\x20\x2f\x2f\x20\x73\x63\x72\x69\x70\x74\x20\x69\x74\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x6f\x72\x20\x66\x72\x6f\x6d\x20\x61\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x61\x74\x74\x65\x6d\x70\x74\x20\x6d\x61\x64\x65\x20\x62\x79\x20\x61\x20\x6e\x65\x77\x65\x72\x0a\x20\x20\x20\x20\x2f\x2f\x20\x76\x65\x72\x73\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x70\x61\x67\x65\x20\x72\x75\x6e\x6e\x69\x6e\x67\x20\x69\x6e\x20\x61\x6e\x6f\x74\x68\x65\x72\x20\x74\x61\x62\x2e\x0a\x20\x20\x20\x20\x2f\x2f\x20\x54\x6f\x20\x6d\x69\x6e\x69\x6d\x69\x7a\x65\x20\x74\x68\x65\x20\x70\x6f\x73\x73\x69\x62\x69\x6c\x69\x74\x79\x20\x6f\x66\x20\x61\x20\x66\x61\x6c\x73\x65\x20\x70\x6f\x73\x69\x74\x69\x76\x65\x2c\x20\x77\x65\x20\x75\x73\x65\x20\x74\x68\x65\x20\x6c\x6f\x67\x69\x63\x20\x68\x65\x72\x65\x3a\x0a\x0a\x20\x20\x20\x20\x6c\x65\x74\x20\x75\x70\x64\x61\x74\x65\x4c\x69\x6b\x65\x6c\x79\x54\x72\x69\x67\x67\x65\x72\x65\x64\x45\x78\x74\x65\x72\x6e\x61\x6c\x6c\x79\x20\x3d\x20\x2f\x2f\x20\x53\x69\x6e\x63\x65\x20\x77\x65\x20\x65\x6e\x66\x6f\x72\x63\x65\x20\x6f\x6e\x6c\x79\x20\x63\x61\x6c\x6c\x69\x6e\x67\x20\x60\x72\x65\x67\x69\x73\x74\x65\x72\x28\x29\x60\x20\x6f\x6e\x63\x65\x2c\x20\x61\x6e\x64\x20\x73\x69\x6e\x63\x65\x20\x77\x65\x20\x64\x6f\x6e\x27\x74\x0a\x20\x20\x20\x20\x2f\x2f\x20\x61\x64\x64\x20\x74\x68\x65\x20\x60\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x60\x20\x65\x76\x65\x6e\x74\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x20\x75\x6e\x74\x69\x6c\x20\x74\x68\x65\x20\x60\x72\x65\x67\x69\x73\x74\x65\x72\x28\x29\x60\x20\x63\x61\x6c\x6c\x2c\x20\x69\x66\x0a\x20\x20\x20\x20\x2f\x2f\x20\x60\x5f\x75\x70\x64\x61\x74\x65\x46\x6f\x75\x6e\x64\x43\x6f\x75\x6e\x74\x60\x20\x69\x73\x20\x3e\x20\x30\x20\x74\x68\x65\x6e\x20\x69\x74\x20\x6d\x65\x61\x6e\x73\x20\x74\x68\x69\x73\x20\x6d\x65\x74\x68\x6f\x64\x20\x68\x61\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x0a\x20\x20\x20\x20\x2f\x2f\x20\x62\x65\x65\x6e\x20\x63\x61\x6c\x6c\x65\x64\x2c\x20\x74\x68\x75\x73\x20\x74\x68\x69\x73\x20\x53\x57\x20\x6d\x75\x73\x74\x20\x62\x65\x20\x65\x78\x74\x65\x72\x6e\x61\x6c\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x75\x70\x64\x61\x74\x65\x46\x6f\x75\x6e\x64\x43\x6f\x75\x6e\x74\x20\x3e\x20\x30\x20\x7c\x7c\x20\x2f\x2f\x20\x49\x66\x20\x74\x68\x65\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x20\x6f\x66\x20\x74\x68\x65\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x20\x53\x57\x20\x69\x73\x20\x64\x69\x66\x66\x65\x72\x65\x6e\x74\x20\x66\x72\x6f\x6d\x20\x74\x68\x69\x73\x0a\x20\x20\x20\x20\x2f\x2f\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x27\x73\x20\x73\x63\x72\x69\x70\x74\x20\x55\x52\x4c\x2c\x20\x77\x65\x20\x6b\x6e\x6f\x77\x20\x69\x74\x27\x73\x20\x64\x65\x66\x69\x6e\x69\x74\x65\x6c\x79\x20\x6e\x6f\x74\x20\x66\x72\x6f\x6d\x20\x6f\x75\x72\x0a\x20\x20\x20\x20\x2f\x2f\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x2e\x0a\x20\x20\x20\x20\x21\x75\x72\x6c\x73\x4d\x61\x74\x63\x68\x28\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x53\x57\x2e\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x2c\x20\x74\x68\x69\x73\x2e\x5f\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x29\x20\x7c\x7c\x20\x2f\x2f\x20\x49\x66\x20\x61\x6c\x6c\x20\x6f\x66\x20\x74\x68\x65\x20\x61\x62\x6f\x76\x65\x20\x61\x72\x65\x20\x66\x61\x6c\x73\x65\x2c\x20\x74\x68\x65\x6e\x20\x77\x65\x20\x75\x73\x65\x20\x61\x20\x74\x69\x6d\x65\x2d\x62\x61\x73\x65\x64\x20\x68\x65\x75\x72\x69\x73\x74\x69\x63\x3a\x0a\x20\x20\x20\x20\x2f\x2f\x20\x41\x6e\x79\x20\x60\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x60\x20\x65\x76\x65\x6e\x74\x20\x74\x68\x61\x74\x20\x6f\x63\x63\x75\x72\x73\x20\x6c\x6f\x6e\x67\x20\x61\x66\x74\x65\x72\x20\x6f\x75\x72\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x69\x73\x0a\x20\x20\x20\x20\x2f\x2f\x20\x61\x73\x73\x75\x6d\x65\x64\x20\x74\x6f\x20\x62\x65\x20\x65\x78\x74\x65\x72\x6e\x61\x6c\x2e\x0a\x20\x20\x20\x20\x70\x65\x72\x66\x6f\x72\x6d\x61\x6e\x63\x65\x2e\x6e\x6f\x77\x28\x29\x20\x3e\x20\x74\x68\x69\x73\x2e\x5f\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x54\x69\x6d\x65\x20\x2b\x20\x52\x45\x47\x49\x53\x54\x52\x41\x54\x49\x4f\x4e\x5f\x54\x49\x4d\x45\x4f\x55\x54\x5f\x44\x55\x52\x41\x54\x49\x4f\x4e\x20\x3f\x20\x2f\x2f\x20\x49\x66\x20\x61\x6e\x79\x20\x6f\x66\x20\x74\x68\x65\x20\x61\x62\x6f\x76\x65\x20\x61\x72\x65\x20\x6e\x6f\x74\x20\x74\x72\x75\x65\x2c\x20\x77\x65\x20\x61\x73\x73\x75\x6d\x65\x20\x74\x68\x65\x20\x75\x70\x64\x61\x74\x65\x20\x77\x61\x73\x0a\x20\x20\x20\x20\x2f\x2f\x20\x74\x72\x69\x67\x67\x65\x72\x65\x64\x20\x62\x79\x20\x74\x68\x69\x73\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x2e\x0a\x20\x20\x20\x20\x74\x72\x75\x65\x20\x3a\x20\x66\x61\x6c\x73\x65\x3b\x0a\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x75\x70\x64\x61\x74\x65\x4c\x69\x6b\x65\x6c\x79\x54\x72\x69\x67\x67\x65\x72\x65\x64\x45\x78\x74\x65\x72\x6e\x61\x6c\x6c\x79\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x65\x78\x74\x65\x72\x6e\x61\x6c\x53\x57\x20\x3d\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x53\x57\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x2e\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x27\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x27\x2c\x20\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x55\x70\x64\x61\x74\x65\x46\x6f\x75\x6e\x64\x29\x3b\x0a\x20\x20\x20\x20\x7d\x20\x65\x6c\x73\x65\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x49\x66\x20\x74\x68\x65\x20\x75\x70\x64\x61\x74\x65\x20\x77\x61\x73\x20\x6e\x6f\x74\x20\x74\x72\x69\x67\x67\x65\x72\x65\x64\x20\x65\x78\x74\x65\x72\x6e\x61\x6c\x6c\x79\x20\x77\x65\x20\x6b\x6e\x6f\x77\x20\x74\x68\x65\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x53\x57\x20\x69\x73\x20\x74\x68\x65\x20\x6f\x6e\x65\x20\x77\x65\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x2c\x20\x73\x6f\x20\x77\x65\x20\x73\x65\x74\x20\x69\x74\x2e\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x73\x77\x20\x3d\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x53\x57\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x73\x77\x44\x65\x66\x65\x72\x72\x65\x64\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x53\x57\x29\x3b\x20\x2f\x2f\x20\x54\x68\x65\x20\x60\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x60\x20\x73\x74\x61\x74\x65\x20\x69\x73\x6e\x27\x74\x20\x73\x6f\x6d\x65\x74\x68\x69\x6e\x67\x20\x77\x65\x20\x68\x61\x76\x65\x20\x61\x20\x64\x65\x64\x69\x63\x61\x74\x65\x64\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x63\x61\x6c\x6c\x62\x61\x63\x6b\x20\x66\x6f\x72\x2c\x20\x62\x75\x74\x20\x77\x65\x20\x64\x6f\x20\x6c\x6f\x67\x20\x6d\x65\x73\x73\x61\x67\x65\x73\x20\x66\x6f\x72\x20\x69\x74\x20\x69\x6e\x20\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x2e\x0a\x0a\x0a\x20\x20\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x6c\x6f\x67\x28\x27\x55\x70\x64\x61\x74\x65\x64\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x66\x6f\x75\x6e\x64\x2e\x20\x49\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x20\x6e\x6f\x77\x2e\x2e\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x20\x65\x6c\x73\x65\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x6c\x6f\x67\x28\x27\x53\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x69\x73\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x2e\x2e\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x7d\x20\x2f\x2f\x20\x49\x6e\x63\x72\x65\x6d\x65\x6e\x74\x20\x74\x68\x65\x20\x60\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x60\x20\x63\x6f\x75\x6e\x74\x2c\x20\x73\x6f\x20\x66\x75\x74\x75\x72\x65\x20\x69\x6e\x76\x6f\x63\x61\x74\x69\x6f\x6e\x73\x20\x6f\x66\x20\x74\x68\x69\x73\x0a\x20\x20\x20\x20\x2f\x2f\x20\x6d\x65\x74\x68\x6f\x64\x20\x63\x61\x6e\x20\x62\x65\x20\x73\x75\x72\x65\x20\x74\x68\x65\x79\x20\x77\x65\x72\x65\x20\x74\x72\x69\x67\x67\x65\x72\x65\x64\x20\x65\x78\x74\x65\x72\x6e\x61\x6c\x6c\x79\x2e\x0a\x0a\x0a\x20\x20\x20\x20\x2b\x2b\x74\x68\x69\x73\x2e\x5f\x75\x70\x64\x61\x74\x65\x46\x6f\x75\x6e\x64\x43\x6f\x75\x6e\x74\x3b\x20\x2f\x2f\x20\x41\x64\x64\x20\x61\x20\x60\x73\x74\x61\x74\x65\x63\x68\x61\x6e\x67\x65\x60\x20\x6c\x69\x73\x74\x65\x6e\x65\x72\x20\x72\x65\x67\x61\x72\x64\x6c\x65\x73\x73\x20\x6f\x66\x20\x77\x68\x65\x74\x68\x65\x72\x20\x74\x68\x69\x73\x20\x75\x70\x64\x61\x74\x65\x20\x77\x61\x73\x0a\x20\x20\x20\x20\x2f\x2f\x20\x74\x72\x69\x67\x67\x65\x72\x65\x64\x20\x65\x78\x74\x65\x72\x6e\x61\x6c\x6c\x79\x2c\x20\x73\x69\x6e\x63\x65\x20\x77\x65\x20\x68\x61\x76\x65\x20\x63\x61\x6c\x6c\x62\x61\x63\x6b\x73\x20\x66\x6f\x72\x20\x62\x6f\x74\x68\x2e\x0a\x0a\x20\x20\x20\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x53\x57\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x27\x73\x74\x61\x74\x65\x63\x68\x61\x6e\x67\x65\x27\x2c\x20\x74\x68\x69\x73\x2e\x5f\x6f\x6e\x53\x74\x61\x74\x65\x43\x68\x61\x6e\x67\x65\x29\x3b\x0a\x20\x20\x7d\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x45\x76\x65\x6e\x74\x7d\x20\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x5f\x6f\x6e\x53\x74\x61\x74\x65\x43\x68\x61\x6e\x67\x65\x28\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x29\x20\x7b\x0a\x20\x20\x20\x20\x63\x6f\x6e\x73\x74\x20\x73\x77\x20\x3d\x20\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x2e\x74\x61\x72\x67\x65\x74\x3b\x0a\x20\x20\x20\x20\x63\x6f\x6e\x73\x74\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x73\x74\x61\x74\x65\x0a\x20\x20\x20\x20\x7d\x20\x3d\x20\x73\x77\x3b\x0a\x20\x20\x20\x20\x63\x6f\x6e\x73\x74\x20\x69\x73\x45\x78\x74\x65\x72\x6e\x61\x6c\x20\x3d\x20\x73\x77\x20\x3d\x3d\x3d\x20\x74\x68\x69\x73\x2e\x5f\x65\x78\x74\x65\x72\x6e\x61\x6c\x53\x57\x3b\x0a\x20\x20\x20\x20\x63\x6f\x6e\x73\x74\x20\x65\x76\x65\x6e\x74\x50\x72\x65\x66\x69\x78\x20\x3d\x20\x69\x73\x45\x78\x74\x65\x72\x6e\x61\x6c\x20\x3f\x20\x27\x65\x78\x74\x65\x72\x6e\x61\x6c\x27\x20\x3a\x20\x27\x27\x3b\x0a\x20\x20\x20\x20\x63\x6f\x6e\x73\x74\x20\x65\x76\x65\x6e\x74\x50\x72\x6f\x70\x73\x20\x3d\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x73\x77\x2c\x0a\x20\x20\x20\x20\x20\x20\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x0a\x20\x20\x20\x20\x7d\x3b\x0a\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x21\x69\x73\x45\x78\x74\x65\x72\x6e\x61\x6c\x20\x26\x26\x20\x74\x68\x69\x73\x2e\x5f\x69\x73\x55\x70\x64\x61\x74\x65\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x65\x76\x65\x6e\x74\x50\x72\x6f\x70\x73\x2e\x69\x73\x55\x70\x64\x61\x74\x65\x20\x3d\x20\x74\x72\x75\x65\x3b\x0a\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x6e\x65\x77\x20\x57\x6f\x72\x6b\x62\x6f\x78\x45\x76\x65\x6e\x74\x28\x65\x76\x65\x6e\x74\x50\x72\x65\x66\x69\x78\x20\x2b\x20\x73\x74\x61\x74\x65\x2c\x20\x65\x76\x65\x6e\x74\x50\x72\x6f\x70\x73\x29\x29\x3b\x0a\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x73\x74\x61\x74\x65\x20\x3d\x3d\x3d\x20\x27\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x27\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x54\x68\x69\x73\x20\x74\x69\x6d\x65\x6f\x75\x74\x20\x69\x73\x20\x75\x73\x65\x64\x20\x74\x6f\x20\x69\x67\x6e\x6f\x72\x65\x20\x63\x61\x73\x65\x73\x20\x77\x68\x65\x72\x65\x20\x74\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x63\x61\x6c\x6c\x73\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x60\x73\x6b\x69\x70\x57\x61\x69\x74\x69\x6e\x67\x28\x29\x60\x20\x69\x6e\x20\x74\x68\x65\x20\x69\x6e\x73\x74\x61\x6c\x6c\x20\x65\x76\x65\x6e\x74\x2c\x20\x74\x68\x75\x73\x20\x6d\x6f\x76\x69\x6e\x67\x20\x69\x74\x20\x64\x69\x72\x65\x63\x74\x6c\x79\x20\x69\x6e\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x61\x63\x74\x69\x76\x61\x74\x69\x6e\x67\x20\x73\x74\x61\x74\x65\x2e\x20\x28\x53\x69\x6e\x63\x65\x20\x61\x6c\x6c\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x73\x20\x2a\x6d\x75\x73\x74\x2a\x20\x67\x6f\x20\x74\x68\x72\x6f\x75\x67\x68\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x77\x61\x69\x74\x69\x6e\x67\x20\x70\x68\x61\x73\x65\x2c\x20\x74\x68\x65\x20\x6f\x6e\x6c\x79\x20\x77\x61\x79\x20\x74\x6f\x20\x64\x65\x74\x65\x63\x74\x20\x60\x73\x6b\x69\x70\x57\x61\x69\x74\x69\x6e\x67\x28\x29\x60\x20\x63\x61\x6c\x6c\x65\x64\x20\x69\x6e\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x69\x6e\x73\x74\x61\x6c\x6c\x20\x65\x76\x65\x6e\x74\x20\x69\x73\x20\x74\x6f\x20\x6f\x62\x73\x65\x72\x76\x65\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x74\x69\x6d\x65\x20\x73\x70\x65\x6e\x74\x20\x69\x6e\x20\x74\x68\x65\x20\x77\x61\x69\x74\x69\x6e\x67\x20\x70\x68\x61\x73\x65\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x69\x73\x20\x76\x65\x72\x79\x20\x73\x68\x6f\x72\x74\x2e\x29\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x4e\x4f\x54\x45\x3a\x20\x77\x65\x20\x64\x6f\x6e\x27\x74\x20\x6e\x65\x65\x64\x20\x73\x65\x70\x61\x72\x61\x74\x65\x20\x74\x69\x6d\x65\x6f\x75\x74\x73\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x6f\x77\x6e\x20\x61\x6e\x64\x20\x65\x78\x74\x65\x72\x6e\x61\x6c\x20\x53\x57\x73\x0a\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x73\x69\x6e\x63\x65\x20\x74\x68\x65\x79\x20\x63\x61\x6e\x27\x74\x20\x67\x6f\x20\x74\x68\x72\x6f\x75\x67\x68\x20\x74\x68\x65\x73\x65\x20\x70\x68\x61\x73\x65\x73\x20\x61\x74\x20\x74\x68\x65\x20\x73\x61\x6d\x65\x20\x74\x69\x6d\x65\x2e\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x77\x61\x69\x74\x69\x6e\x67\x54\x69\x6d\x65\x6f\x75\x74\x20\x3d\x20\x73\x65\x74\x54\x69\x6d\x65\x6f\x75\x74\x28\x28\x29\x20\x3d\x3e\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\x45\x6e\x73\x75\x72\x65\x20\x74\x68\x65\x20\x53\x57\x20\x69\x73\x20\x73\x74\x69\x6c\x6c\x20\x77\x61\x69\x74\x69\x6e\x67\x20\x28\x69\x74\x20\x6d\x61\x79\x20\x6e\x6f\x77\x20\x62\x65\x20\x72\x65\x64\x75\x6e\x64\x61\x6e\x74\x29\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x73\x74\x61\x74\x65\x20\x3d\x3d\x3d\x20\x27\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x27\x20\x26\x26\x20\x74\x68\x69\x73\x2e\x5f\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x2e\x77\x61\x69\x74\x69\x6e\x67\x20\x3d\x3d\x3d\x20\x73\x77\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x6e\x65\x77\x20\x57\x6f\x72\x6b\x62\x6f\x78\x45\x76\x65\x6e\x74\x28\x65\x76\x65\x6e\x74\x50\x72\x65\x66\x69\x78\x20\x2b\x20\x27\x77\x61\x69\x74\x69\x6e\x67\x27\x2c\x20\x65\x76\x65\x6e\x74\x50\x72\x6f\x70\x73\x29\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x69\x73\x45\x78\x74\x65\x72\x6e\x61\x6c\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x77\x61\x72\x6e\x28\x27\x41\x6e\x20\x65\x78\x74\x65\x72\x6e\x61\x6c\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x68\x61\x73\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x20\x62\x75\x74\x20\x69\x73\x20\x27\x20\x2b\x20\x27\x77\x61\x69\x74\x69\x6e\x67\x20\x66\x6f\x72\x20\x74\x68\x69\x73\x20\x63\x6c\x69\x65\x6e\x74\x20\x74\x6f\x20\x63\x6c\x6f\x73\x65\x20\x62\x65\x66\x6f\x72\x65\x20\x61\x63\x74\x69\x76\x61\x74\x69\x6e\x67\x2e\x2e\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x20\x65\x6c\x73\x65\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x77\x61\x72\x6e\x28\x27\x54\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x68\x61\x73\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x20\x62\x75\x74\x20\x69\x73\x20\x77\x61\x69\x74\x69\x6e\x67\x20\x27\x20\x2b\x20\x27\x66\x6f\x72\x20\x65\x78\x69\x73\x74\x69\x6e\x67\x20\x63\x6c\x69\x65\x6e\x74\x73\x20\x74\x6f\x20\x63\x6c\x6f\x73\x65\x20\x62\x65\x66\x6f\x72\x65\x20\x61\x63\x74\x69\x76\x61\x74\x69\x6e\x67\x2e\x2e\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x7d\x2c\x20\x57\x41\x49\x54\x49\x4e\x47\x5f\x54\x49\x4d\x45\x4f\x55\x54\x5f\x44\x55\x52\x41\x54\x49\x4f\x4e\x29\x3b\x0a\x20\x20\x20\x20\x7d\x20\x65\x6c\x73\x65\x20\x69\x66\x20\x28\x73\x74\x61\x74\x65\x20\x3d\x3d\x3d\x20\x27\x61\x63\x74\x69\x76\x61\x74\x69\x6e\x67\x27\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x63\x6c\x65\x61\x72\x54\x69\x6d\x65\x6f\x75\x74\x28\x74\x68\x69\x73\x2e\x5f\x77\x61\x69\x74\x69\x6e\x67\x54\x69\x6d\x65\x6f\x75\x74\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x69\x73\x45\x78\x74\x65\x72\x6e\x61\x6c\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x61\x63\x74\x69\x76\x65\x44\x65\x66\x65\x72\x72\x65\x64\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x73\x77\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x73\x77\x69\x74\x63\x68\x20\x28\x73\x74\x61\x74\x65\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x27\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x27\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x69\x73\x45\x78\x74\x65\x72\x6e\x61\x6c\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x77\x61\x72\x6e\x28\x27\x41\x6e\x20\x65\x78\x74\x65\x72\x6e\x61\x6c\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x68\x61\x73\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x2e\x20\x27\x20\x2b\x20\x27\x59\x6f\x75\x20\x6d\x61\x79\x20\x77\x61\x6e\x74\x20\x74\x6f\x20\x73\x75\x67\x67\x65\x73\x74\x20\x75\x73\x65\x72\x73\x20\x72\x65\x6c\x6f\x61\x64\x20\x74\x68\x69\x73\x20\x70\x61\x67\x65\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x20\x65\x6c\x73\x65\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x6c\x6f\x67\x28\x27\x52\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x72\x65\x61\x6b\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x27\x61\x63\x74\x69\x76\x61\x74\x65\x64\x27\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x69\x73\x45\x78\x74\x65\x72\x6e\x61\x6c\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x77\x61\x72\x6e\x28\x27\x41\x6e\x20\x65\x78\x74\x65\x72\x6e\x61\x6c\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x68\x61\x73\x20\x61\x63\x74\x69\x76\x61\x74\x65\x64\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x20\x65\x6c\x73\x65\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x6c\x6f\x67\x28\x27\x52\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x61\x63\x74\x69\x76\x61\x74\x65\x64\x2e\x27\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x73\x77\x20\x21\x3d\x3d\x20\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x77\x61\x72\x6e\x28\x27\x54\x68\x65\x20\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x69\x73\x20\x61\x63\x74\x69\x76\x65\x20\x62\x75\x74\x20\x27\x20\x2b\x20\x27\x6e\x6f\x74\x20\x79\x65\x74\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x74\x68\x65\x20\x70\x61\x67\x65\x2e\x20\x52\x65\x6c\x6f\x61\x64\x20\x6f\x72\x20\x72\x75\x6e\x20\x27\x20\x2b\x20\x27\x60\x63\x6c\x69\x65\x6e\x74\x73\x2e\x63\x6c\x61\x69\x6d\x28\x29\x60\x20\x69\x6e\x20\x74\x68\x65\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x72\x65\x61\x6b\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x27\x72\x65\x64\x75\x6e\x64\x61\x6e\x74\x27\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x73\x77\x20\x3d\x3d\x3d\x20\x74\x68\x69\x73\x2e\x5f\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x53\x57\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x6c\x6f\x67\x28\x27\x50\x72\x65\x76\x69\x6f\x75\x73\x6c\x79\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x6e\x6f\x77\x20\x72\x65\x64\x75\x6e\x64\x61\x6e\x74\x21\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x20\x65\x6c\x73\x65\x20\x69\x66\x20\x28\x21\x69\x73\x45\x78\x74\x65\x72\x6e\x61\x6c\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x6c\x6f\x67\x28\x27\x52\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x6e\x6f\x77\x20\x72\x65\x64\x75\x6e\x64\x61\x6e\x74\x21\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x72\x65\x61\x6b\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x7d\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x45\x76\x65\x6e\x74\x7d\x20\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x5f\x6f\x6e\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x43\x68\x61\x6e\x67\x65\x28\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x29\x20\x7b\x0a\x20\x20\x20\x20\x63\x6f\x6e\x73\x74\x20\x73\x77\x20\x3d\x20\x74\x68\x69\x73\x2e\x5f\x73\x77\x3b\x0a\x0a\x20\x20\x20\x20\x69\x66\x20\x28\x73\x77\x20\x3d\x3d\x3d\x20\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x6e\x65\x77\x20\x57\x6f\x72\x6b\x62\x6f\x78\x45\x76\x65\x6e\x74\x28\x27\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x27\x2c\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x77\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x0a\x20\x20\x20\x20\x20\x20\x7d\x29\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x6f\x67\x67\x65\x72\x2e\x6c\x6f\x67\x28\x27\x52\x65\x67\x69\x73\x74\x65\x72\x65\x64\x20\x73\x65\x72\x76\x69\x63\x65\x20\x77\x6f\x72\x6b\x65\x72\x20\x6e\x6f\x77\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x20\x74\x68\x69\x73\x20\x70\x61\x67\x65\x2e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x44\x65\x66\x65\x72\x72\x65\x64\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x73\x77\x29\x3b\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x7d\x0a\x20\x20\x2f\x2a\x2a\x0a\x20\x20\x20\x2a\x20\x40\x70\x72\x69\x76\x61\x74\x65\x0a\x20\x20\x20\x2a\x20\x40\x70\x61\x72\x61\x6d\x20\x7b\x45\x76\x65\x6e\x74\x7d\x20\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x0a\x20\x20\x20\x2a\x2f\x0a\x0a\x0a\x20\x20\x5f\x6f\x6e\x4d\x65\x73\x73\x61\x67\x65\x28\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x29\x20\x7b\x0a\x20\x20\x20\x20\x63\x6f\x6e\x73\x74\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x64\x61\x74\x61\x0a\x20\x20\x20\x20\x7d\x20\x3d\x20\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x3b\x0a\x20\x20\x20\x20\x74\x68\x69\x73\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x6e\x65\x77\x20\x57\x6f\x72\x6b\x62\x6f\x78\x45\x76\x65\x6e\x74\x28\x27\x6d\x65\x73\x73\x61\x67\x65\x27\x2c\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x64\x61\x74\x61\x2c\x0a\x20\x20\x20\x20\x20\x20\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x0a\x20\x20\x20\x20\x7d\x29\x29\x3b\x0a\x20\x20\x7d\x0a\x0a\x7d\x20\x2f\x2f\x20\x54\x68\x65\x20\x6a\x73\x64\x6f\x63\x20\x63\x6f\x6d\x6d\x65\x6e\x74\x73\x20\x62\x65\x6c\x6f\x77\x20\x6f\x75\x74\x6c\x69\x6e\x65\x20\x74\x68\x65\x20\x65\x76\x65\x6e\x74\x73\x20\x74\x68\x69\x73\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x20\x6d\x61\x79\x20\x64\x69\x73\x70\x61\x74\x63\x68\x3a\x0a\x0a\x2f\x2a\x0a\x20\x20\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x39\x20\x47\x6f\x6f\x67\x6c\x65\x20\x4c\x4c\x43\x0a\x0a\x20\x20\x55\x73\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x73\x6f\x75\x72\x63\x65\x20\x63\x6f\x64\x65\x20\x69\x73\x20\x67\x6f\x76\x65\x72\x6e\x65\x64\x20\x62\x79\x20\x61\x6e\x20\x4d\x49\x54\x2d\x73\x74\x79\x6c\x65\x0a\x20\x20\x6c\x69\x63\x65\x6e\x73\x65\x20\x74\x68\x61\x74\x20\x63\x61\x6e\x20\x62\x65\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x4c\x49\x43\x45\x4e\x53\x45\x20\x66\x69\x6c\x65\x20\x6f\x72\x20\x61\x74\x0a\x20\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6f\x70\x65\x6e\x73\x6f\x75\x72\x63\x65\x2e\x6f\x72\x67\x2f\x6c\x69\x63\x65\x6e\x73\x65\x73\x2f\x4d\x49\x54\x2e\x0a\x2a\x2f\x0a\x0a\x65\x78\x70\x6f\x72\x74\x20\x7b\x20\x57\x6f\x72\x6b\x62\x6f\x78\x2c\x20\x6d\x65\x73\x73\x61\x67\x65\x53\x57\x20\x7d\x3b\x0a\x2f\x2f\x23\x20\x73\x6f\x75\x72\x63\x65\x4d\x61\x70\x70\x69\x6e\x67\x55\x52\x4c\x3d\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x64\x65\x76\x2e\x6d\x6a\x73\x2e\x6d\x61\x70\x0a" + +func workboxV431WorkboxWindowDevMjsBytes() ([]byte, error) { + return bindataRead( + _workboxV431WorkboxWindowDevMjs, + "workbox-v4.3.1/workbox-window.dev.mjs", + ) +} + +func workboxV431WorkboxWindowDevMjs() (*asset, error) { + bytes, err := workboxV431WorkboxWindowDevMjsBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "workbox-v4.3.1/workbox-window.dev.mjs", size: 24212, mode: os.FileMode(420), modTime: time.Unix(1560038421, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _workboxV431WorkboxWindowDevUmdJsBr = "\x1b\xd6\x76\x00\x2c\x0e\x6c\x3a\x75\x87\x1a\x34\x16\x37\x0e\x8a\x62\xbc\xc0\x37\x58\x1a\x32\x42\x92\x4e\xff\x5b\x6a\xde\x75\x39\xbd\xad\x80\x17\x7f\xb6\x54\x29\xa5\x75\x8f\xa2\x06\x76\xd8\x22\xed\xf0\xb1\x15\x25\x16\xca\xe0\xfc\x42\xb3\x30\x49\xb3\x6f\x9f\xee\xeb\xd7\x0e\xd6\x76\xe3\xda\x1b\xb1\xa6\xc0\xa6\x3f\x0b\x38\xe1\x4e\x92\x28\x54\x36\x99\xb2\x67\x2b\xaa\x3c\x79\x34\x06\x9e\x4d\x10\x3f\x34\xb7\x5b\x0a\xf4\xad\x3d\x4b\xd5\x10\x05\x4b\x12\xec\x9b\x1f\x32\x78\x0b\xc2\x80\xdf\x63\x39\xbf\xd8\x6b\xa5\x61\x4a\x80\x98\xe1\xa5\x8e\xd0\xd4\xd0\x06\x6c\xba\xfb\x75\xbb\xf4\xf5\x25\x7b\x24\xcd\x54\x85\xdd\x3c\x4e\x71\xce\x21\x76\xf8\x5f\xa3\x30\x77\xb5\xa3\xdb\x73\x69\x1d\x43\x84\xe8\x00\x34\x64\x2a\x1f\xbb\x28\xb6\x61\xfa\xdf\x36\x49\x9b\xbe\x7b\xe6\x37\x06\x21\x2e\x21\x84\x10\xd8\xdd\x44\xe1\x5c\xd6\x06\x44\x15\x7a\x93\xc2\x5f\x62\xa6\x18\x72\xf0\x0c\xf0\x4f\x45\x70\x20\x8a\x00\x9c\x48\x28\xfb\x18\x7d\x58\x0a\x5e\x13\xd8\x83\xd7\x4a\x18\x5b\x0a\x19\x5c\x71\x2a\x3f\x15\x13\xfe\x23\x07\x1f\x40\xd5\xb2\xd8\x7b\xe1\xaa\x9c\x09\x30\x87\x22\xc7\x52\x20\x02\xf7\xab\x80\x2f\x8e\xfe\xd7\x48\x52\x73\x0a\x47\x03\x8a\xfe\xed\xba\xfb\x8b\x79\x32\x03\x45\x11\x78\x22\xa9\x4b\x05\xc3\xf4\xbf\xf9\x83\x5a\xda\x21\xfe\x83\x6f\xa2\xc8\x0a\x2c\x5a\x1f\x03\x02\x98\xcd\x04\xc4\x61\x9a\x1f\xef\x95\x1e\x1d\xd1\x81\xc8\xa3\xf0\x2a\x2b\x6f\x2d\x59\xd9\x3f\xd6\x6e\xc3\xdf\x88\x45\x83\x96\xaf\x7d\x1b\xa7\xd3\x33\x78\x46\xcf\xc0\x7d\x4e\xcc\xe4\xd3\xe5\x08\xf1\x2d\xa2\x49\x73\x74\xfd\x7a\xec\xae\xc5\xe9\x5c\x13\xda\x22\xd0\xa1\x5d\xdc\xfb\xc6\xf5\x0c\xc1\xcd\xf3\x4b\xe1\xe5\x1b\x4a\xa6\xef\x24\x85\xa6\x17\x97\xae\x98\x18\xd8\x37\x84\x06\xe3\x37\xec\xcd\x95\x0a\x8c\x84\xc9\x15\x0e\x20\x7f\x1b\x9b\xb7\x2f\xbf\x50\x02\x13\x13\x0b\x7e\x3f\x9a\xc0\xac\x4d\x49\x05\x0c\xfb\xee\x69\x29\x6b\xc2\xda\x19\xbf\x07\xbf\x5d\xc1\xdd\xca\xb1\x96\x3e\xa0\x04\xb1\xa0\x8d\x03\x1e\xe1\x12\xa0\x23\x72\xbe\xef\xab\xbd\x40\x06\x45\x47\xc5\xc9\x33\x0e\x34\x7a\x47\x91\xf8\xd1\x52\xc8\x05\xba\x83\x18\xa7\xc8\x4c\xeb\x07\x18\x3a\x14\x8d\xb3\x9d\xc9\x45\x81\x08\xa6\xc7\xf3\x1d\x24\x11\xa9\x72\xe2\x1e\xb5\xd3\x50\xe6\x06\xd9\x13\x90\xba\x4b\xba\xd6\x61\xf3\x87\x3f\x97\x54\x25\xe1\x42\xf0\x62\x43\xff\x9f\x16\x89\x1a\xcc\x22\x56\x5d\x10\x78\x08\x28\x44\xbd\xd9\x67\x1e\xdb\xbf\x0a\xde\x7c\x8f\xcf\x77\x31\x22\x0e\x4a\xd1\x3c\xca\xc5\xe8\x85\x26\xcc\x47\xc8\x25\x68\x42\x62\x86\x63\xe6\x99\x4c\xda\xfc\xaf\x33\x01\x15\x0c\x28\x6c\xfb\x67\xf8\x6d\x78\x07\xde\x78\x4d\x0b\x2e\xdd\x1b\xd1\x17\x22\x6b\x74\xa3\x4d\xeb\xd2\x53\xa7\xec\xf0\x96\x49\x32\x0c\x6b\xa9\x17\x27\xab\xba\x03\xb7\x25\x8f\x46\x5a\xa8\x15\x46\x14\x4e\x3d\x3d\xf0\xf1\x14\x0e\x49\xa9\xee\x63\x20\x68\xa1\x40\xc9\x97\x6f\x0e\x50\x85\x86\xaf\xc4\x07\x17\x94\xd3\x03\xea\x38\x14\xf0\x7c\x8d\x76\xbf\x18\x9a\xc3\x0e\x78\x90\x8b\x86\x90\x6f\x33\x57\xe3\x31\x9c\xcb\x3c\xe5\x8e\x66\x6a\xaf\x2b\x87\x3e\x3b\xcc\x21\xf0\xdc\x40\x85\x62\x48\x0c\x6d\xfa\xbb\x8b\xc2\x27\xcb\xc0\x12\x4f\xd0\x32\x7e\x7c\xa2\xb1\x94\x18\xae\x85\x14\x47\xc6\xa7\x48\x93\xee\x93\xcd\xaf\x2d\x71\xa7\x0b\x80\xfb\xab\x33\xff\x88\x8b\x77\x70\x40\x6e\xf9\x0e\x62\x48\x2f\x80\x63\x44\xac\xb9\xd9\xac\x20\x44\xfb\xd4\xf2\xa4\x56\x4d\x5d\x92\xe9\x4f\xb6\x65\xb9\x0d\xc1\xe3\x92\x02\xc2\xf3\xf4\x2a\x00\xb2\x95\xce\x98\x42\xe3\xe1\xc3\xc3\xb8\xef\x8a\xe1\x35\x4d\x6f\xfa\x48\x1e\xd2\xe6\xf2\x69\xda\x9a\x92\xf6\x73\xba\xb0\x1f\xbb\x60\xa6\xac\x27\xf8\x8d\x3f\x24\x3f\xa2\xe2\x9c\xad\x56\xb9\x16\x21\x8e\x69\x8e\xbf\xf7\x38\xce\xa0\x21\x90\xbe\xbf\x12\x84\x96\xb2\xca\xe3\x5d\xae\xc9\x22\x6b\x0b\x9a\xfe\x16\x7e\xe3\x97\x9d\xe4\x5d\x9b\xa6\x60\x66\x87\xbf\xd6\xe8\xe9\x71\x87\xf9\x01\x90\xfa\x92\x64\xad\xf4\x18\x1d\x02\xa1\x02\x82\xed\x7d\x85\x0b\x9e\x3a\xca\xbc\x4c\x8a\xe2\xf9\xa9\x45\x01\xe0\x55\x45\x06\x6b\xad\x91\x5e\xb5\x53\x36\xdf\xb7\xb2\x65\xf7\xf9\xc3\xaf\x31\x7f\x42\x7d\xcf\xd1\xd2\xe1\x3f\x06\xc4\x15\xba\x1e\x9e\x5e\x11\x88\x2f\xb5\x60\xb3\xd9\x3e\xff\xfe\x6e\xb8\x15\xf1\x56\xc7\xb5\x90\x30\x9e\xc8\x53\xcc\x23\x76\x59\x2a\x57\xb2\xa5\x44\x2b\x62\x21\x4b\x08\x0b\x44\xa1\x23\x0b\x42\x3c\xee\x4e\x7d\x3c\xfe\x9e\xff\x8f\xdb\xbf\xc1\x71\xb6\x1c\x07\x67\x05\x6d\x3a\xbd\x77\xc4\x6d\xc2\x90\xf9\x83\x93\x94\x01\x2d\x39\xdb\x27\xb2\x96\x77\xb9\x4e\xd3\x3b\xb0\xff\xc2\x7a\x44\xd4\xb9\x0e\x7d\x0c\x5f\x3a\x5b\xda\x6a\x07\x8b\x04\xda\x9f\x60\x05\xa4\x08\x19\x21\x99\x57\x1e\xde\x16\x9b\x52\xcc\x5b\x4e\x27\x93\x16\x1a\x53\xcf\x02\x9a\xcb\xb9\x18\x1e\x80\x41\x61\x54\x51\xfb\x0e\x91\x67\x40\x67\x21\x69\x61\x2d\xbd\x96\x90\x92\x98\x8b\x32\x63\x19\x72\x9f\xb6\xfe\xcf\x53\x09\xc3\x84\xbd\xa4\xce\x18\xe7\x19\x81\x4d\xd0\x22\xc4\x31\x17\x16\x6a\x2b\x6b\x14\xa3\xd2\xd8\x92\xd5\xa0\x80\xa1\x29\xe4\xae\xab\xa2\xf0\x20\xd0\xa8\xb7\x1a\x0f\x05\x3b\xc4\xc7\x88\x30\x1d\x01\xe7\xe5\xcc\x09\x90\x6f\x01\x21\x6f\x4e\xfb\x71\xe6\xff\xcf\x1e\x92\xbe\xba\xa2\xd8\x52\xe0\x4e\x62\xf2\x4f\x04\x91\x95\xf6\x3b\xf5\x20\xb2\x71\xf2\xc5\x09\x26\xfb\x6f\xe3\x4a\x53\x98\xcf\x3a\xee\xf7\x19\xdb\x3a\x9b\x9f\x37\xe7\x76\x53\x1f\xdb\x37\x66\xc7\x1c\x78\x65\x72\xad\xbb\x97\xe3\xd0\xbd\x9a\xb3\x83\xab\xce\xb5\xef\xb7\xfa\x84\xf6\xfd\x65\xcc\x1f\x17\xcd\xc1\xa1\x18\xc5\xc5\x3b\x77\x64\xe9\xfd\x95\xcd\xfd\xd2\x61\xfd\x76\xf5\x91\xf9\xc9\x3d\x5c\x9d\x4d\x33\xb0\x3e\x5e\xfa\xe8\xf8\xe2\xdc\x92\xa0\x21\xbc\xdf\x7a\x8a\x4d\x15\x1e\xc9\xc1\xf1\xad\x75\x3a\x8d\x72\x59\xe0\xd5\xe9\x2c\x89\x53\xb3\x54\xe2\xce\x78\x48\x5c\x7e\x71\x28\xd7\xe8\xff\x0c\xec\x05\xf3\x4e\xad\x15\x81\xb4\x87\x80\xb8\xa5\x81\x1f\xe9\x07\x27\xd1\x68\x05\x08\x8d\xc0\x03\x4c\x54\x05\xaf\x8b\xc2\x41\x12\x0d\x6b\x01\x7b\x05\x81\x78\xa2\xb4\x73\x80\x0b\xb0\xb4\x18\xfd\xa6\x7a\x2f\x98\x7a\xea\x2b\x1f\xdf\xb1\x14\xe6\xde\x81\x5b\xd4\x7c\xbc\x0c\xe8\xcc\xc1\xf9\xe1\xd9\xc9\xb1\x6f\x20\x7c\xc6\xfc\x96\xf2\xfe\x86\x44\xa2\x5d\x8b\xdf\xde\xa0\x48\x4d\x18\xbd\xa9\xf1\xb2\x23\x27\x7d\x30\x81\xd7\x58\xc5\x27\x4f\x12\x3c\xe4\xdf\x48\x1e\x39\x00\xa2\x36\x55\xb3\xd3\x1e\xe2\x5d\x14\x99\x2b\x24\x73\x04\x01\x61\xa3\xbd\x7a\x30\x26\xff\xed\xf3\x42\x46\x70\x3e\x0d\xca\x9b\xe6\xe5\x37\x63\xb6\xe4\x6b\xf0\x1f\x51\x1b\x9b\x3c\xf1\x8f\x43\xac\x5f\x72\x6a\x89\x4e\xdc\xda\xd4\xc6\x6c\x4b\xb0\x3c\x85\x5e\x2b\xc6\x59\xe9\x80\x4a\xa5\x71\xba\x3b\xe2\x7d\x3f\xcf\xf2\x83\xb4\x43\xb8\x55\xe2\x0c\x94\x9e\xa0\x8a\x2a\xe4\x9b\x53\xf1\x1a\x6f\xc4\x5a\x17\x1a\x21\xd4\x71\x99\xc3\x32\x46\x85\xfe\x7d\x7b\x28\xe7\xc8\x94\xc5\x4e\x03\x6e\x26\x74\xcc\xe9\x52\xf2\xbc\x45\x64\xa3\xf2\xc4\x1b\xcb\xc2\xd9\x33\xe1\xef\x3a\xd4\xa1\x12\x63\x76\xbb\xa9\xa2\xcc\x8a\x87\x5c\x15\x6c\x20\x9d\x71\xe9\x17\x1b\xa1\xa1\x3e\xd6\x70\x40\xc5\xec\x57\x5e\x67\x8f\x78\x78\x42\x16\x5e\x7e\x8d\xad\x3a\x30\xa7\x74\x8d\x82\xd2\x52\xb0\xa4\xbc\x90\x24\x36\xd4\x7a\x7e\x71\x85\xac\xe9\x8a\x34\x07\x70\x7d\x56\xf8\xb4\x26\x24\x34\x65\x6b\x9a\x6c\x5d\x32\x09\xef\x35\xb4\x40\x2d\xd6\x9b\x14\xfc\x15\xb0\xe7\x44\xae\xcf\x2a\xcd\x5e\x31\x74\xe3\xf8\xab\x66\x07\x8a\xfc\x0b\x9d\xb8\x63\x00\x60\x06\xb3\x83\x8b\x79\x28\x78\x35\xd4\x1f\xfb\xb2\xa0\x6e\xa1\xef\x6a\x89\x1d\xe3\x80\x3e\xe5\xc0\xbe\x53\x72\xd8\x6d\xd9\xde\x90\x8c\x15\x07\x4c\x69\xc6\x3f\xc9\xc5\x63\x08\x41\x59\x7b\xa0\x78\xd9\x38\xb9\xb6\x18\x68\x3f\x53\x22\x2e\x7f\xc3\x38\x99\x34\xde\x78\x41\xe8\x9b\x41\x3f\x04\x82\x5d\x58\x72\x53\x6e\x94\x7b\xbe\x02\x29\x06\x71\xaa\x45\x95\x25\x37\xf6\xc0\x40\x04\x4f\xbc\x66\x4c\x67\xc6\xd1\xfb\x3b\xfd\xbc\xfc\x0d\xff\x78\xb4\x55\x14\x67\x2f\x32\x29\x8a\xd8\xa6\x05\xdc\xe2\x1f\x79\xcc\x86\x61\x6a\xf9\xff\xfc\x29\x06\x61\xc0\x46\x98\xa7\x80\x0b\x92\xd3\x05\x93\xe2\x84\x50\xd1\xde\x8d\x0f\xe0\x5e\x45\x50\x90\x6c\x8c\x5b\xc3\x16\x66\x55\x39\xcf\xa6\x70\xd9\xbe\x39\xde\x7e\x02\x01\xf2\x01\xf2\x12\x23\x65\x62\x34\x19\x63\x68\xc6\x40\xd2\xe3\x3a\x7b\x77\x3c\x86\xdc\x2d\x86\x8e\xe8\x48\x9f\x76\x23\x10\x4f\xeb\x1c\xa3\x01\x85\xe3\x7c\x20\x20\x90\x9a\xf4\x78\x23\xe5\x09\x86\x11\x52\xce\x12\xe2\xfe\x05\xd1\x8b\x3f\x55\xb0\xbd\x27\xfb\x1c\xa8\xc0\xc6\xd2\xb7\x51\x81\x5d\x4f\x1a\xc4\x16\x63\xda\xdd\x7e\xc0\xc9\x6e\xfc\x93\xa1\x9f\x39\xfd\x60\x70\xc3\xb1\xcc\xcd\x21\x52\xc7\xb6\x79\x70\x90\x9f\x21\x3a\xf1\x60\x23\xa1\x1a\xfe\x12\x88\x5c\xde\x19\xeb\x44\xf5\x8f\x1b\x7c\x73\x0c\x8f\xe6\x86\x2b\x46\x6a\xe1\x5a\x64\x2b\x29\xa6\x1e\x06\x3a\xd6\x16\x74\x4b\x17\xcc\xe9\x6e\x79\xc9\x38\xac\xea\x95\x03\xb3\x32\x0c\xe6\xab\x6b\x4b\xc0\x20\x3b\x87\x44\x7f\x81\x67\x1f\x39\x43\x9b\x13\xa2\xb7\x43\x01\x1e\x8a\x65\xf1\x80\xd4\xbd\x80\xb2\x0c\xa1\x0a\xdc\x64\xdc\xb7\x3e\xbb\x8c\xf2\x71\x9e\x22\x0c\x84\xec\x22\xbb\xf5\xcf\xf1\x6e\x59\x13\x32\xbf\x7b\xb1\xb4\xcc\xc1\xbd\x33\xf9\x1a\xcc\x3c\x51\x73\xdf\xd3\xdd\xe4\x7f\xcd\x5c\x5c\x37\xa4\x59\x5e\xce\xde\x33\x62\xf4\x58\xa4\x8d\x46\xb1\x25\x4d\xaa\x47\x29\x42\x3e\x1d\x9e\xc6\x1b\xdd\xe8\x81\xdb\xd4\xde\x41\x89\xd3\x2f\xd9\x73\xdc\x7e\xc6\x52\x20\xaa\xa1\xd9\x6d\x62\xd5\xfa\xfc\x98\xb3\x2a\x76\x11\xdc\x16\x7b\xdf\x84\x00\x83\x91\xa8\xc5\x3a\x75\x99\xfe\xdc\x8a\xbe\x3e\x38\xba\xea\x70\xec\xe6\xc7\xd6\x76\xd7\xae\x6a\xc7\xc6\x9e\x1c\x37\xac\xc2\xee\x4b\xa6\x1d\x18\xc8\x50\x1a\x0d\xb1\x18\x81\x21\x84\xe1\x48\xe3\xd6\xa8\x04\x63\x66\xde\xdf\xaf\x78\xc8\xa5\xea\x31\xc5\x47\xca\xf3\x0d\x4a\xb9\xf5\x93\x9b\xf4\x9f\xf5\xf0\x47\x33\xea\x02\xe3\x89\x7b\x03\xd0\x8b\x1b\x14\x90\x91\x25\x4c\x6f\x1f\x8d\xd8\xf7\x39\x31\x82\xc3\x97\xbe\x25\x7b\x8c\x12\xc4\x9a\xb8\xd6\xa3\x8d\x32\x7c\x94\x8b\x09\x23\x78\x34\xdc\x71\xd4\x0a\x3d\x36\xdd\xe3\x0e\x06\xf1\xf9\x36\xd6\x74\x91\x7c\xb6\x69\xe8\xdd\xc6\xc8\x74\x93\x38\x64\x15\x19\xaa\x78\x08\xc6\x8b\xdb\x25\xc6\xa2\x38\xb9\x0f\x3e\x8c\x3a\x9a\x90\x3d\x27\xc8\x00\x79\x49\xba\xbe\x8d\xf4\x69\x01\x6e\x36\xb5\x0b\x98\x76\x95\x58\x01\xb1\xe3\x43\x39\x02\x61\x78\x06\xb0\x99\x9f\x6a\xb4\x83\x2f\x7b\xc3\x8a\x79\x2d\xad\xfb\x9f\xf6\x81\x4e\xe6\x5d\xe5\xdc\x66\xae\x75\x15\xcb\xb1\x41\xeb\x58\xae\xf0\x9f\xad\xff\xb4\x8f\x98\xbc\x86\x93\x8a\x77\x55\x6a\x3b\x95\x73\xc9\x03\x32\x58\x65\x0c\x9b\x21\xe9\x3b\x02\xa3\x72\x62\x79\x60\x22\x81\x7a\x60\xeb\x74\xd5\x5d\xb9\xb2\x10\x32\xa4\xcc\xfc\x73\xcb\x4b\x76\x54\x66\x20\xff\x15\xd7\x6b\x55\x36\xd2\xa5\x8a\x60\xd3\xdd\xf4\xa7\xd5\xe3\x07\x61\xbc\x2a\x79\x35\x82\x9f\x62\x2f\x14\xd1\x23\x9f\x64\xbe\xc8\x0b\x67\xb3\x71\x23\x2e\x40\xbe\xca\xee\xd0\x2d\x4b\xb3\x0b\x90\x0d\x62\x11\x3e\x7e\x5a\x2a\x04\x24\xca\xd8\x62\x6d\x3a\x01\x5e\xfe\xba\xc8\xc6\x3b\x7b\xa2\x4c\x41\xa8\x39\x0a\x4d\xc1\x1c\xd2\x9f\x34\x22\xdd\xc6\x77\xc5\x1b\xd5\x14\x3a\x7e\xcb\x18\x38\xdd\x37\xfc\x9f\xe6\xf2\x8e\x2a\x91\x46\xf3\xe4\xff\x17\x7e\x27\x2b\xfb\xfb\x93\xe3\xf0\xcf\x69\xf5\x11\x55\x17\x68\xb2\x75\x2c\xb7\xc1\x05\x5e\x7f\x8b\x75\xd8\x44\x9e\xa5\x33\xc9\x79\xe0\xea\xea\xf7\xc1\x89\x77\x28\x25\xc6\x77\xef\xa1\x2d\xbe\x33\x18\xb7\x8b\x27\x5f\x3f\x5d\x47\xb7\x01\x10\x61\x21\x63\x54\x9d\x27\x85\x2f\xcc\xb9\x0d\x7b\x41\x1b\x26\x45\x1a\x67\x03\x78\xc3\x80\xbd\x68\x09\xde\x34\xcd\x35\x7a\x3f\x6a\xb6\x8d\x28\xb4\xd2\xa7\xc4\xc2\xac\xa1\x1a\x4e\x3a\xab\xc4\xf7\x89\x1b\x7b\xcf\xa4\xd1\xe4\x75\xb2\x26\xfc\x34\xcb\xaa\x0e\x98\xea\xb7\x04\x83\xf6\x12\x38\xb6\x6e\xa2\x0c\x18\x94\xa0\x37\xe6\x7a\x27\xfd\x37\x56\xe4\x13\xbe\x3f\x61\xb0\xde\x32\xef\xe0\x58\xf5\xe2\x28\xff\xff\x40\xa9\xb7\xd6\x5a\x69\xa9\xd5\x6a\xb7\x3c\xac\x18\xc1\x98\xba\xe2\x1c\x9e\xe6\x25\xfb\x03\x4d\xcd\x39\xdc\xe0\x21\xfb\xed\x95\x47\xe7\x70\x37\x4f\x39\x38\x4a\xd8\x4f\xc8\xaa\x8a\x11\x83\x97\xfc\xed\x17\x21\x60\x97\xad\xad\xda\xf8\xb4\x5b\xf6\x47\x15\x1a\xe7\x99\xdc\xb9\xd7\x2e\xa0\xe7\x97\xfc\x99\xc7\x2e\x60\xe7\x99\x86\xb9\xd7\xf3\x51\xaa\x02\xd4\x3e\x92\xbb\x55\x45\x5f\x0f\x04\x37\x55\x03\x01\xc0\xcd\x9a\x9f\x7b\xcb\x92\xfc\x71\x17\x40\x51\xd1\xcd\x7c\xb7\x34\x7a\x4f\x1a\xd8\x1f\x89\xd8\x5a\xab\xe0\xf0\xdd\x2d\xc8\x7c\xe1\xf8\x36\xd8\x2b\xd3\xb2\xa6\x2e\xf7\xab\x78\x50\x5d\xc1\x99\xe6\x9f\x1b\xb7\x5a\x62\xb5\x3a\xbd\x8c\x6e\x12\xd6\xde\x63\xa4\x3f\x49\x9f\xef\xd4\xf0\x4e\xe1\x59\xf7\xc0\x56\x37\x87\x1e\x34\xf7\x12\xfe\x97\x8e\xe9\xd7\xbb\xb1\x36\x6c\xbe\xbb\xa7\x79\x78\x7b\x69\x14\xf8\xcc\x2c\xdf\xc8\x04\xdb\x47\x6a\x61\x48\x55\x6a\x7f\x70\x50\x09\x59\x0e\x3c\xc3\xbc\x3e\x02\x64\x01\x93\xbf\x92\x4f\x1f\x95\x11\xc2\xd9\xf4\x96\x01\x5a\xba\xdb\xaf\x10\x8e\x05\x1e\x6f\x60\xfd\xd7\xe0\x19\x52\x3b\xc1\x20\x1d\x53\x25\xc0\x71\xe8\x29\xf3\x52\x2b\xf0\xac\xc4\xdd\xa4\xbb\x91\x57\x85\x5e\x42\x5e\xba\xe9\x22\xcc\x91\x03\xd6\xcf\x67\x34\x82\xb7\xbb\xa8\xc8\x9b\x43\xf8\x3a\x73\x57\xa0\x91\xbd\x9a\xf9\x91\xb6\x8d\xad\x40\xf2\x44\x9b\x29\x34\xf1\xa6\x3b\x62\xed\x37\x24\x06\xbc\x2e\xfc\xaa\x04\xbd\xd1\xf8\xc1\x28\x92\x53\xc9\xc8\x02\x15\xe5\xf1\xb9\xf8\xf0\x6d\x45\x47\x6f\x3c\x06\x3f\x6b\xc4\x7b\x26\x3e\x53\x45\xf7\x95\x8c\xf0\xac\x63\x02\xdf\x6a\xbc\x4c\x17\x52\xaf\xd6\xe5\xea\x78\x88\x33\xce\x75\x26\x0c\x2e\x5b\xc7\x94\xd9\x81\xeb\x70\xdf\xa5\x20\x17\xbe\xe6\xe7\xc3\x03\xb7\xdd\xb9\xb5\x8f\xf3\xe7\xb2\x0b\xd1\xac\x8f\x9f\x7b\xe0\xe0\xc8\xf9\x50\x97\x31\x13\x9d\x5b\xb1\x9a\x55\xc3\xb9\x27\x1a\xe9\xc5\x45\xb8\x59\x00\x3c\xf5\x6b\xb7\xd9\xe1\x31\x6b\xc0\xb0\x30\x24\xcb\xf3\x59\x82\xf1\x33\x9e\x1a\x22\x1c\x31\x20\xca\x95\x95\xbf\x83\x6e\x78\xc1\x08\x25\x59\xdd\xe8\x24\xce\xb6\xb8\xdb\x00\x87\x39\xb3\x7d\x30\xcb\xf9\x3b\x63\x37\xa9\xb4\xc8\xeb\x49\xfe\x5b\xaa\x80\xe3\x1e\xa9\x56\xa9\xc3\xee\x97\x74\x82\x7d\x70\x17\x97\x00\xee\x6a\x6b\x8c\xda\x3e\xf4\xd7\x7e\xe6\xc8\x3d\x2b\x1a\x86\x02\x85\x0e\xc3\x4f\xfe\x61\x58\x8e\x21\x77\x70\x0c\x05\x4d\x95\xaa\xc8\xf7\xf8\x70\xd4\x22\x1c\x65\x41\x61\xc3\x9f\xa7\xe1\x67\xb1\x87\xbf\x11\xd9\xb1\x45\x3d\x9e\x4d\x7e\xc6\xdb\xe9\x30\x01\x5e\x7c\x06\x05\xe7\xd1\x65\xf4\x1a\x03\x43\xff\x6b\x55\xe6\xce\x30\x5d\xfe\xaf\x15\x23\xb1\xb9\x44\x45\xe9\xa2\x89\x3e\x71\xd4\x1d\x9a\x58\x7c\x3d\xfe\xee\x88\xc7\x15\xc9\x3f\x9e\x26\xdd\x6a\x72\x45\xe8\xaa\xf9\x93\x80\xfb\x4a\x0a\xb3\x50\x03\x1e\x2d\xf1\x55\x78\x98\x67\x4c\xcd\xa2\x4d\x6f\xf7\x57\x8f\x09\x8e\x4c\x28\x52\xca\x89\xd0\x09\xd7\x74\xe1\x1e\xb7\xcd\xa7\x72\x33\xda\x64\x26\x90\x9e\x74\x84\xc1\x88\x41\xc5\x0e\x7f\x37\x1d\xbf\xe8\xdf\x9e\xc5\x80\xe6\x40\x94\xeb\x23\xa1\x79\x0b\x31\xff\x68\xa3\x52\x9f\x61\xd6\x4f\xaa\x68\xd5\x42\x3c\x68\x0e\x97\x55\x4a\x99\x7c\x92\x56\xbf\xed\x14\xb6\xc7\x47\x27\x5c\x16\x60\x5e\x66\x08\x0f\xf7\xc2\xc7\xe4\x48\x4b\xd0\xd4\xbb\x09\xb8\x03\x38\x94\xc7\x5f\x48\x32\xa5\x1a\xe8\xd4\x85\x66\x55\x26\xd9\x59\xd1\xd8\xf2\xed\x62\xf5\x2f\x9b\xef\xc8\xf1\x78\x53\x99\x82\xac\x45\xe7\x23\x10\xf0\x46\x5c\xc2\xa0\xc5\x7e\x15\xbd\x83\x1c\x0f\xf4\x27\x36\x99\x79\x28\x32\xe2\xd7\x2a\xc3\x4c\x14\xb9\x00\x57\xcf\xda\x43\x89\xfa\x66\x4a\x52\xc2\x4d\x8d\xf4\x66\xce\x79\xfa\x87\xba\xba\x7f\x41\x3c\x7c\xfd\xe5\xfc\xb1\x3f\xe3\x4c\xd2\x82\x96\xd5\xd3\xa9\x0b\xdf\xdf\xff\x45\x55\x14\xe0\xee\x0a\xdb\x49\x09\x2c\xab\x3b\xf0\xcb\x7d\x83\x62\x58\x12\x5c\xbd\x10\x2e\x5e\x8c\x8b\xeb\x02\x72\x74\xa2\x59\x02\x73\x47\xa4\xfb\xf2\x9d\x38\x8c\x75\x57\xbb\x09\x76\x66\x6a\x27\x89\xc2\xb2\x2d\x99\x02\xd9\x36\x7f\x37\x9c\x91\xdb\x9c\x56\x9d\x24\x2a\x3f\x84\xea\xdd\x27\x37\x90\x26\xf9\xf3\xeb\xe1\x01\xf8\xb7\xb7\xf8\x33\x63\x36\x4d\x2a\xd7\x0b\x99\x2e\x10\x7d\x22\xec\x04\x58\x99\x84\x29\x7b\x2e\x60\x1b\xef\x73\x06\xd6\xdd\xcb\x1a\xa2\x67\x3c\x5d\x53\xae\xd5\xec\x58\xc3\x88\x5c\xe9\x2a\x9d\x1b\x03\x58\x92\xc4\x36\xe4\xe2\xc1\x15\x23\x49\x44\x79\xe4\x13\x5a\x79\x12\x43\x54\x91\x91\x37\x74\xc9\xa5\x46\xd3\x8d\x38\x30\xbf\x3a\x55\x52\x18\x87\xae\x87\xf2\xe4\x79\x5b\x72\xf8\x2c\xf2\xf8\x52\x4d\x82\x93\x8d\x4c\x6c\x6c\x1e\x79\xc6\x39\x68\xd3\x58\x5a\x02\x72\x26\x18\xcc\x7a\xfb\x3c\xb5\x16\xfa\x5c\xf7\x8e\xd1\xe3\x52\x7d\x28\x9d\x12\x82\x44\x86\xf7\x68\x16\xf1\xa7\x77\x7e\xc9\x60\xc5\x31\xe4\xb1\x6c\x41\x60\x56\xc0\x08\x59\xc4\xa6\x9e\x9d\xc2\x34\x06\xa6\xd9\x5e\x56\x04\xae\xe8\xe8\x0f\xf9\x82\xe7\xf1\x1c\xe0\x4f\xed\xa9\xcd\xcc\xdd\x29\x1b\x7b\x0e\x33\x36\x49\xfc\xd4\xe9\x21\x1b\xf9\xa3\x8a\xeb\x36\x25\xa9\xc8\xe2\x58\x24\x81\x61\xf7\x2e\x70\xb4\x29\xab\x1e\x9b\x67\x6a\xa1\xdd\x90\xad\x1d\x5a\xa0\x3e\xb6\x01\xb7\x97\x83\xae\xae\x11\x1b\xa3\x4d\x80\xf3\x0a\xc4\xdb\x16\xcc\xb0\x9f\x33\x49\x7e\xd3\x80\x15\xe6\x1c\xa7\x50\xbb\x90\xc1\x0b\x12\x81\xb1\x18\x70\xbb\x77\xed\x71\xd3\x53\xa0\xd3\x1e\x64\xcb\xb8\xb4\x14\xec\x24\xda\x64\xd3\x1e\x87\xb7\x38\xad\xce\x59\x86\x91\x51\x44\x15\x8e\x6b\x4c\xc7\x4e\xfe\xd3\xaa\xb1\xd1\xb6\xc3\x20\x40\xf7\x26\xd6\xf5\x62\x60\x41\x46\x1e\x72\x6e\xa3\x88\x66\xa2\xe6\xe3\x45\x64\xf2\x62\x2b\x90\x5a\x23\x2a\xfe\x73\x01\x1e\x4b\xa0\xd5\xda\xc9\x9d\x3e\xfc\xfd\x21\xbc\x82\x76\xbf\x52\x6a\x81\x67\xa4\x5f\x91\xe3\xcd\xf9\x59\x52\xdf\xff\x68\x52\x3c\xe4\x8b\x8c\xc5\xc0\xc9\x85\xa8\xf0\x12\xcc\xac\xaf\x78\x52\xfc\xd8\xaf\x67\x6f\x5b\xe2\x60\x23\x8a\x7d\x89\xdb\x8c\x14\xcb\xc8\xec\xc8\x24\xdb\x30\x5f\x57\x5b\xc8\x8d\x94\x54\x21\x57\xf4\x3a\xb6\x78\x75\xfb\x02\x8f\x11\xb3\x10\x80\x01\x0c\x29\xb9\xf7\x9f\x97\xa5\xb0\x46\xe9\x12\x22\x9d\x70\xbb\x56\xd4\x59\xcb\x34\x8b\x45\x6f\xee\x11\x08\x9d\x1b\x03\x10\x62\xc2\xb3\x42\xd2\x02\x81\x96\xc4\x24\xb1\xa1\x33\xcf\x25\xa1\x03\x33\xea\xc8\x71\x59\x0c\x60\x92\x77\xce\xc8\x78\xcb\xd0\xe1\xc7\x54\xfc\xc3\xcc\x2b\xd4\x7c\xbd\x08\x9c\xf1\xcd\x94\x3b\xe3\xed\xd1\xa6\x89\x14\x20\xb0\x70\x03\xf8\xe4\xa8\x77\x51\xb6\x3c\x34\xea\x0f\x64\xc8\x18\xc4\xa3\x7c\xe9\xf7\x67\xde\xeb\xf3\xbb\xd3\x0f\xeb\xe4\x0c\x64\x26\x05\x3a\x88\xc7\x29\xba\xa6\x7e\x93\xb3\xc5\x38\x59\x4a\x76\x4e\xc2\xcd\xbc\xb4\x2d\xe8\xde\xde\xcf\xb6\x0e\xbb\xaf\xe3\xa5\xca\xc2\xa3\xb5\x69\xc8\x62\xa5\x0b\xf7\x2d\x82\x8c\xd0\x8e\x58\xe3\x67\xa0\x4e\x6a\xe1\xb4\xad\x6e\x1c\xbc\xb4\xb3\x37\x1a\xd5\x10\x32\xc7\x72\x81\x0f\xe9\x1a\xd8\xa7\x01\x66\x58\xad\x1b\x2b\x48\xb7\xd4\x0b\xef\x15\xb1\xf3\x56\x6f\xb8\x4c\xe8\xcc\x8c\xa9\x10\x2b\x9d\x45\x18\xea\x30\x97\x8c\xac\x22\xdf\xc1\x4b\x5c\xcc\x7f\x0f\xeb\xbb\x39\x56\x57\xee\x7e\x39\xa9\x3f\xc2\x47\xcd\x0b\x54\x3c\xa4\xe7\xc9\xc2\x5b\x10\x33\x26\xb4\xa3\x0b\xd5\xa8\xc0\x3b\x3a\x52\xf1\xa8\x51\xa4\x68\x8c\x6a\xfd\x11\x3f\x58\x59\xfb\x60\xda\x19\xf6\xa1\x8b\x92\xbd\x8f\xc5\x5a\x48\xb8\xa4\xcc\x53\xc8\x54\xd9\x4e\x04\x7b\x55\xed\x09\x65\x32\x85\x35\x92\x53\x6a\x29\x3f\xfa\x03\xab\x12\x08\x71\x88\xe9\x02\xa1\x75\xde\x34\xf4\x4f\xff\xf9\x07\x81\xea\x53\x16\x98\x20\x02\x2a\xb4\x77\xd7\xa9\x77\x98\xe4\xa8\x2d\x40\x84\xe2\x0e\x5b\xa8\x7a\x72\xfe\x74\x8a\xfe\x07\x12\x98\x33\xf1\xf9\xb7\x72\x7b\xdd\x95\x7f\x08\x74\x38\x95\xa3\x28\x44\x6c\x3d\x96\x27\x51\x2d\xc7\x22\x87\xa0\x3c\xab\xa2\x34\xd4\x13\xfc\x2d\x86\x1e\x28\x64\x7d\x0c\xc0\x83\x33\xb5\x52\x04\x59\x86\xad\xc1\x8d\x70\x98\xb1\x81\xf8\xd8\xb4\x1d\x16\xb1\x11\x4c\x05\x49\x01\x29\xdb\xb3\xc4\x32\xe4\xda\x64\x46\x1c\x0b\x94\xbf\x3a\x6c\x5b\x67\x09\x9a\xb4\x60\x3c\x30\x4d\x51\x49\x05\x13\xc9\xc4\xa4\x50\xa0\x1b\x82\x72\x6e\x85\x7e\x3f\x14\xbc\x4a\x40\x1a\x91\x8f\x7e\x21\x2d\xdf\x1a\xeb\xfe\xa5\xe6\xe6\x8c\x64\xfc\x21\x42\xcf\x26\x97\xe4\xd7\x3d\x4f\x8f\x35\x76\x0f\xad\x73\xa8\xab\x45\x93\x00\x17\xf0\xd2\xa4\x10\x53\x8f\xb6\xcf\x4d\x4e\x30\x33\x9e\x04\xd4\x32\x4f\xfb\xa2\xc5\x14\x00\x52\x10\xb2\x75\xfb\xbb\xf4\x9a\x33\x9b\x4d\xa1\x82\x90\x0d\x26\xbd\xab\xa5\x28\x13\xb8\x87\x2e\xf9\xa1\x37\xfe\x65\xba\xc5\x40\xfb\xd5\x8c\xda\xa8\x8c\x55\x93\x4e\xa5\x98\x8b\xaf\x34\xb3\x0a\x15\x2a\x12\x90\x2e\xc2\x02\x0e\x5b\x92\x37\x27\x39\x96\x50\x64\x3e\x97\x3a\x10\xc6\x18\x68\x04\x76\x6d\xfd\xad\xc6\x16\xae\x74\x84\xee\xc1\xc8\x8d\x83\x0e\xca\x9f\xb1\x57\x40\x1b\xea\xbf\x45\x23\x6d\x09\xaa\x71\xe1\x52\xff\xef\x30\x17\x98\x57\x70\x83\xb1\x6d\xea\xb5\xad\x51\x25\xa9\x4a\xe0\x75\x34\x4e\x36\x38\x42\xcb\xb8\xae\xe5\xa3\x2e\x06\x72\xb0\xa6\xd1\x66\x70\x29\xcc\x9c\xc8\x2c\x2f\xf5\xa7\xdb\x0a\xd0\xc8\xf7\xbb\xe8\x55\x57\x28\x27\xc1\x1c\xb4\x54\xd8\xc7\xe5\x51\x59\x72\xb2\x1a\xfe\xb1\x75\xfc\xf3\x07\xcf\x5d\x79\xee\xd6\x73\x17\x9e\x6c\x2e\x8e\x9e\xd9\x13\xcf\xf3\xb5\xc8\x44\x8f\xae\x4f\x5f\xb9\xc2\xbb\xc5\xa7\xac\x61\x84\x42\x55\xcb\xae\x78\x5c\xc9\xdc\x87\xc7\xf5\x36\x91\xb4\x87\x8e\x35\x7c\xd6\x26\x9d\xfa\xf2\x27\x6c\xda\x4f\x8c\x77\xa4\xcd\x5f\xcd\x48\x98\xd0\x90\x1e\x12\xba\x2b\xfe\xcc\x2e\xbc\xb8\x84\x85\x1a\xdf\x33\xd3\x7c\xc4\x90\xe0\x91\x90\x39\xf3\x57\x75\xc2\x77\x1f\xcc\x88\x9d\xbd\xee\x8e\x13\x02\x18\x46\x0e\x1e\x21\x08\x02\xa2\xf6\x8c\x3b\x14\x25\x87\xfe\x57\xf8\x45\xb7\xf0\xa8\x32\xd6\x79\x4e\xd5\xb0\x77\x47\x23\x20\xd3\x97\x6a\xb1\xf1\x41\xb6\xbf\x38\xe0\x73\x9c\x4e\xf8\x95\xb8\xcc\x93\xe5\x73\xff\xf9\x5b\xd9\x50\xd2\x3c\x1a\xa6\xf5\x27\xd5\xc6\xa6\x22\x94\xfe\xd3\xaa\xd5\x4f\x4d\x4d\x02\x8b\xfd\x76\xbc\x9c\xf6\xf5\x63\xc5\xdc\x3b\x6e\xbf\xb4\xa9\xa3\x05\x2c\x78\x01\x4b\xd2\x9a\x8b\x49\xa8\x67\xc6\xf5\x2d\xa3\x90\x60\x2f\x50\xc5\x38\x41\xa5\xea\xf2\x1b\x4b\x74\x59\x06\xcf\xd1\x37\xb4\xd7\x9d\xed\xc2\xee\xc4\xbb\xc3\x60\x22\x9e\x7a\xb5\x2b\x5a\x6e\x1a\xe2\xc7\x45\x1c\x44\x70\x24\xb8\xcd\x97\x29\x84\x8e\xb6\x87\x85\xc4\xc9\xc7\xee\xef\x06\x2e\x90\xf7\x67\x6d\xed\x65\x07\x6b\xef\x57\xdd\x9f\x0a\x69\xcb\x23\xfe\xe1\x4f\x27\xad\x00\xb8\xf6\x40\xc5\xba\x49\xb3\x1b\x9b\xe2\xb3\xf8\x0e\x02\x4b\x39\xcc\x87\xfa\x12\x4c\x58\x66\xf4\x16\x00\x03\xe7\x50\x75\x1e\x82\x16\xc9\xb1\x18\x24\x35\x56\x95\xce\x76\x08\x3b\xd6\xa5\xf8\x48\x07\xd7\x22\xed\xcb\x5d\xc4\xf6\x23\x36\x1b\x76\x44\x27\xff\x0c\xd5\x77\x48\xad\x29\xbe\x25\x9b\x10\x8c\xb3\xcf\xaf\x10\xab\x94\xe2\x62\x2e\x2e\x26\xb1\xf6\x25\x09\xb1\x5c\xc7\x78\xc4\xa3\x09\x61\x00\xe7\x6c\x83\xdc\xf4\xc8\x64\x3b\xce\xd5\x42\x36\x72\x17\x68\xa0\x9c\x30\x5e\x4f\x0d\xd6\xb7\xa8\x12\x62\x4e\xb6\xb0\x38\x0c\x01\x57\x6c\x37\xef\x33\x25\xa8\x2e\xce\x47\xe1\x3a\x19\x00\x3a\xb3\xf8\x21\x12\x5c\xf1\x68\x31\x4b\x3f\x3f\xa0\x1a\x31\x5c\x24\x23\x3d\xed\xee\xb9\x47\x61\x5a\x94\xd8\x66\xaa\xbd\x35\xf6\x06\xb4\x8c\xc6\x91\xb8\xfe\x1a\xc0\xff\x58\x3a\x44\xac\x80\x07\x4f\x00\x34\x78\x58\xae\x47\xfa\x83\x6e\xf3\xd0\x64\xa9\x3b\x28\xe6\xf8\xb3\x59\x81\x01\x7e\x00\x7d\x89\xc2\x2e\xf0\x44\xc2\x2d\x14\x47\xb4\x68\xd3\x5e\x41\x5e\xcd\x23\xa1\x61\xb7\xd4\xec\x4a\xc3\x74\xd9\xca\xfa\x1d\x72\x47\x82\x2f\xf2\x6c\x8c\x2f\xc1\x45\x04\x63\x84\x59\x84\x61\xe8\x33\x5c\x12\x39\x03\x49\xab\x0e\xc0\x1c\x38\xd6\x05\xf1\x76\x90\xeb\x84\xb3\xb5\xdf\x0e\x4d\xfd\xd4\x4c\x58\x92\xd4\x3a\x46\x68\x0f\xd9\x6c\x14\x53\x60\xc1\xc5\x00\x7c\xc2\x52\x9f\x72\x99\x69\x63\xfe\x84\x69\xe3\x6c\x00\xd9\x17\xae\x69\xc9\x79\x98\x0f\xe3\xff\xad\xb1\xb5\x8a\xb3\x6e\xb8\xb8\x4b\x2a\xa9\xf1\x35\xba\xce\x4a\x5e\x5d\x0d\xe9\xdb\xbc\x19\xe3\xc6\x96\x0c\x0f\x9c\x5d\x5b\xfd\xf6\xf5\x00\x94\x41\x2e\x2f\x6d\x3a\xff\x5a\x2e\x7d\xd6\x45\xf1\x95\x94\x45\xa4\x92\xd9\xa3\xe8\xf1\x4b\x9b\xb6\x22\xe6\xf3\xbd\x4d\x9b\x01\x36\x92\x69\x76\xe1\x63\x08\xb4\x7b\xa4\xbb\x44\x10\x57\x3b\xd5\x62\xee\x1d\x5f\xdd\xc5\x92\x64\x0d\xa3\xb9\x51\x99\x72\xa1\x2b\xa7\x33\x68\xa1\x9d\xa5\x2d\xf0\xb0\xb7\x43\x53\x76\xe9\x74\x12\x03\xfc\x75\xd0\x6c\xe6\xe0\xef\xe1\x7f\x4d\xf1\x36\x05\x49\x1c\x30\xcc\x97\x93\x33\xa3\x75\xa5\xe6\x51\x24\x65\x22\xe6\x72\xfb\xe6\x26\x45\x85\x99\x17\xd2\x56\x38\xc3\x23\x52\x66\x1c\x5a\xd8\x60\x93\x03\x35\xef\xfc\xc7\x62\xe7\x96\x06\x61\x13\xff\xc7\x6c\x57\x06\x31\xc9\x4f\xcb\x5f\x43\xde\x55\x16\x25\x31\x7e\x69\x31\xb5\x70\xf2\xb0\x0c\xe5\x41\x48\x01\x9b\x34\xa7\x05\x80\x79\x74\x9b\x62\x16\x23\x14\x9b\x05\x9c\x40\xa6\xcf\x33\x8d\x73\xce\x17\xcd\xb0\x1b\xc9\x9c\x89\x7a\x30\xb3\x73\xbe\x46\x7b\x29\xf1\x3c\x18\x28\x17\xd8\xf4\x3b\xfd\x96\xfd\x6b\x48\x44\xb7\x91\x82\x35\x68\x5d\x25\x81\x06\xe6\x0c\x0d\x7b\xc7\x89\x5d\x9e\x3e\xd5\xd7\x33\x6e\x88\xa9\xa6\x09\x37\xd8\x21\xd7\x0d\xf4\x3a\xdc\x61\xaa\xa4\xfb\x10\x0d\x3d\x8a\x47\x87\x21\x4f\xa4\x5e\x92\x28\x48\x37\x44\xe4\x10\xad\x77\x2b\xea\x49\xdd\x09\x00\xb9\x1a\xf1\xbf\x2f\x09\x38\xa4\xc6\x05\xdc\x7d\x9b\xc4\x30\x9b\x42\x31\x7d\x44\x3c\x69\x51\x8d\x94\x07\x3f\x63\x35\x43\x71\xc1\x1d\x6a\xca\x85\x6a\xde\x22\x6e\x45\x5c\xa6\xc6\xd4\xe7\x6c\x5d\xe1\x10\x13\x5d\x2b\xe3\xb8\x6d\x98\x54\x29\xe4\x93\x68\xf7\x08\x27\xec\xf0\xa5\x12\x08\xeb\xe0\x06\xae\x1a\x29\x7d\x4e\x43\xe9\x71\x5c\x5f\xb2\x34\xe5\xaf\x21\x0a\x3c\xc4\x45\xb4\xeb\xa1\xe2\x98\xf7\xb5\xd6\x40\x2e\x6c\x75\x09\x59\x40\x2c\x94\x60\xb9\x30\x1d\xd3\x84\x25\x61\x23\x29\xe1\xf3\xa0\x9c\x46\x17\x1d\xbc\x2a\xac\x06\x63\x3f\x03\x23\x88\xd2\xa2\x79\x30\xb9\x1d\xf9\xb1\x45\x5d\xca\xd2\xe9\x92\xfe\x1e\xf6\xf6\x9a\x03\x1b\x17\xdc\x66\x39\x95\xb8\x71\xd9\xd4\xc5\xb5\xd8\x3c\x7b\x72\xef\x9e\x09\x46\x40\x05\x92\x7d\x2d\x62\x56\x96\xa4\xc0\xd0\x96\x8a\x81\xab\x25\x71\x7f\xad\xbd\x6a\x16\x49\xdf\x0e\x46\x6d\x45\x48\x17\xa7\xe0\x97\xea\x4e\x48\x16\x58\x7c\x8b\x47\x97\x25\xbc\x4a\x4c\xf1\x8c\x53\x7f\xe3\xca\x1e\x7d\xc3\xe4\xd0\x42\xe6\x10\x35\xf7\x0d\x10\x87\xbe\x0c\xc7\x0f\xc4\xb4\x95\x1d\xb1\xba\x7d\x4a\x57\x83\x1f\x6e\xc5\xd4\xac\x61\x80\x70\x6d\x0f\xca\xd7\x77\x25\x90\x51\xc2\xe7\xf5\xee\x96\x8d\x95\xaa\x86\xd4\xf5\x38\xfa\xb5\x18\x99\x15\xe9\xcf\xd4\x18\x3b\xf4\xdd\x0d\x09\xfa\x25\xc8\xab\xc6\x76\xa0\x01\x0e\x89\x11\x39\xe9\x62\xda\x50\x00\xf5\xd1\xfb\x0a\x29\xd1\xcc\x9e\xbe\xa7\x85\x93\x9a\x5c\x64\x37\xf2\x13\x85\xb5\xb0\x20\x6a\xbb\x14\xb9\xaf\x5b\x46\x13\x33\x38\x17\x0c\x58\x2d\xb6\x25\x67\x32\xda\x25\xfd\x39\x80\xac\x27\xc3\x5f\x12\x9a\x1a\x41\x17\xfc\xa0\x2c\x66\x76\x28\xb1\x7b\x0c\x1f\x01\x26\x46\x4c\xc9\x31\x9f\xad\xe0\x50\xb3\xcf\x04\x31\x41\xe8\x88\x31\xc3\x5a\x9e\x4e\xd0\x71\x79\xd4\xe4\x66\xc3\x66\xbc\x99\x3c\x5b\xe1\x86\x05\x46\xa2\x18\xbf\xb1\x89\xf1\x00\x17\x5b\x21\x18\x63\xc6\xad\xe6\x4c\x5c\x21\x4f\x93\x33\xf2\x5a\x35\x80\x12\x31\x09\x30\xb1\xb6\x35\x6f\xd6\x7a\x49\x1d\xa6\x6b\xc1\x32\x4e\xd9\x7f\x5a\xfd\xdd\x8c\x3a\x6b\x16\xba\xd5\x73\xbe\x45\xb8\x5a\x10\xba\x76\x3f\x4c\xe5\x94\x8d\x5c\x52\xb7\x83\x60\x26\xc9\x36\x65\x87\xdf\x4a\x5e\x0b\x29\x6d\xf3\x11\x1d\x2c\x41\xba\x88\xa5\xe5\x4b\xf9\x25\xfe\xc9\xa6\x80\xd1\x25\x9c\x40\x76\xb3\xa0\x89\x33\xd6\xe7\xd2\x44\x8c\xca\xf5\x3a\x98\xe2\x6d\x8a\xb7\xdd\x0b\x39\x55\x4a\x21\x5e\x1d\xb4\x63\xd9\x4f\xae\xca\x87\x7f\x73\xac\x84\xa6\x86\x59\x57\xc4\x8a\x8b\x30\xec\x1d\x0d\x79\x70\x4a\x9f\x72\x4c\x5e\x66\xa5\x9e\x7b\x5e\x16\x79\x31\x1b\xb1\x6d\x28\xe4\x9c\xb8\x5c\xce\x43\x98\xd7\xf8\x81\x92\xb3\xaf\x63\x1f\x6e\x22\xe5\x3a\x53\x84\xea\x8f\x1d\x10\x13\x2c\xe9\xa6\x4b\x50\x01\xc3\x87\x96\xdf\xbb\xea\x48\xd9\x57\x17\xd3\x36\x31\x32\xa6\x3a\x2d\x56\x0e\x81\x48\x38\xc3\x95\xef\x2c\xab\x02\xca\x40\xd9\x60\x18\x2c\xab\x47\xdd\xa6\x3b\x40\x6f\xb4\x9e\x99\x15\xfe\xc8\x4a\x4e\x40\x3e\x86\xc1\x04\x3c\xd4\x8e\x47\x9e\x56\x14\xcf\xed\x63\x48\x19\x4c\x7b\xf5\xa1\x5a\x8c\x55\x37\xb1\xd8\x17\xcb\xba\x64\xcf\x8d\x95\x56\x67\xfd\x51\xb3\xbb\x17\xfa\xa4\x13\xeb\xf1\xc9\x41\x27\x75\x93\xd7\xd8\xd2\xfc\xb2\x44\xb3\xbc\xdf\xdd\x37\x0b\x67\x87\xe2\x9f\x80\xae\x68\xcf\x84\x67\x26\xde\x9c\x3b\x32\x75\xc5\xef\xa6\x98\xec\xd4\xba\xb8\xfe\x73\xb9\xf8\xde\xb4\x46\x0c\x88\xaa\xb4\xc3\xc7\xb7\x33\xa1\xd1\xdb\xad\xa7\xb6\xa4\x0c\x7c\x22\xb7\x8e\xa3\xc8\xc2\xab\x69\xc3\xbc\xb3\xde\x9a\x9a\xea\x2d\x30\xa9\xfd\x95\xa1\xf3\x7c\x73\x0b\xc9\x87\x44\x48\xa2\xc3\xad\x9e\x7d\x5e\x60\xa3\x78\x54\x74\x65\xfe\xe5\xa5\x7b\x78\x75\xc2\x55\x34\x69\x67\xbb\x30\xd5\x34\x75\xe3\x2b\xe2\xbf\x9e\x9d\x19\xca\x43\x13\x42\xd8\xcd\x72\x77\xae\x95\xa2\x37\xbb\x6e\x7a\xb1\x71\x9a\x46\xdd\x05\xe9\xfd\xcc\xe7\x62\x00\xe8\x1c\x33\xbd\x9f\x56\x7d\xcc\xfc\xda\x92\x43\xde\x50\xed\x7c\x71\x58\xf3\x76\x35\x2d\x3b\xd2\x39\xf3\x45\x59\x26\xed\xad\xd2\x01\xfd\xdd\x3f\x3b\x21\x31\x0a\x59\xc9\xd0\x9b\xf4\xbf\xe6\xd8\x97\x5c\xa5\xac\xa8\xc6\xb5\xa2\xcc\x7a\xce\xa8\x1c\xd8\x3b\x5d\x31\xa4\xc6\x76\x98\xa8\xef\xaf\x59\x10\xd3\xd4\xa0\x57\x4a\x15\x81\x9a\xc3\x88\xea\x63\xc8\x38\xfb\xb3\x73\x2a\xbe\x78\x96\x94\x7f\xbe\x2a\xbf\x06\x34\x8a\xac\xcf\x49\xe9\xd7\xc1\xd4\xab\x0d\x7d\x8e\x7f\xec\x5f\xa9\x3d\xd9\x21\x21\xcc\x1b\x9d\xef\xeb\x86\xd4\x8e\x60\x8b\xe6\xd5\xd8\x1c\xc3\xc7\x35\xb8\x0e\xe4\x13\xbd\x04\x5e\x3f\xb0\x33\xd1\xaa\xa5\x5d\xed\x6e\x6f\xad\x47\xeb\xb0\xb7\x2f\x7a\x2b\x72\x5a\x3d\x07\x87\x9e\x94\x76\x8f\xee\xdc\x8b\xbc\x07\xd1\xa3\xdc\xdf\x3f\xe6\xca\x8c\xb1\xd6\x7a\x31\x5f\x9c\xda\xae\x32\xc9\xf4\x9b\x3f\x2e\xdb\x35\xab\xa6\xf3\xa2\xcb\xd8\x04\x1e\xd6\x06\x8f\x55\x83\xd9\x61\xa5\x33\x8f\xfb\xa9\x21\xdb\xbd\x77\x5c\xba\x17\xb3\x1e\x16\x52\x11\x0e\xa2\x26\xa1\x7d\xcd\x69\xdf\x61\xcd\x3d\xf8\x3d\xab\xa9\xa2\x70\xde\xa2\x3e\x51\x5e\xb6\xd9\x88\x89\x22\xac\x96\xd1\x44\x4b\xaf\xae\xd9\x4a\x1c\x9c\x49\xc1\x67\xfa\x3a\xde\xdc\xd5\x46\xfd\x4b\x96\x15\x2d\x97\xa5\xcb\x8b\x6e\x72\x9b\x00" + +func workboxV431WorkboxWindowDevUmdJsBrBytes() ([]byte, error) { + return bindataRead( + _workboxV431WorkboxWindowDevUmdJsBr, + "workbox-v4.3.1/workbox-window.dev.umd.js.br", + ) +} + +func workboxV431WorkboxWindowDevUmdJsBr() (*asset, error) { + bytes, err := workboxV431WorkboxWindowDevUmdJsBrBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "workbox-v4.3.1/workbox-window.dev.umd.js.br", size: 6887, mode: os.FileMode(420), modTime: time.Unix(1560038421, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _workboxV431WorkboxWindowProdEs5Mjs = "\x74\x72\x79\x7b\x73\x65\x6c\x66\x5b\x22\x77\x6f\x72\x6b\x62\x6f\x78\x3a\x77\x69\x6e\x64\x6f\x77\x3a\x34\x2e\x33\x2e\x31\x22\x5d\x26\x26\x5f\x28\x29\x7d\x63\x61\x74\x63\x68\x28\x6e\x29\x7b\x7d\x76\x61\x72\x20\x6e\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x6e\x2c\x74\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x65\x77\x20\x50\x72\x6f\x6d\x69\x73\x65\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x69\x29\x7b\x76\x61\x72\x20\x65\x3d\x6e\x65\x77\x20\x4d\x65\x73\x73\x61\x67\x65\x43\x68\x61\x6e\x6e\x65\x6c\x3b\x65\x2e\x70\x6f\x72\x74\x31\x2e\x6f\x6e\x6d\x65\x73\x73\x61\x67\x65\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x6e\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x69\x28\x6e\x2e\x64\x61\x74\x61\x29\x7d\x2c\x6e\x2e\x70\x6f\x73\x74\x4d\x65\x73\x73\x61\x67\x65\x28\x74\x2c\x5b\x65\x2e\x70\x6f\x72\x74\x32\x5d\x29\x7d\x29\x7d\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x74\x28\x6e\x2c\x74\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x69\x3d\x30\x3b\x69\x3c\x74\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x69\x2b\x2b\x29\x7b\x76\x61\x72\x20\x65\x3d\x74\x5b\x69\x5d\x3b\x65\x2e\x65\x6e\x75\x6d\x65\x72\x61\x62\x6c\x65\x3d\x65\x2e\x65\x6e\x75\x6d\x65\x72\x61\x62\x6c\x65\x7c\x7c\x21\x31\x2c\x65\x2e\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x62\x6c\x65\x3d\x21\x30\x2c\x22\x76\x61\x6c\x75\x65\x22\x69\x6e\x20\x65\x26\x26\x28\x65\x2e\x77\x72\x69\x74\x61\x62\x6c\x65\x3d\x21\x30\x29\x2c\x4f\x62\x6a\x65\x63\x74\x2e\x64\x65\x66\x69\x6e\x65\x50\x72\x6f\x70\x65\x72\x74\x79\x28\x6e\x2c\x65\x2e\x6b\x65\x79\x2c\x65\x29\x7d\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x69\x28\x6e\x29\x7b\x69\x66\x28\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x6e\x29\x74\x68\x72\x6f\x77\x20\x6e\x65\x77\x20\x52\x65\x66\x65\x72\x65\x6e\x63\x65\x45\x72\x72\x6f\x72\x28\x22\x74\x68\x69\x73\x20\x68\x61\x73\x6e\x27\x74\x20\x62\x65\x65\x6e\x20\x69\x6e\x69\x74\x69\x61\x6c\x69\x73\x65\x64\x20\x2d\x20\x73\x75\x70\x65\x72\x28\x29\x20\x68\x61\x73\x6e\x27\x74\x20\x62\x65\x65\x6e\x20\x63\x61\x6c\x6c\x65\x64\x22\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x6e\x7d\x74\x72\x79\x7b\x73\x65\x6c\x66\x5b\x22\x77\x6f\x72\x6b\x62\x6f\x78\x3a\x63\x6f\x72\x65\x3a\x34\x2e\x33\x2e\x31\x22\x5d\x26\x26\x5f\x28\x29\x7d\x63\x61\x74\x63\x68\x28\x6e\x29\x7b\x7d\x76\x61\x72\x20\x65\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x6e\x3d\x74\x68\x69\x73\x3b\x74\x68\x69\x73\x2e\x70\x72\x6f\x6d\x69\x73\x65\x3d\x6e\x65\x77\x20\x50\x72\x6f\x6d\x69\x73\x65\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x74\x2c\x69\x29\x7b\x6e\x2e\x72\x65\x73\x6f\x6c\x76\x65\x3d\x74\x2c\x6e\x2e\x72\x65\x6a\x65\x63\x74\x3d\x69\x7d\x29\x7d\x2c\x72\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x6e\x2c\x74\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x65\x77\x20\x55\x52\x4c\x28\x6e\x2c\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x29\x2e\x68\x72\x65\x66\x3d\x3d\x3d\x6e\x65\x77\x20\x55\x52\x4c\x28\x74\x2c\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x29\x2e\x68\x72\x65\x66\x7d\x2c\x6f\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x6e\x2c\x74\x29\x7b\x4f\x62\x6a\x65\x63\x74\x2e\x61\x73\x73\x69\x67\x6e\x28\x74\x68\x69\x73\x2c\x74\x2c\x7b\x74\x79\x70\x65\x3a\x6e\x7d\x29\x7d\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x75\x28\x6e\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x74\x3d\x5b\x5d\x2c\x69\x3d\x30\x3b\x69\x3c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x69\x2b\x2b\x29\x74\x5b\x69\x5d\x3d\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x5b\x69\x5d\x3b\x74\x72\x79\x7b\x72\x65\x74\x75\x72\x6e\x20\x50\x72\x6f\x6d\x69\x73\x65\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x6e\x2e\x61\x70\x70\x6c\x79\x28\x74\x68\x69\x73\x2c\x74\x29\x29\x7d\x63\x61\x74\x63\x68\x28\x6e\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x50\x72\x6f\x6d\x69\x73\x65\x2e\x72\x65\x6a\x65\x63\x74\x28\x6e\x29\x7d\x7d\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x61\x28\x6e\x2c\x74\x2c\x69\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x69\x3f\x74\x3f\x74\x28\x6e\x29\x3a\x6e\x3a\x28\x6e\x26\x26\x6e\x2e\x74\x68\x65\x6e\x7c\x7c\x28\x6e\x3d\x50\x72\x6f\x6d\x69\x73\x65\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x6e\x29\x29\x2c\x74\x3f\x6e\x2e\x74\x68\x65\x6e\x28\x74\x29\x3a\x6e\x29\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x73\x28\x29\x7b\x7d\x76\x61\x72\x20\x63\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x63\x29\x7b\x76\x61\x72\x20\x66\x2c\x68\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x76\x28\x6e\x2c\x74\x29\x7b\x76\x61\x72\x20\x72\x3b\x72\x65\x74\x75\x72\x6e\x20\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x74\x26\x26\x28\x74\x3d\x7b\x7d\x29\x2c\x28\x72\x3d\x63\x2e\x63\x61\x6c\x6c\x28\x74\x68\x69\x73\x29\x7c\x7c\x74\x68\x69\x73\x29\x2e\x74\x3d\x6e\x2c\x72\x2e\x69\x3d\x74\x2c\x72\x2e\x6f\x3d\x30\x2c\x72\x2e\x75\x3d\x6e\x65\x77\x20\x65\x2c\x72\x2e\x73\x3d\x6e\x65\x77\x20\x65\x2c\x72\x2e\x68\x3d\x6e\x65\x77\x20\x65\x2c\x72\x2e\x76\x3d\x72\x2e\x76\x2e\x62\x69\x6e\x64\x28\x69\x28\x69\x28\x72\x29\x29\x29\x2c\x72\x2e\x6c\x3d\x72\x2e\x6c\x2e\x62\x69\x6e\x64\x28\x69\x28\x69\x28\x72\x29\x29\x29\x2c\x72\x2e\x67\x3d\x72\x2e\x67\x2e\x62\x69\x6e\x64\x28\x69\x28\x69\x28\x72\x29\x29\x29\x2c\x72\x2e\x6d\x3d\x72\x2e\x6d\x2e\x62\x69\x6e\x64\x28\x69\x28\x69\x28\x72\x29\x29\x29\x2c\x72\x7d\x68\x3d\x63\x2c\x28\x66\x3d\x76\x29\x2e\x70\x72\x6f\x74\x6f\x74\x79\x70\x65\x3d\x4f\x62\x6a\x65\x63\x74\x2e\x63\x72\x65\x61\x74\x65\x28\x68\x2e\x70\x72\x6f\x74\x6f\x74\x79\x70\x65\x29\x2c\x66\x2e\x70\x72\x6f\x74\x6f\x74\x79\x70\x65\x2e\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x3d\x66\x2c\x66\x2e\x5f\x5f\x70\x72\x6f\x74\x6f\x5f\x5f\x3d\x68\x3b\x76\x61\x72\x20\x6c\x2c\x77\x2c\x67\x2c\x64\x3d\x76\x2e\x70\x72\x6f\x74\x6f\x74\x79\x70\x65\x3b\x72\x65\x74\x75\x72\x6e\x20\x64\x2e\x72\x65\x67\x69\x73\x74\x65\x72\x3d\x75\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x6e\x29\x7b\x76\x61\x72\x20\x74\x2c\x69\x2c\x65\x3d\x74\x68\x69\x73\x2c\x75\x3d\x28\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x6e\x3f\x7b\x7d\x3a\x6e\x29\x2e\x69\x6d\x6d\x65\x64\x69\x61\x74\x65\x2c\x63\x3d\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x75\x26\x26\x75\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x65\x2e\x70\x3d\x42\x6f\x6f\x6c\x65\x61\x6e\x28\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x29\x2c\x65\x2e\x50\x3d\x65\x2e\x52\x28\x29\x2c\x61\x28\x65\x2e\x6b\x28\x29\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x6e\x29\x7b\x65\x2e\x42\x3d\x6e\x2c\x65\x2e\x50\x26\x26\x28\x65\x2e\x4f\x3d\x65\x2e\x50\x2c\x65\x2e\x73\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x65\x2e\x50\x29\x2c\x65\x2e\x68\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x65\x2e\x50\x29\x2c\x65\x2e\x6a\x28\x65\x2e\x50\x29\x2c\x65\x2e\x50\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x73\x74\x61\x74\x65\x63\x68\x61\x6e\x67\x65\x22\x2c\x65\x2e\x6c\x2c\x7b\x6f\x6e\x63\x65\x3a\x21\x30\x7d\x29\x29\x3b\x76\x61\x72\x20\x74\x3d\x65\x2e\x42\x2e\x77\x61\x69\x74\x69\x6e\x67\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\x26\x26\x72\x28\x74\x2e\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x2c\x65\x2e\x74\x29\x26\x26\x28\x65\x2e\x4f\x3d\x74\x2c\x50\x72\x6f\x6d\x69\x73\x65\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x29\x2e\x74\x68\x65\x6e\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x65\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x6e\x65\x77\x20\x6f\x28\x22\x77\x61\x69\x74\x69\x6e\x67\x22\x2c\x7b\x73\x77\x3a\x74\x2c\x77\x61\x73\x57\x61\x69\x74\x69\x6e\x67\x42\x65\x66\x6f\x72\x65\x52\x65\x67\x69\x73\x74\x65\x72\x3a\x21\x30\x7d\x29\x29\x7d\x29\x29\x2c\x65\x2e\x4f\x26\x26\x65\x2e\x75\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x65\x2e\x4f\x29\x2c\x65\x2e\x42\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x22\x2c\x65\x2e\x67\x29\x2c\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x63\x68\x61\x6e\x67\x65\x22\x2c\x65\x2e\x6d\x2c\x7b\x6f\x6e\x63\x65\x3a\x21\x30\x7d\x29\x2c\x22\x42\x72\x6f\x61\x64\x63\x61\x73\x74\x43\x68\x61\x6e\x6e\x65\x6c\x22\x69\x6e\x20\x73\x65\x6c\x66\x26\x26\x28\x65\x2e\x43\x3d\x6e\x65\x77\x20\x42\x72\x6f\x61\x64\x63\x61\x73\x74\x43\x68\x61\x6e\x6e\x65\x6c\x28\x22\x77\x6f\x72\x6b\x62\x6f\x78\x22\x29\x2c\x65\x2e\x43\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x6d\x65\x73\x73\x61\x67\x65\x22\x2c\x65\x2e\x76\x29\x29\x2c\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x6d\x65\x73\x73\x61\x67\x65\x22\x2c\x65\x2e\x76\x29\x2c\x65\x2e\x42\x7d\x29\x7d\x2c\x28\x69\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x69\x66\x28\x21\x63\x26\x26\x22\x63\x6f\x6d\x70\x6c\x65\x74\x65\x22\x21\x3d\x3d\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65\x29\x72\x65\x74\x75\x72\x6e\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x6e\x2c\x74\x29\x7b\x69\x66\x28\x21\x74\x29\x72\x65\x74\x75\x72\x6e\x20\x6e\x26\x26\x6e\x2e\x74\x68\x65\x6e\x3f\x6e\x2e\x74\x68\x65\x6e\x28\x73\x29\x3a\x50\x72\x6f\x6d\x69\x73\x65\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x29\x7d\x28\x6e\x65\x77\x20\x50\x72\x6f\x6d\x69\x73\x65\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x6e\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x6c\x6f\x61\x64\x22\x2c\x6e\x29\x7d\x29\x29\x7d\x28\x29\x29\x26\x26\x69\x2e\x74\x68\x65\x6e\x3f\x69\x2e\x74\x68\x65\x6e\x28\x74\x29\x3a\x74\x28\x69\x29\x7d\x29\x2c\x64\x2e\x67\x65\x74\x53\x57\x3d\x75\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x4f\x7c\x7c\x74\x68\x69\x73\x2e\x75\x2e\x70\x72\x6f\x6d\x69\x73\x65\x7d\x29\x2c\x64\x2e\x6d\x65\x73\x73\x61\x67\x65\x53\x57\x3d\x75\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x74\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x28\x74\x68\x69\x73\x2e\x67\x65\x74\x53\x57\x28\x29\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x69\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x28\x69\x2c\x74\x29\x7d\x29\x7d\x29\x2c\x64\x2e\x52\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x6e\x3d\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x3b\x69\x66\x28\x6e\x26\x26\x72\x28\x6e\x2e\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x2c\x74\x68\x69\x73\x2e\x74\x29\x29\x72\x65\x74\x75\x72\x6e\x20\x6e\x7d\x2c\x64\x2e\x6b\x3d\x75\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x6e\x3d\x74\x68\x69\x73\x3b\x72\x65\x74\x75\x72\x6e\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x6e\x2c\x74\x29\x7b\x74\x72\x79\x7b\x76\x61\x72\x20\x69\x3d\x6e\x28\x29\x7d\x63\x61\x74\x63\x68\x28\x6e\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x28\x6e\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x69\x26\x26\x69\x2e\x74\x68\x65\x6e\x3f\x69\x2e\x74\x68\x65\x6e\x28\x76\x6f\x69\x64\x20\x30\x2c\x74\x29\x3a\x69\x7d\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x28\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x72\x65\x67\x69\x73\x74\x65\x72\x28\x6e\x2e\x74\x2c\x6e\x2e\x69\x29\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x74\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x4c\x3d\x70\x65\x72\x66\x6f\x72\x6d\x61\x6e\x63\x65\x2e\x6e\x6f\x77\x28\x29\x2c\x74\x7d\x29\x7d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x6e\x29\x7b\x74\x68\x72\x6f\x77\x20\x6e\x7d\x29\x7d\x29\x2c\x64\x2e\x6a\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x74\x29\x7b\x6e\x28\x74\x2c\x7b\x74\x79\x70\x65\x3a\x22\x57\x49\x4e\x44\x4f\x57\x5f\x52\x45\x41\x44\x59\x22\x2c\x6d\x65\x74\x61\x3a\x22\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x22\x7d\x29\x7d\x2c\x64\x2e\x67\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x6e\x3d\x74\x68\x69\x73\x2e\x42\x2e\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x3b\x74\x68\x69\x73\x2e\x6f\x3e\x30\x7c\x7c\x21\x72\x28\x6e\x2e\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x2c\x74\x68\x69\x73\x2e\x74\x29\x7c\x7c\x70\x65\x72\x66\x6f\x72\x6d\x61\x6e\x63\x65\x2e\x6e\x6f\x77\x28\x29\x3e\x74\x68\x69\x73\x2e\x4c\x2b\x36\x65\x34\x3f\x28\x74\x68\x69\x73\x2e\x57\x3d\x6e\x2c\x74\x68\x69\x73\x2e\x42\x2e\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x22\x2c\x74\x68\x69\x73\x2e\x67\x29\x29\x3a\x28\x74\x68\x69\x73\x2e\x4f\x3d\x6e\x2c\x74\x68\x69\x73\x2e\x75\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x6e\x29\x29\x2c\x2b\x2b\x74\x68\x69\x73\x2e\x6f\x2c\x6e\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x73\x74\x61\x74\x65\x63\x68\x61\x6e\x67\x65\x22\x2c\x74\x68\x69\x73\x2e\x6c\x29\x7d\x2c\x64\x2e\x6c\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x6e\x29\x7b\x76\x61\x72\x20\x74\x3d\x74\x68\x69\x73\x2c\x69\x3d\x6e\x2e\x74\x61\x72\x67\x65\x74\x2c\x65\x3d\x69\x2e\x73\x74\x61\x74\x65\x2c\x72\x3d\x69\x3d\x3d\x3d\x74\x68\x69\x73\x2e\x57\x2c\x75\x3d\x72\x3f\x22\x65\x78\x74\x65\x72\x6e\x61\x6c\x22\x3a\x22\x22\x2c\x61\x3d\x7b\x73\x77\x3a\x69\x2c\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x3a\x6e\x7d\x3b\x21\x72\x26\x26\x74\x68\x69\x73\x2e\x70\x26\x26\x28\x61\x2e\x69\x73\x55\x70\x64\x61\x74\x65\x3d\x21\x30\x29\x2c\x74\x68\x69\x73\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x6e\x65\x77\x20\x6f\x28\x75\x2b\x65\x2c\x61\x29\x29\x2c\x22\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x22\x3d\x3d\x3d\x65\x3f\x74\x68\x69\x73\x2e\x5f\x3d\x73\x65\x74\x54\x69\x6d\x65\x6f\x75\x74\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x22\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x22\x3d\x3d\x3d\x65\x26\x26\x74\x2e\x42\x2e\x77\x61\x69\x74\x69\x6e\x67\x3d\x3d\x3d\x69\x26\x26\x74\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x6e\x65\x77\x20\x6f\x28\x75\x2b\x22\x77\x61\x69\x74\x69\x6e\x67\x22\x2c\x61\x29\x29\x7d\x2c\x32\x30\x30\x29\x3a\x22\x61\x63\x74\x69\x76\x61\x74\x69\x6e\x67\x22\x3d\x3d\x3d\x65\x26\x26\x28\x63\x6c\x65\x61\x72\x54\x69\x6d\x65\x6f\x75\x74\x28\x74\x68\x69\x73\x2e\x5f\x29\x2c\x72\x7c\x7c\x74\x68\x69\x73\x2e\x73\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x69\x29\x29\x7d\x2c\x64\x2e\x6d\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x6e\x29\x7b\x76\x61\x72\x20\x74\x3d\x74\x68\x69\x73\x2e\x4f\x3b\x74\x3d\x3d\x3d\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x26\x26\x28\x74\x68\x69\x73\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x6e\x65\x77\x20\x6f\x28\x22\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x22\x2c\x7b\x73\x77\x3a\x74\x2c\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x3a\x6e\x7d\x29\x29\x2c\x74\x68\x69\x73\x2e\x68\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x74\x29\x29\x7d\x2c\x64\x2e\x76\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x6e\x29\x7b\x76\x61\x72\x20\x74\x3d\x6e\x2e\x64\x61\x74\x61\x3b\x74\x68\x69\x73\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x6e\x65\x77\x20\x6f\x28\x22\x6d\x65\x73\x73\x61\x67\x65\x22\x2c\x7b\x64\x61\x74\x61\x3a\x74\x2c\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x3a\x6e\x7d\x29\x29\x7d\x2c\x6c\x3d\x76\x2c\x28\x77\x3d\x5b\x7b\x6b\x65\x79\x3a\x22\x61\x63\x74\x69\x76\x65\x22\x2c\x67\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x73\x2e\x70\x72\x6f\x6d\x69\x73\x65\x7d\x7d\x2c\x7b\x6b\x65\x79\x3a\x22\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x22\x2c\x67\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x68\x2e\x70\x72\x6f\x6d\x69\x73\x65\x7d\x7d\x5d\x29\x26\x26\x74\x28\x6c\x2e\x70\x72\x6f\x74\x6f\x74\x79\x70\x65\x2c\x77\x29\x2c\x67\x26\x26\x74\x28\x6c\x2c\x67\x29\x2c\x76\x7d\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x6e\x28\x29\x7b\x74\x68\x69\x73\x2e\x44\x3d\x7b\x7d\x7d\x76\x61\x72\x20\x74\x3d\x6e\x2e\x70\x72\x6f\x74\x6f\x74\x79\x70\x65\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x6e\x2c\x74\x29\x7b\x74\x68\x69\x73\x2e\x54\x28\x6e\x29\x2e\x61\x64\x64\x28\x74\x29\x7d\x2c\x74\x2e\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x6e\x2c\x74\x29\x7b\x74\x68\x69\x73\x2e\x54\x28\x6e\x29\x2e\x64\x65\x6c\x65\x74\x65\x28\x74\x29\x7d\x2c\x74\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x6e\x29\x7b\x6e\x2e\x74\x61\x72\x67\x65\x74\x3d\x74\x68\x69\x73\x2c\x74\x68\x69\x73\x2e\x54\x28\x6e\x2e\x74\x79\x70\x65\x29\x2e\x66\x6f\x72\x45\x61\x63\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x74\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x28\x6e\x29\x7d\x29\x7d\x2c\x74\x2e\x54\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x6e\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x44\x5b\x6e\x5d\x3d\x74\x68\x69\x73\x2e\x44\x5b\x6e\x5d\x7c\x7c\x6e\x65\x77\x20\x53\x65\x74\x7d\x2c\x6e\x7d\x28\x29\x29\x3b\x65\x78\x70\x6f\x72\x74\x7b\x63\x20\x61\x73\x20\x57\x6f\x72\x6b\x62\x6f\x78\x2c\x6e\x20\x61\x73\x20\x6d\x65\x73\x73\x61\x67\x65\x53\x57\x7d\x3b\x0a\x2f\x2f\x23\x20\x73\x6f\x75\x72\x63\x65\x4d\x61\x70\x70\x69\x6e\x67\x55\x52\x4c\x3d\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x70\x72\x6f\x64\x2e\x65\x73\x35\x2e\x6d\x6a\x73\x2e\x6d\x61\x70\x0a" + +func workboxV431WorkboxWindowProdEs5MjsBytes() ([]byte, error) { + return bindataRead( + _workboxV431WorkboxWindowProdEs5Mjs, + "workbox-v4.3.1/workbox-window.prod.es5.mjs", + ) +} + +func workboxV431WorkboxWindowProdEs5Mjs() (*asset, error) { + bytes, err := workboxV431WorkboxWindowProdEs5MjsBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "workbox-v4.3.1/workbox-window.prod.es5.mjs", size: 4302, mode: os.FileMode(420), modTime: time.Unix(1560038421, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _workboxV431WorkboxWindowProdMjs = "\x74\x72\x79\x7b\x73\x65\x6c\x66\x5b\x22\x77\x6f\x72\x6b\x62\x6f\x78\x3a\x77\x69\x6e\x64\x6f\x77\x3a\x34\x2e\x33\x2e\x31\x22\x5d\x26\x26\x5f\x28\x29\x7d\x63\x61\x74\x63\x68\x28\x74\x29\x7b\x7d\x63\x6f\x6e\x73\x74\x20\x74\x3d\x28\x74\x2c\x73\x29\x3d\x3e\x6e\x65\x77\x20\x50\x72\x6f\x6d\x69\x73\x65\x28\x69\x3d\x3e\x7b\x6c\x65\x74\x20\x65\x3d\x6e\x65\x77\x20\x4d\x65\x73\x73\x61\x67\x65\x43\x68\x61\x6e\x6e\x65\x6c\x3b\x65\x2e\x70\x6f\x72\x74\x31\x2e\x6f\x6e\x6d\x65\x73\x73\x61\x67\x65\x3d\x28\x74\x3d\x3e\x69\x28\x74\x2e\x64\x61\x74\x61\x29\x29\x2c\x74\x2e\x70\x6f\x73\x74\x4d\x65\x73\x73\x61\x67\x65\x28\x73\x2c\x5b\x65\x2e\x70\x6f\x72\x74\x32\x5d\x29\x7d\x29\x3b\x74\x72\x79\x7b\x73\x65\x6c\x66\x5b\x22\x77\x6f\x72\x6b\x62\x6f\x78\x3a\x63\x6f\x72\x65\x3a\x34\x2e\x33\x2e\x31\x22\x5d\x26\x26\x5f\x28\x29\x7d\x63\x61\x74\x63\x68\x28\x74\x29\x7b\x7d\x63\x6c\x61\x73\x73\x20\x73\x7b\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x28\x29\x7b\x74\x68\x69\x73\x2e\x70\x72\x6f\x6d\x69\x73\x65\x3d\x6e\x65\x77\x20\x50\x72\x6f\x6d\x69\x73\x65\x28\x28\x74\x2c\x73\x29\x3d\x3e\x7b\x74\x68\x69\x73\x2e\x72\x65\x73\x6f\x6c\x76\x65\x3d\x74\x2c\x74\x68\x69\x73\x2e\x72\x65\x6a\x65\x63\x74\x3d\x73\x7d\x29\x7d\x7d\x63\x6c\x61\x73\x73\x20\x69\x7b\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x28\x29\x7b\x74\x68\x69\x73\x2e\x74\x3d\x7b\x7d\x7d\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x74\x2c\x73\x29\x7b\x74\x68\x69\x73\x2e\x73\x28\x74\x29\x2e\x61\x64\x64\x28\x73\x29\x7d\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x74\x2c\x73\x29\x7b\x74\x68\x69\x73\x2e\x73\x28\x74\x29\x2e\x64\x65\x6c\x65\x74\x65\x28\x73\x29\x7d\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x74\x29\x7b\x74\x2e\x74\x61\x72\x67\x65\x74\x3d\x74\x68\x69\x73\x2c\x74\x68\x69\x73\x2e\x73\x28\x74\x2e\x74\x79\x70\x65\x29\x2e\x66\x6f\x72\x45\x61\x63\x68\x28\x73\x3d\x3e\x73\x28\x74\x29\x29\x7d\x73\x28\x74\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x74\x5b\x74\x5d\x3d\x74\x68\x69\x73\x2e\x74\x5b\x74\x5d\x7c\x7c\x6e\x65\x77\x20\x53\x65\x74\x7d\x7d\x63\x6f\x6e\x73\x74\x20\x65\x3d\x28\x74\x2c\x73\x29\x3d\x3e\x6e\x65\x77\x20\x55\x52\x4c\x28\x74\x2c\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x29\x2e\x68\x72\x65\x66\x3d\x3d\x3d\x6e\x65\x77\x20\x55\x52\x4c\x28\x73\x2c\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x29\x2e\x68\x72\x65\x66\x3b\x63\x6c\x61\x73\x73\x20\x6e\x7b\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x28\x74\x2c\x73\x29\x7b\x4f\x62\x6a\x65\x63\x74\x2e\x61\x73\x73\x69\x67\x6e\x28\x74\x68\x69\x73\x2c\x73\x2c\x7b\x74\x79\x70\x65\x3a\x74\x7d\x29\x7d\x7d\x63\x6f\x6e\x73\x74\x20\x68\x3d\x32\x30\x30\x2c\x61\x3d\x36\x65\x34\x3b\x63\x6c\x61\x73\x73\x20\x6f\x20\x65\x78\x74\x65\x6e\x64\x73\x20\x69\x7b\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x28\x74\x2c\x69\x3d\x7b\x7d\x29\x7b\x73\x75\x70\x65\x72\x28\x29\x2c\x74\x68\x69\x73\x2e\x69\x3d\x74\x2c\x74\x68\x69\x73\x2e\x68\x3d\x69\x2c\x74\x68\x69\x73\x2e\x6f\x3d\x30\x2c\x74\x68\x69\x73\x2e\x6c\x3d\x6e\x65\x77\x20\x73\x2c\x74\x68\x69\x73\x2e\x67\x3d\x6e\x65\x77\x20\x73\x2c\x74\x68\x69\x73\x2e\x75\x3d\x6e\x65\x77\x20\x73\x2c\x74\x68\x69\x73\x2e\x6d\x3d\x74\x68\x69\x73\x2e\x6d\x2e\x62\x69\x6e\x64\x28\x74\x68\x69\x73\x29\x2c\x74\x68\x69\x73\x2e\x76\x3d\x74\x68\x69\x73\x2e\x76\x2e\x62\x69\x6e\x64\x28\x74\x68\x69\x73\x29\x2c\x74\x68\x69\x73\x2e\x70\x3d\x74\x68\x69\x73\x2e\x70\x2e\x62\x69\x6e\x64\x28\x74\x68\x69\x73\x29\x2c\x74\x68\x69\x73\x2e\x5f\x3d\x74\x68\x69\x73\x2e\x5f\x2e\x62\x69\x6e\x64\x28\x74\x68\x69\x73\x29\x7d\x61\x73\x79\x6e\x63\x20\x72\x65\x67\x69\x73\x74\x65\x72\x28\x7b\x69\x6d\x6d\x65\x64\x69\x61\x74\x65\x3a\x74\x3d\x21\x31\x7d\x3d\x7b\x7d\x29\x7b\x74\x7c\x7c\x22\x63\x6f\x6d\x70\x6c\x65\x74\x65\x22\x3d\x3d\x3d\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65\x7c\x7c\x61\x77\x61\x69\x74\x20\x6e\x65\x77\x20\x50\x72\x6f\x6d\x69\x73\x65\x28\x74\x3d\x3e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x6c\x6f\x61\x64\x22\x2c\x74\x29\x29\x2c\x74\x68\x69\x73\x2e\x43\x3d\x42\x6f\x6f\x6c\x65\x61\x6e\x28\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x29\x2c\x74\x68\x69\x73\x2e\x57\x3d\x74\x68\x69\x73\x2e\x4c\x28\x29\x2c\x74\x68\x69\x73\x2e\x53\x3d\x61\x77\x61\x69\x74\x20\x74\x68\x69\x73\x2e\x42\x28\x29\x2c\x74\x68\x69\x73\x2e\x57\x26\x26\x28\x74\x68\x69\x73\x2e\x52\x3d\x74\x68\x69\x73\x2e\x57\x2c\x74\x68\x69\x73\x2e\x67\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x74\x68\x69\x73\x2e\x57\x29\x2c\x74\x68\x69\x73\x2e\x75\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x74\x68\x69\x73\x2e\x57\x29\x2c\x74\x68\x69\x73\x2e\x50\x28\x74\x68\x69\x73\x2e\x57\x29\x2c\x74\x68\x69\x73\x2e\x57\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x73\x74\x61\x74\x65\x63\x68\x61\x6e\x67\x65\x22\x2c\x74\x68\x69\x73\x2e\x76\x2c\x7b\x6f\x6e\x63\x65\x3a\x21\x30\x7d\x29\x29\x3b\x63\x6f\x6e\x73\x74\x20\x73\x3d\x74\x68\x69\x73\x2e\x53\x2e\x77\x61\x69\x74\x69\x6e\x67\x3b\x72\x65\x74\x75\x72\x6e\x20\x73\x26\x26\x65\x28\x73\x2e\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x2c\x74\x68\x69\x73\x2e\x69\x29\x26\x26\x28\x74\x68\x69\x73\x2e\x52\x3d\x73\x2c\x50\x72\x6f\x6d\x69\x73\x65\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x29\x2e\x74\x68\x65\x6e\x28\x28\x29\x3d\x3e\x7b\x74\x68\x69\x73\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x6e\x65\x77\x20\x6e\x28\x22\x77\x61\x69\x74\x69\x6e\x67\x22\x2c\x7b\x73\x77\x3a\x73\x2c\x77\x61\x73\x57\x61\x69\x74\x69\x6e\x67\x42\x65\x66\x6f\x72\x65\x52\x65\x67\x69\x73\x74\x65\x72\x3a\x21\x30\x7d\x29\x29\x7d\x29\x29\x2c\x74\x68\x69\x73\x2e\x52\x26\x26\x74\x68\x69\x73\x2e\x6c\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x74\x68\x69\x73\x2e\x52\x29\x2c\x74\x68\x69\x73\x2e\x53\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x22\x2c\x74\x68\x69\x73\x2e\x70\x29\x2c\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x63\x68\x61\x6e\x67\x65\x22\x2c\x74\x68\x69\x73\x2e\x5f\x2c\x7b\x6f\x6e\x63\x65\x3a\x21\x30\x7d\x29\x2c\x22\x42\x72\x6f\x61\x64\x63\x61\x73\x74\x43\x68\x61\x6e\x6e\x65\x6c\x22\x69\x6e\x20\x73\x65\x6c\x66\x26\x26\x28\x74\x68\x69\x73\x2e\x54\x3d\x6e\x65\x77\x20\x42\x72\x6f\x61\x64\x63\x61\x73\x74\x43\x68\x61\x6e\x6e\x65\x6c\x28\x22\x77\x6f\x72\x6b\x62\x6f\x78\x22\x29\x2c\x74\x68\x69\x73\x2e\x54\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x6d\x65\x73\x73\x61\x67\x65\x22\x2c\x74\x68\x69\x73\x2e\x6d\x29\x29\x2c\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x6d\x65\x73\x73\x61\x67\x65\x22\x2c\x74\x68\x69\x73\x2e\x6d\x29\x2c\x74\x68\x69\x73\x2e\x53\x7d\x67\x65\x74\x20\x61\x63\x74\x69\x76\x65\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x67\x2e\x70\x72\x6f\x6d\x69\x73\x65\x7d\x67\x65\x74\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x75\x2e\x70\x72\x6f\x6d\x69\x73\x65\x7d\x61\x73\x79\x6e\x63\x20\x67\x65\x74\x53\x57\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x52\x7c\x7c\x74\x68\x69\x73\x2e\x6c\x2e\x70\x72\x6f\x6d\x69\x73\x65\x7d\x61\x73\x79\x6e\x63\x20\x6d\x65\x73\x73\x61\x67\x65\x53\x57\x28\x73\x29\x7b\x63\x6f\x6e\x73\x74\x20\x69\x3d\x61\x77\x61\x69\x74\x20\x74\x68\x69\x73\x2e\x67\x65\x74\x53\x57\x28\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\x28\x69\x2c\x73\x29\x7d\x4c\x28\x29\x7b\x63\x6f\x6e\x73\x74\x20\x74\x3d\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x3b\x69\x66\x28\x74\x26\x26\x65\x28\x74\x2e\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x2c\x74\x68\x69\x73\x2e\x69\x29\x29\x72\x65\x74\x75\x72\x6e\x20\x74\x7d\x61\x73\x79\x6e\x63\x20\x42\x28\x29\x7b\x74\x72\x79\x7b\x63\x6f\x6e\x73\x74\x20\x74\x3d\x61\x77\x61\x69\x74\x20\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x72\x65\x67\x69\x73\x74\x65\x72\x28\x74\x68\x69\x73\x2e\x69\x2c\x74\x68\x69\x73\x2e\x68\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x55\x3d\x70\x65\x72\x66\x6f\x72\x6d\x61\x6e\x63\x65\x2e\x6e\x6f\x77\x28\x29\x2c\x74\x7d\x63\x61\x74\x63\x68\x28\x74\x29\x7b\x74\x68\x72\x6f\x77\x20\x74\x7d\x7d\x50\x28\x73\x29\x7b\x74\x28\x73\x2c\x7b\x74\x79\x70\x65\x3a\x22\x57\x49\x4e\x44\x4f\x57\x5f\x52\x45\x41\x44\x59\x22\x2c\x6d\x65\x74\x61\x3a\x22\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x22\x7d\x29\x7d\x70\x28\x29\x7b\x63\x6f\x6e\x73\x74\x20\x74\x3d\x74\x68\x69\x73\x2e\x53\x2e\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x3b\x74\x68\x69\x73\x2e\x6f\x3e\x30\x7c\x7c\x21\x65\x28\x74\x2e\x73\x63\x72\x69\x70\x74\x55\x52\x4c\x2c\x74\x68\x69\x73\x2e\x69\x29\x7c\x7c\x70\x65\x72\x66\x6f\x72\x6d\x61\x6e\x63\x65\x2e\x6e\x6f\x77\x28\x29\x3e\x74\x68\x69\x73\x2e\x55\x2b\x61\x3f\x28\x74\x68\x69\x73\x2e\x6b\x3d\x74\x2c\x74\x68\x69\x73\x2e\x53\x2e\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x75\x70\x64\x61\x74\x65\x66\x6f\x75\x6e\x64\x22\x2c\x74\x68\x69\x73\x2e\x70\x29\x29\x3a\x28\x74\x68\x69\x73\x2e\x52\x3d\x74\x2c\x74\x68\x69\x73\x2e\x6c\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x74\x29\x29\x2c\x2b\x2b\x74\x68\x69\x73\x2e\x6f\x2c\x74\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x73\x74\x61\x74\x65\x63\x68\x61\x6e\x67\x65\x22\x2c\x74\x68\x69\x73\x2e\x76\x29\x7d\x76\x28\x74\x29\x7b\x63\x6f\x6e\x73\x74\x20\x73\x3d\x74\x2e\x74\x61\x72\x67\x65\x74\x2c\x7b\x73\x74\x61\x74\x65\x3a\x69\x7d\x3d\x73\x2c\x65\x3d\x73\x3d\x3d\x3d\x74\x68\x69\x73\x2e\x6b\x2c\x61\x3d\x65\x3f\x22\x65\x78\x74\x65\x72\x6e\x61\x6c\x22\x3a\x22\x22\x2c\x6f\x3d\x7b\x73\x77\x3a\x73\x2c\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x3a\x74\x7d\x3b\x21\x65\x26\x26\x74\x68\x69\x73\x2e\x43\x26\x26\x28\x6f\x2e\x69\x73\x55\x70\x64\x61\x74\x65\x3d\x21\x30\x29\x2c\x74\x68\x69\x73\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x6e\x65\x77\x20\x6e\x28\x61\x2b\x69\x2c\x6f\x29\x29\x2c\x22\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x22\x3d\x3d\x3d\x69\x3f\x74\x68\x69\x73\x2e\x44\x3d\x73\x65\x74\x54\x69\x6d\x65\x6f\x75\x74\x28\x28\x29\x3d\x3e\x7b\x22\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x22\x3d\x3d\x3d\x69\x26\x26\x74\x68\x69\x73\x2e\x53\x2e\x77\x61\x69\x74\x69\x6e\x67\x3d\x3d\x3d\x73\x26\x26\x74\x68\x69\x73\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x6e\x65\x77\x20\x6e\x28\x61\x2b\x22\x77\x61\x69\x74\x69\x6e\x67\x22\x2c\x6f\x29\x29\x7d\x2c\x68\x29\x3a\x22\x61\x63\x74\x69\x76\x61\x74\x69\x6e\x67\x22\x3d\x3d\x3d\x69\x26\x26\x28\x63\x6c\x65\x61\x72\x54\x69\x6d\x65\x6f\x75\x74\x28\x74\x68\x69\x73\x2e\x44\x29\x2c\x65\x7c\x7c\x74\x68\x69\x73\x2e\x67\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x73\x29\x29\x7d\x5f\x28\x74\x29\x7b\x63\x6f\x6e\x73\x74\x20\x73\x3d\x74\x68\x69\x73\x2e\x52\x3b\x73\x3d\x3d\x3d\x6e\x61\x76\x69\x67\x61\x74\x6f\x72\x2e\x73\x65\x72\x76\x69\x63\x65\x57\x6f\x72\x6b\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x26\x26\x28\x74\x68\x69\x73\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x6e\x65\x77\x20\x6e\x28\x22\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x69\x6e\x67\x22\x2c\x7b\x73\x77\x3a\x73\x2c\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x3a\x74\x7d\x29\x29\x2c\x74\x68\x69\x73\x2e\x75\x2e\x72\x65\x73\x6f\x6c\x76\x65\x28\x73\x29\x29\x7d\x6d\x28\x74\x29\x7b\x63\x6f\x6e\x73\x74\x7b\x64\x61\x74\x61\x3a\x73\x7d\x3d\x74\x3b\x74\x68\x69\x73\x2e\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6e\x74\x28\x6e\x65\x77\x20\x6e\x28\x22\x6d\x65\x73\x73\x61\x67\x65\x22\x2c\x7b\x64\x61\x74\x61\x3a\x73\x2c\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x3a\x74\x7d\x29\x29\x7d\x7d\x65\x78\x70\x6f\x72\x74\x7b\x6f\x20\x61\x73\x20\x57\x6f\x72\x6b\x62\x6f\x78\x2c\x74\x20\x61\x73\x20\x6d\x65\x73\x73\x61\x67\x65\x53\x57\x7d\x3b\x0a\x2f\x2f\x23\x20\x73\x6f\x75\x72\x63\x65\x4d\x61\x70\x70\x69\x6e\x67\x55\x52\x4c\x3d\x77\x6f\x72\x6b\x62\x6f\x78\x2d\x77\x69\x6e\x64\x6f\x77\x2e\x70\x72\x6f\x64\x2e\x6d\x6a\x73\x2e\x6d\x61\x70\x0a" + +func workboxV431WorkboxWindowProdMjsBytes() ([]byte, error) { + return bindataRead( + _workboxV431WorkboxWindowProdMjs, + "workbox-v4.3.1/workbox-window.prod.mjs", + ) +} + +func workboxV431WorkboxWindowProdMjs() (*asset, error) { + bytes, err := workboxV431WorkboxWindowProdMjsBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "workbox-v4.3.1/workbox-window.prod.mjs", size: 3049, mode: os.FileMode(420), modTime: time.Unix(1560038421, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _workboxV431WorkboxWindowProdUmdJsBr = "\x1b\xb9\x11\x00\x9c\x05\x4e\xd9\x2e\x22\x49\xd3\x97\xae\x57\xfa\xab\x89\xd5\x72\x09\xe9\xbf\xd3\x44\x38\x1f\xd9\x1d\x9b\x6e\x40\x0b\xc7\x96\x13\x75\x28\xc3\xba\x1c\xf0\x4b\xbe\xd8\xf0\x59\xa5\xb6\x72\x92\x88\xd3\x57\xed\x4f\x17\xfd\x8d\x09\x57\xdf\x28\x48\xc8\xde\xd8\xc3\x2f\x75\x18\xa7\x13\x5e\x33\x6c\xdb\xfe\xe0\xac\x9a\x74\xaa\xff\xbb\x56\xbe\x77\x0a\x48\x41\xeb\xea\xe4\x91\x15\x9d\x0f\xc9\x42\x0e\x88\xb2\x53\x9a\x23\xca\x4c\xf6\x80\xd0\x15\xc1\x22\x4a\xd7\xea\xba\xda\x10\x97\x3f\xd5\x18\xa5\x40\x0e\x32\x49\xa5\xa8\x23\xdc\x3f\x44\xe3\x23\x98\x6f\xec\x6c\x1f\xc1\xaa\xdb\x53\x4a\x67\x03\x45\x8b\x0a\x44\xbc\x71\x98\xa2\x66\x13\x6a\x90\x34\xa8\x50\xcb\xab\xcf\xf4\xe8\x8a\xdc\x9e\x0f\xc9\xc6\x78\x8a\xb6\x5f\xe8\x96\x34\xaa\x23\xc9\x9a\x67\x79\x94\x41\xcc\x8e\x39\xbd\x7f\x75\xdb\x90\x1a\x9f\x43\x6e\x9d\x7b\xde\xfd\xf6\xd6\x3a\x8d\x97\x6f\xba\xf7\xf8\xf6\xd1\x30\xf3\x5f\xa8\x2a\xa4\xf7\xd7\x2b\x5d\xea\xbc\x5b\x96\x72\x14\x19\x8c\x9d\xf6\x91\x4d\xc5\x1b\xd8\x2b\xcf\x66\xd2\xa8\xf6\x72\xfc\xca\x86\x5d\x2a\x9a\x49\x19\x5c\x83\xed\x8a\x8d\xba\xae\x87\x5e\x3a\x77\x35\xde\x89\xd5\xa4\x2d\xef\xdb\x18\x92\xcc\x35\x92\x92\xb6\x98\x50\x47\x98\x4f\x44\x86\xee\x2d\x91\xc8\x5e\x5d\x8a\x9c\x09\x8b\x18\x4a\x9f\xf5\xfc\xea\xff\x1e\x42\x3c\xa1\xc7\x49\xfe\xc7\x65\x0f\x89\xc9\xf2\x41\xfd\xf3\x9c\xd1\x7f\x9e\x17\xbb\x84\x6c\x5b\x3d\xd5\x69\xef\x76\x18\xa6\xf0\x9d\xee\xf2\x6e\x13\xa5\x04\xf4\x8f\x97\x53\x79\x05\x68\x6d\x4a\x7a\x12\xe7\x96\xee\xa3\x22\xe4\xda\x1b\x81\x4c\x4e\x13\xa1\xf1\xc1\x8b\x70\xcf\x6f\x3b\xf3\xb5\xef\x30\xad\xc6\xfb\x17\x51\x4a\x9c\xc4\x13\x51\x17\x09\x47\xe6\x19\x4e\xd6\x77\x9f\xa7\xb1\x06\x9b\x7c\x9f\xcb\x75\x3b\xdf\x3c\x3e\x65\xce\xf3\x73\x2d\xda\xe1\x36\xd9\xcf\x36\x51\xaa\x1b\x3a\x79\xdc\xf7\x39\x16\x92\x5b\x99\xcc\x4d\xb4\x87\x47\xc6\xaa\xc5\xad\xfa\x52\xf3\xa1\x52\x42\xec\x3a\x9b\x69\x90\xcf\xb3\x34\x13\xc9\xd1\x8a\x60\x07\xa1\xab\xc4\xde\x5a\x06\xc1\x1f\xbc\x71\x71\x5e\x3e\x28\xb9\xa3\xc7\x7a\x10\x5b\x72\xa4\x1e\x50\x67\xb6\xa3\x14\x9a\x2f\x5b\x99\x5b\x2d\x4d\x92\x31\x6c\xc7\xb5\x9f\x5e\x68\x40\x12\x11\x7c\x86\x04\x2f\xc5\x2e\x75\x32\xb0\x3f\x31\x4d\x16\x8a\x10\x42\x7d\x48\x48\xc6\x2c\xcd\x81\xb0\x83\x1b\xa1\xa4\xce\x86\x90\xf6\x92\xf8\xd1\x4d\x93\x6f\x6d\x1c\xa6\xa1\xde\x7f\x5c\x55\x93\x4a\xb9\x53\x5f\xb5\xbb\x79\x0e\x79\xd9\x2e\x40\x0f\x95\x4a\xc3\x8d\xe6\x80\x72\xe5\x57\xa8\x3a\x47\x51\xba\xdb\x53\x38\xc8\x4a\xad\x1a\x85\xb2\xa2\xd1\xa2\xa4\xe5\xea\xcb\x52\x82\x60\xe3\x61\x1a\x2d\x59\x1e\xae\x68\x3d\xe6\xf9\xdb\xd7\xc8\x36\x47\x19\xf3\xf6\x72\xf2\x59\xf4\x55\x68\x78\x49\x65\xb4\x0c\x5d\xfa\xf9\x2b\x9c\xee\x93\x30\xee\x5b\x47\x00\x25\x49\x3e\x6f\x9f\xa4\xf2\x56\x49\x21\xcf\xf0\xb1\x5c\x59\x4c\xc5\x2b\x84\xf9\x85\x36\x17\x82\xfe\x35\x31\x94\xee\x01\x4b\x86\xdc\x7d\x90\xd6\xfb\xd1\xe5\xaa\x1c\x1d\x3d\xe8\xa3\x23\xaf\x7a\xc9\xbc\xea\x8f\x7b\x7e\xb3\xf7\xda\x4e\xc8\xaa\xaa\x97\x3b\x39\xd0\x35\x24\xed\x31\x49\xf8\x79\x2f\x17\x83\xc1\xd0\xe1\x63\xab\x82\x5c\x7f\x03\xab\x2b\x24\x2e\x3a\xc7\x52\xc6\x05\xf8\xb0\x58\x3e\xfe\x11\x94\xfd\x70\x3f\xde\xb4\x93\xbb\xf0\x65\xec\xaf\xe0\x8f\x58\x0f\x6e\xa3\xfe\xf6\xe8\x37\x46\x10\x5a\x0d\xd9\xc8\xfc\x08\x68\xf9\xde\xf7\xac\xa1\xdd\xaa\x87\x70\x57\x8a\x9c\xea\x26\xd4\x4c\xcc\xc9\x03\x32\x0b\xea\x97\x22\x97\x58\x78\x75\xb1\xe5\x11\x3e\x95\x1c\xaa\xb7\x23\xe4\xd9\x9c\x79\xff\xda\xed\x24\xd0\xf7\xbe\x4e\x68\x57\x80\x25\x57\x78\x40\x29\xf7\x61\x6d\x0c\x6a\xc2\x8f\xfd\x80\x50\x07\x6b\x1b\x4e\xb4\x7d\x95\xad\xde\x94\x51\x0c\xe2\x97\xeb\x28\x12\x59\x8a\x84\xcd\x35\xee\x22\x96\x34\xac\x63\xab\x2f\xd5\xcc\xaa\x58\xff\x7a\xa2\x10\x4c\x04\x33\xc4\xa1\xf3\xf4\x6a\x42\xa8\x94\xa6\x77\xb5\x93\xd1\x62\xfb\xda\x52\xc0\x80\x21\x48\xc2\x51\x14\xa8\x16\x5b\x7b\x43\x51\x86\xb8\x72\x86\x6a\xc6\x5f\x37\xb3\x4f\x05\xbf\x04\x18\x8f\x1f\x51\xd0\xa9\x02\xab\x15\x05\xfc\x47\x3a\xb6\xf3\x03\xbc\x83\x83\x0f\x8c\xd0\x87\x47\x5f\x63\x94\x09\x60\xfd\x9a\xc4\x3b\xf4\x78\x91\x2e\x22\x12\x41\x95\x73\x5b\xec\xa0\xd2\x08\xeb\x17\x04\x2e\x37\x88\x26\x50\x34\x15\x4b\xe0\x13\xf0\x96\xf8\x15\x6c\x06\x9b\x66\xb8\x27\x13\x77\x2d\x2b\x02\x93\xc9\x96\x51\xca\xbe\x92\x91\xa1\x2e\x97\x94\x7a\x99\xe8\x7f\xe3\x20\x12\xec\xa5\xda\xf4\xed\x71\x8d\x6e\x88\x1e\x52\x21\x0c\xac\xd2\xeb\x2b\xb1\x21\x0b\x0a\x1b\x5b\x99\x42\xf8\x24\xf2\xbe\xde\x38\x87\x2f\xe5\x41\x16\x91\xe2\x22\xd6\x45\x4f\xb3\xdb\xeb\x9e\x17\xa1\xfe\x94\x53\xb8\xe8\xea\x0e\x11\xeb\x64\xaf\x85\x4f\x7b\x08\x60\xd7\x11\x38\x40\x0a\xb9\x36\x51\xb8\x38\xf4\x6a\x9c\x5e\x90\xa2\x25\x80\x83\x50\x76\x33\xa6\x4c\x97\xf4\x01\x66\x12\x5f\x5f\x19\x52\xa7\x64\xc4\x96\xe1\xb3\x12\xf4\xd4\xdd\x7f\x19\xef\x5f\x22\xd3\x89\x84\x3b\x0e\xc0\x58\xbc\x19\x0e\xcb\x2b\x43\x51\x84\x8a\x53\x88\x1d\x3d\x3a\x67\xd1\x83\xf8\xdf\xa6\x93\xda\xaf\xd4\x97\xdd\x8b\x2c\x4b\x88\x70\x73\xe5\xfb\x46\xed\x1a\x57\x03\xbe\x61\xee\x53\xa7\xfd\x9d\xf9\x85\x52\x36\x9e\x67\xee\xa3\xfb\xc5\xfd\xe0\x56\xed\x6a\x30\x99\xce\xd1\x22\x79\x1a\x9f\xc4\x8d\x44\x64\x64\x0d\x40\x6d\x9f\x8e\xe6\xbf\x61\x43\xc5\xe1\x16\x77\xdb\xa2\x30\x1c\xeb\x46\xfd\x5a\x67\x78\xe9\xe4\xf0\xc5\x25\x2d\x8d\xa4\x62\x84\x29\x1a\xfd\xb9\x98\xbe\xf6\x4a\x0c\xe2\xe8\x65\xe8\x26\x57\xf6\xd4\xe8\x58\x0d\xca\x55\xe4\x18\x13\xf9\x18\x57\x95\x7d\x37\x96\x12\x83\xf6\x2f\x25\xaa\xcc\x7a\x56\x56\x0c\xc1\xb1\xcc\x0a\xf5\x53\xc7\xad\xc6\x0a\x30\x66\xc0\x8e\xd9\x6e\x43\xa3\xcd\x1f\x0f\xe7\x16\xfa\x68\xb0\xa7\x94\xc9\x33\x51\xf4\xb3\x94\x69\x81\x86\x67\xf9\x7a\x05\x92\x17\x3b\x3b\xa8\x71\x72\x36\x5d\x3e\x9f\x14\x11\xc9\x79\x71\x80\xd0\xc4\x4e\x23\xb8\x80\x87\xe1\x68\xcb\x09\x11\x17\x24\x3c\x57\xa1\xde\xbe\xee\xfd\x47\x2b\x25\x84\x24\x5d\x8e\xe1\x0f\x83\xc5\xaf\x20\x64\xd3\xe3\x2b\x73\x97\xdf\x47\x03\xb7\x25\xf6\x0b\x95\x3e\x23\xd2\x2a\xdb\x17\xf9\x9d\xe4\x9f\x57\xa6\xbd\x9f\xda\x6f\x7b\x93\xe2\xb3\x69\x1d\xfb\x36\x55\xe8\x95\x43\x93\x86\x4c\x36\x34\x57\x2e\xfe\xd6\x39\x74\x64\x09\xfe\x6b\xe2\x2f\xa2\x8b\x71\x0f\x7e\xe7\xdf\xce\x6f\x70\x05\x2a\x19\x2a\x43\x06\x52\xbb\x36\xb8\x6d\x29\x09\x4b\x54\xb8\xb0\x7b\x55\xd0\x18\x06\xaf\xda\xa6\x10\x2a\x0f\x09\x23\xe9\xbe\x3d\xed\x96\xf4\xc3\x16\x7e\xf2\x8b\xdf\xaf\x2a\xee\x96\xdc\x4d\x05\x89\x88\xd8\xd5\x50\xb9\x1f\xcf\x84\xa4\x0d\x52\x11\xcd\x91\xfe\xa2\xd3\x90\x9d\xa4\xd0\xfd\x4f\x4b\xa7\xca\xe6\x59\xed\xdf\x79\x84\x93\xca\xc8\xe8\xa5\xe7\x87\x14\x7b\x0b\xe5\x17\x97\xe6\x31\xb4\x1b\x47\x47\x6d\x3d\x1d\x73\x5d\xc7\x36\x0a\xa7\x40\x08\xe7\xf6\x68\xe0\xd3\x2c\x0d\x3c\x57\xf8\x05\x3f\xf6\x03\xc3\x32\x68\xa2\xe5\x5c\xef\xed\x57\xaf\x5d\x2b\x9c\x3c\x6c\x00" + +func workboxV431WorkboxWindowProdUmdJsBrBytes() ([]byte, error) { + return bindataRead( + _workboxV431WorkboxWindowProdUmdJsBr, + "workbox-v4.3.1/workbox-window.prod.umd.js.br", + ) +} + +func workboxV431WorkboxWindowProdUmdJsBr() (*asset, error) { + bytes, err := workboxV431WorkboxWindowProdUmdJsBrBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "workbox-v4.3.1/workbox-window.prod.umd.js.br", size: 1593, mode: os.FileMode(420), modTime: time.Unix(1560038421, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -991,14 +1117,14 @@ func AssetNames() []string { // _bindata is a table, holding each asset generator, mapped to its name. var _bindata = map[string]func() (*asset, error){ - "10.96048755c97f56836396.js.br": _1096048755c97f56836396JsBr, - "4.372a5b910e3de57fda50.js.br": _4372a5b910e3de57fda50JsBr, - "5.7ad90c4668f42cf15ea0.js.br": _57ad90c4668f42cf15ea0JsBr, - "6.ed4c30a3e8768f68010a.js.br": _6Ed4c30a3e8768f68010aJsBr, - "7.b3e6afa725f0f18df870.js.br": _7B3e6afa725f0f18df870JsBr, - "8.6edda2ef78269650782a.js.br": _86edda2ef78269650782aJsBr, - "9.ec83286d14b56ebb8488.js.br": _9Ec83286d14b56ebb8488JsBr, - "boot.5f7e76008bc7f3968ebd.js.br": boot5f7e76008bc7f3968ebdJsBr, + "10.cc724d664a840aa9b8eb.js.br": _10Cc724d664a840aa9b8ebJsBr, + "4.a60e5d61075d61681580.js.br": _4A60e5d61075d61681580JsBr, + "5.785f1443e972b513b230.js.br": _5785f1443e972b513b230JsBr, + "6.d84415b3a87bb1b3232c.js.br": _6D84415b3a87bb1b3232cJsBr, + "7.5bbf24ff044a95c2a3ea.js.br": _75bbf24ff044a95c2a3eaJsBr, + "8.5e9b0ddea6da6e65c007.js.br": _85e9b0ddea6da6e65c007JsBr, + "9.ae2f008c1ea027b7f593.js.br": _9Ae2f008c1ea027b7f593JsBr, + "boot.d16572e50321c967f35f.js.br": bootD16572e50321c967f35fJsBr, "config.default.toml": configDefaultToml, "favicon.ico": faviconIco, "font/Montserrat-Bold.woff": fontMontserratBoldWoff, @@ -1013,26 +1139,32 @@ var _bindata = map[string]func() (*asset, error){ "font/fontello.woff2": fontFontelloWoff2, "icon_192.png": icon_192Png, "icon_512.png": icon_512Png, - "main.1d1419ddb5eb2d7ed47c.js.br": main1d1419ddb5eb2d7ed47cJsBr, + "main.6bbc82fd5fade1a19eca.js.br": main6bbc82fd5fade1a19ecaJsBr, "main.dfac952ed634d0cb3ecd.css.br": mainDfac952ed634d0cb3ecdCssBr, "manifest.json.br": manifestJsonBr, - "precache-manifest.9e98b44ce2e0f5dcb4d5872414bbf468.js.br": precacheManifest9e98b44ce2e0f5dcb4d5872414bbf468JsBr, - "runtime.80a48224acd0a73f7d03.js.br": runtime80a48224acd0a73f7d03JsBr, + "precache-manifest.bef7d3fcb747de0d3bbae81a7517d996.js.br": precacheManifestBef7d3fcb747de0d3bbae81a7517d996JsBr, + "runtime.6d8adf50c30e0820a841.js.br": runtime6d8adf50c30e0820a841JsBr, "sw.js.br": swJsBr, - "vendors~main.86053eda843a2f338397.js.br": vendorsMain86053eda843a2f338397JsBr, - "workbox-v3.6.3/workbox-background-sync.prod.js.br": workboxV363WorkboxBackgroundSyncProdJsBr, - "workbox-v3.6.3/workbox-broadcast-cache-update.prod.js.br": workboxV363WorkboxBroadcastCacheUpdateProdJsBr, - "workbox-v3.6.3/workbox-cache-expiration.prod.js.br": workboxV363WorkboxCacheExpirationProdJsBr, - "workbox-v3.6.3/workbox-cacheable-response.prod.js.br": workboxV363WorkboxCacheableResponseProdJsBr, - "workbox-v3.6.3/workbox-core.prod.js.br": workboxV363WorkboxCoreProdJsBr, - "workbox-v3.6.3/workbox-google-analytics.prod.js.br": workboxV363WorkboxGoogleAnalyticsProdJsBr, - "workbox-v3.6.3/workbox-navigation-preload.prod.js.br": workboxV363WorkboxNavigationPreloadProdJsBr, - "workbox-v3.6.3/workbox-precaching.prod.js.br": workboxV363WorkboxPrecachingProdJsBr, - "workbox-v3.6.3/workbox-range-requests.prod.js.br": workboxV363WorkboxRangeRequestsProdJsBr, - "workbox-v3.6.3/workbox-routing.prod.js.br": workboxV363WorkboxRoutingProdJsBr, - "workbox-v3.6.3/workbox-strategies.prod.js.br": workboxV363WorkboxStrategiesProdJsBr, - "workbox-v3.6.3/workbox-streams.prod.js.br": workboxV363WorkboxStreamsProdJsBr, - "workbox-v3.6.3/workbox-sw.js.br": workboxV363WorkboxSwJsBr, + "vendors~main.ebc1861b956e3132eed7.js.br": vendorsMainEbc1861b956e3132eed7JsBr, + "workbox-v4.3.1/workbox-background-sync.prod.js.br": workboxV431WorkboxBackgroundSyncProdJsBr, + "workbox-v4.3.1/workbox-broadcast-update.prod.js.br": workboxV431WorkboxBroadcastUpdateProdJsBr, + "workbox-v4.3.1/workbox-cacheable-response.prod.js.br": workboxV431WorkboxCacheableResponseProdJsBr, + "workbox-v4.3.1/workbox-core.prod.js.br": workboxV431WorkboxCoreProdJsBr, + "workbox-v4.3.1/workbox-expiration.prod.js.br": workboxV431WorkboxExpirationProdJsBr, + "workbox-v4.3.1/workbox-navigation-preload.prod.js.br": workboxV431WorkboxNavigationPreloadProdJsBr, + "workbox-v4.3.1/workbox-offline-ga.prod.js.br": workboxV431WorkboxOfflineGaProdJsBr, + "workbox-v4.3.1/workbox-precaching.prod.js.br": workboxV431WorkboxPrecachingProdJsBr, + "workbox-v4.3.1/workbox-range-requests.prod.js.br": workboxV431WorkboxRangeRequestsProdJsBr, + "workbox-v4.3.1/workbox-routing.prod.js.br": workboxV431WorkboxRoutingProdJsBr, + "workbox-v4.3.1/workbox-strategies.prod.js.br": workboxV431WorkboxStrategiesProdJsBr, + "workbox-v4.3.1/workbox-streams.prod.js.br": workboxV431WorkboxStreamsProdJsBr, + "workbox-v4.3.1/workbox-sw.js.br": workboxV431WorkboxSwJsBr, + "workbox-v4.3.1/workbox-window.dev.es5.mjs": workboxV431WorkboxWindowDevEs5Mjs, + "workbox-v4.3.1/workbox-window.dev.mjs": workboxV431WorkboxWindowDevMjs, + "workbox-v4.3.1/workbox-window.dev.umd.js.br": workboxV431WorkboxWindowDevUmdJsBr, + "workbox-v4.3.1/workbox-window.prod.es5.mjs": workboxV431WorkboxWindowProdEs5Mjs, + "workbox-v4.3.1/workbox-window.prod.mjs": workboxV431WorkboxWindowProdMjs, + "workbox-v4.3.1/workbox-window.prod.umd.js.br": workboxV431WorkboxWindowProdUmdJsBr, } // AssetDir returns the file names below a certain @@ -1075,14 +1207,14 @@ type bintree struct { Children map[string]*bintree } var _bintree = &bintree{nil, map[string]*bintree{ - "10.96048755c97f56836396.js.br": &bintree{_1096048755c97f56836396JsBr, map[string]*bintree{}}, - "4.372a5b910e3de57fda50.js.br": &bintree{_4372a5b910e3de57fda50JsBr, map[string]*bintree{}}, - "5.7ad90c4668f42cf15ea0.js.br": &bintree{_57ad90c4668f42cf15ea0JsBr, map[string]*bintree{}}, - "6.ed4c30a3e8768f68010a.js.br": &bintree{_6Ed4c30a3e8768f68010aJsBr, map[string]*bintree{}}, - "7.b3e6afa725f0f18df870.js.br": &bintree{_7B3e6afa725f0f18df870JsBr, map[string]*bintree{}}, - "8.6edda2ef78269650782a.js.br": &bintree{_86edda2ef78269650782aJsBr, map[string]*bintree{}}, - "9.ec83286d14b56ebb8488.js.br": &bintree{_9Ec83286d14b56ebb8488JsBr, map[string]*bintree{}}, - "boot.5f7e76008bc7f3968ebd.js.br": &bintree{boot5f7e76008bc7f3968ebdJsBr, map[string]*bintree{}}, + "10.cc724d664a840aa9b8eb.js.br": &bintree{_10Cc724d664a840aa9b8ebJsBr, map[string]*bintree{}}, + "4.a60e5d61075d61681580.js.br": &bintree{_4A60e5d61075d61681580JsBr, map[string]*bintree{}}, + "5.785f1443e972b513b230.js.br": &bintree{_5785f1443e972b513b230JsBr, map[string]*bintree{}}, + "6.d84415b3a87bb1b3232c.js.br": &bintree{_6D84415b3a87bb1b3232cJsBr, map[string]*bintree{}}, + "7.5bbf24ff044a95c2a3ea.js.br": &bintree{_75bbf24ff044a95c2a3eaJsBr, map[string]*bintree{}}, + "8.5e9b0ddea6da6e65c007.js.br": &bintree{_85e9b0ddea6da6e65c007JsBr, map[string]*bintree{}}, + "9.ae2f008c1ea027b7f593.js.br": &bintree{_9Ae2f008c1ea027b7f593JsBr, map[string]*bintree{}}, + "boot.d16572e50321c967f35f.js.br": &bintree{bootD16572e50321c967f35fJsBr, map[string]*bintree{}}, "config.default.toml": &bintree{configDefaultToml, map[string]*bintree{}}, "favicon.ico": &bintree{faviconIco, map[string]*bintree{}}, "font": &bintree{nil, map[string]*bintree{ @@ -1099,27 +1231,33 @@ var _bintree = &bintree{nil, map[string]*bintree{ }}, "icon_192.png": &bintree{icon_192Png, map[string]*bintree{}}, "icon_512.png": &bintree{icon_512Png, map[string]*bintree{}}, - "main.1d1419ddb5eb2d7ed47c.js.br": &bintree{main1d1419ddb5eb2d7ed47cJsBr, map[string]*bintree{}}, + "main.6bbc82fd5fade1a19eca.js.br": &bintree{main6bbc82fd5fade1a19ecaJsBr, map[string]*bintree{}}, "main.dfac952ed634d0cb3ecd.css.br": &bintree{mainDfac952ed634d0cb3ecdCssBr, map[string]*bintree{}}, "manifest.json.br": &bintree{manifestJsonBr, map[string]*bintree{}}, - "precache-manifest.9e98b44ce2e0f5dcb4d5872414bbf468.js.br": &bintree{precacheManifest9e98b44ce2e0f5dcb4d5872414bbf468JsBr, map[string]*bintree{}}, - "runtime.80a48224acd0a73f7d03.js.br": &bintree{runtime80a48224acd0a73f7d03JsBr, map[string]*bintree{}}, + "precache-manifest.bef7d3fcb747de0d3bbae81a7517d996.js.br": &bintree{precacheManifestBef7d3fcb747de0d3bbae81a7517d996JsBr, map[string]*bintree{}}, + "runtime.6d8adf50c30e0820a841.js.br": &bintree{runtime6d8adf50c30e0820a841JsBr, map[string]*bintree{}}, "sw.js.br": &bintree{swJsBr, map[string]*bintree{}}, - "vendors~main.86053eda843a2f338397.js.br": &bintree{vendorsMain86053eda843a2f338397JsBr, map[string]*bintree{}}, - "workbox-v3.6.3": &bintree{nil, map[string]*bintree{ - "workbox-background-sync.prod.js.br": &bintree{workboxV363WorkboxBackgroundSyncProdJsBr, map[string]*bintree{}}, - "workbox-broadcast-cache-update.prod.js.br": &bintree{workboxV363WorkboxBroadcastCacheUpdateProdJsBr, map[string]*bintree{}}, - "workbox-cache-expiration.prod.js.br": &bintree{workboxV363WorkboxCacheExpirationProdJsBr, map[string]*bintree{}}, - "workbox-cacheable-response.prod.js.br": &bintree{workboxV363WorkboxCacheableResponseProdJsBr, map[string]*bintree{}}, - "workbox-core.prod.js.br": &bintree{workboxV363WorkboxCoreProdJsBr, map[string]*bintree{}}, - "workbox-google-analytics.prod.js.br": &bintree{workboxV363WorkboxGoogleAnalyticsProdJsBr, map[string]*bintree{}}, - "workbox-navigation-preload.prod.js.br": &bintree{workboxV363WorkboxNavigationPreloadProdJsBr, map[string]*bintree{}}, - "workbox-precaching.prod.js.br": &bintree{workboxV363WorkboxPrecachingProdJsBr, map[string]*bintree{}}, - "workbox-range-requests.prod.js.br": &bintree{workboxV363WorkboxRangeRequestsProdJsBr, map[string]*bintree{}}, - "workbox-routing.prod.js.br": &bintree{workboxV363WorkboxRoutingProdJsBr, map[string]*bintree{}}, - "workbox-strategies.prod.js.br": &bintree{workboxV363WorkboxStrategiesProdJsBr, map[string]*bintree{}}, - "workbox-streams.prod.js.br": &bintree{workboxV363WorkboxStreamsProdJsBr, map[string]*bintree{}}, - "workbox-sw.js.br": &bintree{workboxV363WorkboxSwJsBr, map[string]*bintree{}}, + "vendors~main.ebc1861b956e3132eed7.js.br": &bintree{vendorsMainEbc1861b956e3132eed7JsBr, map[string]*bintree{}}, + "workbox-v4.3.1": &bintree{nil, map[string]*bintree{ + "workbox-background-sync.prod.js.br": &bintree{workboxV431WorkboxBackgroundSyncProdJsBr, map[string]*bintree{}}, + "workbox-broadcast-update.prod.js.br": &bintree{workboxV431WorkboxBroadcastUpdateProdJsBr, map[string]*bintree{}}, + "workbox-cacheable-response.prod.js.br": &bintree{workboxV431WorkboxCacheableResponseProdJsBr, map[string]*bintree{}}, + "workbox-core.prod.js.br": &bintree{workboxV431WorkboxCoreProdJsBr, map[string]*bintree{}}, + "workbox-expiration.prod.js.br": &bintree{workboxV431WorkboxExpirationProdJsBr, map[string]*bintree{}}, + "workbox-navigation-preload.prod.js.br": &bintree{workboxV431WorkboxNavigationPreloadProdJsBr, map[string]*bintree{}}, + "workbox-offline-ga.prod.js.br": &bintree{workboxV431WorkboxOfflineGaProdJsBr, map[string]*bintree{}}, + "workbox-precaching.prod.js.br": &bintree{workboxV431WorkboxPrecachingProdJsBr, map[string]*bintree{}}, + "workbox-range-requests.prod.js.br": &bintree{workboxV431WorkboxRangeRequestsProdJsBr, map[string]*bintree{}}, + "workbox-routing.prod.js.br": &bintree{workboxV431WorkboxRoutingProdJsBr, map[string]*bintree{}}, + "workbox-strategies.prod.js.br": &bintree{workboxV431WorkboxStrategiesProdJsBr, map[string]*bintree{}}, + "workbox-streams.prod.js.br": &bintree{workboxV431WorkboxStreamsProdJsBr, map[string]*bintree{}}, + "workbox-sw.js.br": &bintree{workboxV431WorkboxSwJsBr, map[string]*bintree{}}, + "workbox-window.dev.es5.mjs": &bintree{workboxV431WorkboxWindowDevEs5Mjs, map[string]*bintree{}}, + "workbox-window.dev.mjs": &bintree{workboxV431WorkboxWindowDevMjs, map[string]*bintree{}}, + "workbox-window.dev.umd.js.br": &bintree{workboxV431WorkboxWindowDevUmdJsBr, map[string]*bintree{}}, + "workbox-window.prod.es5.mjs": &bintree{workboxV431WorkboxWindowProdEs5Mjs, map[string]*bintree{}}, + "workbox-window.prod.mjs": &bintree{workboxV431WorkboxWindowProdMjs, map[string]*bintree{}}, + "workbox-window.prod.umd.js.br": &bintree{workboxV431WorkboxWindowProdUmdJsBr, map[string]*bintree{}}, }}, }} diff --git a/client/js/sw.js b/client/js/sw.js index 8e83ba4c..0e441415 100644 --- a/client/js/sw.js +++ b/client/js/sw.js @@ -1,5 +1,5 @@ -workbox.skipWaiting(); -workbox.clientsClaim(); +workbox.core.skipWaiting(); +workbox.core.clientsClaim(); workbox.precaching.precacheAndRoute(self.__precacheManifest, { ignoreUrlParametersMatching: [/.*/] diff --git a/client/package.json b/client/package.json index 13df7ec8..4355fbc8 100644 --- a/client/package.json +++ b/client/package.json @@ -12,68 +12,68 @@ "iOS >= 10.3" ], "devDependencies": { - "@babel/core": "^7.2.2", - "@babel/plugin-proposal-class-properties": "^7.3.0", + "@babel/core": "^7.4.5", + "@babel/plugin-proposal-class-properties": "^7.4.4", "@babel/plugin-proposal-export-default-from": "^7.0.0", "@babel/plugin-proposal-export-namespace-from": "^7.0.0", "@babel/plugin-syntax-dynamic-import": "^7.0.0", "@babel/plugin-transform-react-constant-elements": "^7.0.0", "@babel/plugin-transform-react-inline-elements": "^7.0.0", - "@babel/preset-env": "^7.3.1", + "@babel/preset-env": "^7.4.5", "@babel/preset-react": "^7.0.0", "babel-eslint": "^10.0.1", - "babel-jest": "^24.1.0", - "babel-loader": "^8.0.5", + "babel-jest": "^24.8.0", + "babel-loader": "^8.0.6", "brotli": "^1.3.1", - "css-loader": "^2.1.0", - "cssnano": "^4.1.8", - "del": "^3.0.0", - "eslint": "^5.13.0", + "css-loader": "^2.1.1", + "cssnano": "^4.1.10", + "del": "^4.1.1", + "eslint": "^5.16.0", "eslint-config-airbnb": "^17.1.0", - "eslint-config-prettier": "^4.0.0", - "eslint-import-resolver-webpack": "^0.11.0", + "eslint-config-prettier": "^4.3.0", + "eslint-import-resolver-webpack": "^0.11.1", "eslint-loader": "^2.1.2", - "eslint-plugin-import": "^2.16.0", + "eslint-plugin-import": "^2.17.3", "eslint-plugin-jsx-a11y": "^6.2.1", - "eslint-plugin-react": "^7.12.4", - "express": "^4.16.4", + "eslint-plugin-react": "^7.13.0", + "express": "^4.17.1", "express-http-proxy": "^1.5.1", - "gulp": "4.0.0", + "gulp": "4.0.2", "gulp-util": "^3.0.8", - "jest": "^24.1.0", - "mini-css-extract-plugin": "^0.5.0", + "jest": "^24.8.0", + "mini-css-extract-plugin": "^0.7.0", "postcss-flexbugs-fixes": "^4.1.0", "postcss-loader": "^3.0.0", - "postcss-preset-env": "^6.5.0", - "prettier": "1.16.4", - "react-test-renderer": "16.8.1", + "postcss-preset-env": "^6.6.0", + "prettier": "1.18.2", + "react-test-renderer": "16.8.6", "style-loader": "^0.23.1", - "terser-webpack-plugin": "^1.2.2", - "through2": "^3.0.0", - "webpack": "^4.29.3", - "webpack-dev-middleware": "^3.5.2", - "webpack-hot-middleware": "^2.24.3", + "terser-webpack-plugin": "^1.3.0", + "through2": "^3.0.1", + "webpack": "^4.33.0", + "webpack-dev-middleware": "^3.7.0", + "webpack-hot-middleware": "^2.25.0", "webpack-plugin-hash-output": "^3.2.1", - "workbox-webpack-plugin": "^3.6.3" + "workbox-webpack-plugin": "^4.3.1" }, "dependencies": { - "autolinker": "^3.0.0", + "autolinker": "^3.1.0", "backo": "^1.1.0", "classnames": "^2.2.6", "fontfaceobserver": "^2.0.9", - "formik": "^1.4.3", + "formik": "^1.5.7", "history": "4.5.1", "hsluv": "^0.0.3", - "immer": "^2.0.0", + "immer": "^3.1.3", "js-cookie": "^2.1.4", "lodash": "^4.17.11", - "react": "16.8.1", - "react-dom": "16.8.1", - "react-hot-loader": "^4.6.5", + "react": "16.8.6", + "react-dom": "16.8.6", + "react-hot-loader": "^4.9.0", "react-modal": "^3.8.1", - "react-redux": "^6.0.0-beta.2", + "react-redux": "^7.0.3", "react-virtualized-auto-sizer": "^1.0.2", - "react-window": "^1.5.1", + "react-window": "^1.8.2", "redux": "^4.0.1", "redux-thunk": "^2.3.0", "reselect": "^4.0.0", diff --git a/client/yarn.lock b/client/yarn.lock index 221c87bc..cfe27251 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -9,7 +9,7 @@ dependencies: "@babel/highlight" "^7.0.0" -"@babel/core@^7.1.0", "@babel/core@^7.2.2": +"@babel/core@^7.1.0": version "7.2.2" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.2.2.tgz#07adba6dde27bb5ad8d8672f15fde3e08184a687" integrity sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw== @@ -29,6 +29,26 @@ semver "^5.4.1" source-map "^0.5.0" +"@babel/core@^7.4.5": + version "7.4.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.4.5.tgz#081f97e8ffca65a9b4b0fdc7e274e703f000c06a" + integrity sha512-OvjIh6aqXtlsA8ujtGKfC7LYWksYSX8yQcM8Ay3LuvVeQ63lcOKgoZWVqcpFwkd29aYU9rVx7jxhfhiEDV9MZA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/generator" "^7.4.4" + "@babel/helpers" "^7.4.4" + "@babel/parser" "^7.4.5" + "@babel/template" "^7.4.4" + "@babel/traverse" "^7.4.5" + "@babel/types" "^7.4.4" + convert-source-map "^1.1.0" + debug "^4.1.0" + json5 "^2.1.0" + lodash "^4.17.11" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + "@babel/generator@^7.0.0": version "7.1.6" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.1.6.tgz#001303cf87a5b9d093494a4bf251d7b5d03d3999" @@ -62,6 +82,17 @@ source-map "^0.5.0" trim-right "^1.0.1" +"@babel/generator@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.4.4.tgz#174a215eb843fc392c7edcaabeaa873de6e8f041" + integrity sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ== + dependencies: + "@babel/types" "^7.4.4" + jsesc "^2.5.1" + lodash "^4.17.11" + source-map "^0.5.0" + trim-right "^1.0.1" + "@babel/helper-annotate-as-pure@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" @@ -85,34 +116,35 @@ "@babel/types" "^7.0.0" esutils "^2.0.0" -"@babel/helper-call-delegate@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz#6a957f105f37755e8645343d3038a22e1449cc4a" - integrity sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ== +"@babel/helper-call-delegate@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz#87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43" + integrity sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ== dependencies: - "@babel/helper-hoist-variables" "^7.0.0" - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.0.0" + "@babel/helper-hoist-variables" "^7.4.4" + "@babel/traverse" "^7.4.4" + "@babel/types" "^7.4.4" -"@babel/helper-create-class-features-plugin@^7.3.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.3.0.tgz#2b01a81b3adc2b1287f9ee193688ef8dc71e718f" - integrity sha512-DUsQNS2CGLZZ7I3W3fvh0YpPDd6BuWJlDl+qmZZpABZHza2ErE3LxtEzLJFHFC1ZwtlAXvHhbFYbtM5o5B0WBw== +"@babel/helper-create-class-features-plugin@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.4.4.tgz#fc3d690af6554cc9efc607364a82d48f58736dba" + integrity sha512-UbBHIa2qeAGgyiNR9RszVF7bUHEdgS4JAUNT8SiqrAN6YJVxlOxeLr5pBzb5kan302dejJ9nla4RyKcR1XT6XA== dependencies: "@babel/helper-function-name" "^7.1.0" "@babel/helper-member-expression-to-functions" "^7.0.0" "@babel/helper-optimise-call-expression" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.2.3" + "@babel/helper-replace-supers" "^7.4.4" + "@babel/helper-split-export-declaration" "^7.4.4" -"@babel/helper-define-map@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz#3b74caec329b3c80c116290887c0dd9ae468c20c" - integrity sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg== +"@babel/helper-define-map@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.4.4.tgz#6969d1f570b46bdc900d1eba8e5d59c48ba2c12a" + integrity sha512-IX3Ln8gLhZpSuqHJSnTNBWGDE9kdkTEWl21A/K7PQ00tseBwbqCHTvNLHSBd9M0R5rER4h5Rsvj9vw0R5SieBg== dependencies: "@babel/helper-function-name" "^7.1.0" - "@babel/types" "^7.0.0" - lodash "^4.17.10" + "@babel/types" "^7.4.4" + lodash "^4.17.11" "@babel/helper-explode-assignable-expression@^7.1.0": version "7.1.0" @@ -147,12 +179,12 @@ dependencies: "@babel/types" "^7.0.0" -"@babel/helper-hoist-variables@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz#46adc4c5e758645ae7a45deb92bab0918c23bb88" - integrity sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w== +"@babel/helper-hoist-variables@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz#0298b5f25c8c09c53102d52ac4a98f773eb2850a" + integrity sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w== dependencies: - "@babel/types" "^7.0.0" + "@babel/types" "^7.4.4" "@babel/helper-member-expression-to-functions@^7.0.0": version "7.0.0" @@ -180,6 +212,18 @@ "@babel/types" "^7.0.0" lodash "^4.17.10" +"@babel/helper-module-transforms@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.4.4.tgz#96115ea42a2f139e619e98ed46df6019b94414b8" + integrity sha512-3Z1yp8TVQf+B4ynN7WoHPKS8EkdTbgAEy0nU0rs/1Kw4pDgmvYH3rz3aI11KgxKCba2cn7N+tqzV1mY2HMN96w== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-simple-access" "^7.1.0" + "@babel/helper-split-export-declaration" "^7.4.4" + "@babel/template" "^7.4.4" + "@babel/types" "^7.4.4" + lodash "^4.17.11" + "@babel/helper-optimise-call-expression@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" @@ -199,6 +243,13 @@ dependencies: lodash "^4.17.10" +"@babel/helper-regex@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.4.4.tgz#a47e02bc91fb259d2e6727c2a30013e3ac13c4a2" + integrity sha512-Y5nuB/kESmR3tKjU8Nkn1wMGEx1tjJX076HBMeL3XLQCu6vA/YRzuTW0bbb+qRnXvQGn+d6Rx953yffl8vEy7Q== + dependencies: + lodash "^4.17.11" + "@babel/helper-remap-async-to-generator@^7.1.0": version "7.1.0" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f" @@ -220,15 +271,15 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-replace-supers@^7.2.3": - version "7.2.3" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz#19970020cf22677d62b3a689561dbd9644d8c5e5" - integrity sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA== +"@babel/helper-replace-supers@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.4.4.tgz#aee41783ebe4f2d3ab3ae775e1cc6f1a90cefa27" + integrity sha512-04xGEnd+s01nY1l15EuMS1rfKktNF+1CkKmHoErDppjAAZL+IUBZpzT748x262HF7fibaQPhbvWUl5HeSt1EXg== dependencies: "@babel/helper-member-expression-to-functions" "^7.0.0" "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/traverse" "^7.2.3" - "@babel/types" "^7.0.0" + "@babel/traverse" "^7.4.4" + "@babel/types" "^7.4.4" "@babel/helper-simple-access@^7.1.0": version "7.1.0" @@ -245,6 +296,13 @@ dependencies: "@babel/types" "^7.0.0" +"@babel/helper-split-export-declaration@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" + integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== + dependencies: + "@babel/types" "^7.4.4" + "@babel/helper-wrap-function@^7.1.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa" @@ -264,6 +322,15 @@ "@babel/traverse" "^7.1.5" "@babel/types" "^7.2.0" +"@babel/helpers@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.4.4.tgz#868b0ef59c1dd4e78744562d5ce1b59c89f2f2a5" + integrity sha512-igczbR/0SeuPR8RFfC7tGrbdTbFL3QTvH6D+Z6zNxnTe//GyqmtHmDkzrqDmyZ3eSwPqB/LhyKoU5DXsp+Vp2A== + dependencies: + "@babel/template" "^7.4.4" + "@babel/traverse" "^7.4.4" + "@babel/types" "^7.4.4" + "@babel/highlight@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" @@ -278,6 +345,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.0.0.tgz#697655183394facffb063437ddf52c0277698775" integrity sha512-RgJhNdRinpO8zibnoHbzTTexNs4c8ROkXFBanNDZTLHjwbdLk8J5cJSKulx/bycWTLYmKVNCkxRtVCoJnqPk+g== +"@babel/parser@^7.1.0", "@babel/parser@^7.4.4", "@babel/parser@^7.4.5": + version "7.4.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.4.5.tgz#04af8d5d5a2b044a2a1bffacc1e5e6673544e872" + integrity sha512-9mUqkL1FF5T7f0WDFfAoDdiMVPWsdD1gZYzSnaXsxUCUqzuch/8of9G3VUSNiZmMBoRxT3neyVsqeiL/ZPcjew== + "@babel/parser@^7.1.2", "@babel/parser@^7.1.6": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.2.0.tgz#02d01dbc330b6cbf36b76ac93c50752c69027065" @@ -288,11 +360,6 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.2.2.tgz#37ebdbc88a2e1ebc6c8dd3d35ea9436e3e39e477" integrity sha512-UNTmQ5cSLDeBGBl+s7JeowkqIHgmFAGBnLDdIzFmUNSuS5JF0XBcN59jsh/vJO/YjfsBqMxhMjoFGmNExmf0FA== -"@babel/parser@^7.2.3": - version "7.2.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.2.3.tgz#32f5df65744b70888d17872ec106b02434ba1489" - integrity sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA== - "@babel/plugin-proposal-async-generator-functions@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e" @@ -302,12 +369,12 @@ "@babel/helper-remap-async-to-generator" "^7.1.0" "@babel/plugin-syntax-async-generators" "^7.2.0" -"@babel/plugin-proposal-class-properties@^7.3.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.3.0.tgz#272636bc0fa19a0bc46e601ec78136a173ea36cd" - integrity sha512-wNHxLkEKTQ2ay0tnsam2z7fGZUi+05ziDJflEt3AZTP3oXLKHJp9HqhfroB/vdMvt3sda9fAbq7FsG8QPDrZBg== +"@babel/plugin-proposal-class-properties@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.4.4.tgz#93a6486eed86d53452ab9bab35e368e9461198ce" + integrity sha512-WjKTI8g8d5w1Bc9zgwSz2nfrsNQsXcCf9J9cdCvrJV6RF56yztwm4TmJC0MgJ9tvwO9gUA/mcYe89bLdGfiXFg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.3.0" + "@babel/helper-create-class-features-plugin" "^7.4.4" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-export-default-from@^7.0.0": @@ -334,10 +401,10 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-json-strings" "^7.2.0" -"@babel/plugin-proposal-object-rest-spread@^7.3.1": - version "7.3.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.1.tgz#f69fb6a1ea6a4e1c503994a91d9cf76f3c4b36e8" - integrity sha512-Nmmv1+3LqxJu/V5jU9vJmxR/KIRWFk2qLHmbB56yRRRFhlaSuOVXscX3gUmhaKgUhzA3otOHVubbIEVYsZ0eZg== +"@babel/plugin-proposal-object-rest-spread@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.4.tgz#1ef173fcf24b3e2df92a678f027673b55e7e3005" + integrity sha512-dMBG6cSPBbHeEBdFXeQ2QLc5gUpg4Vkaz8octD4aoW/ISO+jBOcsuxYL7bsb5WSu8RLP6boxrBIALEHgoHtO9g== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" @@ -350,14 +417,14 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" -"@babel/plugin-proposal-unicode-property-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.2.0.tgz#abe7281fe46c95ddc143a65e5358647792039520" - integrity sha512-LvRVYb7kikuOtIoUeWTkOxQEV1kYvL5B6U3iWEGCzPNRus1MzJweFqORTj+0jkxozkTSYNJozPOddxmqdqsRpw== +"@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz#501ffd9826c0b91da22690720722ac7cb1ca9c78" + integrity sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - regexpu-core "^4.2.0" + "@babel/helper-regex" "^7.4.4" + regexpu-core "^4.5.4" "@babel/plugin-syntax-async-generators@^7.2.0": version "7.2.0" @@ -422,10 +489,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-async-to-generator@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz#68b8a438663e88519e65b776f8938f3445b1a2ff" - integrity sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ== +"@babel/plugin-transform-async-to-generator@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.4.tgz#a3f1d01f2f21cadab20b33a82133116f14fb5894" + integrity sha512-YiqW2Li8TXmzgbXw+STsSqPBPFnGviiaSp6CYOq55X8GQ2SGVLrXB6pNid8HkqkZAzOH6knbai3snhP7v0fNwA== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -438,26 +505,26 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-block-scoping@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz#f17c49d91eedbcdf5dd50597d16f5f2f770132d4" - integrity sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q== +"@babel/plugin-transform-block-scoping@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.4.tgz#c13279fabf6b916661531841a23c4b7dae29646d" + integrity sha512-jkTUyWZcTrwxu5DD4rWz6rDB5Cjdmgz6z7M7RLXOJyCUkFBawssDGcGh8M/0FTSB87avyJI1HsTwUXp9nKA1PA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - lodash "^4.17.10" + lodash "^4.17.11" -"@babel/plugin-transform-classes@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.0.tgz#374f8876075d7d21fea55aeb5c53561259163f96" - integrity sha512-aPCEkrhJYebDXcGTAP+cdUENkH7zqOlgbKwLbghjjHpJRJBWM/FSlCjMoPGA8oUdiMfOrk3+8EFPLLb5r7zj2w== +"@babel/plugin-transform-classes@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.4.tgz#0ce4094cdafd709721076d3b9c38ad31ca715eb6" + integrity sha512-/e44eFLImEGIpL9qPxSRat13I5QNRgBLu2hOQJCF7VLy/otSM/sypV1+XaIw5+502RX/+6YaSAPmldk+nhHDPw== dependencies: "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-define-map" "^7.1.0" + "@babel/helper-define-map" "^7.4.4" "@babel/helper-function-name" "^7.1.0" "@babel/helper-optimise-call-expression" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.0.0" + "@babel/helper-replace-supers" "^7.4.4" + "@babel/helper-split-export-declaration" "^7.4.4" globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.2.0": @@ -467,21 +534,21 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-destructuring@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz#e75269b4b7889ec3a332cd0d0c8cff8fed0dc6f3" - integrity sha512-coVO2Ayv7g0qdDbrNiadE4bU7lvCd9H539m2gMknyVjjMdwF/iCOM7R+E8PkntoqLkltO0rk+3axhpp/0v68VQ== +"@babel/plugin-transform-destructuring@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.4.tgz#9d964717829cc9e4b601fc82a26a71a4d8faf20f" + integrity sha512-/aOx+nW0w8eHiEHm+BTERB2oJn5D127iye/SUQl7NjHy0lf+j7h4MKMMSOwdazGq9OxgiNADncE+SRJkCxjZpQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-dotall-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz#f0aabb93d120a8ac61e925ea0ba440812dbe0e49" - integrity sha512-sKxnyHfizweTgKZf7XsXu/CNupKhzijptfTM+bozonIuyVrLWVUvYjE2bhuSBML8VQeMxq4Mm63Q9qvcvUcciQ== +"@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz#361a148bc951444312c69446d76ed1ea8e4450c3" + integrity sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - regexpu-core "^4.1.3" + "@babel/helper-regex" "^7.4.4" + regexpu-core "^4.5.4" "@babel/plugin-transform-duplicate-keys@^7.2.0": version "7.2.0" @@ -498,17 +565,17 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-for-of@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz#ab7468befa80f764bb03d3cb5eef8cc998e1cad9" - integrity sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ== +"@babel/plugin-transform-for-of@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556" + integrity sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-function-name@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz#f7930362829ff99a3174c39f0afcc024ef59731a" - integrity sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ== +"@babel/plugin-transform-function-name@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz#e1436116abb0610c2259094848754ac5230922ad" + integrity sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA== dependencies: "@babel/helper-function-name" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -520,6 +587,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" +"@babel/plugin-transform-member-expression-literals@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz#fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d" + integrity sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-transform-modules-amd@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz#82a9bce45b95441f617a24011dc89d12da7f4ee6" @@ -528,21 +602,21 @@ "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-modules-commonjs@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz#c4f1933f5991d5145e9cfad1dfd848ea1727f404" - integrity sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ== +"@babel/plugin-transform-modules-commonjs@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.4.tgz#0bef4713d30f1d78c2e59b3d6db40e60192cac1e" + integrity sha512-4sfBOJt58sEo9a2BQXnZq+Q3ZTSAUXyK3E30o36BOGnJ+tvJ6YSxF0PG6kERvbeISgProodWuI9UVG3/FMY6iw== dependencies: - "@babel/helper-module-transforms" "^7.1.0" + "@babel/helper-module-transforms" "^7.4.4" "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-simple-access" "^7.1.0" -"@babel/plugin-transform-modules-systemjs@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.2.0.tgz#912bfe9e5ff982924c81d0937c92d24994bb9068" - integrity sha512-aYJwpAhoK9a+1+O625WIjvMY11wkB/ok0WClVwmeo3mCjcNRjt+/8gHWrB5i+00mUju0gWsBkQnPpdvQ7PImmQ== +"@babel/plugin-transform-modules-systemjs@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.4.tgz#dc83c5665b07d6c2a7b224c00ac63659ea36a405" + integrity sha512-MSiModfILQc3/oqnG7NrP1jHaSPryO6tA2kOMmAQApz5dayPxWiHqmq4sWH2xF5LcQK56LlbKByCd8Aah/OIkQ== dependencies: - "@babel/helper-hoist-variables" "^7.0.0" + "@babel/helper-hoist-variables" "^7.4.4" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-modules-umd@^7.2.0": @@ -553,17 +627,17 @@ "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-named-capturing-groups-regex@^7.3.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.3.0.tgz#140b52985b2d6ef0cb092ef3b29502b990f9cd50" - integrity sha512-NxIoNVhk9ZxS+9lSoAQ/LM0V2UEvARLttEHUrRDGKFaAxOYQcrkN/nLRE+BbbicCAvZPl7wMP0X60HsHE5DtQw== +"@babel/plugin-transform-named-capturing-groups-regex@^7.4.5": + version "7.4.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz#9d269fd28a370258199b4294736813a60bbdd106" + integrity sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg== dependencies: - regexp-tree "^0.1.0" + regexp-tree "^0.1.6" -"@babel/plugin-transform-new-target@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz#ae8fbd89517fa7892d20e6564e641e8770c3aa4a" - integrity sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw== +"@babel/plugin-transform-new-target@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5" + integrity sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -575,15 +649,22 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-replace-supers" "^7.1.0" -"@babel/plugin-transform-parameters@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz#0d5ad15dc805e2ea866df4dd6682bfe76d1408c2" - integrity sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA== +"@babel/plugin-transform-parameters@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz#7556cf03f318bd2719fe4c922d2d808be5571e16" + integrity sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw== dependencies: - "@babel/helper-call-delegate" "^7.1.0" + "@babel/helper-call-delegate" "^7.4.4" "@babel/helper-get-function-arity" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" +"@babel/plugin-transform-property-literals@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz#03e33f653f5b25c4eb572c98b9485055b389e905" + integrity sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-transform-react-constant-elements@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.2.0.tgz#ed602dc2d8bff2f0cb1a5ce29263dbdec40779f7" @@ -632,12 +713,19 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.0.0" -"@babel/plugin-transform-regenerator@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz#5b41686b4ed40bef874d7ed6a84bdd849c13e0c1" - integrity sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw== +"@babel/plugin-transform-regenerator@^7.4.5": + version "7.4.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f" + integrity sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA== dependencies: - regenerator-transform "^0.13.3" + regenerator-transform "^0.14.0" + +"@babel/plugin-transform-reserved-words@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz#4792af87c998a49367597d07fedf02636d2e1634" + integrity sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-shorthand-properties@^7.2.0": version "7.2.0" @@ -661,10 +749,10 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-regex" "^7.0.0" -"@babel/plugin-transform-template-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz#d87ed01b8eaac7a92473f608c97c089de2ba1e5b" - integrity sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg== +"@babel/plugin-transform-template-literals@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz#9d28fea7bbce637fb7612a0750989d8321d4bcb0" + integrity sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g== dependencies: "@babel/helper-annotate-as-pure" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -676,63 +764,68 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-unicode-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz#4eb8db16f972f8abb5062c161b8b115546ade08b" - integrity sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA== +"@babel/plugin-transform-unicode-regex@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz#ab4634bb4f14d36728bf5978322b35587787970f" + integrity sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - regexpu-core "^4.1.3" + "@babel/helper-regex" "^7.4.4" + regexpu-core "^4.5.4" -"@babel/preset-env@^7.3.1": - version "7.3.1" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.3.1.tgz#389e8ca6b17ae67aaf9a2111665030be923515db" - integrity sha512-FHKrD6Dxf30e8xgHQO0zJZpUPfVZg+Xwgz5/RdSWCbza9QLNk4Qbp40ctRoqDxml3O8RMzB1DU55SXeDG6PqHQ== +"@babel/preset-env@^7.4.5": + version "7.4.5" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.4.5.tgz#2fad7f62983d5af563b5f3139242755884998a58" + integrity sha512-f2yNVXM+FsR5V8UwcFeIHzHWgnhXg3NpRmy0ADvALpnhB0SLbCvrCRr4BLOUYbQNLS+Z0Yer46x9dJXpXewI7w== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-async-generator-functions" "^7.2.0" "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.3.1" + "@babel/plugin-proposal-object-rest-spread" "^7.4.4" "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.2.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" "@babel/plugin-syntax-async-generators" "^7.2.0" "@babel/plugin-syntax-json-strings" "^7.2.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" "@babel/plugin-transform-arrow-functions" "^7.2.0" - "@babel/plugin-transform-async-to-generator" "^7.2.0" + "@babel/plugin-transform-async-to-generator" "^7.4.4" "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.2.0" - "@babel/plugin-transform-classes" "^7.2.0" + "@babel/plugin-transform-block-scoping" "^7.4.4" + "@babel/plugin-transform-classes" "^7.4.4" "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.2.0" - "@babel/plugin-transform-dotall-regex" "^7.2.0" + "@babel/plugin-transform-destructuring" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" "@babel/plugin-transform-duplicate-keys" "^7.2.0" "@babel/plugin-transform-exponentiation-operator" "^7.2.0" - "@babel/plugin-transform-for-of" "^7.2.0" - "@babel/plugin-transform-function-name" "^7.2.0" + "@babel/plugin-transform-for-of" "^7.4.4" + "@babel/plugin-transform-function-name" "^7.4.4" "@babel/plugin-transform-literals" "^7.2.0" + "@babel/plugin-transform-member-expression-literals" "^7.2.0" "@babel/plugin-transform-modules-amd" "^7.2.0" - "@babel/plugin-transform-modules-commonjs" "^7.2.0" - "@babel/plugin-transform-modules-systemjs" "^7.2.0" + "@babel/plugin-transform-modules-commonjs" "^7.4.4" + "@babel/plugin-transform-modules-systemjs" "^7.4.4" "@babel/plugin-transform-modules-umd" "^7.2.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.3.0" - "@babel/plugin-transform-new-target" "^7.0.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.5" + "@babel/plugin-transform-new-target" "^7.4.4" "@babel/plugin-transform-object-super" "^7.2.0" - "@babel/plugin-transform-parameters" "^7.2.0" - "@babel/plugin-transform-regenerator" "^7.0.0" + "@babel/plugin-transform-parameters" "^7.4.4" + "@babel/plugin-transform-property-literals" "^7.2.0" + "@babel/plugin-transform-regenerator" "^7.4.5" + "@babel/plugin-transform-reserved-words" "^7.2.0" "@babel/plugin-transform-shorthand-properties" "^7.2.0" "@babel/plugin-transform-spread" "^7.2.0" "@babel/plugin-transform-sticky-regex" "^7.2.0" - "@babel/plugin-transform-template-literals" "^7.2.0" + "@babel/plugin-transform-template-literals" "^7.4.4" "@babel/plugin-transform-typeof-symbol" "^7.2.0" - "@babel/plugin-transform-unicode-regex" "^7.2.0" - browserslist "^4.3.4" + "@babel/plugin-transform-unicode-regex" "^7.4.4" + "@babel/types" "^7.4.4" + browserslist "^4.6.0" + core-js-compat "^3.1.1" invariant "^2.2.2" js-levenshtein "^1.1.3" - semver "^5.3.0" + semver "^5.5.0" "@babel/preset-react@^7.0.0": version "7.0.0" @@ -745,13 +838,20 @@ "@babel/plugin-transform-react-jsx-self" "^7.0.0" "@babel/plugin-transform-react-jsx-source" "^7.0.0" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.2.0": +"@babel/runtime@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.2.0.tgz#b03e42eeddf5898e00646e4c840fa07ba8dcad7f" integrity sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg== dependencies: regenerator-runtime "^0.12.0" +"@babel/runtime@^7.3.4", "@babel/runtime@^7.4.3": + version "7.4.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.5.tgz#582bb531f5f9dc67d2fcb682979894f75e253f12" + integrity sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ== + dependencies: + regenerator-runtime "^0.13.2" + "@babel/template@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0.tgz#c2bc9870405959c89a9c814376a2ecb247838c80" @@ -779,6 +879,15 @@ "@babel/parser" "^7.2.2" "@babel/types" "^7.2.2" +"@babel/template@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" + integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.4.4" + "@babel/types" "^7.4.4" + "@babel/traverse@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0.tgz#b1fe9b6567fdf3ab542cfad6f3b31f854d799a61" @@ -824,20 +933,20 @@ globals "^11.1.0" lodash "^4.17.10" -"@babel/traverse@^7.2.3": - version "7.2.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.2.3.tgz#7ff50cefa9c7c0bd2d81231fdac122f3957748d8" - integrity sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw== +"@babel/traverse@^7.4.4", "@babel/traverse@^7.4.5": + version "7.4.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.4.5.tgz#4e92d1728fd2f1897dafdd321efbff92156c3216" + integrity sha512-Vc+qjynwkjRmIFGxy0KYoPj4FdVDxLej89kMHFsWScq999uX+pwcX4v9mWRjW0KcAYTPAuVQl2LKP1wEVLsp+A== dependencies: "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.2.2" + "@babel/generator" "^7.4.4" "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.0.0" - "@babel/parser" "^7.2.3" - "@babel/types" "^7.2.2" + "@babel/helper-split-export-declaration" "^7.4.4" + "@babel/parser" "^7.4.5" + "@babel/types" "^7.4.4" debug "^4.1.0" globals "^11.1.0" - lodash "^4.17.10" + lodash "^4.17.11" "@babel/types@^7.0.0", "@babel/types@^7.1.2", "@babel/types@^7.1.6", "@babel/types@^7.2.0": version "7.2.0" @@ -857,163 +966,442 @@ lodash "^4.17.10" to-fast-properties "^2.0.0" +"@babel/types@^7.3.0", "@babel/types@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.4.4.tgz#8db9e9a629bb7c29370009b4b779ed93fe57d5f0" + integrity sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ== + dependencies: + esutils "^2.0.2" + lodash "^4.17.11" + to-fast-properties "^2.0.0" + +"@cnakazawa/watch@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" + integrity sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA== + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + "@csstools/convert-colors@^1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== -"@webassemblyjs/ast@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.11.tgz#b988582cafbb2b095e8b556526f30c90d057cace" - integrity sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA== +"@hapi/address@2.x.x": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.0.0.tgz#9f05469c88cb2fd3dcd624776b54ee95c312126a" + integrity sha512-mV6T0IYqb0xL1UALPFplXYQmR0twnXG0M6jUswpquqT2sD12BOiCiLy3EvMp/Fy7s3DZElC4/aPjEjo2jeZpvw== + +"@hapi/hoek@6.x.x": + version "6.2.4" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-6.2.4.tgz#4b95fbaccbfba90185690890bdf1a2fbbda10595" + integrity sha512-HOJ20Kc93DkDVvjwHyHawPwPkX44sIrbXazAUDiUXaY2R9JwQGo2PhFfnQtdrsIe4igjG2fPgMra7NYw7qhy0A== + +"@hapi/joi@^15.0.0": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.0.3.tgz#e94568fd859e5e945126d5675e7dd218484638a7" + integrity sha512-z6CesJ2YBwgVCi+ci8SI8zixoj8bGFn/vZb9MBPbSyoxsS2PnWYjHcyTM17VLK6tx64YVK38SDIh10hJypB+ig== dependencies: - "@webassemblyjs/helper-module-context" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/wast-parser" "1.7.11" + "@hapi/address" "2.x.x" + "@hapi/hoek" "6.x.x" + "@hapi/topo" "3.x.x" -"@webassemblyjs/floating-point-hex-parser@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz#a69f0af6502eb9a3c045555b1a6129d3d3f2e313" - integrity sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg== - -"@webassemblyjs/helper-api-error@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz#c7b6bb8105f84039511a2b39ce494f193818a32a" - integrity sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg== - -"@webassemblyjs/helper-buffer@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz#3122d48dcc6c9456ed982debe16c8f37101df39b" - integrity sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w== - -"@webassemblyjs/helper-code-frame@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz#cf8f106e746662a0da29bdef635fcd3d1248364b" - integrity sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw== +"@hapi/topo@3.x.x": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.0.tgz#5c47cd9637c2953db185aa957a27bcb2a8b7a6f8" + integrity sha512-gZDI/eXOIk8kP2PkUKjWu9RW8GGVd2Hkgjxyr/S7Z+JF+0mr7bAlbw+DkTRxnD580o8Kqxlnba9wvqp5aOHBww== dependencies: - "@webassemblyjs/wast-printer" "1.7.11" + "@hapi/hoek" "6.x.x" -"@webassemblyjs/helper-fsm@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz#df38882a624080d03f7503f93e3f17ac5ac01181" - integrity sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A== - -"@webassemblyjs/helper-module-context@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz#d874d722e51e62ac202476935d649c802fa0e209" - integrity sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg== - -"@webassemblyjs/helper-wasm-bytecode@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz#dd9a1e817f1c2eb105b4cf1013093cb9f3c9cb06" - integrity sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ== - -"@webassemblyjs/helper-wasm-section@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz#9c9ac41ecf9fbcfffc96f6d2675e2de33811e68a" - integrity sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q== +"@jest/console@^24.7.1": + version "24.7.1" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.7.1.tgz#32a9e42535a97aedfe037e725bd67e954b459545" + integrity sha512-iNhtIy2M8bXlAOULWVTUxmnelTLFneTNEkHCgPmgd+zNwy9zVddJ6oS5rZ9iwoscNdT5mMwUd0C51v/fSlzItg== dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-buffer" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/wasm-gen" "1.7.11" + "@jest/source-map" "^24.3.0" + chalk "^2.0.1" + slash "^2.0.0" -"@webassemblyjs/ieee754@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz#c95839eb63757a31880aaec7b6512d4191ac640b" - integrity sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ== +"@jest/core@^24.8.0": + version "24.8.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.8.0.tgz#fbbdcd42a41d0d39cddbc9f520c8bab0c33eed5b" + integrity sha512-R9rhAJwCBQzaRnrRgAdVfnglUuATXdwTRsYqs6NMdVcAl5euG8LtWDe+fVkN27YfKVBW61IojVsXKaOmSnqd/A== + dependencies: + "@jest/console" "^24.7.1" + "@jest/reporters" "^24.8.0" + "@jest/test-result" "^24.8.0" + "@jest/transform" "^24.8.0" + "@jest/types" "^24.8.0" + ansi-escapes "^3.0.0" + chalk "^2.0.1" + exit "^0.1.2" + graceful-fs "^4.1.15" + jest-changed-files "^24.8.0" + jest-config "^24.8.0" + jest-haste-map "^24.8.0" + jest-message-util "^24.8.0" + jest-regex-util "^24.3.0" + jest-resolve-dependencies "^24.8.0" + jest-runner "^24.8.0" + jest-runtime "^24.8.0" + jest-snapshot "^24.8.0" + jest-util "^24.8.0" + jest-validate "^24.8.0" + jest-watcher "^24.8.0" + micromatch "^3.1.10" + p-each-series "^1.0.0" + pirates "^4.0.1" + realpath-native "^1.1.0" + rimraf "^2.5.4" + strip-ansi "^5.0.0" + +"@jest/environment@^24.8.0": + version "24.8.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.8.0.tgz#0342261383c776bdd652168f68065ef144af0eac" + integrity sha512-vlGt2HLg7qM+vtBrSkjDxk9K0YtRBi7HfRFaDxoRtyi+DyVChzhF20duvpdAnKVBV6W5tym8jm0U9EfXbDk1tw== + dependencies: + "@jest/fake-timers" "^24.8.0" + "@jest/transform" "^24.8.0" + "@jest/types" "^24.8.0" + jest-mock "^24.8.0" + +"@jest/fake-timers@^24.8.0": + version "24.8.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.8.0.tgz#2e5b80a4f78f284bcb4bd5714b8e10dd36a8d3d1" + integrity sha512-2M4d5MufVXwi6VzZhJ9f5S/wU4ud2ck0kxPof1Iz3zWx6Y+V2eJrES9jEktB6O3o/oEyk+il/uNu9PvASjWXQw== + dependencies: + "@jest/types" "^24.8.0" + jest-message-util "^24.8.0" + jest-mock "^24.8.0" + +"@jest/reporters@^24.8.0": + version "24.8.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.8.0.tgz#075169cd029bddec54b8f2c0fc489fd0b9e05729" + integrity sha512-eZ9TyUYpyIIXfYCrw0UHUWUvE35vx5I92HGMgS93Pv7du+GHIzl+/vh8Qj9MCWFK/4TqyttVBPakWMOfZRIfxw== + dependencies: + "@jest/environment" "^24.8.0" + "@jest/test-result" "^24.8.0" + "@jest/transform" "^24.8.0" + "@jest/types" "^24.8.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.2" + istanbul-lib-coverage "^2.0.2" + istanbul-lib-instrument "^3.0.1" + istanbul-lib-report "^2.0.4" + istanbul-lib-source-maps "^3.0.1" + istanbul-reports "^2.1.1" + jest-haste-map "^24.8.0" + jest-resolve "^24.8.0" + jest-runtime "^24.8.0" + jest-util "^24.8.0" + jest-worker "^24.6.0" + node-notifier "^5.2.1" + slash "^2.0.0" + source-map "^0.6.0" + string-length "^2.0.0" + +"@jest/source-map@^24.3.0": + version "24.3.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.3.0.tgz#563be3aa4d224caf65ff77edc95cd1ca4da67f28" + integrity sha512-zALZt1t2ou8le/crCeeiRYzvdnTzaIlpOWaet45lNSqNJUnXbppUUFR4ZUAlzgDmKee4Q5P/tKXypI1RiHwgag== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.1.15" + source-map "^0.6.0" + +"@jest/test-result@^24.8.0": + version "24.8.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.8.0.tgz#7675d0aaf9d2484caa65e048d9b467d160f8e9d3" + integrity sha512-+YdLlxwizlfqkFDh7Mc7ONPQAhA4YylU1s529vVM1rsf67vGZH/2GGm5uO8QzPeVyaVMobCQ7FTxl38QrKRlng== + dependencies: + "@jest/console" "^24.7.1" + "@jest/types" "^24.8.0" + "@types/istanbul-lib-coverage" "^2.0.0" + +"@jest/test-sequencer@^24.8.0": + version "24.8.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.8.0.tgz#2f993bcf6ef5eb4e65e8233a95a3320248cf994b" + integrity sha512-OzL/2yHyPdCHXEzhoBuq37CE99nkme15eHkAzXRVqthreWZamEMA0WoetwstsQBCXABhczpK03JNbc4L01vvLg== + dependencies: + "@jest/test-result" "^24.8.0" + jest-haste-map "^24.8.0" + jest-runner "^24.8.0" + jest-runtime "^24.8.0" + +"@jest/transform@^24.8.0": + version "24.8.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.8.0.tgz#628fb99dce4f9d254c6fd9341e3eea262e06fef5" + integrity sha512-xBMfFUP7TortCs0O+Xtez2W7Zu1PLH9bvJgtraN1CDST6LBM/eTOZ9SfwS/lvV8yOfcDpFmwf9bq5cYbXvqsvA== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^24.8.0" + babel-plugin-istanbul "^5.1.0" + chalk "^2.0.1" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.1.15" + jest-haste-map "^24.8.0" + jest-regex-util "^24.3.0" + jest-util "^24.8.0" + micromatch "^3.1.10" + realpath-native "^1.1.0" + slash "^2.0.0" + source-map "^0.6.1" + write-file-atomic "2.4.1" + +"@jest/types@^24.8.0": + version "24.8.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.8.0.tgz#f31e25948c58f0abd8c845ae26fcea1491dea7ad" + integrity sha512-g17UxVr2YfBtaMUxn9u/4+siG1ptg9IGYAYwvpwn61nBg779RXnjE/m7CxYcIzEt0AbHZZAHSEZNhkE2WxURVg== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^12.0.9" + +"@types/babel__core@^7.1.0": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.2.tgz#608c74f55928033fce18b99b213c16be4b3d114f" + integrity sha512-cfCCrFmiGY/yq0NuKNxIQvZFy9kY/1immpSpTngOnyIbD4+eJOG5mxphhHDv3CHL9GltO4GcKr54kGBg3RNdbg== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.0.2.tgz#d2112a6b21fad600d7674274293c85dce0cb47fc" + integrity sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" + integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.0.6" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.6.tgz#328dd1a8fc4cfe3c8458be9477b219ea158fd7b2" + integrity sha512-XYVgHF2sQ0YblLRMLNPB3CkFMewzFmlDsH/TneZFHUXDlABQgh88uOxuez7ZcXxayLFrqLwtDH1t+FmlFwNZxw== + dependencies: + "@babel/types" "^7.3.0" + +"@types/events@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" + integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== + +"@types/glob@^7.1.1": + version "7.1.1" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" + integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w== + dependencies: + "@types/events" "*" + "@types/minimatch" "*" + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" + integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg== + +"@types/istanbul-lib-report@*": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#e5471e7fa33c61358dd38426189c037a58433b8c" + integrity sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz#7a8cbf6a406f36c8add871625b278eaf0b0d255a" + integrity sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA== + dependencies: + "@types/istanbul-lib-coverage" "*" + "@types/istanbul-lib-report" "*" + +"@types/minimatch@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + +"@types/node@*": + version "12.0.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.7.tgz#4f2563bad652b2acb1722d7e7aae2b0ff62d192c" + integrity sha512-1YKeT4JitGgE4SOzyB9eMwO0nGVNkNEsm9qlIt1Lqm/tG2QEiSMTD4kS3aO6L+w5SClLVxALmIBESK6Mk5wX0A== + +"@types/stack-utils@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" + integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== + +"@types/yargs@^12.0.2", "@types/yargs@^12.0.9": + version "12.0.12" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.12.tgz#45dd1d0638e8c8f153e87d296907659296873916" + integrity sha512-SOhuU4wNBxhhTHxYaiG5NY4HBhDIDnJF60GU+2LqHAdKKer86//e4yg69aENCtQ04n0ovz+tq2YPME5t5yp4pw== + +"@webassemblyjs/ast@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" + integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ== + dependencies: + "@webassemblyjs/helper-module-context" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/wast-parser" "1.8.5" + +"@webassemblyjs/floating-point-hex-parser@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" + integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ== + +"@webassemblyjs/helper-api-error@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" + integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA== + +"@webassemblyjs/helper-buffer@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" + integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q== + +"@webassemblyjs/helper-code-frame@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" + integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ== + dependencies: + "@webassemblyjs/wast-printer" "1.8.5" + +"@webassemblyjs/helper-fsm@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" + integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow== + +"@webassemblyjs/helper-module-context@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" + integrity sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g== + dependencies: + "@webassemblyjs/ast" "1.8.5" + mamacro "^0.0.3" + +"@webassemblyjs/helper-wasm-bytecode@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" + integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ== + +"@webassemblyjs/helper-wasm-section@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" + integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + +"@webassemblyjs/ieee754@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" + integrity sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.7.11.tgz#d7267a1ee9c4594fd3f7e37298818ec65687db63" - integrity sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw== +"@webassemblyjs/leb128@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" + integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A== dependencies: - "@xtuc/long" "4.2.1" + "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.7.11.tgz#06d7218ea9fdc94a6793aa92208160db3d26ee82" - integrity sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA== +"@webassemblyjs/utf8@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" + integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw== -"@webassemblyjs/wasm-edit@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz#8c74ca474d4f951d01dbae9bd70814ee22a82005" - integrity sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg== +"@webassemblyjs/wasm-edit@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" + integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q== dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-buffer" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/helper-wasm-section" "1.7.11" - "@webassemblyjs/wasm-gen" "1.7.11" - "@webassemblyjs/wasm-opt" "1.7.11" - "@webassemblyjs/wasm-parser" "1.7.11" - "@webassemblyjs/wast-printer" "1.7.11" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/helper-wasm-section" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + "@webassemblyjs/wasm-opt" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + "@webassemblyjs/wast-printer" "1.8.5" -"@webassemblyjs/wasm-gen@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz#9bbba942f22375686a6fb759afcd7ac9c45da1a8" - integrity sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA== +"@webassemblyjs/wasm-gen@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" + integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg== dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/ieee754" "1.7.11" - "@webassemblyjs/leb128" "1.7.11" - "@webassemblyjs/utf8" "1.7.11" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/ieee754" "1.8.5" + "@webassemblyjs/leb128" "1.8.5" + "@webassemblyjs/utf8" "1.8.5" -"@webassemblyjs/wasm-opt@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz#b331e8e7cef8f8e2f007d42c3a36a0580a7d6ca7" - integrity sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg== +"@webassemblyjs/wasm-opt@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" + integrity sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q== dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-buffer" "1.7.11" - "@webassemblyjs/wasm-gen" "1.7.11" - "@webassemblyjs/wasm-parser" "1.7.11" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" -"@webassemblyjs/wasm-parser@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz#6e3d20fa6a3519f6b084ef9391ad58211efb0a1a" - integrity sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg== +"@webassemblyjs/wasm-parser@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" + integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw== dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-api-error" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/ieee754" "1.7.11" - "@webassemblyjs/leb128" "1.7.11" - "@webassemblyjs/utf8" "1.7.11" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-api-error" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/ieee754" "1.8.5" + "@webassemblyjs/leb128" "1.8.5" + "@webassemblyjs/utf8" "1.8.5" -"@webassemblyjs/wast-parser@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz#25bd117562ca8c002720ff8116ef9072d9ca869c" - integrity sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ== +"@webassemblyjs/wast-parser@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" + integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg== dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/floating-point-hex-parser" "1.7.11" - "@webassemblyjs/helper-api-error" "1.7.11" - "@webassemblyjs/helper-code-frame" "1.7.11" - "@webassemblyjs/helper-fsm" "1.7.11" - "@xtuc/long" "4.2.1" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/floating-point-hex-parser" "1.8.5" + "@webassemblyjs/helper-api-error" "1.8.5" + "@webassemblyjs/helper-code-frame" "1.8.5" + "@webassemblyjs/helper-fsm" "1.8.5" + "@xtuc/long" "4.2.2" -"@webassemblyjs/wast-printer@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz#c4245b6de242cb50a2cc950174fdbf65c78d7813" - integrity sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg== +"@webassemblyjs/wast-printer@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" + integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg== dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/wast-parser" "1.7.11" - "@xtuc/long" "4.2.1" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/wast-parser" "1.8.5" + "@xtuc/long" "4.2.2" "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== -"@xtuc/long@4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.1.tgz#5c85d662f76fa1d34575766c5dcd6615abcd30d8" - integrity sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g== +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== abab@^1.0.4: version "1.0.4" @@ -1025,13 +1413,13 @@ abbrev@1: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== -accepts@~1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" - integrity sha1-63d99gEXI6OxTopywIBcjoZ0a9I= +accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== dependencies: - mime-types "~2.1.18" - negotiator "0.6.1" + mime-types "~2.1.24" + negotiator "0.6.2" acorn-dynamic-import@^4.0.0: version "4.0.0" @@ -1060,16 +1448,16 @@ acorn@^5.3.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9" integrity sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ== -acorn@^6.0.2: - version "6.0.4" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.4.tgz#77377e7353b72ec5104550aa2d2097a2fd40b754" - integrity sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg== - acorn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.5.tgz#81730c0815f3f3b34d8efa95cb7430965f4d887a" integrity sha512-i33Zgp3XWtmZBMNvCr4azvOFeWVw1Rk6p3hfi3LUDvIFraOMywb1kAtrbi+med14m4Xfpqm3zRZMT+c0FNE7kg== +acorn@^6.0.7: + version "6.1.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f" + integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA== + ajv-errors@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" @@ -1100,10 +1488,10 @@ ajv@^6.1.0: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^6.5.3: - version "6.5.5" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.5.tgz#cf97cdade71c6399a92c6d6c4177381291b781a1" - integrity sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg== +ajv@^6.9.1: + version "6.10.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1" + integrity sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg== dependencies: fast-deep-equal "^2.0.1" fast-json-stable-stringify "^2.0.0" @@ -1132,6 +1520,11 @@ ansi-escapes@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" integrity sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw== +ansi-escapes@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + ansi-gray@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" @@ -1159,6 +1552,11 @@ ansi-regex@^4.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.0.0.tgz#70de791edf021404c3fd615aa89118ae0432e5a9" integrity sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w== +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -1191,13 +1589,6 @@ append-buffer@^1.0.2: dependencies: buffer-equal "^1.0.0" -append-transform@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab" - integrity sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw== - dependencies: - default-require-extensions "^2.0.0" - aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" @@ -1417,13 +1808,6 @@ async-settle@^1.0.0: dependencies: async-done "^1.2.2" -async@^2.5.0, async@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" - integrity sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ== - dependencies: - lodash "^4.17.10" - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -1434,23 +1818,24 @@ atob@^2.1.1: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -autolinker@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/autolinker/-/autolinker-3.0.0.tgz#84ac72d25978baafce6a28d47159d7bdba15fffb" - integrity sha512-1j6NACOyBV2QBwEdm7YEcdaTZRziHUBDPWZ+5RRApy9OeVs9cTxmVATnDXwFDN84/Hdb5P8+aM9Mfci0c6yjqw== +autolinker@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/autolinker/-/autolinker-3.1.0.tgz#b067a5038a429677a646b69f8d9eb389df197967" + integrity sha512-FLPmzHwLqTUZlTwXTGSM1wOcu5TrsZcOc6YPq/Kdpzp+CBNPjUzKfPvHnFx+xuPZEerY1hRY96ISAm4S1A6MTw== dependencies: tslib "^1.9.3" -autoprefixer@^9.4.2: - version "9.4.3" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.4.3.tgz#c97384a8fd80477b78049163a91bbc725d9c41d9" - integrity sha512-/XSnzDepRkAU//xLcXA/lUWxpsBuw0WiriAHOqnxkuCtzLhaz+fL4it4gp20BQ8n5SyLzK/FOc7A0+u/rti2FQ== +autoprefixer@^9.4.9: + version "9.6.0" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.0.tgz#0111c6bde2ad20c6f17995a33fad7cf6854b4c87" + integrity sha512-kuip9YilBqhirhHEGHaBTZKXL//xxGnzvsD0FtBQa6z+A69qZD6s/BAX9VzDF1i9VKDquTJDQaPLSEhOnL6FvQ== dependencies: - browserslist "^4.3.6" - caniuse-lite "^1.0.30000921" + browserslist "^4.6.1" + caniuse-lite "^1.0.30000971" + chalk "^2.4.2" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^7.0.6" + postcss "^7.0.16" postcss-value-parser "^3.3.1" aws-sign2@~0.7.0: @@ -1489,25 +1874,28 @@ babel-extract-comments@^1.0.0: dependencies: babylon "^6.18.0" -babel-jest@^24.1.0: - version "24.1.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.1.0.tgz#441e23ef75ded3bd547e300ac3194cef87b55190" - integrity sha512-MLcagnVrO9ybQGLEfZUqnOzv36iQzU7Bj4elm39vCukumLVSfoX+tRy3/jW7lUKc7XdpRmB/jech6L/UCsSZjw== +babel-jest@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.8.0.tgz#5c15ff2b28e20b0f45df43fe6b7f2aae93dba589" + integrity sha512-+5/kaZt4I9efoXzPlZASyK/lN9qdRKmmUav9smVc0ruPQD7IsfucQ87gpOE8mn2jbDuS6M/YOW6n3v9ZoIfgnw== dependencies: + "@jest/transform" "^24.8.0" + "@jest/types" "^24.8.0" + "@types/babel__core" "^7.1.0" babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.1.0" + babel-preset-jest "^24.6.0" chalk "^2.4.2" slash "^2.0.0" -babel-loader@^8.0.5: - version "8.0.5" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.5.tgz#225322d7509c2157655840bba52e46b6c2f2fe33" - integrity sha512-NTnHnVRd2JnRqPC0vW+iOQWU5pchDbYXsG2E6DMXEpMfUcQKclF9gmf3G3ZMhzG7IG9ji4coL0cm+FxeWxDpnw== +babel-loader@^8.0.6: + version "8.0.6" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.6.tgz#e33bdb6f362b03f4bb141a0c21ab87c501b70dfb" + integrity sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw== dependencies: find-cache-dir "^2.0.0" loader-utils "^1.0.2" mkdirp "^0.5.1" - util.promisify "^1.0.0" + pify "^4.0.1" babel-plugin-istanbul@^5.1.0: version "5.1.0" @@ -1518,10 +1906,12 @@ babel-plugin-istanbul@^5.1.0: istanbul-lib-instrument "^3.0.0" test-exclude "^5.0.0" -babel-plugin-jest-hoist@^24.1.0: - version "24.1.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.1.0.tgz#dfecc491fb15e2668abbd690a697a8fd1411a7f8" - integrity sha512-gljYrZz8w1b6fJzKcsfKsipSru2DU2DmQ39aB6nV3xQ0DDv3zpIzKGortA5gknrhNnPN8DweaEgrnZdmbGmhnw== +babel-plugin-jest-hoist@^24.6.0: + version "24.6.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.6.0.tgz#f7f7f7ad150ee96d7a5e8e2c5da8319579e78019" + integrity sha512-3pKNH6hMt9SbOv0F3WVmy5CWQ4uogS3k0GY5XLyQHJ9EGpAT9XWkFd2ZiXXtkwFHdAHa5j7w7kfxSP5lAIwu7w== + dependencies: + "@types/babel__traverse" "^7.0.6" babel-plugin-syntax-object-rest-spread@^6.8.0: version "6.13.0" @@ -1536,13 +1926,13 @@ babel-plugin-transform-object-rest-spread@^6.26.0: babel-plugin-syntax-object-rest-spread "^6.8.0" babel-runtime "^6.26.0" -babel-preset-jest@^24.1.0: - version "24.1.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.1.0.tgz#83bc564fdcd4903641af65ec63f2f5de6b04132e" - integrity sha512-FfNLDxFWsNX9lUmtwY7NheGlANnagvxq8LZdl5PKnVG3umP+S/g0XbVBfwtA4Ai3Ri/IMkWabBz3Tyk9wdspcw== +babel-preset-jest@^24.6.0: + version "24.6.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.6.0.tgz#66f06136eefce87797539c0d63f1769cc3915984" + integrity sha512-pdZqLEdmy1ZK5kyRUfvBb2IfTPb2BUvIJczlPspS8fWmBQslNNDBqVfh7BW5leOVJMDZKzjD8XEyABTk6gQ5yw== dependencies: "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.1.0" + babel-plugin-jest-hoist "^24.6.0" babel-runtime@^6.26.0: version "6.26.0" @@ -1642,21 +2032,21 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== -body-parser@1.18.3: - version "1.18.3" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4" - integrity sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ= +body-parser@1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== dependencies: - bytes "3.0.0" + bytes "3.1.0" content-type "~1.0.4" debug "2.6.9" depd "~1.1.2" - http-errors "~1.6.3" - iconv-lite "0.4.23" + http-errors "1.7.2" + iconv-lite "0.4.24" on-finished "~2.3.0" - qs "6.5.2" - raw-body "2.3.3" - type-is "~1.6.16" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" boolbase@^1.0.0, boolbase@~1.0.0: version "1.0.0" @@ -1793,23 +2183,14 @@ browserslist@^4.0.0: electron-to-chromium "^1.3.52" node-releases "^1.0.0-alpha.10" -browserslist@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.3.4.tgz#4477b737db6a1b07077275b24791e680d4300425" - integrity sha512-u5iz+ijIMUlmV8blX82VGFrB9ecnUg5qEt55CMZ/YJEhha+d8qpBfOFuutJ6F/VKRXjZoD33b6uvarpPxcl3RA== +browserslist@^4.4.2, browserslist@^4.6.0, browserslist@^4.6.1: + version "4.6.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.2.tgz#574c665950915c2ac73a4594b8537a9eba26203f" + integrity sha512-2neU/V0giQy9h3XMPwLhEY3+Ao0uHSwHvU8Q1Ea6AgLVL1sXbX3dzPrJ8NWe5Hi4PoTkCYXOtVR9rfRLI0J/8Q== dependencies: - caniuse-lite "^1.0.30000899" - electron-to-chromium "^1.3.82" - node-releases "^1.0.1" - -browserslist@^4.3.5, browserslist@^4.3.6: - version "4.3.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.3.6.tgz#0f9d9081afc66b36f477c6bdf3813f784f42396a" - integrity sha512-kMGKs4BTzRWviZ8yru18xBpx+CyHG9eqgRbj9XbE3IMgtczf4aiA0Y1YCpVdvUieKGZ03kolSPXqTcscBCb9qw== - dependencies: - caniuse-lite "^1.0.30000921" - electron-to-chromium "^1.3.92" - node-releases "^1.1.1" + caniuse-lite "^1.0.30000974" + electron-to-chromium "^1.3.150" + node-releases "^1.1.23" bser@^2.0.0: version "2.0.0" @@ -1857,7 +2238,12 @@ bytes@3.0.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= -cacache@^11.0.2: +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + +cacache@^11.0.2, cacache@^11.3.2: version "11.3.2" resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.2.tgz#2d81e308e3d258ca38125b676b98b2ac9ce69bfa" integrity sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg== @@ -1902,16 +2288,16 @@ camelcase@^3.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= -camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= - camelcase@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== +camelcase@^5.2.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + caniuse-api@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" @@ -1927,22 +2313,17 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000865: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000874.tgz#a641b1f1c420d58d9b132920ef6ba87bbdcd2223" integrity sha512-29nr1EPiHwrJTAHHsEmTt2h+55L8j2GNFdAcYPlRy2NX6iFz7ZZiepVI7kP/QqlnHLq3KvfWpbmGa0d063U09w== -caniuse-lite@^1.0.30000899: - version "1.0.30000916" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000916.tgz#3428d3f529f0a7b2bfaaec65e796037bdd433aab" - integrity sha512-D6J9jloPm2MPkg0PXcODLMQAJKkeixKO9xhqTUMvtd44MtTYMyyDXPQ2Lk9IgBq5FH0frwiPa/N/w8ncQf7kIQ== +caniuse-lite@^1.0.30000939, caniuse-lite@^1.0.30000971, caniuse-lite@^1.0.30000974: + version "1.0.30000974" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000974.tgz#b7afe14ee004e97ce6dc73e3f878290a12928ad8" + integrity sha512-xc3rkNS/Zc3CmpMKuczWEdY2sZgx09BkAxfvkxlAEBTqcMHeL8QnPqhKse+5sRTi3nrw2pJwToD2WvKn1Uhvww== -caniuse-lite@^1.0.30000918, caniuse-lite@^1.0.30000921: - version "1.0.30000921" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000921.tgz#7a607c1623444b22351d834e093aedda3c42fbe8" - integrity sha512-Bu09ciy0lMWLgpYC77I0YGuI8eFRBPPzaSOYJK1jTI64txCphYCqnWbxJYjHABYVt/TYX/p3jNjLBR87u1Bfpw== - -capture-exit@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f" - integrity sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28= +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== dependencies: - rsvp "^3.3.3" + rsvp "^4.8.4" caseless@~0.12.0: version "0.12.0" @@ -2047,11 +2428,6 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: inherits "^2.0.1" safe-buffer "^5.0.1" -circular-json@^0.3.1: - version "0.3.3" - resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" - integrity sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A== - class-utils@^0.3.5: version "0.3.6" resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" @@ -2074,16 +2450,6 @@ cli-cursor@^2.1.0: dependencies: restore-cursor "^2.0.0" -cli-table3@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" - integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw== - dependencies: - object-assign "^4.1.0" - string-width "^2.1.1" - optionalDependencies: - colors "^1.1.2" - cli-width@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" @@ -2220,11 +2586,6 @@ color@^3.0.0: color-convert "^1.9.1" color-string "^1.5.2" -colors@^1.1.2: - version "1.3.3" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.3.tgz#39e005d546afe01e01f9c4ca8fa50f686a01205d" - integrity sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg== - colors@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" @@ -2242,12 +2603,17 @@ commander@^2.11.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" integrity sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag== +commander@^2.19.0: + version "2.20.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" + integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== + commander@~2.17.1: version "2.17.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== -common-tags@^1.4.0: +common-tags@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== @@ -2257,11 +2623,6 @@ commondir@^1.0.1: resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= -compare-versions@^3.2.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.4.0.tgz#e0747df5c9cb7f054d6d3dc3e1dbc444f9e92b26" - integrity sha512-tK69D7oNXXqUW3ZNo/z7NXTEz22TCF0pTE+YF9cxvaAM9XnkLo1fV621xCLrRR6aevJlKxExkss0vWqUCUpqdg== - component-emitter@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" @@ -2304,10 +2665,12 @@ contains-path@^0.1.0: resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= -content-disposition@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" - integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + dependencies: + safe-buffer "5.1.2" content-type@~1.0.4: version "1.0.4" @@ -2331,10 +2694,10 @@ cookie-signature@1.0.6: resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= -cookie@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" - integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== copy-concurrently@^1.0.0: version "1.0.5" @@ -2361,6 +2724,20 @@ copy-props@^2.0.1: each-props "^1.3.0" is-plain-object "^2.0.1" +core-js-compat@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.1.3.tgz#0cc3ba4c7f62928c2837e1cffbe8dc78b4f1ae14" + integrity sha512-EP018pVhgwsKHz3YoN1hTq49aRe+h017Kjz0NQz3nXV0cCRMvH3fLQl+vEPGr4r4J5sk4sU3tUC7U1aqTCeJeA== + dependencies: + browserslist "^4.6.0" + core-js-pure "3.1.3" + semver "^6.1.0" + +core-js-pure@3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.1.3.tgz#4c90752d5b9471f641514f3728f51c1e0783d0b5" + integrity sha512-k3JWTrcQBKqjkjI0bkfXS0lbpWPxYuHWfMMjC1VDmzU4Q58IwSbuXSo99YO/hUHlw/EB4AlfA2PVxOGkrIq6dA== + core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" @@ -2434,15 +2811,6 @@ create-react-context@^0.2.2: fbjs "^0.8.0" gud "^1.0.0" -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -2506,18 +2874,19 @@ css-has-pseudo@^0.10.0: postcss "^7.0.6" postcss-selector-parser "^5.0.0-rc.4" -css-loader@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-2.1.0.tgz#42952ac22bca5d076978638e9813abce49b8f0cc" - integrity sha512-MoOu+CStsGrSt5K2OeZ89q3Snf+IkxRfAIt9aAKg4piioTrhtP1iEFPu+OVn3Ohz24FO6L+rw9UJxBILiSBw5Q== +css-loader@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-2.1.1.tgz#d8254f72e412bb2238bb44dd674ffbef497333ea" + integrity sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w== dependencies: - icss-utils "^4.0.0" - loader-utils "^1.2.1" - lodash "^4.17.11" - postcss "^7.0.6" + camelcase "^5.2.0" + icss-utils "^4.1.0" + loader-utils "^1.2.3" + normalize-path "^3.0.0" + postcss "^7.0.14" postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^2.0.3" - postcss-modules-scope "^2.0.0" + postcss-modules-local-by-default "^2.0.6" + postcss-modules-scope "^2.1.0" postcss-modules-values "^2.0.0" postcss-value-parser "^3.3.0" schema-utils "^1.0.0" @@ -2544,15 +2913,6 @@ css-select@~1.3.0-rc0: domutils "1.5.1" nth-check "^1.0.1" -css-selector-tokenizer@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" - integrity sha1-5piEdK6MlTR3v15+/s/OzNnPTIY= - dependencies: - cssesc "^0.1.0" - fastparse "^1.1.1" - regexpu-core "^1.0.0" - css-tree@1.0.0-alpha.29: version "1.0.0-alpha.29" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39" @@ -2589,50 +2949,50 @@ cssdb@^4.3.0: resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.3.0.tgz#2e1229900616f80c66ff2d568ea2b4f92db1c78c" integrity sha512-VHPES/+c9s+I0ryNj+PXvp84nz+ms843z/efpaEINwP/QfGsINL3gpLp5qjapzDNzNzbXxur8uxKxSXImrg4ag== -cssesc@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" - integrity sha1-yBSQPkViM3GgR3tAEJqq++6t27Q= - cssesc@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== -cssnano-preset-default@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.6.tgz#92379e2a6db4a91c0ea727f5f556eeac693eab6a" - integrity sha512-UPboYbFaJFtDUhJ4fqctThWbbyF4q01/7UhsZbLzp35l+nUxtzh1SifoVlEfyLM3n3Z0htd8B1YlCxy9i+bQvg== +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^4.0.7: + version "4.0.7" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" + integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA== dependencies: css-declaration-sorter "^4.0.1" cssnano-util-raw-cache "^4.0.1" postcss "^7.0.0" - postcss-calc "^7.0.0" - postcss-colormin "^4.0.2" + postcss-calc "^7.0.1" + postcss-colormin "^4.0.3" postcss-convert-values "^4.0.1" - postcss-discard-comments "^4.0.1" + postcss-discard-comments "^4.0.2" postcss-discard-duplicates "^4.0.2" postcss-discard-empty "^4.0.1" postcss-discard-overridden "^4.0.1" - postcss-merge-longhand "^4.0.10" - postcss-merge-rules "^4.0.2" + postcss-merge-longhand "^4.0.11" + postcss-merge-rules "^4.0.3" postcss-minify-font-values "^4.0.2" - postcss-minify-gradients "^4.0.1" - postcss-minify-params "^4.0.1" - postcss-minify-selectors "^4.0.1" + postcss-minify-gradients "^4.0.2" + postcss-minify-params "^4.0.2" + postcss-minify-selectors "^4.0.2" postcss-normalize-charset "^4.0.1" - postcss-normalize-display-values "^4.0.1" - postcss-normalize-positions "^4.0.1" - postcss-normalize-repeat-style "^4.0.1" - postcss-normalize-string "^4.0.1" - postcss-normalize-timing-functions "^4.0.1" + postcss-normalize-display-values "^4.0.2" + postcss-normalize-positions "^4.0.2" + postcss-normalize-repeat-style "^4.0.2" + postcss-normalize-string "^4.0.2" + postcss-normalize-timing-functions "^4.0.2" postcss-normalize-unicode "^4.0.1" postcss-normalize-url "^4.0.1" - postcss-normalize-whitespace "^4.0.1" - postcss-ordered-values "^4.1.1" - postcss-reduce-initial "^4.0.2" - postcss-reduce-transforms "^4.0.1" - postcss-svgo "^4.0.1" + postcss-normalize-whitespace "^4.0.2" + postcss-ordered-values "^4.1.2" + postcss-reduce-initial "^4.0.3" + postcss-reduce-transforms "^4.0.2" + postcss-svgo "^4.0.2" postcss-unique-selectors "^4.0.1" cssnano-util-get-arguments@^4.0.0: @@ -2657,13 +3017,13 @@ cssnano-util-same-parent@^4.0.0: resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.0.tgz#d2a3de1039aa98bc4ec25001fa050330c2a16dac" integrity sha1-0qPeEDmqmLxOwlAB+gUDMMKhbaw= -cssnano@^4.1.8: - version "4.1.8" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.8.tgz#8014989679d5fd42491e4499a521dbfb85c95fd1" - integrity sha512-5GIY0VzAHORpbKiL3rMXp4w4M1Ki+XlXgEXyuWXVd3h6hlASb+9Vo76dNP56/elLMVBBsUfusCo1q56uW0UWig== +cssnano@^4.1.10: + version "4.1.10" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" + integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== dependencies: cosmiconfig "^5.0.0" - cssnano-preset-default "^4.0.6" + cssnano-preset-default "^4.0.7" is-resolvable "^1.0.0" postcss "^7.0.0" @@ -2796,13 +3156,6 @@ default-compare@^1.0.0: dependencies: kind-of "^5.0.2" -default-require-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7" - integrity sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc= - dependencies: - strip-bom "^3.0.0" - default-resolution@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/default-resolution/-/default-resolution-2.0.0.tgz#bcb82baa72ad79b426a76732f1a81ad6df26d684" @@ -2837,17 +3190,18 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" -del@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" - integrity sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU= +del@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" + integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== dependencies: + "@types/glob" "^7.1.1" globby "^6.1.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - p-map "^1.1.1" - pify "^3.0.0" - rimraf "^2.2.8" + is-path-cwd "^2.0.0" + is-path-in-cwd "^2.0.0" + p-map "^2.0.0" + pify "^4.0.1" + rimraf "^2.6.3" delayed-stream@~1.0.0: version "1.0.0" @@ -2897,10 +3251,10 @@ detect-newline@^2.1.0: resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= -diff-sequences@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.0.0.tgz#cdf8e27ed20d8b8d3caccb4e0c0d8fe31a173013" - integrity sha512-46OkIuVGBBnrC0soO/4LHu5LHGHx0uhP65OVz8XOrAJpqiCB2aVIuESvjI1F9oqebuvY8lekS1pt6TN7vt7qsw== +diff-sequences@^24.3.0: + version "24.3.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.3.0.tgz#0f20e8a1df1abddaf4d9c226680952e64118b975" + integrity sha512-xLqpez+Zj9GKSnPWS0WZw1igGocZ+uua8+y+5dDNTT934N3QuY1sp2LkHzwiaYQGz60hMq0pjAshdeXm5VUOEw== diffie-hellman@^5.0.0: version "5.0.3" @@ -2926,6 +3280,13 @@ doctrine@^2.1.0: dependencies: esutils "^2.0.2" +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + dom-serializer@0: version "0.1.0" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" @@ -3013,21 +3374,16 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= +electron-to-chromium@^1.3.150: + version "1.3.152" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.152.tgz#8f1c08e101d58fe2ef72655481bbf8c83f9450fa" + integrity sha512-Ah10cGMWIXYD8aUTH2Y7lGRhaOFQLyWuxvXmCPCZCbUIGJ4swnNmT6P4aA8RTgUmNw9kmcDL6SoU8TZC4YuZGg== + electron-to-chromium@^1.3.52: version "1.3.57" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.57.tgz#61b2446f16af26fb8873210007a7637ad644c82d" integrity sha512-YYpZlr6mzR8cK5VRmTZydEt5Mp+WMg1/syrO40PoQzl76vJ+oQchL2d3FmEcWzw3FYqJVYJP/kYYSzTa7FLXwg== -electron-to-chromium@^1.3.82: - version "1.3.88" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.88.tgz#f36ab32634f49ef2b0fdc1e82e2d1cc17feb29e7" - integrity sha512-UPV4NuQMKeUh1S0OWRvwg0PI8ASHN9kBC8yDTk1ROXLC85W5GnhTRu/MZu3Teqx3JjlQYuckuHYXSUSgtb3J+A== - -electron-to-chromium@^1.3.92: - version "1.3.94" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.94.tgz#896dba14f6fefb431295b90543874925ee0cd46e" - integrity sha512-miQqXALb6eBD3OetCtg3UM5XTLMwHISux0l6mh14iiV5SE+qvftgOCXT9Vvp53fWaCLET4sfA/SmIMYHXkaNmw== - elliptic@^6.0.0: version "6.4.1" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz#c2d0b7776911b86722c632c3c06c60f2f819939a" @@ -3041,7 +3397,7 @@ elliptic@^6.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.0" -emoji-regex@^7.0.2: +emoji-regex@^7.0.1, emoji-regex@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== @@ -3226,10 +3582,10 @@ eslint-config-airbnb@^17.1.0: object.assign "^4.1.0" object.entries "^1.0.4" -eslint-config-prettier@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-4.0.0.tgz#16cedeea0a56e74de60dcbbe3be0ab2c645405b9" - integrity sha512-kWuiJxzV5NwOwZcpyozTzDT5KJhBw292bbYro9Is7BWnbNMg15Gmpluc1CTetiCatF8DRkNvgPAOaSyg+bYr3g== +eslint-config-prettier@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-4.3.0.tgz#c55c1fcac8ce4518aeb77906984e134d9eb5a4f0" + integrity sha512-sZwhSTHVVz78+kYD3t5pCWSYEdVSBR0PXnwjDRsUs8ytIrK8PLXw+6FKp8r3Z7rx4ZszdetWlXYKOHoUrrwPlA== dependencies: get-stdin "^6.0.0" @@ -3241,10 +3597,10 @@ eslint-import-resolver-node@^0.3.2: debug "^2.6.9" resolve "^1.5.0" -eslint-import-resolver-webpack@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.11.0.tgz#75d08ee06fc55eb24bd75147b7b4b6756886b12f" - integrity sha512-vX8rYSPdKtTLkK2FoU1ZRyEsl6wP1FB40ytjrEgMhzUkEkBLuZAkv1KNR+2Ml7lzMOObXI3yaEDiaQ/Yvoczhw== +eslint-import-resolver-webpack@^0.11.1: + version "0.11.1" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.11.1.tgz#fcf1fd57a775f51e18f442915f85dd6ba45d2f26" + integrity sha512-eK3zR7xVQR/MaoBWwGuD+CULYVuqe5QFlDukman71aI6IboCGzggDUohHNfu1ZeBnbHcUHJc0ywWoXUBNB6qdg== dependencies: array-find "^1.0.0" debug "^2.6.8" @@ -3254,7 +3610,7 @@ eslint-import-resolver-webpack@^0.11.0: interpret "^1.0.0" lodash "^4.17.4" node-libs-browser "^1.0.0 || ^2.0.0" - resolve "^1.4.0" + resolve "^1.10.0" semver "^5.3.0" eslint-loader@^2.1.2: @@ -3268,29 +3624,30 @@ eslint-loader@^2.1.2: object-hash "^1.1.4" rimraf "^2.6.1" -eslint-module-utils@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.3.0.tgz#546178dab5e046c8b562bbb50705e2456d7bda49" - integrity sha512-lmDJgeOOjk8hObTysjqH7wyMi+nsHwwvfBykwfhjR1LNdd7C2uFJBvx4OpWYpXOw4df1yE1cDEVd1yLHitk34w== +eslint-module-utils@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.0.tgz#8b93499e9b00eab80ccb6614e69f03678e84e09a" + integrity sha512-14tltLm38Eu3zS+mt0KvILC3q8jyIAH518MlG+HO0p+yK885Lb1UHTY/UgR91eOyGdmxAPb+OLoW4znqIT6Ndw== dependencies: debug "^2.6.8" pkg-dir "^2.0.0" -eslint-plugin-import@^2.16.0: - version "2.16.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.16.0.tgz#97ac3e75d0791c4fac0e15ef388510217be7f66f" - integrity sha512-z6oqWlf1x5GkHIFgrSvtmudnqM6Q60KM4KvpWi5ubonMjycLjndvd5+8VAZIsTlHC03djdgJuyKG6XO577px6A== +eslint-plugin-import@^2.17.3: + version "2.17.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.17.3.tgz#00548b4434c18faebaba04b24ae6198f280de189" + integrity sha512-qeVf/UwXFJbeyLbxuY8RgqDyEKCkqV7YC+E5S5uOjAp4tOc8zj01JP3ucoBM8JcEqd1qRasJSg6LLlisirfy0Q== dependencies: + array-includes "^3.0.3" contains-path "^0.1.0" debug "^2.6.9" doctrine "1.5.0" eslint-import-resolver-node "^0.3.2" - eslint-module-utils "^2.3.0" + eslint-module-utils "^2.4.0" has "^1.0.3" lodash "^4.17.11" minimatch "^3.0.4" read-pkg-up "^2.0.0" - resolve "^1.9.0" + resolve "^1.11.0" eslint-plugin-jsx-a11y@^6.2.1: version "6.2.1" @@ -3306,18 +3663,18 @@ eslint-plugin-jsx-a11y@^6.2.1: has "^1.0.3" jsx-ast-utils "^2.0.1" -eslint-plugin-react@^7.12.4: - version "7.12.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz#b1ecf26479d61aee650da612e425c53a99f48c8c" - integrity sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ== +eslint-plugin-react@^7.13.0: + version "7.13.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.13.0.tgz#bc13fd7101de67996ea51b33873cd9dc2b7e5758" + integrity sha512-uA5LrHylu8lW/eAH3bEQe9YdzpPaFd9yAJTwTi/i/BKTD7j6aQMKVAdGM/ML72zD6womuSK7EiGtMKuK06lWjQ== dependencies: array-includes "^3.0.3" doctrine "^2.1.0" has "^1.0.3" - jsx-ast-utils "^2.0.1" + jsx-ast-utils "^2.1.0" object.fromentries "^2.0.0" - prop-types "^15.6.2" - resolve "^1.9.0" + prop-types "^15.7.2" + resolve "^1.10.1" eslint-restricted-globals@^0.1.1: version "0.1.1" @@ -3340,6 +3697,14 @@ eslint-scope@^4.0.0: esrecurse "^4.1.0" estraverse "^4.1.1" +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + eslint-utils@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" @@ -3350,35 +3715,35 @@ eslint-visitor-keys@^1.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== -eslint@^5.13.0: - version "5.13.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.13.0.tgz#ce71cc529c450eed9504530939aa97527861ede9" - integrity sha512-nqD5WQMisciZC5EHZowejLKQjWGuFS5c70fxqSKlnDME+oz9zmE8KTlX+lHSg+/5wsC/kf9Q9eMkC8qS3oM2fg== +eslint@^5.16.0: + version "5.16.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea" + integrity sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg== dependencies: "@babel/code-frame" "^7.0.0" - ajv "^6.5.3" + ajv "^6.9.1" chalk "^2.1.0" cross-spawn "^6.0.5" debug "^4.0.1" - doctrine "^2.1.0" - eslint-scope "^4.0.0" + doctrine "^3.0.0" + eslint-scope "^4.0.3" eslint-utils "^1.3.1" eslint-visitor-keys "^1.0.0" - espree "^5.0.0" + espree "^5.0.1" esquery "^1.0.1" esutils "^2.0.2" - file-entry-cache "^2.0.0" + file-entry-cache "^5.0.1" functional-red-black-tree "^1.0.1" glob "^7.1.2" globals "^11.7.0" ignore "^4.0.6" import-fresh "^3.0.0" imurmurhash "^0.1.4" - inquirer "^6.1.0" - js-yaml "^3.12.0" + inquirer "^6.2.2" + js-yaml "^3.13.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.3.0" - lodash "^4.17.5" + lodash "^4.17.11" minimatch "^3.0.4" mkdirp "^0.5.1" natural-compare "^1.4.0" @@ -3389,15 +3754,15 @@ eslint@^5.13.0: semver "^5.5.1" strip-ansi "^4.0.0" strip-json-comments "^2.0.1" - table "^5.0.2" + table "^5.2.3" text-table "^0.2.0" -espree@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.0.tgz#fc7f984b62b36a0f543b13fb9cd7b9f4a7f5b65c" - integrity sha512-1MpUfwsdS9MMoN7ZXqAr9e9UKdVHDcvrJpyx7mm1WuQlx/ygErEQBzgi5Nh5qBHIoYweprhtMkTCb9GhcAIcsA== +espree@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a" + integrity sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A== dependencies: - acorn "^6.0.2" + acorn "^6.0.7" acorn-jsx "^5.0.0" eslint-visitor-keys "^1.0.0" @@ -3453,25 +3818,10 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: md5.js "^1.3.4" safe-buffer "^5.1.1" -exec-sh@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.1.tgz#163b98a6e89e6b65b47c2a28d215bc1f63989c38" - integrity sha512-aLt95pexaugVtQerpmE51+4QfWrNc304uez7jvj6fWnN8GeEHpttB8F36n8N7uVhUMbH/1enbxQ9HImZ4w/9qg== - dependencies: - merge "^1.1.3" - -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" +exec-sh@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b" + integrity sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg== execa@^1.0.0: version "1.0.0" @@ -3516,16 +3866,17 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" -expect@^24.1.0: - version "24.1.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-24.1.0.tgz#88e73301c4c785cde5f16da130ab407bdaf8c0f2" - integrity sha512-lVcAPhaYkQcIyMS+F8RVwzbm1jro20IG8OkvxQ6f1JfqhVZyyudCwYogQ7wnktlf14iF3ii7ArIUO/mqvrW9Gw== +expect@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-24.8.0.tgz#471f8ec256b7b6129ca2524b2a62f030df38718d" + integrity sha512-/zYvP8iMDrzaaxHVa724eJBCKqSHmO0FA7EDkBiRHxg6OipmMn1fN+C8T9L9K8yr7UONkOifu6+LLH+z76CnaA== dependencies: + "@jest/types" "^24.8.0" ansi-styles "^3.2.0" - jest-get-type "^24.0.0" - jest-matcher-utils "^24.0.0" - jest-message-util "^24.0.0" - jest-regex-util "^24.0.0" + jest-get-type "^24.8.0" + jest-matcher-utils "^24.8.0" + jest-message-util "^24.8.0" + jest-regex-util "^24.3.0" express-http-proxy@^1.5.1: version "1.5.1" @@ -3536,39 +3887,39 @@ express-http-proxy@^1.5.1: es6-promise "^4.1.1" raw-body "^2.3.0" -express@^4.16.4: - version "4.16.4" - resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e" - integrity sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg== +express@^4.17.1: + version "4.17.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== dependencies: - accepts "~1.3.5" + accepts "~1.3.7" array-flatten "1.1.1" - body-parser "1.18.3" - content-disposition "0.5.2" + body-parser "1.19.0" + content-disposition "0.5.3" content-type "~1.0.4" - cookie "0.3.1" + cookie "0.4.0" cookie-signature "1.0.6" debug "2.6.9" depd "~1.1.2" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "1.1.1" + finalhandler "~1.1.2" fresh "0.5.2" merge-descriptors "1.0.1" methods "~1.1.2" on-finished "~2.3.0" - parseurl "~1.3.2" + parseurl "~1.3.3" path-to-regexp "0.1.7" - proxy-addr "~2.0.4" - qs "6.5.2" - range-parser "~1.2.0" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" safe-buffer "5.1.2" - send "0.16.2" - serve-static "1.13.2" - setprototypeof "1.1.0" - statuses "~1.4.0" - type-is "~1.6.16" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" utils-merge "1.0.1" vary "~1.1.2" @@ -3592,7 +3943,7 @@ extend@^3.0.0, extend@~3.0.1: resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" integrity sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ= -external-editor@^3.0.0: +external-editor@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== @@ -3654,11 +4005,6 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.4: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= -fastparse@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" - integrity sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg= - fb-watchman@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" @@ -3691,21 +4037,12 @@ figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" -file-entry-cache@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" - integrity sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E= +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== dependencies: - flat-cache "^1.2.1" - object-assign "^4.0.1" - -fileset@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" - integrity sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA= - dependencies: - glob "^7.0.3" - minimatch "^3.0.3" + flat-cache "^2.0.1" fill-range@^4.0.0: version "4.0.0" @@ -3717,17 +4054,17 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" -finalhandler@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" - integrity sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg== +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== dependencies: debug "2.6.9" encodeurl "~1.0.2" escape-html "~1.0.3" on-finished "~2.3.0" - parseurl "~1.3.2" - statuses "~1.4.0" + parseurl "~1.3.3" + statuses "~1.5.0" unpipe "~1.0.0" find-cache-dir@^0.1.1: @@ -3785,6 +4122,16 @@ findup-sync@^2.0.0: micromatch "^3.0.4" resolve-dir "^1.0.1" +findup-sync@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" + integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== + dependencies: + detect-file "^1.0.0" + is-glob "^4.0.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + fined@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/fined/-/fined-1.1.0.tgz#b37dc844b76a2f5e7081e884f7c0ae344f153476" @@ -3801,15 +4148,19 @@ flagged-respawn@^1.0.0: resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.0.tgz#4e79ae9b2eb38bf86b3bb56bf3e0a56aa5fcabd7" integrity sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c= -flat-cache@^1.2.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.2.tgz#7f852d70be573dac874a4c4129d340a34fba7e65" - integrity sha512-KByBY8c98sLUAGpnmjEdWTrtrLZRtZdwds+kAL/ciFXTCb7AZgqKsAnVnYFQj1hxepwO8JKN/8AsRWwLq+RK0A== +flat-cache@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== dependencies: - circular-json "^0.3.1" - del "^3.0.0" - graceful-fs "^4.1.2" - write "^0.2.1" + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" + +flatted@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.0.tgz#55122b6536ea496b4b44893ee2608141d10d9916" + integrity sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg== flatten@^1.0.2: version "1.0.2" @@ -3855,14 +4206,14 @@ form-data@~2.3.1: combined-stream "1.0.6" mime-types "^2.1.12" -formik@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/formik/-/formik-1.4.3.tgz#a3bece72f545981f8fc825c21d5292d9aac524d2" - integrity sha512-rwwcCPhidgiACnh1RBY8vp+Zp9ompHxezuGeIqmOh9RvmNCB8GCupoCWdDkWB0DZ1MBoDl76swB2v/FbMxeEmw== +formik@^1.5.7: + version "1.5.7" + resolved "https://registry.yarnpkg.com/formik/-/formik-1.5.7.tgz#2fc5fc2f0c693cdc4e8c9dad3a10eb4c4e131ff5" + integrity sha512-kZo8lS4WzfC2uivnSkE9DOuX9x+jVjCtIZOlb1A4lHGeURyuLt6eDfwGJzNlcP0lXIwmpANKzegiB8j60B54TA== dependencies: create-react-context "^0.2.2" deepmerge "^2.1.1" - hoist-non-react-statics "^2.5.5" + hoist-non-react-statics "^3.3.0" lodash "^4.17.11" lodash-es "^4.17.11" prop-types "^15.6.1" @@ -3942,13 +4293,13 @@ fsevents@^1.1.2, fsevents@^1.2.2: nan "^2.9.2" node-pre-gyp "^0.10.0" -fsevents@^1.2.3: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.7.tgz#4851b664a3783e52003b3c66eb0eee1074933aa4" - integrity sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw== +fsevents@^1.2.7: + version "1.2.9" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" + integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== dependencies: - nan "^2.9.2" - node-pre-gyp "^0.10.0" + nan "^2.12.1" + node-pre-gyp "^0.12.0" function-bind@^1.1.0, function-bind@^1.1.1: version "1.1.1" @@ -3989,11 +4340,6 @@ get-stdin@^6.0.0: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= - get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -4037,13 +4383,15 @@ glob-stream@^6.1.0: to-absolute-glob "^2.0.0" unique-stream "^2.0.2" -glob-watcher@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.1.tgz#239aaa621b6bd843b288fdf6b155f50963c7d7ea" - integrity sha512-fK92r2COMC199WCyGUblrZKhjra3cyVMDiypDdqg1vsSDmexnbYivK1kNR4QItiNXLKmGlqan469ks67RtNa2g== +glob-watcher@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.3.tgz#88a8abf1c4d131eb93928994bc4a593c2e5dd626" + integrity sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg== dependencies: + anymatch "^2.0.0" async-done "^1.2.0" chokidar "^2.0.0" + is-negated-glob "^1.0.0" just-debounce "^1.0.0" object.defaults "^1.1.0" @@ -4142,10 +4490,10 @@ gud@^1.0.0: resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0" integrity sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw== -gulp-cli@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.0.1.tgz#7847e220cb3662f2be8a6d572bf14e17be5a994b" - integrity sha512-RxujJJdN8/O6IW2nPugl7YazhmrIEjmiVfPKrWt68r71UCaLKS71Hp0gpKT+F6qOUFtr7KqtifDKaAJPRVvMYQ== +gulp-cli@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.2.0.tgz#5533126eeb7fe415a7e3e84a297d334d5cf70ebc" + integrity sha512-rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA== dependencies: ansi-colors "^1.0.1" archy "^1.0.0" @@ -4157,7 +4505,7 @@ gulp-cli@^2.0.0: gulplog "^1.0.0" interpret "^1.1.0" isobject "^3.0.1" - liftoff "^2.5.0" + liftoff "^3.1.0" matchdep "^2.0.0" mute-stdout "^1.0.0" pretty-hrtime "^1.0.0" @@ -4190,14 +4538,14 @@ gulp-util@^3.0.8: through2 "^2.0.0" vinyl "^0.5.0" -gulp@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/gulp/-/gulp-4.0.0.tgz#95766c601dade4a77ed3e7b2b6dc03881b596366" - integrity sha1-lXZsYB2t5Kd+0+eyttwDiBtZY2Y= +gulp@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/gulp/-/gulp-4.0.2.tgz#543651070fd0f6ab0a0650c6a3e6ff5a7cb09caa" + integrity sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA== dependencies: - glob-watcher "^5.0.0" - gulp-cli "^2.0.0" - undertaker "^1.0.0" + glob-watcher "^5.0.3" + gulp-cli "^2.2.0" + undertaker "^1.2.1" vinyl-fs "^3.0.0" gulplog@^1.0.0: @@ -4207,12 +4555,12 @@ gulplog@^1.0.0: dependencies: glogg "^1.0.0" -handlebars@^4.0.11: - version "4.0.12" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.12.tgz#2c15c8a96d46da5e266700518ba8cb8d919d5bc5" - integrity sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA== +handlebars@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.2.tgz#b6b37c1ced0306b221e094fc7aca3ec23b131b67" + integrity sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw== dependencies: - async "^2.5.0" + neo-async "^2.6.0" optimist "^0.6.1" source-map "^0.6.1" optionalDependencies: @@ -4354,17 +4702,12 @@ hoek@4.x.x: resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" integrity sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA== -hoist-non-react-statics@^2.5.0, hoist-non-react-statics@^2.5.5: - version "2.5.5" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" - integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw== - -hoist-non-react-statics@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.2.1.tgz#c09c0555c84b38a7ede6912b61efddafd6e75e1e" - integrity sha512-TFsu3TV3YLY+zFTZDrN8L2DTFanObwmBLpWvJs1qfUuEQ5bTAdFcwfx2T/bsCXfM9QHSLvjfP+nihEl0yvozxw== +hoist-non-react-statics@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz#b09178f0122184fb95acf525daaecb4d8f45958b" + integrity sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA== dependencies: - react-is "^16.3.2" + react-is "^16.7.0" homedir-polyfill@^1.0.1: version "1.0.1" @@ -4420,15 +4763,16 @@ http-errors@1.6.2: setprototypeof "1.0.3" statuses ">= 1.3.1 < 2" -http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= +http-errors@1.7.2, http-errors@~1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== dependencies: depd "~1.1.2" inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" http-signature@~1.2.0: version "1.2.0" @@ -4449,14 +4793,7 @@ iconv-lite@0.4.19: resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" integrity sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ== -iconv-lite@0.4.23: - version "0.4.23" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" - integrity sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: +iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -4468,12 +4805,12 @@ icss-replace-symbols@^1.1.0: resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= -icss-utils@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.0.0.tgz#d52cf4bcdcfa1c45c2dbefb4ffdf6b00ef608098" - integrity sha512-bA/xGiwWM17qjllIs9X/y0EjsB7e0AV08F3OL8UPsoNkNRibIuu8f1eKTnQ8QO1DteKKTxTUAn+IEWUToIwGOA== +icss-utils@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" + integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== dependencies: - postcss "^7.0.5" + postcss "^7.0.14" ieee754@^1.1.4: version "1.1.12" @@ -4497,10 +4834,10 @@ ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -immer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/immer/-/immer-2.0.0.tgz#d834c874d2d249f73511af39f3ef1ed3b7411132" - integrity sha512-qwwvbGbidU0P5SjO4s1wZ9hjNj8fQ908UVtKDSAYgxuDiY1MFylCvsQJSr/fUUo3aeHdxZapdpzPi3vpwTUXUQ== +immer@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/immer/-/immer-3.1.3.tgz#59bc742b2aab6e2c676445edb653e588a23c70fc" + integrity sha512-HG5SXTXTTVy9lGNwS075cNhQoV375jHsIJO3UtMjuUWJOuwlMr0u42FlsKTJcppt5AzsFAsmj9r4kHvsSHh3hQ== import-cwd@^2.0.0: version "2.1.0" @@ -4570,23 +4907,23 @@ ini@^1.3.4, ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== -inquirer@^6.1.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.0.tgz#51adcd776f661369dc1e894859c2560a224abdd8" - integrity sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg== +inquirer@^6.2.2: + version "6.3.1" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.3.1.tgz#7a413b5e7950811013a3db491c61d1f3b776e8e7" + integrity sha512-MmL624rfkFt4TG9y/Jvmt8vdmOo836U7Y0Hxr2aFk3RelZEGX4Igk0KabWrcaaZaTv9uzglOqWh1Vly+FAWAXA== dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" + ansi-escapes "^3.2.0" + chalk "^2.4.2" cli-cursor "^2.1.0" cli-width "^2.0.0" - external-editor "^3.0.0" + external-editor "^3.0.3" figures "^2.0.0" - lodash "^4.17.10" + lodash "^4.17.11" mute-stream "0.0.7" run-async "^2.2.0" - rxjs "^6.1.0" + rxjs "^6.4.0" string-width "^2.1.0" - strip-ansi "^4.0.0" + strip-ansi "^5.1.0" through "^2.3.6" interpret@^1.0.0, interpret@^1.1.0: @@ -4611,10 +4948,10 @@ invert-kv@^2.0.0: resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== -ipaddr.js@1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" - integrity sha1-6qM9bd16zo9/b+DJygRA5wZzix4= +ipaddr.js@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65" + integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA== is-absolute-url@^2.0.0: version "2.1.0" @@ -4808,24 +5145,29 @@ is-obj@^1.0.0, is-obj@^1.0.1: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= +is-path-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.1.0.tgz#2e0c7e463ff5b7a0eb60852d851a6809347a124c" + integrity sha512-Sc5j3/YnM8tDeyCsVeKlm/0p95075DyLmDEIkSgQ7mXkrOX+uTCtmQFm0CYzVyJwcCCmO3k8qfJt17SxQwB5Zw== -is-path-in-cwd@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" - integrity sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ== +is-path-in-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" + integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== dependencies: - is-path-inside "^1.0.0" + is-path-inside "^2.1.0" -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= +is-path-inside@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" + integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== dependencies: - path-is-inside "^1.0.1" + path-is-inside "^1.0.2" + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" @@ -4907,6 +5249,11 @@ is-windows@^1.0.1, is-windows@^1.0.2: resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" @@ -4917,13 +5264,6 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= -isemail@3.x.x: - version "3.2.0" - resolved "https://registry.yarnpkg.com/isemail/-/isemail-3.2.0.tgz#59310a021931a9fb06bbb51e155ce0b3f236832c" - integrity sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg== - dependencies: - punycode "2.x.x" - isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -4954,25 +5294,6 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= -istanbul-api@^2.0.8: - version "2.1.0" - resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-2.1.0.tgz#37ab0c2c3e83065462f5254b94749d6157846c4e" - integrity sha512-+Ygg4t1StoiNlBGc6x0f8q/Bv26FbZqP/+jegzfNpU7Q8o+4ZRoJxJPhBkgE/UonpAjtxnE4zCZIyJX+MwLRMQ== - dependencies: - async "^2.6.1" - compare-versions "^3.2.1" - fileset "^2.0.3" - istanbul-lib-coverage "^2.0.3" - istanbul-lib-hook "^2.0.3" - istanbul-lib-instrument "^3.1.0" - istanbul-lib-report "^2.0.4" - istanbul-lib-source-maps "^3.0.2" - istanbul-reports "^2.1.0" - js-yaml "^3.12.0" - make-dir "^1.3.0" - minimatch "^3.0.4" - once "^1.4.0" - istanbul-lib-coverage@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#2aee0e073ad8c5f6a0b00e0dfbf52b4667472eda" @@ -4983,13 +5304,6 @@ istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.3: resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#0b891e5ad42312c2b9488554f603795f9a2211ba" integrity sha512-dKWuzRGCs4G+67VfW9pBFFz2Jpi4vSp/k7zBcJ888ofV5Mi1g5CUML5GvMvV6u9Cjybftu+E8Cgp+k0dI1E5lw== -istanbul-lib-hook@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.3.tgz#e0e581e461c611be5d0e5ef31c5f0109759916fb" - integrity sha512-CLmEqwEhuCYtGcpNVJjLV1DQyVnIqavMLFHV/DP+np/g3qvdxu3gsPqYoJMXm15sN84xOlckFB3VNvRbf5yEgA== - dependencies: - append-transform "^1.0.0" - istanbul-lib-instrument@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.0.0.tgz#b5f066b2a161f75788be17a9d556f40a0cf2afc9" @@ -5003,7 +5317,7 @@ istanbul-lib-instrument@^3.0.0: istanbul-lib-coverage "^2.0.1" semver "^5.5.0" -istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.1.0: +istanbul-lib-instrument@^3.0.1: version "3.1.0" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.1.0.tgz#a2b5484a7d445f1f311e93190813fa56dfb62971" integrity sha512-ooVllVGT38HIk8MxDj/OIHXSYvH+1tq/Vb38s8ixt9GoJadXska4WkGY+0wkmtYCZNYtaARniH/DixUGGLZ0uA== @@ -5025,7 +5339,7 @@ istanbul-lib-report@^2.0.4: make-dir "^1.3.0" supports-color "^6.0.0" -istanbul-lib-source-maps@^3.0.1, istanbul-lib-source-maps@^3.0.2: +istanbul-lib-source-maps@^3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.2.tgz#f1e817229a9146e8424a28e5d69ba220fda34156" integrity sha512-JX4v0CiKTGp9fZPmoxpu9YEkPbEqCqBbO3403VabKjH+NRXo72HafD5UgnjTEqHL2SAjaZK1XDuDOkn6I5QVfQ== @@ -5036,350 +5350,364 @@ istanbul-lib-source-maps@^3.0.1, istanbul-lib-source-maps@^3.0.2: rimraf "^2.6.2" source-map "^0.6.1" -istanbul-reports@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.1.0.tgz#87b8b55cd1901ba1748964c98ddd8900ce306d59" - integrity sha512-azQdSX+dtTtkQEfqq20ICxWi6eOHXyHIgMFw1VOOVi8iIPWeCWRgCyFh/CsBKIhcgskMI8ExXmU7rjXTRCIJ+A== +istanbul-reports@^2.1.1: + version "2.2.6" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af" + integrity sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA== dependencies: - handlebars "^4.0.11" + handlebars "^4.1.2" -jest-changed-files@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.0.0.tgz#c02c09a8cc9ca93f513166bc773741bd39898ff7" - integrity sha512-nnuU510R9U+UX0WNb5XFEcsrMqriSiRLeO9KWDFgPrpToaQm60prfQYpxsXigdClpvNot5bekDY440x9dNGnsQ== +jest-changed-files@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.8.0.tgz#7e7eb21cf687587a85e50f3d249d1327e15b157b" + integrity sha512-qgANC1Yrivsq+UrLXsvJefBKVoCsKB0Hv+mBb6NMjjZ90wwxCDmU3hsCXBya30cH+LnPYjwgcU65i6yJ5Nfuug== dependencies: + "@jest/types" "^24.8.0" execa "^1.0.0" throat "^4.0.0" -jest-cli@^24.1.0: - version "24.1.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.1.0.tgz#f7cc98995f36e7210cce3cbb12974cbf60940843" - integrity sha512-U/iyWPwOI0T1CIxVLtk/2uviOTJ/OiSWJSe8qt6X1VkbbgP+nrtLJlmT9lPBe4lK78VNFJtrJ7pttcNv/s7yCw== +jest-cli@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.8.0.tgz#b075ac914492ed114fa338ade7362a301693e989" + integrity sha512-+p6J00jSMPQ116ZLlHJJvdf8wbjNbZdeSX9ptfHX06/MSNaXmKihQzx5vQcw0q2G6JsdVkUIdWbOWtSnaYs3yA== dependencies: - ansi-escapes "^3.0.0" + "@jest/core" "^24.8.0" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" chalk "^2.0.1" exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.1.15" import-local "^2.0.0" is-ci "^2.0.0" - istanbul-api "^2.0.8" - istanbul-lib-coverage "^2.0.2" - istanbul-lib-instrument "^3.0.1" - istanbul-lib-source-maps "^3.0.1" - jest-changed-files "^24.0.0" - jest-config "^24.1.0" - jest-environment-jsdom "^24.0.0" - jest-get-type "^24.0.0" - jest-haste-map "^24.0.0" - jest-message-util "^24.0.0" - jest-regex-util "^24.0.0" - jest-resolve-dependencies "^24.1.0" - jest-runner "^24.1.0" - jest-runtime "^24.1.0" - jest-snapshot "^24.1.0" - jest-util "^24.0.0" - jest-validate "^24.0.0" - jest-watcher "^24.0.0" - jest-worker "^24.0.0" - micromatch "^3.1.10" - node-notifier "^5.2.1" - p-each-series "^1.0.0" - pirates "^4.0.0" + jest-config "^24.8.0" + jest-util "^24.8.0" + jest-validate "^24.8.0" prompts "^2.0.1" - realpath-native "^1.0.0" - rimraf "^2.5.4" - slash "^2.0.0" - string-length "^2.0.0" - strip-ansi "^5.0.0" - which "^1.2.12" + realpath-native "^1.1.0" yargs "^12.0.2" -jest-config@^24.1.0: - version "24.1.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.1.0.tgz#6ea6881cfdd299bc86cc144ee36d937c97c3850c" - integrity sha512-FbbRzRqtFC6eGjG5VwsbW4E5dW3zqJKLWYiZWhB0/4E5fgsMw8GODLbGSrY5t17kKOtCWb/Z7nsIThRoDpuVyg== +jest-config@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.8.0.tgz#77db3d265a6f726294687cbbccc36f8a76ee0f4f" + integrity sha512-Czl3Nn2uEzVGsOeaewGWoDPD8GStxCpAe0zOYs2x2l0fZAgPbCr3uwUkgNKV3LwE13VXythM946cd5rdGkkBZw== dependencies: "@babel/core" "^7.1.0" - babel-jest "^24.1.0" + "@jest/test-sequencer" "^24.8.0" + "@jest/types" "^24.8.0" + babel-jest "^24.8.0" chalk "^2.0.1" glob "^7.1.1" - jest-environment-jsdom "^24.0.0" - jest-environment-node "^24.0.0" - jest-get-type "^24.0.0" - jest-jasmine2 "^24.1.0" - jest-regex-util "^24.0.0" - jest-resolve "^24.1.0" - jest-util "^24.0.0" - jest-validate "^24.0.0" + jest-environment-jsdom "^24.8.0" + jest-environment-node "^24.8.0" + jest-get-type "^24.8.0" + jest-jasmine2 "^24.8.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.8.0" + jest-util "^24.8.0" + jest-validate "^24.8.0" micromatch "^3.1.10" - pretty-format "^24.0.0" - realpath-native "^1.0.2" + pretty-format "^24.8.0" + realpath-native "^1.1.0" -jest-diff@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.0.0.tgz#a3e5f573dbac482f7d9513ac9cfa21644d3d6b34" - integrity sha512-XY5wMpRaTsuMoU+1/B2zQSKQ9RdE9gsLkGydx3nvApeyPijLA8GtEvIcPwISRCer+VDf9W1mStTYYq6fPt8ryA== +jest-diff@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.8.0.tgz#146435e7d1e3ffdf293d53ff97e193f1d1546172" + integrity sha512-wxetCEl49zUpJ/bvUmIFjd/o52J+yWcoc5ZyPq4/W1LUKGEhRYDIbP1KcF6t+PvqNrGAFk4/JhtxDq/Nnzs66g== dependencies: chalk "^2.0.1" - diff-sequences "^24.0.0" - jest-get-type "^24.0.0" - pretty-format "^24.0.0" + diff-sequences "^24.3.0" + jest-get-type "^24.8.0" + pretty-format "^24.8.0" -jest-docblock@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.0.0.tgz#54d77a188743e37f62181a91a01eb9222289f94e" - integrity sha512-KfAKZ4SN7CFOZpWg4i7g7MSlY0M+mq7K0aMqENaG2vHuhC9fc3vkpU/iNN9sOus7v3h3Y48uEjqz3+Gdn2iptA== +jest-docblock@^24.3.0: + version "24.3.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.3.0.tgz#b9c32dac70f72e4464520d2ba4aec02ab14db5dd" + integrity sha512-nlANmF9Yq1dufhFlKG9rasfQlrY7wINJbo3q01tu56Jv5eBU5jirylhF2O5ZBnLxzOVBGRDz/9NAwNyBtG4Nyg== dependencies: detect-newline "^2.1.0" -jest-each@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.0.0.tgz#10987a06b21c7ffbfb7706c89d24c52ed864be55" - integrity sha512-gFcbY4Cu55yxExXMkjrnLXov3bWO3dbPAW7HXb31h/DNWdNc/6X8MtxGff8nh3/MjkF9DpVqnj0KsPKuPK0cpA== +jest-each@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.8.0.tgz#a05fd2bf94ddc0b1da66c6d13ec2457f35e52775" + integrity sha512-NrwK9gaL5+XgrgoCsd9svsoWdVkK4gnvyhcpzd6m487tXHqIdYeykgq3MKI1u4I+5Zf0tofr70at9dWJDeb+BA== dependencies: + "@jest/types" "^24.8.0" chalk "^2.0.1" - jest-get-type "^24.0.0" - jest-util "^24.0.0" - pretty-format "^24.0.0" + jest-get-type "^24.8.0" + jest-util "^24.8.0" + pretty-format "^24.8.0" -jest-environment-jsdom@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.0.0.tgz#5affa0654d6e44cd798003daa1a8701dbd6e4d11" - integrity sha512-1YNp7xtxajTRaxbylDc2pWvFnfDTH5BJJGyVzyGAKNt/lEULohwEV9zFqTgG4bXRcq7xzdd+sGFws+LxThXXOw== +jest-environment-jsdom@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.8.0.tgz#300f6949a146cabe1c9357ad9e9ecf9f43f38857" + integrity sha512-qbvgLmR7PpwjoFjM/sbuqHJt/NCkviuq9vus9NBn/76hhSidO+Z6Bn9tU8friecegbJL8gzZQEMZBQlFWDCwAQ== dependencies: - jest-mock "^24.0.0" - jest-util "^24.0.0" + "@jest/environment" "^24.8.0" + "@jest/fake-timers" "^24.8.0" + "@jest/types" "^24.8.0" + jest-mock "^24.8.0" + jest-util "^24.8.0" jsdom "^11.5.1" -jest-environment-node@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.0.0.tgz#330948980656ed8773ce2e04eb597ed91e3c7190" - integrity sha512-62fOFcaEdU0VLaq8JL90TqwI7hLn0cOKOl8vY2n477vRkCJRojiRRtJVRzzCcgFvs6gqU97DNqX5R0BrBP6Rxg== +jest-environment-node@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.8.0.tgz#d3f726ba8bc53087a60e7a84ca08883a4c892231" + integrity sha512-vIGUEScd1cdDgR6sqn2M08sJTRLQp6Dk/eIkCeO4PFHxZMOgy+uYLPMC4ix3PEfM5Au/x3uQ/5Tl0DpXXZsJ/Q== dependencies: - jest-mock "^24.0.0" - jest-util "^24.0.0" + "@jest/environment" "^24.8.0" + "@jest/fake-timers" "^24.8.0" + "@jest/types" "^24.8.0" + jest-mock "^24.8.0" + jest-util "^24.8.0" -jest-get-type@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.0.0.tgz#36e72930b78e33da59a4f63d44d332188278940b" - integrity sha512-z6/Eyf6s9ZDGz7eOvl+fzpuJmN9i0KyTt1no37/dHu8galssxz5ZEgnc1KaV8R31q1khxyhB4ui/X5ZjjPk77w== +jest-get-type@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.8.0.tgz#a7440de30b651f5a70ea3ed7ff073a32dfe646fc" + integrity sha512-RR4fo8jEmMD9zSz2nLbs2j0zvPpk/KCEz3a62jJWbd2ayNo0cb+KFRxPHVhE4ZmgGJEQp0fosmNz84IfqM8cMQ== -jest-haste-map@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.0.0.tgz#e9ef51b2c9257384b4d6beb83bd48c65b37b5e6e" - integrity sha512-CcViJyUo41IQqttLxXVdI41YErkzBKbE6cS6dRAploCeutePYfUimWd3C9rQEWhX0YBOQzvNsC0O9nYxK2nnxQ== +jest-haste-map@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.8.0.tgz#51794182d877b3ddfd6e6d23920e3fe72f305800" + integrity sha512-ZBPRGHdPt1rHajWelXdqygIDpJx8u3xOoLyUBWRW28r3tagrgoepPrzAozW7kW9HrQfhvmiv1tncsxqHJO1onQ== dependencies: + "@jest/types" "^24.8.0" + anymatch "^2.0.0" fb-watchman "^2.0.0" graceful-fs "^4.1.15" invariant "^2.2.4" - jest-serializer "^24.0.0" - jest-util "^24.0.0" - jest-worker "^24.0.0" + jest-serializer "^24.4.0" + jest-util "^24.8.0" + jest-worker "^24.6.0" micromatch "^3.1.10" - sane "^3.0.0" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^1.2.7" -jest-jasmine2@^24.1.0: - version "24.1.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.1.0.tgz#8377324b967037c440f0a549ee0bbd9912055db6" - integrity sha512-H+o76SdSNyCh9fM5K8upK45YTo/DiFx5w2YAzblQebSQmukDcoVBVeXynyr7DDnxh+0NTHYRCLwJVf3tC518wg== +jest-jasmine2@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.8.0.tgz#a9c7e14c83dd77d8b15e820549ce8987cc8cd898" + integrity sha512-cEky88npEE5LKd5jPpTdDCLvKkdyklnaRycBXL6GNmpxe41F0WN44+i7lpQKa/hcbXaQ+rc9RMaM4dsebrYong== dependencies: "@babel/traverse" "^7.1.0" + "@jest/environment" "^24.8.0" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" chalk "^2.0.1" co "^4.6.0" - expect "^24.1.0" + expect "^24.8.0" is-generator-fn "^2.0.0" - jest-each "^24.0.0" - jest-matcher-utils "^24.0.0" - jest-message-util "^24.0.0" - jest-snapshot "^24.1.0" - jest-util "^24.0.0" - pretty-format "^24.0.0" + jest-each "^24.8.0" + jest-matcher-utils "^24.8.0" + jest-message-util "^24.8.0" + jest-runtime "^24.8.0" + jest-snapshot "^24.8.0" + jest-util "^24.8.0" + pretty-format "^24.8.0" throat "^4.0.0" -jest-leak-detector@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.0.0.tgz#78280119fd05ee98317daee62cddb3aa537a31c6" - integrity sha512-ZYHJYFeibxfsDSKowjDP332pStuiFT2xfc5R67Rjm/l+HFJWJgNIOCOlQGeXLCtyUn3A23+VVDdiCcnB6dTTrg== +jest-leak-detector@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.8.0.tgz#c0086384e1f650c2d8348095df769f29b48e6980" + integrity sha512-cG0yRSK8A831LN8lIHxI3AblB40uhv0z+SsQdW3GoMMVcK+sJwrIIyax5tu3eHHNJ8Fu6IMDpnLda2jhn2pD/g== dependencies: - pretty-format "^24.0.0" + pretty-format "^24.8.0" -jest-matcher-utils@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.0.0.tgz#fc9c41cfc49b2c3ec14e576f53d519c37729d579" - integrity sha512-LQTDmO+aWRz1Tf9HJg+HlPHhDh1E1c65kVwRFo5mwCVp5aQDzlkz4+vCvXhOKFjitV2f0kMdHxnODrXVoi+rlA== +jest-matcher-utils@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.8.0.tgz#2bce42204c9af12bde46f83dc839efe8be832495" + integrity sha512-lex1yASY51FvUuHgm0GOVj7DCYEouWSlIYmCW7APSqB9v8mXmKSn5+sWVF0MhuASG0bnYY106/49JU1FZNl5hw== dependencies: chalk "^2.0.1" - jest-diff "^24.0.0" - jest-get-type "^24.0.0" - pretty-format "^24.0.0" + jest-diff "^24.8.0" + jest-get-type "^24.8.0" + pretty-format "^24.8.0" -jest-message-util@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.0.0.tgz#a07a141433b2c992dbaec68d4cbfe470ba289619" - integrity sha512-J9ROJIwz/IeC+eV1XSwnRK4oAwPuhmxEyYx1+K5UI+pIYwFZDSrfZaiWTdq0d2xYFw4Xiu+0KQWsdsQpgJMf3Q== +jest-message-util@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.8.0.tgz#0d6891e72a4beacc0292b638685df42e28d6218b" + integrity sha512-p2k71rf/b6ns8btdB0uVdljWo9h0ovpnEe05ZKWceQGfXYr4KkzgKo3PBi8wdnd9OtNh46VpNIJynUn/3MKm1g== dependencies: "@babel/code-frame" "^7.0.0" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" + "@types/stack-utils" "^1.0.1" chalk "^2.0.1" micromatch "^3.1.10" slash "^2.0.0" stack-utils "^1.0.1" -jest-mock@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.0.0.tgz#9a4b53e01d66a0e780f7d857462d063e024c617d" - integrity sha512-sQp0Hu5fcf5NZEh1U9eIW2qD0BwJZjb63Yqd98PQJFvf/zzUTBoUAwv/Dc/HFeNHIw1f3hl/48vNn+j3STaI7A== - -jest-regex-util@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.0.0.tgz#4feee8ec4a358f5bee0a654e94eb26163cb9089a" - integrity sha512-Jv/uOTCuC+PY7WpJl2mpoI+WbY2ut73qwwO9ByJJNwOCwr1qWhEW2Lyi2S9ZewUdJqeVpEBisdEVZSI+Zxo58Q== - -jest-resolve-dependencies@^24.1.0: - version "24.1.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.1.0.tgz#78f738a2ec59ff4d00751d9da56f176e3f589f6c" - integrity sha512-2VwPsjd3kRPu7qe2cpytAgowCObk5AKeizfXuuiwgm1a9sijJDZe8Kh1sFj6FKvSaNEfCPlBVkZEJa2482m/Uw== +jest-mock@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.8.0.tgz#2f9d14d37699e863f1febf4e4d5a33b7fdbbde56" + integrity sha512-6kWugwjGjJw+ZkK4mDa0Df3sDlUTsV47MSrT0nGQ0RBWJbpODDQ8MHDVtGtUYBne3IwZUhtB7elxHspU79WH3A== dependencies: - jest-regex-util "^24.0.0" - jest-snapshot "^24.1.0" + "@jest/types" "^24.8.0" -jest-resolve@^24.1.0: - version "24.1.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.1.0.tgz#42ff0169b0ea47bfdbd0c52a0067ca7d022c7688" - integrity sha512-TPiAIVp3TG6zAxH28u/6eogbwrvZjBMWroSLBDkwkHKrqxB/RIdwkWDye4uqPlZIXWIaHtifY3L0/eO5Z0f2wg== +jest-pnp-resolver@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" + integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== + +jest-regex-util@^24.3.0: + version "24.3.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.3.0.tgz#d5a65f60be1ae3e310d5214a0307581995227b36" + integrity sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg== + +jest-resolve-dependencies@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.8.0.tgz#19eec3241f2045d3f990dba331d0d7526acff8e0" + integrity sha512-hyK1qfIf/krV+fSNyhyJeq3elVMhK9Eijlwy+j5jqmZ9QsxwKBiP6qukQxaHtK8k6zql/KYWwCTQ+fDGTIJauw== dependencies: + "@jest/types" "^24.8.0" + jest-regex-util "^24.3.0" + jest-snapshot "^24.8.0" + +jest-resolve@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.8.0.tgz#84b8e5408c1f6a11539793e2b5feb1b6e722439f" + integrity sha512-+hjSzi1PoRvnuOICoYd5V/KpIQmkAsfjFO71458hQ2Whi/yf1GDeBOFj8Gxw4LrApHsVJvn5fmjcPdmoUHaVKw== + dependencies: + "@jest/types" "^24.8.0" browser-resolve "^1.11.3" chalk "^2.0.1" - realpath-native "^1.0.0" + jest-pnp-resolver "^1.2.1" + realpath-native "^1.1.0" -jest-runner@^24.1.0: - version "24.1.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.1.0.tgz#3686a2bb89ce62800da23d7fdc3da2c32792943b" - integrity sha512-CDGOkT3AIFl16BLL/OdbtYgYvbAprwJ+ExKuLZmGSCSldwsuU2dEGauqkpvd9nphVdAnJUcP12e/EIlnTX0QXg== +jest-runner@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.8.0.tgz#4f9ae07b767db27b740d7deffad0cf67ccb4c5bb" + integrity sha512-utFqC5BaA3JmznbissSs95X1ZF+d+4WuOWwpM9+Ak356YtMhHE/GXUondZdcyAAOTBEsRGAgH/0TwLzfI9h7ow== dependencies: + "@jest/console" "^24.7.1" + "@jest/environment" "^24.8.0" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" chalk "^2.4.2" exit "^0.1.2" graceful-fs "^4.1.15" - jest-config "^24.1.0" - jest-docblock "^24.0.0" - jest-haste-map "^24.0.0" - jest-jasmine2 "^24.1.0" - jest-leak-detector "^24.0.0" - jest-message-util "^24.0.0" - jest-runtime "^24.1.0" - jest-util "^24.0.0" - jest-worker "^24.0.0" + jest-config "^24.8.0" + jest-docblock "^24.3.0" + jest-haste-map "^24.8.0" + jest-jasmine2 "^24.8.0" + jest-leak-detector "^24.8.0" + jest-message-util "^24.8.0" + jest-resolve "^24.8.0" + jest-runtime "^24.8.0" + jest-util "^24.8.0" + jest-worker "^24.6.0" source-map-support "^0.5.6" throat "^4.0.0" -jest-runtime@^24.1.0: - version "24.1.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.1.0.tgz#7c157a2e776609e8cf552f956a5a19ec9c985214" - integrity sha512-59/BY6OCuTXxGeDhEMU7+N33dpMQyXq7MLK07cNSIY/QYt2QZgJ7Tjx+rykBI0skAoigFl0A5tmT8UdwX92YuQ== +jest-runtime@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.8.0.tgz#05f94d5b05c21f6dc54e427cd2e4980923350620" + integrity sha512-Mq0aIXhvO/3bX44ccT+czU1/57IgOMyy80oM0XR/nyD5zgBcesF84BPabZi39pJVA6UXw+fY2Q1N+4BiVUBWOA== dependencies: - "@babel/core" "^7.1.0" - babel-plugin-istanbul "^5.1.0" + "@jest/console" "^24.7.1" + "@jest/environment" "^24.8.0" + "@jest/source-map" "^24.3.0" + "@jest/transform" "^24.8.0" + "@jest/types" "^24.8.0" + "@types/yargs" "^12.0.2" chalk "^2.0.1" - convert-source-map "^1.4.0" exit "^0.1.2" - fast-json-stable-stringify "^2.0.0" glob "^7.1.3" graceful-fs "^4.1.15" - jest-config "^24.1.0" - jest-haste-map "^24.0.0" - jest-message-util "^24.0.0" - jest-regex-util "^24.0.0" - jest-resolve "^24.1.0" - jest-snapshot "^24.1.0" - jest-util "^24.0.0" - jest-validate "^24.0.0" - micromatch "^3.1.10" - realpath-native "^1.0.0" + jest-config "^24.8.0" + jest-haste-map "^24.8.0" + jest-message-util "^24.8.0" + jest-mock "^24.8.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.8.0" + jest-snapshot "^24.8.0" + jest-util "^24.8.0" + jest-validate "^24.8.0" + realpath-native "^1.1.0" slash "^2.0.0" strip-bom "^3.0.0" - write-file-atomic "2.4.1" yargs "^12.0.2" -jest-serializer@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.0.0.tgz#522c44a332cdd194d8c0531eb06a1ee5afb4256b" - integrity sha512-9FKxQyrFgHtx3ozU+1a8v938ILBE7S8Ko3uiAVjT8Yfi2o91j/fj81jacCQZ/Ihjiff/VsUCXVgQ+iF1XdImOw== +jest-serializer@^24.4.0: + version "24.4.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.4.0.tgz#f70c5918c8ea9235ccb1276d232e459080588db3" + integrity sha512-k//0DtglVstc1fv+GY/VHDIjrtNjdYvYjMlbLUed4kxrE92sIUewOi5Hj3vrpB8CXfkJntRPDRjCrCvUhBdL8Q== -jest-snapshot@^24.1.0: - version "24.1.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.1.0.tgz#85e22f810357aa5994ab61f236617dc2205f2f5b" - integrity sha512-th6TDfFqEmXvuViacU1ikD7xFb7lQsPn2rJl7OEmnfIVpnrx3QNY2t3PE88meeg0u/mQ0nkyvmC05PBqO4USFA== +jest-snapshot@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.8.0.tgz#3bec6a59da2ff7bc7d097a853fb67f9d415cb7c6" + integrity sha512-5ehtWoc8oU9/cAPe6fez6QofVJLBKyqkY2+TlKTOf0VllBB/mqUNdARdcjlZrs9F1Cv+/HKoCS/BknT0+tmfPg== dependencies: "@babel/types" "^7.0.0" + "@jest/types" "^24.8.0" chalk "^2.0.1" - jest-diff "^24.0.0" - jest-matcher-utils "^24.0.0" - jest-message-util "^24.0.0" - jest-resolve "^24.1.0" + expect "^24.8.0" + jest-diff "^24.8.0" + jest-matcher-utils "^24.8.0" + jest-message-util "^24.8.0" + jest-resolve "^24.8.0" mkdirp "^0.5.1" natural-compare "^1.4.0" - pretty-format "^24.0.0" + pretty-format "^24.8.0" semver "^5.5.0" -jest-util@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.0.0.tgz#fd38fcafd6dedbd0af2944d7a227c0d91b68f7d6" - integrity sha512-QxsALc4wguYS7cfjdQSOr5HTkmjzkHgmZvIDkcmPfl1ib8PNV8QUWLwbKefCudWS0PRKioV+VbQ0oCUPC691fQ== +jest-util@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.8.0.tgz#41f0e945da11df44cc76d64ffb915d0716f46cd1" + integrity sha512-DYZeE+XyAnbNt0BG1OQqKy/4GVLPtzwGx5tsnDrFcax36rVE3lTA5fbvgmbVPUZf9w77AJ8otqR4VBbfFJkUZA== dependencies: + "@jest/console" "^24.7.1" + "@jest/fake-timers" "^24.8.0" + "@jest/source-map" "^24.3.0" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" callsites "^3.0.0" chalk "^2.0.1" graceful-fs "^4.1.15" is-ci "^2.0.0" - jest-message-util "^24.0.0" mkdirp "^0.5.1" slash "^2.0.0" source-map "^0.6.0" -jest-validate@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.0.0.tgz#aa8571a46983a6538328fef20406b4a496b6c020" - integrity sha512-vMrKrTOP4BBFIeOWsjpsDgVXATxCspC9S1gqvbJ3Tnn/b9ACsJmteYeVx9830UMV28Cob1RX55x96Qq3Tfad4g== +jest-validate@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.8.0.tgz#624c41533e6dfe356ffadc6e2423a35c2d3b4849" + integrity sha512-+/N7VOEMW1Vzsrk3UWBDYTExTPwf68tavEPKDnJzrC6UlHtUDU/fuEdXqFoHzv9XnQ+zW6X3qMZhJ3YexfeLDA== dependencies: + "@jest/types" "^24.8.0" camelcase "^5.0.0" chalk "^2.0.1" - jest-get-type "^24.0.0" + jest-get-type "^24.8.0" leven "^2.1.0" - pretty-format "^24.0.0" + pretty-format "^24.8.0" -jest-watcher@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.0.0.tgz#20d44244d10b0b7312410aefd256c1c1eef68890" - integrity sha512-GxkW2QrZ4YxmW1GUWER05McjVDunBlKMFfExu+VsGmXJmpej1saTEKvONdx5RJBlVdpPI5x6E3+EDQSIGgl53g== +jest-watcher@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.8.0.tgz#58d49915ceddd2de85e238f6213cef1c93715de4" + integrity sha512-SBjwHt5NedQoVu54M5GEx7cl7IGEFFznvd/HNT8ier7cCAx/Qgu9ZMlaTQkvK22G1YOpcWBLQPFSImmxdn3DAw== dependencies: + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" + "@types/yargs" "^12.0.9" ansi-escapes "^3.0.0" chalk "^2.0.1" - jest-util "^24.0.0" + jest-util "^24.8.0" string-length "^2.0.0" -jest-worker@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.0.0.tgz#3d3483b077bf04f412f47654a27bba7e947f8b6d" - integrity sha512-s64/OThpfQvoCeHG963MiEZOAAxu8kHsaL/rCMF7lpdzo7vgF0CtPml9hfguOMgykgH/eOm4jFP4ibfHLruytg== +jest-worker@^24.6.0: + version "24.6.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.6.0.tgz#7f81ceae34b7cde0c9827a6980c35b7cdc0161b3" + integrity sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ== dependencies: merge-stream "^1.0.1" supports-color "^6.1.0" -jest@^24.1.0: - version "24.1.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-24.1.0.tgz#b1e1135caefcf2397950ecf7f90e395fde866fd2" - integrity sha512-+q91L65kypqklvlRFfXfdzUKyngQLOcwGhXQaLmVHv+d09LkNXuBuGxlofTFW42XMzu3giIcChchTsCNUjQ78A== +jest@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-24.8.0.tgz#d5dff1984d0d1002196e9b7f12f75af1b2809081" + integrity sha512-o0HM90RKFRNWmAWvlyV8i5jGZ97pFwkeVoGvPW1EtLTgJc2+jcuqcbbqcSZLE/3f2S5pt0y2ZBETuhpWNl1Reg== dependencies: import-local "^2.0.0" - jest-cli "^24.1.0" - -joi@^11.1.1: - version "11.4.0" - resolved "https://registry.yarnpkg.com/joi/-/joi-11.4.0.tgz#f674897537b625e9ac3d0b7e1604c828ad913ccb" - integrity sha512-O7Uw+w/zEWgbL6OcHbyACKSj0PkQeUgmehdoXVSxt92QFCq4+1390Rwh5moI2K/OgC7D8RHRZqHZxT2husMJHA== - dependencies: - hoek "4.x.x" - isemail "3.x.x" - topo "2.x.x" + jest-cli "^24.8.0" js-cookie@^2.1.4: version "2.2.0" @@ -5401,7 +5729,15 @@ js-tokens@^3.0.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.12.0, js-yaml@^3.9.0: +js-yaml@^3.13.0: + version "3.13.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^3.9.0: version "3.12.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A== @@ -5549,6 +5885,13 @@ jsx-ast-utils@^2.0.1: dependencies: array-includes "^3.0.3" +jsx-ast-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.1.0.tgz#0ee4e2c971fb9601c67b5641b71be80faecf0b36" + integrity sha512-yDGDG2DS4JcqhA6blsuYbtsT09xL8AoLuUR2Gb5exrw7UEM19sBcOTq+YBBhrNbl0PUC4R4LnFu+dHg2HKeVvA== + dependencies: + array-includes "^3.0.3" + just-debounce@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/just-debounce/-/just-debounce-1.0.0.tgz#87fccfaeffc0b68cd19d55f6722943f929ea35ea" @@ -5637,13 +5980,13 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -liftoff@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.5.0.tgz#2009291bb31cea861bbf10a7c15a28caf75c31ec" - integrity sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew= +liftoff@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-3.1.0.tgz#c9ba6081f908670607ee79062d700df062c52ed3" + integrity sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog== dependencies: extend "^3.0.0" - findup-sync "^2.0.0" + findup-sync "^3.0.0" fined "^1.0.1" flagged-respawn "^1.0.0" is-plain-object "^2.0.4" @@ -5704,7 +6047,7 @@ loader-utils@^1.0.2: emojis-list "^2.0.0" json5 "^0.5.0" -loader-utils@^1.1.0, loader-utils@^1.2.1: +loader-utils@^1.1.0, loader-utils@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== @@ -5815,11 +6158,6 @@ lodash.memoize@^4.1.2: resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= -lodash.merge@^4.6.1: - version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.1.tgz#adc25d9cb99b9391c59624f379fbba60d7111d54" - integrity sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ== - lodash.restparam@^3.0.0: version "3.6.1" resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" @@ -5878,7 +6216,7 @@ lodash@^4.13.1, lodash@^4.17.4: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" integrity sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw== -lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.5: +lodash@^4.17.10, lodash@^4.17.11: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== @@ -5897,14 +6235,6 @@ loose-envify@^1.2.0: dependencies: js-tokens "^3.0.0" -lru-cache@^4.0.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.2.tgz#45234b2e6e2f2b33da125624c4664929a0224c3f" - integrity sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" @@ -5933,6 +6263,11 @@ makeerror@1.0.x: dependencies: tmpl "1.0.x" +mamacro@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" + integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA== + map-age-cleaner@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" @@ -5981,13 +6316,6 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -mem@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" - integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= - dependencies: - mimic-fn "^1.0.0" - mem@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/mem/-/mem-4.0.0.tgz#6437690d9471678f6cc83659c00cbafcd6b0cdaf" @@ -5997,17 +6325,17 @@ mem@^4.0.0: mimic-fn "^1.0.0" p-is-promise "^1.1.0" -memoize-one@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-3.1.1.tgz#ef609811e3bc28970eac2884eece64d167830d17" - integrity sha512-YqVh744GsMlZu6xkhGslPSqSurOv6P+kLN2J3ysBZfagLcL5FdRK/0UpgLoL8hwjjEvvAVkjJZyFP+1T6p1vgA== +"memoize-one@>=3.1.1 <6": + version "5.0.4" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.0.4.tgz#005928aced5c43d890a4dfab18ca908b0ec92cbc" + integrity sha512-P0z5IeAH6qHHGkJIXWw0xC2HNEgkx/9uWWBQw64FJj3/ol14VYdfVGWWr0fXfjhhv3TKVIqUq65os6O4GUNksA== memory-fs@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290" integrity sha1-8rslNovBIeORwlIN6Slpyu4KApA= -memory-fs@^0.4.0, memory-fs@~0.4.1: +memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= @@ -6027,11 +6355,6 @@ merge-stream@^1.0.1: dependencies: readable-stream "^2.0.1" -merge@^1.1.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" - integrity sha1-dTHjnUlJwoGma4xabgJl6LBYlNo= - methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" @@ -6064,27 +6387,39 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" +mime-db@1.40.0: + version "1.40.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" + integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== + mime-db@~1.33.0: version "1.33.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18: +mime-types@^2.1.12, mime-types@~2.1.17: version "2.1.18" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== dependencies: mime-db "~1.33.0" -mime@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" - integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== +mime-types@~2.1.24: + version "2.1.24" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" + integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== + dependencies: + mime-db "1.40.0" -mime@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.3.1.tgz#b1621c54d63b97c47d3cfe7f7215f7d64517c369" - integrity sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg== +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@^2.4.2: + version "2.4.4" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" + integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== mimic-fn@^1.0.0: version "1.2.0" @@ -6098,12 +6433,13 @@ min-document@^2.19.0: dependencies: dom-walk "^0.1.0" -mini-css-extract-plugin@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.5.0.tgz#ac0059b02b9692515a637115b0cc9fed3a35c7b0" - integrity sha512-IuaLjruM0vMKhUUT51fQdQzBYTX49dLj8w68ALEAe2A4iYNpIC4eMac67mt3NzycvjOlf07/kYxJDc0RTl1Wqw== +mini-css-extract-plugin@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.7.0.tgz#5ba8290fbb4179a43dd27cca444ba150bee743a0" + integrity sha512-RQIw6+7utTYn8DBGsf/LpRgZCJMpZt+kuawJ/fju0KiOL6nAaTBNmCJwS7HtwSCXfS47gCkmtBFS7HdsquhdxQ== dependencies: loader-utils "^1.1.0" + normalize-url "1.9.1" schema-utils "^1.0.0" webpack-sources "^1.1.0" @@ -6117,7 +6453,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -minimatch@^3.0.3, minimatch@^3.0.4: +minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -6202,7 +6538,7 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@^2.1.1: +ms@2.1.1, ms@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== @@ -6224,6 +6560,11 @@ mute-stream@0.0.7: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= +nan@^2.12.1: + version "2.14.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" + integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== + nan@^2.9.2: version "2.12.1" resolved "https://registry.yarnpkg.com/nan/-/nan-2.12.1.tgz#7b1aa193e9aa86057e3c7bbd0ac448e770925552" @@ -6260,16 +6601,21 @@ needle@^2.2.1: iconv-lite "^0.4.4" sax "^1.2.4" -negotiator@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" - integrity sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk= +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== neo-async@^2.5.0: version "2.6.0" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.0.tgz#b9d15e4d71c6762908654b5183ed38b753340835" integrity sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA== +neo-async@^2.6.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" + integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== + next-tick@1: version "1.0.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" @@ -6353,6 +6699,22 @@ node-pre-gyp@^0.10.0: semver "^5.3.0" tar "^4" +node-pre-gyp@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" + integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A== + dependencies: + detect-libc "^1.0.2" + mkdirp "^0.5.1" + needle "^2.2.1" + nopt "^4.0.1" + npm-packlist "^1.1.6" + npmlog "^4.0.2" + rc "^1.2.7" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^4" + node-releases@^1.0.0-alpha.10: version "1.0.0-alpha.10" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.0.0-alpha.10.tgz#61c8d5f9b5b2e05d84eba941d05b6f5202f68a2a" @@ -6360,17 +6722,10 @@ node-releases@^1.0.0-alpha.10: dependencies: semver "^5.3.0" -node-releases@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.0.tgz#be7464fa8d877808237520fd49436d5e79191c3d" - integrity sha512-+qV91QMDBvARuPxUEfI/mRF/BY+UAkTIn3pvmvM2iOLIRvv6RNYklFXBgrkky6P1wXUqQW1P3qKlWxxy4JZbfg== - dependencies: - semver "^5.3.0" - -node-releases@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.1.tgz#8fff8aea1cfcad1fb4205f805149054fbf73cafd" - integrity sha512-2UXrBr6gvaebo5TNF84C66qyJJ6r0kxBObgZIDX3D3/mt1ADKiHux3NJPWisq0wxvJJdkjECH+9IIKYViKj71Q== +node-releases@^1.1.23: + version "1.1.23" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.23.tgz#de7409f72de044a2fa59c097f436ba89c39997f0" + integrity sha512-uq1iL79YjfYC0WXoHbC/z28q/9pOl8kSHaXdWmAAc8No+bDwqkZbzIJz55g/MUsPgSGm9LZ7QSUbzTcH5tz47w== dependencies: semver "^5.3.0" @@ -6399,11 +6754,26 @@ normalize-path@^2.1.1: dependencies: remove-trailing-separator "^1.0.1" +normalize-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + normalize-range@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= +normalize-url@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + normalize-url@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.2.0.tgz#98d0948afc82829f374320f405fe9ca55a5f8567" @@ -6660,15 +7030,6 @@ os-locale@^1.4.0: dependencies: lcid "^1.0.0" -os-locale@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" - integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== - dependencies: - execa "^0.7.0" - lcid "^1.0.0" - mem "^1.1.0" - os-locale@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" @@ -6746,10 +7107,10 @@ p-locate@^3.0.0: dependencies: p-limit "^2.0.0" -p-map@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" - integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA== +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== p-reduce@^1.0.0: version "1.0.0" @@ -6832,10 +7193,10 @@ parse5@4.0.0: resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== -parseurl@~1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" - integrity sha1-/CidTtiZMRlGDBViUyYs3I3mW/M= +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== pascalcase@^0.1.1: version "0.1.1" @@ -6869,7 +7230,7 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-is-inside@^1.0.1, path-is-inside@^1.0.2: +path-is-inside@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= @@ -6950,6 +7311,11 @@ pify@^3.0.0: resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" @@ -6962,10 +7328,10 @@ pinkie@^2.0.0: resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= -pirates@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.0.tgz#850b18781b4ac6ec58a43c9ed9ec5fe6796addbd" - integrity sha512-8t5BsXy1LUIjn3WWOlOuFDuKswhQb/tkak641lvBgmPOBUQHXveORtlMCp6OdPV1dtuTaEahKA8VNz6uLfKBtA== +pirates@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== dependencies: node-modules-regexp "^1.0.0" @@ -7000,15 +7366,15 @@ posix-character-classes@^0.1.0: resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= -postcss-attribute-case-insensitive@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.0.tgz#807b6a797ad8bf1c821b2d51cf641e9dd3837624" - integrity sha512-K/zqdg0/UgUgC8qR0lDuxYzmowPpnvrrNC5YuoqzhHMubR9AuhsPlpVu3jjkLHgDAzR+ohD/m7//iGnN9WxbzQ== +postcss-attribute-case-insensitive@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.1.tgz#b2a721a0d279c2f9103a36331c88981526428cc7" + integrity sha512-L2YKB3vF4PetdTIthQVeT+7YiSzMoNMLLYxPXXppOOP7NoazEAy45sh2LvJ8leCQjfBcfkYQs8TtCcQjeZTp8A== dependencies: postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" + postcss-selector-parser "^5.0.0" -postcss-calc@^7.0.0: +postcss-calc@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz#36d77bab023b0ecbb9789d84dcb23c4941145436" integrity sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ== @@ -7060,10 +7426,10 @@ postcss-color-rebeccapurple@^4.0.1: postcss "^7.0.2" postcss-values-parser "^2.0.0" -postcss-colormin@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.2.tgz#93cd1fa11280008696887db1a528048b18e7ed99" - integrity sha512-1QJc2coIehnVFsz0otges8kQLsryi4lo19WD+U5xCWvXd0uw/Z+KKYnbiNDCnO9GP+PvErPHCG0jNvWTngk9Rw== +postcss-colormin@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" + integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== dependencies: browserslist "^4.0.0" color "^3.0.0" @@ -7110,10 +7476,10 @@ postcss-dir-pseudo-class@^5.0.0: postcss "^7.0.2" postcss-selector-parser "^5.0.0-rc.3" -postcss-discard-comments@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.1.tgz#30697735b0c476852a7a11050eb84387a67ef55d" - integrity sha512-Ay+rZu1Sz6g8IdzRjUgG2NafSNpp2MSMOQUb+9kkzzzP+kh07fP0yNbhtFejURnyVXSX3FYy2nVNW1QTnNjgBQ== +postcss-discard-comments@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" + integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== dependencies: postcss "^7.0.0" @@ -7246,20 +7612,20 @@ postcss-media-minmax@^4.0.0: dependencies: postcss "^7.0.2" -postcss-merge-longhand@^4.0.10: - version "4.0.10" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.10.tgz#c4d63ab57bdc054ab4067ab075d488c8c2978380" - integrity sha512-hME10s6CSjm9nlVIcO1ukR7Jr5RisTaaC1y83jWCivpuBtPohA3pZE7cGTIVSYjXvLnXozHTiVOkG4dnnl756g== +postcss-merge-longhand@^4.0.11: + version "4.0.11" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" + integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== dependencies: css-color-names "0.0.4" postcss "^7.0.0" postcss-value-parser "^3.0.0" stylehacks "^4.0.0" -postcss-merge-rules@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.2.tgz#2be44401bf19856f27f32b8b12c0df5af1b88e74" - integrity sha512-UiuXwCCJtQy9tAIxsnurfF0mrNHKc4NnNx6NxqmzNNjXpQwLSukUxELHTRF0Rg1pAmcoKLih8PwvZbiordchag== +postcss-merge-rules@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" + integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== dependencies: browserslist "^4.0.0" caniuse-api "^3.0.0" @@ -7276,20 +7642,20 @@ postcss-minify-font-values@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-minify-gradients@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.1.tgz#6da95c6e92a809f956bb76bf0c04494953e1a7dd" - integrity sha512-pySEW3E6Ly5mHm18rekbWiAjVi/Wj8KKt2vwSfVFAWdW6wOIekgqxKxLU7vJfb107o3FDNPkaYFCxGAJBFyogA== +postcss-minify-gradients@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" + integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== dependencies: cssnano-util-get-arguments "^4.0.0" is-color-stop "^1.0.0" postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-minify-params@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.1.tgz#5b2e2d0264dd645ef5d68f8fec0d4c38c1cf93d2" - integrity sha512-h4W0FEMEzBLxpxIVelRtMheskOKKp52ND6rJv+nBS33G1twu2tCyurYj/YtgU76+UDCvWeNs0hs8HFAWE2OUFg== +postcss-minify-params@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" + integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== dependencies: alphanum-sort "^1.0.0" browserslist "^4.0.0" @@ -7298,10 +7664,10 @@ postcss-minify-params@^4.0.1: postcss-value-parser "^3.0.0" uniqs "^2.0.0" -postcss-minify-selectors@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.1.tgz#a891c197977cc37abf60b3ea06b84248b1c1e9cd" - integrity sha512-8+plQkomve3G+CodLCgbhAKrb5lekAnLYuL1d7Nz+/7RANpBEVdgBkPNwljfSKvZ9xkkZTZITd04KP+zeJTJqg== +postcss-minify-selectors@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" + integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== dependencies: alphanum-sort "^1.0.0" has "^1.0.0" @@ -7315,22 +7681,22 @@ postcss-modules-extract-imports@^2.0.0: dependencies: postcss "^7.0.5" -postcss-modules-local-by-default@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.3.tgz#6a199d596ec3ef57b8f5ced96d786b8cb16a7dec" - integrity sha512-jv4CQ8IQ0+TkaAIP7H4kgu/jQbrjte8xU61SYJAIOby+o3H0MGWX6eN1WXUKHccK6/EEjcAERjyIP8MXzAWAbQ== +postcss-modules-local-by-default@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz#dd9953f6dd476b5fd1ef2d8830c8929760b56e63" + integrity sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA== dependencies: - css-selector-tokenizer "^0.7.0" postcss "^7.0.6" + postcss-selector-parser "^6.0.0" postcss-value-parser "^3.3.1" -postcss-modules-scope@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.0.1.tgz#2c0f2394cde4cd09147db054c68917e38f6d43a4" - integrity sha512-7+6k9c3/AuZ5c596LJx9n923A/j3nF3ormewYBF1RrIQvjvjXe1xE8V8A1KFyFwXbvnshT6FBZFX0k/F1igneg== +postcss-modules-scope@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz#ad3f5bf7856114f6fcab901b0502e2a2bc39d4eb" + integrity sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A== dependencies: - css-selector-tokenizer "^0.7.0" postcss "^7.0.6" + postcss-selector-parser "^6.0.0" postcss-modules-values@^2.0.0: version "2.0.0" @@ -7354,48 +7720,48 @@ postcss-normalize-charset@^4.0.1: dependencies: postcss "^7.0.0" -postcss-normalize-display-values@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.1.tgz#d9a83d47c716e8a980f22f632c8b0458cfb48a4c" - integrity sha512-R5mC4vaDdvsrku96yXP7zak+O3Mm9Y8IslUobk7IMP+u/g+lXvcN4jngmHY5zeJnrQvE13dfAg5ViU05ZFDwdg== +postcss-normalize-display-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" + integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== dependencies: cssnano-util-get-match "^4.0.0" postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-normalize-positions@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.1.tgz#ee2d4b67818c961964c6be09d179894b94fd6ba1" - integrity sha512-GNoOaLRBM0gvH+ZRb2vKCIujzz4aclli64MBwDuYGU2EY53LwiP7MxOZGE46UGtotrSnmarPPZ69l2S/uxdaWA== +postcss-normalize-positions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" + integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== dependencies: cssnano-util-get-arguments "^4.0.0" has "^1.0.0" postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-normalize-repeat-style@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.1.tgz#5293f234b94d7669a9f805495d35b82a581c50e5" - integrity sha512-fFHPGIjBUyUiswY2rd9rsFcC0t3oRta4wxE1h3lpwfQZwFeFjXFSiDtdJ7APCmHQOnUZnqYBADNRPKPwFAONgA== +postcss-normalize-repeat-style@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" + integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== dependencies: cssnano-util-get-arguments "^4.0.0" cssnano-util-get-match "^4.0.0" postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-normalize-string@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.1.tgz#23c5030c2cc24175f66c914fa5199e2e3c10fef3" - integrity sha512-IJoexFTkAvAq5UZVxWXAGE0yLoNN/012v7TQh5nDo6imZJl2Fwgbhy3J2qnIoaDBrtUP0H7JrXlX1jjn2YcvCQ== +postcss-normalize-string@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" + integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== dependencies: has "^1.0.0" postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-normalize-timing-functions@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.1.tgz#8be83e0b9cb3ff2d1abddee032a49108f05f95d7" - integrity sha512-1nOtk7ze36+63ONWD8RCaRDYsnzorrj+Q6fxkQV+mlY5+471Qx9kspqv0O/qQNMeApg8KNrRf496zHwJ3tBZ7w== +postcss-normalize-timing-functions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" + integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== dependencies: cssnano-util-get-match "^4.0.0" postcss "^7.0.0" @@ -7420,18 +7786,18 @@ postcss-normalize-url@^4.0.1: postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-normalize-whitespace@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.1.tgz#d14cb639b61238418ac8bc8d3b7bdd65fc86575e" - integrity sha512-U8MBODMB2L+nStzOk6VvWWjZgi5kQNShCyjRhMT3s+W9Jw93yIjOnrEkKYD3Ul7ChWbEcjDWmXq0qOL9MIAnAw== +postcss-normalize-whitespace@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" + integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== dependencies: postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-ordered-values@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.1.tgz#2e3b432ef3e489b18333aeca1f1295eb89be9fc2" - integrity sha512-PeJiLgJWPzkVF8JuKSBcylaU+hDJ/TX3zqAMIjlghgn1JBi6QwQaDZoDIlqWRcCAI8SxKrt3FCPSRmOgKRB97Q== +postcss-ordered-values@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" + integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== dependencies: cssnano-util-get-arguments "^4.0.0" postcss "^7.0.0" @@ -7459,20 +7825,20 @@ postcss-place@^4.0.1: postcss "^7.0.2" postcss-values-parser "^2.0.0" -postcss-preset-env@^6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.5.0.tgz#a14b8f6e748b2a3a4a02a56f36c390f30073b9e1" - integrity sha512-RdsIrYJd9p9AouQoJ8dFP5ksBJEIegA4q4WzJDih8nevz3cZyIP/q1Eaw3pTVpUAu3n7Y32YmvAW3X07mSRGkw== +postcss-preset-env@^6.6.0: + version "6.6.0" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.6.0.tgz#642e7d962e2bdc2e355db117c1eb63952690ed5b" + integrity sha512-I3zAiycfqXpPIFD6HXhLfWXIewAWO8emOKz+QSsxaUZb9Dp8HbF5kUf+4Wy/AxR33o+LRoO8blEWCHth0ZsCLA== dependencies: - autoprefixer "^9.4.2" - browserslist "^4.3.5" - caniuse-lite "^1.0.30000918" + autoprefixer "^9.4.9" + browserslist "^4.4.2" + caniuse-lite "^1.0.30000939" css-blank-pseudo "^0.1.4" css-has-pseudo "^0.10.0" css-prefers-color-scheme "^3.1.1" cssdb "^4.3.0" - postcss "^7.0.6" - postcss-attribute-case-insensitive "^4.0.0" + postcss "^7.0.14" + postcss-attribute-case-insensitive "^4.0.1" postcss-color-functional-notation "^2.0.1" postcss-color-gray "^5.0.0" postcss-color-hex-alpha "^5.0.2" @@ -7510,20 +7876,20 @@ postcss-pseudo-class-any-link@^6.0.0: postcss "^7.0.2" postcss-selector-parser "^5.0.0-rc.3" -postcss-reduce-initial@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.2.tgz#bac8e325d67510ee01fa460676dc8ea9e3b40f15" - integrity sha512-epUiC39NonKUKG+P3eAOKKZtm5OtAtQJL7Ye0CBN1f+UQTHzqotudp+hki7zxXm7tT0ZAKDMBj1uihpPjP25ug== +postcss-reduce-initial@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" + integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== dependencies: browserslist "^4.0.0" caniuse-api "^3.0.0" has "^1.0.0" postcss "^7.0.0" -postcss-reduce-transforms@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.1.tgz#8600d5553bdd3ad640f43bff81eb52f8760d4561" - integrity sha512-sZVr3QlGs0pjh6JAIe6DzWvBaqYw05V1t3d9Tp+VnFRT5j+rsqoWsysh/iSD7YNsULjq9IAylCznIwVd5oU/zA== +postcss-reduce-transforms@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" + integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== dependencies: cssnano-util-get-match "^4.0.0" has "^1.0.0" @@ -7562,6 +7928,15 @@ postcss-selector-parser@^3.0.0: indexes-of "^1.0.1" uniq "^1.0.1" +postcss-selector-parser@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" + integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== + dependencies: + cssesc "^2.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: version "5.0.0-rc.4" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0-rc.4.tgz#ca5e77238bf152966378c13e91ad6d611568ea87" @@ -7571,10 +7946,19 @@ postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: indexes-of "^1.0.1" uniq "^1.0.1" -postcss-svgo@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.1.tgz#5628cdb38f015de6b588ce6d0bf0724b492b581d" - integrity sha512-YD5uIk5NDRySy0hcI+ZJHwqemv2WiqqzDgtvgMzO8EGSkK5aONyX8HMVFRFJSdO8wUWTuisUFn/d7yRRbBr5Qw== +postcss-selector-parser@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" + integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== + dependencies: + cssesc "^3.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-svgo@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" + integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw== dependencies: is-svg "^3.0.0" postcss "^7.0.0" @@ -7636,6 +8020,15 @@ postcss@^7.0.1, postcss@^7.0.2, postcss@^7.0.5: source-map "^0.6.1" supports-color "^5.5.0" +postcss@^7.0.14, postcss@^7.0.16: + version "7.0.17" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.17.tgz#4da1bdff5322d4a0acaab4d87f3e782436bad31f" + integrity sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + postcss@^7.0.6: version "7.0.7" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.7.tgz#2754d073f77acb4ef08f1235c36c5721a7201614" @@ -7650,23 +8043,30 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= -prettier@1.16.4: - version "1.16.4" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.4.tgz#73e37e73e018ad2db9c76742e2647e21790c9717" - integrity sha512-ZzWuos7TI5CKUeQAtFd6Zhm2s6EpAD/ZLApIhsF9pRvRtM1RFo61dM/4MSRUA0SuLugA/zgrZD8m0BaY46Og7g== +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= -pretty-bytes@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9" - integrity sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk= +prettier@1.18.2: + version "1.18.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.18.2.tgz#6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea" + integrity sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw== -pretty-format@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.0.0.tgz#cb6599fd73ac088e37ed682f61291e4678f48591" - integrity sha512-LszZaKG665djUcqg5ZQq+XzezHLKrxsA86ZABTozp+oNhkdqa+tG2dX4qa6ERl5c/sRDrAa3lHmwnvKoP+OG/g== +pretty-bytes@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.2.0.tgz#96c92c6e95a0b35059253fb33c03e260d40f5a1f" + integrity sha512-ujANBhiUsl9AhREUDUEY1GPOharMGm8x8juS7qOHybcLi7XsKfrYQ88hSly1l2i0klXHTDYrlL8ihMCG55Dc3w== + +pretty-format@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.8.0.tgz#8dae7044f58db7cb8be245383b565a963e3c27f2" + integrity sha512-P952T7dkrDEplsR+TuY7q3VXDae5Sr7zmQb12JU/NDQa/3CH7/QW0yvqLcGN6jL+zQFKaoJcPc+yJxMTGmosqw== dependencies: + "@jest/types" "^24.8.0" ansi-regex "^4.0.0" ansi-styles "^3.2.0" + react-is "^16.8.4" pretty-hrtime@^1.0.0: version "1.0.3" @@ -7731,24 +8131,28 @@ prop-types@^15.5.10, prop-types@^15.6.1, prop-types@^15.6.2: loose-envify "^1.3.1" object-assign "^4.1.1" -proxy-addr@~2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93" - integrity sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA== +prop-types@^15.7.2: + version "15.7.2" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" + integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.8.1" + +proxy-addr@~2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34" + integrity sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ== dependencies: forwarded "~0.1.2" - ipaddr.js "1.8.0" + ipaddr.js "1.9.0" prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - public-encrypt@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" @@ -7800,31 +8204,39 @@ punycode@1.3.2: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= -punycode@2.x.x, punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + q@^1.1.2: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= -qs@6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== +qs@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== qs@~6.5.1: version "6.5.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" integrity sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A== +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -7850,19 +8262,19 @@ randomfill@^1.0.3: randombytes "^2.0.5" safe-buffer "^5.1.0" -range-parser@^1.0.3, range-parser@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" - integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4= +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" - integrity sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw== +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== dependencies: - bytes "3.0.0" - http-errors "1.6.3" - iconv-lite "0.4.23" + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" unpipe "1.0.0" raw-body@^2.3.0: @@ -7885,40 +8297,40 @@ rc@^1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-dom@16.8.1: - version "16.8.1" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.1.tgz#ec860f98853d09d39bafd3a6f1e12389d283dbb4" - integrity sha512-N74IZUrPt6UiDjXaO7UbDDFXeUXnVhZzeRLy/6iqqN1ipfjrhR60Bp5NuBK+rv3GMdqdIuwIl22u1SYwf330bg== +react-dom@16.8.6: + version "16.8.6" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.6.tgz#71d6303f631e8b0097f56165ef608f051ff6e10f" + integrity sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.13.1" + scheduler "^0.13.6" react-fast-compare@^2.0.1: version "2.0.4" resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9" integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw== -react-hot-loader@^4.6.5: - version "4.6.5" - resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-4.6.5.tgz#059619c8ac2aae9c6e8178ddc2eac535093cdd2e" - integrity sha512-ZPAJEWVd8KDdm6dcK0iWrnJiGHruLrcbkIpqn/wQmNjnROpsm2nzrWh23Yh3I/XAjB+35pMa/ZgariwGqwFD9A== +react-hot-loader@^4.9.0: + version "4.9.0" + resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-4.9.0.tgz#498e5f76aae28bfd420efdabddf5af156745b4dd" + integrity sha512-1N6MWV9++qYWrrs41MRhxATwyx743tr8RpeyL1VOZ54zsU8fOx4slYreHZ8v2BDGVfy+dJ0myJZrJA9/26RlCA== dependencies: fast-levenshtein "^2.0.6" global "^4.3.0" - hoist-non-react-statics "^2.5.0" + hoist-non-react-statics "^3.3.0" loader-utils "^1.1.0" - lodash.merge "^4.6.1" + lodash "^4.17.11" prop-types "^15.6.1" react-lifecycles-compat "^3.0.4" shallowequal "^1.0.2" source-map "^0.7.3" -react-is@^16.3.2, react-is@^16.6.3: - version "16.6.3" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.6.3.tgz#d2d7462fcfcbe6ec0da56ad69047e47e56e7eac0" - integrity sha512-u7FDWtthB4rWibG/+mFbVd5FvdI20yde86qKGx4lVUTWmPlSWQ4QxbBIrrs+HnXGbxOUlUzTAP/VDmvCwaP2yA== +react-is@^16.7.0, react-is@^16.8.4, react-is@^16.8.6: + version "16.8.6" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16" + integrity sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA== react-is@^16.8.1: version "16.8.1" @@ -7940,50 +8352,50 @@ react-modal@^3.8.1: react-lifecycles-compat "^3.0.0" warning "^3.0.0" -react-redux@^6.0.0-beta.2: - version "6.0.0" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-6.0.0.tgz#09e86eeed5febb98e9442458ad2970c8f1a173ef" - integrity sha512-EmbC3uLl60pw2VqSSkj6HpZ6jTk12RMrwXMBdYtM6niq0MdEaRq9KYCwpJflkOZj349BLGQm1MI/JO1W96kLWQ== +react-redux@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.0.3.tgz#983c5a6de81cb1e696bd1c090ba826545f9170f1" + integrity sha512-vYZA7ftOYlDk3NetitsI7fLjryt/widNl1SLXYvFenIpm7vjb4ryK0EeFrgn62usg5fYkyIAWNUPKnwWPevKLg== dependencies: - "@babel/runtime" "^7.2.0" - hoist-non-react-statics "^3.2.1" + "@babel/runtime" "^7.4.3" + hoist-non-react-statics "^3.3.0" invariant "^2.2.4" loose-envify "^1.4.0" - prop-types "^15.6.2" - react-is "^16.6.3" + prop-types "^15.7.2" + react-is "^16.8.6" -react-test-renderer@16.8.1: - version "16.8.1" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.8.1.tgz#72845ad9269be526126e97853311982f781767be" - integrity sha512-Bd21TN3+YVl6GZwav6O0T6m5UwGfOj+2+xZH5VH93ToD6M5uclN/c+R1DGX49ueG413KZPUx7Kw3sOYz2aJgfg== +react-test-renderer@16.8.6: + version "16.8.6" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.8.6.tgz#188d8029b8c39c786f998aa3efd3ffe7642d5ba1" + integrity sha512-H2srzU5IWYT6cZXof6AhUcx/wEyJddQ8l7cLM/F7gDXYyPr4oq+vCIxJYXVGhId1J706sqziAjuOEjyNkfgoEw== dependencies: object-assign "^4.1.1" prop-types "^15.6.2" - react-is "^16.8.1" - scheduler "^0.13.1" + react-is "^16.8.6" + scheduler "^0.13.6" react-virtualized-auto-sizer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.2.tgz#a61dd4f756458bbf63bd895a92379f9b70f803bd" integrity sha512-MYXhTY1BZpdJFjUovvYHVBmkq79szK/k7V3MO+36gJkWGkrXKtyr4vCPtpphaTLRAdDNoYEYFZWE8LjN+PIHNg== -react-window@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/react-window/-/react-window-1.5.1.tgz#9d68624d5ba58ddf331321fb74b0a75184523d16" - integrity sha512-D855yW104ek8+gSLW8G6Dt69WnhSlGXR4Ld+IoZW4aQg6a1pt7cZLb+fcOugVDVgl4RfrLSfg9aLBnvS7zsOaw== +react-window@^1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/react-window/-/react-window-1.8.2.tgz#edd0effe302196263ac3eac20a14c041acd4c17d" + integrity sha512-Qo9Z5qYvigRbSlCaWTor53G3EWVtHxXXny86EYsMG57H+4LJEEyh22PuWW6ECCkOh7sY6wWF78+wNGwPnMBCAg== dependencies: "@babel/runtime" "^7.0.0" - memoize-one "^3.1.1" + memoize-one ">=3.1.1 <6" -react@16.8.1: - version "16.8.1" - resolved "https://registry.yarnpkg.com/react/-/react-16.8.1.tgz#ae11831f6cb2a05d58603a976afc8a558e852c4a" - integrity sha512-wLw5CFGPdo7p/AgteFz7GblI2JPOos0+biSoxf1FPsGxWQZdN/pj6oToJs1crn61DL3Ln7mN86uZ4j74p31ELQ== +react@16.8.6: + version "16.8.6" + resolved "https://registry.yarnpkg.com/react/-/react-16.8.6.tgz#ad6c3a9614fd3a4e9ef51117f54d888da01f2bbe" + integrity sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.13.1" + scheduler "^0.13.6" read-pkg-up@^1.0.1: version "1.0.1" @@ -8077,17 +8489,10 @@ readdirp@^2.0.0: micromatch "^3.1.10" readable-stream "^2.0.2" -realpath-native@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.0.0.tgz#7885721a83b43bd5327609f0ddecb2482305fdf0" - integrity sha512-XJtlRJ9jf0E1H1SLeJyQ9PGzQD7S65h1pRXEcAeK48doKOnKxcgPeNohJvD5u/2sI9J1oke6E8bZHS/fmW1UiQ== - dependencies: - util.promisify "^1.0.0" - -realpath-native@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.0.2.tgz#cd51ce089b513b45cf9b1516c82989b51ccc6560" - integrity sha512-+S3zTvVt9yTntFrBpm7TQmQ3tzpCrnA1a/y+3cUHAc9ZR6aIjG0WNLR+Rj79QpJktY+VeW/TQtFlQ1bzsehI8g== +realpath-native@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" + integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA== dependencies: util.promisify "^1.0.0" @@ -8111,18 +8516,13 @@ redux@^4.0.1: loose-envify "^1.4.0" symbol-observable "^1.2.0" -regenerate-unicode-properties@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz#107405afcc4a190ec5ed450ecaa00ed0cafa7a4c" - integrity sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw== +regenerate-unicode-properties@^8.0.2: + version "8.1.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" + integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA== dependencies: regenerate "^1.4.0" -regenerate@^1.2.1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f" - integrity sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg== - regenerate@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" @@ -8138,10 +8538,15 @@ regenerator-runtime@^0.12.0: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de" integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg== -regenerator-transform@^0.13.3: - version "0.13.3" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.3.tgz#264bd9ff38a8ce24b06e0636496b2c856b57bcbb" - integrity sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA== +regenerator-runtime@^0.13.2: + version "0.13.2" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz#32e59c9a6fb9b1a4aff09b4930ca2d4477343447" + integrity sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA== + +regenerator-transform@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.0.tgz#2ca9aaf7a2c239dd32e4761218425b8c7a86ecaf" + integrity sha512-rtOelq4Cawlbmq9xuMR5gdFmv7ku/sFoB7sRiywx7aq53bc52b4j6zvH7Te1Vt/X2YveDKnCGUbioieU7FEL3w== dependencies: private "^0.1.6" @@ -8153,58 +8558,33 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexp-tree@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.0.tgz#a56ad7746097888ea16457479029ec9345b96ab0" - integrity sha512-rHQv+tzu+0l3KS/ERabas1yK49ahNVxuH40WcPg53CzP5p8TgmmyBgHELLyJcvjhTD0e5ahSY6C76LbEVtr7cg== - dependencies: - cli-table3 "^0.5.0" - colors "^1.1.2" - yargs "^10.0.3" +regexp-tree@^0.1.6: + version "0.1.10" + resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.10.tgz#d837816a039c7af8a8d64d7a7c3cf6a1d93450bc" + integrity sha512-K1qVSbcedffwuIslMwpe6vGlj+ZXRnGkvjAtFHfDZZZuEdA/h0dxljAPu9vhUo6Rrx2U2AwJ+nSQ6hK+lrP5MQ== regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== -regexpu-core@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" - integrity sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs= - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - -regexpu-core@^4.1.3, regexpu-core@^4.2.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.4.0.tgz#8d43e0d1266883969720345e70c275ee0aec0d32" - integrity sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA== +regexpu-core@^4.5.4: + version "4.5.4" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae" + integrity sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ== dependencies: regenerate "^1.4.0" - regenerate-unicode-properties "^7.0.0" + regenerate-unicode-properties "^8.0.2" regjsgen "^0.5.0" regjsparser "^0.6.0" unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.0.2" - -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= + unicode-match-property-value-ecmascript "^1.1.0" regjsgen@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA== -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= - dependencies: - jsesc "~0.5.0" - regjsparser@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" @@ -8381,6 +8761,13 @@ resolve@^1.1.6, resolve@^1.1.7, resolve@^1.4.0, resolve@^1.5.0: dependencies: path-parse "^1.0.5" +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0: + version "1.11.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e" + integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw== + dependencies: + path-parse "^1.0.6" + resolve@^1.3.2: version "1.8.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" @@ -8388,13 +8775,6 @@ resolve@^1.3.2: dependencies: path-parse "^1.0.5" -resolve@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.9.0.tgz#a14c6fdfa8f92a7df1d996cb7105fa744658ea06" - integrity sha512-TZNye00tI67lwYvzxCxHGjwTNlUV70io54/Ed4j6PscB8xVfuBJpRenI/o6dVk0cY0PYTY27AgCoGGxRnYuItQ== - dependencies: - path-parse "^1.0.6" - restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" @@ -8418,7 +8798,14 @@ rgba-regex@^1.0.0: resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= -rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: +rimraf@2.6.3, rimraf@^2.6.3: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + dependencies: + glob "^7.1.3" + +rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w== @@ -8433,10 +8820,10 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -rsvp@^3.3.3: - version "3.6.2" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" - integrity sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw== +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== run-async@^2.2.0: version "2.3.0" @@ -8452,10 +8839,10 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rxjs@^6.1.0: - version "6.3.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.3.tgz#3c6a7fa420e844a81390fb1158a9ec614f4bad55" - integrity sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw== +rxjs@^6.4.0: + version "6.5.2" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7" + integrity sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg== dependencies: tslib "^1.9.0" @@ -8476,32 +8863,30 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sane@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-3.1.0.tgz#995193b7dc1445ef1fe41ddfca2faf9f111854c6" - integrity sha512-G5GClRRxT1cELXfdAq7UKtUsv8q/ZC5k8lQGmjEm4HcAl3HzBy68iglyNCmw4+0tiXPCBZntslHlRhbnsSws+Q== +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== dependencies: + "@cnakazawa/watch" "^1.0.3" anymatch "^2.0.0" - capture-exit "^1.2.0" - exec-sh "^0.2.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" execa "^1.0.0" fb-watchman "^2.0.0" micromatch "^3.1.4" minimist "^1.1.1" walker "~1.0.5" - watch "~0.18.0" - optionalDependencies: - fsevents "^1.2.3" sax@^1.2.4, sax@~1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -scheduler@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.13.1.tgz#1a217df1bfaabaf4f1b92a9127d5d732d85a9591" - integrity sha512-VJKOkiKIN2/6NOoexuypwSrybx13MY7NSy9RNt8wPvZDMRT1CW6qlpF5jXRToXNHz3uWzbm2elNpZfXfGPqP9A== +scheduler@^0.13.6: + version "0.13.6" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.13.6.tgz#466a4ec332467b31a91b9bf74e5347072e4cd889" + integrity sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -8532,10 +8917,15 @@ semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1: resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== -send@0.16.2: - version "0.16.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" - integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw== +semver@^6.1.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.1.1.tgz#53f53da9b30b2103cd4f15eab3a18ecbcb210c9b" + integrity sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ== + +send@0.17.1: + version "0.17.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== dependencies: debug "2.6.9" depd "~1.1.2" @@ -8544,27 +8934,32 @@ send@0.16.2: escape-html "~1.0.3" etag "~1.8.1" fresh "0.5.2" - http-errors "~1.6.2" - mime "1.4.1" - ms "2.0.0" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" on-finished "~2.3.0" - range-parser "~1.2.0" - statuses "~1.4.0" + range-parser "~1.2.1" + statuses "~1.5.0" serialize-javascript@^1.4.0: version "1.6.1" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.6.1.tgz#4d1f697ec49429a847ca6f442a2a755126c4d879" integrity sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw== -serve-static@1.13.2: - version "1.13.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" - integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw== +serialize-javascript@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65" + integrity sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA== + +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== dependencies: encodeurl "~1.0.2" escape-html "~1.0.3" - parseurl "~1.3.2" - send "0.16.2" + parseurl "~1.3.3" + send "0.17.1" set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" @@ -8601,10 +8996,10 @@ setprototypeof@1.0.3: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" integrity sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ= -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== sha.js@^2.4.0, sha.js@^2.4.8: version "2.4.11" @@ -8658,11 +9053,13 @@ slash@^2.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== -slice-ansi@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" - integrity sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg== +slice-ansi@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" snapdragon-node@^2.0.1: @@ -8702,6 +9099,13 @@ sntp@2.x.x: dependencies: hoek "4.x.x" +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + dependencies: + is-plain-obj "^1.0.0" + source-list-map@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" @@ -8726,18 +9130,18 @@ source-map-support@^0.5.6: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-support@~0.5.6: - version "0.5.9" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz#41bc953b2534267ea2d605bccfa7bfa3111ced5f" - integrity sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA== +source-map-support@~0.5.10: + version "0.5.12" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599" + integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-support@~0.5.9: - version "0.5.10" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.10.tgz#2214080bc9d51832511ee2bab96e3c2f9353120c" - integrity sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ== +source-map-support@~0.5.6: + version "0.5.9" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz#41bc953b2534267ea2d605bccfa7bfa3111ced5f" + integrity sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" @@ -8850,16 +9254,11 @@ static-extend@^0.1.1: define-property "^0.2.5" object-copy "^0.1.0" -"statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2": +"statuses@>= 1.3.1 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= -statuses@~1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" - integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== - stealthy-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" @@ -8902,6 +9301,11 @@ stream-shift@^1.0.0: resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + string-length@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" @@ -8927,6 +9331,15 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +string-width@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + string_decoder@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" @@ -8946,7 +9359,7 @@ string_decoder@~0.10.x: resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= -stringify-object@^3.2.2: +stringify-object@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== @@ -8981,6 +9394,13 @@ strip-ansi@^5.0.0: dependencies: ansi-regex "^4.0.0" +strip-ansi@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" @@ -9092,15 +9512,15 @@ symbol-tree@^3.2.2: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" integrity sha1-rifbOPZgp64uHDt9G8KQgZuFGeY= -table@^5.0.2: - version "5.1.0" - resolved "https://registry.yarnpkg.com/table/-/table-5.1.0.tgz#69a54644f6f01ad1628f8178715b408dc6bf11f7" - integrity sha512-e542in22ZLhD/fOIuXs/8yDZ9W61ltF8daM88rkRNtgTIct+vI2fTnAyu/Db2TCfEcI8i7mjZz6meLq0nW7TYg== +table@^5.2.3: + version "5.4.0" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.0.tgz#d772a3216e68829920a41a32c18eda286c95d780" + integrity sha512-nHFDrxmbrkU7JAFKqKbDJXfzrX2UBsWmrieXFTGxiI5e4ncg3VqsZeI4EzNmX0ncp4XNGVeoxIWJXfCIXwrsvw== dependencies: - ajv "^6.5.3" - lodash "^4.17.10" - slice-ansi "1.0.0" - string-width "^2.1.1" + ajv "^6.9.1" + lodash "^4.17.11" + slice-ansi "^2.1.0" + string-width "^3.0.0" tapable@^0.1.8: version "0.1.10" @@ -9139,28 +9559,21 @@ terser-webpack-plugin@^1.1.0: webpack-sources "^1.1.0" worker-farm "^1.5.2" -terser-webpack-plugin@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.2.2.tgz#9bff3a891ad614855a7dde0d707f7db5a927e3d9" - integrity sha512-1DMkTk286BzmfylAvLXwpJrI7dWa5BnFmscV/2dCr8+c56egFcbaeFAl7+sujAjdmpLam21XRdhA4oifLyiWWg== +terser-webpack-plugin@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.3.0.tgz#69aa22426299f4b5b3775cbed8cb2c5d419aa1d4" + integrity sha512-W2YWmxPjjkUcOWa4pBEv4OP4er1aeQJlSo2UhtCFQCuRXEHjOFscO8VyWHj9JLlA0RzQb8Y2/Ta78XZvT54uGg== dependencies: - cacache "^11.0.2" + cacache "^11.3.2" find-cache-dir "^2.0.0" + is-wsl "^1.1.0" + loader-utils "^1.2.3" schema-utils "^1.0.0" - serialize-javascript "^1.4.0" + serialize-javascript "^1.7.0" source-map "^0.6.1" - terser "^3.16.1" - webpack-sources "^1.1.0" - worker-farm "^1.5.2" - -terser@^3.16.1: - version "3.16.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-3.16.1.tgz#5b0dd4fa1ffd0b0b43c2493b2c364fd179160493" - integrity sha512-JDJjgleBROeek2iBcSNzOHLKsB/MdDf+E/BOAJ0Tk9r7p9/fVobfv7LMJ/g/k3v9SXdmjZnIlFd5nfn/Rt0Xow== - dependencies: - commander "~2.17.1" - source-map "~0.6.1" - source-map-support "~0.5.9" + terser "^4.0.0" + webpack-sources "^1.3.0" + worker-farm "^1.7.0" terser@^3.8.1: version "3.13.1" @@ -9171,6 +9584,15 @@ terser@^3.8.1: source-map "~0.6.1" source-map-support "~0.5.6" +terser@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.0.0.tgz#ef356f6f359a963e2cc675517f21c1c382877374" + integrity sha512-dOapGTU0hETFl1tCo4t56FN+2jffoKyER9qBGoUFyZ6y7WLoKT0bF+lAYi6B6YsILcGF3q1C2FBh8QcKSCgkgA== + dependencies: + commander "^2.19.0" + source-map "~0.6.1" + source-map-support "~0.5.10" + test-exclude@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.0.0.tgz#cdce7cece785e0e829cd5c2b27baf18bc583cfb7" @@ -9215,13 +9637,12 @@ through2@^2.0.3, through2@~2.0.0: readable-stream "^2.1.5" xtend "~4.0.1" -through2@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.0.tgz#468b461df9cd9fcc170f22ebf6852e467e578ff2" - integrity sha512-8B+sevlqP4OiCjonI1Zw03Sf8PuV1eRsYQgLad5eonILOdyeRsY27A/2Ze8IlvlMvq31OH+3fz/styI7Ya62yQ== +through2@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.1.tgz#39276e713c3302edf9e388dd9c812dd3b825bd5a" + integrity sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww== dependencies: readable-stream "2 || 3" - xtend "~4.0.1" through@^2.3.6: version "2.3.8" @@ -9312,12 +9733,10 @@ to-through@^2.0.0: dependencies: through2 "^2.0.3" -topo@2.x.x: - version "2.0.2" - resolved "https://registry.yarnpkg.com/topo/-/topo-2.0.2.tgz#cd5615752539057c0dc0491a621c3bc6fbe1d182" - integrity sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI= - dependencies: - hoek "4.x.x" +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== tough-cookie@>=2.3.3, tough-cookie@^2.3.3, tough-cookie@~2.3.3: version "2.3.4" @@ -9367,13 +9786,13 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -type-is@~1.6.16: - version "1.6.16" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" - integrity sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q== +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== dependencies: media-typer "0.3.0" - mime-types "~2.1.18" + mime-types "~2.1.24" typedarray@^0.0.6: version "0.0.6" @@ -9403,10 +9822,10 @@ undertaker-registry@^1.0.0: resolved "https://registry.yarnpkg.com/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50" integrity sha1-XkvaMI5KiirlhPm5pDWaSZglzFA= -undertaker@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/undertaker/-/undertaker-1.2.0.tgz#339da4646252d082dc378e708067299750e11b49" - integrity sha1-M52kZGJS0ILcN45wgGcpl1DhG0k= +undertaker@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/undertaker/-/undertaker-1.2.1.tgz#701662ff8ce358715324dfd492a4f036055dfe4b" + integrity sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA== dependencies: arr-flatten "^1.0.1" arr-map "^2.0.0" @@ -9431,10 +9850,10 @@ unicode-match-property-ecmascript@^1.0.4: unicode-canonical-property-names-ecmascript "^1.0.4" unicode-property-aliases-ecmascript "^1.0.4" -unicode-match-property-value-ecmascript@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz#9f1dc76926d6ccf452310564fd834ace059663d4" - integrity sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ== +unicode-match-property-value-ecmascript@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" + integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g== unicode-property-aliases-ecmascript@^1.0.4: version "1.0.4" @@ -9698,7 +10117,7 @@ w3c-hr-time@^1.0.1: dependencies: browser-process-hrtime "^0.1.2" -walker@~1.0.5: +walker@^1.0.7, walker@~1.0.5: version "1.0.7" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= @@ -9712,14 +10131,6 @@ warning@^3.0.0: dependencies: loose-envify "^1.0.0" -watch@~0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986" - integrity sha1-KAlUdsbffJDJYxOJkMClQj60uYY= - dependencies: - exec-sh "^0.2.0" - minimist "^1.2.0" - watchpack@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" @@ -9734,20 +10145,20 @@ webidl-conversions@^4.0.1, webidl-conversions@^4.0.2: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== -webpack-dev-middleware@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.5.2.tgz#d768b6194f3fe8d72d51feded49de359e8d96ffb" - integrity sha512-nPmshdt1ckcwWjI0Ubrdp8KroeuprW6xFKYqk0u3MflNMBXvHPnMATsC7/L/enwav2zvLCfj/Usr47qnF3KQyA== +webpack-dev-middleware@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.0.tgz#ef751d25f4e9a5c8a35da600c5fda3582b5c6cff" + integrity sha512-qvDesR1QZRIAZHOE3iQ4CXLZZSQ1lAUsSpnQmlB1PBfoN/xdRjmge3Dok0W4IdaVLJOGJy3sGI4sZHwjRU0PCA== dependencies: - memory-fs "~0.4.1" - mime "^2.3.1" - range-parser "^1.0.3" + memory-fs "^0.4.1" + mime "^2.4.2" + range-parser "^1.2.1" webpack-log "^2.0.0" -webpack-hot-middleware@^2.24.3: - version "2.24.3" - resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.24.3.tgz#5bb76259a8fc0d97463ab517640ba91d3382d4a6" - integrity sha512-pPlmcdoR2Fn6UhYjAhp1g/IJy1Yc9hD+T6O9mjRcWV2pFbBjIFoJXhP0CoD0xPOhWJuWXuZXGBga9ybbOdzXpg== +webpack-hot-middleware@^2.25.0: + version "2.25.0" + resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.25.0.tgz#4528a0a63ec37f8f8ef565cf9e534d57d09fe706" + integrity sha512-xs5dPOrGPCzuRXNi8F6rwhawWvQQkeli5Ro48PRuQh8pYPCPmNnltP9itiUPT4xI8oW+y0m59lyyeQk54s5VgA== dependencies: ansi-html "0.0.7" html-entities "^1.2.0" @@ -9777,15 +10188,15 @@ webpack-sources@^1.1.0, webpack-sources@^1.3.0: source-list-map "^2.0.0" source-map "~0.6.1" -webpack@^4.29.3: - version "4.29.3" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.29.3.tgz#e0b406a7b4201ed5e4fb4f84fd7359f9a7db4647" - integrity sha512-xPJvFeB+8tUflXFq+OgdpiSnsCD5EANyv56co5q8q8+YtEasn5Sj3kzY44mta+csCIEB0vneSxnuaHkOL2h94A== +webpack@^4.33.0: + version "4.33.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.33.0.tgz#c30fc4307db432e5c5e3333aaa7c16a15a3b277e" + integrity sha512-ggWMb0B2QUuYso6FPZKUohOgfm+Z0sVFs8WwWuSH1IAvkWs428VDNmOlAxvHGTB9Dm/qOB/qtE5cRx5y01clxw== dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-module-context" "1.7.11" - "@webassemblyjs/wasm-edit" "1.7.11" - "@webassemblyjs/wasm-parser" "1.7.11" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-module-context" "1.8.5" + "@webassemblyjs/wasm-edit" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" acorn "^6.0.5" acorn-dynamic-import "^4.0.0" ajv "^6.1.0" @@ -9843,7 +10254,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@^1.2.12, which@^1.2.14, which@^1.3.0: +which@^1.2.14, which@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" integrity sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg== @@ -9874,132 +10285,140 @@ wordwrap@~1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= -workbox-background-sync@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-3.6.3.tgz#6609a0fac9eda336a7c52e6aa227ba2ae532ad94" - integrity sha512-ypLo0B6dces4gSpaslmDg5wuoUWrHHVJfFWwl1udvSylLdXvnrfhFfriCS42SNEe5lsZtcNZF27W/SMzBlva7Q== +workbox-background-sync@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz#26821b9bf16e9e37fd1d640289edddc08afd1950" + integrity sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.3.1" -workbox-broadcast-cache-update@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-broadcast-cache-update/-/workbox-broadcast-cache-update-3.6.3.tgz#3f5dff22ada8c93e397fb38c1dc100606a7b92da" - integrity sha512-pJl4lbClQcvp0SyTiEw0zLSsVYE1RDlCPtpKnpMjxFtu8lCFTAEuVyzxp9w7GF4/b3P4h5nyQ+q7V9mIR7YzGg== +workbox-broadcast-update@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz#e2c0280b149e3a504983b757606ad041f332c35b" + integrity sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.3.1" -workbox-build@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-3.6.3.tgz#77110f9f52dc5d82fa6c1c384c6f5e2225adcbd8" - integrity sha512-w0clZ/pVjL8VXy6GfthefxpEXs0T8uiRuopZSFVQ8ovfbH6c6kUpEh6DcYwm/Y6dyWPiCucdyAZotgjz+nRz8g== +workbox-build@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-4.3.1.tgz#414f70fb4d6de47f6538608b80ec52412d233e64" + integrity sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw== dependencies: - babel-runtime "^6.26.0" - common-tags "^1.4.0" + "@babel/runtime" "^7.3.4" + "@hapi/joi" "^15.0.0" + common-tags "^1.8.0" fs-extra "^4.0.2" - glob "^7.1.2" - joi "^11.1.1" + glob "^7.1.3" lodash.template "^4.4.0" - pretty-bytes "^4.0.2" - stringify-object "^3.2.2" + pretty-bytes "^5.1.0" + stringify-object "^3.3.0" strip-comments "^1.0.2" - workbox-background-sync "^3.6.3" - workbox-broadcast-cache-update "^3.6.3" - workbox-cache-expiration "^3.6.3" - workbox-cacheable-response "^3.6.3" - workbox-core "^3.6.3" - workbox-google-analytics "^3.6.3" - workbox-navigation-preload "^3.6.3" - workbox-precaching "^3.6.3" - workbox-range-requests "^3.6.3" - workbox-routing "^3.6.3" - workbox-strategies "^3.6.3" - workbox-streams "^3.6.3" - workbox-sw "^3.6.3" + workbox-background-sync "^4.3.1" + workbox-broadcast-update "^4.3.1" + workbox-cacheable-response "^4.3.1" + workbox-core "^4.3.1" + workbox-expiration "^4.3.1" + workbox-google-analytics "^4.3.1" + workbox-navigation-preload "^4.3.1" + workbox-precaching "^4.3.1" + workbox-range-requests "^4.3.1" + workbox-routing "^4.3.1" + workbox-strategies "^4.3.1" + workbox-streams "^4.3.1" + workbox-sw "^4.3.1" + workbox-window "^4.3.1" -workbox-cache-expiration@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-cache-expiration/-/workbox-cache-expiration-3.6.3.tgz#4819697254a72098a13f94b594325a28a1e90372" - integrity sha512-+ECNph/6doYx89oopO/UolYdDmQtGUgo8KCgluwBF/RieyA1ZOFKfrSiNjztxOrGJoyBB7raTIOlEEwZ1LaHoA== +workbox-cacheable-response@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz#f53e079179c095a3f19e5313b284975c91428c91" + integrity sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.3.1" -workbox-cacheable-response@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-3.6.3.tgz#869f1a68fce9063f6869ddbf7fa0a2e0a868b3aa" - integrity sha512-QpmbGA9SLcA7fklBLm06C4zFg577Dt8u3QgLM0eMnnbaVv3rhm4vbmDpBkyTqvgK/Ly8MBDQzlXDtUCswQwqqg== +workbox-core@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-4.3.1.tgz#005d2c6a06a171437afd6ca2904a5727ecd73be6" + integrity sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg== + +workbox-expiration@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-4.3.1.tgz#d790433562029e56837f341d7f553c4a78ebe921" + integrity sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.3.1" -workbox-core@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-3.6.3.tgz#69abba70a4f3f2a5c059295a6f3b7c62bd00e15c" - integrity sha512-cx9cx0nscPkIWs8Pt98HGrS9/aORuUcSkWjG25GqNWdvD/pSe7/5Oh3BKs0fC+rUshCiyLbxW54q0hA+GqZeSQ== - -workbox-google-analytics@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-3.6.3.tgz#99df2a3d70d6e91961e18a6752bac12e91fbf727" - integrity sha512-RQBUo/6SXtIaQTRFj4RQZ9e1gAl7D8oS5S+Hi173Kk70/BgJjzPwXpC5A249Jv5YfkCOLMQCeF9A27BiD0b0ig== +workbox-google-analytics@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz#9eda0183b103890b5c256e6f4ea15a1f1548519a" + integrity sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg== dependencies: - workbox-background-sync "^3.6.3" - workbox-core "^3.6.3" - workbox-routing "^3.6.3" - workbox-strategies "^3.6.3" + workbox-background-sync "^4.3.1" + workbox-core "^4.3.1" + workbox-routing "^4.3.1" + workbox-strategies "^4.3.1" -workbox-navigation-preload@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-3.6.3.tgz#a2c34eb7c17e7485b795125091215f757b3c4964" - integrity sha512-dd26xTX16DUu0i+MhqZK/jQXgfIitu0yATM4jhRXEmpMqQ4MxEeNvl2CgjDMOHBnCVMax+CFZQWwxMx/X/PqCw== +workbox-navigation-preload@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz#29c8e4db5843803b34cd96dc155f9ebd9afa453d" + integrity sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.3.1" -workbox-precaching@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-3.6.3.tgz#5341515e9d5872c58ede026a31e19bafafa4e1c1" - integrity sha512-aBqT66BuMFviPTW6IpccZZHzpA8xzvZU2OM1AdhmSlYDXOJyb1+Z6blVD7z2Q8VNtV1UVwQIdImIX+hH3C3PIw== +workbox-precaching@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-4.3.1.tgz#9fc45ed122d94bbe1f0ea9584ff5940960771cba" + integrity sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.3.1" -workbox-range-requests@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-3.6.3.tgz#3cc21cba31f2dd8c43c52a196bcc8f6cdbcde803" - integrity sha512-R+yLWQy7D9aRF9yJ3QzwYnGFnGDhMUij4jVBUVtkl67oaVoP1ymZ81AfCmfZro2kpPRI+vmNMfxxW531cqdx8A== +workbox-range-requests@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz#f8a470188922145cbf0c09a9a2d5e35645244e74" + integrity sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.3.1" -workbox-routing@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-3.6.3.tgz#659cd8f9274986cfa98fda0d050de6422075acf7" - integrity sha512-bX20i95OKXXQovXhFOViOK63HYmXvsIwZXKWbSpVeKToxMrp0G/6LZXnhg82ijj/S5yhKNRf9LeGDzaqxzAwMQ== +workbox-routing@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-4.3.1.tgz#a675841af623e0bb0c67ce4ed8e724ac0bed0cda" + integrity sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.3.1" -workbox-strategies@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-3.6.3.tgz#11a0dc249a7bc23d3465ec1322d28fa6643d64a0" - integrity sha512-Pg5eulqeKet2y8j73Yw6xTgLdElktcWExGkzDVCGqfV9JCvnGuEpz5eVsCIK70+k4oJcBCin9qEg3g3CwEIH3g== +workbox-strategies@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-4.3.1.tgz#d2be03c4ef214c115e1ab29c9c759c9fe3e9e646" + integrity sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.3.1" -workbox-streams@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-3.6.3.tgz#beaea5d5b230239836cc327b07d471aa6101955a" - integrity sha512-rqDuS4duj+3aZUYI1LsrD2t9hHOjwPqnUIfrXSOxSVjVn83W2MisDF2Bj+dFUZv4GalL9xqErcFW++9gH+Z27w== +workbox-streams@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-4.3.1.tgz#0b57da70e982572de09c8742dd0cb40a6b7c2cc3" + integrity sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.3.1" -workbox-sw@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-3.6.3.tgz#278ea4c1831b92bbe2d420da8399176c4b2789ff" - integrity sha512-IQOUi+RLhvYCiv80RP23KBW/NTtIvzvjex28B8NW1jOm+iV4VIu3VXKXTA6er5/wjjuhmtB28qEAUqADLAyOSg== +workbox-sw@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-4.3.1.tgz#df69e395c479ef4d14499372bcd84c0f5e246164" + integrity sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w== -workbox-webpack-plugin@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-3.6.3.tgz#a807bb891b4e4e3c808df07e58f17de2d5ba6182" - integrity sha512-RwmKjc7HFHUFHoOlKoZUq9349u0QN3F8W5tZZU0vc1qsBZDINWXRiIBCAKvo/Njgay5sWz7z4I2adnyTo97qIQ== +workbox-webpack-plugin@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz#47ff5ea1cc074b6c40fb5a86108863a24120d4bd" + integrity sha512-gJ9jd8Mb8wHLbRz9ZvGN57IAmknOipD3W4XNE/Lk/4lqs5Htw4WOQgakQy/o/4CoXQlMCYldaqUg+EJ35l9MEQ== dependencies: - babel-runtime "^6.26.0" + "@babel/runtime" "^7.0.0" json-stable-stringify "^1.0.1" - workbox-build "^3.6.3" + workbox-build "^4.3.1" + +workbox-window@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-4.3.1.tgz#ee6051bf10f06afa5483c9b8dfa0531994ede0f3" + integrity sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg== + dependencies: + workbox-core "^4.3.1" worker-farm@^1.5.2: version "1.6.0" @@ -10008,6 +10427,13 @@ worker-farm@^1.5.2: dependencies: errno "~0.1.7" +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== + dependencies: + errno "~0.1.7" + wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" @@ -10030,10 +10456,10 @@ write-file-atomic@2.4.1: imurmurhash "^0.1.4" signal-exit "^3.0.2" -write@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" - integrity sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c= +write@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== dependencies: mkdirp "^0.5.1" @@ -10065,11 +10491,6 @@ y18n@^3.2.1: resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= - yallist@^3.0.0, yallist@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" @@ -10090,31 +10511,6 @@ yargs-parser@^5.0.0: dependencies: camelcase "^3.0.0" -yargs-parser@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950" - integrity sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ== - dependencies: - camelcase "^4.1.0" - -yargs@^10.0.3: - version "10.1.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.2.tgz#454d074c2b16a51a43e2fb7807e4f9de69ccb5c5" - integrity sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig== - dependencies: - cliui "^4.0.0" - decamelize "^1.1.1" - find-up "^2.1.0" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^8.1.0" - yargs@^12.0.2: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" diff --git a/go.mod b/go.mod index c2c6d650..660e71a7 100644 --- a/go.mod +++ b/go.mod @@ -1,55 +1,54 @@ module github.com/khlieng/dispatch require ( - github.com/BurntSushi/toml v0.3.1 // indirect - github.com/RoaringBitmap/roaring v0.4.16 // indirect + github.com/RoaringBitmap/roaring v0.4.17 // indirect github.com/blevesearch/bleve v0.0.0-20180525174403-1d6d47ed3ad9 github.com/blevesearch/blevex v0.0.0-20180227211930-4b158bb555a3 // indirect - github.com/blevesearch/go-porterstemmer v0.0.0-20141230013033-23a2c8e5cf1f // indirect + github.com/blevesearch/go-porterstemmer v1.0.2 // indirect github.com/blevesearch/segment v0.0.0-20160915185041-762005e7a34f // indirect github.com/boltdb/bolt v0.0.0-20180302180052-fd01fc79c553 - github.com/couchbase/vellum v0.0.0-20190111184608-e91b68ff3efe // indirect + github.com/couchbase/vellum v0.0.0-20190606010143-5f4edc22838b // indirect github.com/cznic/b v0.0.0-20181122101859-a26611c4d92d // indirect github.com/cznic/mathutil v0.0.0-20181122101859-297441e03548 // indirect github.com/cznic/strutil v0.0.0-20181122101858-275e90344537 // indirect - github.com/dsnet/compress v0.0.0-20171208185109-cc9eb1d7ad76 + github.com/dsnet/compress v0.0.1 github.com/edsrzf/mmap-go v1.0.0 // indirect github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51 // indirect github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 // indirect github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870 // indirect github.com/fsnotify/fsnotify v1.4.7 - github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2 // indirect - github.com/glycerine/goconvey v0.0.0-20180728074245-46e3a41ad493 // indirect - github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e // indirect + github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31 // indirect + github.com/go-acme/lego v2.6.0+incompatible // indirect + github.com/gopherjs/gopherjs v0.0.0-20190430165422-3e4dfb77656c // indirect github.com/gorilla/websocket v1.4.0 - github.com/inconshreveable/mousetrap v1.0.0 // indirect - github.com/jmhodges/levigo v0.0.0-20161115193449-c42d9e0ca023 // indirect + github.com/jmhodges/levigo v1.0.0 // indirect github.com/jpillora/backoff v0.0.0-20180909062703-3050d21c67d7 - github.com/jtolds/gls v4.2.1+incompatible // indirect github.com/kjk/betterguid v0.0.0-20170621091430-c442874ba63a - github.com/klauspost/cpuid v1.2.0 - github.com/kr/pretty v0.1.0 // indirect - github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329 - github.com/mholt/certmagic v0.0.0-20190204191230-f92e85346d81 - github.com/miekg/dns v1.1.4 // indirect + github.com/klauspost/cpuid v1.2.1 + github.com/magiconair/properties v1.8.1 // indirect + github.com/mailru/easyjson v0.0.0-20190403194419-1ea4449da983 + github.com/mholt/certmagic v0.5.1 + github.com/miekg/dns v1.1.13 // indirect github.com/mitchellh/go-homedir v1.1.0 - github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae // indirect - github.com/philhofer/fwd v1.0.0 // indirect - github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446 // indirect - github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304 // indirect - github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c // indirect - github.com/spf13/afero v1.2.1 // indirect - github.com/spf13/cobra v0.0.3 - github.com/spf13/viper v1.3.1 + github.com/onsi/ginkgo v1.8.0 // indirect + github.com/onsi/gomega v1.5.0 // indirect + github.com/pelletier/go-toml v1.4.0 // indirect + github.com/remyoudompheng/bigfft v0.0.0-20190512091148-babf20351dd7 // indirect + github.com/smartystreets/assertions v1.0.0 // indirect + github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a // indirect + github.com/spf13/afero v1.2.2 // indirect + github.com/spf13/cobra v0.0.5 + github.com/spf13/jwalterweatherman v1.1.0 // indirect + github.com/spf13/viper v1.4.0 github.com/steveyen/gtreap v0.0.0-20150807155958-0abe01ef9be2 // indirect github.com/stretchr/testify v1.3.0 - github.com/syndtr/goleveldb v0.0.0-20190203031304-2f17a3356c66 // indirect - github.com/tdewolff/minify/v2 v2.3.8 - github.com/tecbot/gorocksdb v0.0.0-20181010114359-8752a9433481 // indirect - github.com/tinylib/msgp v1.1.0 // indirect - github.com/willf/bitset v1.1.9 // indirect - golang.org/x/crypto v0.0.0-20190131182504-b8fe1690c613 // indirect - golang.org/x/net v0.0.0-20190206173232-65e2d4e15006 - golang.org/x/sys v0.0.0-20190204203706-41f3e6584952 // indirect - gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect + github.com/syndtr/goleveldb v1.0.0 // indirect + github.com/tdewolff/minify/v2 v2.5.0 + github.com/tecbot/gorocksdb v0.0.0-20190519120508-025c3cf4ffb4 // indirect + golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5 // indirect + golang.org/x/net v0.0.0-20190607181551-461777fb6f67 + golang.org/x/sync v0.0.0-20190423024810-112230192c58 // indirect + golang.org/x/sys v0.0.0-20190608050228-5b15430b70e3 // indirect + golang.org/x/text v0.3.2 // indirect + gopkg.in/square/go-jose.v2 v2.3.1 // indirect ) diff --git a/go.sum b/go.sum index 4f8c4188..f1be6d5c 100644 --- a/go.sum +++ b/go.sum @@ -1,24 +1,38 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/RoaringBitmap/roaring v0.4.16 h1:NholfewybRLOwACgfqfzn/N5xa6keKNs4fP00t0cwLo= -github.com/RoaringBitmap/roaring v0.4.16/go.mod h1:8khRDP4HmeXns4xIj9oGrKSz7XTQiJx2zgh7AcNke4w= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/RoaringBitmap/roaring v0.4.17 h1:oCYFIFEMSQZrLHpywH7919esI1VSrQZ0pJXkZPGIJ78= +github.com/RoaringBitmap/roaring v0.4.17/go.mod h1:D3qVegWTmfCaX4Bl5CrBE9hfrSrrXIr8KVNvRsDi1NI= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/blevesearch/bleve v0.0.0-20180525174403-1d6d47ed3ad9 h1:q25+axgzH1KX+j63v3yrkY1VHc6PkyTfpnzOmtAH154= github.com/blevesearch/bleve v0.0.0-20180525174403-1d6d47ed3ad9/go.mod h1:Y2lmIkzV6mcNfAnAdOd+ZxHkHchhBfU/xroGIp61wfw= github.com/blevesearch/blevex v0.0.0-20180227211930-4b158bb555a3 h1:U6vnxZrTfItfiUiYx0lf/LgHjRSfaKK5QHSom3lEbnA= github.com/blevesearch/blevex v0.0.0-20180227211930-4b158bb555a3/go.mod h1:WH+MU2F4T0VmSdaPX+Wu5GYoZBrYWdOZWSjzvYcDmqQ= -github.com/blevesearch/go-porterstemmer v0.0.0-20141230013033-23a2c8e5cf1f h1:J9ZVHbB2X6JNxbKw/f3Y4E9Xq+Ro+zPiivzgmi3RTvg= -github.com/blevesearch/go-porterstemmer v0.0.0-20141230013033-23a2c8e5cf1f/go.mod h1:haWQqFT3RdOGz7PJuM3or/pWNJS1pKkoZJWCkWu0DVA= +github.com/blevesearch/go-porterstemmer v1.0.2 h1:qe7n69gBd1OLY5sHKnxQHIbzn0LNJA4hpAf+5XDxV2I= +github.com/blevesearch/go-porterstemmer v1.0.2/go.mod h1:haWQqFT3RdOGz7PJuM3or/pWNJS1pKkoZJWCkWu0DVA= github.com/blevesearch/segment v0.0.0-20160915185041-762005e7a34f h1:kqbi9lqXLLs+zfWlgo1PIiRQ86n33K1JKotjj4rSYOg= github.com/blevesearch/segment v0.0.0-20160915185041-762005e7a34f/go.mod h1:IInt5XRvpiGE09KOk9mmCMLjHhydIhNPKPPFLFBB7L8= github.com/boltdb/bolt v0.0.0-20180302180052-fd01fc79c553 h1:yvSJ8qbaWLeS7COhu2KJ0epn4mmc+aGeBP7Dpg7xQTY= github.com/boltdb/bolt v0.0.0-20180302180052-fd01fc79c553/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= +github.com/cenkalti/backoff v2.1.1+incompatible h1:tKJnvO2kl0zmb/jA5UKAt4VoEVw1qxKWjE/Bpp46npY= +github.com/cenkalti/backoff v2.1.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927/go.mod h1:h/aW8ynjgkuj+NQRlZcDbAbM1ORAbXjXX77sX7T289U= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/couchbase/vellum v0.0.0-20190111184608-e91b68ff3efe h1:2o6Y7KMjJNsuMTF8f2H2eTKRhqH7+bQbjr+D+LnhE5M= -github.com/couchbase/vellum v0.0.0-20190111184608-e91b68ff3efe/go.mod h1:prYTC8EgTu3gwbqJihkud9zRXISvyulAplQ6exdCo1g= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/couchbase/vellum v0.0.0-20190606010143-5f4edc22838b h1:GB0V0Si9pq1M9HM2QPP+n1xKsZgnPdxsn8w03WeXRmg= +github.com/couchbase/vellum v0.0.0-20190606010143-5f4edc22838b/go.mod h1:prYTC8EgTu3gwbqJihkud9zRXISvyulAplQ6exdCo1g= +github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cznic/b v0.0.0-20181122101859-a26611c4d92d h1:SwD98825d6bdB+pEuTxWOXiSjBrHdOl/UVp75eI7JT8= github.com/cznic/b v0.0.0-20181122101859-a26611c4d92d/go.mod h1:URriBxXwVq5ijiJ12C7iIZqlA69nTlI+LgI6/pwftG8= github.com/cznic/mathutil v0.0.0-20181122101859-297441e03548 h1:iwZdTE0PVqJCos1vaoKsclOGD3ADKpshg3SRtYBbwso= @@ -28,8 +42,11 @@ github.com/cznic/strutil v0.0.0-20181122101858-275e90344537/go.mod h1:AHHPPPXTw0 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dsnet/compress v0.0.0-20171208185109-cc9eb1d7ad76 h1:eX+pdPPlD279OWgdx7f6KqIRSONuK7egk+jDx7OM3Ac= -github.com/dsnet/compress v0.0.0-20171208185109-cc9eb1d7ad76/go.mod h1:KjxHHirfLaw19iGT70HvVjHQsL1vq1SRQB4yOsAfy2s= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/dsnet/compress v0.0.1 h1:PlZu0n3Tuv04TzpfPbrnI0HW/YwodEXDS+oPKahKF0Q= +github.com/dsnet/compress v0.0.1/go.mod h1:Aw8dCMJ7RioblQeTqt88akK31OvO8Dhf5JflhBbQEHo= +github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdfkVLjJ8T6VcRQv3SXugXy999NBtR9aFY= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= @@ -41,34 +58,68 @@ github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870 h1:E2s37DuLxFhQD github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2 h1:Ujru1hufTHVb++eG6OuNDKMxZnGIvF6o/u8q/8h2+I4= github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= github.com/glycerine/goconvey v0.0.0-20180728074245-46e3a41ad493 h1:OTanQnFt0bi5iLFSdbEVA/idR6Q2WhCm+deb7ir2CcM= github.com/glycerine/goconvey v0.0.0-20180728074245-46e3a41ad493/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= +github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31 h1:gclg6gY70GLy3PbkQ1AERPfmLMMagS60DKF78eWwLn8= +github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= +github.com/go-acme/lego v2.5.0+incompatible/go.mod h1:yzMNe9CasVUhkquNvti5nAtPmG94USbYxYrZfTkIn0M= +github.com/go-acme/lego v2.6.0+incompatible h1:KxcEWOF5hKtgou4xIqPaXSRF9DoO4OJ90ndwdK6YH/k= +github.com/go-acme/lego v2.6.0+incompatible/go.mod h1:yzMNe9CasVUhkquNvti5nAtPmG94USbYxYrZfTkIn0M= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db h1:woRePGFeVFfLKN/pOkfl+p/TAqKOfFu+7KPlMVpok/w= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e h1:JKmoR8x90Iww1ks85zJ1lfDGgIiMDuIptTOhJq+zKyg= -github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gopherjs/gopherjs v0.0.0-20190430165422-3e4dfb77656c h1:7lF+Vz0LqiRidnzC1Oq86fpX1q/iEv2KJdrCtttYjT4= +github.com/gopherjs/gopherjs v0.0.0-20190430165422-3e4dfb77656c/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/jmhodges/levigo v0.0.0-20161115193449-c42d9e0ca023 h1:y5P5G9cANJZt3MXlMrgELo5mNLZPXH8aGFFFG7IzPU0= -github.com/jmhodges/levigo v0.0.0-20161115193449-c42d9e0ca023/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= +github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U= +github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jpillora/backoff v0.0.0-20180909062703-3050d21c67d7 h1:K//n/AqR5HjG3qxbrBCL4vJPW0MVFSs9CPK1OOJdRME= github.com/jpillora/backoff v0.0.0-20180909062703-3050d21c67d7/go.mod h1:2iMrUgbbvHEiQClaW2NsSzMyGHqN+rDFqY705q49KG0= -github.com/jtolds/gls v4.2.1+incompatible h1:fSuqC+Gmlu6l/ZYAoZzx2pyucC8Xza35fpRVWLVmUEE= -github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kjk/betterguid v0.0.0-20170621091430-c442874ba63a h1:b+Gt8sQs//Sl5Dcem5zP9Qc2FgEUAygREa2AAa2Vmcw= github.com/kjk/betterguid v0.0.0-20170621091430-c442874ba63a/go.mod h1:uxRAhHE1nl34DpWgfe0CYbNYbCnYplaB6rZH9ReWtUk= +github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/cpuid v1.2.0 h1:NMpwD2G9JSFOE1/TJjGSo5zG7Yb2bTe7eq1jH+irmeE= github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/klauspost/cpuid v1.2.1 h1:vJi+O/nMdFt0vqm8NZBI6wzALWdA2X+egi0ogNyrC/w= +github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= @@ -76,111 +127,187 @@ github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/magiconair/properties v1.8.0 h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDePerRcY= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329 h1:2gxZ0XQIU/5z3Z3bUBu+FXuk2pFbkN6tcwi/pjyaDic= -github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= +github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/mailru/easyjson v0.0.0-20190403194419-1ea4449da983 h1:wL11wNW7dhKIcRCHSm4sHKPWz0tt4mwBsVodG7+Xyqg= +github.com/mailru/easyjson v0.0.0-20190403194419-1ea4449da983/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/matryer/try v0.0.0-20161228173917-9ac251b645a2/go.mod h1:0KeJpeMD6o+O4hW7qJOT7vyQPKrWmj26uf5wMc/IiIs= -github.com/mholt/certmagic v0.0.0-20190204191230-f92e85346d81 h1:hC5VLoR9AHOEH8FRrnNcVsA+wOjq6vtwKHZWvGF8/ZY= -github.com/mholt/certmagic v0.0.0-20190204191230-f92e85346d81/go.mod h1:uJBTUhq6XCiKTEvjMlEy3iOqAFuYwhOh2TXYp/9uMv8= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/mholt/certmagic v0.5.1 h1:8Pf6Hwwlh5sbT3nwn3ovXyXWxHCEM54wvfLzTrQ+UiM= +github.com/mholt/certmagic v0.5.1/go.mod h1:g4cOPxcjV0oFq3qwpjSA30LReKD8AoIfwAY9VvG35NY= github.com/miekg/dns v1.1.3 h1:1g0r1IvskvgL8rR+AcHzUA+oFmGcQlaIm4IqakufeMM= github.com/miekg/dns v1.1.3/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/miekg/dns v1.1.4 h1:rCMZsU2ScVSYcAsOXgmC6+AKOK+6pmQTOcw03nfwYV0= -github.com/miekg/dns v1.1.4/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/dns v1.1.13 h1:x7DQtkU0cedzeS8TD36tT/w1Hm4rDtfCaYYAHE7TTBI= +github.com/miekg/dns v1.1.13/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae h1:VeRdUYdCw49yizlSbMEn2SZ+gT+3IUKx8BqxyQdz+BY= github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/onsi/ginkgo v1.6.0 h1:Ix8l273rp3QzYgXSR+c8d1fTG7UPgYkOSELPhiY/YGw= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0 h1:WSHQ+IS43OoUrWtD1/bbclrwK8TTH5hzp+umCiuxHgs= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0 h1:VkHVNpR4iVnU8XQR6DBm8BqYjN7CRzw+xKUbVVbbW9w= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/gomega v1.4.3 h1:RE1xgDvH7imwFD45h+u2SgIfERHlS2yNG4DObb5BSKU= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.4.0 h1:u3Z1r+oOXJIkxqw34zVhyPgjBsm6X2wn21NWs/HfSeg= +github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo= github.com/philhofer/fwd v1.0.0 h1:UbZqGr5Y38ApvM/V/jEljVxwocdweyH+vmYvRPBnbqQ= github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446 h1:/NRJ5vAYoqz+7sG51ubIDHXeWO8DlTSrToPu6q11ziA= -github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M= -github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304 h1:Jpy1PXuP99tXNrhbq2BaPz9B+jNAvH1JPQQpG/9GCXY= -github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c h1:Ho+uVpkel/udgjbwB5Lktg9BtvJSh2DT0Hi6LPSyI2w= -github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/remyoudompheng/bigfft v0.0.0-20190512091148-babf20351dd7 h1:FUL3b97ZY2EPqg2NbXKuMHs5pXJB9hjj1fDHnF2vl28= +github.com/remyoudompheng/bigfft v0.0.0-20190512091148-babf20351dd7/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/assertions v1.0.0 h1:UVQPSSmc3qtTi+zPPkCXvZX9VvW/xT/NsRvKfwY81a8= +github.com/smartystreets/assertions v1.0.0/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM= +github.com/smartystreets/goconvey v0.0.0-20190306220146-200a235640ff/go.mod h1:KSQcGKpxUMHk3nbYzs/tIBAM2iDooCn0BmttHOJEbLs= +github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a h1:pa8hGb/2YqsZKovtsgrwcDH1RZhVbTKCjLp47XpqCDs= +github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.2.1 h1:qgMbHoJbPbw579P+1zVY+6n4nIFuIchaIjzZ/I/Yq8M= -github.com/spf13/afero v1.2.1/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.3 h1:ZlrZ4XsMRm04Fr5pSFxBgfND2EBVa1nLpiy1stUsX/8= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v0.0.5 h1:f0B+LkLX6DtmRH1isoNA9VTtNUK9K8xYd28JNNfOv/s= +github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/viper v1.3.1 h1:5+8j8FTpnFV4nEImW/ofkzEt8VoOiLXxdYIDsB73T38= -github.com/spf13/viper v1.3.1/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= +github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= +github.com/spf13/viper v1.4.0 h1:yXHLWeravcrgGyFSyCgdYpXQ9dR9c/WED3pg1RhxqEU= +github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/steveyen/gtreap v0.0.0-20150807155958-0abe01ef9be2 h1:JNEGSiWg6D3lcBCMCBqN3ELniXujt+0QNHLhNnO0w3s= github.com/steveyen/gtreap v0.0.0-20150807155958-0abe01ef9be2/go.mod h1:mjqs7N0Q6m5HpR7QfXVBZXZWSqTjQLeTujjA/xUp2uw= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/syndtr/goleveldb v0.0.0-20190203031304-2f17a3356c66 h1:AwmkkZT+TucFotNCL+aNJ/0KCMsRtlXN9fs8uoOMSRk= -github.com/syndtr/goleveldb v0.0.0-20190203031304-2f17a3356c66/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ= -github.com/tdewolff/minify/v2 v2.3.8 h1:Eyv23Tu+Rb5Q2vyxmvzUgtHetgneqAsaGv3950s1EeA= -github.com/tdewolff/minify/v2 v2.3.8/go.mod h1:DD1stRlSx6JsHfl1+E/HVMQeXiec9rD1UQ0epklIZLc= -github.com/tdewolff/parse/v2 v2.3.5 h1:/uS8JfhwVJsNkEh769GM5ENv6L9LOh2Z9uW3tCdlhs0= -github.com/tdewolff/parse/v2 v2.3.5/go.mod h1:HansaqmN4I/U7L6/tUp0NcwT2tFO0F4EAWYGSDzkYNk= +github.com/syndtr/goleveldb v1.0.0 h1:fBdIW9lB4Iz0n9khmH8w27SJ3QEJ7+IgjPEwGSZiFdE= +github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ= +github.com/tdewolff/minify/v2 v2.5.0 h1:OWPdsMnomzKoL5tzgW3HK3t1zVxsHF6SlGxJjUnoMdw= +github.com/tdewolff/minify/v2 v2.5.0/go.mod h1:ZLQDMgUYkaNxM5YLYnp151Lb6Ff+rAxNIzLxEkrKImQ= +github.com/tdewolff/parse/v2 v2.3.7 h1:DXoTUgrUE2Eap0m7zg1ljCO5C78vhEi7HTc4YnJWrRk= +github.com/tdewolff/parse/v2 v2.3.7/go.mod h1:HansaqmN4I/U7L6/tUp0NcwT2tFO0F4EAWYGSDzkYNk= github.com/tdewolff/test v1.0.0 h1:jOwzqCXr5ePXEPGJaq2ivoR6HOCi+D5TPfpoyg8yvmU= github.com/tdewolff/test v1.0.0/go.mod h1:DiQUlutnqlEvdvhSn2LPGy4TFwRauAaYDsL+683RNX4= -github.com/tecbot/gorocksdb v0.0.0-20181010114359-8752a9433481 h1:HOxvxvnntLiPn123Fk+twfUhCQdMDaqmb0cclArW0T0= -github.com/tecbot/gorocksdb v0.0.0-20181010114359-8752a9433481/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8= +github.com/tecbot/gorocksdb v0.0.0-20190519120508-025c3cf4ffb4 h1:ktZy3TUr3YgNRAufBhDmvfLcRdlOU3CNy6p5haZkfkM= +github.com/tecbot/gorocksdb v0.0.0-20190519120508-025c3cf4ffb4/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8= github.com/tinylib/msgp v1.1.0 h1:9fQd+ICuRIu/ue4vxJZu6/LzxN0HwMds2nq/0cFvxHU= github.com/tinylib/msgp v1.1.0/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/willf/bitset v1.1.9 h1:GBtFynGY9ZWZmEC9sWuu41/7VBXPFCOAbCbqTflOg9c= -github.com/willf/bitset v1.1.9/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= -github.com/xenolf/lego v2.1.0+incompatible h1:zZErna+4KHeBsUC3mw6gthaXncPDoBuFJOHKCRl64Wg= -github.com/xenolf/lego v2.1.0+incompatible/go.mod h1:fwiGnfsIjG7OHPfOvgK7Y/Qo6+2Ox0iozjNTkZICKbY= +github.com/ulikunitz/xz v0.5.6/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= +github.com/willf/bitset v1.1.10 h1:NotGKqX0KwQ72NUzqrjZq5ipPNDQex9lo3WpaS8L2sc= +github.com/willf/bitset v1.1.10/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9 h1:mKdxBk7AujPs8kU4m80U72y/zjbZ3UcXC7dClwKbUI0= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190123085648-057139ce5d2b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190131182504-b8fe1690c613 h1:MQ/ZZiDsUapFFiMS+vzwXkCTeEKaum+Do5rINYJDmxc= -golang.org/x/crypto v0.0.0-20190131182504-b8fe1690c613/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5 h1:58fnuSXlxZmFdJyvtTFVmVhcMLU6v5fEb/ok4wyqtNU= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3 h1:ulvT7fqt0yHWzpJwI57MezWnYDVpCAYBVuYst/L+fAY= golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190206173232-65e2d4e15006 h1:bfLnR+k0tq5Lqt6dflRLcZiz6UaXCMt3vhYJ1l4FQ80= -golang.org/x/net v0.0.0-20190206173232-65e2d4e15006/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190607181551-461777fb6f67 h1:rJJxsykSlULwd2P2+pg/rtnwN2FrWp4IuCxOSyS0V00= +golang.org/x/net v0.0.0-20190607181551-461777fb6f67/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f h1:wMNYb4v58l5UBM7MYRLPG6ZhfOqbKu7X5eyFl8ZhKvA= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 h1:YUO/7uOKsKeq9UokNS62b8FYywz3ker1l1vDZRCRefw= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181031143558-9b800f95dbbc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190124100055-b90733256f2e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190204203706-41f3e6584952 h1:FDfvYgoVsA7TTZSbgiqjAbfPbK47CNHdWl3h/PJtii0= -golang.org/x/sys v0.0.0-20190204203706-41f3e6584952/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190608050228-5b15430b70e3 h1:xUZPeCzQtkdgRi9RjXIA+3w3RdyDLPqiaJlza5Fqpog= +golang.org/x/sys v0.0.0-20190608050228-5b15430b70e3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/square/go-jose.v2 v2.2.2 h1:orlkJ3myw8CN1nVQHBFfloD+L3egixIa4FvUP6RosSA= gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.3.1 h1:SK5KegNXmKmqE342YYN2qPHEnUYeoMiXXl1poUlI+o4= +gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1 h1:mUhvW9EsL+naU5Q3cakzfE91YhliOondGd6ZrsDBHQE= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/pkg/https/https.go b/pkg/https/https.go index a25992a6..9c2a9164 100644 --- a/pkg/https/https.go +++ b/pkg/https/https.go @@ -59,18 +59,17 @@ func Serve(handler http.Handler, cfg Config) error { errCh <- httpsSrv.ListenAndServeTLS(cfg.Cert, cfg.Key) }() } else { - var cache *certmagic.Cache if cfg.StoragePath != "" { - cache = certmagic.NewCache(&certmagic.FileStorage{ + certmagic.Default.Storage = &certmagic.FileStorage{ Path: cfg.StoragePath, - }) + } } - magic := certmagic.NewWithCache(cache, certmagic.Config{ - Agreed: true, - Email: cfg.Email, - MustStaple: true, - }) + certmagic.Default.Agreed = true + certmagic.Default.Email = cfg.Email + certmagic.Default.MustStaple = true + + magic := certmagic.NewDefault() domains := []string{cfg.Domain} if cfg.Domain == "" { diff --git a/vendor/github.com/RoaringBitmap/roaring/.travis.yml b/vendor/github.com/RoaringBitmap/roaring/.travis.yml index 5dec9637..32ceaa6f 100644 --- a/vendor/github.com/RoaringBitmap/roaring/.travis.yml +++ b/vendor/github.com/RoaringBitmap/roaring/.travis.yml @@ -12,6 +12,8 @@ go: - "1.8.x" - "1.9.x" - "1.10.x" +- "1.11.x" +- "1.12.x" - tip # whitelist diff --git a/vendor/github.com/RoaringBitmap/roaring/CONTRIBUTORS b/vendor/github.com/RoaringBitmap/roaring/CONTRIBUTORS index e7fc04fb..4a8bda2b 100644 --- a/vendor/github.com/RoaringBitmap/roaring/CONTRIBUTORS +++ b/vendor/github.com/RoaringBitmap/roaring/CONTRIBUTORS @@ -11,4 +11,5 @@ Jason E. Aten (@glycerine), Vali Malinoiu (@0x4139), Forud Ghafouri (@fzerorubigd), Joe Nall (@joenall), -(@fredim) +(@fredim), +Edd Robinson (@e-dard) diff --git a/vendor/github.com/RoaringBitmap/roaring/LICENSE b/vendor/github.com/RoaringBitmap/roaring/LICENSE index aff5f999..3ccdd000 100644 --- a/vendor/github.com/RoaringBitmap/roaring/LICENSE +++ b/vendor/github.com/RoaringBitmap/roaring/LICENSE @@ -200,3 +200,36 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +================================================================================ + +Portions of runcontainer.go are from the Go standard library, which is licensed +under: + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/RoaringBitmap/roaring/bitmapcontainer.go b/vendor/github.com/RoaringBitmap/roaring/bitmapcontainer.go index 74b7a17c..038863da 100644 --- a/vendor/github.com/RoaringBitmap/roaring/bitmapcontainer.go +++ b/vendor/github.com/RoaringBitmap/roaring/bitmapcontainer.go @@ -532,11 +532,31 @@ func (bc *bitmapContainer) iorBitmap(value2 *bitmapContainer) container { func (bc *bitmapContainer) lazyIORArray(value2 *arrayContainer) container { answer := bc c := value2.getCardinality() - for k := 0; k < c; k++ { + for k := 0; k+3 < c; k += 4 { + content := (*[4]uint16)(unsafe.Pointer(&value2.content[k])) + vc0 := content[0] + i0 := uint(vc0) >> 6 + answer.bitmap[i0] = answer.bitmap[i0] | (uint64(1) << (vc0 % 64)) + + vc1 := content[1] + i1 := uint(vc1) >> 6 + answer.bitmap[i1] = answer.bitmap[i1] | (uint64(1) << (vc1 % 64)) + + vc2 := content[2] + i2 := uint(vc2) >> 6 + answer.bitmap[i2] = answer.bitmap[i2] | (uint64(1) << (vc2 % 64)) + + vc3 := content[3] + i3 := uint(vc3) >> 6 + answer.bitmap[i3] = answer.bitmap[i3] | (uint64(1) << (vc3 % 64)) + } + + for k := c &^ 3; k < c; k++ { vc := value2.content[k] i := uint(vc) >> 6 answer.bitmap[i] = answer.bitmap[i] | (uint64(1) << (vc % 64)) } + answer.cardinality = invalidCardinality return answer } @@ -948,7 +968,7 @@ func (bc *bitmapContainer) PrevSetBit(i int) int { w = w << uint(63-b) if w != 0 { - return b - countLeadingZeros(w) + return i - countLeadingZeros(w) } x-- for ; x >= 0; x-- { diff --git a/vendor/github.com/RoaringBitmap/roaring/go.mod b/vendor/github.com/RoaringBitmap/roaring/go.mod new file mode 100644 index 00000000..95406c93 --- /dev/null +++ b/vendor/github.com/RoaringBitmap/roaring/go.mod @@ -0,0 +1,15 @@ +module github.com/RoaringBitmap/roaring + +go 1.12 + +require ( + github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2 + github.com/glycerine/goconvey v0.0.0-20180728074245-46e3a41ad493 // indirect + github.com/golang/snappy v0.0.1 // indirect + github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae + github.com/philhofer/fwd v1.0.0 // indirect + github.com/smartystreets/goconvey v0.0.0-20190306220146-200a235640ff + github.com/stretchr/testify v1.3.0 + github.com/tinylib/msgp v1.1.0 + github.com/willf/bitset v1.1.10 +) diff --git a/vendor/github.com/RoaringBitmap/roaring/go.sum b/vendor/github.com/RoaringBitmap/roaring/go.sum new file mode 100644 index 00000000..3dcbb911 --- /dev/null +++ b/vendor/github.com/RoaringBitmap/roaring/go.sum @@ -0,0 +1,29 @@ +github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2 h1:Ujru1hufTHVb++eG6OuNDKMxZnGIvF6o/u8q/8h2+I4= +github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= +github.com/glycerine/goconvey v0.0.0-20180728074245-46e3a41ad493 h1:OTanQnFt0bi5iLFSdbEVA/idR6Q2WhCm+deb7ir2CcM= +github.com/glycerine/goconvey v0.0.0-20180728074245-46e3a41ad493/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= +github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae h1:VeRdUYdCw49yizlSbMEn2SZ+gT+3IUKx8BqxyQdz+BY= +github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= +github.com/philhofer/fwd v1.0.0 h1:UbZqGr5Y38ApvM/V/jEljVxwocdweyH+vmYvRPBnbqQ= +github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v0.0.0-20190306220146-200a235640ff h1:86HlEv0yBCry9syNuylzqznKXDK11p6D0DT596yNMys= +github.com/smartystreets/goconvey v0.0.0-20190306220146-200a235640ff/go.mod h1:KSQcGKpxUMHk3nbYzs/tIBAM2iDooCn0BmttHOJEbLs= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/tinylib/msgp v1.1.0 h1:9fQd+ICuRIu/ue4vxJZu6/LzxN0HwMds2nq/0cFvxHU= +github.com/tinylib/msgp v1.1.0/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= +github.com/willf/bitset v1.1.10 h1:NotGKqX0KwQ72NUzqrjZq5ipPNDQex9lo3WpaS8L2sc= +github.com/willf/bitset v1.1.10/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= diff --git a/vendor/github.com/RoaringBitmap/roaring/roaring.go b/vendor/github.com/RoaringBitmap/roaring/roaring.go index 69c34c8e..02daef9f 100644 --- a/vendor/github.com/RoaringBitmap/roaring/roaring.go +++ b/vendor/github.com/RoaringBitmap/roaring/roaring.go @@ -364,17 +364,20 @@ func (rb *Bitmap) String() string { return buffer.String() } -// Iterator creates a new IntIterable to iterate over the integers contained in the bitmap, in sorted order +// Iterator creates a new IntIterable to iterate over the integers contained in the bitmap, in sorted order; +// the iterator becomes invalid if the bitmap is modified (e.g., with Add or Remove). func (rb *Bitmap) Iterator() IntIterable { return newIntIterator(rb) } -// ReverseIterator creates a new IntIterable to iterate over the integers contained in the bitmap, in sorted order +// ReverseIterator creates a new IntIterable to iterate over the integers contained in the bitmap, in sorted order; +// the iterator becomes invalid if the bitmap is modified (e.g., with Add or Remove). func (rb *Bitmap) ReverseIterator() IntIterable { return newIntReverseIterator(rb) } -// ManyIterator creates a new ManyIntIterable to iterate over the integers contained in the bitmap, in sorted order +// ManyIterator creates a new ManyIntIterable to iterate over the integers contained in the bitmap, in sorted order; +// the iterator becomes invalid if the bitmap is modified (e.g., with Add or Remove). func (rb *Bitmap) ManyIterator() ManyIntIterable { return newManyIntIterator(rb) } @@ -418,6 +421,7 @@ func (rb *Bitmap) Equals(o interface{}) bool { return false } +// AddOffset adds the value 'offset' to each and every value in a bitmap, generating a new bitmap in the process func AddOffset(x *Bitmap, offset uint32) (answer *Bitmap) { containerOffset := highbits(offset) inOffset := lowbits(offset) diff --git a/vendor/github.com/cenkalti/backoff/.gitignore b/vendor/github.com/cenkalti/backoff/.gitignore new file mode 100644 index 00000000..00268614 --- /dev/null +++ b/vendor/github.com/cenkalti/backoff/.gitignore @@ -0,0 +1,22 @@ +# Compiled Object files, Static and Dynamic libs (Shared Objects) +*.o +*.a +*.so + +# Folders +_obj +_test + +# Architecture specific extensions/prefixes +*.[568vq] +[568vq].out + +*.cgo1.go +*.cgo2.c +_cgo_defun.c +_cgo_gotypes.go +_cgo_export.* + +_testmain.go + +*.exe diff --git a/vendor/github.com/cenkalti/backoff/.travis.yml b/vendor/github.com/cenkalti/backoff/.travis.yml new file mode 100644 index 00000000..47a6a46e --- /dev/null +++ b/vendor/github.com/cenkalti/backoff/.travis.yml @@ -0,0 +1,10 @@ +language: go +go: + - 1.7 + - 1.x + - tip +before_install: + - go get github.com/mattn/goveralls + - go get golang.org/x/tools/cmd/cover +script: + - $HOME/gopath/bin/goveralls -service=travis-ci diff --git a/vendor/github.com/cenkalti/backoff/LICENSE b/vendor/github.com/cenkalti/backoff/LICENSE new file mode 100644 index 00000000..89b81799 --- /dev/null +++ b/vendor/github.com/cenkalti/backoff/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2014 Cenk Altı + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/cenkalti/backoff/README.md b/vendor/github.com/cenkalti/backoff/README.md new file mode 100644 index 00000000..55ebc98f --- /dev/null +++ b/vendor/github.com/cenkalti/backoff/README.md @@ -0,0 +1,30 @@ +# Exponential Backoff [![GoDoc][godoc image]][godoc] [![Build Status][travis image]][travis] [![Coverage Status][coveralls image]][coveralls] + +This is a Go port of the exponential backoff algorithm from [Google's HTTP Client Library for Java][google-http-java-client]. + +[Exponential backoff][exponential backoff wiki] +is an algorithm that uses feedback to multiplicatively decrease the rate of some process, +in order to gradually find an acceptable rate. +The retries exponentially increase and stop increasing when a certain threshold is met. + +## Usage + +See https://godoc.org/github.com/cenkalti/backoff#pkg-examples + +## Contributing + +* I would like to keep this library as small as possible. +* Please don't send a PR without opening an issue and discussing it first. +* If proposed change is not a common use case, I will probably not accept it. + +[godoc]: https://godoc.org/github.com/cenkalti/backoff +[godoc image]: https://godoc.org/github.com/cenkalti/backoff?status.png +[travis]: https://travis-ci.org/cenkalti/backoff +[travis image]: https://travis-ci.org/cenkalti/backoff.png?branch=master +[coveralls]: https://coveralls.io/github/cenkalti/backoff?branch=master +[coveralls image]: https://coveralls.io/repos/github/cenkalti/backoff/badge.svg?branch=master + +[google-http-java-client]: https://github.com/google/google-http-java-client/blob/da1aa993e90285ec18579f1553339b00e19b3ab5/google-http-client/src/main/java/com/google/api/client/util/ExponentialBackOff.java +[exponential backoff wiki]: http://en.wikipedia.org/wiki/Exponential_backoff + +[advanced example]: https://godoc.org/github.com/cenkalti/backoff#example_ diff --git a/vendor/github.com/cenkalti/backoff/backoff.go b/vendor/github.com/cenkalti/backoff/backoff.go new file mode 100644 index 00000000..3676ee40 --- /dev/null +++ b/vendor/github.com/cenkalti/backoff/backoff.go @@ -0,0 +1,66 @@ +// Package backoff implements backoff algorithms for retrying operations. +// +// Use Retry function for retrying operations that may fail. +// If Retry does not meet your needs, +// copy/paste the function into your project and modify as you wish. +// +// There is also Ticker type similar to time.Ticker. +// You can use it if you need to work with channels. +// +// See Examples section below for usage examples. +package backoff + +import "time" + +// BackOff is a backoff policy for retrying an operation. +type BackOff interface { + // NextBackOff returns the duration to wait before retrying the operation, + // or backoff. Stop to indicate that no more retries should be made. + // + // Example usage: + // + // duration := backoff.NextBackOff(); + // if (duration == backoff.Stop) { + // // Do not retry operation. + // } else { + // // Sleep for duration and retry operation. + // } + // + NextBackOff() time.Duration + + // Reset to initial state. + Reset() +} + +// Stop indicates that no more retries should be made for use in NextBackOff(). +const Stop time.Duration = -1 + +// ZeroBackOff is a fixed backoff policy whose backoff time is always zero, +// meaning that the operation is retried immediately without waiting, indefinitely. +type ZeroBackOff struct{} + +func (b *ZeroBackOff) Reset() {} + +func (b *ZeroBackOff) NextBackOff() time.Duration { return 0 } + +// StopBackOff is a fixed backoff policy that always returns backoff.Stop for +// NextBackOff(), meaning that the operation should never be retried. +type StopBackOff struct{} + +func (b *StopBackOff) Reset() {} + +func (b *StopBackOff) NextBackOff() time.Duration { return Stop } + +// ConstantBackOff is a backoff policy that always returns the same backoff delay. +// This is in contrast to an exponential backoff policy, +// which returns a delay that grows longer as you call NextBackOff() over and over again. +type ConstantBackOff struct { + Interval time.Duration +} + +func (b *ConstantBackOff) Reset() {} +func (b *ConstantBackOff) NextBackOff() time.Duration { return b.Interval } + +func NewConstantBackOff(d time.Duration) *ConstantBackOff { + return &ConstantBackOff{Interval: d} +} diff --git a/vendor/github.com/cenkalti/backoff/context.go b/vendor/github.com/cenkalti/backoff/context.go new file mode 100644 index 00000000..7706faa2 --- /dev/null +++ b/vendor/github.com/cenkalti/backoff/context.go @@ -0,0 +1,63 @@ +package backoff + +import ( + "context" + "time" +) + +// BackOffContext is a backoff policy that stops retrying after the context +// is canceled. +type BackOffContext interface { + BackOff + Context() context.Context +} + +type backOffContext struct { + BackOff + ctx context.Context +} + +// WithContext returns a BackOffContext with context ctx +// +// ctx must not be nil +func WithContext(b BackOff, ctx context.Context) BackOffContext { + if ctx == nil { + panic("nil context") + } + + if b, ok := b.(*backOffContext); ok { + return &backOffContext{ + BackOff: b.BackOff, + ctx: ctx, + } + } + + return &backOffContext{ + BackOff: b, + ctx: ctx, + } +} + +func ensureContext(b BackOff) BackOffContext { + if cb, ok := b.(BackOffContext); ok { + return cb + } + return WithContext(b, context.Background()) +} + +func (b *backOffContext) Context() context.Context { + return b.ctx +} + +func (b *backOffContext) NextBackOff() time.Duration { + select { + case <-b.ctx.Done(): + return Stop + default: + } + next := b.BackOff.NextBackOff() + if deadline, ok := b.ctx.Deadline(); ok && deadline.Sub(time.Now()) < next { + return Stop + } + return next +} diff --git a/vendor/github.com/cenkalti/backoff/exponential.go b/vendor/github.com/cenkalti/backoff/exponential.go new file mode 100644 index 00000000..a031a659 --- /dev/null +++ b/vendor/github.com/cenkalti/backoff/exponential.go @@ -0,0 +1,153 @@ +package backoff + +import ( + "math/rand" + "time" +) + +/* +ExponentialBackOff is a backoff implementation that increases the backoff +period for each retry attempt using a randomization function that grows exponentially. + +NextBackOff() is calculated using the following formula: + + randomized interval = + RetryInterval * (random value in range [1 - RandomizationFactor, 1 + RandomizationFactor]) + +In other words NextBackOff() will range between the randomization factor +percentage below and above the retry interval. + +For example, given the following parameters: + + RetryInterval = 2 + RandomizationFactor = 0.5 + Multiplier = 2 + +the actual backoff period used in the next retry attempt will range between 1 and 3 seconds, +multiplied by the exponential, that is, between 2 and 6 seconds. + +Note: MaxInterval caps the RetryInterval and not the randomized interval. + +If the time elapsed since an ExponentialBackOff instance is created goes past the +MaxElapsedTime, then the method NextBackOff() starts returning backoff.Stop. + +The elapsed time can be reset by calling Reset(). + +Example: Given the following default arguments, for 10 tries the sequence will be, +and assuming we go over the MaxElapsedTime on the 10th try: + + Request # RetryInterval (seconds) Randomized Interval (seconds) + + 1 0.5 [0.25, 0.75] + 2 0.75 [0.375, 1.125] + 3 1.125 [0.562, 1.687] + 4 1.687 [0.8435, 2.53] + 5 2.53 [1.265, 3.795] + 6 3.795 [1.897, 5.692] + 7 5.692 [2.846, 8.538] + 8 8.538 [4.269, 12.807] + 9 12.807 [6.403, 19.210] + 10 19.210 backoff.Stop + +Note: Implementation is not thread-safe. +*/ +type ExponentialBackOff struct { + InitialInterval time.Duration + RandomizationFactor float64 + Multiplier float64 + MaxInterval time.Duration + // After MaxElapsedTime the ExponentialBackOff stops. + // It never stops if MaxElapsedTime == 0. + MaxElapsedTime time.Duration + Clock Clock + + currentInterval time.Duration + startTime time.Time +} + +// Clock is an interface that returns current time for BackOff. +type Clock interface { + Now() time.Time +} + +// Default values for ExponentialBackOff. +const ( + DefaultInitialInterval = 500 * time.Millisecond + DefaultRandomizationFactor = 0.5 + DefaultMultiplier = 1.5 + DefaultMaxInterval = 60 * time.Second + DefaultMaxElapsedTime = 15 * time.Minute +) + +// NewExponentialBackOff creates an instance of ExponentialBackOff using default values. +func NewExponentialBackOff() *ExponentialBackOff { + b := &ExponentialBackOff{ + InitialInterval: DefaultInitialInterval, + RandomizationFactor: DefaultRandomizationFactor, + Multiplier: DefaultMultiplier, + MaxInterval: DefaultMaxInterval, + MaxElapsedTime: DefaultMaxElapsedTime, + Clock: SystemClock, + } + b.Reset() + return b +} + +type systemClock struct{} + +func (t systemClock) Now() time.Time { + return time.Now() +} + +// SystemClock implements Clock interface that uses time.Now(). +var SystemClock = systemClock{} + +// Reset the interval back to the initial retry interval and restarts the timer. +func (b *ExponentialBackOff) Reset() { + b.currentInterval = b.InitialInterval + b.startTime = b.Clock.Now() +} + +// NextBackOff calculates the next backoff interval using the formula: +// Randomized interval = RetryInterval +/- (RandomizationFactor * RetryInterval) +func (b *ExponentialBackOff) NextBackOff() time.Duration { + // Make sure we have not gone over the maximum elapsed time. + if b.MaxElapsedTime != 0 && b.GetElapsedTime() > b.MaxElapsedTime { + return Stop + } + defer b.incrementCurrentInterval() + return getRandomValueFromInterval(b.RandomizationFactor, rand.Float64(), b.currentInterval) +} + +// GetElapsedTime returns the elapsed time since an ExponentialBackOff instance +// is created and is reset when Reset() is called. +// +// The elapsed time is computed using time.Now().UnixNano(). It is +// safe to call even while the backoff policy is used by a running +// ticker. +func (b *ExponentialBackOff) GetElapsedTime() time.Duration { + return b.Clock.Now().Sub(b.startTime) +} + +// Increments the current interval by multiplying it with the multiplier. +func (b *ExponentialBackOff) incrementCurrentInterval() { + // Check for overflow, if overflow is detected set the current interval to the max interval. + if float64(b.currentInterval) >= float64(b.MaxInterval)/b.Multiplier { + b.currentInterval = b.MaxInterval + } else { + b.currentInterval = time.Duration(float64(b.currentInterval) * b.Multiplier) + } +} + +// Returns a random value from the following interval: +// [randomizationFactor * currentInterval, randomizationFactor * currentInterval]. +func getRandomValueFromInterval(randomizationFactor, random float64, currentInterval time.Duration) time.Duration { + var delta = randomizationFactor * float64(currentInterval) + var minInterval = float64(currentInterval) - delta + var maxInterval = float64(currentInterval) + delta + + // Get a random value from the range [minInterval, maxInterval]. + // The formula used below has a +1 because if the minInterval is 1 and the maxInterval is 3 then + // we want a 33% chance for selecting either 1, 2 or 3. + return time.Duration(minInterval + (random * (maxInterval - minInterval + 1))) +} diff --git a/vendor/github.com/cenkalti/backoff/retry.go b/vendor/github.com/cenkalti/backoff/retry.go new file mode 100644 index 00000000..e936a506 --- /dev/null +++ b/vendor/github.com/cenkalti/backoff/retry.go @@ -0,0 +1,82 @@ +package backoff + +import "time" + +// An Operation is executing by Retry() or RetryNotify(). +// The operation will be retried using a backoff policy if it returns an error. +type Operation func() error + +// Notify is a notify-on-error function. It receives an operation error and +// backoff delay if the operation failed (with an error). +// +// NOTE that if the backoff policy stated to stop retrying, +// the notify function isn't called. +type Notify func(error, time.Duration) + +// Retry the operation o until it does not return error or BackOff stops. +// o is guaranteed to be run at least once. +// +// If o returns a *PermanentError, the operation is not retried, and the +// wrapped error is returned. +// +// Retry sleeps the goroutine for the duration returned by BackOff after a +// failed operation returns. +func Retry(o Operation, b BackOff) error { return RetryNotify(o, b, nil) } + +// RetryNotify calls notify function with the error and wait duration +// for each failed attempt before sleep. +func RetryNotify(operation Operation, b BackOff, notify Notify) error { + var err error + var next time.Duration + var t *time.Timer + + cb := ensureContext(b) + + b.Reset() + for { + if err = operation(); err == nil { + return nil + } + + if permanent, ok := err.(*PermanentError); ok { + return permanent.Err + } + + if next = cb.NextBackOff(); next == Stop { + return err + } + + if notify != nil { + notify(err, next) + } + + if t == nil { + t = time.NewTimer(next) + defer t.Stop() + } else { + t.Reset(next) + } + + select { + case <-cb.Context().Done(): + return err + case <-t.C: + } + } +} + +// PermanentError signals that the operation should not be retried. +type PermanentError struct { + Err error +} + +func (e *PermanentError) Error() string { + return e.Err.Error() +} + +// Permanent wraps the given err in a *PermanentError. +func Permanent(err error) *PermanentError { + return &PermanentError{ + Err: err, + } +} diff --git a/vendor/github.com/cenkalti/backoff/ticker.go b/vendor/github.com/cenkalti/backoff/ticker.go new file mode 100644 index 00000000..e41084b0 --- /dev/null +++ b/vendor/github.com/cenkalti/backoff/ticker.go @@ -0,0 +1,82 @@ +package backoff + +import ( + "sync" + "time" +) + +// Ticker holds a channel that delivers `ticks' of a clock at times reported by a BackOff. +// +// Ticks will continue to arrive when the previous operation is still running, +// so operations that take a while to fail could run in quick succession. +type Ticker struct { + C <-chan time.Time + c chan time.Time + b BackOffContext + stop chan struct{} + stopOnce sync.Once +} + +// NewTicker returns a new Ticker containing a channel that will send +// the time at times specified by the BackOff argument. Ticker is +// guaranteed to tick at least once. The channel is closed when Stop +// method is called or BackOff stops. It is not safe to manipulate the +// provided backoff policy (notably calling NextBackOff or Reset) +// while the ticker is running. +func NewTicker(b BackOff) *Ticker { + c := make(chan time.Time) + t := &Ticker{ + C: c, + c: c, + b: ensureContext(b), + stop: make(chan struct{}), + } + t.b.Reset() + go t.run() + return t +} + +// Stop turns off a ticker. After Stop, no more ticks will be sent. +func (t *Ticker) Stop() { + t.stopOnce.Do(func() { close(t.stop) }) +} + +func (t *Ticker) run() { + c := t.c + defer close(c) + + // Ticker is guaranteed to tick at least once. + afterC := t.send(time.Now()) + + for { + if afterC == nil { + return + } + + select { + case tick := <-afterC: + afterC = t.send(tick) + case <-t.stop: + t.c = nil // Prevent future ticks from being sent to the channel. + return + case <-t.b.Context().Done(): + return + } + } +} + +func (t *Ticker) send(tick time.Time) <-chan time.Time { + select { + case t.c <- tick: + case <-t.stop: + return nil + } + + next := t.b.NextBackOff() + if next == Stop { + t.Stop() + return nil + } + + return time.After(next) +} diff --git a/vendor/github.com/cenkalti/backoff/tries.go b/vendor/github.com/cenkalti/backoff/tries.go new file mode 100644 index 00000000..cfeefd9b --- /dev/null +++ b/vendor/github.com/cenkalti/backoff/tries.go @@ -0,0 +1,35 @@ +package backoff + +import "time" + +/* +WithMaxRetries creates a wrapper around another BackOff, which will +return Stop if NextBackOff() has been called too many times since +the last time Reset() was called + +Note: Implementation is not thread-safe. +*/ +func WithMaxRetries(b BackOff, max uint64) BackOff { + return &backOffTries{delegate: b, maxTries: max} +} + +type backOffTries struct { + delegate BackOff + maxTries uint64 + numTries uint64 +} + +func (b *backOffTries) NextBackOff() time.Duration { + if b.maxTries > 0 { + if b.maxTries <= b.numTries { + return Stop + } + b.numTries++ + } + return b.delegate.NextBackOff() +} + +func (b *backOffTries) Reset() { + b.numTries = 0 + b.delegate.Reset() +} diff --git a/vendor/github.com/couchbase/vellum/fst_iterator.go b/vendor/github.com/couchbase/vellum/fst_iterator.go index eb731395..151593ec 100644 --- a/vendor/github.com/couchbase/vellum/fst_iterator.go +++ b/vendor/github.com/couchbase/vellum/fst_iterator.go @@ -40,6 +40,9 @@ type Iterator interface { // reuse (e.g. pooling). Reset(f *FST, startKeyInclusive, endKeyExclusive []byte, aut Automaton) error + // Exists checks whether the given key exists in the FST or not. + Exists(key []byte) (bool, error) + // Close() frees any resources held by this iterator. Close() error } @@ -186,20 +189,29 @@ func (i *FSTIterator) Next() error { } func (i *FSTIterator) next(lastOffset int) error { - // remember where we started + // remember where we started with keysStack in this next() call i.nextStart = append(i.nextStart[:0], i.keysStack...) nextOffset := lastOffset + 1 + allowCompare := false OUTER: for true { curr := i.statesStack[len(i.statesStack)-1] autCurr := i.autStatesStack[len(i.autStatesStack)-1] - if curr.Final() && i.aut.IsMatch(autCurr) && - bytes.Compare(i.keysStack, i.nextStart) > 0 { - // in final state greater than start key - return nil + if curr.Final() && i.aut.IsMatch(autCurr) && allowCompare { + // check to see if new keystack might have gone too far + if i.endKeyExclusive != nil && + bytes.Compare(i.keysStack, i.endKeyExclusive) >= 0 { + return ErrIteratorDone + } + + cmp := bytes.Compare(i.keysStack, i.nextStart) + if cmp > 0 { + // in final state greater than start key + return nil + } } numTrans := curr.NumTransitions() @@ -207,8 +219,12 @@ OUTER: INNER: for nextOffset < numTrans { t := curr.TransitionAt(nextOffset) + autNext := i.aut.Accept(autCurr, t) if !i.aut.CanMatch(autNext) { + // TODO: potential optimization to skip nextOffset + // forwards more directly to something that the + // automaton likes rather than a linear scan? nextOffset += 1 continue INNER } @@ -234,30 +250,41 @@ OUTER: i.valsStack = append(i.valsStack, v) i.autStatesStack = append(i.autStatesStack, autNext) - // check to see if new keystack might have gone too far - if i.endKeyExclusive != nil && - bytes.Compare(i.keysStack, i.endKeyExclusive) >= 0 { - return ErrIteratorDone - } - nextOffset = 0 + allowCompare = true + continue OUTER } + // no more transitions, so need to backtrack and stack pop if len(i.statesStack) <= 1 { // stack len is 1 (root), can't go back further, we're done break } - // no transitions, and still room to pop - i.statesStack = i.statesStack[:len(i.statesStack)-1] - i.keysStack = i.keysStack[:len(i.keysStack)-1] + // if the top of the stack represents a linear chain of states + // (i.e., a suffix of nodes linked by single transitions), + // then optimize by popping the suffix in one shot without + // going back all the way to the OUTER loop + var popNum int + for j := len(i.statesStack) - 1; j > 0; j-- { + if i.statesStack[j].NumTransitions() != 1 { + popNum = len(i.statesStack) - 1 - j + break + } + } + if popNum < 1 { // always pop at least 1 entry from the stacks + popNum = 1 + } - nextOffset = i.keysPosStack[len(i.keysPosStack)-1] + 1 + nextOffset = i.keysPosStack[len(i.keysPosStack)-popNum] + 1 + allowCompare = false - i.keysPosStack = i.keysPosStack[:len(i.keysPosStack)-1] - i.valsStack = i.valsStack[:len(i.valsStack)-1] - i.autStatesStack = i.autStatesStack[:len(i.autStatesStack)-1] + i.statesStack = i.statesStack[:len(i.statesStack)-popNum] + i.keysStack = i.keysStack[:len(i.keysStack)-popNum] + i.keysPosStack = i.keysPosStack[:len(i.keysPosStack)-popNum] + i.valsStack = i.valsStack[:len(i.valsStack)-popNum] + i.autStatesStack = i.autStatesStack[:len(i.autStatesStack)-popNum] } return ErrIteratorDone @@ -277,3 +304,56 @@ func (i *FSTIterator) Close() error { // but wanted this for API completeness return nil } + +// Exists attempts to check whether the given key exists in the FST +func (i *FSTIterator) Exists(key []byte) (bool, error) { + // reset any state, pointTo always starts over + i.statesStack = i.statesStack[:0] + i.keysStack = i.keysStack[:0] + i.keysPosStack = i.keysPosStack[:0] + i.valsStack = i.valsStack[:0] + i.autStatesStack = i.autStatesStack[:0] + + root, err := i.f.decoder.stateAt(i.f.decoder.getRoot(), nil) + if err != nil { + return false, err + } + + autStart := i.aut.Start() + + // root is always part of the path + i.statesStack = append(i.statesStack, root) + i.autStatesStack = append(i.autStatesStack, autStart) + for j := 0; j < len(key); j++ { + keyJ := key[j] + curr := i.statesStack[len(i.statesStack)-1] + autCurr := i.autStatesStack[len(i.autStatesStack)-1] + + pos, nextAddr, nextVal := curr.TransitionFor(keyJ) + if nextAddr == noneAddr { + // if the key doesn't exists, then exit + return false, nil + } + autNext := i.aut.Accept(autCurr, keyJ) + + next, err := i.f.decoder.stateAt(nextAddr, nil) + if err != nil { + return false, err + } + + i.statesStack = append(i.statesStack, next) + i.keysStack = append(i.keysStack, keyJ) + i.keysPosStack = append(i.keysPosStack, pos) + i.valsStack = append(i.valsStack, nextVal) + i.autStatesStack = append(i.autStatesStack, autNext) + continue + } + + if !i.statesStack[len(i.statesStack)-1].Final() || + !i.aut.IsMatch(i.autStatesStack[len(i.autStatesStack)-1]) || + bytes.Compare(i.keysStack, key) < 0 { + return false, nil + } + + return true, nil +} diff --git a/vendor/github.com/xenolf/lego/LICENSE b/vendor/github.com/go-acme/lego/LICENSE similarity index 100% rename from vendor/github.com/xenolf/lego/LICENSE rename to vendor/github.com/go-acme/lego/LICENSE diff --git a/vendor/github.com/xenolf/lego/acme/api/account.go b/vendor/github.com/go-acme/lego/acme/api/account.go similarity index 98% rename from vendor/github.com/xenolf/lego/acme/api/account.go rename to vendor/github.com/go-acme/lego/acme/api/account.go index 489be420..fd233142 100644 --- a/vendor/github.com/xenolf/lego/acme/api/account.go +++ b/vendor/github.com/go-acme/lego/acme/api/account.go @@ -5,7 +5,7 @@ import ( "errors" "fmt" - "github.com/xenolf/lego/acme" + "github.com/go-acme/lego/acme" ) type AccountService service diff --git a/vendor/github.com/xenolf/lego/acme/api/api.go b/vendor/github.com/go-acme/lego/acme/api/api.go similarity index 75% rename from vendor/github.com/xenolf/lego/acme/api/api.go rename to vendor/github.com/go-acme/lego/acme/api/api.go index 14b18f52..912e7c5a 100644 --- a/vendor/github.com/xenolf/lego/acme/api/api.go +++ b/vendor/github.com/go-acme/lego/acme/api/api.go @@ -2,17 +2,20 @@ package api import ( "bytes" + "context" "crypto" "encoding/json" "errors" "fmt" "net/http" + "time" - "github.com/xenolf/lego/acme" - "github.com/xenolf/lego/acme/api/internal/nonces" - "github.com/xenolf/lego/acme/api/internal/secure" - "github.com/xenolf/lego/acme/api/internal/sender" - "github.com/xenolf/lego/log" + "github.com/cenkalti/backoff" + "github.com/go-acme/lego/acme" + "github.com/go-acme/lego/acme/api/internal/nonces" + "github.com/go-acme/lego/acme/api/internal/secure" + "github.com/go-acme/lego/acme/api/internal/sender" + "github.com/go-acme/lego/log" ) // Core ACME/LE core API. @@ -64,34 +67,46 @@ func (a *Core) post(uri string, reqBody, response interface{}) (*http.Response, return nil, errors.New("failed to marshal message") } - return a.retrievablePost(uri, content, response, 0) + return a.retrievablePost(uri, content, response) } // postAsGet performs an HTTP POST ("POST-as-GET") request. // https://tools.ietf.org/html/draft-ietf-acme-acme-16#section-6.3 func (a *Core) postAsGet(uri string, response interface{}) (*http.Response, error) { - return a.retrievablePost(uri, []byte{}, response, 0) + return a.retrievablePost(uri, []byte{}, response) } -func (a *Core) retrievablePost(uri string, content []byte, response interface{}, retry int) (*http.Response, error) { - resp, err := a.signedPost(uri, content, response) - if err != nil { - // during tests, 5 retries allow to support ~50% of bad nonce. - if retry >= 5 { - log.Infof("too many retry on a nonce error, retry count: %d", retry) - return resp, err - } - switch err.(type) { - // Retry once if the nonce was invalidated - case *acme.NonceError: - log.Infof("nonce error retry: %s", err) - resp, err = a.retrievablePost(uri, content, response, retry+1) - if err != nil { - return resp, err +func (a *Core) retrievablePost(uri string, content []byte, response interface{}) (*http.Response, error) { + // during tests, allow to support ~90% of bad nonce with a minimum of attempts. + bo := backoff.NewExponentialBackOff() + bo.InitialInterval = 200 * time.Millisecond + bo.MaxInterval = 5 * time.Second + bo.MaxElapsedTime = 20 * time.Second + + ctx, cancel := context.WithCancel(context.Background()) + + var resp *http.Response + operation := func() error { + var err error + resp, err = a.signedPost(uri, content, response) + if err != nil { + switch err.(type) { + // Retry if the nonce was invalidated + case *acme.NonceError: + log.Infof("nonce error retry: %s", err) + return err + default: + cancel() + return err } - default: - return resp, err } + + return nil + } + + err := backoff.Retry(operation, backoff.WithContext(bo, ctx)) + if err != nil { + return nil, err } return resp, nil diff --git a/vendor/github.com/xenolf/lego/acme/api/authorization.go b/vendor/github.com/go-acme/lego/acme/api/authorization.go similarity index 96% rename from vendor/github.com/xenolf/lego/acme/api/authorization.go rename to vendor/github.com/go-acme/lego/acme/api/authorization.go index ed4a4867..a59fa0d2 100644 --- a/vendor/github.com/xenolf/lego/acme/api/authorization.go +++ b/vendor/github.com/go-acme/lego/acme/api/authorization.go @@ -3,7 +3,7 @@ package api import ( "errors" - "github.com/xenolf/lego/acme" + "github.com/go-acme/lego/acme" ) type AuthorizationService service diff --git a/vendor/github.com/xenolf/lego/acme/api/certificate.go b/vendor/github.com/go-acme/lego/acme/api/certificate.go similarity index 96% rename from vendor/github.com/xenolf/lego/acme/api/certificate.go rename to vendor/github.com/go-acme/lego/acme/api/certificate.go index db939ae4..65904e76 100644 --- a/vendor/github.com/xenolf/lego/acme/api/certificate.go +++ b/vendor/github.com/go-acme/lego/acme/api/certificate.go @@ -7,9 +7,9 @@ import ( "io/ioutil" "net/http" - "github.com/xenolf/lego/acme" - "github.com/xenolf/lego/certcrypto" - "github.com/xenolf/lego/log" + "github.com/go-acme/lego/acme" + "github.com/go-acme/lego/certcrypto" + "github.com/go-acme/lego/log" ) // maxBodySize is the maximum size of body that we will read. diff --git a/vendor/github.com/xenolf/lego/acme/api/challenge.go b/vendor/github.com/go-acme/lego/acme/api/challenge.go similarity index 97% rename from vendor/github.com/xenolf/lego/acme/api/challenge.go rename to vendor/github.com/go-acme/lego/acme/api/challenge.go index afcd0aa2..f4e8dbee 100644 --- a/vendor/github.com/xenolf/lego/acme/api/challenge.go +++ b/vendor/github.com/go-acme/lego/acme/api/challenge.go @@ -3,7 +3,7 @@ package api import ( "errors" - "github.com/xenolf/lego/acme" + "github.com/go-acme/lego/acme" ) type ChallengeService service diff --git a/vendor/github.com/xenolf/lego/acme/api/internal/nonces/nonce_manager.go b/vendor/github.com/go-acme/lego/acme/api/internal/nonces/nonce_manager.go similarity index 96% rename from vendor/github.com/xenolf/lego/acme/api/internal/nonces/nonce_manager.go rename to vendor/github.com/go-acme/lego/acme/api/internal/nonces/nonce_manager.go index 20a53010..c08f6d49 100644 --- a/vendor/github.com/xenolf/lego/acme/api/internal/nonces/nonce_manager.go +++ b/vendor/github.com/go-acme/lego/acme/api/internal/nonces/nonce_manager.go @@ -6,7 +6,7 @@ import ( "net/http" "sync" - "github.com/xenolf/lego/acme/api/internal/sender" + "github.com/go-acme/lego/acme/api/internal/sender" ) // Manager Manages nonces. diff --git a/vendor/github.com/xenolf/lego/acme/api/internal/secure/jws.go b/vendor/github.com/go-acme/lego/acme/api/internal/secure/jws.go similarity index 95% rename from vendor/github.com/xenolf/lego/acme/api/internal/secure/jws.go rename to vendor/github.com/go-acme/lego/acme/api/internal/secure/jws.go index 6f26c4ea..213aeda0 100644 --- a/vendor/github.com/xenolf/lego/acme/api/internal/secure/jws.go +++ b/vendor/github.com/go-acme/lego/acme/api/internal/secure/jws.go @@ -6,10 +6,9 @@ import ( "crypto/elliptic" "crypto/rsa" "encoding/base64" - "errors" "fmt" - "github.com/xenolf/lego/acme/api/internal/nonces" + "github.com/go-acme/lego/acme/api/internal/nonces" jose "gopkg.in/square/go-jose.v2" ) @@ -118,9 +117,6 @@ func (j *JWS) GetKeyAuthorization(token string) (string, error) { // Generate the Key Authorization for the challenge jwk := &jose.JSONWebKey{Key: publicKey} - if jwk == nil { - return "", errors.New("could not generate JWK from key") - } thumbBytes, err := jwk.Thumbprint(crypto.SHA256) if err != nil { diff --git a/vendor/github.com/xenolf/lego/acme/api/internal/sender/sender.go b/vendor/github.com/go-acme/lego/acme/api/internal/sender/sender.go similarity index 99% rename from vendor/github.com/xenolf/lego/acme/api/internal/sender/sender.go rename to vendor/github.com/go-acme/lego/acme/api/internal/sender/sender.go index 5e74e65f..e08f2ffb 100644 --- a/vendor/github.com/xenolf/lego/acme/api/internal/sender/sender.go +++ b/vendor/github.com/go-acme/lego/acme/api/internal/sender/sender.go @@ -9,7 +9,7 @@ import ( "runtime" "strings" - "github.com/xenolf/lego/acme" + "github.com/go-acme/lego/acme" ) type RequestOption func(*http.Request) error diff --git a/vendor/github.com/xenolf/lego/acme/api/internal/sender/useragent.go b/vendor/github.com/go-acme/lego/acme/api/internal/sender/useragent.go similarity index 91% rename from vendor/github.com/xenolf/lego/acme/api/internal/sender/useragent.go rename to vendor/github.com/go-acme/lego/acme/api/internal/sender/useragent.go index fa909699..9671434c 100644 --- a/vendor/github.com/xenolf/lego/acme/api/internal/sender/useragent.go +++ b/vendor/github.com/go-acme/lego/acme/api/internal/sender/useragent.go @@ -5,7 +5,7 @@ package sender const ( // ourUserAgent is the User-Agent of this underlying library package. - ourUserAgent = "xenolf-acme/2.1.0" + ourUserAgent = "xenolf-acme/2.6.0" // ourUserAgentComment is part of the UA comment linked to the version status of this underlying library package. // values: detach|release diff --git a/vendor/github.com/xenolf/lego/acme/api/order.go b/vendor/github.com/go-acme/lego/acme/api/order.go similarity index 97% rename from vendor/github.com/xenolf/lego/acme/api/order.go rename to vendor/github.com/go-acme/lego/acme/api/order.go index 40e05a25..11240b4c 100644 --- a/vendor/github.com/xenolf/lego/acme/api/order.go +++ b/vendor/github.com/go-acme/lego/acme/api/order.go @@ -4,7 +4,7 @@ import ( "encoding/base64" "errors" - "github.com/xenolf/lego/acme" + "github.com/go-acme/lego/acme" ) type OrderService service diff --git a/vendor/github.com/xenolf/lego/acme/api/service.go b/vendor/github.com/go-acme/lego/acme/api/service.go similarity index 100% rename from vendor/github.com/xenolf/lego/acme/api/service.go rename to vendor/github.com/go-acme/lego/acme/api/service.go diff --git a/vendor/github.com/xenolf/lego/acme/commons.go b/vendor/github.com/go-acme/lego/acme/commons.go similarity index 100% rename from vendor/github.com/xenolf/lego/acme/commons.go rename to vendor/github.com/go-acme/lego/acme/commons.go diff --git a/vendor/github.com/xenolf/lego/acme/errors.go b/vendor/github.com/go-acme/lego/acme/errors.go similarity index 100% rename from vendor/github.com/xenolf/lego/acme/errors.go rename to vendor/github.com/go-acme/lego/acme/errors.go diff --git a/vendor/github.com/xenolf/lego/certcrypto/crypto.go b/vendor/github.com/go-acme/lego/certcrypto/crypto.go similarity index 98% rename from vendor/github.com/xenolf/lego/certcrypto/crypto.go rename to vendor/github.com/go-acme/lego/certcrypto/crypto.go index bb99d7d2..c9d0c109 100644 --- a/vendor/github.com/xenolf/lego/certcrypto/crypto.go +++ b/vendor/github.com/go-acme/lego/certcrypto/crypto.go @@ -124,6 +124,10 @@ func GenerateCSR(privateKey crypto.PrivateKey, domain string, san []string, must } func PEMEncode(data interface{}) []byte { + return pem.EncodeToMemory(PEMBlock(data)) +} + +func PEMBlock(data interface{}) *pem.Block { var pemBlock *pem.Block switch key := data.(type) { case *ecdsa.PrivateKey: @@ -137,7 +141,7 @@ func PEMEncode(data interface{}) []byte { pemBlock = &pem.Block{Type: "CERTIFICATE", Bytes: []byte(data.(DERCertificateBytes))} } - return pem.EncodeToMemory(pemBlock) + return pemBlock } func pemDecode(data []byte) (*pem.Block, error) { diff --git a/vendor/github.com/xenolf/lego/certificate/authorization.go b/vendor/github.com/go-acme/lego/certificate/authorization.go similarity index 96% rename from vendor/github.com/xenolf/lego/certificate/authorization.go rename to vendor/github.com/go-acme/lego/certificate/authorization.go index c35de109..00062504 100644 --- a/vendor/github.com/xenolf/lego/certificate/authorization.go +++ b/vendor/github.com/go-acme/lego/certificate/authorization.go @@ -3,8 +3,8 @@ package certificate import ( "time" - "github.com/xenolf/lego/acme" - "github.com/xenolf/lego/log" + "github.com/go-acme/lego/acme" + "github.com/go-acme/lego/log" ) const ( diff --git a/vendor/github.com/xenolf/lego/certificate/certificates.go b/vendor/github.com/go-acme/lego/certificate/certificates.go similarity index 92% rename from vendor/github.com/xenolf/lego/certificate/certificates.go rename to vendor/github.com/go-acme/lego/certificate/certificates.go index 10003ac0..79765e71 100644 --- a/vendor/github.com/xenolf/lego/certificate/certificates.go +++ b/vendor/github.com/go-acme/lego/certificate/certificates.go @@ -12,12 +12,12 @@ import ( "strings" "time" - "github.com/xenolf/lego/acme" - "github.com/xenolf/lego/acme/api" - "github.com/xenolf/lego/certcrypto" - "github.com/xenolf/lego/challenge" - "github.com/xenolf/lego/log" - "github.com/xenolf/lego/platform/wait" + "github.com/go-acme/lego/acme" + "github.com/go-acme/lego/acme/api" + "github.com/go-acme/lego/certcrypto" + "github.com/go-acme/lego/challenge" + "github.com/go-acme/lego/log" + "github.com/go-acme/lego/platform/wait" "golang.org/x/crypto/ocsp" "golang.org/x/net/idna" ) @@ -114,6 +114,7 @@ func (c *Certifier) Obtain(request ObtainRequest) (*Resource, error) { err = c.resolver.Solve(authz) if err != nil { // If any challenge fails, return. Do not generate partial SAN certificates. + c.deactivateAuthorizations(order) return nil, err } @@ -170,6 +171,7 @@ func (c *Certifier) ObtainForCSR(csr x509.CertificateRequest, bundle bool) (*Res err = c.resolver.Solve(authz) if err != nil { // If any challenge fails, return. Do not generate partial SAN certificates. + c.deactivateAuthorizations(order) return nil, err } @@ -462,6 +464,33 @@ func (c *Certifier) GetOCSP(bundle []byte) ([]byte, *ocsp.Response, error) { return ocspResBytes, ocspRes, nil } +// Get attempts to fetch the certificate at the supplied URL. +// The URL is the same as what would normally be supplied at the Resource's CertURL. +// +// The returned Resource will not have the PrivateKey and CSR fields populated as these will not be available. +// +// If bundle is true, the Certificate field in the returned Resource includes the issuer certificate. +func (c *Certifier) Get(url string, bundle bool) (*Resource, error) { + cert, issuer, err := c.core.Certificates.Get(url, bundle) + if err != nil { + return nil, err + } + + // Parse the returned cert bundle so that we can grab the domain from the common name. + x509Certs, err := certcrypto.ParsePEMBundle(cert) + if err != nil { + return nil, err + } + + return &Resource{ + Domain: x509Certs[0].Subject.CommonName, + Certificate: cert, + IssuerCertificate: issuer, + CertURL: url, + CertStableURL: url, + }, nil +} + func checkOrderStatus(order acme.Order) (bool, error) { switch order.Status { case acme.StatusValid: diff --git a/vendor/github.com/xenolf/lego/certificate/errors.go b/vendor/github.com/go-acme/lego/certificate/errors.go similarity index 100% rename from vendor/github.com/xenolf/lego/certificate/errors.go rename to vendor/github.com/go-acme/lego/certificate/errors.go diff --git a/vendor/github.com/xenolf/lego/challenge/challenges.go b/vendor/github.com/go-acme/lego/challenge/challenges.go similarity index 97% rename from vendor/github.com/xenolf/lego/challenge/challenges.go rename to vendor/github.com/go-acme/lego/challenge/challenges.go index e8c862ea..b3281402 100644 --- a/vendor/github.com/xenolf/lego/challenge/challenges.go +++ b/vendor/github.com/go-acme/lego/challenge/challenges.go @@ -3,7 +3,7 @@ package challenge import ( "fmt" - "github.com/xenolf/lego/acme" + "github.com/go-acme/lego/acme" ) // Type is a string that identifies a particular challenge type and version of ACME challenge. diff --git a/vendor/github.com/go-acme/lego/challenge/dns01/cname.go b/vendor/github.com/go-acme/lego/challenge/dns01/cname.go new file mode 100644 index 00000000..619c8476 --- /dev/null +++ b/vendor/github.com/go-acme/lego/challenge/dns01/cname.go @@ -0,0 +1,16 @@ +package dns01 + +import "github.com/miekg/dns" + +// Update FQDN with CNAME if any +func updateDomainWithCName(r *dns.Msg, fqdn string) string { + for _, rr := range r.Answer { + if cn, ok := rr.(*dns.CNAME); ok { + if cn.Hdr.Name == fqdn { + return cn.Target + } + } + } + + return fqdn +} diff --git a/vendor/github.com/xenolf/lego/challenge/dns01/dns_challenge.go b/vendor/github.com/go-acme/lego/challenge/dns01/dns_challenge.go similarity index 87% rename from vendor/github.com/xenolf/lego/challenge/dns01/dns_challenge.go rename to vendor/github.com/go-acme/lego/challenge/dns01/dns_challenge.go index c9ef2ee3..9500305f 100644 --- a/vendor/github.com/xenolf/lego/challenge/dns01/dns_challenge.go +++ b/vendor/github.com/go-acme/lego/challenge/dns01/dns_challenge.go @@ -4,13 +4,16 @@ import ( "crypto/sha256" "encoding/base64" "fmt" + "os" + "strconv" "time" - "github.com/xenolf/lego/acme" - "github.com/xenolf/lego/acme/api" - "github.com/xenolf/lego/challenge" - "github.com/xenolf/lego/log" - "github.com/xenolf/lego/platform/wait" + "github.com/go-acme/lego/acme" + "github.com/go-acme/lego/acme/api" + "github.com/go-acme/lego/challenge" + "github.com/go-acme/lego/log" + "github.com/go-acme/lego/platform/wait" + "github.com/miekg/dns" ) const ( @@ -124,7 +127,7 @@ func (c *Challenge) Solve(authz acme.Authorization) error { log.Infof("[%s] acme: Checking DNS record propagation using %+v", domain, recursiveNameservers) err = wait.For("propagation", timeout, interval, func() (bool, error) { - stop, errP := c.preCheck.call(fqdn, value) + stop, errP := c.preCheck.call(domain, fqdn, value) if !stop || errP != nil { log.Infof("[%s] acme: Waiting for DNS record propagation.", domain) } @@ -135,7 +138,7 @@ func (c *Challenge) Solve(authz acme.Authorization) error { } chlng.KeyAuthorization = keyAuth - return c.validate(c.core, authz.Identifier.Value, chlng) + return c.validate(c.core, domain, chlng) } // CleanUp cleans the challenge. @@ -172,5 +175,14 @@ func GetRecord(domain, keyAuth string) (fqdn string, value string) { // base64URL encoding without padding value = base64.RawURLEncoding.EncodeToString(keyAuthShaBytes[:sha256.Size]) fqdn = fmt.Sprintf("_acme-challenge.%s.", domain) + + if ok, _ := strconv.ParseBool(os.Getenv("LEGO_EXPERIMENTAL_CNAME_SUPPORT")); ok { + r, err := dnsQuery(fqdn, dns.TypeCNAME, recursiveNameservers, true) + // Check if the domain has CNAME then return that + if err == nil && r.Rcode == dns.RcodeSuccess { + fqdn = updateDomainWithCName(r, fqdn) + } + } + return } diff --git a/vendor/github.com/xenolf/lego/challenge/dns01/dns_challenge_manual.go b/vendor/github.com/go-acme/lego/challenge/dns01/dns_challenge_manual.go similarity index 84% rename from vendor/github.com/xenolf/lego/challenge/dns01/dns_challenge_manual.go rename to vendor/github.com/go-acme/lego/challenge/dns01/dns_challenge_manual.go index 490108dd..85da7d0e 100644 --- a/vendor/github.com/xenolf/lego/challenge/dns01/dns_challenge_manual.go +++ b/vendor/github.com/go-acme/lego/challenge/dns01/dns_challenge_manual.go @@ -4,6 +4,7 @@ import ( "bufio" "fmt" "os" + "time" ) const ( @@ -50,3 +51,9 @@ func (*DNSProviderManual) CleanUp(domain, token, keyAuth string) error { return nil } + +// Sequential All DNS challenges for this provider will be resolved sequentially. +// Returns the interval between each iteration. +func (d *DNSProviderManual) Sequential() time.Duration { + return DefaultPropagationTimeout +} diff --git a/vendor/github.com/xenolf/lego/challenge/dns01/fqdn.go b/vendor/github.com/go-acme/lego/challenge/dns01/fqdn.go similarity index 100% rename from vendor/github.com/xenolf/lego/challenge/dns01/fqdn.go rename to vendor/github.com/go-acme/lego/challenge/dns01/fqdn.go diff --git a/vendor/github.com/xenolf/lego/challenge/dns01/nameserver.go b/vendor/github.com/go-acme/lego/challenge/dns01/nameserver.go similarity index 100% rename from vendor/github.com/xenolf/lego/challenge/dns01/nameserver.go rename to vendor/github.com/go-acme/lego/challenge/dns01/nameserver.go diff --git a/vendor/github.com/xenolf/lego/challenge/dns01/precheck.go b/vendor/github.com/go-acme/lego/challenge/dns01/precheck.go similarity index 70% rename from vendor/github.com/xenolf/lego/challenge/dns01/precheck.go rename to vendor/github.com/go-acme/lego/challenge/dns01/precheck.go index 63b72cef..00e09854 100644 --- a/vendor/github.com/xenolf/lego/challenge/dns01/precheck.go +++ b/vendor/github.com/go-acme/lego/challenge/dns01/precheck.go @@ -1,6 +1,7 @@ package dns01 import ( + "errors" "fmt" "net" "strings" @@ -11,11 +12,30 @@ import ( // PreCheckFunc checks DNS propagation before notifying ACME that the DNS challenge is ready. type PreCheckFunc func(fqdn, value string) (bool, error) +// WrapPreCheckFunc wraps a PreCheckFunc in order to do extra operations before or after +// the main check, put it in a loop, etc. +type WrapPreCheckFunc func(domain, fqdn, value string, check PreCheckFunc) (bool, error) + +// WrapPreCheck Allow to define checks before notifying ACME that the DNS challenge is ready. +func WrapPreCheck(wrap WrapPreCheckFunc) ChallengeOption { + return func(chlg *Challenge) error { + chlg.preCheck.checkFunc = wrap + return nil + } +} + +// AddPreCheck Allow to define checks before notifying ACME that the DNS challenge is ready. +// Deprecated: use WrapPreCheck instead. func AddPreCheck(preCheck PreCheckFunc) ChallengeOption { // Prevent race condition check := preCheck return func(chlg *Challenge) error { - chlg.preCheck.checkFunc = check + chlg.preCheck.checkFunc = func(_, fqdn, value string, _ PreCheckFunc) (bool, error) { + if check == nil { + return false, errors.New("invalid preCheck: preCheck is nil") + } + return check(fqdn, value) + } return nil } } @@ -29,7 +49,7 @@ func DisableCompletePropagationRequirement() ChallengeOption { type preCheck struct { // checks DNS propagation before notifying ACME that the DNS challenge is ready. - checkFunc PreCheckFunc + checkFunc WrapPreCheckFunc // require the TXT record to be propagated to all authoritative name servers requireCompletePropagation bool } @@ -40,11 +60,12 @@ func newPreCheck() preCheck { } } -func (p preCheck) call(fqdn, value string) (bool, error) { +func (p preCheck) call(domain, fqdn, value string) (bool, error) { if p.checkFunc == nil { return p.checkDNSPropagation(fqdn, value) } - return p.checkFunc(fqdn, value) + + return p.checkFunc(domain, fqdn, value, p.checkDNSPropagation) } // checkDNSPropagation checks if the expected TXT record has been propagated to all authoritative nameservers. @@ -60,15 +81,7 @@ func (p preCheck) checkDNSPropagation(fqdn, value string) (bool, error) { } if r.Rcode == dns.RcodeSuccess { - // If we see a CNAME here then use the alias - for _, rr := range r.Answer { - if cn, ok := rr.(*dns.CNAME); ok { - if cn.Hdr.Name == fqdn { - fqdn = cn.Target - break - } - } - } + fqdn = updateDomainWithCName(r, fqdn) } authoritativeNss, err := lookupNameservers(fqdn) diff --git a/vendor/github.com/xenolf/lego/challenge/http01/http_challenge.go b/vendor/github.com/go-acme/lego/challenge/http01/http_challenge.go similarity index 88% rename from vendor/github.com/xenolf/lego/challenge/http01/http_challenge.go rename to vendor/github.com/go-acme/lego/challenge/http01/http_challenge.go index 4176ecae..c1cf3d45 100644 --- a/vendor/github.com/xenolf/lego/challenge/http01/http_challenge.go +++ b/vendor/github.com/go-acme/lego/challenge/http01/http_challenge.go @@ -3,10 +3,10 @@ package http01 import ( "fmt" - "github.com/xenolf/lego/acme" - "github.com/xenolf/lego/acme/api" - "github.com/xenolf/lego/challenge" - "github.com/xenolf/lego/log" + "github.com/go-acme/lego/acme" + "github.com/go-acme/lego/acme/api" + "github.com/go-acme/lego/challenge" + "github.com/go-acme/lego/log" ) type ValidateFunc func(core *api.Core, domain string, chlng acme.Challenge) error @@ -61,5 +61,5 @@ func (c *Challenge) Solve(authz acme.Authorization) error { }() chlng.KeyAuthorization = keyAuth - return c.validate(c.core, authz.Identifier.Value, chlng) + return c.validate(c.core, domain, chlng) } diff --git a/vendor/github.com/xenolf/lego/challenge/http01/http_challenge_server.go b/vendor/github.com/go-acme/lego/challenge/http01/http_challenge_server.go similarity index 98% rename from vendor/github.com/xenolf/lego/challenge/http01/http_challenge_server.go rename to vendor/github.com/go-acme/lego/challenge/http01/http_challenge_server.go index aa463bb4..9f442911 100644 --- a/vendor/github.com/xenolf/lego/challenge/http01/http_challenge_server.go +++ b/vendor/github.com/go-acme/lego/challenge/http01/http_challenge_server.go @@ -6,7 +6,7 @@ import ( "net/http" "strings" - "github.com/xenolf/lego/log" + "github.com/go-acme/lego/log" ) // ProviderServer implements ChallengeProvider for `http-01` challenge diff --git a/vendor/github.com/xenolf/lego/challenge/provider.go b/vendor/github.com/go-acme/lego/challenge/provider.go similarity index 100% rename from vendor/github.com/xenolf/lego/challenge/provider.go rename to vendor/github.com/go-acme/lego/challenge/provider.go diff --git a/vendor/github.com/xenolf/lego/challenge/resolver/errors.go b/vendor/github.com/go-acme/lego/challenge/resolver/errors.go similarity index 100% rename from vendor/github.com/xenolf/lego/challenge/resolver/errors.go rename to vendor/github.com/go-acme/lego/challenge/resolver/errors.go diff --git a/vendor/github.com/xenolf/lego/challenge/resolver/prober.go b/vendor/github.com/go-acme/lego/challenge/resolver/prober.go similarity index 97% rename from vendor/github.com/xenolf/lego/challenge/resolver/prober.go rename to vendor/github.com/go-acme/lego/challenge/resolver/prober.go index 2f477f9c..b787caf1 100644 --- a/vendor/github.com/xenolf/lego/challenge/resolver/prober.go +++ b/vendor/github.com/go-acme/lego/challenge/resolver/prober.go @@ -4,9 +4,9 @@ import ( "fmt" "time" - "github.com/xenolf/lego/acme" - "github.com/xenolf/lego/challenge" - "github.com/xenolf/lego/log" + "github.com/go-acme/lego/acme" + "github.com/go-acme/lego/challenge" + "github.com/go-acme/lego/log" ) // Interface for all challenge solvers to implement. diff --git a/vendor/github.com/xenolf/lego/challenge/resolver/solver_manager.go b/vendor/github.com/go-acme/lego/challenge/resolver/solver_manager.go similarity index 77% rename from vendor/github.com/xenolf/lego/challenge/resolver/solver_manager.go rename to vendor/github.com/go-acme/lego/challenge/resolver/solver_manager.go index 55faf77a..de6f02db 100644 --- a/vendor/github.com/xenolf/lego/challenge/resolver/solver_manager.go +++ b/vendor/github.com/go-acme/lego/challenge/resolver/solver_manager.go @@ -1,19 +1,21 @@ package resolver import ( + "context" "errors" "fmt" "sort" "strconv" "time" - "github.com/xenolf/lego/acme" - "github.com/xenolf/lego/acme/api" - "github.com/xenolf/lego/challenge" - "github.com/xenolf/lego/challenge/dns01" - "github.com/xenolf/lego/challenge/http01" - "github.com/xenolf/lego/challenge/tlsalpn01" - "github.com/xenolf/lego/log" + "github.com/cenkalti/backoff" + "github.com/go-acme/lego/acme" + "github.com/go-acme/lego/acme/api" + "github.com/go-acme/lego/challenge" + "github.com/go-acme/lego/challenge/dns01" + "github.com/go-acme/lego/challenge/http01" + "github.com/go-acme/lego/challenge/tlsalpn01" + "github.com/go-acme/lego/log" ) type byType []acme.Challenge @@ -90,16 +92,35 @@ func validate(core *api.Core, domain string, chlg acme.Challenge) error { return nil } + ra, err := strconv.Atoi(chlng.RetryAfter) + if err != nil { + // The ACME server MUST return a Retry-After. + // If it doesn't, we'll just poll hard. + // Boulder does not implement the ability to retry challenges or the Retry-After header. + // https://github.com/letsencrypt/boulder/blob/master/docs/acme-divergences.md#section-82 + ra = 5 + } + initialInterval := time.Duration(ra) * time.Second + + bo := backoff.NewExponentialBackOff() + bo.InitialInterval = initialInterval + bo.MaxInterval = 10 * initialInterval + bo.MaxElapsedTime = 100 * initialInterval + + ctx, cancel := context.WithCancel(context.Background()) + // After the path is sent, the ACME server will access our server. // Repeatedly check the server for an updated status on our request. - for { + operation := func() error { authz, err := core.Authorizations.Get(chlng.AuthorizationURL) if err != nil { + cancel() return err } valid, err := checkAuthorizationStatus(authz) if err != nil { + cancel() return err } @@ -108,16 +129,10 @@ func validate(core *api.Core, domain string, chlg acme.Challenge) error { return nil } - ra, err := strconv.Atoi(chlng.RetryAfter) - if err != nil { - // The ACME server MUST return a Retry-After. - // If it doesn't, we'll just poll hard. - // Boulder does not implement the ability to retry challenges or the Retry-After header. - // https://github.com/letsencrypt/boulder/blob/master/docs/acme-divergences.md#section-82 - ra = 5 - } - time.Sleep(time.Duration(ra) * time.Second) + return errors.New("the server didn't respond to our request") } + + return backoff.Retry(operation, backoff.WithContext(bo, ctx)) } func checkChallengeStatus(chlng acme.ExtendedChallenge) (bool, error) { diff --git a/vendor/github.com/xenolf/lego/challenge/tlsalpn01/tls_alpn_challenge.go b/vendor/github.com/go-acme/lego/challenge/tlsalpn01/tls_alpn_challenge.go similarity index 95% rename from vendor/github.com/xenolf/lego/challenge/tlsalpn01/tls_alpn_challenge.go rename to vendor/github.com/go-acme/lego/challenge/tlsalpn01/tls_alpn_challenge.go index fa03ffdb..a3fa7ef4 100644 --- a/vendor/github.com/xenolf/lego/challenge/tlsalpn01/tls_alpn_challenge.go +++ b/vendor/github.com/go-acme/lego/challenge/tlsalpn01/tls_alpn_challenge.go @@ -8,11 +8,11 @@ import ( "encoding/asn1" "fmt" - "github.com/xenolf/lego/acme" - "github.com/xenolf/lego/acme/api" - "github.com/xenolf/lego/certcrypto" - "github.com/xenolf/lego/challenge" - "github.com/xenolf/lego/log" + "github.com/go-acme/lego/acme" + "github.com/go-acme/lego/acme/api" + "github.com/go-acme/lego/certcrypto" + "github.com/go-acme/lego/challenge" + "github.com/go-acme/lego/log" ) // idPeAcmeIdentifierV1 is the SMI Security for PKIX Certification Extension OID referencing the ACME extension. diff --git a/vendor/github.com/xenolf/lego/challenge/tlsalpn01/tls_alpn_challenge_server.go b/vendor/github.com/go-acme/lego/challenge/tlsalpn01/tls_alpn_challenge_server.go similarity index 98% rename from vendor/github.com/xenolf/lego/challenge/tlsalpn01/tls_alpn_challenge_server.go rename to vendor/github.com/go-acme/lego/challenge/tlsalpn01/tls_alpn_challenge_server.go index 1f7480c2..61e353be 100644 --- a/vendor/github.com/xenolf/lego/challenge/tlsalpn01/tls_alpn_challenge_server.go +++ b/vendor/github.com/go-acme/lego/challenge/tlsalpn01/tls_alpn_challenge_server.go @@ -7,7 +7,7 @@ import ( "net/http" "strings" - "github.com/xenolf/lego/log" + "github.com/go-acme/lego/log" ) const ( diff --git a/vendor/github.com/xenolf/lego/lego/client.go b/vendor/github.com/go-acme/lego/lego/client.go similarity index 92% rename from vendor/github.com/xenolf/lego/lego/client.go rename to vendor/github.com/go-acme/lego/lego/client.go index 1f7b5c8d..c55dd25d 100644 --- a/vendor/github.com/xenolf/lego/lego/client.go +++ b/vendor/github.com/go-acme/lego/lego/client.go @@ -4,10 +4,10 @@ import ( "errors" "net/url" - "github.com/xenolf/lego/acme/api" - "github.com/xenolf/lego/certificate" - "github.com/xenolf/lego/challenge/resolver" - "github.com/xenolf/lego/registration" + "github.com/go-acme/lego/acme/api" + "github.com/go-acme/lego/certificate" + "github.com/go-acme/lego/challenge/resolver" + "github.com/go-acme/lego/registration" ) // Client is the user-friendly way to ACME diff --git a/vendor/github.com/xenolf/lego/lego/client_config.go b/vendor/github.com/go-acme/lego/lego/client_config.go similarity index 97% rename from vendor/github.com/xenolf/lego/lego/client_config.go rename to vendor/github.com/go-acme/lego/lego/client_config.go index 4807fcfe..2421d7fa 100644 --- a/vendor/github.com/xenolf/lego/lego/client_config.go +++ b/vendor/github.com/go-acme/lego/lego/client_config.go @@ -10,8 +10,8 @@ import ( "os" "time" - "github.com/xenolf/lego/certcrypto" - "github.com/xenolf/lego/registration" + "github.com/go-acme/lego/certcrypto" + "github.com/go-acme/lego/registration" ) const ( diff --git a/vendor/github.com/xenolf/lego/log/logger.go b/vendor/github.com/go-acme/lego/log/logger.go similarity index 100% rename from vendor/github.com/xenolf/lego/log/logger.go rename to vendor/github.com/go-acme/lego/log/logger.go diff --git a/vendor/github.com/xenolf/lego/platform/wait/wait.go b/vendor/github.com/go-acme/lego/platform/wait/wait.go similarity index 94% rename from vendor/github.com/xenolf/lego/platform/wait/wait.go rename to vendor/github.com/go-acme/lego/platform/wait/wait.go index 511e1f28..97af5dce 100644 --- a/vendor/github.com/xenolf/lego/platform/wait/wait.go +++ b/vendor/github.com/go-acme/lego/platform/wait/wait.go @@ -4,7 +4,7 @@ import ( "fmt" "time" - "github.com/xenolf/lego/log" + "github.com/go-acme/lego/log" ) // For polls the given function 'f', once every 'interval', up to 'timeout'. diff --git a/vendor/github.com/xenolf/lego/registration/registar.go b/vendor/github.com/go-acme/lego/registration/registar.go similarity index 97% rename from vendor/github.com/xenolf/lego/registration/registar.go rename to vendor/github.com/go-acme/lego/registration/registar.go index a1b850ec..09e86657 100644 --- a/vendor/github.com/xenolf/lego/registration/registar.go +++ b/vendor/github.com/go-acme/lego/registration/registar.go @@ -4,9 +4,9 @@ import ( "errors" "net/http" - "github.com/xenolf/lego/acme" - "github.com/xenolf/lego/acme/api" - "github.com/xenolf/lego/log" + "github.com/go-acme/lego/acme" + "github.com/go-acme/lego/acme/api" + "github.com/go-acme/lego/log" ) // Resource represents all important information about a registration diff --git a/vendor/github.com/xenolf/lego/registration/user.go b/vendor/github.com/go-acme/lego/registration/user.go similarity index 100% rename from vendor/github.com/xenolf/lego/registration/user.go rename to vendor/github.com/go-acme/lego/registration/user.go diff --git a/vendor/github.com/golang/protobuf/proto/decode.go b/vendor/github.com/golang/protobuf/proto/decode.go index d9aa3c42..63b0f08b 100644 --- a/vendor/github.com/golang/protobuf/proto/decode.go +++ b/vendor/github.com/golang/protobuf/proto/decode.go @@ -186,7 +186,6 @@ func (p *Buffer) DecodeVarint() (x uint64, err error) { if b&0x80 == 0 { goto done } - // x -= 0x80 << 63 // Always zero. return 0, errOverflow diff --git a/vendor/github.com/golang/protobuf/proto/deprecated.go b/vendor/github.com/golang/protobuf/proto/deprecated.go new file mode 100644 index 00000000..35b882c0 --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/deprecated.go @@ -0,0 +1,63 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2018 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +import "errors" + +// Deprecated: do not use. +type Stats struct{ Emalloc, Dmalloc, Encode, Decode, Chit, Cmiss, Size uint64 } + +// Deprecated: do not use. +func GetStats() Stats { return Stats{} } + +// Deprecated: do not use. +func MarshalMessageSet(interface{}) ([]byte, error) { + return nil, errors.New("proto: not implemented") +} + +// Deprecated: do not use. +func UnmarshalMessageSet([]byte, interface{}) error { + return errors.New("proto: not implemented") +} + +// Deprecated: do not use. +func MarshalMessageSetJSON(interface{}) ([]byte, error) { + return nil, errors.New("proto: not implemented") +} + +// Deprecated: do not use. +func UnmarshalMessageSetJSON([]byte, interface{}) error { + return errors.New("proto: not implemented") +} + +// Deprecated: do not use. +func RegisterMessageSetType(Message, int32, string) {} diff --git a/vendor/github.com/golang/protobuf/proto/equal.go b/vendor/github.com/golang/protobuf/proto/equal.go index d4db5a1c..f9b6e41b 100644 --- a/vendor/github.com/golang/protobuf/proto/equal.go +++ b/vendor/github.com/golang/protobuf/proto/equal.go @@ -246,7 +246,8 @@ func equalExtMap(base reflect.Type, em1, em2 map[int32]Extension) bool { return false } - m1, m2 := e1.value, e2.value + m1 := extensionAsLegacyType(e1.value) + m2 := extensionAsLegacyType(e2.value) if m1 == nil && m2 == nil { // Both have only encoded form. diff --git a/vendor/github.com/golang/protobuf/proto/extensions.go b/vendor/github.com/golang/protobuf/proto/extensions.go index 816a3b9d..fa88add3 100644 --- a/vendor/github.com/golang/protobuf/proto/extensions.go +++ b/vendor/github.com/golang/protobuf/proto/extensions.go @@ -185,9 +185,25 @@ type Extension struct { // extension will have only enc set. When such an extension is // accessed using GetExtension (or GetExtensions) desc and value // will be set. - desc *ExtensionDesc + desc *ExtensionDesc + + // value is a concrete value for the extension field. Let the type of + // desc.ExtensionType be the "API type" and the type of Extension.value + // be the "storage type". The API type and storage type are the same except: + // * For scalars (except []byte), the API type uses *T, + // while the storage type uses T. + // * For repeated fields, the API type uses []T, while the storage type + // uses *[]T. + // + // The reason for the divergence is so that the storage type more naturally + // matches what is expected of when retrieving the values through the + // protobuf reflection APIs. + // + // The value may only be populated if desc is also populated. value interface{} - enc []byte + + // enc is the raw bytes for the extension field. + enc []byte } // SetRawExtension is for testing only. @@ -334,7 +350,7 @@ func GetExtension(pb Message, extension *ExtensionDesc) (interface{}, error) { // descriptors with the same field number. return nil, errors.New("proto: descriptor conflict") } - return e.value, nil + return extensionAsLegacyType(e.value), nil } if extension.ExtensionType == nil { @@ -349,11 +365,11 @@ func GetExtension(pb Message, extension *ExtensionDesc) (interface{}, error) { // Remember the decoded version and drop the encoded version. // That way it is safe to mutate what we return. - e.value = v + e.value = extensionAsStorageType(v) e.desc = extension e.enc = nil emap[extension.Field] = e - return e.value, nil + return extensionAsLegacyType(e.value), nil } // defaultExtensionValue returns the default value for extension. @@ -488,7 +504,7 @@ func SetExtension(pb Message, extension *ExtensionDesc, value interface{}) error } typ := reflect.TypeOf(extension.ExtensionType) if typ != reflect.TypeOf(value) { - return errors.New("proto: bad extension value type") + return fmt.Errorf("proto: bad extension value type. got: %T, want: %T", value, extension.ExtensionType) } // nil extension values need to be caught early, because the // encoder can't distinguish an ErrNil due to a nil extension @@ -500,7 +516,7 @@ func SetExtension(pb Message, extension *ExtensionDesc, value interface{}) error } extmap := epb.extensionsWrite() - extmap[extension.Field] = Extension{desc: extension, value: value} + extmap[extension.Field] = Extension{desc: extension, value: extensionAsStorageType(value)} return nil } @@ -541,3 +557,51 @@ func RegisterExtension(desc *ExtensionDesc) { func RegisteredExtensions(pb Message) map[int32]*ExtensionDesc { return extensionMaps[reflect.TypeOf(pb).Elem()] } + +// extensionAsLegacyType converts an value in the storage type as the API type. +// See Extension.value. +func extensionAsLegacyType(v interface{}) interface{} { + switch rv := reflect.ValueOf(v); rv.Kind() { + case reflect.Bool, reflect.Int32, reflect.Int64, reflect.Uint32, reflect.Uint64, reflect.Float32, reflect.Float64, reflect.String: + // Represent primitive types as a pointer to the value. + rv2 := reflect.New(rv.Type()) + rv2.Elem().Set(rv) + v = rv2.Interface() + case reflect.Ptr: + // Represent slice types as the value itself. + switch rv.Type().Elem().Kind() { + case reflect.Slice: + if rv.IsNil() { + v = reflect.Zero(rv.Type().Elem()).Interface() + } else { + v = rv.Elem().Interface() + } + } + } + return v +} + +// extensionAsStorageType converts an value in the API type as the storage type. +// See Extension.value. +func extensionAsStorageType(v interface{}) interface{} { + switch rv := reflect.ValueOf(v); rv.Kind() { + case reflect.Ptr: + // Represent slice types as the value itself. + switch rv.Type().Elem().Kind() { + case reflect.Bool, reflect.Int32, reflect.Int64, reflect.Uint32, reflect.Uint64, reflect.Float32, reflect.Float64, reflect.String: + if rv.IsNil() { + v = reflect.Zero(rv.Type().Elem()).Interface() + } else { + v = rv.Elem().Interface() + } + } + case reflect.Slice: + // Represent slice types as a pointer to the value. + if rv.Type().Elem().Kind() != reflect.Uint8 { + rv2 := reflect.New(rv.Type()) + rv2.Elem().Set(rv) + v = rv2.Interface() + } + } + return v +} diff --git a/vendor/github.com/golang/protobuf/proto/lib.go b/vendor/github.com/golang/protobuf/proto/lib.go index 75565cc6..fdd328bb 100644 --- a/vendor/github.com/golang/protobuf/proto/lib.go +++ b/vendor/github.com/golang/protobuf/proto/lib.go @@ -341,26 +341,6 @@ type Message interface { ProtoMessage() } -// Stats records allocation details about the protocol buffer encoders -// and decoders. Useful for tuning the library itself. -type Stats struct { - Emalloc uint64 // mallocs in encode - Dmalloc uint64 // mallocs in decode - Encode uint64 // number of encodes - Decode uint64 // number of decodes - Chit uint64 // number of cache hits - Cmiss uint64 // number of cache misses - Size uint64 // number of sizes -} - -// Set to true to enable stats collection. -const collectStats = false - -var stats Stats - -// GetStats returns a copy of the global Stats structure. -func GetStats() Stats { return stats } - // A Buffer is a buffer manager for marshaling and unmarshaling // protocol buffers. It may be reused between invocations to // reduce memory usage. It is not necessary to use a Buffer; @@ -960,13 +940,19 @@ func isProto3Zero(v reflect.Value) bool { return false } -// ProtoPackageIsVersion2 is referenced from generated protocol buffer files -// to assert that that code is compatible with this version of the proto package. -const ProtoPackageIsVersion2 = true +const ( + // ProtoPackageIsVersion3 is referenced from generated protocol buffer files + // to assert that that code is compatible with this version of the proto package. + ProtoPackageIsVersion3 = true -// ProtoPackageIsVersion1 is referenced from generated protocol buffer files -// to assert that that code is compatible with this version of the proto package. -const ProtoPackageIsVersion1 = true + // ProtoPackageIsVersion2 is referenced from generated protocol buffer files + // to assert that that code is compatible with this version of the proto package. + ProtoPackageIsVersion2 = true + + // ProtoPackageIsVersion1 is referenced from generated protocol buffer files + // to assert that that code is compatible with this version of the proto package. + ProtoPackageIsVersion1 = true +) // InternalMessageInfo is a type used internally by generated .pb.go files. // This type is not intended to be used by non-generated code. diff --git a/vendor/github.com/golang/protobuf/proto/message_set.go b/vendor/github.com/golang/protobuf/proto/message_set.go index 3b6ca41d..f48a7567 100644 --- a/vendor/github.com/golang/protobuf/proto/message_set.go +++ b/vendor/github.com/golang/protobuf/proto/message_set.go @@ -36,13 +36,7 @@ package proto */ import ( - "bytes" - "encoding/json" "errors" - "fmt" - "reflect" - "sort" - "sync" ) // errNoMessageTypeID occurs when a protocol buffer does not have a message type ID. @@ -145,46 +139,9 @@ func skipVarint(buf []byte) []byte { return buf[i+1:] } -// MarshalMessageSet encodes the extension map represented by m in the message set wire format. -// It is called by generated Marshal methods on protocol buffer messages with the message_set_wire_format option. -func MarshalMessageSet(exts interface{}) ([]byte, error) { - return marshalMessageSet(exts, false) -} - -// marshaMessageSet implements above function, with the opt to turn on / off deterministic during Marshal. -func marshalMessageSet(exts interface{}, deterministic bool) ([]byte, error) { - switch exts := exts.(type) { - case *XXX_InternalExtensions: - var u marshalInfo - siz := u.sizeMessageSet(exts) - b := make([]byte, 0, siz) - return u.appendMessageSet(b, exts, deterministic) - - case map[int32]Extension: - // This is an old-style extension map. - // Wrap it in a new-style XXX_InternalExtensions. - ie := XXX_InternalExtensions{ - p: &struct { - mu sync.Mutex - extensionMap map[int32]Extension - }{ - extensionMap: exts, - }, - } - - var u marshalInfo - siz := u.sizeMessageSet(&ie) - b := make([]byte, 0, siz) - return u.appendMessageSet(b, &ie, deterministic) - - default: - return nil, errors.New("proto: not an extension map") - } -} - -// UnmarshalMessageSet decodes the extension map encoded in buf in the message set wire format. +// unmarshalMessageSet decodes the extension map encoded in buf in the message set wire format. // It is called by Unmarshal methods on protocol buffer messages with the message_set_wire_format option. -func UnmarshalMessageSet(buf []byte, exts interface{}) error { +func unmarshalMessageSet(buf []byte, exts interface{}) error { var m map[int32]Extension switch exts := exts.(type) { case *XXX_InternalExtensions: @@ -222,93 +179,3 @@ func UnmarshalMessageSet(buf []byte, exts interface{}) error { } return nil } - -// MarshalMessageSetJSON encodes the extension map represented by m in JSON format. -// It is called by generated MarshalJSON methods on protocol buffer messages with the message_set_wire_format option. -func MarshalMessageSetJSON(exts interface{}) ([]byte, error) { - var m map[int32]Extension - switch exts := exts.(type) { - case *XXX_InternalExtensions: - var mu sync.Locker - m, mu = exts.extensionsRead() - if m != nil { - // Keep the extensions map locked until we're done marshaling to prevent - // races between marshaling and unmarshaling the lazily-{en,de}coded - // values. - mu.Lock() - defer mu.Unlock() - } - case map[int32]Extension: - m = exts - default: - return nil, errors.New("proto: not an extension map") - } - var b bytes.Buffer - b.WriteByte('{') - - // Process the map in key order for deterministic output. - ids := make([]int32, 0, len(m)) - for id := range m { - ids = append(ids, id) - } - sort.Sort(int32Slice(ids)) // int32Slice defined in text.go - - for i, id := range ids { - ext := m[id] - msd, ok := messageSetMap[id] - if !ok { - // Unknown type; we can't render it, so skip it. - continue - } - - if i > 0 && b.Len() > 1 { - b.WriteByte(',') - } - - fmt.Fprintf(&b, `"[%s]":`, msd.name) - - x := ext.value - if x == nil { - x = reflect.New(msd.t.Elem()).Interface() - if err := Unmarshal(ext.enc, x.(Message)); err != nil { - return nil, err - } - } - d, err := json.Marshal(x) - if err != nil { - return nil, err - } - b.Write(d) - } - b.WriteByte('}') - return b.Bytes(), nil -} - -// UnmarshalMessageSetJSON decodes the extension map encoded in buf in JSON format. -// It is called by generated UnmarshalJSON methods on protocol buffer messages with the message_set_wire_format option. -func UnmarshalMessageSetJSON(buf []byte, exts interface{}) error { - // Common-case fast path. - if len(buf) == 0 || bytes.Equal(buf, []byte("{}")) { - return nil - } - - // This is fairly tricky, and it's not clear that it is needed. - return errors.New("TODO: UnmarshalMessageSetJSON not yet implemented") -} - -// A global registry of types that can be used in a MessageSet. - -var messageSetMap = make(map[int32]messageSetDesc) - -type messageSetDesc struct { - t reflect.Type // pointer to struct - name string -} - -// RegisterMessageSetType is called from the generated code. -func RegisterMessageSetType(m Message, fieldNum int32, name string) { - messageSetMap[fieldNum] = messageSetDesc{ - t: reflect.TypeOf(m), - name: name, - } -} diff --git a/vendor/github.com/golang/protobuf/proto/pointer_reflect.go b/vendor/github.com/golang/protobuf/proto/pointer_reflect.go index b6cad908..94fa9194 100644 --- a/vendor/github.com/golang/protobuf/proto/pointer_reflect.go +++ b/vendor/github.com/golang/protobuf/proto/pointer_reflect.go @@ -79,10 +79,13 @@ func toPointer(i *Message) pointer { // toAddrPointer converts an interface to a pointer that points to // the interface data. -func toAddrPointer(i *interface{}, isptr bool) pointer { +func toAddrPointer(i *interface{}, isptr, deref bool) pointer { v := reflect.ValueOf(*i) u := reflect.New(v.Type()) u.Elem().Set(v) + if deref { + u = u.Elem() + } return pointer{v: u} } diff --git a/vendor/github.com/golang/protobuf/proto/pointer_unsafe.go b/vendor/github.com/golang/protobuf/proto/pointer_unsafe.go index d55a335d..dbfffe07 100644 --- a/vendor/github.com/golang/protobuf/proto/pointer_unsafe.go +++ b/vendor/github.com/golang/protobuf/proto/pointer_unsafe.go @@ -85,16 +85,21 @@ func toPointer(i *Message) pointer { // toAddrPointer converts an interface to a pointer that points to // the interface data. -func toAddrPointer(i *interface{}, isptr bool) pointer { +func toAddrPointer(i *interface{}, isptr, deref bool) (p pointer) { // Super-tricky - read or get the address of data word of interface value. if isptr { // The interface is of pointer type, thus it is a direct interface. // The data word is the pointer data itself. We take its address. - return pointer{p: unsafe.Pointer(uintptr(unsafe.Pointer(i)) + ptrSize)} + p = pointer{p: unsafe.Pointer(uintptr(unsafe.Pointer(i)) + ptrSize)} + } else { + // The interface is not of pointer type. The data word is the pointer + // to the data. + p = pointer{p: (*[2]unsafe.Pointer)(unsafe.Pointer(i))[1]} } - // The interface is not of pointer type. The data word is the pointer - // to the data. - return pointer{p: (*[2]unsafe.Pointer)(unsafe.Pointer(i))[1]} + if deref { + p.p = *(*unsafe.Pointer)(p.p) + } + return p } // valToPointer converts v to a pointer. v must be of pointer type. diff --git a/vendor/github.com/golang/protobuf/proto/properties.go b/vendor/github.com/golang/protobuf/proto/properties.go index 50b99b83..79668ff5 100644 --- a/vendor/github.com/golang/protobuf/proto/properties.go +++ b/vendor/github.com/golang/protobuf/proto/properties.go @@ -334,9 +334,6 @@ func GetProperties(t reflect.Type) *StructProperties { sprop, ok := propertiesMap[t] propertiesMu.RUnlock() if ok { - if collectStats { - stats.Chit++ - } return sprop } @@ -346,17 +343,20 @@ func GetProperties(t reflect.Type) *StructProperties { return sprop } +type ( + oneofFuncsIface interface { + XXX_OneofFuncs() (func(Message, *Buffer) error, func(Message, int, int, *Buffer) (bool, error), func(Message) int, []interface{}) + } + oneofWrappersIface interface { + XXX_OneofWrappers() []interface{} + } +) + // getPropertiesLocked requires that propertiesMu is held. func getPropertiesLocked(t reflect.Type) *StructProperties { if prop, ok := propertiesMap[t]; ok { - if collectStats { - stats.Chit++ - } return prop } - if collectStats { - stats.Cmiss++ - } prop := new(StructProperties) // in case of recursive protos, fill this in now. @@ -391,13 +391,14 @@ func getPropertiesLocked(t reflect.Type) *StructProperties { // Re-order prop.order. sort.Sort(prop) - type oneofMessage interface { - XXX_OneofFuncs() (func(Message, *Buffer) error, func(Message, int, int, *Buffer) (bool, error), func(Message) int, []interface{}) + var oots []interface{} + switch m := reflect.Zero(reflect.PtrTo(t)).Interface().(type) { + case oneofFuncsIface: + _, _, _, oots = m.XXX_OneofFuncs() + case oneofWrappersIface: + oots = m.XXX_OneofWrappers() } - if om, ok := reflect.Zero(reflect.PtrTo(t)).Interface().(oneofMessage); ok { - var oots []interface{} - _, _, _, oots = om.XXX_OneofFuncs() - + if len(oots) > 0 { // Interpret oneof metadata. prop.OneofTypes = make(map[string]*OneofProperties) for _, oot := range oots { diff --git a/vendor/github.com/golang/protobuf/proto/table_marshal.go b/vendor/github.com/golang/protobuf/proto/table_marshal.go index b1679449..5cb11fa9 100644 --- a/vendor/github.com/golang/protobuf/proto/table_marshal.go +++ b/vendor/github.com/golang/protobuf/proto/table_marshal.go @@ -87,6 +87,7 @@ type marshalElemInfo struct { sizer sizer marshaler marshaler isptr bool // elem is pointer typed, thus interface of this type is a direct interface (extension only) + deref bool // dereference the pointer before operating on it; implies isptr } var ( @@ -320,8 +321,11 @@ func (u *marshalInfo) computeMarshalInfo() { // get oneof implementers var oneofImplementers []interface{} - if m, ok := reflect.Zero(reflect.PtrTo(t)).Interface().(oneofMessage); ok { + switch m := reflect.Zero(reflect.PtrTo(t)).Interface().(type) { + case oneofFuncsIface: _, _, _, oneofImplementers = m.XXX_OneofFuncs() + case oneofWrappersIface: + oneofImplementers = m.XXX_OneofWrappers() } n := t.NumField() @@ -407,13 +411,22 @@ func (u *marshalInfo) getExtElemInfo(desc *ExtensionDesc) *marshalElemInfo { panic("tag is not an integer") } wt := wiretype(tags[0]) + if t.Kind() == reflect.Ptr && t.Elem().Kind() != reflect.Struct { + t = t.Elem() + } sizer, marshaler := typeMarshaler(t, tags, false, false) + var deref bool + if t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 { + t = reflect.PtrTo(t) + deref = true + } e = &marshalElemInfo{ wiretag: uint64(tag)<<3 | wt, tagsize: SizeVarint(uint64(tag) << 3), sizer: sizer, marshaler: marshaler, isptr: t.Kind() == reflect.Ptr, + deref: deref, } // update cache @@ -448,7 +461,7 @@ func (fi *marshalFieldInfo) computeMarshalFieldInfo(f *reflect.StructField) { func (fi *marshalFieldInfo) computeOneofFieldInfo(f *reflect.StructField, oneofImplementers []interface{}) { fi.field = toField(f) - fi.wiretag = 1<<31 - 1 // Use a large tag number, make oneofs sorted at the end. This tag will not appear on the wire. + fi.wiretag = math.MaxInt32 // Use a large tag number, make oneofs sorted at the end. This tag will not appear on the wire. fi.isPointer = true fi.sizer, fi.marshaler = makeOneOfMarshaler(fi, f) fi.oneofElems = make(map[reflect.Type]*marshalElemInfo) @@ -476,10 +489,6 @@ func (fi *marshalFieldInfo) computeOneofFieldInfo(f *reflect.StructField, oneofI } } -type oneofMessage interface { - XXX_OneofFuncs() (func(Message, *Buffer) error, func(Message, int, int, *Buffer) (bool, error), func(Message) int, []interface{}) -} - // wiretype returns the wire encoding of the type. func wiretype(encoding string) uint64 { switch encoding { @@ -2310,8 +2319,8 @@ func makeMapMarshaler(f *reflect.StructField) (sizer, marshaler) { for _, k := range m.MapKeys() { ki := k.Interface() vi := m.MapIndex(k).Interface() - kaddr := toAddrPointer(&ki, false) // pointer to key - vaddr := toAddrPointer(&vi, valIsPtr) // pointer to value + kaddr := toAddrPointer(&ki, false, false) // pointer to key + vaddr := toAddrPointer(&vi, valIsPtr, false) // pointer to value siz := keySizer(kaddr, 1) + valSizer(vaddr, 1) // tag of key = 1 (size=1), tag of val = 2 (size=1) n += siz + SizeVarint(uint64(siz)) + tagsize } @@ -2329,8 +2338,8 @@ func makeMapMarshaler(f *reflect.StructField) (sizer, marshaler) { for _, k := range keys { ki := k.Interface() vi := m.MapIndex(k).Interface() - kaddr := toAddrPointer(&ki, false) // pointer to key - vaddr := toAddrPointer(&vi, valIsPtr) // pointer to value + kaddr := toAddrPointer(&ki, false, false) // pointer to key + vaddr := toAddrPointer(&vi, valIsPtr, false) // pointer to value b = appendVarint(b, tag) siz := keySizer(kaddr, 1) + valCachedSizer(vaddr, 1) // tag of key = 1 (size=1), tag of val = 2 (size=1) b = appendVarint(b, uint64(siz)) @@ -2399,7 +2408,7 @@ func (u *marshalInfo) sizeExtensions(ext *XXX_InternalExtensions) int { // the last time this function was called. ei := u.getExtElemInfo(e.desc) v := e.value - p := toAddrPointer(&v, ei.isptr) + p := toAddrPointer(&v, ei.isptr, ei.deref) n += ei.sizer(p, ei.tagsize) } mu.Unlock() @@ -2434,7 +2443,7 @@ func (u *marshalInfo) appendExtensions(b []byte, ext *XXX_InternalExtensions, de ei := u.getExtElemInfo(e.desc) v := e.value - p := toAddrPointer(&v, ei.isptr) + p := toAddrPointer(&v, ei.isptr, ei.deref) b, err = ei.marshaler(b, p, ei.wiretag, deterministic) if !nerr.Merge(err) { return b, err @@ -2465,7 +2474,7 @@ func (u *marshalInfo) appendExtensions(b []byte, ext *XXX_InternalExtensions, de ei := u.getExtElemInfo(e.desc) v := e.value - p := toAddrPointer(&v, ei.isptr) + p := toAddrPointer(&v, ei.isptr, ei.deref) b, err = ei.marshaler(b, p, ei.wiretag, deterministic) if !nerr.Merge(err) { return b, err @@ -2510,7 +2519,7 @@ func (u *marshalInfo) sizeMessageSet(ext *XXX_InternalExtensions) int { ei := u.getExtElemInfo(e.desc) v := e.value - p := toAddrPointer(&v, ei.isptr) + p := toAddrPointer(&v, ei.isptr, ei.deref) n += ei.sizer(p, 1) // message, tag = 3 (size=1) } mu.Unlock() @@ -2553,7 +2562,7 @@ func (u *marshalInfo) appendMessageSet(b []byte, ext *XXX_InternalExtensions, de ei := u.getExtElemInfo(e.desc) v := e.value - p := toAddrPointer(&v, ei.isptr) + p := toAddrPointer(&v, ei.isptr, ei.deref) b, err = ei.marshaler(b, p, 3<<3|WireBytes, deterministic) if !nerr.Merge(err) { return b, err @@ -2591,7 +2600,7 @@ func (u *marshalInfo) appendMessageSet(b []byte, ext *XXX_InternalExtensions, de ei := u.getExtElemInfo(e.desc) v := e.value - p := toAddrPointer(&v, ei.isptr) + p := toAddrPointer(&v, ei.isptr, ei.deref) b, err = ei.marshaler(b, p, 3<<3|WireBytes, deterministic) b = append(b, 1<<3|WireEndGroup) if !nerr.Merge(err) { @@ -2621,7 +2630,7 @@ func (u *marshalInfo) sizeV1Extensions(m map[int32]Extension) int { ei := u.getExtElemInfo(e.desc) v := e.value - p := toAddrPointer(&v, ei.isptr) + p := toAddrPointer(&v, ei.isptr, ei.deref) n += ei.sizer(p, ei.tagsize) } return n @@ -2656,7 +2665,7 @@ func (u *marshalInfo) appendV1Extensions(b []byte, m map[int32]Extension, determ ei := u.getExtElemInfo(e.desc) v := e.value - p := toAddrPointer(&v, ei.isptr) + p := toAddrPointer(&v, ei.isptr, ei.deref) b, err = ei.marshaler(b, p, ei.wiretag, deterministic) if !nerr.Merge(err) { return b, err diff --git a/vendor/github.com/golang/protobuf/proto/table_unmarshal.go b/vendor/github.com/golang/protobuf/proto/table_unmarshal.go index ebf1caa5..acee2fc5 100644 --- a/vendor/github.com/golang/protobuf/proto/table_unmarshal.go +++ b/vendor/github.com/golang/protobuf/proto/table_unmarshal.go @@ -136,7 +136,7 @@ func (u *unmarshalInfo) unmarshal(m pointer, b []byte) error { u.computeUnmarshalInfo() } if u.isMessageSet { - return UnmarshalMessageSet(b, m.offset(u.extensions).toExtensions()) + return unmarshalMessageSet(b, m.offset(u.extensions).toExtensions()) } var reqMask uint64 // bitmask of required fields we've seen. var errLater error @@ -362,46 +362,48 @@ func (u *unmarshalInfo) computeUnmarshalInfo() { } // Find any types associated with oneof fields. - // TODO: XXX_OneofFuncs returns more info than we need. Get rid of some of it? - fn := reflect.Zero(reflect.PtrTo(t)).MethodByName("XXX_OneofFuncs") - if fn.IsValid() { - res := fn.Call(nil)[3] // last return value from XXX_OneofFuncs: []interface{} - for i := res.Len() - 1; i >= 0; i-- { - v := res.Index(i) // interface{} - tptr := reflect.ValueOf(v.Interface()).Type() // *Msg_X - typ := tptr.Elem() // Msg_X + var oneofImplementers []interface{} + switch m := reflect.Zero(reflect.PtrTo(t)).Interface().(type) { + case oneofFuncsIface: + _, _, _, oneofImplementers = m.XXX_OneofFuncs() + case oneofWrappersIface: + oneofImplementers = m.XXX_OneofWrappers() + } + for _, v := range oneofImplementers { + tptr := reflect.TypeOf(v) // *Msg_X + typ := tptr.Elem() // Msg_X - f := typ.Field(0) // oneof implementers have one field - baseUnmarshal := fieldUnmarshaler(&f) - tags := strings.Split(f.Tag.Get("protobuf"), ",") - fieldNum, err := strconv.Atoi(tags[1]) - if err != nil { - panic("protobuf tag field not an integer: " + tags[1]) - } - var name string - for _, tag := range tags { - if strings.HasPrefix(tag, "name=") { - name = strings.TrimPrefix(tag, "name=") - break - } - } - - // Find the oneof field that this struct implements. - // Might take O(n^2) to process all of the oneofs, but who cares. - for _, of := range oneofFields { - if tptr.Implements(of.ityp) { - // We have found the corresponding interface for this struct. - // That lets us know where this struct should be stored - // when we encounter it during unmarshaling. - unmarshal := makeUnmarshalOneof(typ, of.ityp, baseUnmarshal) - u.setTag(fieldNum, of.field, unmarshal, 0, name) - } + f := typ.Field(0) // oneof implementers have one field + baseUnmarshal := fieldUnmarshaler(&f) + tags := strings.Split(f.Tag.Get("protobuf"), ",") + fieldNum, err := strconv.Atoi(tags[1]) + if err != nil { + panic("protobuf tag field not an integer: " + tags[1]) + } + var name string + for _, tag := range tags { + if strings.HasPrefix(tag, "name=") { + name = strings.TrimPrefix(tag, "name=") + break } } + + // Find the oneof field that this struct implements. + // Might take O(n^2) to process all of the oneofs, but who cares. + for _, of := range oneofFields { + if tptr.Implements(of.ityp) { + // We have found the corresponding interface for this struct. + // That lets us know where this struct should be stored + // when we encounter it during unmarshaling. + unmarshal := makeUnmarshalOneof(typ, of.ityp, baseUnmarshal) + u.setTag(fieldNum, of.field, unmarshal, 0, name) + } + } + } // Get extension ranges, if any. - fn = reflect.Zero(reflect.PtrTo(t)).MethodByName("ExtensionRangeArray") + fn := reflect.Zero(reflect.PtrTo(t)).MethodByName("ExtensionRangeArray") if fn.IsValid() { if !u.extensions.IsValid() && !u.oldExtensions.IsValid() { panic("a message with extensions, but no extensions field in " + t.Name()) @@ -1948,7 +1950,7 @@ func encodeVarint(b []byte, x uint64) []byte { // If there is an error, it returns 0,0. func decodeVarint(b []byte) (uint64, int) { var x, y uint64 - if len(b) <= 0 { + if len(b) == 0 { goto bad } x = uint64(b[0]) diff --git a/vendor/github.com/golang/snappy/go.mod b/vendor/github.com/golang/snappy/go.mod new file mode 100644 index 00000000..f6406bb2 --- /dev/null +++ b/vendor/github.com/golang/snappy/go.mod @@ -0,0 +1 @@ +module github.com/golang/snappy diff --git a/vendor/github.com/klauspost/cpuid/README.md b/vendor/github.com/klauspost/cpuid/README.md index b2b6bee8..a7fb41fb 100644 --- a/vendor/github.com/klauspost/cpuid/README.md +++ b/vendor/github.com/klauspost/cpuid/README.md @@ -83,6 +83,8 @@ Package home: https://github.com/klauspost/cpuid * **MSVM** (Microsoft Hyper-V or Windows Virtual PC) * **VMware** * **XenHVM** +* **Bhyve** +* **Hygon** # installing diff --git a/vendor/github.com/klauspost/cpuid/cpuid.go b/vendor/github.com/klauspost/cpuid/cpuid.go index 60c681be..db959132 100644 --- a/vendor/github.com/klauspost/cpuid/cpuid.go +++ b/vendor/github.com/klauspost/cpuid/cpuid.go @@ -26,6 +26,8 @@ const ( MSVM // Microsoft Hyper-V or Windows Virtual PC VMware XenHVM + Bhyve + Hygon ) const ( @@ -472,6 +474,11 @@ func (c CPUInfo) AMD() bool { return c.VendorID == AMD } +// Hygon returns true if vendor is recognized as Hygon +func (c CPUInfo) Hygon() bool { + return c.VendorID == Hygon +} + // Transmeta returns true if vendor is recognized as Transmeta func (c CPUInfo) Transmeta() bool { return c.VendorID == Transmeta @@ -527,7 +534,7 @@ func (c CPUInfo) LogicalCPU() int { // have many false negatives. func (c CPUInfo) VM() bool { switch c.VendorID { - case MSVM, KVM, VMware, XenHVM: + case MSVM, KVM, VMware, XenHVM, Bhyve: return true } return false @@ -625,7 +632,7 @@ func logicalCores() int { } _, b, _, _ := cpuidex(0xb, 1) return int(b & 0xffff) - case AMD: + case AMD, Hygon: _, b, _, _ := cpuid(1) return int((b >> 16) & 0xff) default: @@ -647,7 +654,7 @@ func physicalCores() int { switch vendorID() { case Intel: return logicalCores() / threadsPerCore() - case AMD: + case AMD, Hygon: if maxExtendedFunction() >= 0x80000008 { _, _, c, _ := cpuid(0x80000008) return int(c&0xff) + 1 @@ -670,6 +677,8 @@ var vendorMapping = map[string]Vendor{ "Microsoft Hv": MSVM, "VMwareVMware": VMware, "XenVMMXenVMM": XenHVM, + "bhyve bhyve ": Bhyve, + "HygonGenuine": Hygon, } func vendorID() Vendor { @@ -742,7 +751,7 @@ func (c *CPUInfo) cacheSize() { c.Cache.L3 = size } } - case AMD: + case AMD, Hygon: // Untested. if maxExtendedFunction() < 0x80000005 { return diff --git a/vendor/github.com/magiconair/properties/.travis.yml b/vendor/github.com/magiconair/properties/.travis.yml index 3e7c3d2c..f07376f9 100644 --- a/vendor/github.com/magiconair/properties/.travis.yml +++ b/vendor/github.com/magiconair/properties/.travis.yml @@ -7,4 +7,6 @@ go: - 1.8.x - 1.9.x - "1.10.x" + - "1.11.x" + - "1.12.x" - tip diff --git a/vendor/github.com/magiconair/properties/CHANGELOG.md b/vendor/github.com/magiconair/properties/CHANGELOG.md index f83adc20..176626a1 100644 --- a/vendor/github.com/magiconair/properties/CHANGELOG.md +++ b/vendor/github.com/magiconair/properties/CHANGELOG.md @@ -1,5 +1,13 @@ ## Changelog +### [1.8.1](https://github.com/magiconair/properties/tree/v1.8.1) - 10 May 2019 + + * [PR #26](https://github.com/magiconair/properties/pull/35): Close body always after request + + This patch ensures that in `LoadURL` the response body is always closed. + + Thanks to [@liubog2008](https://github.com/liubog2008) for the patch. + ### [1.8](https://github.com/magiconair/properties/tree/v1.8) - 15 May 2018 * [PR #26](https://github.com/magiconair/properties/pull/26): Disable expansion during loading diff --git a/vendor/github.com/magiconair/properties/README.md b/vendor/github.com/magiconair/properties/README.md index 2c05f290..42ed5c37 100644 --- a/vendor/github.com/magiconair/properties/README.md +++ b/vendor/github.com/magiconair/properties/README.md @@ -1,6 +1,6 @@ [![](https://img.shields.io/github/tag/magiconair/properties.svg?style=flat-square&label=release)](https://github.com/magiconair/properties/releases) [![Travis CI Status](https://img.shields.io/travis/magiconair/properties.svg?branch=master&style=flat-square&label=travis)](https://travis-ci.org/magiconair/properties) -[![Codeship CI Status](https://img.shields.io/codeship/16aaf660-f615-0135-b8f0-7e33b70920c0/master.svg?label=codeship&style=flat-square)](https://app.codeship.com/projects/274177") +[![CircleCI Status](https://img.shields.io/circleci/project/github/magiconair/properties.svg?label=circle+ci&style=flat-square)](https://circleci.com/gh/magiconair/properties) [![License](https://img.shields.io/badge/License-BSD%202--Clause-orange.svg?style=flat-square)](https://raw.githubusercontent.com/magiconair/properties/master/LICENSE) [![GoDoc](http://img.shields.io/badge/godoc-reference-5272B4.svg?style=flat-square)](http://godoc.org/github.com/magiconair/properties) @@ -30,7 +30,7 @@ changed from `panic` to `log.Fatal` but this is configurable and custom error handling functions can be provided. See the package documentation for details. -Read the full documentation on [GoDoc](https://godoc.org/github.com/magiconair/properties) [![GoDoc](https://godoc.org/github.com/magiconair/properties?status.png)](https://godoc.org/github.com/magiconair/properties) +Read the full documentation on [![GoDoc](http://img.shields.io/badge/godoc-reference-5272B4.svg?style=flat-square)](http://godoc.org/github.com/magiconair/properties) ## Getting Started diff --git a/vendor/github.com/magiconair/properties/go.mod b/vendor/github.com/magiconair/properties/go.mod new file mode 100644 index 00000000..02a6f865 --- /dev/null +++ b/vendor/github.com/magiconair/properties/go.mod @@ -0,0 +1 @@ +module github.com/magiconair/properties diff --git a/vendor/github.com/magiconair/properties/load.go b/vendor/github.com/magiconair/properties/load.go index c8e1b580..ab953253 100644 --- a/vendor/github.com/magiconair/properties/load.go +++ b/vendor/github.com/magiconair/properties/load.go @@ -115,6 +115,7 @@ func (l *Loader) LoadURL(url string) (*Properties, error) { if err != nil { return nil, fmt.Errorf("properties: error fetching %q. %s", url, err) } + defer resp.Body.Close() if resp.StatusCode == 404 && l.IgnoreMissing { LogPrintf("properties: %s returned %d. skipping", url, resp.StatusCode) @@ -129,7 +130,6 @@ func (l *Loader) LoadURL(url string) (*Properties, error) { if err != nil { return nil, fmt.Errorf("properties: %s error reading response. %s", url, err) } - defer resp.Body.Close() ct := resp.Header.Get("Content-Type") var enc Encoding diff --git a/vendor/github.com/mailru/easyjson/.travis.yml b/vendor/github.com/mailru/easyjson/.travis.yml index 884f8bbd..77891411 100644 --- a/vendor/github.com/mailru/easyjson/.travis.yml +++ b/vendor/github.com/mailru/easyjson/.travis.yml @@ -6,4 +6,4 @@ install: - go get github.com/ugorji/go/codec - go get github.com/pquerna/ffjson/fflib/v1 - go get github.com/json-iterator/go - - go get github.com/golang/lint/golint + - go get golang.org/x/lint/golint diff --git a/vendor/github.com/mailru/easyjson/Makefile b/vendor/github.com/mailru/easyjson/Makefile index 7cfec87b..1604dfa9 100644 --- a/vendor/github.com/mailru/easyjson/Makefile +++ b/vendor/github.com/mailru/easyjson/Makefile @@ -25,7 +25,8 @@ generate: root build .root/src/$(PKG)/tests/nothing.go \ .root/src/$(PKG)/tests/named_type.go \ .root/src/$(PKG)/tests/custom_map_key_type.go \ - .root/src/$(PKG)/tests/embedded_type.go + .root/src/$(PKG)/tests/embedded_type.go \ + .root/src/$(PKG)/tests/reference_to_pointer.go \ .root/bin/easyjson -all .root/src/$(PKG)/tests/data.go .root/bin/easyjson -all .root/src/$(PKG)/tests/nothing.go @@ -37,6 +38,8 @@ generate: root build .root/bin/easyjson .root/src/$(PKG)/tests/named_type.go .root/bin/easyjson .root/src/$(PKG)/tests/custom_map_key_type.go .root/bin/easyjson .root/src/$(PKG)/tests/embedded_type.go + .root/bin/easyjson .root/src/$(PKG)/tests/reference_to_pointer.go + .root/bin/easyjson .root/src/$(PKG)/tests/key_marshaler_map.go .root/bin/easyjson -disallow_unknown_fields .root/src/$(PKG)/tests/disallow_unknown.go test: generate root diff --git a/vendor/github.com/mailru/easyjson/jlexer/lexer.go b/vendor/github.com/mailru/easyjson/jlexer/lexer.go index 51f05661..ef640751 100644 --- a/vendor/github.com/mailru/easyjson/jlexer/lexer.go +++ b/vendor/github.com/mailru/easyjson/jlexer/lexer.go @@ -521,11 +521,12 @@ func (r *Lexer) SkipRecursive() { r.scanToken() var start, end byte - if r.token.delimValue == '{' { + switch r.token.delimValue { + case '{': start, end = '{', '}' - } else if r.token.delimValue == '[' { + case '[': start, end = '[', ']' - } else { + default: r.consume() return } diff --git a/vendor/github.com/mholt/certmagic/.travis.yml b/vendor/github.com/mholt/certmagic/.travis.yml index bb97caff..9dfaec42 100644 --- a/vendor/github.com/mholt/certmagic/.travis.yml +++ b/vendor/github.com/mholt/certmagic/.travis.yml @@ -15,8 +15,8 @@ install: - go get github.com/alecthomas/gometalinter script: - - gometalinter --install - - gometalinter --disable-all -E vet -E gofmt -E misspell -E ineffassign -E goimports -E deadcode --tests ./... + - curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.15.0 + - golangci-lint run --disable-all -E vet -E gofmt -E misspell -E ineffassign -E goimports -E deadcode --tests - go test -race ./... after_script: diff --git a/vendor/github.com/mholt/certmagic/README.md b/vendor/github.com/mholt/certmagic/README.md index 6fb956d1..4d3b5f42 100644 --- a/vendor/github.com/mholt/certmagic/README.md +++ b/vendor/github.com/mholt/certmagic/README.md @@ -84,7 +84,7 @@ CertMagic - Automatic HTTPS using Let's Encrypt - Full control over almost every aspect of the system - HTTP->HTTPS redirects (for HTTP applications) - Solves all 3 ACME challenges: HTTP, TLS-ALPN, and DNS -- Over 50 DNS providers work out-of-the-box (powered by [lego](https://github.com/xenolf/lego)!) +- Over 50 DNS providers work out-of-the-box (powered by [lego](https://github.com/go-acme/lego)!) - Pluggable storage implementations (default: file system) - Wildcard certificates (requires DNS challenge) - OCSP stapling for each qualifying certificate ([done right](https://gist.github.com/sleevi/5efe9ef98961ecfb4da8#gistcomment-2336055)) @@ -136,18 +136,20 @@ This library uses Let's Encrypt by default, but you can use any certificate auth #### The `Config` type -The `certmagic.Config` struct is how you can wield the power of this fully armed and operational battle station. However, an empty config is _not_ a valid one! In time, you will learn to use the force of `certmagic.New(certmagic.Config{...})` as I have. +The `certmagic.Config` struct is how you can wield the power of this fully armed and operational battle station. However, an empty/uninitialized `Config` is _not_ a valid one! In time, you will learn to use the force of `certmagic.NewDefault()` as I have. #### Defaults -For every field in the `Config` struct, there is a corresponding package-level variable you can set as a default value. These defaults will be used when you call any of the high-level convenience functions like `HTTPS()` or `Listen()` or anywhere else a default `Config` is used. They are also used for any `Config` fields that are zero-valued when you call `New()`. +The default `Config` value is called `certmagic.Default`. Change its fields to suit your needs, then call `certmagic.NewDefault()` when you need a valid `Config` value. In other words, `certmagic.Default` is a template and is not valid for use directly. -You can set these values easily, for example: `certmagic.Email = ...` sets the email address to use for everything unless you explicitly override it in a Config. +You can set the default values easily, for example: `certmagic.Default.Email = ...`. + +The high-level functions in this package (`HTTPS()`, `Listen()`, and `Manage()`) use the default config exclusively. This is how most of you will interact with the package. This is suitable when all your certificates are managed the same way. However, if you need to manage certificates differently depending on their name, you will need to make your own cache and configs (keep reading). #### Providing an email address -Although not strictly required, this is highly recommended best practice. It allows you to receive expiration emails if your certificates are expiring for some reason, and also allows the CA's engineers to potentially get in touch with you if something is wrong. I recommend setting `certmagic.Email` or always setting the `Email` field of the `Config` struct. +Although not strictly required, this is highly recommended best practice. It allows you to receive expiration emails if your certificates are expiring for some reason, and also allows the CA's engineers to potentially get in touch with you if something is wrong. I recommend setting `certmagic.Default.Email` or always setting the `Email` field of a new `Config` struct. ### Development and Testing @@ -156,7 +158,7 @@ Note that Let's Encrypt imposes [strict rate limits](https://letsencrypt.org/doc While developing your application and testing it, use [their staging endpoint](https://letsencrypt.org/docs/staging-environment/) which has much higher rate limits. Even then, don't hammer it: but it's much safer for when you're testing. When deploying, though, use their production CA because their staging CA doesn't issue trusted certificates. -To use staging, set `certmagic.CA = certmagic.LetsEncryptStagingCA` or set `CA` of every `Config` struct. +To use staging, set `certmagic.Default.CA = certmagic.LetsEncryptStagingCA` or set `CA` of every `Config` struct. @@ -164,20 +166,22 @@ To use staging, set `certmagic.CA = certmagic.LetsEncryptStagingCA` or set `CA` There are many ways to use this library. We'll start with the highest-level (simplest) and work down (more control). +All these high-level examples use `certmagic.Default` for the config and the default cache and storage for serving up certificates. + First, we'll follow best practices and do the following: ```go // read and agree to your CA's legal documents -certmagic.Agreed = true +certmagic.Default.Agreed = true // provide an email address -certmagic.Email = "you@yours.com" +certmagic.Default.Email = "you@yours.com" // use the staging endpoint while we're developing -certmagic.CA = certmagic.LetsEncryptStagingCA +certmagic.Default.CA = certmagic.LetsEncryptStagingCA ``` -For fully-functional program examples, check out [this Twitter thread](https://twitter.com/mholt6/status/1073103805112147968) (or read it [unrolled into a single post](https://threadreaderapp.com/thread/1073103805112147968.html)). +For fully-functional program examples, check out [this Twitter thread](https://twitter.com/mholt6/status/1073103805112147968) (or read it [unrolled into a single post](https://threadreaderapp.com/thread/1073103805112147968.html)). (Note that the package API has changed slightly since these posts.) #### Serving HTTP handlers with HTTPS @@ -213,10 +217,24 @@ if err != nil { #### Advanced use -For more control, you'll make and use a `Config` like so: +For more control (particularly, if you need a different way of managing each certificate), you'll make and use a `Cache` and a `Config` like so: ```go -magic := certmagic.New(certmagic.Config{ +cache := certmagic.NewCache(certmagic.CacheOptions{ + GetConfigForCert: func(cert certmagic.Certificate) (*certmagic.Config, error) { + // do whatever you need to do to get the right + // configuration for this certificate; keep in + // mind that this config value is used as a + // template, and will be completed with any + // defaults that are set in the Default config + return certmagic.Config{ + // ... + }), nil + }, + ... +}) + +magic := certmagic.New(cache, certmagic.Config{ CA: certmagic.LetsEncryptStagingCA, Email: "you@yours.com", Agreed: true, @@ -233,6 +251,8 @@ if err != nil { // you can get a TLS config to use in a TLS listener! tlsConfig := magic.TLSConfig() +//// OR //// + // if you already have a TLS config you don't want to replace, // we can simply set its GetCertificate field and append the // TLS-ALPN challenge protocol to the NextProtos @@ -245,23 +265,12 @@ myTLSConfig.NextProtos = append(myTLSConfig.NextProtos, tlsalpn01.ACMETLS1Protoc httpMux = magic.HTTPChallengeHandler(httpMux) ``` -Great! This example grants you much more flexibility for advanced programs. However, _the vast majority of you will only use the high-level functions described earlier_, especially since you can still customize them by setting the package-level defaults. - -If you want to use the default configuration but you still need a `certmagic.Config`, you can call `certmagic.Manage()` directly to get one: - -```go -magic, err := certmagic.Manage([]string{"example.com"}) -if err != nil { - return err -} -``` - -And then it's the same as above, as if you had made the `Config` yourself. +Great! This example grants you much more flexibility for advanced programs. However, _the vast majority of you will only use the high-level functions described earlier_, especially since you can still customize them by setting the package-level `Default` config. ### Wildcard certificates -At time of writing (December 2018), Let's Encrypt only issues wildcard certificates with the DNS challenge. +At time of writing (December 2018), Let's Encrypt only issues wildcard certificates with the DNS challenge. You can easily enable the DNS challenge with CertMagic for numerous providers (see the relevant section in the docs). ### Behind a load balancer (or in a cluster) @@ -348,22 +357,22 @@ ln, err := tls.Listen("tcp", ":443", myTLSConfig) The DNS challenge is perhaps the most useful challenge because it allows you to obtain certificates without your server needing to be publicly accessible on the Internet, and it's the only challenge by which Let's Encrypt will issue wildcard certificates. -This challenge works by setting a special record in the domain's zone. To do this automatically, your DNS provider needs to offer an API by which changes can be made to domain names, and the changes need to take effect immediately for best results. CertMagic supports [all of lego's DNS provider implementations](https://github.com/xenolf/lego/tree/master/providers/dns)! All of them clean up the temporary record after the challenge completes. +This challenge works by setting a special record in the domain's zone. To do this automatically, your DNS provider needs to offer an API by which changes can be made to domain names, and the changes need to take effect immediately for best results. CertMagic supports [all of lego's DNS provider implementations](https://github.com/go-acme/lego/tree/master/providers/dns)! All of them clean up the temporary record after the challenge completes. To enable it, just set the `DNSProvider` field on a `certmagic.Config` struct, or set the default `certmagic.DNSProvider` variable. For example, if my domains' DNS was served by DNSimple and I set my DNSimple API credentials in environment variables: ```go -import "github.com/xenolf/lego/providers/dns/dnsimple" +import "github.com/go-acme/lego/providers/dns/dnsimple" provider, err := dnsimple.NewDNSProvider() if err != nil { return err } -certmagic.DNSProvider = provider +certmagic.Default.DNSProvider = provider ``` -Now the DNS challenge will be used by default, and I can obtain certificates for wildcard domains. See the [godoc documentation for the provider you're using](https://godoc.org/github.com/xenolf/lego/providers/dns#pkg-subdirectories) to learn how to configure it. Most can be configured by env variables or by passing in a config struct. If you pass a config struct instead of using env variables, you will probably need to set some other defaults (that's just how lego works, currently): +Now the DNS challenge will be used by default, and I can obtain certificates for wildcard domains. See the [godoc documentation for the provider you're using](https://godoc.org/github.com/go-acme/lego/providers/dns#pkg-subdirectories) to learn how to configure it. Most can be configured by env variables or by passing in a config struct. If you pass a config struct instead of using env variables, you will probably need to set some other defaults (that's just how lego works, currently): ```go PropagationTimeout: dns01.DefaultPollingInterval, @@ -392,7 +401,7 @@ CertMagic provides several ways to enforce decision policies for On-Demand TLS, The simplest way to enable On-Demand issuance is to set the OnDemand field of a Config (or the default package-level value): ```go -certmagic.OnDemand = &certmagic.OnDemandConfig{MaxObtain: 5} +certmagic.Default.OnDemand = &certmagic.OnDemandConfig{MaxObtain: 5} ``` This allows only 5 certificates to be requested and is the simplest way to enable On-Demand TLS, but is the least recommended. It prevents abuse, but only in the least helpful way. @@ -412,7 +421,7 @@ The notion of a "cluster" or "fleet" of instances that may be serving the same s The easiest way to change the storage being used is to set `certmagic.DefaultStorage` to a value that satisfies the [Storage interface](https://godoc.org/github.com/mholt/certmagic#Storage). Keep in mind that a valid `Storage` must be able to implement some operations atomically in order to provide locking and synchronization. -If you write a Storage implementation, let us know and we'll add it to the project so people can find it! +If you write a Storage implementation, please add it to the [project wiki](https://github.com/mholt/certmagic/wiki/Storage-Implementations) so people can find it! ## Cache @@ -460,7 +469,7 @@ We welcome your contributions! Please see our **[contributing guidelines](https: ## Project History -CertMagic is the core of Caddy's advanced TLS automation code, extracted into a library. The underlying ACME client implementation is [lego](https://github.com/xenolf/lego), which was originally developed for use in Caddy even before Let's Encrypt entered public beta in 2015. +CertMagic is the core of Caddy's advanced TLS automation code, extracted into a library. The underlying ACME client implementation is [lego](https://github.com/go-acme/lego), which was originally developed for use in Caddy even before Let's Encrypt entered public beta in 2015. In the years since then, Caddy's TLS automation techniques have been widely adopted, tried and tested in production, and served millions of sites and secured trillions of connections. diff --git a/vendor/github.com/mholt/certmagic/appveyor.yml b/vendor/github.com/mholt/certmagic/appveyor.yml index 9178e018..2ab77bec 100644 --- a/vendor/github.com/mholt/certmagic/appveyor.yml +++ b/vendor/github.com/mholt/certmagic/appveyor.yml @@ -21,8 +21,6 @@ before_test: - go env test_script: - - gometalinter --install - - gometalinter --disable-all -E vet -E gofmt -E misspell -E ineffassign -E goimports -E deadcode --tests ./... - go test -race ./... after_test: diff --git a/vendor/github.com/mholt/certmagic/cache.go b/vendor/github.com/mholt/certmagic/cache.go index 19bfe51c..79641df6 100644 --- a/vendor/github.com/mholt/certmagic/cache.go +++ b/vendor/github.com/mholt/certmagic/cache.go @@ -21,149 +21,251 @@ import ( ) // Cache is a structure that stores certificates in memory. -// Generally, there should only be one per process. However, -// complex applications that virtualize the concept of a -// "process" (such as Caddy, which virtualizes processes as -// "instances" so it can do graceful, in-memory reloads of -// its configuration) may use more of these per OS process. +// A Cache indexes certificates by name for quick access +// during TLS handshakes, and avoids duplicating certificates +// in memory. Generally, there should only be one per process. +// However, that is not a strict requirement; but using more +// than one is a code smell, and may indicate an +// over-engineered design. // -// Using just one cache per process avoids duplication of -// certificates across multiple configurations and makes -// maintenance easier. +// An empty cache is INVALID and must not be used. Be sure +// to call NewCache to get a valid value. // -// An empty cache is INVALID and must not be used. -// Be sure to call NewCertificateCache to get one. -// -// These should be very long-lived values, and must not be +// These should be very long-lived values and must not be // copied. Before all references leave scope to be garbage -// collected, ensure you call Stop() to stop maintenance -// maintenance on the certificates stored in this cache. +// collected, ensure you call Stop() to stop maintenance on +// the certificates stored in this cache and release locks. +// +// Caches are not usually manipulated directly; create a +// Config value with a pointer to a Cache, and then use +// the Config to interact with the cache. Caches are +// agnostic of any particular storage or ACME config, +// since each certificate may be managed and stored +// differently. type Cache struct { - // How often to check certificates for renewal - RenewInterval time.Duration - - // How often to check if OCSP stapling needs updating - OCSPInterval time.Duration - - // The storage implementation - storage Storage + // User configuration of the cache + options CacheOptions // The cache is keyed by certificate hash cache map[string]Certificate - // Protects the cache map + // cacheIndex is a map of SAN to cache key (cert hash) + cacheIndex map[string][]string + + // Protects the cache and index maps mu sync.RWMutex // Close this channel to cancel asset maintenance stopChan chan struct{} + + // Used to signal when stopping is completed + doneChan chan struct{} } -// NewCache returns a new, valid Cache backed by the -// given storage implementation. It also begins a -// maintenance goroutine for any managed certificates -// stored in this cache. +// NewCache returns a new, valid Cache for efficiently +// accessing certificates in memory. It also begins a +// maintenance goroutine to tend to the certificates +// in the cache. Call Stop() when you are done with the +// cache so it can clean up locks and stuff. // -// See the godoc for Cache to use it properly. +// Most users of this package will not need to call this +// because a default certificate cache is created for you. +// Only advanced use cases require creating a new cache. // -// Note that all processes running in a cluster -// configuration must use the same storage value -// in order to share certificates. (A single storage -// value may be shared by multiple clusters as well.) -func NewCache(storage Storage) *Cache { - c := &Cache{ - RenewInterval: DefaultRenewInterval, - OCSPInterval: DefaultOCSPInterval, - storage: storage, - cache: make(map[string]Certificate), - stopChan: make(chan struct{}), +// This function panics if opts.GetConfigForCert is not +// set. The reason is that a cache absolutely needs to +// be able to get a Config with which to manage TLS +// assets, and it is not safe to assume that the Default +// config is always the correct one, since you have +// created the cache yourself. +// +// See the godoc for Cache to use it properly. When +// no longer needed, caches should be stopped with +// Stop() to clean up resources even if the process +// is being terminated, so that it can clean up +// any locks for other processes to unblock! +func NewCache(opts CacheOptions) *Cache { + // assume default options if necessary + if opts.OCSPCheckInterval <= 0 { + opts.OCSPCheckInterval = DefaultOCSPCheckInterval } + if opts.RenewCheckInterval <= 0 { + opts.RenewCheckInterval = DefaultRenewCheckInterval + } + + // this must be set, because we cannot not + // safely assume that the Default Config + // is always the correct one to use + if opts.GetConfigForCert == nil { + panic("cache must be initialized with a GetConfigForCert callback") + } + + c := &Cache{ + options: opts, + cache: make(map[string]Certificate), + cacheIndex: make(map[string][]string), + stopChan: make(chan struct{}), + doneChan: make(chan struct{}), + } + go c.maintainAssets() + return c } // Stop stops the maintenance goroutine for -// certificates in certCache. +// certificates in certCache. It blocks until +// stopping is complete. Once a cache is +// stopped, it cannot be reused. func (certCache *Cache) Stop() { - close(certCache.stopChan) + close(certCache.stopChan) // signal to stop + <-certCache.doneChan // wait for stop to complete } -// replaceCertificate replaces oldCert with newCert in the cache, and -// updates all configs that are pointing to the old certificate to -// point to the new one instead. newCert must already be loaded into -// the cache (this method does NOT load it into the cache). +// CacheOptions is used to configure certificate caches. +// Once a cache has been created with certain options, +// those settings cannot be changed. +type CacheOptions struct { + // REQUIRED. A function that returns a configuration + // used for managing a certificate, or for accessing + // that certificate's asset storage (e.g. for + // OCSP staples, etc). The returned Config MUST + // be associated with the same Cache as the caller. + // + // The reason this is a callback function, dynamically + // returning a Config (instead of attaching a static + // pointer to a Config on each certificate) is because + // the config for how to manage a domain's certificate + // might change from maintenance to maintenance. The + // cache is so long-lived, we cannot assume that the + // host's situation will always be the same; e.g. the + // certificate might switch DNS providers, so the DNS + // challenge (if used) would need to be adjusted from + // the last time it was run ~8 weeks ago. + GetConfigForCert ConfigGetter + + // How often to check certificates for renewal; + // if unset, DefaultOCSPCheckInterval will be used. + OCSPCheckInterval time.Duration + + // How often to check certificates for renewal; + // if unset, DefaultRenewCheckInterval will be used. + RenewCheckInterval time.Duration +} + +// ConfigGetter is a function that returns a config that +// should be used when managing the given certificate +// or its assets. +type ConfigGetter func(Certificate) (Config, error) + +// cacheCertificate calls unsyncedCacheCertificate with a write lock. // -// Note that all the names on the old certificate will be deleted -// from the name lookup maps of each config, then all the names on -// the new certificate will be added to the lookup maps as long as -// they do not overwrite any entries. +// This function is safe for concurrent use. +func (certCache *Cache) cacheCertificate(cert Certificate) { + certCache.mu.Lock() + certCache.unsyncedCacheCertificate(cert) + certCache.mu.Unlock() +} + +// unsyncedCacheCertificate adds cert to the in-memory cache unless +// it already exists in the cache (according to cert.Hash). It +// updates the name index. // -// The newCert may be modified and its cache entry updated. +// This function is NOT safe for concurrent use. Callers MUST acquire +// a write lock on certCache.mu first. +func (certCache *Cache) unsyncedCacheCertificate(cert Certificate) { + // no-op if this certificate already exists in the cache + if _, ok := certCache.cache[cert.Hash]; ok { + return + } + + // store the certificate + certCache.cache[cert.Hash] = cert + + // update the index so we can access it by name + for _, name := range cert.Names { + certCache.cacheIndex[name] = append(certCache.cacheIndex[name], cert.Hash) + } +} + +// removeCertificate removes cert from the cache. +// +// This function is NOT safe for concurrent use; callers +// MUST first acquire a write lock on certCache.mu. +func (certCache *Cache) removeCertificate(cert Certificate) { + // delete all mentions of this cert from the name index + for _, name := range cert.Names { + keyList := certCache.cacheIndex[name] + for i, cacheKey := range keyList { + if cacheKey == cert.Hash { + keyList = append(keyList[:i], keyList[i+1:]...) + } + } + if len(keyList) == 0 { + delete(certCache.cacheIndex, name) + } else { + certCache.cacheIndex[name] = keyList + } + } + + // delete the actual cert from the cache + delete(certCache.cache, cert.Hash) +} + +// replaceCertificate atomically replaces oldCert with newCert in +// the cache. // // This method is safe for concurrent use. -func (certCache *Cache) replaceCertificate(oldCert, newCert Certificate) error { +func (certCache *Cache) replaceCertificate(oldCert, newCert Certificate) { certCache.mu.Lock() - defer certCache.mu.Unlock() - - // have all the configs that are pointing to the old - // certificate point to the new certificate instead - for _, cfg := range oldCert.configs { - // first delete all the name lookup entries that - // pointed to the old certificate - for name, certKey := range cfg.certificates { - if certKey == oldCert.Hash { - delete(cfg.certificates, name) - } - } - - // then add name lookup entries for the names - // on the new certificate, but don't overwrite - // entries that may already exist, not only as - // a courtesy, but importantly: because if we - // overwrote a value here, and this config no - // longer pointed to a certain certificate in - // the cache, that certificate's list of configs - // referring to it would be incorrect; so just - // insert entries, don't overwrite any - for _, name := range newCert.Names { - if _, ok := cfg.certificates[name]; !ok { - cfg.certificates[name] = newCert.Hash - } - } - } - - // since caching a new certificate attaches only the config - // that loaded it, the new certificate needs to be given the - // list of all the configs that use it, so copy the list - // over from the old certificate to the new certificate - // in the cache - newCert.configs = oldCert.configs - certCache.cache[newCert.Hash] = newCert - - // finally, delete the old certificate from the cache - delete(certCache.cache, oldCert.Hash) - - return nil + certCache.removeCertificate(oldCert) + certCache.unsyncedCacheCertificate(newCert) + certCache.mu.Unlock() } -// reloadManagedCertificate reloads the certificate corresponding to the name(s) -// on oldCert into the cache, from storage. This also replaces the old certificate -// with the new one, so that all configurations that used the old cert now point -// to the new cert. -func (certCache *Cache) reloadManagedCertificate(oldCert Certificate) error { - // get the certificate from storage and cache it - newCert, err := oldCert.configs[0].CacheManagedCertificate(oldCert.Names[0]) - if err != nil { - return fmt.Errorf("unable to reload certificate for %v into cache: %v", oldCert.Names, err) +func (certCache *Cache) getFirstMatchingCert(name string) (Certificate, bool) { + certCache.mu.RLock() + defer certCache.mu.RUnlock() + + allCertKeys := certCache.cacheIndex[name] + if len(allCertKeys) == 0 { + return Certificate{}, false } - // and replace the old certificate with the new one - err = certCache.replaceCertificate(oldCert, newCert) - if err != nil { - return fmt.Errorf("replacing certificate %v: %v", oldCert.Names, err) - } - - return nil + cert, ok := certCache.cache[allCertKeys[0]] + return cert, ok } -var defaultCache *Cache -var defaultCacheMu sync.Mutex +// TODO: This seems unused (but could be useful if TLS +// handshakes serve up different certs for a single +// name depending on other properties such as key type) +func (certCache *Cache) getAllMatchingCerts(name string) []Certificate { + certCache.mu.RLock() + defer certCache.mu.RUnlock() + + allCertKeys := certCache.cacheIndex[name] + + certs := make([]Certificate, len(allCertKeys)) + for i := range allCertKeys { + certs[i] = certCache.cache[allCertKeys[i]] + } + + return certs +} + +func (certCache *Cache) getConfig(cert Certificate) (*Config, error) { + cfg, err := certCache.options.GetConfigForCert(cert) + if err != nil { + return nil, err + } + if cfg.certCache != nil && cfg.certCache != certCache { + return nil, fmt.Errorf("config returned for certificate %v is not nil and points to different cache; got %p, expected %p (this one)", + cert.Names, cfg.certCache, certCache) + } + return New(certCache, cfg), nil +} + +var ( + defaultCache *Cache + defaultCacheMu sync.Mutex +) diff --git a/vendor/github.com/mholt/certmagic/certificates.go b/vendor/github.com/mholt/certmagic/certificates.go index a6be8917..5675a7c8 100644 --- a/vendor/github.com/mholt/certmagic/certificates.go +++ b/vendor/github.com/mholt/certmagic/certificates.go @@ -46,29 +46,21 @@ type Certificate struct { // The hex-encoded hash of this cert's chain's bytes. Hash string - // configs is the list of configs that use or refer to - // The first one is assumed to be the config that is - // "in charge" of this certificate (i.e. determines - // whether it is managed, how it is managed, etc). - // This field will be populated by cacheCertificate. - // Only meddle with it if you know what you're doing! - configs []*Config - - // whether this certificate is under our management + // Whether this certificate is under our management managed bool } // NeedsRenewal returns true if the certificate is -// expiring soon or has expired. -func (c Certificate) NeedsRenewal() bool { - if c.NotAfter.IsZero() { +// expiring soon (according to cfg) or has expired. +func (cert Certificate) NeedsRenewal(cfg *Config) bool { + if cert.NotAfter.IsZero() { return false } renewDurationBefore := DefaultRenewDurationBefore - if len(c.configs) > 0 && c.configs[0].RenewDurationBefore > 0 { - renewDurationBefore = c.configs[0].RenewDurationBefore + if cfg.RenewDurationBefore > 0 { + renewDurationBefore = cfg.RenewDurationBefore } - return time.Until(c.NotAfter) < renewDurationBefore + return time.Until(cert.NotAfter) < renewDurationBefore } // CacheManagedCertificate loads the certificate for domain into the @@ -79,19 +71,30 @@ func (c Certificate) NeedsRenewal() bool { // // This method is safe for concurrent use. func (cfg *Config) CacheManagedCertificate(domain string) (Certificate, error) { + cert, err := cfg.loadManagedCertificate(domain) + if err != nil { + return cert, err + } + cfg.certCache.cacheCertificate(cert) + if cfg.OnEvent != nil { + cfg.OnEvent("cached_managed_cert", cert.Names) + } + return cert, nil +} + +// loadManagedCertificate loads the managed certificate for domain, +// but it does not add it to the cache. It just loads from storage. +func (cfg *Config) loadManagedCertificate(domain string) (Certificate, error) { certRes, err := cfg.loadCertResource(domain) if err != nil { return Certificate{}, err } - cert, err := cfg.makeCertificateWithOCSP(certRes.Certificate, certRes.PrivateKey) + cert, err := makeCertificateWithOCSP(cfg.Storage, certRes.Certificate, certRes.PrivateKey) if err != nil { return cert, err } cert.managed = true - if cfg.OnEvent != nil { - cfg.OnEvent("cached_managed_cert", cert.Names) - } - return cfg.cacheCertificate(cert), nil + return cert, nil } // CacheUnmanagedCertificatePEMFile loads a certificate for host using certFile @@ -100,11 +103,11 @@ func (cfg *Config) CacheManagedCertificate(domain string) (Certificate, error) { // // This method is safe for concurrent use. func (cfg *Config) CacheUnmanagedCertificatePEMFile(certFile, keyFile string) error { - cert, err := cfg.makeCertificateFromDiskWithOCSP(certFile, keyFile) + cert, err := makeCertificateFromDiskWithOCSP(cfg.Storage, certFile, keyFile) if err != nil { return err } - cfg.cacheCertificate(cert) + cfg.certCache.cacheCertificate(cert) if cfg.OnEvent != nil { cfg.OnEvent("cached_unmanaged_cert", cert.Names) } @@ -121,14 +124,14 @@ func (cfg *Config) CacheUnmanagedTLSCertificate(tlsCert tls.Certificate) error { if err != nil { return err } - err = cfg.certCache.stapleOCSP(&cert, nil) + err = stapleOCSP(cfg.Storage, &cert, nil) if err != nil { log.Printf("[WARNING] Stapling OCSP: %v", err) } if cfg.OnEvent != nil { cfg.OnEvent("cached_unmanaged_cert", cert.Names) } - cfg.cacheCertificate(cert) + cfg.certCache.cacheCertificate(cert) return nil } @@ -137,11 +140,11 @@ func (cfg *Config) CacheUnmanagedTLSCertificate(tlsCert tls.Certificate) error { // // This method is safe for concurrent use. func (cfg *Config) CacheUnmanagedCertificatePEMBytes(certBytes, keyBytes []byte) error { - cert, err := cfg.makeCertificateWithOCSP(certBytes, keyBytes) + cert, err := makeCertificateWithOCSP(cfg.Storage, certBytes, keyBytes) if err != nil { return err } - cfg.cacheCertificate(cert) + cfg.certCache.cacheCertificate(cert) if cfg.OnEvent != nil { cfg.OnEvent("cached_unmanaged_cert", cert.Names) } @@ -152,7 +155,7 @@ func (cfg *Config) CacheUnmanagedCertificatePEMBytes(certBytes, keyBytes []byte) // certificate and key files. It fills out all the fields in // the certificate except for the Managed and OnDemand flags. // (It is up to the caller to set those.) It staples OCSP. -func (cfg *Config) makeCertificateFromDiskWithOCSP(certFile, keyFile string) (Certificate, error) { +func makeCertificateFromDiskWithOCSP(storage Storage, certFile, keyFile string) (Certificate, error) { certPEMBlock, err := ioutil.ReadFile(certFile) if err != nil { return Certificate{}, err @@ -161,7 +164,21 @@ func (cfg *Config) makeCertificateFromDiskWithOCSP(certFile, keyFile string) (Ce if err != nil { return Certificate{}, err } - return cfg.makeCertificateWithOCSP(certPEMBlock, keyPEMBlock) + return makeCertificateWithOCSP(storage, certPEMBlock, keyPEMBlock) +} + +// makeCertificateWithOCSP is the same as makeCertificate except that it also +// staples OCSP to the certificate. +func makeCertificateWithOCSP(storage Storage, certPEMBlock, keyPEMBlock []byte) (Certificate, error) { + cert, err := makeCertificate(certPEMBlock, keyPEMBlock) + if err != nil { + return cert, err + } + err = stapleOCSP(storage, &cert, certPEMBlock) + if err != nil { + log.Printf("[WARNING] Stapling OCSP: %v", err) + } + return cert, nil } // makeCertificate turns a certificate PEM bundle and a key PEM block into @@ -169,7 +186,7 @@ func (cfg *Config) makeCertificateFromDiskWithOCSP(certFile, keyFile string) (Ce // its struct fields for convenience (except for the OnDemand and Managed // flags; it is up to the caller to set those properties!). This function // does NOT staple OCSP. -func (*Config) makeCertificate(certPEMBlock, keyPEMBlock []byte) (Certificate, error) { +func makeCertificate(certPEMBlock, keyPEMBlock []byte) (Certificate, error) { var cert Certificate // Convert to a tls.Certificate @@ -187,20 +204,6 @@ func (*Config) makeCertificate(certPEMBlock, keyPEMBlock []byte) (Certificate, e return cert, nil } -// makeCertificateWithOCSP is the same as makeCertificate except that it also -// staples OCSP to the certificate. -func (cfg *Config) makeCertificateWithOCSP(certPEMBlock, keyPEMBlock []byte) (Certificate, error) { - cert, err := cfg.makeCertificate(certPEMBlock, keyPEMBlock) - if err != nil { - return cert, err - } - err = cfg.certCache.stapleOCSP(&cert, certPEMBlock) - if err != nil { - log.Printf("[WARNING] Stapling OCSP: %v", err) - } - return cert, nil -} - // fillCertFromLeaf populates metadata fields on cert from tlsCert. func fillCertFromLeaf(cert *Certificate, tlsCert tls.Certificate) error { if len(tlsCert.Certificate) == 0 { @@ -253,11 +256,7 @@ func fillCertFromLeaf(cert *Certificate, tlsCert tls.Certificate) error { // means that another instance renewed the certificate in the // meantime, and it would be a good idea to simply load the cert // into our cache rather than repeating the renewal process again. -func managedCertInStorageExpiresSoon(cert Certificate) (bool, error) { - if len(cert.configs) == 0 { - return false, fmt.Errorf("no configs for certificate") - } - cfg := cert.configs[0] +func (cfg *Config) managedCertInStorageExpiresSoon(cert Certificate) (bool, error) { certRes, err := cfg.loadCertResource(cert.Names[0]) if err != nil { return false, err @@ -274,54 +273,17 @@ func managedCertInStorageExpiresSoon(cert Certificate) (bool, error) { return timeLeft < cfg.RenewDurationBefore, nil } -// cacheCertificate adds cert to the in-memory cache. If a certificate -// with the same hash is already cached, it is NOT overwritten; instead, -// cfg is added to the existing certificate's list of configs if not -// already in the list. Then all the names on cert are used to add -// entries to cfg.certificates (the config's name lookup map). -// Then the certificate is stored/updated in the cache. It returns -// a copy of the certificate that ends up being stored in the cache. -// -// It is VERY important, even for some test cases, that the Hash field -// of the cert be set properly. -// -// This function is safe for concurrent use. -func (cfg *Config) cacheCertificate(cert Certificate) Certificate { - cfg.certCache.mu.Lock() - defer cfg.certCache.mu.Unlock() - - // if this certificate already exists in the cache, - // use it instead of overwriting it -- very important! - if existingCert, ok := cfg.certCache.cache[cert.Hash]; ok { - cert = existingCert +// reloadManagedCertificate reloads the certificate corresponding to the name(s) +// on oldCert into the cache, from storage. This also replaces the old certificate +// with the new one, so that all configurations that used the old cert now point +// to the new cert. +func (cfg *Config) reloadManagedCertificate(oldCert Certificate) error { + newCert, err := cfg.loadManagedCertificate(oldCert.Names[0]) + if err != nil { + return fmt.Errorf("loading managed certificate for %v from storage: %v", oldCert.Names, err) } - - // attach this config to the certificate so we know which - // configs are referencing/using the certificate, but don't - // duplicate entries - var found bool - for _, c := range cert.configs { - if c == cfg { - found = true - break - } - } - if !found { - cert.configs = append(cert.configs, cfg) - } - - // key the certificate by all its names for this config only, - // this is how we find the certificate during handshakes - // (yes, if certs overlap in the names they serve, one will - // overwrite another here, but that's just how it goes) - for _, name := range cert.Names { - cfg.certificates[NormalizedName(name)] = cert.Hash - } - - // store the certificate - cfg.certCache.cache[cert.Hash] = cert - - return cert + cfg.certCache.replaceCertificate(oldCert, newCert) + return nil } // HostQualifies returns true if the hostname alone diff --git a/vendor/github.com/mholt/certmagic/certmagic.go b/vendor/github.com/mholt/certmagic/certmagic.go index f3acc042..4739ad27 100644 --- a/vendor/github.com/mholt/certmagic/certmagic.go +++ b/vendor/github.com/mholt/certmagic/certmagic.go @@ -23,8 +23,9 @@ // a ready-to-use tls.Config -- whatever layer you need TLS for, CertMagic // makes it easy. See the HTTPS, Listen, and TLS functions for that. // -// If you need more control, create a Config using New() and then call -// Manage() on the config; but you'll have to be sure to solve the HTTP +// If you need more control, create a Cache using NewCache() and then make +// a Config using New(). You can then call Manage() on the config. But if +// you use this lower-level API, you'll have to be sure to solve the HTTP // and TLS-ALPN challenges yourself (unless you disabled them or use the // DNS challenge) by using the provided Config.GetCertificate function // in your tls.Config and/or Config.HTTPChallangeHandler in your HTTP @@ -45,22 +46,22 @@ import ( "sync/atomic" "time" - "github.com/xenolf/lego/certcrypto" - "github.com/xenolf/lego/challenge" + "github.com/go-acme/lego/certcrypto" ) // HTTPS serves mux for all domainNames using the HTTP // and HTTPS ports, redirecting all HTTP requests to HTTPS. +// It uses the Default config. // // This high-level convenience function is opinionated and // applies sane defaults for production use, including // timeouts for HTTP requests and responses. To allow very -// long-lived requests or connections, you should make your -// own http.Server values and use this package's Listen(), -// TLS(), or Config.TLSConfig() functions to customize to -// your needs. For example, servers which need to support -// large uploads or downloads with slow clients may need to -// use longer timeouts, thus this function is not suitable. +// long-lived connections, you should make your own +// http.Server values and use this package's Listen(), TLS(), +// or Config.TLSConfig() functions to customize to your needs. +// For example, servers which need to support large uploads or +// downloads with slow clients may need to use longer timeouts, +// thus this function is not suitable. // // Calling this function signifies your acceptance to // the CA's Subscriber Agreement and/or Terms of Service. @@ -69,7 +70,10 @@ func HTTPS(domainNames []string, mux http.Handler) error { mux = http.DefaultServeMux } - cfg, err := manageWithDefaultConfig(domainNames, false) + Default.Agreed = true + cfg := NewDefault() + + err := cfg.Manage(domainNames) if err != nil { return err } @@ -154,31 +158,40 @@ func httpRedirectHandler(w http.ResponseWriter, r *http.Request) { } // TLS enables management of certificates for domainNames -// and returns a valid tls.Config. +// and returns a valid tls.Config. It uses the Default +// config. // // Because this is a convenience function that returns // only a tls.Config, it does not assume HTTP is being // served on the HTTP port, so the HTTP challenge is -// disabled (no HTTPChallengeHandler is necessary). +// disabled (no HTTPChallengeHandler is necessary). The +// package variable Default is modified so that the +// HTTP challenge is disabled. // // Calling this function signifies your acceptance to // the CA's Subscriber Agreement and/or Terms of Service. func TLS(domainNames []string) (*tls.Config, error) { - cfg, err := manageWithDefaultConfig(domainNames, true) - return cfg.TLSConfig(), err + Default.Agreed = true + Default.DisableHTTPChallenge = true + cfg := NewDefault() + return cfg.TLSConfig(), cfg.Manage(domainNames) } // Listen manages certificates for domainName and returns a -// TLS listener. +// TLS listener. It uses the Default config. // // Because this convenience function returns only a TLS-enabled // listener and does not presume HTTP is also being served, -// the HTTP challenge will be disabled. +// the HTTP challenge will be disabled. The package variable +// Default is modified so that the HTTP challenge is disabled. // // Calling this function signifies your acceptance to // the CA's Subscriber Agreement and/or Terms of Service. func Listen(domainNames []string) (net.Listener, error) { - cfg, err := manageWithDefaultConfig(domainNames, true) + Default.Agreed = true + Default.DisableHTTPChallenge = true + cfg := NewDefault() + err := cfg.Manage(domainNames) if err != nil { return nil, err } @@ -186,36 +199,36 @@ func Listen(domainNames []string) (net.Listener, error) { } // Manage obtains certificates for domainNames and keeps them -// renewed using the returned Config. +// renewed using the Default config. +// +// This is a slightly lower-level function; you will need to +// wire up support for the ACME challenges yourself. You can +// obtain a Config to help you do that by calling NewDefault(). // // You will need to ensure that you use a TLS config that gets // certificates from this Config and that the HTTP and TLS-ALPN // challenges can be solved. The easiest way to do this is to -// use cfg.TLSConfig() as your TLS config and to wrap your -// HTTP handler with cfg.HTTPChallengeHandler(). If you don't -// have an HTTP server, you will need to disable the HTTP -// challenge. +// use NewDefault().TLSConfig() as your TLS config and to wrap +// your HTTP handler with NewDefault().HTTPChallengeHandler(). +// If you don't have an HTTP server, you will need to disable +// the HTTP challenge. // // If you already have a TLS config you want to use, you can -// simply set its GetCertificate field to cfg.GetCertificate. +// simply set its GetCertificate field to +// NewDefault().GetCertificate. // // Calling this function signifies your acceptance to // the CA's Subscriber Agreement and/or Terms of Service. -func Manage(domainNames []string) (cfg *Config, err error) { - return manageWithDefaultConfig(domainNames, false) -} - -// manageWithDefaultConfig returns a TLS configuration that -// is fully managed for the given names, optionally -// with the HTTP challenge disabled. -func manageWithDefaultConfig(domainNames []string, disableHTTPChallenge bool) (*Config, error) { - cfg := NewDefault() - cfg.DisableHTTPChallenge = disableHTTPChallenge - return cfg, cfg.Manage(domainNames) +func Manage(domainNames []string) error { + Default.Agreed = true + return NewDefault().Manage(domainNames) } // OnDemandConfig contains some state relevant for providing -// on-demand TLS. +// on-demand TLS. Important note: If you are using the +// MaxObtain property to limit the maximum number of certs +// to be issued, the count of how many certs were issued +// will be reset if this struct gets garbage-collected. type OnDemandConfig struct { // If set, this function will be the absolute // authority on whether the hostname (according @@ -246,6 +259,8 @@ type OnDemandConfig struct { // The number of certificates that have been issued on-demand // by this config. It is only safe to modify this count atomically. // If it reaches MaxObtain, on-demand issuances must fail. + // Note that this will necessarily be reset to 0 if the + // struct leaves scope and/or gets garbage-collected. obtainedCount int32 } @@ -405,98 +420,28 @@ func isInternal(addr string) bool { return false } -// Package defaults -var ( - // The endpoint of the directory for the ACME - // CA we are to use - CA = LetsEncryptProductionCA - - // The email address to use when creating or - // selecting an existing ACME server account - Email string - - // The synchronization implementation - all - // instances of certmagic in a cluster must - // use the same value here, otherwise some - // cert operations will not be properly - // coordinated - Sync Locker - - // Set to true if agreed to the CA's - // subscriber agreement - Agreed bool - - // Disable all HTTP challenges - DisableHTTPChallenge bool - - // Disable all TLS-ALPN challenges - DisableTLSALPNChallenge bool - - // How long before expiration to renew certificates - RenewDurationBefore = DefaultRenewDurationBefore - - // How long before expiration to require a renewed - // certificate when in interactive mode, like when - // the program is first starting up (see - // mholt/caddy#1680). A wider window between - // RenewDurationBefore and this value will suppress - // errors under duress (bad) but hopefully this duration - // will give it enough time for the blockage to be - // relieved. - RenewDurationBeforeAtStartup = DefaultRenewDurationBeforeAtStartup - - // An optional event callback clients can set - // to subscribe to certain things happening - // internally by this config; invocations are - // synchronous, so make them return quickly! - OnEvent func(event string, data interface{}) - - // The host (ONLY the host, not port) to listen - // on if necessary to start a listener to solve - // an ACME challenge - ListenHost string - - // The alternate port to use for the ACME HTTP - // challenge; if non-empty, this port will be - // used instead of HTTPChallengePort to spin up - // a listener for the HTTP challenge - AltHTTPPort int - - // The alternate port to use for the ACME - // TLS-ALPN challenge; the system must forward - // TLSALPNChallengePort to this port for - // challenge to succeed - AltTLSALPNPort int - - // The DNS provider to use when solving the - // ACME DNS challenge - DNSProvider challenge.Provider - - // The type of key to use when generating - // certificates - KeyType = certcrypto.RSA2048 - - // The maximum amount of time to allow for - // obtaining a certificate. If empty, the - // default from the underlying lego lib is - // used. If set, it must not be too low so - // as to cancel orders too early, running - // the risk of rate limiting. - CertObtainTimeout time.Duration - - // Set the default server name for clients - // not indicating a server name using SNI. - // In most cases this will be the primary - // domain that is being served. - DefaultServerName string - - // The state needed to operate on-demand TLS - OnDemand *OnDemandConfig - - // Add the must staple TLS extension to the - // CSR generated by lego/acme - MustStaple bool -) +// Default contains the package defaults for the +// various Config fields. This is used as a template +// when creating your own Configs with New(), and it +// is also used as the Config by all the high-level +// functions in this package. +// +// The fields of this value will be used for Config +// fields which are unset. Feel free to modify these +// defaults, but do not use this Config by itself: it +// is only a template. Valid configurations can be +// obtained by calling New() (if you have your own +// certificate cache) or NewDefault() (if you only +// need a single config and want to use the default +// cache). This is the only Config which can access +// the default certificate cache. +var Default = Config{ + CA: LetsEncryptProductionCA, + RenewDurationBefore: DefaultRenewDurationBefore, + RenewDurationBeforeAtStartup: DefaultRenewDurationBeforeAtStartup, + KeyType: certcrypto.EC256, + Storage: defaultFileStorage, +} const ( // HTTPChallengePort is the officially-designated port for @@ -520,16 +465,16 @@ const ( var ( // HTTPPort is the port on which to serve HTTP // and, by extension, the HTTP challenge (unless - // AltHTTPPort is set). + // Default.AltHTTPPort is set). HTTPPort = 80 // HTTPSPort is the port on which to serve HTTPS // and, by extension, the TLS-ALPN challenge - // (unless AltTLSALPNPort is set). + // (unless Default.AltTLSALPNPort is set). HTTPSPort = 443 ) -// Variables for conveniently serving HTTPS +// Variables for conveniently serving HTTPS. var ( httpLn, httpsLn net.Listener lnMu sync.Mutex diff --git a/vendor/github.com/mholt/certmagic/client.go b/vendor/github.com/mholt/certmagic/client.go index 0a07b488..b1e417a3 100644 --- a/vendor/github.com/mholt/certmagic/client.go +++ b/vendor/github.com/mholt/certmagic/client.go @@ -23,12 +23,12 @@ import ( "sync" "time" - "github.com/xenolf/lego/certificate" - "github.com/xenolf/lego/challenge" - "github.com/xenolf/lego/challenge/http01" - "github.com/xenolf/lego/challenge/tlsalpn01" - "github.com/xenolf/lego/lego" - "github.com/xenolf/lego/registration" + "github.com/go-acme/lego/certificate" + "github.com/go-acme/lego/challenge" + "github.com/go-acme/lego/challenge/http01" + "github.com/go-acme/lego/challenge/tlsalpn01" + "github.com/go-acme/lego/lego" + "github.com/go-acme/lego/registration" ) // acmeMu ensures that only one ACME challenge occurs at a time. @@ -52,6 +52,13 @@ func listenerAddressInUse(addr string) bool { return err == nil } +func (cfg *Config) newManager(interactive bool) (Manager, error) { + if cfg.NewManager != nil { + return cfg.NewManager(interactive) + } + return cfg.newACMEClient(interactive) +} + func (cfg *Config) newACMEClient(interactive bool) (*acmeClient, error) { // look up or create the user account leUser, err := cfg.getUser(cfg.Email) @@ -62,15 +69,15 @@ func (cfg *Config) newACMEClient(interactive bool) (*acmeClient, error) { // ensure key type and timeout are set keyType := cfg.KeyType if keyType == "" { - keyType = KeyType + keyType = Default.KeyType } certObtainTimeout := cfg.CertObtainTimeout if certObtainTimeout == 0 { - certObtainTimeout = CertObtainTimeout + certObtainTimeout = Default.CertObtainTimeout } // ensure CA URL (directory endpoint) is set - caURL := CA + caURL := Default.CA if cfg.CA != "" { caURL = cfg.CA } @@ -91,6 +98,7 @@ func (cfg *Config) newACMEClient(interactive bool) (*acmeClient, error) { clientKey := caURL + leUser.Email + string(keyType) // if an underlying client with this configuration already exists, reuse it + // TODO: Could this be a global cache instead, perhaps? cfg.acmeClientsMu.Lock() client, ok := cfg.acmeClients[clientKey] if !ok { @@ -232,12 +240,12 @@ func (cfg *Config) lockKey(op, domainName string) string { func (c *acmeClient) Obtain(name string) error { // ensure idempotency of the obtain operation for this name lockKey := c.config.lockKey("cert_acme", name) - err := c.config.certCache.storage.Lock(lockKey) + err := c.config.Storage.Lock(lockKey) if err != nil { return err } defer func() { - if err := c.config.certCache.storage.Unlock(lockKey); err != nil { + if err := c.config.Storage.Unlock(lockKey); err != nil { log.Printf("[ERROR][%s] Obtain: Unable to unlock '%s': %v", name, lockKey, err) } }() @@ -292,12 +300,12 @@ func (c *acmeClient) Obtain(name string) error { func (c *acmeClient) Renew(name string) error { // ensure idempotency of the renew operation for this name lockKey := c.config.lockKey("cert_acme", name) - err := c.config.certCache.storage.Lock(lockKey) + err := c.config.Storage.Lock(lockKey) if err != nil { return err } defer func() { - if err := c.config.certCache.storage.Unlock(lockKey); err != nil { + if err := c.config.Storage.Unlock(lockKey); err != nil { log.Printf("[ERROR][%s] Renew: Unable to unlock '%s': %v", name, lockKey, err) } }() @@ -351,7 +359,7 @@ func (c *acmeClient) Renew(name string) error { // Revoke revokes the certificate for name and deletes // it from storage. func (c *acmeClient) Revoke(name string) error { - if !c.config.certCache.storage.Exists(StorageKeys.SitePrivateKey(c.config.CA, name)) { + if !c.config.Storage.Exists(StorageKeys.SitePrivateKey(c.config.CA, name)) { return fmt.Errorf("private key not found for %s", name) } @@ -369,15 +377,15 @@ func (c *acmeClient) Revoke(name string) error { c.config.OnEvent("acme_cert_revoked", name) } - err = c.config.certCache.storage.Delete(StorageKeys.SiteCert(c.config.CA, name)) + err = c.config.Storage.Delete(StorageKeys.SiteCert(c.config.CA, name)) if err != nil { return fmt.Errorf("certificate revoked, but unable to delete certificate file: %v", err) } - err = c.config.certCache.storage.Delete(StorageKeys.SitePrivateKey(c.config.CA, name)) + err = c.config.Storage.Delete(StorageKeys.SitePrivateKey(c.config.CA, name)) if err != nil { return fmt.Errorf("certificate revoked, but unable to delete private key: %v", err) } - err = c.config.certCache.storage.Delete(StorageKeys.SiteMeta(c.config.CA, name)) + err = c.config.Storage.Delete(StorageKeys.SiteMeta(c.config.CA, name)) if err != nil { return fmt.Errorf("certificate revoked, but unable to delete certificate metadata: %v", err) } @@ -398,3 +406,6 @@ var ( UserAgent string HTTPTimeout = 30 * time.Second ) + +// Interface guard +var _ Manager = (*acmeClient)(nil) diff --git a/vendor/github.com/mholt/certmagic/config.go b/vendor/github.com/mholt/certmagic/config.go index f1628e30..12ff698d 100644 --- a/vendor/github.com/mholt/certmagic/config.go +++ b/vendor/github.com/mholt/certmagic/config.go @@ -20,11 +20,11 @@ import ( "sync" "time" - "github.com/xenolf/lego/certcrypto" - "github.com/xenolf/lego/certificate" - "github.com/xenolf/lego/challenge" - "github.com/xenolf/lego/challenge/tlsalpn01" - "github.com/xenolf/lego/lego" + "github.com/go-acme/lego/certcrypto" + "github.com/go-acme/lego/certificate" + "github.com/go-acme/lego/challenge" + "github.com/go-acme/lego/challenge/tlsalpn01" + "github.com/go-acme/lego/lego" ) // Config configures a certificate manager instance. @@ -74,7 +74,7 @@ type Config struct { ListenHost string // The alternate port to use for the ACME HTTP - // challenge; if non-empty, this port will be + // challenge; if non-empty, this port will be // used instead of HTTPChallengePort to spin up // a listener for the HTTP challenge AltHTTPPort int @@ -113,117 +113,167 @@ type Config struct { // CSR generated by lego/acme MustStaple bool - // Map of hostname to certificate hash; used - // to complete handshakes and serve the right - // certificate given SNI - certificates map[string]string + // The storage to access when storing or + // loading TLS assets + Storage Storage - // Pointer to the certificate store to use + // NewManager returns a new Manager. If nil, + // an ACME client will be created and used. + NewManager func(interactive bool) (Manager, error) + + // Pointer to the in-memory certificate cache certCache *Cache // Map of client config key to ACME clients // so they can be reused + // TODO: It might be better if these were globally cached, rather than per-config, which are ephemeral... but maybe evict them after a certain time, like 1 day or something acmeClients map[string]*lego.Client acmeClientsMu *sync.Mutex } -// NewDefault returns a new, valid, default config. +// NewDefault makes a valid config based on the package +// Default config. Most users will call this function +// instead of New() since most use cases require only a +// single config for any and all certificates. // -// Calling this function signifies your acceptance to -// the CA's Subscriber Agreement and/or Terms of Service. +// If your requirements are more advanced (for example, +// multiple configs depending on the certificate), then use +// New() instead. (You will need to make your own Cache +// first.) If you only need a single Config to manage your +// certs (even if that config changes, as long as it is the +// only one), customize the Default package variable before +// calling NewDefault(). +// +// All calls to NewDefault() will return configs that use the +// same, default certificate cache. All configs returned +// by NewDefault() are based on the values of the fields of +// Default at the time it is called. func NewDefault() *Config { - return New(Config{Agreed: true}) -} - -// New makes a valid config based on cfg and uses -// a default certificate cache. All calls to -// New() will use the same certificate cache. -func New(cfg Config) *Config { - return NewWithCache(nil, cfg) -} - -// NewWithCache makes a valid new config based on cfg -// and uses the provided certificate cache. If certCache -// is nil, a new, default one will be created using -// DefaultStorage; or, if a default cache has already -// been created, it will be reused. -func NewWithCache(certCache *Cache, cfg Config) *Config { - // avoid nil pointers with sensible defaults, - // careful to initialize a default cache (which - // begins its maintenance goroutine) only if - // needed - and only once (we don't initialize - // it at package init to give importers a chance - // to set DefaultStorage if they so desire) - if certCache == nil { - defaultCacheMu.Lock() - if defaultCache == nil { - defaultCache = NewCache(DefaultStorage) - } - certCache = defaultCache - defaultCacheMu.Unlock() + defaultCacheMu.Lock() + if defaultCache == nil { + defaultCache = NewCache(CacheOptions{ + // the cache will likely need to renew certificates, + // so it will need to know how to do that, which + // depends on the certificate being managed and which + // can change during the lifetime of the cache; this + // callback makes it possible to get the latest and + // correct config with which to manage the cert, + // but if the user does not provide one, we can only + // assume that we are to use the default config + GetConfigForCert: func(Certificate) (Config, error) { + return Default, nil + }, + }) } - if certCache.storage == nil { - certCache.storage = DefaultStorage + certCache := defaultCache + defaultCacheMu.Unlock() + + return newWithCache(certCache, Default) +} + +// New makes a new, valid config based on cfg and +// uses the provided certificate cache. certCache +// MUST NOT be nil or this function will panic. +// +// Use this method when you have an advanced use case +// that requires a custom certificate cache and config +// that may differ from the Default. For example, if +// not all certificates are managed/renewed the same +// way, you need to make your own Cache value with a +// GetConfigForCert callback that returns the correct +// configuration for each certificate. However, for +// the vast majority of cases, there will be only a +// single Config, thus the default cache (which always +// uses the default Config) and default config will +// suffice, and you should use New() instead. +func New(certCache *Cache, cfg Config) *Config { + if certCache == nil { + panic("a certificate cache is required") + } + if certCache.options.GetConfigForCert == nil { + panic("cache must have GetConfigForCert set in its options") + } + return newWithCache(certCache, cfg) +} + +// newWithCache ensures that cfg is a valid config by populating +// zero-value fields from the Default Config. If certCache is +// nil, this function panics. +func newWithCache(certCache *Cache, cfg Config) *Config { + if certCache == nil { + panic("cannot make a valid config without a pointer to a certificate cache") } // fill in default values if cfg.CA == "" { - cfg.CA = CA + cfg.CA = Default.CA } if cfg.Email == "" { - cfg.Email = Email + cfg.Email = Default.Email } if cfg.OnDemand == nil { - cfg.OnDemand = OnDemand + cfg.OnDemand = Default.OnDemand } if !cfg.Agreed { - cfg.Agreed = Agreed + cfg.Agreed = Default.Agreed } if !cfg.DisableHTTPChallenge { - cfg.DisableHTTPChallenge = DisableHTTPChallenge + cfg.DisableHTTPChallenge = Default.DisableHTTPChallenge } if !cfg.DisableTLSALPNChallenge { - cfg.DisableTLSALPNChallenge = DisableTLSALPNChallenge + cfg.DisableTLSALPNChallenge = Default.DisableTLSALPNChallenge } if cfg.RenewDurationBefore == 0 { - cfg.RenewDurationBefore = RenewDurationBefore + cfg.RenewDurationBefore = Default.RenewDurationBefore } if cfg.RenewDurationBeforeAtStartup == 0 { - cfg.RenewDurationBeforeAtStartup = RenewDurationBeforeAtStartup + cfg.RenewDurationBeforeAtStartup = Default.RenewDurationBeforeAtStartup } if cfg.OnEvent == nil { - cfg.OnEvent = OnEvent + cfg.OnEvent = Default.OnEvent } if cfg.ListenHost == "" { - cfg.ListenHost = ListenHost + cfg.ListenHost = Default.ListenHost } if cfg.AltHTTPPort == 0 { - cfg.AltHTTPPort = AltHTTPPort + cfg.AltHTTPPort = Default.AltHTTPPort } if cfg.AltTLSALPNPort == 0 { - cfg.AltTLSALPNPort = AltTLSALPNPort + cfg.AltTLSALPNPort = Default.AltTLSALPNPort } if cfg.DNSProvider == nil { - cfg.DNSProvider = DNSProvider + cfg.DNSProvider = Default.DNSProvider } if cfg.KeyType == "" { - cfg.KeyType = KeyType + cfg.KeyType = Default.KeyType } if cfg.CertObtainTimeout == 0 { - cfg.CertObtainTimeout = CertObtainTimeout + cfg.CertObtainTimeout = Default.CertObtainTimeout } if cfg.DefaultServerName == "" { - cfg.DefaultServerName = DefaultServerName + cfg.DefaultServerName = Default.DefaultServerName } if cfg.OnDemand == nil { - cfg.OnDemand = OnDemand + cfg.OnDemand = Default.OnDemand } if !cfg.MustStaple { - cfg.MustStaple = MustStaple + cfg.MustStaple = Default.MustStaple + } + if cfg.Storage == nil { + cfg.Storage = Default.Storage + } + if cfg.NewManager == nil { + cfg.NewManager = Default.NewManager + } + + // absolutely don't allow a nil storage, + // because that would make almost anything + // a config can do pointless + if cfg.Storage == nil { + cfg.Storage = defaultFileStorage } // ensure the unexported fields are valid - cfg.certificates = make(map[string]string) cfg.certCache = certCache cfg.acmeClients = make(map[string]*lego.Client) cfg.acmeClientsMu = new(sync.Mutex) @@ -272,7 +322,7 @@ func (cfg *Config) Manage(domainNames []string) error { } // for existing certificates, make sure it is renewed - if cert.NeedsRenewal() { + if cert.NeedsRenewal(cfg) { err := cfg.RenewCert(domainName, false) if err != nil { return fmt.Errorf("%s: renewing certificate: %v", domainName, err) @@ -293,6 +343,9 @@ func (cfg *Config) Manage(domainNames []string) error { // it does not load them into memory. If interactive is true, // the user may be shown a prompt. func (cfg *Config) ObtainCert(name string, interactive bool) error { + if cfg.storageHasCertResources(name) { + return nil + } skip, err := cfg.preObtainOrRenewChecks(name, interactive) if err != nil { return err @@ -300,17 +353,11 @@ func (cfg *Config) ObtainCert(name string, interactive bool) error { if skip { return nil } - - if cfg.storageHasCertResources(name) { - return nil - } - - client, err := cfg.newACMEClient(interactive) + manager, err := cfg.newManager(interactive) if err != nil { return err } - - return client.Obtain(name) + return manager.Obtain(name) } // RenewCert renews the certificate for name using cfg. It stows the @@ -323,20 +370,20 @@ func (cfg *Config) RenewCert(name string, interactive bool) error { if skip { return nil } - client, err := cfg.newACMEClient(interactive) + manager, err := cfg.newManager(interactive) if err != nil { return err } - return client.Renew(name) + return manager.Renew(name) } // RevokeCert revokes the certificate for domain via ACME protocol. func (cfg *Config) RevokeCert(domain string, interactive bool) error { - client, err := cfg.newACMEClient(interactive) + manager, err := cfg.newManager(interactive) if err != nil { return err } - return client.Revoke(domain) + return manager.Revoke(domain) } // TLSConfig is an opinionated method that returns a @@ -397,18 +444,26 @@ func (cfg *Config) storageHasCertResources(domain string) bool { certKey := StorageKeys.SiteCert(cfg.CA, domain) keyKey := StorageKeys.SitePrivateKey(cfg.CA, domain) metaKey := StorageKeys.SiteMeta(cfg.CA, domain) - return cfg.certCache.storage.Exists(certKey) && - cfg.certCache.storage.Exists(keyKey) && - cfg.certCache.storage.Exists(metaKey) + return cfg.Storage.Exists(certKey) && + cfg.Storage.Exists(keyKey) && + cfg.Storage.Exists(metaKey) } // managedCertNeedsRenewal returns true if certRes is // expiring soon or already expired, or if the process // of checking the expiration returned an error. func (cfg *Config) managedCertNeedsRenewal(certRes certificate.Resource) bool { - cert, err := cfg.makeCertificate(certRes.Certificate, certRes.PrivateKey) + cert, err := makeCertificate(certRes.Certificate, certRes.PrivateKey) if err != nil { return true } - return cert.NeedsRenewal() + return cert.NeedsRenewal(cfg) +} + +// Manager is a type that can manage a certificate. +// They are usually very short-lived. +type Manager interface { + Obtain(name string) error + Renew(name string) error + Revoke(name string) error } diff --git a/vendor/github.com/mholt/certmagic/crypto.go b/vendor/github.com/mholt/certmagic/crypto.go index 695ac72d..c98878fd 100644 --- a/vendor/github.com/mholt/certmagic/crypto.go +++ b/vendor/github.com/mholt/certmagic/crypto.go @@ -26,8 +26,8 @@ import ( "fmt" "hash/fnv" + "github.com/go-acme/lego/certificate" "github.com/klauspost/cpuid" - "github.com/xenolf/lego/certificate" ) // encodePrivateKey marshals a EC or RSA private key into a PEM-encoded array of bytes. @@ -119,20 +119,20 @@ func (cfg *Config) saveCertResource(cert *certificate.Resource) error { }, } - return storeTx(cfg.certCache.storage, all) + return storeTx(cfg.Storage, all) } func (cfg *Config) loadCertResource(domain string) (certificate.Resource, error) { var certRes certificate.Resource - certBytes, err := cfg.certCache.storage.Load(StorageKeys.SiteCert(cfg.CA, domain)) + certBytes, err := cfg.Storage.Load(StorageKeys.SiteCert(cfg.CA, domain)) if err != nil { return certRes, err } - keyBytes, err := cfg.certCache.storage.Load(StorageKeys.SitePrivateKey(cfg.CA, domain)) + keyBytes, err := cfg.Storage.Load(StorageKeys.SitePrivateKey(cfg.CA, domain)) if err != nil { return certRes, err } - metaBytes, err := cfg.certCache.storage.Load(StorageKeys.SiteMeta(cfg.CA, domain)) + metaBytes, err := cfg.Storage.Load(StorageKeys.SiteMeta(cfg.CA, domain)) if err != nil { return certRes, err } diff --git a/vendor/github.com/mholt/certmagic/go.mod b/vendor/github.com/mholt/certmagic/go.mod index 15e9721c..75559b41 100644 --- a/vendor/github.com/mholt/certmagic/go.mod +++ b/vendor/github.com/mholt/certmagic/go.mod @@ -1,10 +1,11 @@ module github.com/mholt/certmagic require ( + github.com/cenkalti/backoff v2.1.1+incompatible // indirect + github.com/go-acme/lego v2.5.0+incompatible github.com/klauspost/cpuid v1.2.0 github.com/miekg/dns v1.1.3 // indirect github.com/stretchr/testify v1.3.0 // indirect - github.com/xenolf/lego v2.1.0+incompatible golang.org/x/crypto v0.0.0-20190123085648-057139ce5d2b golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3 // indirect golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 // indirect diff --git a/vendor/github.com/mholt/certmagic/go.sum b/vendor/github.com/mholt/certmagic/go.sum index 950bd354..7093ad5b 100644 --- a/vendor/github.com/mholt/certmagic/go.sum +++ b/vendor/github.com/mholt/certmagic/go.sum @@ -1,5 +1,11 @@ +github.com/cenkalti/backoff v2.1.1+incompatible h1:tKJnvO2kl0zmb/jA5UKAt4VoEVw1qxKWjE/Bpp46npY= +github.com/cenkalti/backoff v2.1.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/go-acme/lego v2.3.1-0.20190318164254-3684cc738d37+incompatible h1:D8mQOFMowsqoVMibY3U+xeNmd83bdNPEjTScRiPgVoc= +github.com/go-acme/lego v2.3.1-0.20190318164254-3684cc738d37+incompatible/go.mod h1:yzMNe9CasVUhkquNvti5nAtPmG94USbYxYrZfTkIn0M= +github.com/go-acme/lego v2.5.0+incompatible h1:5fNN9yRQfv8ymH3DSsxla+4aYeQt2IgfZqHKVnK8f0s= +github.com/go-acme/lego v2.5.0+incompatible/go.mod h1:yzMNe9CasVUhkquNvti5nAtPmG94USbYxYrZfTkIn0M= github.com/klauspost/cpuid v1.2.0 h1:NMpwD2G9JSFOE1/TJjGSo5zG7Yb2bTe7eq1jH+irmeE= github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/miekg/dns v1.1.3 h1:1g0r1IvskvgL8rR+AcHzUA+oFmGcQlaIm4IqakufeMM= @@ -9,8 +15,6 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/xenolf/lego v2.1.0+incompatible h1:zZErna+4KHeBsUC3mw6gthaXncPDoBuFJOHKCRl64Wg= -github.com/xenolf/lego v2.1.0+incompatible/go.mod h1:fwiGnfsIjG7OHPfOvgK7Y/Qo6+2Ox0iozjNTkZICKbY= golang.org/x/crypto v0.0.0-20190123085648-057139ce5d2b h1:Elez2XeF2p9uyVj0yEUDqQ56NFcDtcBNkYP7yv8YbUE= golang.org/x/crypto v0.0.0-20190123085648-057139ce5d2b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3 h1:ulvT7fqt0yHWzpJwI57MezWnYDVpCAYBVuYst/L+fAY= diff --git a/vendor/github.com/mholt/certmagic/handshake.go b/vendor/github.com/mholt/certmagic/handshake.go index 11a086c7..51dd39fd 100644 --- a/vendor/github.com/mholt/certmagic/handshake.go +++ b/vendor/github.com/mholt/certmagic/handshake.go @@ -25,7 +25,7 @@ import ( "sync/atomic" "time" - "github.com/xenolf/lego/challenge/tlsalpn01" + "github.com/go-acme/lego/challenge/tlsalpn01" ) // GetCertificate gets a certificate to satisfy clientHello. In getting @@ -94,10 +94,6 @@ func (cfg *Config) GetCertificate(clientHello *tls.ClientHelloInfo) (*tls.Certif func (cfg *Config) getCertificate(hello *tls.ClientHelloInfo) (cert Certificate, matched, defaulted bool) { name := NormalizedName(hello.ServerName) - cfg.certCache.mu.RLock() - defer cfg.certCache.mu.RUnlock() - - var certKey string var ok bool if name == "" { @@ -108,8 +104,7 @@ func (cfg *Config) getCertificate(hello *tls.ClientHelloInfo) (cert Certificate, if err == nil { addr = ip } - if certKey, ok = cfg.certificates[addr]; ok { - cert = cfg.certCache.cache[certKey] + if cert, ok = cfg.certCache.getFirstMatchingCert(addr); ok { matched = true return } @@ -118,16 +113,14 @@ func (cfg *Config) getCertificate(hello *tls.ClientHelloInfo) (cert Certificate, // fall back to a "default" certificate, if specified if cfg.DefaultServerName != "" { normDefault := NormalizedName(cfg.DefaultServerName) - if certKey, ok := cfg.certificates[normDefault]; ok { - cert = cfg.certCache.cache[certKey] + if cert, ok = cfg.certCache.getFirstMatchingCert(normDefault); ok { defaulted = true return } } } else { // if SNI is specified, try an exact match first - if certKey, ok = cfg.certificates[name]; ok { - cert = cfg.certCache.cache[certKey] + if cert, ok = cfg.certCache.getFirstMatchingCert(name); ok { matched = true return } @@ -138,8 +131,7 @@ func (cfg *Config) getCertificate(hello *tls.ClientHelloInfo) (cert Certificate, for i := range labels { labels[i] = "*" candidate := strings.Join(labels, ".") - if certKey, ok = cfg.certificates[candidate]; ok { - cert = cfg.certCache.cache[certKey] + if cert, ok = cfg.certCache.getFirstMatchingCert(candidate); ok { matched = true return } @@ -153,7 +145,10 @@ func (cfg *Config) getCertificate(hello *tls.ClientHelloInfo) (cert Certificate, // whether it complies with RFC 6066 about SNI, but I think // it does, soooo...) // (this is how we solved the former ACME TLS-SNI challenge) - if directCert, ok := cfg.certCache.cache[name]; ok { + cfg.certCache.mu.RLock() + directCert, ok := cfg.certCache.cache[name] + cfg.certCache.mu.RUnlock() + if ok { cert = directCert matched = true return @@ -316,7 +311,7 @@ func (cfg *Config) handshakeMaintenance(hello *tls.ClientHelloInfo, cert Certifi if cert.OCSP != nil { refreshTime := cert.OCSP.ThisUpdate.Add(cert.OCSP.NextUpdate.Sub(cert.OCSP.ThisUpdate) / 2) if time.Now().After(refreshTime) { - err := cfg.certCache.stapleOCSP(&cert, nil) + err := stapleOCSP(cfg.Storage, &cert, nil) if err != nil { // An error with OCSP stapling is not the end of the world, and in fact, is // quite common considering not all certs have issuer URLs that support it. @@ -362,15 +357,12 @@ func (cfg *Config) renewDynamicCertificate(hello *tls.ClientHelloInfo, currentCe // even though the recursive nature of the dynamic cert loading // would just call this function anyway, we do it here to // make the replacement as atomic as possible. - newCert, err := currentCert.configs[0].CacheManagedCertificate(name) + newCert, err := cfg.CacheManagedCertificate(name) if err != nil { log.Printf("[ERROR] loading renewed certificate for %s: %v", name, err) } else { // replace the old certificate with the new one - err = cfg.certCache.replaceCertificate(currentCert, newCert) - if err != nil { - log.Printf("[ERROR] Replacing certificate for %s: %v", name, err) - } + cfg.certCache.replaceCertificate(currentCert, newCert) } } @@ -396,7 +388,7 @@ func (cfg *Config) renewDynamicCertificate(hello *tls.ClientHelloInfo, currentCe // A boolean true is returned if a valid certificate is returned. func (cfg *Config) tryDistributedChallengeSolver(clientHello *tls.ClientHelloInfo) (Certificate, bool, error) { tokenKey := distributedSolver{config: cfg}.challengeTokensKey(clientHello.ServerName) - chalInfoBytes, err := cfg.certCache.storage.Load(tokenKey) + chalInfoBytes, err := cfg.Storage.Load(tokenKey) if err != nil { if _, ok := err.(ErrNotExist); ok { return Certificate{}, false, nil diff --git a/vendor/github.com/mholt/certmagic/httphandler.go b/vendor/github.com/mholt/certmagic/httphandler.go index 42aee786..b649c303 100644 --- a/vendor/github.com/mholt/certmagic/httphandler.go +++ b/vendor/github.com/mholt/certmagic/httphandler.go @@ -20,7 +20,7 @@ import ( "net/http" "strings" - "github.com/xenolf/lego/challenge/http01" + "github.com/go-acme/lego/challenge/http01" ) // HTTPChallengeHandler wraps h in a handler that can solve the ACME @@ -57,7 +57,7 @@ func (cfg *Config) HandleHTTPChallenge(w http.ResponseWriter, r *http.Request) b if cfg.DisableHTTPChallenge { return false } - if !strings.HasPrefix(r.URL.Path, challengeBasePath) { + if !LooksLikeHTTPChallenge(r) { return false } return cfg.distributedHTTPChallengeSolver(w, r) @@ -73,7 +73,7 @@ func (cfg *Config) distributedHTTPChallengeSolver(w http.ResponseWriter, r *http } tokenKey := distributedSolver{config: cfg}.challengeTokensKey(r.Host) - chalInfoBytes, err := cfg.certCache.storage.Load(tokenKey) + chalInfoBytes, err := cfg.Storage.Load(tokenKey) if err != nil { if _, ok := err.(ErrNotExist); !ok { log.Printf("[ERROR][%s] Opening distributed HTTP challenge token file: %v", r.Host, err) @@ -108,4 +108,10 @@ func answerHTTPChallenge(w http.ResponseWriter, r *http.Request, chalInfo challe return false } +// LooksLikeHTTPChallenge returns true if r looks like an ACME +// HTTP challenge request from an ACME server. +func LooksLikeHTTPChallenge(r *http.Request) bool { + return r.Method == "GET" && strings.HasPrefix(r.URL.Path, challengeBasePath) +} + const challengeBasePath = "/.well-known/acme-challenge" diff --git a/vendor/github.com/mholt/certmagic/maintain.go b/vendor/github.com/mholt/certmagic/maintain.go index a154b310..75870adf 100644 --- a/vendor/github.com/mholt/certmagic/maintain.go +++ b/vendor/github.com/mholt/certmagic/maintain.go @@ -24,37 +24,34 @@ import ( // maintainAssets is a permanently-blocking function // that loops indefinitely and, on a regular schedule, checks // certificates for expiration and initiates a renewal of certs -// that are expiring soon. It also updates OCSP stapling and -// performs other maintenance of assets. It should only be -// called once per process. -// -// You must pass in the channel which you'll close when -// maintenance should stop, to allow this goroutine to clean up -// after itself and unblock. (Not that you HAVE to stop it...) +// that are expiring soon. It also updates OCSP stapling. It +// should only be called once per cache. func (certCache *Cache) maintainAssets() { - renewalTicker := time.NewTicker(certCache.RenewInterval) - ocspTicker := time.NewTicker(certCache.OCSPInterval) + renewalTicker := time.NewTicker(certCache.options.RenewCheckInterval) + ocspTicker := time.NewTicker(certCache.options.OCSPCheckInterval) - log.Printf("[INFO][%s] Started certificate maintenance routine", certCache.storage) + log.Printf("[INFO][cache:%p] Started certificate maintenance routine", certCache) for { select { case <-renewalTicker.C: - log.Printf("[INFO][%s] Scanning for expiring certificates", certCache.storage) + log.Printf("[INFO][cache:%p] Scanning for expiring certificates", certCache) err := certCache.RenewManagedCertificates(false) if err != nil { - log.Printf("[ERROR][%s] Renewing managed certificates: %v", certCache.storage, err) + log.Printf("[ERROR][cache:%p] Renewing managed certificates: %v", certCache, err) } - log.Printf("[INFO][%s] Done scanning certificates", certCache.storage) + log.Printf("[INFO][cache:%p] Done scanning certificates", certCache) case <-ocspTicker.C: - log.Printf("[INFO][%s] Scanning for stale OCSP staples", certCache.storage) + log.Printf("[INFO][cache:%p] Scanning for stale OCSP staples", certCache) certCache.updateOCSPStaples() - certCache.deleteOldStapleFiles() - log.Printf("[INFO][%s] Done checking OCSP staples", certCache.storage) + // certCache.deleteOldStapleFiles() + log.Printf("[INFO][cache:%p] Done checking OCSP staples", certCache) case <-certCache.stopChan: renewalTicker.Stop() ocspTicker.Stop() - log.Printf("[INFO][%s] Stopped certificate maintenance routine", certCache.storage) + // TODO: stop any in-progress maintenance operations and clear locks we made + log.Printf("[INFO][cache:%p] Stopped certificate maintenance routine", certCache) + close(certCache.doneChan) return } } @@ -65,6 +62,10 @@ func (certCache *Cache) maintainAssets() { // automatically on a regular basis; normally you will not // need to call this. func (certCache *Cache) RenewManagedCertificates(interactive bool) error { + // configs will hold a map of certificate name to the config + // to use when managing that certificate + configs := make(map[string]*Config) + // we use the queues for a very important reason: to do any and all // operations that could require an exclusive write lock outside // of the read lock! otherwise we get a deadlock, yikes. in other @@ -75,11 +76,6 @@ func (certCache *Cache) RenewManagedCertificates(interactive bool) error { certCache.mu.RLock() for certKey, cert := range certCache.cache { - if len(cert.configs) == 0 { - // this is bad if this happens, probably a programmer error (oops) - log.Printf("[ERROR] No associated TLS config for certificate with names %v; unable to manage", cert.Names) - continue - } if !cert.managed { continue } @@ -91,13 +87,26 @@ func (certCache *Cache) RenewManagedCertificates(interactive bool) error { continue } + // get the config associated with this certificate + cfg, err := certCache.getConfig(cert) + if err != nil { + log.Printf("[ERROR] Getting configuration to manage certificate for names %v; unable to renew: %v", cert.Names, err) + continue + } + if cfg == nil { + // this is bad if this happens, probably a programmer error (oops) + log.Printf("[ERROR] No configuration associated with certificate for names %v; unable to manage", cert.Names) + continue + } + configs[cert.Names[0]] = cfg + // if time is up or expires soon, we need to try to renew it - if cert.NeedsRenewal() { + if cert.NeedsRenewal(cfg) { // see if the certificate in storage has already been renewed, possibly by another // instance that didn't coordinate with this one; if so, just load it (this // might happen if another instance already renewed it - kinda sloppy but checking disk // first is a simple way to possibly drastically reduce rate limit problems) - storedCertExpiring, err := managedCertInStorageExpiresSoon(cert) + storedCertExpiring, err := cfg.managedCertInStorageExpiresSoon(cert) if err != nil { // hmm, weird, but not a big deal, maybe it was deleted or something log.Printf("[NOTICE] Error while checking if certificate for %v in storage is also expiring soon: %v", @@ -125,7 +134,9 @@ func (certCache *Cache) RenewManagedCertificates(interactive bool) error { log.Printf("[INFO] Certificate for %v expires in %v, but is already renewed in storage; reloading stored certificate", oldCert.Names, timeLeft) - err := certCache.reloadManagedCertificate(oldCert) + cfg := configs[oldCert.Names[0]] + + err := cfg.reloadManagedCertificate(oldCert) if err != nil { if interactive { return err // operator is present, so report error immediately @@ -139,28 +150,30 @@ func (certCache *Cache) RenewManagedCertificates(interactive bool) error { timeLeft := oldCert.NotAfter.Sub(time.Now().UTC()) log.Printf("[INFO] Certificate for %v expires in %v; attempting renewal", oldCert.Names, timeLeft) + cfg := configs[oldCert.Names[0]] + // Get the name which we should use to renew this certificate; // we only support managing certificates with one name per cert, // so this should be easy. renewName := oldCert.Names[0] // perform renewal - err := oldCert.configs[0].RenewCert(renewName, interactive) + err := cfg.RenewCert(renewName, interactive) if err != nil { if interactive { // Certificate renewal failed and the operator is present. See a discussion about // this in issue mholt/caddy#642. For a while, we only stopped if the certificate // was expired, but in reality, there is no difference between reporting it now - // versus later, except that there's somebody present to deal withit right now. + // versus later, except that there's somebody present to deal with it right now. // Follow-up: See issue mholt/caddy#1680. Only fail in this case if the certificate // is dangerously close to expiration. timeLeft := oldCert.NotAfter.Sub(time.Now().UTC()) - if timeLeft < oldCert.configs[0].RenewDurationBeforeAtStartup { + if timeLeft < cfg.RenewDurationBeforeAtStartup { return err } } log.Printf("[ERROR] %v", err) - if oldCert.configs[0].OnDemand != nil { + if cfg.OnDemand != nil { // loaded dynamically, remove dynamically deleteQueue = append(deleteQueue, oldCert) } @@ -169,7 +182,7 @@ func (certCache *Cache) RenewManagedCertificates(interactive bool) error { // successful renewal, so update in-memory cache by loading // renewed certificate so it will be used with handshakes - err = certCache.reloadManagedCertificate(oldCert) + err = cfg.reloadManagedCertificate(oldCert) if err != nil { if interactive { return err // operator is present, so report error immediately @@ -180,18 +193,7 @@ func (certCache *Cache) RenewManagedCertificates(interactive bool) error { // Deletion queue for _, cert := range deleteQueue { - certCache.mu.Lock() - // remove any pointers to this certificate from Configs - for _, cfg := range cert.configs { - for name, certKey := range cfg.certificates { - if certKey == cert.Hash { - delete(cfg.certificates, name) - } - } - } - // then delete the certificate from the cache - delete(certCache.cache, cert.Hash) - certCache.mu.Unlock() + certCache.removeCertificate(cert) } return nil @@ -229,7 +231,18 @@ func (certCache *Cache) updateOCSPStaples() { } } - err := certCache.stapleOCSP(&cert, nil) + cfg, err := certCache.getConfig(cert) + if err != nil { + log.Printf("[ERROR] Getting configuration to manage OCSP for certificate with names %v; unable to refresh: %v", cert.Names, err) + continue + } + if cfg == nil { + // this is bad if this happens, probably a programmer error (oops) + log.Printf("[ERROR] No configuration associated with certificate for names %v; unable to manage OCSP", cert.Names) + continue + } + + err = stapleOCSP(cfg.Storage, &cert, nil) if err != nil { if cert.OCSP != nil { // if there was no staple before, that's fine; otherwise we should log the error @@ -260,16 +273,32 @@ func (certCache *Cache) updateOCSPStaples() { } } -// deleteOldStapleFiles deletes cached OCSP staples that have expired. +// CleanStorageOptions specifies how to clean up a storage unit. +type CleanStorageOptions struct { + OCSPStaples bool + // TODO: long-expired certificates +} + +// CleanStorage tidies up the given storage according to opts; this +// generally involves deleting assets which are no longer required. // TODO: We should do this for long-expired certificates, too. -func (certCache *Cache) deleteOldStapleFiles() { - ocspKeys, err := certCache.storage.List(prefixOCSP, false) +func CleanStorage(storage Storage, opts CleanStorageOptions) { + if opts.OCSPStaples { + err := deleteOldOCSPStaples(storage) + if err != nil { + log.Printf("[ERROR] Deleting old OCSP staples: %v", err) + } + } +} + +func deleteOldOCSPStaples(storage Storage) error { + ocspKeys, err := storage.List(prefixOCSP, false) if err != nil { // maybe just hasn't been created yet; no big deal - return + return nil } for _, key := range ocspKeys { - ocspBytes, err := certCache.storage.Load(key) + ocspBytes, err := storage.Load(key) if err != nil { log.Printf("[ERROR] While deleting old OCSP staples, unable to load staple file: %v", err) continue @@ -277,7 +306,7 @@ func (certCache *Cache) deleteOldStapleFiles() { resp, err := ocsp.ParseResponse(ocspBytes, nil) if err != nil { // contents are invalid; delete it - err = certCache.storage.Delete(key) + err = storage.Delete(key) if err != nil { log.Printf("[ERROR] Purging corrupt staple file %s: %v", key, err) } @@ -285,17 +314,18 @@ func (certCache *Cache) deleteOldStapleFiles() { } if time.Now().After(resp.NextUpdate) { // response has expired; delete it - err = certCache.storage.Delete(key) + err = storage.Delete(key) if err != nil { log.Printf("[ERROR] Purging expired staple file %s: %v", key, err) } } } + return nil } const ( - // DefaultRenewInterval is how often to check certificates for renewal. - DefaultRenewInterval = 12 * time.Hour + // DefaultRenewCheckInterval is how often to check certificates for renewal. + DefaultRenewCheckInterval = 12 * time.Hour // DefaultRenewDurationBefore is how long before expiration to renew certificates. DefaultRenewDurationBefore = (24 * time.Hour) * 30 @@ -304,6 +334,6 @@ const ( // a renewed certificate when the process is first starting up (see mholt/caddy#1680). DefaultRenewDurationBeforeAtStartup = (24 * time.Hour) * 7 - // DefaultOCSPInterval is how often to check if OCSP stapling needs updating. - DefaultOCSPInterval = 1 * time.Hour + // DefaultOCSPCheckInterval is how often to check if OCSP stapling needs updating. + DefaultOCSPCheckInterval = 1 * time.Hour ) diff --git a/vendor/github.com/mholt/certmagic/ocsp.go b/vendor/github.com/mholt/certmagic/ocsp.go index 830d3d4b..823b7c86 100644 --- a/vendor/github.com/mholt/certmagic/ocsp.go +++ b/vendor/github.com/mholt/certmagic/ocsp.go @@ -35,7 +35,7 @@ import ( // // Errors here are not necessarily fatal, it could just be that the // certificate doesn't have an issuer URL. -func (certCache *Cache) stapleOCSP(cert *Certificate, pemBundle []byte) error { +func stapleOCSP(storage Storage, cert *Certificate, pemBundle []byte) error { if pemBundle == nil { // we need a PEM encoding only for some function calls below bundle := new(bytes.Buffer) @@ -53,7 +53,7 @@ func (certCache *Cache) stapleOCSP(cert *Certificate, pemBundle []byte) error { // First try to load OCSP staple from storage and see if // we can still use it. ocspStapleKey := StorageKeys.OCSPStaple(cert, pemBundle) - cachedOCSP, err := certCache.storage.Load(ocspStapleKey) + cachedOCSP, err := storage.Load(ocspStapleKey) if err == nil { resp, err := ocsp.ParseResponse(cachedOCSP, nil) if err == nil { @@ -69,7 +69,7 @@ func (certCache *Cache) stapleOCSP(cert *Certificate, pemBundle []byte) error { // because we loaded it by name, whereas the maintenance routine // just iterates the list of files, even if somehow a non-staple // file gets in the folder. in this case we are sure it is corrupt.) - err := certCache.storage.Delete(ocspStapleKey) + err := storage.Delete(ocspStapleKey) if err != nil { log.Printf("[WARNING] Unable to delete invalid OCSP staple file: %v", err) } @@ -104,7 +104,7 @@ func (certCache *Cache) stapleOCSP(cert *Certificate, pemBundle []byte) error { cert.Certificate.OCSPStaple = ocspBytes cert.OCSP = ocspResp if gotNewOCSP { - err := certCache.storage.Store(ocspStapleKey, ocspBytes) + err := storage.Store(ocspStapleKey, ocspBytes) if err != nil { return fmt.Errorf("unable to write OCSP staple file for %v: %v", cert.Names, err) } @@ -121,7 +121,7 @@ func (certCache *Cache) stapleOCSP(cert *Certificate, pemBundle []byte) error { // IssuingCertificateURL in the certificate. If the []byte and/or ocsp.Response return // values are nil, the OCSP status may be assumed OCSPUnknown. // -// Borrowed from github.com/xenolf/lego +// Borrowed from github.com/go-acme/lego func getOCSPForCert(bundle []byte) ([]byte, *ocsp.Response, error) { // TODO: Perhaps this should be synchronized too, with a Locker? diff --git a/vendor/github.com/mholt/certmagic/solvers.go b/vendor/github.com/mholt/certmagic/solvers.go index 1802c61d..743edfce 100644 --- a/vendor/github.com/mholt/certmagic/solvers.go +++ b/vendor/github.com/mholt/certmagic/solvers.go @@ -20,8 +20,8 @@ import ( "log" "path/filepath" - "github.com/xenolf/lego/challenge" - "github.com/xenolf/lego/challenge/tlsalpn01" + "github.com/go-acme/lego/challenge" + "github.com/go-acme/lego/challenge/tlsalpn01" ) // tlsALPNSolver is a type that can solve TLS-ALPN challenges using @@ -117,7 +117,7 @@ func (dhs distributedSolver) Present(domain, token, keyAuth string) error { return err } - return dhs.config.certCache.storage.Store(dhs.challengeTokensKey(domain), infoBytes) + return dhs.config.Storage.Store(dhs.challengeTokensKey(domain), infoBytes) } // CleanUp invokes the underlying solver's CleanUp method @@ -129,7 +129,7 @@ func (dhs distributedSolver) CleanUp(domain, token, keyAuth string) error { log.Printf("[ERROR] Cleaning up standard provider server: %v", err) } } - return dhs.config.certCache.storage.Delete(dhs.challengeTokensKey(domain)) + return dhs.config.Storage.Delete(dhs.challengeTokensKey(domain)) } // challengeTokensPrefix returns the key prefix for challenge info. diff --git a/vendor/github.com/mholt/certmagic/storage.go b/vendor/github.com/mholt/certmagic/storage.go index 347852d9..927ffef8 100644 --- a/vendor/github.com/mholt/certmagic/storage.go +++ b/vendor/github.com/mholt/certmagic/storage.go @@ -267,6 +267,3 @@ type ErrNotExist interface { // defaultFileStorage is a convenient, default storage // implementation using the local file system. var defaultFileStorage = &FileStorage{Path: dataDir()} - -// DefaultStorage is the default Storage implementation. -var DefaultStorage Storage = defaultFileStorage diff --git a/vendor/github.com/mholt/certmagic/user.go b/vendor/github.com/mholt/certmagic/user.go index 9055a15f..2b541244 100644 --- a/vendor/github.com/mholt/certmagic/user.go +++ b/vendor/github.com/mholt/certmagic/user.go @@ -29,8 +29,8 @@ import ( "sort" "strings" - "github.com/xenolf/lego/acme" - "github.com/xenolf/lego/registration" + "github.com/go-acme/lego/acme" + "github.com/go-acme/lego/registration" ) // user represents a Let's Encrypt user account. @@ -79,15 +79,18 @@ func (cfg *Config) newUser(email string) (user, error) { // will NOT be prompted and an empty email may be returned. func (cfg *Config) getEmail(allowPrompts bool) error { leEmail := cfg.Email + // First try package default email if leEmail == "" { - leEmail = Email + leEmail = Default.Email } + // Then try to get most recent user email from storage + var gotRecentEmail bool if leEmail == "" { - leEmail = cfg.mostRecentUserEmail() + leEmail, gotRecentEmail = cfg.mostRecentUserEmail() } - if leEmail == "" && allowPrompts { + if !gotRecentEmail && leEmail == "" && allowPrompts { // Looks like there is no email address readily available, // so we will have to ask the user if we can. var err error @@ -95,10 +98,16 @@ func (cfg *Config) getEmail(allowPrompts bool) error { if err != nil { return err } - cfg.Agreed = true + + // User might have just signified their agreement + cfg.Agreed = Default.Agreed } - // lower-casing the email is important for consistency - cfg.Email = strings.ToLower(leEmail) + + // save the email for later and ensure it is consistent + // for repeated use; then update cfg with the email + Default.Email = strings.TrimSpace(strings.ToLower(leEmail)) + cfg.Email = Default.Email + return nil } @@ -106,7 +115,7 @@ func (cfg *Config) getAgreementURL() (string, error) { if agreementTestURL != "" { return agreementTestURL, nil } - caURL := CA + caURL := Default.CA if cfg.CA != "" { caURL = cfg.CA } @@ -123,6 +132,11 @@ func (cfg *Config) getAgreementURL() (string, error) { return dir.Meta.TermsOfService, nil } +// promptUserForEmail prompts the user for an email address +// and returns the email address they entered (which could +// be the empty string). If no error is returned, then Agreed +// will also be set to true, since continuing through the +// prompt signifies agreement. func (cfg *Config) promptUserForEmail() (string, error) { agreementURL, err := cfg.getAgreementURL() if err != nil { @@ -139,6 +153,7 @@ func (cfg *Config) promptUserForEmail() (string, error) { return "", fmt.Errorf("reading email address: %v", err) } leEmail = strings.TrimSpace(leEmail) + Default.Agreed = true return leEmail, nil } @@ -150,7 +165,7 @@ func (cfg *Config) promptUserForEmail() (string, error) { func (cfg *Config) getUser(email string) (user, error) { var user user - regBytes, err := cfg.certCache.storage.Load(StorageKeys.UserReg(cfg.CA, email)) + regBytes, err := cfg.Storage.Load(StorageKeys.UserReg(cfg.CA, email)) if err != nil { if _, ok := err.(ErrNotExist); ok { // create a new user @@ -158,7 +173,7 @@ func (cfg *Config) getUser(email string) (user, error) { } return user, err } - keyBytes, err := cfg.certCache.storage.Load(StorageKeys.UserPrivateKey(cfg.CA, email)) + keyBytes, err := cfg.Storage.Load(StorageKeys.UserPrivateKey(cfg.CA, email)) if err != nil { if _, ok := err.(ErrNotExist); ok { // create a new user @@ -201,7 +216,7 @@ func (cfg *Config) saveUser(user user) error { }, } - return storeTx(cfg.certCache.storage, all) + return storeTx(cfg.Storage, all) } // promptUserAgreement simply outputs the standard user @@ -234,21 +249,21 @@ func (cfg *Config) askUserAgreement(agreementURL string) bool { // in s. Since this is part of a complex sequence to get a user // account, errors here are discarded to simplify code flow in // the caller, and errors are not important here anyway. -func (cfg *Config) mostRecentUserEmail() string { - userList, err := cfg.certCache.storage.List(StorageKeys.UsersPrefix(cfg.CA), false) +func (cfg *Config) mostRecentUserEmail() (string, bool) { + userList, err := cfg.Storage.List(StorageKeys.UsersPrefix(cfg.CA), false) if err != nil || len(userList) == 0 { - return "" + return "", false } sort.Slice(userList, func(i, j int) bool { - iInfo, _ := cfg.certCache.storage.Stat(userList[i]) - jInfo, _ := cfg.certCache.storage.Stat(userList[j]) + iInfo, _ := cfg.Storage.Stat(userList[i]) + jInfo, _ := cfg.Storage.Stat(userList[j]) return jInfo.Modified.Before(iInfo.Modified) }) user, err := cfg.getUser(path.Base(userList[0])) if err != nil { - return "" + return "", false } - return user.Email + return user.Email, true } // agreementTestURL is set during tests to skip requiring diff --git a/vendor/github.com/miekg/dns/.travis.yml b/vendor/github.com/miekg/dns/.travis.yml index 18259374..013b5ae4 100644 --- a/vendor/github.com/miekg/dns/.travis.yml +++ b/vendor/github.com/miekg/dns/.travis.yml @@ -4,6 +4,7 @@ sudo: false go: - 1.10.x - 1.11.x + - 1.12.x - tip before_install: diff --git a/vendor/github.com/miekg/dns/README.md b/vendor/github.com/miekg/dns/README.md index 39737c78..4af848a6 100644 --- a/vendor/github.com/miekg/dns/README.md +++ b/vendor/github.com/miekg/dns/README.md @@ -68,6 +68,7 @@ A not-so-up-to-date-list-that-may-be-actually-current: * https://blitiri.com.ar/p/dnss ([github mirror](https://github.com/albertito/dnss)) * https://github.com/semihalev/sdns * https://render.com +* https://github.com/peterzen/goresolver Send pull request if you want to be listed here. @@ -151,6 +152,7 @@ Example programs can be found in the `github.com/miekg/exdns` repository. * 6844 - CAA record * 6891 - EDNS0 update * 6895 - DNS IANA considerations +* 6944 - DNSSEC DNSKEY Algorithm Status * 6975 - Algorithm Understanding in DNSSEC * 7043 - EUI48/EUI64 records * 7314 - DNS (EDNS) EXPIRE Option diff --git a/vendor/github.com/miekg/dns/acceptfunc.go b/vendor/github.com/miekg/dns/acceptfunc.go index 78c076c2..94e7c9d9 100644 --- a/vendor/github.com/miekg/dns/acceptfunc.go +++ b/vendor/github.com/miekg/dns/acceptfunc.go @@ -35,9 +35,6 @@ func defaultMsgAcceptFunc(dh Header) MsgAcceptAction { return MsgReject } - if isZero := dh.Bits&_Z != 0; isZero { - return MsgReject - } if dh.Qdcount != 1 { return MsgReject } diff --git a/vendor/github.com/miekg/dns/client.go b/vendor/github.com/miekg/dns/client.go index 2393564c..db2761d4 100644 --- a/vendor/github.com/miekg/dns/client.go +++ b/vendor/github.com/miekg/dns/client.go @@ -3,10 +3,10 @@ package dns // A client implementation. import ( - "bytes" "context" "crypto/tls" "encoding/binary" + "fmt" "io" "net" "strings" @@ -129,20 +129,15 @@ func (c *Client) Exchange(m *Msg, address string) (r *Msg, rtt time.Duration, er return c.exchange(m, address) } - t := "nop" - if t1, ok := TypeToString[m.Question[0].Qtype]; ok { - t = t1 - } - cl := "nop" - if cl1, ok := ClassToString[m.Question[0].Qclass]; ok { - cl = cl1 - } - r, rtt, err, shared := c.group.Do(m.Question[0].Name+t+cl, func() (*Msg, time.Duration, error) { + q := m.Question[0] + key := fmt.Sprintf("%s:%d:%d", q.Name, q.Qtype, q.Qclass) + r, rtt, err, shared := c.group.Do(key, func() (*Msg, time.Duration, error) { return c.exchange(m, address) }) if r != nil && shared { r = r.Copy() } + return r, rtt, err } @@ -221,24 +216,21 @@ func (co *Conn) ReadMsgHeader(hdr *Header) ([]byte, error) { err error ) - switch t := co.Conn.(type) { - case *net.TCPConn, *tls.Conn: - r := t.(io.Reader) - - // First two bytes specify the length of the entire message. - l, err := tcpMsgLen(r) - if err != nil { - return nil, err - } - p = make([]byte, l) - n, err = tcpRead(r, p) - default: + if _, ok := co.Conn.(net.PacketConn); ok { if co.UDPSize > MinMsgSize { p = make([]byte, co.UDPSize) } else { p = make([]byte, MinMsgSize) } n, err = co.Read(p) + } else { + var length uint16 + if err := binary.Read(co.Conn, binary.BigEndian, &length); err != nil { + return nil, err + } + + p = make([]byte, length) + n, err = io.ReadFull(co.Conn, p) } if err != nil { @@ -258,74 +250,26 @@ func (co *Conn) ReadMsgHeader(hdr *Header) ([]byte, error) { return p, err } -// tcpMsgLen is a helper func to read first two bytes of stream as uint16 packet length. -func tcpMsgLen(t io.Reader) (int, error) { - p := []byte{0, 0} - n, err := t.Read(p) - if err != nil { - return 0, err - } - - // As seen with my local router/switch, returns 1 byte on the above read, - // resulting a a ShortRead. Just write it out (instead of loop) and read the - // other byte. - if n == 1 { - n1, err := t.Read(p[1:]) - if err != nil { - return 0, err - } - n += n1 - } - - if n != 2 { - return 0, ErrShortRead - } - l := binary.BigEndian.Uint16(p) - if l == 0 { - return 0, ErrShortRead - } - return int(l), nil -} - -// tcpRead calls TCPConn.Read enough times to fill allocated buffer. -func tcpRead(t io.Reader, p []byte) (int, error) { - n, err := t.Read(p) - if err != nil { - return n, err - } - for n < len(p) { - j, err := t.Read(p[n:]) - if err != nil { - return n, err - } - n += j - } - return n, err -} - // Read implements the net.Conn read method. func (co *Conn) Read(p []byte) (n int, err error) { if co.Conn == nil { return 0, ErrConnEmpty } - if len(p) < 2 { + + if _, ok := co.Conn.(net.PacketConn); ok { + // UDP connection + return co.Conn.Read(p) + } + + var length uint16 + if err := binary.Read(co.Conn, binary.BigEndian, &length); err != nil { + return 0, err + } + if int(length) > len(p) { return 0, io.ErrShortBuffer } - switch t := co.Conn.(type) { - case *net.TCPConn, *tls.Conn: - r := t.(io.Reader) - l, err := tcpMsgLen(r) - if err != nil { - return 0, err - } - if l > len(p) { - return l, io.ErrShortBuffer - } - return tcpRead(r, p[:l]) - } - // UDP connection - return co.Conn.Read(p) + return io.ReadFull(co.Conn, p[:length]) } // WriteMsg sends a message through the connection co. @@ -352,25 +296,20 @@ func (co *Conn) WriteMsg(m *Msg) (err error) { } // Write implements the net.Conn Write method. -func (co *Conn) Write(p []byte) (n int, err error) { - switch t := co.Conn.(type) { - case *net.TCPConn, *tls.Conn: - w := t.(io.Writer) - - lp := len(p) - if lp < 2 { - return 0, io.ErrShortBuffer - } - if lp > MaxMsgSize { - return 0, &Error{err: "message too large"} - } - l := make([]byte, 2, lp+2) - binary.BigEndian.PutUint16(l, uint16(lp)) - p = append(l, p...) - n, err := io.Copy(w, bytes.NewReader(p)) - return int(n), err +func (co *Conn) Write(p []byte) (int, error) { + if len(p) > MaxMsgSize { + return 0, &Error{err: "message too large"} } - return co.Conn.Write(p) + + if _, ok := co.Conn.(net.PacketConn); ok { + return co.Conn.Write(p) + } + + l := make([]byte, 2) + binary.BigEndian.PutUint16(l, uint16(len(p))) + + n, err := (&net.Buffers{l, p}).WriteTo(co.Conn) + return int(n), err } // Return the appropriate timeout for a specific request @@ -413,7 +352,7 @@ func ExchangeContext(ctx context.Context, m *Msg, a string) (r *Msg, err error) // ExchangeConn performs a synchronous query. It sends the message m via the connection // c and waits for a reply. The connection c is not closed by ExchangeConn. -// This function is going away, but can easily be mimicked: +// Deprecated: This function is going away, but can easily be mimicked: // // co := &dns.Conn{Conn: c} // c is your net.Conn // co.WriteMsg(m) diff --git a/vendor/github.com/miekg/dns/clientconfig.go b/vendor/github.com/miekg/dns/clientconfig.go index f13cfa30..e11b630d 100644 --- a/vendor/github.com/miekg/dns/clientconfig.go +++ b/vendor/github.com/miekg/dns/clientconfig.go @@ -68,14 +68,10 @@ func ClientConfigFromReader(resolvconf io.Reader) (*ClientConfig, error) { } case "search": // set search path to given servers - c.Search = make([]string, len(f)-1) - for i := 0; i < len(c.Search); i++ { - c.Search[i] = f[i+1] - } + c.Search = append([]string(nil), f[1:]...) case "options": // magic options - for i := 1; i < len(f); i++ { - s := f[i] + for _, s := range f[1:] { switch { case len(s) >= 6 && s[:6] == "ndots:": n, _ := strconv.Atoi(s[6:]) diff --git a/vendor/github.com/miekg/dns/defaults.go b/vendor/github.com/miekg/dns/defaults.go index 391d67a2..b059f6fc 100644 --- a/vendor/github.com/miekg/dns/defaults.go +++ b/vendor/github.com/miekg/dns/defaults.go @@ -146,10 +146,9 @@ func (dns *Msg) IsTsig() *TSIG { // record in the additional section will do. It returns the OPT record // found or nil. func (dns *Msg) IsEdns0() *OPT { - // EDNS0 is at the end of the additional section, start there. - // We might want to change this to *only* look at the last two - // records. So we see TSIG and/or OPT - this a slightly bigger - // change though. + // RFC 6891, Section 6.1.1 allows the OPT record to appear + // anywhere in the additional record section, but it's usually at + // the end so start there. for i := len(dns.Extra) - 1; i >= 0; i-- { if dns.Extra[i].Header().Rrtype == TypeOPT { return dns.Extra[i].(*OPT) @@ -158,6 +157,21 @@ func (dns *Msg) IsEdns0() *OPT { return nil } +// popEdns0 is like IsEdns0, but it removes the record from the message. +func (dns *Msg) popEdns0() *OPT { + // RFC 6891, Section 6.1.1 allows the OPT record to appear + // anywhere in the additional record section, but it's usually at + // the end so start there. + for i := len(dns.Extra) - 1; i >= 0; i-- { + if dns.Extra[i].Header().Rrtype == TypeOPT { + opt := dns.Extra[i].(*OPT) + dns.Extra = append(dns.Extra[:i], dns.Extra[i+1:]...) + return opt + } + } + return nil +} + // IsDomainName checks if s is a valid domain name, it returns the number of // labels and true, when a domain name is valid. Note that non fully qualified // domain name is considered valid, in this case the last label is counted in diff --git a/vendor/github.com/miekg/dns/dnssec.go b/vendor/github.com/miekg/dns/dnssec.go index 3954d419..12a693f9 100644 --- a/vendor/github.com/miekg/dns/dnssec.go +++ b/vendor/github.com/miekg/dns/dnssec.go @@ -141,8 +141,8 @@ func (k *DNSKEY) KeyTag() uint16 { switch k.Algorithm { case RSAMD5: // Look at the bottom two bytes of the modules, which the last - // item in the pubkey. We could do this faster by looking directly - // at the base64 values. But I'm lazy. + // item in the pubkey. + // This algorithm has been deprecated, but keep this key-tag calculation. modulus, _ := fromBase64([]byte(k.PublicKey)) if len(modulus) > 1 { x := binary.BigEndian.Uint16(modulus[len(modulus)-2:]) @@ -318,6 +318,9 @@ func (rr *RRSIG) Sign(k crypto.Signer, rrset []RR) error { } rr.Signature = toBase64(signature) + case RSAMD5, DSA, DSANSEC3SHA1: + // See RFC 6944. + return ErrAlg default: h := hash.New() h.Write(signdata) @@ -556,19 +559,18 @@ func (k *DNSKEY) publicKeyRSA() *rsa.PublicKey { pubkey := new(rsa.PublicKey) var expo uint64 - for i := 0; i < int(explen); i++ { + // The exponent of length explen is between keyoff and modoff. + for _, v := range keybuf[keyoff:modoff] { expo <<= 8 - expo |= uint64(keybuf[keyoff+i]) + expo |= uint64(v) } if expo > 1<<31-1 { // Larger exponent than supported by the crypto package. return nil } + pubkey.E = int(expo) - - pubkey.N = big.NewInt(0) - pubkey.N.SetBytes(keybuf[modoff:]) - + pubkey.N = new(big.Int).SetBytes(keybuf[modoff:]) return pubkey } @@ -593,10 +595,8 @@ func (k *DNSKEY) publicKeyECDSA() *ecdsa.PublicKey { return nil } } - pubkey.X = big.NewInt(0) - pubkey.X.SetBytes(keybuf[:len(keybuf)/2]) - pubkey.Y = big.NewInt(0) - pubkey.Y.SetBytes(keybuf[len(keybuf)/2:]) + pubkey.X = new(big.Int).SetBytes(keybuf[:len(keybuf)/2]) + pubkey.Y = new(big.Int).SetBytes(keybuf[len(keybuf)/2:]) return pubkey } @@ -617,10 +617,10 @@ func (k *DNSKEY) publicKeyDSA() *dsa.PublicKey { p, keybuf := keybuf[:size], keybuf[size:] g, y := keybuf[:size], keybuf[size:] pubkey := new(dsa.PublicKey) - pubkey.Parameters.Q = big.NewInt(0).SetBytes(q) - pubkey.Parameters.P = big.NewInt(0).SetBytes(p) - pubkey.Parameters.G = big.NewInt(0).SetBytes(g) - pubkey.Y = big.NewInt(0).SetBytes(y) + pubkey.Parameters.Q = new(big.Int).SetBytes(q) + pubkey.Parameters.P = new(big.Int).SetBytes(p) + pubkey.Parameters.G = new(big.Int).SetBytes(g) + pubkey.Y = new(big.Int).SetBytes(y) return pubkey } diff --git a/vendor/github.com/miekg/dns/dnssec_keygen.go b/vendor/github.com/miekg/dns/dnssec_keygen.go index 33e913ac..60737e5b 100644 --- a/vendor/github.com/miekg/dns/dnssec_keygen.go +++ b/vendor/github.com/miekg/dns/dnssec_keygen.go @@ -2,7 +2,6 @@ package dns import ( "crypto" - "crypto/dsa" "crypto/ecdsa" "crypto/elliptic" "crypto/rand" @@ -20,11 +19,9 @@ import ( // bits should be set to the size of the algorithm. func (k *DNSKEY) Generate(bits int) (crypto.PrivateKey, error) { switch k.Algorithm { - case DSA, DSANSEC3SHA1: - if bits != 1024 { - return nil, ErrKeySize - } - case RSAMD5, RSASHA1, RSASHA256, RSASHA1NSEC3SHA1: + case RSAMD5, DSA, DSANSEC3SHA1: + return nil, ErrAlg + case RSASHA1, RSASHA256, RSASHA1NSEC3SHA1: if bits < 512 || bits > 4096 { return nil, ErrKeySize } @@ -47,20 +44,7 @@ func (k *DNSKEY) Generate(bits int) (crypto.PrivateKey, error) { } switch k.Algorithm { - case DSA, DSANSEC3SHA1: - params := new(dsa.Parameters) - if err := dsa.GenerateParameters(params, rand.Reader, dsa.L1024N160); err != nil { - return nil, err - } - priv := new(dsa.PrivateKey) - priv.PublicKey.Parameters = *params - err := dsa.GenerateKey(priv, rand.Reader) - if err != nil { - return nil, err - } - k.setPublicKeyDSA(params.Q, params.P, params.G, priv.PublicKey.Y) - return priv, nil - case RSAMD5, RSASHA1, RSASHA256, RSASHA512, RSASHA1NSEC3SHA1: + case RSASHA1, RSASHA256, RSASHA512, RSASHA1NSEC3SHA1: priv, err := rsa.GenerateKey(rand.Reader, bits) if err != nil { return nil, err @@ -120,16 +104,6 @@ func (k *DNSKEY) setPublicKeyECDSA(_X, _Y *big.Int) bool { return true } -// Set the public key for DSA -func (k *DNSKEY) setPublicKeyDSA(_Q, _P, _G, _Y *big.Int) bool { - if _Q == nil || _P == nil || _G == nil || _Y == nil { - return false - } - buf := dsaToBuf(_Q, _P, _G, _Y) - k.PublicKey = toBase64(buf) - return true -} - // Set the public key for Ed25519 func (k *DNSKEY) setPublicKeyED25519(_K ed25519.PublicKey) bool { if _K == nil { @@ -164,15 +138,3 @@ func curveToBuf(_X, _Y *big.Int, intlen int) []byte { buf = append(buf, intToBytes(_Y, intlen)...) return buf } - -// Set the public key for X and Y for Curve. The two -// values are just concatenated. -func dsaToBuf(_Q, _P, _G, _Y *big.Int) []byte { - t := divRoundUp(divRoundUp(_G.BitLen(), 8)-64, 8) - buf := []byte{byte(t)} - buf = append(buf, intToBytes(_Q, 20)...) - buf = append(buf, intToBytes(_P, 64+t*8)...) - buf = append(buf, intToBytes(_G, 64+t*8)...) - buf = append(buf, intToBytes(_Y, 64+t*8)...) - return buf -} diff --git a/vendor/github.com/miekg/dns/dnssec_keyscan.go b/vendor/github.com/miekg/dns/dnssec_keyscan.go index 5e654223..0e6f3201 100644 --- a/vendor/github.com/miekg/dns/dnssec_keyscan.go +++ b/vendor/github.com/miekg/dns/dnssec_keyscan.go @@ -3,7 +3,6 @@ package dns import ( "bufio" "crypto" - "crypto/dsa" "crypto/ecdsa" "crypto/rsa" "io" @@ -44,19 +43,8 @@ func (k *DNSKEY) ReadPrivateKey(q io.Reader, file string) (crypto.PrivateKey, er return nil, ErrPrivKey } switch uint8(algo) { - case DSA: - priv, err := readPrivateKeyDSA(m) - if err != nil { - return nil, err - } - pub := k.publicKeyDSA() - if pub == nil { - return nil, ErrKey - } - priv.PublicKey = *pub - return priv, nil - case RSAMD5: - fallthrough + case RSAMD5, DSA, DSANSEC3SHA1: + return nil, ErrAlg case RSASHA1: fallthrough case RSASHA1NSEC3SHA1: @@ -109,21 +97,16 @@ func readPrivateKeyRSA(m map[string]string) (*rsa.PrivateKey, error) { } switch k { case "modulus": - p.PublicKey.N = big.NewInt(0) - p.PublicKey.N.SetBytes(v1) + p.PublicKey.N = new(big.Int).SetBytes(v1) case "publicexponent": - i := big.NewInt(0) - i.SetBytes(v1) + i := new(big.Int).SetBytes(v1) p.PublicKey.E = int(i.Int64()) // int64 should be large enough case "privateexponent": - p.D = big.NewInt(0) - p.D.SetBytes(v1) + p.D = new(big.Int).SetBytes(v1) case "prime1": - p.Primes[0] = big.NewInt(0) - p.Primes[0].SetBytes(v1) + p.Primes[0] = new(big.Int).SetBytes(v1) case "prime2": - p.Primes[1] = big.NewInt(0) - p.Primes[1].SetBytes(v1) + p.Primes[1] = new(big.Int).SetBytes(v1) } case "exponent1", "exponent2", "coefficient": // not used in Go (yet) @@ -134,27 +117,9 @@ func readPrivateKeyRSA(m map[string]string) (*rsa.PrivateKey, error) { return p, nil } -func readPrivateKeyDSA(m map[string]string) (*dsa.PrivateKey, error) { - p := new(dsa.PrivateKey) - p.X = big.NewInt(0) - for k, v := range m { - switch k { - case "private_value(x)": - v1, err := fromBase64([]byte(v)) - if err != nil { - return nil, err - } - p.X.SetBytes(v1) - case "created", "publish", "activate": - /* not used in Go (yet) */ - } - } - return p, nil -} - func readPrivateKeyECDSA(m map[string]string) (*ecdsa.PrivateKey, error) { p := new(ecdsa.PrivateKey) - p.D = big.NewInt(0) + p.D = new(big.Int) // TODO: validate that the required flags are present for k, v := range m { switch k { @@ -322,6 +287,11 @@ func (kl *klexer) Next() (lex, bool) { commt = false } + if kl.key && str.Len() == 0 { + // ignore empty lines + break + } + kl.key = true l.value = zValue diff --git a/vendor/github.com/miekg/dns/dnssec_privkey.go b/vendor/github.com/miekg/dns/dnssec_privkey.go index 0c65be17..4493c9d5 100644 --- a/vendor/github.com/miekg/dns/dnssec_privkey.go +++ b/vendor/github.com/miekg/dns/dnssec_privkey.go @@ -13,6 +13,8 @@ import ( const format = "Private-key-format: v1.3\n" +var bigIntOne = big.NewInt(1) + // PrivateKeyString converts a PrivateKey to a string. This string has the same // format as the private-key-file of BIND9 (Private-key-format: v1.3). // It needs some info from the key (the algorithm), so its a method of the DNSKEY @@ -31,12 +33,11 @@ func (r *DNSKEY) PrivateKeyString(p crypto.PrivateKey) string { prime2 := toBase64(p.Primes[1].Bytes()) // Calculate Exponent1/2 and Coefficient as per: http://en.wikipedia.org/wiki/RSA#Using_the_Chinese_remainder_algorithm // and from: http://code.google.com/p/go/issues/detail?id=987 - one := big.NewInt(1) - p1 := big.NewInt(0).Sub(p.Primes[0], one) - q1 := big.NewInt(0).Sub(p.Primes[1], one) - exp1 := big.NewInt(0).Mod(p.D, p1) - exp2 := big.NewInt(0).Mod(p.D, q1) - coeff := big.NewInt(0).ModInverse(p.Primes[1], p.Primes[0]) + p1 := new(big.Int).Sub(p.Primes[0], bigIntOne) + q1 := new(big.Int).Sub(p.Primes[1], bigIntOne) + exp1 := new(big.Int).Mod(p.D, p1) + exp2 := new(big.Int).Mod(p.D, q1) + coeff := new(big.Int).ModInverse(p.Primes[1], p.Primes[0]) exponent1 := toBase64(exp1.Bytes()) exponent2 := toBase64(exp2.Bytes()) diff --git a/vendor/github.com/miekg/dns/duplicate.go b/vendor/github.com/miekg/dns/duplicate.go index 05c14aae..00cda0aa 100644 --- a/vendor/github.com/miekg/dns/duplicate.go +++ b/vendor/github.com/miekg/dns/duplicate.go @@ -27,12 +27,12 @@ func (r1 *RR_Header) isDuplicate(_r2 RR) bool { if r1.Rrtype != r2.Rrtype { return false } - if !isDulicateName(r1.Name, r2.Name) { + if !isDuplicateName(r1.Name, r2.Name) { return false } // ignore TTL return true } -// isDulicateName checks if the domain names s1 and s2 are equal. -func isDulicateName(s1, s2 string) bool { return equal(s1, s2) } +// isDuplicateName checks if the domain names s1 and s2 are equal. +func isDuplicateName(s1, s2 string) bool { return equal(s1, s2) } diff --git a/vendor/github.com/miekg/dns/duplicate_generate.go b/vendor/github.com/miekg/dns/duplicate_generate.go index 69f15eb1..9b7a71b1 100644 --- a/vendor/github.com/miekg/dns/duplicate_generate.go +++ b/vendor/github.com/miekg/dns/duplicate_generate.go @@ -92,7 +92,7 @@ func main() { if st.Tag(i) == `dns:"cdomain-name"` || st.Tag(i) == `dns:"domain-name"` { o3(`for i := 0; i < len(r1.%s); i++ { - if !isDulicateName(r1.%s[i], r2.%s[i]) { + if !isDuplicateName(r1.%s[i], r2.%s[i]) { return false } }`) @@ -115,7 +115,7 @@ func main() { case `dns:"a"`, `dns:"aaaa"`: o2("if !r1.%s.Equal(r2.%s) {\nreturn false\n}") case `dns:"cdomain-name"`, `dns:"domain-name"`: - o2("if !isDulicateName(r1.%s, r2.%s) {\nreturn false\n}") + o2("if !isDuplicateName(r1.%s, r2.%s) {\nreturn false\n}") default: o2("if r1.%s != r2.%s {\nreturn false\n}") } diff --git a/vendor/github.com/miekg/dns/edns.go b/vendor/github.com/miekg/dns/edns.go index 805641b2..ca8873e1 100644 --- a/vendor/github.com/miekg/dns/edns.go +++ b/vendor/github.com/miekg/dns/edns.go @@ -80,9 +80,9 @@ func (rr *OPT) String() string { func (rr *OPT) len(off int, compression map[string]struct{}) int { l := rr.Hdr.len(off, compression) - for i := 0; i < len(rr.Option); i++ { + for _, o := range rr.Option { l += 4 // Account for 2-byte option code and 2-byte option length. - lo, _ := rr.Option[i].pack() + lo, _ := o.pack() l += len(lo) } return l @@ -453,11 +453,11 @@ func (e *EDNS0_DAU) unpack(b []byte) error { e.AlgCode = b; return nil } func (e *EDNS0_DAU) String() string { s := "" - for i := 0; i < len(e.AlgCode); i++ { - if a, ok := AlgorithmToString[e.AlgCode[i]]; ok { + for _, alg := range e.AlgCode { + if a, ok := AlgorithmToString[alg]; ok { s += " " + a } else { - s += " " + strconv.Itoa(int(e.AlgCode[i])) + s += " " + strconv.Itoa(int(alg)) } } return s @@ -477,11 +477,11 @@ func (e *EDNS0_DHU) unpack(b []byte) error { e.AlgCode = b; return nil } func (e *EDNS0_DHU) String() string { s := "" - for i := 0; i < len(e.AlgCode); i++ { - if a, ok := HashToString[e.AlgCode[i]]; ok { + for _, alg := range e.AlgCode { + if a, ok := HashToString[alg]; ok { s += " " + a } else { - s += " " + strconv.Itoa(int(e.AlgCode[i])) + s += " " + strconv.Itoa(int(alg)) } } return s @@ -502,11 +502,11 @@ func (e *EDNS0_N3U) unpack(b []byte) error { e.AlgCode = b; return nil } func (e *EDNS0_N3U) String() string { // Re-use the hash map s := "" - for i := 0; i < len(e.AlgCode); i++ { - if a, ok := HashToString[e.AlgCode[i]]; ok { + for _, alg := range e.AlgCode { + if a, ok := HashToString[alg]; ok { s += " " + a } else { - s += " " + strconv.Itoa(int(e.AlgCode[i])) + s += " " + strconv.Itoa(int(alg)) } } return s diff --git a/vendor/github.com/miekg/dns/format.go b/vendor/github.com/miekg/dns/format.go index 86057f99..0ec79f2f 100644 --- a/vendor/github.com/miekg/dns/format.go +++ b/vendor/github.com/miekg/dns/format.go @@ -31,6 +31,9 @@ func Field(r RR, i int) string { switch reflect.ValueOf(r).Elem().Type().Field(i).Tag { case `dns:"a"`: // TODO(miek): Hmm store this as 16 bytes + if d.Len() < net.IPv4len { + return "" + } if d.Len() < net.IPv6len { return net.IPv4(byte(d.Index(0).Uint()), byte(d.Index(1).Uint()), @@ -42,6 +45,9 @@ func Field(r RR, i int) string { byte(d.Index(14).Uint()), byte(d.Index(15).Uint())).String() case `dns:"aaaa"`: + if d.Len() < net.IPv6len { + return "" + } return net.IP{ byte(d.Index(0).Uint()), byte(d.Index(1).Uint()), diff --git a/vendor/github.com/miekg/dns/labels.go b/vendor/github.com/miekg/dns/labels.go index ca8c2045..e32d2a1d 100644 --- a/vendor/github.com/miekg/dns/labels.go +++ b/vendor/github.com/miekg/dns/labels.go @@ -28,9 +28,7 @@ func SplitDomainName(s string) (labels []string) { case 1: // no-op default: - end := 0 - for i := 1; i < len(idx); i++ { - end = idx[i] + for _, end := range idx[1:] { labels = append(labels, s[begin:end-1]) begin = end } diff --git a/vendor/github.com/miekg/dns/msg.go b/vendor/github.com/miekg/dns/msg.go index 5191fc06..e04fb5d7 100644 --- a/vendor/github.com/miekg/dns/msg.go +++ b/vendor/github.com/miekg/dns/msg.go @@ -429,8 +429,8 @@ Loop: if budget <= 0 { return "", lenmsg, ErrLongDomain } - for j := off; j < off+c; j++ { - switch b := msg[j]; b { + for _, b := range msg[off : off+c] { + switch b { case '.', '(', ')', ';', ' ', '@': fallthrough case '"', '\\': @@ -489,11 +489,11 @@ func packTxt(txt []string, msg []byte, offset int, tmp []byte) (int, error) { return offset, nil } var err error - for i := range txt { - if len(txt[i]) > len(tmp) { + for _, s := range txt { + if len(s) > len(tmp) { return offset, ErrBuf } - offset, err = packTxtString(txt[i], msg, offset, tmp) + offset, err = packTxtString(s, msg, offset, tmp) if err != nil { return offset, err } @@ -934,31 +934,31 @@ func (dns *Msg) String() string { s += "ADDITIONAL: " + strconv.Itoa(len(dns.Extra)) + "\n" if len(dns.Question) > 0 { s += "\n;; QUESTION SECTION:\n" - for i := 0; i < len(dns.Question); i++ { - s += dns.Question[i].String() + "\n" + for _, r := range dns.Question { + s += r.String() + "\n" } } if len(dns.Answer) > 0 { s += "\n;; ANSWER SECTION:\n" - for i := 0; i < len(dns.Answer); i++ { - if dns.Answer[i] != nil { - s += dns.Answer[i].String() + "\n" + for _, r := range dns.Answer { + if r != nil { + s += r.String() + "\n" } } } if len(dns.Ns) > 0 { s += "\n;; AUTHORITY SECTION:\n" - for i := 0; i < len(dns.Ns); i++ { - if dns.Ns[i] != nil { - s += dns.Ns[i].String() + "\n" + for _, r := range dns.Ns { + if r != nil { + s += r.String() + "\n" } } } if len(dns.Extra) > 0 { s += "\n;; ADDITIONAL SECTION:\n" - for i := 0; i < len(dns.Extra); i++ { - if dns.Extra[i] != nil { - s += dns.Extra[i].String() + "\n" + for _, r := range dns.Extra { + if r != nil { + s += r.String() + "\n" } } } @@ -1091,33 +1091,20 @@ func (dns *Msg) CopyTo(r1 *Msg) *Msg { } rrArr := make([]RR, len(dns.Answer)+len(dns.Ns)+len(dns.Extra)) - var rri int + r1.Answer, rrArr = rrArr[:0:len(dns.Answer)], rrArr[len(dns.Answer):] + r1.Ns, rrArr = rrArr[:0:len(dns.Ns)], rrArr[len(dns.Ns):] + r1.Extra = rrArr[:0:len(dns.Extra)] - if len(dns.Answer) > 0 { - rrbegin := rri - for i := 0; i < len(dns.Answer); i++ { - rrArr[rri] = dns.Answer[i].copy() - rri++ - } - r1.Answer = rrArr[rrbegin:rri:rri] + for _, r := range dns.Answer { + r1.Answer = append(r1.Answer, r.copy()) } - if len(dns.Ns) > 0 { - rrbegin := rri - for i := 0; i < len(dns.Ns); i++ { - rrArr[rri] = dns.Ns[i].copy() - rri++ - } - r1.Ns = rrArr[rrbegin:rri:rri] + for _, r := range dns.Ns { + r1.Ns = append(r1.Ns, r.copy()) } - if len(dns.Extra) > 0 { - rrbegin := rri - for i := 0; i < len(dns.Extra); i++ { - rrArr[rri] = dns.Extra[i].copy() - rri++ - } - r1.Extra = rrArr[rrbegin:rri:rri] + for _, r := range dns.Extra { + r1.Extra = append(r1.Extra, r.copy()) } return r1 diff --git a/vendor/github.com/miekg/dns/msg_helpers.go b/vendor/github.com/miekg/dns/msg_helpers.go index 527621a0..cb4ae764 100644 --- a/vendor/github.com/miekg/dns/msg_helpers.go +++ b/vendor/github.com/miekg/dns/msg_helpers.go @@ -25,12 +25,13 @@ func unpackDataA(msg []byte, off int) (net.IP, int, error) { } func packDataA(a net.IP, msg []byte, off int) (int, error) { - // It must be a slice of 4, even if it is 16, we encode only the first 4 - if off+net.IPv4len > len(msg) { - return len(msg), &Error{err: "overflow packing a"} - } switch len(a) { case net.IPv4len, net.IPv6len: + // It must be a slice of 4, even if it is 16, we encode only the first 4 + if off+net.IPv4len > len(msg) { + return len(msg), &Error{err: "overflow packing a"} + } + copy(msg[off:], a.To4()) off += net.IPv4len case 0: @@ -51,12 +52,12 @@ func unpackDataAAAA(msg []byte, off int) (net.IP, int, error) { } func packDataAAAA(aaaa net.IP, msg []byte, off int) (int, error) { - if off+net.IPv6len > len(msg) { - return len(msg), &Error{err: "overflow packing aaaa"} - } - switch len(aaaa) { case net.IPv6len: + if off+net.IPv6len > len(msg) { + return len(msg), &Error{err: "overflow packing aaaa"} + } + copy(msg[off:], aaaa) off += net.IPv6len case 0: @@ -494,7 +495,7 @@ Option: func packDataOpt(options []EDNS0, msg []byte, off int) (int, error) { for _, el := range options { b, err := el.pack() - if err != nil || off+3 > len(msg) { + if err != nil || off+4 > len(msg) { return len(msg), &Error{err: "overflow packing opt"} } binary.BigEndian.PutUint16(msg[off:], el.Option()) // Option code @@ -553,8 +554,7 @@ func unpackDataNsec(msg []byte, off int) ([]uint16, int, error) { } // Walk the bytes in the window and extract the type bits - for j := 0; j < length; j++ { - b := msg[off+j] + for j, b := range msg[off : off+length] { // Check the bits one by one, and set the type if b&0x80 == 0x80 { nsec = append(nsec, uint16(window*256+j*8+0)) @@ -587,13 +587,35 @@ func unpackDataNsec(msg []byte, off int) ([]uint16, int, error) { return nsec, off, nil } +// typeBitMapLen is a helper function which computes the "maximum" length of +// a the NSEC Type BitMap field. +func typeBitMapLen(bitmap []uint16) int { + var l int + var lastwindow, lastlength uint16 + for _, t := range bitmap { + window := t / 256 + length := (t-window*256)/8 + 1 + if window > lastwindow && lastlength != 0 { // New window, jump to the new offset + l += int(lastlength) + 2 + lastlength = 0 + } + if window < lastwindow || length < lastlength { + // packDataNsec would return Error{err: "nsec bits out of order"} here, but + // when computing the length, we want do be liberal. + continue + } + lastwindow, lastlength = window, length + } + l += int(lastlength) + 2 + return l +} + func packDataNsec(bitmap []uint16, msg []byte, off int) (int, error) { if len(bitmap) == 0 { return off, nil } var lastwindow, lastlength uint16 - for j := 0; j < len(bitmap); j++ { - t := bitmap[j] + for _, t := range bitmap { window := t / 256 length := (t-window*256)/8 + 1 if window > lastwindow && lastlength != 0 { // New window, jump to the new offset @@ -639,8 +661,8 @@ func unpackDataDomainNames(msg []byte, off, end int) ([]string, int, error) { func packDataDomainNames(names []string, msg []byte, off int, compression compressionMap, compress bool) (int, error) { var err error - for j := 0; j < len(names); j++ { - off, err = packDomainName(names[j], msg, off, compression, compress) + for _, name := range names { + off, err = packDomainName(name, msg, off, compression, compress) if err != nil { return len(msg), err } diff --git a/vendor/github.com/miekg/dns/msg_truncate.go b/vendor/github.com/miekg/dns/msg_truncate.go new file mode 100644 index 00000000..83780af6 --- /dev/null +++ b/vendor/github.com/miekg/dns/msg_truncate.go @@ -0,0 +1,106 @@ +package dns + +// Truncate ensures the reply message will fit into the requested buffer +// size by removing records that exceed the requested size. +// +// It will first check if the reply fits without compression and then with +// compression. If it won't fit with compression, Truncate then walks the +// record adding as many records as possible without exceeding the +// requested buffer size. +// +// The TC bit will be set if any answer records were excluded from the +// message. This indicates to that the client should retry over TCP. +// +// The appropriate buffer size can be retrieved from the requests OPT +// record, if present, and is transport specific otherwise. dns.MinMsgSize +// should be used for UDP requests without an OPT record, and +// dns.MaxMsgSize for TCP requests without an OPT record. +func (dns *Msg) Truncate(size int) { + if dns.IsTsig() != nil { + // To simplify this implementation, we don't perform + // truncation on responses with a TSIG record. + return + } + + // RFC 6891 mandates that the payload size in an OPT record + // less than 512 bytes must be treated as equal to 512 bytes. + // + // For ease of use, we impose that restriction here. + if size < 512 { + size = 512 + } + + l := msgLenWithCompressionMap(dns, nil) // uncompressed length + if l <= size { + // Don't waste effort compressing this message. + dns.Compress = false + return + } + + dns.Compress = true + + edns0 := dns.popEdns0() + if edns0 != nil { + // Account for the OPT record that gets added at the end, + // by subtracting that length from our budget. + // + // The EDNS(0) OPT record must have the root domain and + // it's length is thus unaffected by compression. + size -= Len(edns0) + } + + compression := make(map[string]struct{}) + + l = headerSize + for _, r := range dns.Question { + l += r.len(l, compression) + } + + var numAnswer int + if l < size { + l, numAnswer = truncateLoop(dns.Answer, size, l, compression) + } + + var numNS int + if l < size { + l, numNS = truncateLoop(dns.Ns, size, l, compression) + } + + var numExtra int + if l < size { + l, numExtra = truncateLoop(dns.Extra, size, l, compression) + } + + // According to RFC 2181, the TC bit should only be set if not all + // of the answer RRs can be included in the response. + dns.Truncated = len(dns.Answer) > numAnswer + + dns.Answer = dns.Answer[:numAnswer] + dns.Ns = dns.Ns[:numNS] + dns.Extra = dns.Extra[:numExtra] + + if edns0 != nil { + // Add the OPT record back onto the additional section. + dns.Extra = append(dns.Extra, edns0) + } +} + +func truncateLoop(rrs []RR, size, l int, compression map[string]struct{}) (int, int) { + for i, r := range rrs { + if r == nil { + continue + } + + l += r.len(l, compression) + if l > size { + // Return size, rather than l prior to this record, + // to prevent any further records being added. + return size, i + } + if l == size { + return l, i + 1 + } + } + + return l, len(rrs) +} diff --git a/vendor/github.com/miekg/dns/privaterr.go b/vendor/github.com/miekg/dns/privaterr.go index d9c0d267..110639f3 100644 --- a/vendor/github.com/miekg/dns/privaterr.go +++ b/vendor/github.com/miekg/dns/privaterr.go @@ -1,9 +1,6 @@ package dns -import ( - "fmt" - "strings" -) +import "strings" // PrivateRdata is an interface used for implementing "Private Use" RR types, see // RFC 6895. This allows one to experiment with new RR types, without requesting an @@ -18,7 +15,7 @@ type PrivateRdata interface { // Unpack is used when unpacking a private RR from a buffer. // TODO(miek): diff. signature than Pack, see edns0.go for instance. Unpack([]byte) (int, error) - // Copy copies the Rdata. + // Copy copies the Rdata into the PrivateRdata argument. Copy(PrivateRdata) error // Len returns the length in octets of the Rdata. Len() int @@ -29,22 +26,8 @@ type PrivateRdata interface { type PrivateRR struct { Hdr RR_Header Data PrivateRdata -} -func mkPrivateRR(rrtype uint16) *PrivateRR { - // Panics if RR is not an instance of PrivateRR. - rrfunc, ok := TypeToRR[rrtype] - if !ok { - panic(fmt.Sprintf("dns: invalid operation with Private RR type %d", rrtype)) - } - - anyrr := rrfunc() - rr, ok := anyrr.(*PrivateRR) - if !ok { - panic(fmt.Sprintf("dns: RR is not a PrivateRR, TypeToRR[%d] generator returned %T", rrtype, anyrr)) - } - - return rr + generator func() PrivateRdata // for copy } // Header return the RR header of r. @@ -61,13 +44,12 @@ func (r *PrivateRR) len(off int, compression map[string]struct{}) int { func (r *PrivateRR) copy() RR { // make new RR like this: - rr := mkPrivateRR(r.Hdr.Rrtype) - rr.Hdr = r.Hdr + rr := &PrivateRR{r.Hdr, r.generator(), r.generator} - err := r.Data.Copy(rr.Data) - if err != nil { - panic("dns: got value that could not be used to copy Private rdata") + if err := r.Data.Copy(rr.Data); err != nil { + panic("dns: got value that could not be used to copy Private rdata: " + err.Error()) } + return rr } @@ -116,7 +98,7 @@ func (r1 *PrivateRR) isDuplicate(r2 RR) bool { return false } func PrivateHandle(rtypestr string, rtype uint16, generator func() PrivateRdata) { rtypestr = strings.ToUpper(rtypestr) - TypeToRR[rtype] = func() RR { return &PrivateRR{RR_Header{}, generator()} } + TypeToRR[rtype] = func() RR { return &PrivateRR{RR_Header{}, generator(), generator} } TypeToString[rtype] = rtypestr StringToType[rtypestr] = rtype } diff --git a/vendor/github.com/miekg/dns/scan_rr.go b/vendor/github.com/miekg/dns/scan_rr.go index f48ff789..6096f9b0 100644 --- a/vendor/github.com/miekg/dns/scan_rr.go +++ b/vendor/github.com/miekg/dns/scan_rr.go @@ -133,7 +133,12 @@ func (rr *A) parse(c *zlexer, o, f string) *ParseError { } rr.A = net.ParseIP(l.token) - if rr.A == nil || l.err { + // IPv4 addresses cannot include ":". + // We do this rather than use net.IP's To4() because + // To4() treats IPv4-mapped IPv6 addresses as being + // IPv4. + isIPv4 := !strings.Contains(l.token, ":") + if rr.A == nil || !isIPv4 || l.err { return &ParseError{f, "bad A A", l} } return slurpRemainder(c, f) @@ -146,7 +151,10 @@ func (rr *AAAA) parse(c *zlexer, o, f string) *ParseError { } rr.AAAA = net.ParseIP(l.token) - if rr.AAAA == nil || l.err { + // IPv6 addresses must include ":", and IPv4 + // addresses cannot include ":". + isIPv6 := strings.Contains(l.token, ":") + if rr.AAAA == nil || !isIPv6 || l.err { return &ParseError{f, "bad AAAA AAAA", l} } return slurpRemainder(c, f) diff --git a/vendor/github.com/miekg/dns/server.go b/vendor/github.com/miekg/dns/server.go index 88240370..354f7712 100644 --- a/vendor/github.com/miekg/dns/server.go +++ b/vendor/github.com/miekg/dns/server.go @@ -3,7 +3,6 @@ package dns import ( - "bytes" "context" "crypto/tls" "encoding/binary" @@ -12,26 +11,12 @@ import ( "net" "strings" "sync" - "sync/atomic" "time" ) // Default maximum number of TCP queries before we close the socket. const maxTCPQueries = 128 -// The maximum number of idle workers. -// -// This controls the maximum number of workers that are allowed to stay -// idle waiting for incoming requests before being torn down. -// -// If this limit is reached, the server will just keep spawning new -// workers (goroutines) for each incoming request. In this case, each -// worker will only be used for a single request. -const maxIdleWorkersCount = 10000 - -// The maximum length of time a worker may idle for before being destroyed. -const idleWorkerTimeout = 10 * time.Second - // aLongTimeAgo is a non-zero time, far in the past, used for // immediate cancelation of network operations. var aLongTimeAgo = time.Unix(1, 0) @@ -81,7 +66,6 @@ type ConnectionStater interface { } type response struct { - msg []byte closed bool // connection has been closed hijacked bool // connection has been hijacked by handler tsigTimersOnly bool @@ -92,7 +76,6 @@ type response struct { tcp net.Conn // i/o connection if TCP was used udpSession *SessionUDP // oob data to get egress interface right writer Writer // writer to output the raw DNS bits - wg *sync.WaitGroup // for gracefull shutdown } // HandleFailed returns a HandlerFunc that returns SERVFAIL for every request it gets. @@ -218,11 +201,6 @@ type Server struct { // By default DefaultMsgAcceptFunc will be used. MsgAcceptFunc MsgAcceptFunc - // UDP packet or TCP connection queue - queue chan *response - // Workers count - workersCount int32 - // Shutdown handling lock sync.RWMutex started bool @@ -240,51 +218,6 @@ func (srv *Server) isStarted() bool { return started } -func (srv *Server) worker(w *response) { - srv.serve(w) - - for { - count := atomic.LoadInt32(&srv.workersCount) - if count > maxIdleWorkersCount { - return - } - if atomic.CompareAndSwapInt32(&srv.workersCount, count, count+1) { - break - } - } - - defer atomic.AddInt32(&srv.workersCount, -1) - - inUse := false - timeout := time.NewTimer(idleWorkerTimeout) - defer timeout.Stop() -LOOP: - for { - select { - case w, ok := <-srv.queue: - if !ok { - break LOOP - } - inUse = true - srv.serve(w) - case <-timeout.C: - if !inUse { - break LOOP - } - inUse = false - timeout.Reset(idleWorkerTimeout) - } - } -} - -func (srv *Server) spawnWorker(w *response) { - select { - case srv.queue <- w: - default: - go srv.worker(w) - } -} - func makeUDPBuffer(size int) func() interface{} { return func() interface{} { return make([]byte, size) @@ -292,8 +225,6 @@ func makeUDPBuffer(size int) func() interface{} { } func (srv *Server) init() { - srv.queue = make(chan *response) - srv.shutdown = make(chan struct{}) srv.conns = make(map[net.Conn]struct{}) @@ -301,7 +232,10 @@ func (srv *Server) init() { srv.UDPSize = MinMsgSize } if srv.MsgAcceptFunc == nil { - srv.MsgAcceptFunc = defaultMsgAcceptFunc + srv.MsgAcceptFunc = DefaultMsgAcceptFunc + } + if srv.Handler == nil { + srv.Handler = DefaultServeMux } srv.udpPool.New = makeUDPBuffer(srv.UDPSize) @@ -328,7 +262,6 @@ func (srv *Server) ListenAndServe() error { } srv.init() - defer close(srv.queue) switch srv.Net { case "tcp", "tcp4", "tcp6": @@ -383,7 +316,6 @@ func (srv *Server) ActivateAndServe() error { } srv.init() - defer close(srv.queue) pConn := srv.PacketConn l := srv.Listener @@ -499,11 +431,7 @@ func (srv *Server) serveTCP(l net.Listener) error { srv.conns[rw] = struct{}{} srv.lock.Unlock() wg.Add(1) - srv.spawnWorker(&response{ - tsigSecret: srv.TsigSecret, - tcp: rw, - wg: &wg, - }) + go srv.serveTCPConn(&wg, rw) } return nil @@ -548,45 +476,21 @@ func (srv *Server) serveUDP(l *net.UDPConn) error { continue } wg.Add(1) - srv.spawnWorker(&response{ - msg: m, - tsigSecret: srv.TsigSecret, - udp: l, - udpSession: s, - wg: &wg, - }) + go srv.serveUDPPacket(&wg, m, l, s) } return nil } -func (srv *Server) serve(w *response) { +// Serve a new TCP connection. +func (srv *Server) serveTCPConn(wg *sync.WaitGroup, rw net.Conn) { + w := &response{tsigSecret: srv.TsigSecret, tcp: rw} if srv.DecorateWriter != nil { w.writer = srv.DecorateWriter(w) } else { w.writer = w } - if w.udp != nil { - // serve UDP - srv.serveDNS(w) - - w.wg.Done() - return - } - - defer func() { - if !w.hijacked { - w.Close() - } - - srv.lock.Lock() - delete(srv.conns, w.tcp) - srv.lock.Unlock() - - w.wg.Done() - }() - reader := Reader(defaultReader{srv}) if srv.DecorateReader != nil { reader = srv.DecorateReader(reader) @@ -605,14 +509,13 @@ func (srv *Server) serve(w *response) { } for q := 0; (q < limit || limit == -1) && srv.isStarted(); q++ { - var err error - w.msg, err = reader.ReadTCP(w.tcp, timeout) + m, err := reader.ReadTCP(w.tcp, timeout) if err != nil { // TODO(tmthrgd): handle error break } - srv.serveDNS(w) - if w.tcp == nil { + srv.serveDNS(m, w) + if w.closed { break // Close() was called } if w.hijacked { @@ -622,17 +525,33 @@ func (srv *Server) serve(w *response) { // idle timeout. timeout = idleTimeout } -} -func (srv *Server) disposeBuffer(w *response) { - if w.udp != nil && cap(w.msg) == srv.UDPSize { - srv.udpPool.Put(w.msg[:srv.UDPSize]) + if !w.hijacked { + w.Close() } - w.msg = nil + + srv.lock.Lock() + delete(srv.conns, w.tcp) + srv.lock.Unlock() + + wg.Done() } -func (srv *Server) serveDNS(w *response) { - dh, off, err := unpackMsgHdr(w.msg, 0) +// Serve a new UDP request. +func (srv *Server) serveUDPPacket(wg *sync.WaitGroup, m []byte, u *net.UDPConn, s *SessionUDP) { + w := &response{tsigSecret: srv.TsigSecret, udp: u, udpSession: s} + if srv.DecorateWriter != nil { + w.writer = srv.DecorateWriter(w) + } else { + w.writer = w + } + + srv.serveDNS(m, w) + wg.Done() +} + +func (srv *Server) serveDNS(m []byte, w *response) { + dh, off, err := unpackMsgHdr(m, 0) if err != nil { // Let client hang, they are sending crap; any reply can be used to amplify. return @@ -643,24 +562,24 @@ func (srv *Server) serveDNS(w *response) { switch srv.MsgAcceptFunc(dh) { case MsgAccept: - case MsgIgnore: - return + if req.unpack(dh, m, off) == nil { + break + } + + fallthrough case MsgReject: req.SetRcodeFormatError(req) // Are we allowed to delete any OPT records here? req.Ns, req.Answer, req.Extra = nil, nil, nil + req.Zero = false w.WriteMsg(req) - srv.disposeBuffer(w) - return - } + fallthrough + case MsgIgnore: + if w.udp != nil && cap(m) == srv.UDPSize { + srv.udpPool.Put(m[:srv.UDPSize]) + } - if err := req.unpack(dh, w.msg, off); err != nil { - req.SetRcodeFormatError(req) - req.Ns, req.Answer, req.Extra = nil, nil, nil - - w.WriteMsg(req) - srv.disposeBuffer(w) return } @@ -668,7 +587,7 @@ func (srv *Server) serveDNS(w *response) { if w.tsigSecret != nil { if t := req.IsTsig(); t != nil { if secret, ok := w.tsigSecret[t.Hdr.Name]; ok { - w.tsigStatus = TsigVerify(w.msg, secret, "", false) + w.tsigStatus = TsigVerify(m, secret, "", false) } else { w.tsigStatus = ErrSecret } @@ -677,14 +596,11 @@ func (srv *Server) serveDNS(w *response) { } } - srv.disposeBuffer(w) - - handler := srv.Handler - if handler == nil { - handler = DefaultServeMux + if w.udp != nil && cap(m) == srv.UDPSize { + srv.udpPool.Put(m[:srv.UDPSize]) } - handler.ServeDNS(w, req) // Writes back to the client + srv.Handler.ServeDNS(w, req) // Writes back to the client } func (srv *Server) readTCP(conn net.Conn, timeout time.Duration) ([]byte, error) { @@ -698,36 +614,16 @@ func (srv *Server) readTCP(conn net.Conn, timeout time.Duration) ([]byte, error) } srv.lock.RUnlock() - l := make([]byte, 2) - n, err := conn.Read(l) - if err != nil || n != 2 { - if err != nil { - return nil, err - } - return nil, ErrShortRead + var length uint16 + if err := binary.Read(conn, binary.BigEndian, &length); err != nil { + return nil, err } - length := binary.BigEndian.Uint16(l) - if length == 0 { - return nil, ErrShortRead + + m := make([]byte, length) + if _, err := io.ReadFull(conn, m); err != nil { + return nil, err } - m := make([]byte, int(length)) - n, err = conn.Read(m[:int(length)]) - if err != nil || n == 0 { - if err != nil { - return nil, err - } - return nil, ErrShortRead - } - i := n - for i < int(length) { - j, err := conn.Read(m[i:int(length)]) - if err != nil { - return nil, err - } - i += j - } - n = i - m = m[:n] + return m, nil } @@ -784,18 +680,14 @@ func (w *response) Write(m []byte) (int, error) { case w.udp != nil: return WriteToSessionUDP(w.udp, m, w.udpSession) case w.tcp != nil: - lm := len(m) - if lm < 2 { - return 0, io.ErrShortBuffer - } - if lm > MaxMsgSize { + if len(m) > MaxMsgSize { return 0, &Error{err: "message too large"} } - l := make([]byte, 2, 2+lm) - binary.BigEndian.PutUint16(l, uint16(lm)) - m = append(l, m...) - n, err := io.Copy(w.tcp, bytes.NewReader(m)) + l := make([]byte, 2) + binary.BigEndian.PutUint16(l, uint16(len(m))) + + n, err := (&net.Buffers{l, m}).WriteTo(w.tcp) return int(n), err default: panic("dns: internal error: udp and tcp both nil") diff --git a/vendor/github.com/miekg/dns/sig0.go b/vendor/github.com/miekg/dns/sig0.go index ec65dd7f..55cf1c38 100644 --- a/vendor/github.com/miekg/dns/sig0.go +++ b/vendor/github.com/miekg/dns/sig0.go @@ -181,10 +181,8 @@ func (rr *SIG) Verify(k *KEY, buf []byte) error { case DSA: pk := k.publicKeyDSA() sig = sig[1:] - r := big.NewInt(0) - r.SetBytes(sig[:len(sig)/2]) - s := big.NewInt(0) - s.SetBytes(sig[len(sig)/2:]) + r := new(big.Int).SetBytes(sig[:len(sig)/2]) + s := new(big.Int).SetBytes(sig[len(sig)/2:]) if pk != nil { if dsa.Verify(pk, hashed, r, s) { return nil @@ -198,10 +196,8 @@ func (rr *SIG) Verify(k *KEY, buf []byte) error { } case ECDSAP256SHA256, ECDSAP384SHA384: pk := k.publicKeyECDSA() - r := big.NewInt(0) - r.SetBytes(sig[:len(sig)/2]) - s := big.NewInt(0) - s.SetBytes(sig[len(sig)/2:]) + r := new(big.Int).SetBytes(sig[:len(sig)/2]) + s := new(big.Int).SetBytes(sig[len(sig)/2:]) if pk != nil { if ecdsa.Verify(pk, hashed, r, s) { return nil diff --git a/vendor/github.com/miekg/dns/types.go b/vendor/github.com/miekg/dns/types.go index efa34244..afee0d30 100644 --- a/vendor/github.com/miekg/dns/types.go +++ b/vendor/github.com/miekg/dns/types.go @@ -404,7 +404,7 @@ type RP struct { } func (rr *RP) String() string { - return rr.Hdr.String() + rr.Mbox + " " + sprintTxt([]string{rr.Txt}) + return rr.Hdr.String() + sprintName(rr.Mbox) + " " + sprintName(rr.Txt) } // SOA RR. See RFC 1035. @@ -845,8 +845,8 @@ type NSEC struct { func (rr *NSEC) String() string { s := rr.Hdr.String() + sprintName(rr.NextDomain) - for i := 0; i < len(rr.TypeBitMap); i++ { - s += " " + Type(rr.TypeBitMap[i]).String() + for _, t := range rr.TypeBitMap { + s += " " + Type(t).String() } return s } @@ -854,14 +854,7 @@ func (rr *NSEC) String() string { func (rr *NSEC) len(off int, compression map[string]struct{}) int { l := rr.Hdr.len(off, compression) l += domainNameLen(rr.NextDomain, off+l, compression, false) - lastwindow := uint32(2 ^ 32 + 1) - for _, t := range rr.TypeBitMap { - window := t / 256 - if uint32(window) != lastwindow { - l += 1 + 32 - } - lastwindow = uint32(window) - } + l += typeBitMapLen(rr.TypeBitMap) return l } @@ -1011,8 +1004,8 @@ func (rr *NSEC3) String() string { " " + strconv.Itoa(int(rr.Iterations)) + " " + saltToString(rr.Salt) + " " + rr.NextDomain - for i := 0; i < len(rr.TypeBitMap); i++ { - s += " " + Type(rr.TypeBitMap[i]).String() + for _, t := range rr.TypeBitMap { + s += " " + Type(t).String() } return s } @@ -1020,14 +1013,7 @@ func (rr *NSEC3) String() string { func (rr *NSEC3) len(off int, compression map[string]struct{}) int { l := rr.Hdr.len(off, compression) l += 6 + len(rr.Salt)/2 + 1 + len(rr.NextDomain) + 1 - lastwindow := uint32(2 ^ 32 + 1) - for _, t := range rr.TypeBitMap { - window := t / 256 - if uint32(window) != lastwindow { - l += 1 + 32 - } - lastwindow = uint32(window) - } + l += typeBitMapLen(rr.TypeBitMap) return l } @@ -1335,8 +1321,8 @@ type CSYNC struct { func (rr *CSYNC) String() string { s := rr.Hdr.String() + strconv.FormatInt(int64(rr.Serial), 10) + " " + strconv.Itoa(int(rr.Flags)) - for i := 0; i < len(rr.TypeBitMap); i++ { - s += " " + Type(rr.TypeBitMap[i]).String() + for _, t := range rr.TypeBitMap { + s += " " + Type(t).String() } return s } @@ -1344,14 +1330,7 @@ func (rr *CSYNC) String() string { func (rr *CSYNC) len(off int, compression map[string]struct{}) int { l := rr.Hdr.len(off, compression) l += 4 + 2 - lastwindow := uint32(2 ^ 32 + 1) - for _, t := range rr.TypeBitMap { - window := t / 256 - if uint32(window) != lastwindow { - l += 1 + 32 - } - lastwindow = uint32(window) - } + l += typeBitMapLen(rr.TypeBitMap) return l } diff --git a/vendor/github.com/miekg/dns/types_generate.go b/vendor/github.com/miekg/dns/types_generate.go index aa05a085..8cda2a74 100644 --- a/vendor/github.com/miekg/dns/types_generate.go +++ b/vendor/github.com/miekg/dns/types_generate.go @@ -189,16 +189,14 @@ func main() { o("l += base64.StdEncoding.DecodedLen(len(rr.%s))\n") case strings.HasPrefix(st.Tag(i), `dns:"size-hex:`): // this has an extra field where the length is stored o("l += len(rr.%s)/2\n") - case strings.HasPrefix(st.Tag(i), `dns:"size-hex`): - fallthrough case st.Tag(i) == `dns:"hex"`: - o("l += len(rr.%s)/2 + 1\n") + o("l += len(rr.%s)/2\n") case st.Tag(i) == `dns:"any"`: o("l += len(rr.%s)\n") case st.Tag(i) == `dns:"a"`: - o("l += net.IPv4len // %s\n") + o("if len(rr.%s) != 0 { l += net.IPv4len }\n") case st.Tag(i) == `dns:"aaaa"`: - o("l += net.IPv6len // %s\n") + o("if len(rr.%s) != 0 { l += net.IPv6len }\n") case st.Tag(i) == `dns:"txt"`: o("for _, t := range rr.%s { l += len(t) + 1 }\n") case st.Tag(i) == `dns:"uint48"`: diff --git a/vendor/github.com/miekg/dns/version.go b/vendor/github.com/miekg/dns/version.go index 46d644c5..204776d9 100644 --- a/vendor/github.com/miekg/dns/version.go +++ b/vendor/github.com/miekg/dns/version.go @@ -3,7 +3,7 @@ package dns import "fmt" // Version is current version of this library. -var Version = V{1, 1, 4} +var Version = V{1, 1, 13} // V holds the version of this library. type V struct { diff --git a/vendor/github.com/miekg/dns/xfr.go b/vendor/github.com/miekg/dns/xfr.go index 82afc52e..bb4ca3d8 100644 --- a/vendor/github.com/miekg/dns/xfr.go +++ b/vendor/github.com/miekg/dns/xfr.go @@ -198,11 +198,14 @@ func (t *Transfer) Out(w ResponseWriter, q *Msg, ch chan *Envelope) error { r.Authoritative = true // assume it fits TODO(miek): fix r.Answer = append(r.Answer, x.RR...) + if tsig := q.IsTsig(); tsig != nil && w.TsigStatus() == nil { + r.SetTsig(tsig.Hdr.Name, tsig.Algorithm, tsig.Fudge, time.Now().Unix()) + } if err := w.WriteMsg(r); err != nil { return err } + w.TsigTimersOnly(true) } - w.TsigTimersOnly(true) return nil } diff --git a/vendor/github.com/miekg/dns/zduplicate.go b/vendor/github.com/miekg/dns/zduplicate.go index 81e99e0d..74389162 100644 --- a/vendor/github.com/miekg/dns/zduplicate.go +++ b/vendor/github.com/miekg/dns/zduplicate.go @@ -37,7 +37,7 @@ func (r1 *AFSDB) isDuplicate(_r2 RR) bool { if r1.Subtype != r2.Subtype { return false } - if !isDulicateName(r1.Hostname, r2.Hostname) { + if !isDuplicateName(r1.Hostname, r2.Hostname) { return false } return true @@ -114,7 +114,7 @@ func (r1 *CNAME) isDuplicate(_r2 RR) bool { return false } _ = r2 - if !isDulicateName(r1.Target, r2.Target) { + if !isDuplicateName(r1.Target, r2.Target) { return false } return true @@ -161,7 +161,7 @@ func (r1 *DNAME) isDuplicate(_r2 RR) bool { return false } _ = r2 - if !isDulicateName(r1.Target, r2.Target) { + if !isDuplicateName(r1.Target, r2.Target) { return false } return true @@ -315,7 +315,7 @@ func (r1 *HIP) isDuplicate(_r2 RR) bool { return false } for i := 0; i < len(r1.RendezvousServers); i++ { - if !isDulicateName(r1.RendezvousServers[i], r2.RendezvousServers[i]) { + if !isDuplicateName(r1.RendezvousServers[i], r2.RendezvousServers[i]) { return false } } @@ -331,7 +331,7 @@ func (r1 *KX) isDuplicate(_r2 RR) bool { if r1.Preference != r2.Preference { return false } - if !isDulicateName(r1.Exchanger, r2.Exchanger) { + if !isDuplicateName(r1.Exchanger, r2.Exchanger) { return false } return true @@ -406,7 +406,7 @@ func (r1 *LP) isDuplicate(_r2 RR) bool { if r1.Preference != r2.Preference { return false } - if !isDulicateName(r1.Fqdn, r2.Fqdn) { + if !isDuplicateName(r1.Fqdn, r2.Fqdn) { return false } return true @@ -418,7 +418,7 @@ func (r1 *MB) isDuplicate(_r2 RR) bool { return false } _ = r2 - if !isDulicateName(r1.Mb, r2.Mb) { + if !isDuplicateName(r1.Mb, r2.Mb) { return false } return true @@ -430,7 +430,7 @@ func (r1 *MD) isDuplicate(_r2 RR) bool { return false } _ = r2 - if !isDulicateName(r1.Md, r2.Md) { + if !isDuplicateName(r1.Md, r2.Md) { return false } return true @@ -442,7 +442,7 @@ func (r1 *MF) isDuplicate(_r2 RR) bool { return false } _ = r2 - if !isDulicateName(r1.Mf, r2.Mf) { + if !isDuplicateName(r1.Mf, r2.Mf) { return false } return true @@ -454,7 +454,7 @@ func (r1 *MG) isDuplicate(_r2 RR) bool { return false } _ = r2 - if !isDulicateName(r1.Mg, r2.Mg) { + if !isDuplicateName(r1.Mg, r2.Mg) { return false } return true @@ -466,10 +466,10 @@ func (r1 *MINFO) isDuplicate(_r2 RR) bool { return false } _ = r2 - if !isDulicateName(r1.Rmail, r2.Rmail) { + if !isDuplicateName(r1.Rmail, r2.Rmail) { return false } - if !isDulicateName(r1.Email, r2.Email) { + if !isDuplicateName(r1.Email, r2.Email) { return false } return true @@ -481,7 +481,7 @@ func (r1 *MR) isDuplicate(_r2 RR) bool { return false } _ = r2 - if !isDulicateName(r1.Mr, r2.Mr) { + if !isDuplicateName(r1.Mr, r2.Mr) { return false } return true @@ -496,7 +496,7 @@ func (r1 *MX) isDuplicate(_r2 RR) bool { if r1.Preference != r2.Preference { return false } - if !isDulicateName(r1.Mx, r2.Mx) { + if !isDuplicateName(r1.Mx, r2.Mx) { return false } return true @@ -523,7 +523,7 @@ func (r1 *NAPTR) isDuplicate(_r2 RR) bool { if r1.Regexp != r2.Regexp { return false } - if !isDulicateName(r1.Replacement, r2.Replacement) { + if !isDuplicateName(r1.Replacement, r2.Replacement) { return false } return true @@ -579,7 +579,7 @@ func (r1 *NS) isDuplicate(_r2 RR) bool { return false } _ = r2 - if !isDulicateName(r1.Ns, r2.Ns) { + if !isDuplicateName(r1.Ns, r2.Ns) { return false } return true @@ -591,7 +591,7 @@ func (r1 *NSAPPTR) isDuplicate(_r2 RR) bool { return false } _ = r2 - if !isDulicateName(r1.Ptr, r2.Ptr) { + if !isDuplicateName(r1.Ptr, r2.Ptr) { return false } return true @@ -603,7 +603,7 @@ func (r1 *NSEC) isDuplicate(_r2 RR) bool { return false } _ = r2 - if !isDulicateName(r1.NextDomain, r2.NextDomain) { + if !isDuplicateName(r1.NextDomain, r2.NextDomain) { return false } if len(r1.TypeBitMap) != len(r2.TypeBitMap) { @@ -709,7 +709,7 @@ func (r1 *PTR) isDuplicate(_r2 RR) bool { return false } _ = r2 - if !isDulicateName(r1.Ptr, r2.Ptr) { + if !isDuplicateName(r1.Ptr, r2.Ptr) { return false } return true @@ -724,10 +724,10 @@ func (r1 *PX) isDuplicate(_r2 RR) bool { if r1.Preference != r2.Preference { return false } - if !isDulicateName(r1.Map822, r2.Map822) { + if !isDuplicateName(r1.Map822, r2.Map822) { return false } - if !isDulicateName(r1.Mapx400, r2.Mapx400) { + if !isDuplicateName(r1.Mapx400, r2.Mapx400) { return false } return true @@ -772,10 +772,10 @@ func (r1 *RP) isDuplicate(_r2 RR) bool { return false } _ = r2 - if !isDulicateName(r1.Mbox, r2.Mbox) { + if !isDuplicateName(r1.Mbox, r2.Mbox) { return false } - if !isDulicateName(r1.Txt, r2.Txt) { + if !isDuplicateName(r1.Txt, r2.Txt) { return false } return true @@ -808,7 +808,7 @@ func (r1 *RRSIG) isDuplicate(_r2 RR) bool { if r1.KeyTag != r2.KeyTag { return false } - if !isDulicateName(r1.SignerName, r2.SignerName) { + if !isDuplicateName(r1.SignerName, r2.SignerName) { return false } if r1.Signature != r2.Signature { @@ -826,7 +826,7 @@ func (r1 *RT) isDuplicate(_r2 RR) bool { if r1.Preference != r2.Preference { return false } - if !isDulicateName(r1.Host, r2.Host) { + if !isDuplicateName(r1.Host, r2.Host) { return false } return true @@ -859,10 +859,10 @@ func (r1 *SOA) isDuplicate(_r2 RR) bool { return false } _ = r2 - if !isDulicateName(r1.Ns, r2.Ns) { + if !isDuplicateName(r1.Ns, r2.Ns) { return false } - if !isDulicateName(r1.Mbox, r2.Mbox) { + if !isDuplicateName(r1.Mbox, r2.Mbox) { return false } if r1.Serial != r2.Serial { @@ -915,7 +915,7 @@ func (r1 *SRV) isDuplicate(_r2 RR) bool { if r1.Port != r2.Port { return false } - if !isDulicateName(r1.Target, r2.Target) { + if !isDuplicateName(r1.Target, r2.Target) { return false } return true @@ -966,10 +966,10 @@ func (r1 *TALINK) isDuplicate(_r2 RR) bool { return false } _ = r2 - if !isDulicateName(r1.PreviousName, r2.PreviousName) { + if !isDuplicateName(r1.PreviousName, r2.PreviousName) { return false } - if !isDulicateName(r1.NextName, r2.NextName) { + if !isDuplicateName(r1.NextName, r2.NextName) { return false } return true @@ -981,7 +981,7 @@ func (r1 *TKEY) isDuplicate(_r2 RR) bool { return false } _ = r2 - if !isDulicateName(r1.Algorithm, r2.Algorithm) { + if !isDuplicateName(r1.Algorithm, r2.Algorithm) { return false } if r1.Inception != r2.Inception { @@ -1038,7 +1038,7 @@ func (r1 *TSIG) isDuplicate(_r2 RR) bool { return false } _ = r2 - if !isDulicateName(r1.Algorithm, r2.Algorithm) { + if !isDuplicateName(r1.Algorithm, r2.Algorithm) { return false } if r1.TimeSigned != r2.TimeSigned { diff --git a/vendor/github.com/miekg/dns/ztypes.go b/vendor/github.com/miekg/dns/ztypes.go index 19a542d3..f7ec8352 100644 --- a/vendor/github.com/miekg/dns/ztypes.go +++ b/vendor/github.com/miekg/dns/ztypes.go @@ -240,12 +240,16 @@ func (rr *X25) Header() *RR_Header { return &rr.Hdr } // len() functions func (rr *A) len(off int, compression map[string]struct{}) int { l := rr.Hdr.len(off, compression) - l += net.IPv4len // A + if len(rr.A) != 0 { + l += net.IPv4len + } return l } func (rr *AAAA) len(off int, compression map[string]struct{}) int { l := rr.Hdr.len(off, compression) - l += net.IPv6len // AAAA + if len(rr.AAAA) != 0 { + l += net.IPv6len + } return l } func (rr *AFSDB) len(off int, compression map[string]struct{}) int { @@ -308,12 +312,12 @@ func (rr *DS) len(off int, compression map[string]struct{}) int { l += 2 // KeyTag l++ // Algorithm l++ // DigestType - l += len(rr.Digest)/2 + 1 + l += len(rr.Digest) / 2 return l } func (rr *EID) len(off int, compression map[string]struct{}) int { l := rr.Hdr.len(off, compression) - l += len(rr.Endpoint)/2 + 1 + l += len(rr.Endpoint) / 2 return l } func (rr *EUI48) len(off int, compression map[string]struct{}) int { @@ -364,8 +368,10 @@ func (rr *KX) len(off int, compression map[string]struct{}) int { } func (rr *L32) len(off int, compression map[string]struct{}) int { l := rr.Hdr.len(off, compression) - l += 2 // Preference - l += net.IPv4len // Locator32 + l += 2 // Preference + if len(rr.Locator32) != 0 { + l += net.IPv4len + } return l } func (rr *L64) len(off int, compression map[string]struct{}) int { @@ -446,7 +452,7 @@ func (rr *NID) len(off int, compression map[string]struct{}) int { } func (rr *NIMLOC) len(off int, compression map[string]struct{}) int { l := rr.Hdr.len(off, compression) - l += len(rr.Locator)/2 + 1 + l += len(rr.Locator) / 2 return l } func (rr *NINFO) len(off int, compression map[string]struct{}) int { @@ -499,7 +505,7 @@ func (rr *PX) len(off int, compression map[string]struct{}) int { } func (rr *RFC3597) len(off int, compression map[string]struct{}) int { l := rr.Hdr.len(off, compression) - l += len(rr.Rdata)/2 + 1 + l += len(rr.Rdata) / 2 return l } func (rr *RKEY) len(off int, compression map[string]struct{}) int { @@ -540,7 +546,7 @@ func (rr *SMIMEA) len(off int, compression map[string]struct{}) int { l++ // Usage l++ // Selector l++ // MatchingType - l += len(rr.Certificate)/2 + 1 + l += len(rr.Certificate) / 2 return l } func (rr *SOA) len(off int, compression map[string]struct{}) int { @@ -573,7 +579,7 @@ func (rr *SSHFP) len(off int, compression map[string]struct{}) int { l := rr.Hdr.len(off, compression) l++ // Algorithm l++ // Type - l += len(rr.FingerPrint)/2 + 1 + l += len(rr.FingerPrint) / 2 return l } func (rr *TA) len(off int, compression map[string]struct{}) int { @@ -581,7 +587,7 @@ func (rr *TA) len(off int, compression map[string]struct{}) int { l += 2 // KeyTag l++ // Algorithm l++ // DigestType - l += len(rr.Digest)/2 + 1 + l += len(rr.Digest) / 2 return l } func (rr *TALINK) len(off int, compression map[string]struct{}) int { @@ -608,7 +614,7 @@ func (rr *TLSA) len(off int, compression map[string]struct{}) int { l++ // Usage l++ // Selector l++ // MatchingType - l += len(rr.Certificate)/2 + 1 + l += len(rr.Certificate) / 2 return l } func (rr *TSIG) len(off int, compression map[string]struct{}) int { diff --git a/vendor/github.com/pelletier/go-toml/.dockerignore b/vendor/github.com/pelletier/go-toml/.dockerignore new file mode 100644 index 00000000..7b588347 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/.dockerignore @@ -0,0 +1,2 @@ +cmd/tomll/tomll +cmd/tomljson/tomljson diff --git a/vendor/github.com/pelletier/go-toml/.gitignore b/vendor/github.com/pelletier/go-toml/.gitignore index 99e38bbc..e6ba63a5 100644 --- a/vendor/github.com/pelletier/go-toml/.gitignore +++ b/vendor/github.com/pelletier/go-toml/.gitignore @@ -1,2 +1,5 @@ test_program/test_program_bin fuzz/ +cmd/tomll/tomll +cmd/tomljson/tomljson +cmd/tomltestgen/tomltestgen diff --git a/vendor/github.com/pelletier/go-toml/.travis.yml b/vendor/github.com/pelletier/go-toml/.travis.yml index c9fbf304..abb03e99 100644 --- a/vendor/github.com/pelletier/go-toml/.travis.yml +++ b/vendor/github.com/pelletier/go-toml/.travis.yml @@ -1,23 +1,22 @@ sudo: false language: go go: - - 1.8.x - - 1.9.x - - 1.10.x + - 1.11.x + - 1.12.x - tip matrix: allow_failures: - go: tip fast_finish: true +env: + - GO111MODULE=on script: - if [ -n "$(go fmt ./...)" ]; then exit 1; fi - - ./test.sh + - go test github.com/pelletier/go-toml -race -coverprofile=coverage.txt -covermode=atomic + - go test github.com/pelletier/go-toml/cmd/tomljson + - go test github.com/pelletier/go-toml/cmd/tomll + - go test github.com/pelletier/go-toml/query - ./benchmark.sh $TRAVIS_BRANCH https://github.com/$TRAVIS_REPO_SLUG.git -before_install: - - go get github.com/axw/gocov/gocov - - go get github.com/mattn/goveralls - - if ! go get code.google.com/p/go.tools/cmd/cover; then go get golang.org/x/tools/cmd/cover; fi -branches: - only: [master] + after_success: - - $HOME/gopath/bin/goveralls -service=travis-ci -coverprofile=coverage.out -repotoken $COVERALLS_TOKEN + - bash <(curl -s https://codecov.io/bash) diff --git a/vendor/github.com/pelletier/go-toml/CONTRIBUTING.md b/vendor/github.com/pelletier/go-toml/CONTRIBUTING.md new file mode 100644 index 00000000..405c911c --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/CONTRIBUTING.md @@ -0,0 +1,132 @@ +## Contributing + +Thank you for your interest in go-toml! We appreciate you considering +contributing to go-toml! + +The main goal is the project is to provide an easy-to-use TOML +implementation for Go that gets the job done and gets out of your way – +dealing with TOML is probably not the central piece of your project. + +As the single maintainer of go-toml, time is scarce. All help, big or +small, is more than welcomed! + +### Ask questions + +Any question you may have, somebody else might have it too. Always feel +free to ask them on the [issues tracker][issues-tracker]. We will try to +answer them as clearly and quickly as possible, time permitting. + +Asking questions also helps us identify areas where the documentation needs +improvement, or new features that weren't envisioned before. Sometimes, a +seemingly innocent question leads to the fix of a bug. Don't hesitate and +ask away! + +### Improve the documentation + +The best way to share your knowledge and experience with go-toml is to +improve the documentation. Fix a typo, clarify an interface, add an +example, anything goes! + +The documentation is present in the [README][readme] and thorough the +source code. On release, it gets updated on [GoDoc][godoc]. To make a +change to the documentation, create a pull request with your proposed +changes. For simple changes like that, the easiest way to go is probably +the "Fork this project and edit the file" button on Github, displayed at +the top right of the file. Unless it's a trivial change (for example a +typo), provide a little bit of context in your pull request description or +commit message. + +### Report a bug + +Found a bug! Sorry to hear that :(. Help us and other track them down and +fix by reporting it. [File a new bug report][bug-report] on the [issues +tracker][issues-tracker]. The template should provide enough guidance on +what to include. When in doubt: add more details! By reducing ambiguity and +providing more information, it decreases back and forth and saves everyone +time. + +### Code changes + +Want to contribute a patch? Very happy to hear that! + +First, some high-level rules: + +* A short proposal with some POC code is better than a lengthy piece of + text with no code. Code speaks louder than words. +* No backward-incompatible patch will be accepted unless discussed. + Sometimes it's hard, and Go's lack of versioning by default does not + help, but we try not to break people's programs unless we absolutely have + to. +* If you are writing a new feature or extending an existing one, make sure + to write some documentation. +* Bug fixes need to be accompanied with regression tests. +* New code needs to be tested. +* Your commit messages need to explain why the change is needed, even if + already included in the PR description. + +It does sound like a lot, but those best practices are here to save time +overall and continuously improve the quality of the project, which is +something everyone benefits from. + +#### Get started + +The fairly standard code contribution process looks like that: + +1. [Fork the project][fork]. +2. Make your changes, commit on any branch you like. +3. [Open up a pull request][pull-request] +4. Review, potential ask for changes. +5. Merge. You're in! + +Feel free to ask for help! You can create draft pull requests to gather +some early feedback! + +#### Run the tests + +You can run tests for go-toml using Go's test tool: `go test ./...`. +When creating a pull requests, all tests will be ran on Linux on a few Go +versions (Travis CI), and on Windows using the latest Go version +(AppVeyor). + +#### Style + +Try to look around and follow the same format and structure as the rest of +the code. We enforce using `go fmt` on the whole code base. + +--- + +### Maintainers-only + +#### Merge pull request + +Checklist: + +* Passing CI. +* Does not introduce backward-incompatible changes (unless discussed). +* Has relevant doc changes. +* Has relevant unit tests. + +1. Merge using "squash and merge". +2. Make sure to edit the commit message to keep all the useful information + nice and clean. +3. Make sure the commit title is clear and contains the PR number (#123). + +#### New release + +1. Go to [releases][releases]. Click on "X commits to master since this + release". +2. Make note of all the changes. Look for backward incompatible changes, + new features, and bug fixes. +3. Pick the new version using the above and semver. +4. Create a [new release][new-release]. +5. Follow the same format as [1.1.0][release-110]. + +[issues-tracker]: https://github.com/pelletier/go-toml/issues +[bug-report]: https://github.com/pelletier/go-toml/issues/new?template=bug_report.md +[godoc]: https://godoc.org/github.com/pelletier/go-toml +[readme]: ./README.md +[fork]: https://help.github.com/articles/fork-a-repo +[pull-request]: https://help.github.com/en/articles/creating-a-pull-request +[releases]: https://github.com/pelletier/go-toml/releases +[new-release]: https://github.com/pelletier/go-toml/releases/new +[release-110]: https://github.com/pelletier/go-toml/releases/tag/v1.1.0 diff --git a/vendor/github.com/pelletier/go-toml/Dockerfile b/vendor/github.com/pelletier/go-toml/Dockerfile new file mode 100644 index 00000000..8f439d47 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/Dockerfile @@ -0,0 +1,10 @@ +FROM golang:1.12-alpine3.9 as builder +WORKDIR /go/src/github.com/pelletier/go-toml +COPY . . +ENV CGO_ENABLED=0 +ENV GOOS=linux +RUN go install ./... + +FROM scratch +COPY --from=builder /go/bin/tomll /usr/bin/tomll +COPY --from=builder /go/bin/tomljson /usr/bin/tomljson diff --git a/vendor/github.com/pelletier/go-toml/PULL_REQUEST_TEMPLATE.md b/vendor/github.com/pelletier/go-toml/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..041cdc4a --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,5 @@ +**Issue:** add link to pelletier/go-toml issue here + +Explanation of what this pull request does. + +More detailed description of the decisions being made and the reasons why (if the patch is non-trivial). diff --git a/vendor/github.com/pelletier/go-toml/README.md b/vendor/github.com/pelletier/go-toml/README.md index 0d357acf..f0311b99 100644 --- a/vendor/github.com/pelletier/go-toml/README.md +++ b/vendor/github.com/pelletier/go-toml/README.md @@ -8,8 +8,10 @@ This library supports TOML version [![GoDoc](https://godoc.org/github.com/pelletier/go-toml?status.svg)](http://godoc.org/github.com/pelletier/go-toml) [![license](https://img.shields.io/github/license/pelletier/go-toml.svg)](https://github.com/pelletier/go-toml/blob/master/LICENSE) [![Build Status](https://travis-ci.org/pelletier/go-toml.svg?branch=master)](https://travis-ci.org/pelletier/go-toml) -[![Coverage Status](https://coveralls.io/repos/github/pelletier/go-toml/badge.svg?branch=master)](https://coveralls.io/github/pelletier/go-toml?branch=master) +[![Windows Build status](https://ci.appveyor.com/api/projects/status/4aepwwjori266hkt/branch/master?svg=true)](https://ci.appveyor.com/project/pelletier/go-toml/branch/master) +[![codecov](https://codecov.io/gh/pelletier/go-toml/branch/master/graph/badge.svg)](https://codecov.io/gh/pelletier/go-toml) [![Go Report Card](https://goreportcard.com/badge/github.com/pelletier/go-toml)](https://goreportcard.com/report/github.com/pelletier/go-toml) +[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fpelletier%2Fgo-toml.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fpelletier%2Fgo-toml?ref=badge_shield) ## Features @@ -99,6 +101,23 @@ Go-toml provides two handy command line tools: tomljson --help ``` +### Docker image + +Those tools are also availble as a Docker image from +[dockerhub](https://hub.docker.com/r/pelletier/go-toml). For example, to +use `tomljson`: + +``` +docker run -v $PWD:/workdir pelletier/go-toml tomljson /workdir/example.toml +``` + +Only master (`latest`) and tagged versions are published to dockerhub. You +can build your own image as usual: + +``` +docker build -t go-toml . +``` + ## Contribute Feel free to report bugs and patches using GitHub's pull requests system on @@ -107,12 +126,7 @@ much appreciated! ### Run tests -You have to make sure two kind of tests run: - -1. The Go unit tests -2. The TOML examples base - -You can run both of them using `./test.sh`. +`go test ./...` ### Fuzzing diff --git a/vendor/github.com/pelletier/go-toml/appveyor.yml b/vendor/github.com/pelletier/go-toml/appveyor.yml new file mode 100644 index 00000000..40e8a415 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/appveyor.yml @@ -0,0 +1,34 @@ +version: "{build}" + +# Source Config +clone_folder: c:\gopath\src\github.com\pelletier\go-toml + +# Build host +environment: + GOPATH: c:\gopath + DEPTESTBYPASS501: 1 + GOVERSION: 1.12 + GO111MODULE: on + +init: + - git config --global core.autocrlf input + +# Build +install: + # Install the specific Go version. + - rmdir c:\go /s /q + - appveyor DownloadFile https://storage.googleapis.com/golang/go%GOVERSION%.windows-amd64.msi + - msiexec /i go%GOVERSION%.windows-amd64.msi /q + - choco install bzr + - set Path=c:\go\bin;c:\gopath\bin;C:\Program Files (x86)\Bazaar\;C:\Program Files\Mercurial\%Path% + - go version + - go env + +build: false +deploy: false + +test_script: + - go test github.com/pelletier/go-toml + - go test github.com/pelletier/go-toml/cmd/tomljson + - go test github.com/pelletier/go-toml/cmd/tomll + - go test github.com/pelletier/go-toml/query diff --git a/vendor/github.com/pelletier/go-toml/go.mod b/vendor/github.com/pelletier/go-toml/go.mod new file mode 100644 index 00000000..f4690e19 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/go.mod @@ -0,0 +1,9 @@ +module github.com/pelletier/go-toml + +go 1.12 + +require ( + github.com/BurntSushi/toml v0.3.1 + github.com/davecgh/go-spew v1.1.1 + gopkg.in/yaml.v2 v2.2.2 +) diff --git a/vendor/github.com/pelletier/go-toml/go.sum b/vendor/github.com/pelletier/go-toml/go.sum new file mode 100644 index 00000000..8d91a478 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/go.sum @@ -0,0 +1,7 @@ +github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/vendor/github.com/pelletier/go-toml/keysparsing.go b/vendor/github.com/pelletier/go-toml/keysparsing.go index 284db646..e923bc4f 100644 --- a/vendor/github.com/pelletier/go-toml/keysparsing.go +++ b/vendor/github.com/pelletier/go-toml/keysparsing.go @@ -3,79 +3,107 @@ package toml import ( - "bytes" "errors" "fmt" "unicode" ) // Convert the bare key group string to an array. -// The input supports double quotation to allow "." inside the key name, +// The input supports double quotation and single quotation, // but escape sequences are not supported. Lexers must unescape them beforehand. func parseKey(key string) ([]string, error) { - groups := []string{} - var buffer bytes.Buffer - inQuotes := false - wasInQuotes := false - ignoreSpace := true - expectDot := false + runes := []rune(key) + var groups []string - for _, char := range key { - if ignoreSpace { - if char == ' ' { - continue - } - ignoreSpace = false + if len(key) == 0 { + return nil, errors.New("empty key") + } + + idx := 0 + for idx < len(runes) { + for ; idx < len(runes) && isSpace(runes[idx]); idx++ { + // skip leading whitespace } - switch char { - case '"': - if inQuotes { - groups = append(groups, buffer.String()) - buffer.Reset() - wasInQuotes = true - } - inQuotes = !inQuotes - expectDot = false - case '.': - if inQuotes { - buffer.WriteRune(char) - } else { - if !wasInQuotes { - if buffer.Len() == 0 { - return nil, errors.New("empty table key") + if idx >= len(runes) { + break + } + r := runes[idx] + if isValidBareChar(r) { + // parse bare key + startIdx := idx + endIdx := -1 + idx++ + for idx < len(runes) { + r = runes[idx] + if isValidBareChar(r) { + idx++ + } else if r == '.' { + endIdx = idx + break + } else if isSpace(r) { + endIdx = idx + for ; idx < len(runes) && isSpace(runes[idx]); idx++ { + // skip trailing whitespace } - groups = append(groups, buffer.String()) - buffer.Reset() + if idx < len(runes) && runes[idx] != '.' { + return nil, fmt.Errorf("invalid key character after whitespace: %c", runes[idx]) + } + break + } else { + return nil, fmt.Errorf("invalid bare key character: %c", r) } - ignoreSpace = true - expectDot = false - wasInQuotes = false } - case ' ': - if inQuotes { - buffer.WriteRune(char) - } else { - expectDot = true + if endIdx == -1 { + endIdx = idx } - default: - if !inQuotes && !isValidBareChar(char) { - return nil, fmt.Errorf("invalid bare character: %c", char) + groups = append(groups, string(runes[startIdx:endIdx])) + } else if r == '\'' { + // parse single quoted key + idx++ + startIdx := idx + for { + if idx >= len(runes) { + return nil, fmt.Errorf("unclosed single-quoted key") + } + r = runes[idx] + if r == '\'' { + groups = append(groups, string(runes[startIdx:idx])) + idx++ + break + } + idx++ } - if !inQuotes && expectDot { - return nil, errors.New("what?") + } else if r == '"' { + // parse double quoted key + idx++ + startIdx := idx + for { + if idx >= len(runes) { + return nil, fmt.Errorf("unclosed double-quoted key") + } + r = runes[idx] + if r == '"' { + groups = append(groups, string(runes[startIdx:idx])) + idx++ + break + } + idx++ } - buffer.WriteRune(char) - expectDot = false + } else if r == '.' { + idx++ + if idx >= len(runes) { + return nil, fmt.Errorf("unexpected end of key") + } + r = runes[idx] + if !isValidBareChar(r) && r != '\'' && r != '"' && r != ' ' { + return nil, fmt.Errorf("expecting key part after dot") + } + } else { + return nil, fmt.Errorf("invalid key character: %c", r) } } - if inQuotes { - return nil, errors.New("mismatched quotes") - } - if buffer.Len() > 0 { - groups = append(groups, buffer.String()) - } if len(groups) == 0 { - return nil, errors.New("empty key") + return nil, fmt.Errorf("empty key") } return groups, nil } diff --git a/vendor/github.com/pelletier/go-toml/lexer.go b/vendor/github.com/pelletier/go-toml/lexer.go index d11de428..6254d390 100644 --- a/vendor/github.com/pelletier/go-toml/lexer.go +++ b/vendor/github.com/pelletier/go-toml/lexer.go @@ -309,7 +309,7 @@ func (l *tomlLexer) lexKey() tomlLexStateFn { if err != nil { return l.errorf(err.Error()) } - growingString += str + growingString += "\"" + str + "\"" l.next() continue } else if r == '\'' { @@ -318,13 +318,15 @@ func (l *tomlLexer) lexKey() tomlLexStateFn { if err != nil { return l.errorf(err.Error()) } - growingString += str + growingString += "'" + str + "'" l.next() continue } else if r == '\n' { return l.errorf("keys cannot contain new lines") } else if isSpace(r) { break + } else if r == '.' { + // skip } else if !isValidBareChar(r) { return l.errorf("keys cannot contain %c character", r) } diff --git a/vendor/github.com/pelletier/go-toml/marshal.go b/vendor/github.com/pelletier/go-toml/marshal.go index 671da556..0e1c57e8 100644 --- a/vendor/github.com/pelletier/go-toml/marshal.go +++ b/vendor/github.com/pelletier/go-toml/marshal.go @@ -6,20 +6,28 @@ import ( "fmt" "io" "reflect" + "sort" "strconv" "strings" "time" ) -const tagKeyMultiline = "multiline" +const ( + tagFieldName = "toml" + tagFieldComment = "comment" + tagCommented = "commented" + tagMultiline = "multiline" + tagDefault = "default" +) type tomlOpts struct { - name string - comment string - commented bool - multiline bool - include bool - omitempty bool + name string + comment string + commented bool + multiline bool + include bool + omitempty bool + defaultValue string } type encOpts struct { @@ -31,10 +39,37 @@ var encOptsDefaults = encOpts{ quoteMapKeys: false, } +type annotation struct { + tag string + comment string + commented string + multiline string + defaultValue string +} + +var annotationDefault = annotation{ + tag: tagFieldName, + comment: tagFieldComment, + commented: tagCommented, + multiline: tagMultiline, + defaultValue: tagDefault, +} + +type marshalOrder int + +// Orders the Encoder can write the fields to the output stream. +const ( + // Sort fields alphabetically. + OrderAlphabetical marshalOrder = iota + 1 + // Preserve the order the fields are encountered. For example, the order of fields in + // a struct. + OrderPreserve +) + var timeType = reflect.TypeOf(time.Time{}) var marshalerType = reflect.TypeOf(new(Marshaler)).Elem() -// Check if the given marshall type maps to a Tree primitive +// Check if the given marshal type maps to a Tree primitive func isPrimitive(mtype reflect.Type) bool { switch mtype.Kind() { case reflect.Ptr: @@ -56,7 +91,7 @@ func isPrimitive(mtype reflect.Type) bool { } } -// Check if the given marshall type maps to a Tree slice +// Check if the given marshal type maps to a Tree slice func isTreeSlice(mtype reflect.Type) bool { switch mtype.Kind() { case reflect.Slice: @@ -66,7 +101,7 @@ func isTreeSlice(mtype reflect.Type) bool { } } -// Check if the given marshall type maps to a non-Tree slice +// Check if the given marshal type maps to a non-Tree slice func isOtherSlice(mtype reflect.Type) bool { switch mtype.Kind() { case reflect.Ptr: @@ -78,7 +113,7 @@ func isOtherSlice(mtype reflect.Type) bool { } } -// Check if the given marshall type maps to a Tree +// Check if the given marshal type maps to a Tree func isTree(mtype reflect.Type) bool { switch mtype.Kind() { case reflect.Map: @@ -136,6 +171,8 @@ Tree primitive types and corresponding marshal types: string string, pointers to same bool bool, pointers to same time.Time time.Time{}, pointers to same + +For additional flexibility, use the Encoder API. */ func Marshal(v interface{}) ([]byte, error) { return NewEncoder(nil).marshal(v) @@ -145,13 +182,21 @@ func Marshal(v interface{}) ([]byte, error) { type Encoder struct { w io.Writer encOpts + annotation + line int + col int + order marshalOrder } // NewEncoder returns a new encoder that writes to w. func NewEncoder(w io.Writer) *Encoder { return &Encoder{ - w: w, - encOpts: encOptsDefaults, + w: w, + encOpts: encOptsDefaults, + annotation: annotationDefault, + line: 0, + col: 1, + order: OrderAlphabetical, } } @@ -197,11 +242,49 @@ func (e *Encoder) ArraysWithOneElementPerLine(v bool) *Encoder { return e } +// Order allows to change in which order fields will be written to the output stream. +func (e *Encoder) Order(ord marshalOrder) *Encoder { + e.order = ord + return e +} + +// SetTagName allows changing default tag "toml" +func (e *Encoder) SetTagName(v string) *Encoder { + e.tag = v + return e +} + +// SetTagComment allows changing default tag "comment" +func (e *Encoder) SetTagComment(v string) *Encoder { + e.comment = v + return e +} + +// SetTagCommented allows changing default tag "commented" +func (e *Encoder) SetTagCommented(v string) *Encoder { + e.commented = v + return e +} + +// SetTagMultiline allows changing default tag "multiline" +func (e *Encoder) SetTagMultiline(v string) *Encoder { + e.multiline = v + return e +} + func (e *Encoder) marshal(v interface{}) ([]byte, error) { mtype := reflect.TypeOf(v) - if mtype.Kind() != reflect.Struct { - return []byte{}, errors.New("Only a struct can be marshaled to TOML") + + switch mtype.Kind() { + case reflect.Struct, reflect.Map: + case reflect.Ptr: + if mtype.Elem().Kind() != reflect.Struct { + return []byte{}, errors.New("Only pointer to struct can be marshaled to TOML") + } + default: + return []byte{}, errors.New("Only a struct or map can be marshaled to TOML") } + sval := reflect.ValueOf(v) if isCustomMarshaler(mtype) { return callCustomMarshaler(sval) @@ -212,22 +295,27 @@ func (e *Encoder) marshal(v interface{}) ([]byte, error) { } var buf bytes.Buffer - _, err = t.writeTo(&buf, "", "", 0, e.arraysOneElementPerLine) + _, err = t.writeToOrdered(&buf, "", "", 0, e.arraysOneElementPerLine, e.order) return buf.Bytes(), err } +// Create next tree with a position based on Encoder.line +func (e *Encoder) nextTree() *Tree { + return newTreeWithPosition(Position{Line: e.line, Col: 1}) +} + // Convert given marshal struct or map value to toml tree func (e *Encoder) valueToTree(mtype reflect.Type, mval reflect.Value) (*Tree, error) { if mtype.Kind() == reflect.Ptr { return e.valueToTree(mtype.Elem(), mval.Elem()) } - tval := newTree() + tval := e.nextTree() switch mtype.Kind() { case reflect.Struct: for i := 0; i < mtype.NumField(); i++ { mtypef, mvalf := mtype.Field(i), mval.Field(i) - opts := tomlOptions(mtypef) + opts := tomlOptions(mtypef, e.annotation) if opts.include && (!opts.omitempty || !isZero(mvalf)) { val, err := e.valueToToml(mtypef.Type, mvalf) if err != nil { @@ -242,7 +330,26 @@ func (e *Encoder) valueToTree(mtype reflect.Type, mval reflect.Value) (*Tree, er } } case reflect.Map: - for _, key := range mval.MapKeys() { + keys := mval.MapKeys() + if e.order == OrderPreserve && len(keys) > 0 { + // Sorting []reflect.Value is not straight forward. + // + // OrderPreserve will support deterministic results when string is used + // as the key to maps. + typ := keys[0].Type() + kind := keys[0].Kind() + if kind == reflect.String { + ikeys := make([]string, len(keys)) + for i := range keys { + ikeys[i] = keys[i].Interface().(string) + } + sort.Strings(ikeys) + for i := range ikeys { + keys[i] = reflect.ValueOf(ikeys[i]).Convert(typ) + } + } + } + for _, key := range keys { mvalf := mval.MapIndex(key) val, err := e.valueToToml(mtype.Elem(), mvalf) if err != nil { @@ -290,6 +397,7 @@ func (e *Encoder) valueToOtherSlice(mtype reflect.Type, mval reflect.Value) (int // Convert given marshal value to toml value func (e *Encoder) valueToToml(mtype reflect.Type, mval reflect.Value) (interface{}, error) { + e.line++ if mtype.Kind() == reflect.Ptr { return e.valueToToml(mtype.Elem(), mval.Elem()) } @@ -307,6 +415,9 @@ func (e *Encoder) valueToToml(mtype reflect.Type, mval reflect.Value) (interface case reflect.Bool: return mval.Bool(), nil case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + if mtype.Kind() == reflect.Int64 && mtype == reflect.TypeOf(time.Duration(1)) { + return fmt.Sprint(mval), nil + } return mval.Int(), nil case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: return mval.Uint(), nil @@ -326,7 +437,7 @@ func (e *Encoder) valueToToml(mtype reflect.Type, mval reflect.Value) (interface // Neither Unmarshaler interfaces nor UnmarshalTOML functions are supported for // sub-structs, and only definite types can be unmarshaled. func (t *Tree) Unmarshal(v interface{}) error { - d := Decoder{tval: t} + d := Decoder{tval: t, tagName: tagFieldName} return d.unmarshal(v) } @@ -347,6 +458,14 @@ func (t *Tree) Marshal() ([]byte, error) { // The following struct annotations are supported: // // toml:"Field" Overrides the field's name to map to. +// default:"foo" Provides a default value. +// +// For default values, only fields of the following types are supported: +// * string +// * bool +// * int +// * int64 +// * float64 // // See Marshal() documentation for types mapping table. func Unmarshal(data []byte, v interface{}) error { @@ -362,6 +481,7 @@ type Decoder struct { r io.Reader tval *Tree encOpts + tagName string } // NewDecoder returns a new decoder that reads from r. @@ -369,6 +489,7 @@ func NewDecoder(r io.Reader) *Decoder { return &Decoder{ r: r, encOpts: encOptsDefaults, + tagName: tagFieldName, } } @@ -385,13 +506,27 @@ func (d *Decoder) Decode(v interface{}) error { return d.unmarshal(v) } +// SetTagName allows changing default tag "toml" +func (d *Decoder) SetTagName(v string) *Decoder { + d.tagName = v + return d +} + func (d *Decoder) unmarshal(v interface{}) error { mtype := reflect.TypeOf(v) - if mtype.Kind() != reflect.Ptr || mtype.Elem().Kind() != reflect.Struct { - return errors.New("Only a pointer to struct can be unmarshaled from TOML") + if mtype.Kind() != reflect.Ptr { + return errors.New("only a pointer to struct or map can be unmarshaled from TOML") } - sval, err := d.valueFromTree(mtype.Elem(), d.tval) + elem := mtype.Elem() + + switch elem.Kind() { + case reflect.Struct, reflect.Map: + default: + return errors.New("only a pointer to struct or map can be unmarshaled from TOML") + } + + sval, err := d.valueFromTree(elem, d.tval) if err != nil { return err } @@ -410,10 +545,18 @@ func (d *Decoder) valueFromTree(mtype reflect.Type, tval *Tree) (reflect.Value, mval = reflect.New(mtype).Elem() for i := 0; i < mtype.NumField(); i++ { mtypef := mtype.Field(i) - opts := tomlOptions(mtypef) + an := annotation{tag: d.tagName} + opts := tomlOptions(mtypef, an) if opts.include { baseKey := opts.name - keysToTry := []string{baseKey, strings.ToLower(baseKey), strings.ToTitle(baseKey)} + keysToTry := []string{ + baseKey, + strings.ToLower(baseKey), + strings.ToTitle(baseKey), + strings.ToLower(string(baseKey[0])) + baseKey[1:], + } + + found := false for _, key := range keysToTry { exists := tval.Has(key) if !exists { @@ -425,8 +568,42 @@ func (d *Decoder) valueFromTree(mtype reflect.Type, tval *Tree) (reflect.Value, return mval, formatError(err, tval.GetPosition(key)) } mval.Field(i).Set(mvalf) + found = true break } + + if !found && opts.defaultValue != "" { + mvalf := mval.Field(i) + var val interface{} + var err error + switch mvalf.Kind() { + case reflect.Bool: + val, err = strconv.ParseBool(opts.defaultValue) + if err != nil { + return mval.Field(i), err + } + case reflect.Int: + val, err = strconv.Atoi(opts.defaultValue) + if err != nil { + return mval.Field(i), err + } + case reflect.String: + val = opts.defaultValue + case reflect.Int64: + val, err = strconv.ParseInt(opts.defaultValue, 10, 64) + if err != nil { + return mval.Field(i), err + } + case reflect.Float64: + val, err = strconv.ParseFloat(opts.defaultValue, 64) + if err != nil { + return mval.Field(i), err + } + default: + return mval.Field(i), fmt.Errorf("unsuported field type for default option") + } + mval.Field(i).Set(reflect.ValueOf(val)) + } } } case reflect.Map: @@ -438,7 +615,7 @@ func (d *Decoder) valueFromTree(mtype reflect.Type, tval *Tree) (reflect.Value, if err != nil { return mval, formatError(err, tval.GetPosition(key)) } - mval.SetMapIndex(reflect.ValueOf(key), mvalf) + mval.SetMapIndex(reflect.ValueOf(key).Convert(mtype.Key()), mvalf) } } return mval, nil @@ -476,20 +653,20 @@ func (d *Decoder) valueFromToml(mtype reflect.Type, tval interface{}) (reflect.V return d.unwrapPointer(mtype, tval) } - switch tval.(type) { + switch t := tval.(type) { case *Tree: if isTree(mtype) { - return d.valueFromTree(mtype, tval.(*Tree)) + return d.valueFromTree(mtype, t) } return reflect.ValueOf(nil), fmt.Errorf("Can't convert %v(%T) to a tree", tval, tval) case []*Tree: if isTreeSlice(mtype) { - return d.valueFromTreeSlice(mtype, tval.([]*Tree)) + return d.valueFromTreeSlice(mtype, t) } return reflect.ValueOf(nil), fmt.Errorf("Can't convert %v(%T) to trees", tval, tval) case []interface{}: if isOtherSlice(mtype) { - return d.valueFromOtherSlice(mtype, tval.([]interface{})) + return d.valueFromOtherSlice(mtype, t) } return reflect.ValueOf(nil), fmt.Errorf("Can't convert %v(%T) to a slice", tval, tval) default: @@ -512,10 +689,17 @@ func (d *Decoder) valueFromToml(mtype reflect.Type, tval interface{}) (reflect.V return val.Convert(mtype), nil case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: val := reflect.ValueOf(tval) + if mtype.Kind() == reflect.Int64 && mtype == reflect.TypeOf(time.Duration(1)) && val.Kind() == reflect.String { + d, err := time.ParseDuration(val.String()) + if err != nil { + return reflect.ValueOf(nil), fmt.Errorf("Can't convert %v(%T) to %v. %s", tval, tval, mtype.String(), err) + } + return reflect.ValueOf(d), nil + } if !val.Type().ConvertibleTo(mtype) { return reflect.ValueOf(nil), fmt.Errorf("Can't convert %v(%T) to %v", tval, tval, mtype.String()) } - if reflect.Indirect(reflect.New(mtype)).OverflowInt(val.Int()) { + if reflect.Indirect(reflect.New(mtype)).OverflowInt(val.Convert(mtype).Int()) { return reflect.ValueOf(nil), fmt.Errorf("%v(%T) would overflow %v", tval, tval, mtype.String()) } @@ -525,10 +709,11 @@ func (d *Decoder) valueFromToml(mtype reflect.Type, tval interface{}) (reflect.V if !val.Type().ConvertibleTo(mtype) { return reflect.ValueOf(nil), fmt.Errorf("Can't convert %v(%T) to %v", tval, tval, mtype.String()) } - if val.Int() < 0 { + + if val.Convert(reflect.TypeOf(int(1))).Int() < 0 { return reflect.ValueOf(nil), fmt.Errorf("%v(%T) is negative so does not fit in %v", tval, tval, mtype.String()) } - if reflect.Indirect(reflect.New(mtype)).OverflowUint(uint64(val.Int())) { + if reflect.Indirect(reflect.New(mtype)).OverflowUint(uint64(val.Convert(mtype).Uint())) { return reflect.ValueOf(nil), fmt.Errorf("%v(%T) would overflow %v", tval, tval, mtype.String()) } @@ -538,7 +723,7 @@ func (d *Decoder) valueFromToml(mtype reflect.Type, tval interface{}) (reflect.V if !val.Type().ConvertibleTo(mtype) { return reflect.ValueOf(nil), fmt.Errorf("Can't convert %v(%T) to %v", tval, tval, mtype.String()) } - if reflect.Indirect(reflect.New(mtype)).OverflowFloat(val.Float()) { + if reflect.Indirect(reflect.New(mtype)).OverflowFloat(val.Convert(mtype).Float()) { return reflect.ValueOf(nil), fmt.Errorf("%v(%T) would overflow %v", tval, tval, mtype.String()) } @@ -559,16 +744,25 @@ func (d *Decoder) unwrapPointer(mtype reflect.Type, tval interface{}) (reflect.V return mval, nil } -func tomlOptions(vf reflect.StructField) tomlOpts { - tag := vf.Tag.Get("toml") +func tomlOptions(vf reflect.StructField, an annotation) tomlOpts { + tag := vf.Tag.Get(an.tag) parse := strings.Split(tag, ",") var comment string - if c := vf.Tag.Get("comment"); c != "" { + if c := vf.Tag.Get(an.comment); c != "" { comment = c } - commented, _ := strconv.ParseBool(vf.Tag.Get("commented")) - multiline, _ := strconv.ParseBool(vf.Tag.Get(tagKeyMultiline)) - result := tomlOpts{name: vf.Name, comment: comment, commented: commented, multiline: multiline, include: true, omitempty: false} + commented, _ := strconv.ParseBool(vf.Tag.Get(an.commented)) + multiline, _ := strconv.ParseBool(vf.Tag.Get(an.multiline)) + defaultValue := vf.Tag.Get(tagDefault) + result := tomlOpts{ + name: vf.Name, + comment: comment, + commented: commented, + multiline: multiline, + include: true, + omitempty: false, + defaultValue: defaultValue, + } if parse[0] != "" { if parse[0] == "-" && len(parse) == 1 { result.include = false diff --git a/vendor/github.com/pelletier/go-toml/marshal_OrderPreserve_Map_test.toml b/vendor/github.com/pelletier/go-toml/marshal_OrderPreserve_Map_test.toml new file mode 100644 index 00000000..a3bd5130 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/marshal_OrderPreserve_Map_test.toml @@ -0,0 +1,17 @@ +title = "TOML Marshal Testing" + +[basic_map] + one = "one" + two = "two" + +[long_map] + a7 = "1" + b3 = "2" + c8 = "3" + d4 = "4" + e6 = "5" + f5 = "6" + g10 = "7" + h1 = "8" + i2 = "9" + j9 = "10" diff --git a/vendor/github.com/pelletier/go-toml/marshal_OrderPreserve_test.toml b/vendor/github.com/pelletier/go-toml/marshal_OrderPreserve_test.toml new file mode 100644 index 00000000..9d68b599 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/marshal_OrderPreserve_test.toml @@ -0,0 +1,38 @@ +title = "TOML Marshal Testing" + +[basic_lists] + floats = [12.3,45.6,78.9] + bools = [true,false,true] + dates = [1979-05-27T07:32:00Z,1980-05-27T07:32:00Z] + ints = [8001,8001,8002] + uints = [5002,5003] + strings = ["One","Two","Three"] + +[[subdocptrs]] + name = "Second" + +[basic_map] + one = "one" + two = "two" + +[subdoc] + + [subdoc.second] + name = "Second" + + [subdoc.first] + name = "First" + +[basic] + uint = 5001 + bool = true + float = 123.4 + int = 5000 + string = "Bite me" + date = 1979-05-27T07:32:00Z + +[[subdoclist]] + name = "List.First" + +[[subdoclist]] + name = "List.Second" diff --git a/vendor/github.com/pelletier/go-toml/parser.go b/vendor/github.com/pelletier/go-toml/parser.go index 2d27599a..a7498e49 100644 --- a/vendor/github.com/pelletier/go-toml/parser.go +++ b/vendor/github.com/pelletier/go-toml/parser.go @@ -77,8 +77,10 @@ func (p *tomlParser) parseStart() tomlParserStateFn { return p.parseAssign case tokenEOF: return nil + case tokenError: + p.raiseError(tok, "parsing error: %s", tok.String()) default: - p.raiseError(tok, "unexpected token") + p.raiseError(tok, "unexpected token %s", tok.typ) } return nil } @@ -165,6 +167,11 @@ func (p *tomlParser) parseAssign() tomlParserStateFn { key := p.getToken() p.assume(tokenEqual) + parsedKey, err := parseKey(key.val) + if err != nil { + p.raiseError(key, "invalid key: %s", err.Error()) + } + value := p.parseRvalue() var tableKey []string if len(p.currentTable) > 0 { @@ -173,6 +180,9 @@ func (p *tomlParser) parseAssign() tomlParserStateFn { tableKey = []string{} } + prefixKey := parsedKey[0 : len(parsedKey)-1] + tableKey = append(tableKey, prefixKey...) + // find the table to assign, looking out for arrays of tables var targetNode *Tree switch node := p.tree.GetPath(tableKey).(type) { @@ -180,17 +190,19 @@ func (p *tomlParser) parseAssign() tomlParserStateFn { targetNode = node[len(node)-1] case *Tree: targetNode = node + case nil: + // create intermediate + if err := p.tree.createSubTree(tableKey, key.Position); err != nil { + p.raiseError(key, "could not create intermediate group: %s", err) + } + targetNode = p.tree.GetPath(tableKey).(*Tree) default: p.raiseError(key, "Unknown table type for path: %s", strings.Join(tableKey, ".")) } // assign value to the found table - keyVals := []string{key.val} - if len(keyVals) != 1 { - p.raiseError(key, "Invalid key") - } - keyVal := keyVals[0] + keyVal := parsedKey[len(parsedKey)-1] localKey := []string{keyVal} finalKey := append(tableKey, keyVal) if targetNode.GetPath(localKey) != nil { @@ -338,7 +350,7 @@ Loop: case tokenRightCurlyBrace: p.getToken() break Loop - case tokenKey: + case tokenKey, tokenInteger, tokenString: if !tokenIsComma(previous) && previous != nil { p.raiseError(follow, "comma expected between fields in inline table") } diff --git a/vendor/github.com/pelletier/go-toml/test.sh b/vendor/github.com/pelletier/go-toml/test.sh deleted file mode 100644 index ba6adf3f..00000000 --- a/vendor/github.com/pelletier/go-toml/test.sh +++ /dev/null @@ -1,88 +0,0 @@ -#!/bin/bash -# fail out of the script if anything here fails -set -e -set -o pipefail - -# set the path to the present working directory -export GOPATH=`pwd` - -function git_clone() { - path=$1 - branch=$2 - version=$3 - if [ ! -d "src/$path" ]; then - mkdir -p src/$path - git clone https://$path.git src/$path - fi - pushd src/$path - git checkout "$branch" - git reset --hard "$version" - popd -} - -# Remove potential previous runs -rm -rf src test_program_bin toml-test - -go get github.com/pelletier/go-buffruneio -go get github.com/davecgh/go-spew/spew -go get gopkg.in/yaml.v2 -go get github.com/BurntSushi/toml - -# get code for BurntSushi TOML validation -# pinning all to 'HEAD' for version 0.3.x work (TODO: pin to commit hash when tests stabilize) -git_clone github.com/BurntSushi/toml master HEAD -git_clone github.com/BurntSushi/toml-test master HEAD #was: 0.2.0 HEAD - -# build the BurntSushi test application -go build -o toml-test github.com/BurntSushi/toml-test - -# vendorize the current lib for testing -# NOTE: this basically mocks an install without having to go back out to github for code -mkdir -p src/github.com/pelletier/go-toml/cmd -mkdir -p src/github.com/pelletier/go-toml/query -cp *.go *.toml src/github.com/pelletier/go-toml -cp -R cmd/* src/github.com/pelletier/go-toml/cmd -cp -R query/* src/github.com/pelletier/go-toml/query -go build -o test_program_bin src/github.com/pelletier/go-toml/cmd/test_program.go - -# Run basic unit tests -go test github.com/pelletier/go-toml -covermode=count -coverprofile=coverage.out -go test github.com/pelletier/go-toml/cmd/tomljson -go test github.com/pelletier/go-toml/query - -# run the entire BurntSushi test suite -if [[ $# -eq 0 ]] ; then - echo "Running all BurntSushi tests" - ./toml-test ./test_program_bin | tee test_out -else - # run a specific test - test=$1 - test_path='src/github.com/BurntSushi/toml-test/tests' - valid_test="$test_path/valid/$test" - invalid_test="$test_path/invalid/$test" - - if [ -e "$valid_test.toml" ]; then - echo "Valid Test TOML for $test:" - echo "====" - cat "$valid_test.toml" - - echo "Valid Test JSON for $test:" - echo "====" - cat "$valid_test.json" - - echo "Go-TOML Output for $test:" - echo "====" - cat "$valid_test.toml" | ./test_program_bin - fi - - if [ -e "$invalid_test.toml" ]; then - echo "Invalid Test TOML for $test:" - echo "====" - cat "$invalid_test.toml" - - echo "Go-TOML Output for $test:" - echo "====" - echo "go-toml Output:" - cat "$invalid_test.toml" | ./test_program_bin - fi -fi diff --git a/vendor/github.com/pelletier/go-toml/toml.go b/vendor/github.com/pelletier/go-toml/toml.go index 98c185ad..358a9be5 100644 --- a/vendor/github.com/pelletier/go-toml/toml.go +++ b/vendor/github.com/pelletier/go-toml/toml.go @@ -27,9 +27,13 @@ type Tree struct { } func newTree() *Tree { + return newTreeWithPosition(Position{}) +} + +func newTreeWithPosition(pos Position) *Tree { return &Tree{ values: make(map[string]interface{}), - position: Position{}, + position: pos, } } @@ -194,10 +198,10 @@ func (t *Tree) SetWithOptions(key string, opts SetOptions, value interface{}) { // formatting instructions to the key, that will be reused by Marshal(). func (t *Tree) SetPathWithOptions(keys []string, opts SetOptions, value interface{}) { subtree := t - for _, intermediateKey := range keys[:len(keys)-1] { + for i, intermediateKey := range keys[:len(keys)-1] { nextTree, exists := subtree.values[intermediateKey] if !exists { - nextTree = newTree() + nextTree = newTreeWithPosition(Position{Line: t.position.Line + i, Col: t.position.Col}) subtree.values[intermediateKey] = nextTree // add new element here } switch node := nextTree.(type) { @@ -207,7 +211,7 @@ func (t *Tree) SetPathWithOptions(keys []string, opts SetOptions, value interfac // go to most recent element if len(node) == 0 { // create element if it does not exist - subtree.values[intermediateKey] = append(node, newTree()) + subtree.values[intermediateKey] = append(node, newTreeWithPosition(Position{Line: t.position.Line + i, Col: t.position.Col})) } subtree = node[len(node)-1] } @@ -215,19 +219,21 @@ func (t *Tree) SetPathWithOptions(keys []string, opts SetOptions, value interfac var toInsert interface{} - switch value.(type) { + switch v := value.(type) { case *Tree: - tt := value.(*Tree) - tt.comment = opts.Comment + v.comment = opts.Comment toInsert = value case []*Tree: toInsert = value case *tomlValue: - tt := value.(*tomlValue) - tt.comment = opts.Comment - toInsert = tt + v.comment = opts.Comment + toInsert = v default: - toInsert = &tomlValue{value: value, comment: opts.Comment, commented: opts.Commented, multiline: opts.Multiline} + toInsert = &tomlValue{value: value, + comment: opts.Comment, + commented: opts.Commented, + multiline: opts.Multiline, + position: Position{Line: subtree.position.Line + len(subtree.values) + 1, Col: subtree.position.Col}} } subtree.values[keys[len(keys)-1]] = toInsert @@ -256,44 +262,35 @@ func (t *Tree) SetPath(keys []string, value interface{}) { // SetPathWithComment is the same as SetPath, but allows you to provide comment // information to the key, that will be reused by Marshal(). func (t *Tree) SetPathWithComment(keys []string, comment string, commented bool, value interface{}) { - subtree := t - for _, intermediateKey := range keys[:len(keys)-1] { - nextTree, exists := subtree.values[intermediateKey] - if !exists { - nextTree = newTree() - subtree.values[intermediateKey] = nextTree // add new element here - } - switch node := nextTree.(type) { - case *Tree: - subtree = node - case []*Tree: - // go to most recent element - if len(node) == 0 { - // create element if it does not exist - subtree.values[intermediateKey] = append(node, newTree()) - } - subtree = node[len(node)-1] - } + t.SetPathWithOptions(keys, SetOptions{Comment: comment, Commented: commented}, value) +} + +// Delete removes a key from the tree. +// Key is a dot-separated path (e.g. a.b.c). +func (t *Tree) Delete(key string) error { + keys, err := parseKey(key) + if err != nil { + return err } + return t.DeletePath(keys) +} - var toInsert interface{} - - switch value.(type) { +// DeletePath removes a key from the tree. +// Keys is an array of path elements (e.g. {"a","b","c"}). +func (t *Tree) DeletePath(keys []string) error { + keyLen := len(keys) + if keyLen == 1 { + delete(t.values, keys[0]) + return nil + } + tree := t.GetPath(keys[:keyLen-1]) + item := keys[keyLen-1] + switch node := tree.(type) { case *Tree: - tt := value.(*Tree) - tt.comment = comment - toInsert = value - case []*Tree: - toInsert = value - case *tomlValue: - tt := value.(*tomlValue) - tt.comment = comment - toInsert = tt - default: - toInsert = &tomlValue{value: value, comment: comment, commented: commented} + delete(node.values, item) + return nil } - - subtree.values[keys[len(keys)-1]] = toInsert + return errors.New("no such key to delete") } // createSubTree takes a tree and a key and create the necessary intermediate @@ -305,10 +302,10 @@ func (t *Tree) SetPathWithComment(keys []string, comment string, commented bool, // Returns nil on success, error object on failure func (t *Tree) createSubTree(keys []string, pos Position) error { subtree := t - for _, intermediateKey := range keys { + for i, intermediateKey := range keys { nextTree, exists := subtree.values[intermediateKey] if !exists { - tree := newTree() + tree := newTreeWithPosition(Position{Line: t.position.Line + i, Col: t.position.Col}) tree.position = pos subtree.values[intermediateKey] = tree nextTree = tree @@ -337,10 +334,39 @@ func LoadBytes(b []byte) (tree *Tree, err error) { err = errors.New(r.(string)) } }() + + if len(b) >= 4 && (hasUTF32BigEndianBOM4(b) || hasUTF32LittleEndianBOM4(b)) { + b = b[4:] + } else if len(b) >= 3 && hasUTF8BOM3(b) { + b = b[3:] + } else if len(b) >= 2 && (hasUTF16BigEndianBOM2(b) || hasUTF16LittleEndianBOM2(b)) { + b = b[2:] + } + tree = parseToml(lexToml(b)) return } +func hasUTF16BigEndianBOM2(b []byte) bool { + return b[0] == 0xFE && b[1] == 0xFF +} + +func hasUTF16LittleEndianBOM2(b []byte) bool { + return b[0] == 0xFF && b[1] == 0xFE +} + +func hasUTF8BOM3(b []byte) bool { + return b[0] == 0xEF && b[1] == 0xBB && b[2] == 0xBF +} + +func hasUTF32BigEndianBOM4(b []byte) bool { + return b[0] == 0x00 && b[1] == 0x00 && b[2] == 0xFE && b[3] == 0xFF +} + +func hasUTF32LittleEndianBOM4(b []byte) bool { + return b[0] == 0xFF && b[1] == 0xFE && b[2] == 0x00 && b[3] == 0x00 +} + // LoadReader creates a Tree from any io.Reader. func LoadReader(reader io.Reader) (tree *Tree, err error) { inputBytes, err := ioutil.ReadAll(reader) diff --git a/vendor/github.com/pelletier/go-toml/tomltree_write.go b/vendor/github.com/pelletier/go-toml/tomltree_write.go index e4049e29..198d5ac1 100644 --- a/vendor/github.com/pelletier/go-toml/tomltree_write.go +++ b/vendor/github.com/pelletier/go-toml/tomltree_write.go @@ -12,6 +12,18 @@ import ( "time" ) +type valueComplexity int + +const ( + valueSimple valueComplexity = iota + 1 + valueComplex +) + +type sortNode struct { + key string + complexity valueComplexity +} + // Encodes a string to a TOML-compliant multi-line string value // This function is a clone of the existing encodeTomlString function, except that whitespace characters // are preserved. Quotation marks and backslashes are also not escaped. @@ -153,111 +165,200 @@ func tomlValueStringRepresentation(v interface{}, indent string, arraysOneElemen return "", fmt.Errorf("unsupported value type %T: %v", v, v) } -func (t *Tree) writeTo(w io.Writer, indent, keyspace string, bytesCount int64, arraysOneElementPerLine bool) (int64, error) { - simpleValuesKeys := make([]string, 0) - complexValuesKeys := make([]string, 0) +func getTreeArrayLine(trees []*Tree) (line int) { + // get lowest line number that is not 0 + for _, tv := range trees { + if tv.position.Line < line || line == 0 { + line = tv.position.Line + } + } + return +} + +func sortByLines(t *Tree) (vals []sortNode) { + var ( + line int + lines []int + tv *Tree + tom *tomlValue + node sortNode + ) + vals = make([]sortNode, 0) + m := make(map[int]sortNode) + + for k := range t.values { + v := t.values[k] + switch v.(type) { + case *Tree: + tv = v.(*Tree) + line = tv.position.Line + node = sortNode{key: k, complexity: valueComplex} + case []*Tree: + line = getTreeArrayLine(v.([]*Tree)) + node = sortNode{key: k, complexity: valueComplex} + default: + tom = v.(*tomlValue) + line = tom.position.Line + node = sortNode{key: k, complexity: valueSimple} + } + lines = append(lines, line) + vals = append(vals, node) + m[line] = node + } + sort.Ints(lines) + + for i, line := range lines { + vals[i] = m[line] + } + + return vals +} + +func sortAlphabetical(t *Tree) (vals []sortNode) { + var ( + node sortNode + simpVals []string + compVals []string + ) + vals = make([]sortNode, 0) + m := make(map[string]sortNode) for k := range t.values { v := t.values[k] switch v.(type) { case *Tree, []*Tree: - complexValuesKeys = append(complexValuesKeys, k) + node = sortNode{key: k, complexity: valueComplex} + compVals = append(compVals, node.key) default: - simpleValuesKeys = append(simpleValuesKeys, k) + node = sortNode{key: k, complexity: valueSimple} + simpVals = append(simpVals, node.key) } + vals = append(vals, node) + m[node.key] = node } - sort.Strings(simpleValuesKeys) - sort.Strings(complexValuesKeys) - - for _, k := range simpleValuesKeys { - v, ok := t.values[k].(*tomlValue) - if !ok { - return bytesCount, fmt.Errorf("invalid value type at %s: %T", k, t.values[k]) - } - - repr, err := tomlValueStringRepresentation(v, indent, arraysOneElementPerLine) - if err != nil { - return bytesCount, err - } - - if v.comment != "" { - comment := strings.Replace(v.comment, "\n", "\n"+indent+"#", -1) - start := "# " - if strings.HasPrefix(comment, "#") { - start = "" - } - writtenBytesCountComment, errc := writeStrings(w, "\n", indent, start, comment, "\n") - bytesCount += int64(writtenBytesCountComment) - if errc != nil { - return bytesCount, errc - } - } - - var commented string - if v.commented { - commented = "# " - } - writtenBytesCount, err := writeStrings(w, indent, commented, k, " = ", repr, "\n") - bytesCount += int64(writtenBytesCount) - if err != nil { - return bytesCount, err - } + // Simples first to match previous implementation + sort.Strings(simpVals) + i := 0 + for _, key := range simpVals { + vals[i] = m[key] + i++ } - for _, k := range complexValuesKeys { - v := t.values[k] + sort.Strings(compVals) + for _, key := range compVals { + vals[i] = m[key] + i++ + } - combinedKey := k - if keyspace != "" { - combinedKey = keyspace + "." + combinedKey - } - var commented string - if t.commented { - commented = "# " - } + return vals +} - switch node := v.(type) { - // node has to be of those two types given how keys are sorted above - case *Tree: - tv, ok := t.values[k].(*Tree) +func (t *Tree) writeTo(w io.Writer, indent, keyspace string, bytesCount int64, arraysOneElementPerLine bool) (int64, error) { + return t.writeToOrdered(w, indent, keyspace, bytesCount, arraysOneElementPerLine, OrderAlphabetical) +} + +func (t *Tree) writeToOrdered(w io.Writer, indent, keyspace string, bytesCount int64, arraysOneElementPerLine bool, ord marshalOrder) (int64, error) { + var orderedVals []sortNode + + switch ord { + case OrderPreserve: + orderedVals = sortByLines(t) + default: + orderedVals = sortAlphabetical(t) + } + + for _, node := range orderedVals { + switch node.complexity { + case valueComplex: + k := node.key + v := t.values[k] + + combinedKey := k + if keyspace != "" { + combinedKey = keyspace + "." + combinedKey + } + var commented string + if t.commented { + commented = "# " + } + + switch node := v.(type) { + // node has to be of those two types given how keys are sorted above + case *Tree: + tv, ok := t.values[k].(*Tree) + if !ok { + return bytesCount, fmt.Errorf("invalid value type at %s: %T", k, t.values[k]) + } + if tv.comment != "" { + comment := strings.Replace(tv.comment, "\n", "\n"+indent+"#", -1) + start := "# " + if strings.HasPrefix(comment, "#") { + start = "" + } + writtenBytesCountComment, errc := writeStrings(w, "\n", indent, start, comment) + bytesCount += int64(writtenBytesCountComment) + if errc != nil { + return bytesCount, errc + } + } + writtenBytesCount, err := writeStrings(w, "\n", indent, commented, "[", combinedKey, "]\n") + bytesCount += int64(writtenBytesCount) + if err != nil { + return bytesCount, err + } + bytesCount, err = node.writeToOrdered(w, indent+" ", combinedKey, bytesCount, arraysOneElementPerLine, ord) + if err != nil { + return bytesCount, err + } + case []*Tree: + for _, subTree := range node { + writtenBytesCount, err := writeStrings(w, "\n", indent, commented, "[[", combinedKey, "]]\n") + bytesCount += int64(writtenBytesCount) + if err != nil { + return bytesCount, err + } + + bytesCount, err = subTree.writeToOrdered(w, indent+" ", combinedKey, bytesCount, arraysOneElementPerLine, ord) + if err != nil { + return bytesCount, err + } + } + } + default: // Simple + k := node.key + v, ok := t.values[k].(*tomlValue) if !ok { return bytesCount, fmt.Errorf("invalid value type at %s: %T", k, t.values[k]) } - if tv.comment != "" { - comment := strings.Replace(tv.comment, "\n", "\n"+indent+"#", -1) + + repr, err := tomlValueStringRepresentation(v, indent, arraysOneElementPerLine) + if err != nil { + return bytesCount, err + } + + if v.comment != "" { + comment := strings.Replace(v.comment, "\n", "\n"+indent+"#", -1) start := "# " if strings.HasPrefix(comment, "#") { start = "" } - writtenBytesCountComment, errc := writeStrings(w, "\n", indent, start, comment) + writtenBytesCountComment, errc := writeStrings(w, "\n", indent, start, comment, "\n") bytesCount += int64(writtenBytesCountComment) if errc != nil { return bytesCount, errc } } - writtenBytesCount, err := writeStrings(w, "\n", indent, commented, "[", combinedKey, "]\n") + + var commented string + if v.commented { + commented = "# " + } + writtenBytesCount, err := writeStrings(w, indent, commented, k, " = ", repr, "\n") bytesCount += int64(writtenBytesCount) if err != nil { return bytesCount, err } - bytesCount, err = node.writeTo(w, indent+" ", combinedKey, bytesCount, arraysOneElementPerLine) - if err != nil { - return bytesCount, err - } - case []*Tree: - for _, subTree := range node { - writtenBytesCount, err := writeStrings(w, "\n", indent, commented, "[[", combinedKey, "]]\n") - bytesCount += int64(writtenBytesCount) - if err != nil { - return bytesCount, err - } - - bytesCount, err = subTree.writeTo(w, indent+" ", combinedKey, bytesCount, arraysOneElementPerLine) - if err != nil { - return bytesCount, err - } - } } } diff --git a/vendor/github.com/spf13/afero/unionFile.go b/vendor/github.com/spf13/afero/unionFile.go index abcf12d3..eda96312 100644 --- a/vendor/github.com/spf13/afero/unionFile.go +++ b/vendor/github.com/spf13/afero/unionFile.go @@ -155,8 +155,8 @@ var defaultUnionMergeDirsFn = func(lofi, bofi []os.FileInfo) ([]os.FileInfo, err } // Readdir will weave the two directories together and -// return a single view of the overlayed directories -// At the end of the directory view, the error is io.EOF. +// return a single view of the overlayed directories. +// At the end of the directory view, the error is io.EOF if c > 0. func (f *UnionFile) Readdir(c int) (ofi []os.FileInfo, err error) { var merge DirsMerger = f.Merger if merge == nil { @@ -187,11 +187,15 @@ func (f *UnionFile) Readdir(c int) (ofi []os.FileInfo, err error) { f.files = append(f.files, merged...) } + if c <= 0 && len(f.files) == 0 { + return f.files, nil + } + if f.off >= len(f.files) { return nil, io.EOF } - if c == -1 { + if c <= 0 { return f.files[f.off:], nil } diff --git a/vendor/github.com/spf13/cobra/.gitignore b/vendor/github.com/spf13/cobra/.gitignore index 1b8c7c26..3b053c59 100644 --- a/vendor/github.com/spf13/cobra/.gitignore +++ b/vendor/github.com/spf13/cobra/.gitignore @@ -34,3 +34,5 @@ tags *.exe cobra.test + +.idea/* diff --git a/vendor/github.com/spf13/cobra/.travis.yml b/vendor/github.com/spf13/cobra/.travis.yml index 5afcb209..38b85f49 100644 --- a/vendor/github.com/spf13/cobra/.travis.yml +++ b/vendor/github.com/spf13/cobra/.travis.yml @@ -1,21 +1,31 @@ language: go +stages: + - diff + - test + +go: + - 1.10.x + - 1.11.x + - 1.12.x + - tip + matrix: - include: - - go: 1.9.4 - - go: 1.10.0 - - go: tip allow_failures: - go: tip + include: + - stage: diff + go: 1.12.x + script: diff -u <(echo -n) <(gofmt -d -s .) before_install: - mkdir -p bin - - curl -Lso bin/shellcheck https://github.com/caarlos0/shellcheck-docker/releases/download/v0.4.3/shellcheck + - curl -Lso bin/shellcheck https://github.com/caarlos0/shellcheck-docker/releases/download/v0.6.0/shellcheck - chmod +x bin/shellcheck + - go get -u github.com/kyoh86/richgo script: - - PATH=$PATH:$PWD/bin go test -v ./... + - PATH=$PATH:$PWD/bin richgo test -v ./... - go build - - diff -u <(echo -n) <(gofmt -d -s .) - if [ -z $NOVET ]; then - diff -u <(echo -n) <(go tool vet . 2>&1 | grep -vE 'ExampleCommand|bash_completions.*Fprint'); + diff -u <(echo -n) <(go vet . 2>&1 | grep -vE 'ExampleCommand|bash_completions.*Fprint'); fi diff --git a/vendor/github.com/spf13/cobra/README.md b/vendor/github.com/spf13/cobra/README.md index 851fcc08..60c5a425 100644 --- a/vendor/github.com/spf13/cobra/README.md +++ b/vendor/github.com/spf13/cobra/README.md @@ -2,25 +2,29 @@ Cobra is both a library for creating powerful modern CLI applications as well as a program to generate applications and command files. -Many of the most widely used Go projects are built using Cobra including: - -* [Kubernetes](http://kubernetes.io/) -* [Hugo](http://gohugo.io) -* [rkt](https://github.com/coreos/rkt) -* [etcd](https://github.com/coreos/etcd) -* [Moby (former Docker)](https://github.com/moby/moby) -* [Docker (distribution)](https://github.com/docker/distribution) -* [OpenShift](https://www.openshift.com/) -* [Delve](https://github.com/derekparker/delve) -* [GopherJS](http://www.gopherjs.org/) -* [CockroachDB](http://www.cockroachlabs.com/) -* [Bleve](http://www.blevesearch.com/) -* [ProjectAtomic (enterprise)](http://www.projectatomic.io/) -* [GiantSwarm's swarm](https://github.com/giantswarm/cli) -* [Nanobox](https://github.com/nanobox-io/nanobox)/[Nanopack](https://github.com/nanopack) -* [rclone](http://rclone.org/) -* [nehm](https://github.com/bogem/nehm) -* [Pouch](https://github.com/alibaba/pouch) +Many of the most widely used Go projects are built using Cobra, such as: +[Kubernetes](http://kubernetes.io/), +[Hugo](http://gohugo.io), +[rkt](https://github.com/coreos/rkt), +[etcd](https://github.com/coreos/etcd), +[Moby (former Docker)](https://github.com/moby/moby), +[Docker (distribution)](https://github.com/docker/distribution), +[OpenShift](https://www.openshift.com/), +[Delve](https://github.com/derekparker/delve), +[GopherJS](http://www.gopherjs.org/), +[CockroachDB](http://www.cockroachlabs.com/), +[Bleve](http://www.blevesearch.com/), +[ProjectAtomic (enterprise)](http://www.projectatomic.io/), +[Giant Swarm's gsctl](https://github.com/giantswarm/gsctl), +[Nanobox](https://github.com/nanobox-io/nanobox)/[Nanopack](https://github.com/nanopack), +[rclone](http://rclone.org/), +[nehm](https://github.com/bogem/nehm), +[Pouch](https://github.com/alibaba/pouch), +[Istio](https://istio.io), +[Prototool](https://github.com/uber/prototool), +[mattermost-server](https://github.com/mattermost/mattermost-server), +[Gardener](https://github.com/gardener/gardenctl), +etc. [![Build Status](https://travis-ci.org/spf13/cobra.svg "Travis CI status")](https://travis-ci.org/spf13/cobra) [![CircleCI status](https://circleci.com/gh/spf13/cobra.png?circle-token=:circle-token "CircleCI status")](https://circleci.com/gh/spf13/cobra) @@ -45,6 +49,7 @@ Many of the most widely used Go projects are built using Cobra including: * [Suggestions when "unknown command" happens](#suggestions-when-unknown-command-happens) * [Generating documentation for your command](#generating-documentation-for-your-command) * [Generating bash completions](#generating-bash-completions) + * [Generating zsh completions](#generating-zsh-completions) - [Contributing](#contributing) - [License](#license) @@ -152,9 +157,6 @@ In a Cobra app, typically the main.go file is very bare. It serves one purpose: package main import ( - "fmt" - "os" - "{pathToYourApp}/cmd" ) @@ -265,9 +267,6 @@ In a Cobra app, typically the main.go file is very bare. It serves, one purpose, package main import ( - "fmt" - "os" - "{pathToYourApp}/cmd" ) @@ -339,7 +338,7 @@ rootCmd.PersistentFlags().BoolVarP(&Verbose, "verbose", "v", false, "verbose out A flag can also be assigned locally which will only apply to that specific command. ```go -rootCmd.Flags().StringVarP(&Source, "source", "s", "", "Source directory to read from") +localCmd.Flags().StringVarP(&Source, "source", "s", "", "Source directory to read from") ``` ### Local Flag on Parent Commands @@ -395,6 +394,7 @@ The following validators are built in: - `MinimumNArgs(int)` - the command will report an error if there are not at least N positional args. - `MaximumNArgs(int)` - the command will report an error if there are more than N positional args. - `ExactArgs(int)` - the command will report an error if there are not exactly N positional args. +- `ExactValidArgs(int)` - the command will report an error if there are not exactly N positional args OR if there are any positional args that are not in the `ValidArgs` field of `Command` - `RangeArgs(min, max)` - the command will report an error if the number of args is not between the minimum and maximum number of expected args. An example of setting the custom validator: @@ -404,7 +404,7 @@ var cmd = &cobra.Command{ Short: "hello", Args: func(cmd *cobra.Command, args []string) error { if len(args) < 1 { - return errors.New("requires at least one arg") + return errors.New("requires a color argument") } if myapp.IsValidColor(args[0]) { return nil @@ -464,7 +464,7 @@ Echo works a lot like print, except it has a child command.`, } var cmdTimes = &cobra.Command{ - Use: "times [# times] [string to echo]", + Use: "times [string to echo]", Short: "Echo anything to the screen more times", Long: `echo things multiple times back to the user by providing a count and a string.`, @@ -721,6 +721,11 @@ Cobra can generate documentation based on subcommands, flags, etc. in the follow Cobra can generate a bash-completion file. If you add more information to your command, these completions can be amazingly powerful and flexible. Read more about it in [Bash Completions](bash_completions.md). +## Generating zsh completions + +Cobra can generate zsh-completion file. Read more about it in +[Zsh Completions](zsh_completions.md). + # Contributing 1. Fork it diff --git a/vendor/github.com/spf13/cobra/args.go b/vendor/github.com/spf13/cobra/args.go index a5d8a927..c4d820b8 100644 --- a/vendor/github.com/spf13/cobra/args.go +++ b/vendor/github.com/spf13/cobra/args.go @@ -78,6 +78,18 @@ func ExactArgs(n int) PositionalArgs { } } +// ExactValidArgs returns an error if +// there are not exactly N positional args OR +// there are any positional args that are not in the `ValidArgs` field of `Command` +func ExactValidArgs(n int) PositionalArgs { + return func(cmd *Command, args []string) error { + if err := ExactArgs(n)(cmd, args); err != nil { + return err + } + return OnlyValidArgs(cmd, args) + } +} + // RangeArgs returns an error if the number of args is not within the expected range. func RangeArgs(min int, max int) PositionalArgs { return func(cmd *Command, args []string) error { diff --git a/vendor/github.com/spf13/cobra/bash_completions.go b/vendor/github.com/spf13/cobra/bash_completions.go index 8fa8f486..57bb8e1b 100644 --- a/vendor/github.com/spf13/cobra/bash_completions.go +++ b/vendor/github.com/spf13/cobra/bash_completions.go @@ -129,7 +129,13 @@ __%[1]s_handle_reply() fi if [[ ${#COMPREPLY[@]} -eq 0 ]]; then - declare -F __custom_func >/dev/null && __custom_func + if declare -F __%[1]s_custom_func >/dev/null; then + # try command name qualified custom func + __%[1]s_custom_func + else + # otherwise fall back to unqualified for compatibility + declare -F __custom_func >/dev/null && __custom_func + fi fi # available in bash-completion >= 2, not always present on macOS @@ -193,7 +199,8 @@ __%[1]s_handle_flag() fi # skip the argument to a two word flag - if __%[1]s_contains_word "${words[c]}" "${two_word_flags[@]}"; then + if [[ ${words[c]} != *"="* ]] && __%[1]s_contains_word "${words[c]}" "${two_word_flags[@]}"; then + __%[1]s_debug "${FUNCNAME[0]}: found a flag ${words[c]}, skip the next argument" c=$((c+1)) # if we are looking for a flags value, don't show commands if [[ $c -eq $cword ]]; then @@ -373,6 +380,10 @@ func writeFlag(buf *bytes.Buffer, flag *pflag.Flag, cmd *Command) { } format += "\")\n" buf.WriteString(fmt.Sprintf(format, name)) + if len(flag.NoOptDefVal) == 0 { + format = " two_word_flags+=(\"--%s\")\n" + buf.WriteString(fmt.Sprintf(format, name)) + } writeFlagHandler(buf, "--"+name, flag.Annotations, cmd) } @@ -534,51 +545,3 @@ func (c *Command) GenBashCompletionFile(filename string) error { return c.GenBashCompletion(outFile) } - -// MarkFlagRequired adds the BashCompOneRequiredFlag annotation to the named flag if it exists, -// and causes your command to report an error if invoked without the flag. -func (c *Command) MarkFlagRequired(name string) error { - return MarkFlagRequired(c.Flags(), name) -} - -// MarkPersistentFlagRequired adds the BashCompOneRequiredFlag annotation to the named persistent flag if it exists, -// and causes your command to report an error if invoked without the flag. -func (c *Command) MarkPersistentFlagRequired(name string) error { - return MarkFlagRequired(c.PersistentFlags(), name) -} - -// MarkFlagRequired adds the BashCompOneRequiredFlag annotation to the named flag if it exists, -// and causes your command to report an error if invoked without the flag. -func MarkFlagRequired(flags *pflag.FlagSet, name string) error { - return flags.SetAnnotation(name, BashCompOneRequiredFlag, []string{"true"}) -} - -// MarkFlagFilename adds the BashCompFilenameExt annotation to the named flag, if it exists. -// Generated bash autocompletion will select filenames for the flag, limiting to named extensions if provided. -func (c *Command) MarkFlagFilename(name string, extensions ...string) error { - return MarkFlagFilename(c.Flags(), name, extensions...) -} - -// MarkFlagCustom adds the BashCompCustom annotation to the named flag, if it exists. -// Generated bash autocompletion will call the bash function f for the flag. -func (c *Command) MarkFlagCustom(name string, f string) error { - return MarkFlagCustom(c.Flags(), name, f) -} - -// MarkPersistentFlagFilename adds the BashCompFilenameExt annotation to the named persistent flag, if it exists. -// Generated bash autocompletion will select filenames for the flag, limiting to named extensions if provided. -func (c *Command) MarkPersistentFlagFilename(name string, extensions ...string) error { - return MarkFlagFilename(c.PersistentFlags(), name, extensions...) -} - -// MarkFlagFilename adds the BashCompFilenameExt annotation to the named flag in the flag set, if it exists. -// Generated bash autocompletion will select filenames for the flag, limiting to named extensions if provided. -func MarkFlagFilename(flags *pflag.FlagSet, name string, extensions ...string) error { - return flags.SetAnnotation(name, BashCompFilenameExt, extensions) -} - -// MarkFlagCustom adds the BashCompCustom annotation to the named flag in the flag set, if it exists. -// Generated bash autocompletion will call the bash function f for the flag. -func MarkFlagCustom(flags *pflag.FlagSet, name string, f string) error { - return flags.SetAnnotation(name, BashCompCustom, []string{f}) -} diff --git a/vendor/github.com/spf13/cobra/bash_completions.md b/vendor/github.com/spf13/cobra/bash_completions.md index e79d4769..4ac61ee1 100644 --- a/vendor/github.com/spf13/cobra/bash_completions.md +++ b/vendor/github.com/spf13/cobra/bash_completions.md @@ -1,5 +1,40 @@ # Generating Bash Completions For Your Own cobra.Command +If you are using the generator you can create a completion command by running + +```bash +cobra add completion +``` + +Update the help text show how to install the bash_completion Linux show here [Kubectl docs show mac options](https://kubernetes.io/docs/tasks/tools/install-kubectl/#enabling-shell-autocompletion) + +Writing the shell script to stdout allows the most flexible use. + +```go +// completionCmd represents the completion command +var completionCmd = &cobra.Command{ + Use: "completion", + Short: "Generates bash completion scripts", + Long: `To load completion run + +. <(bitbucket completion) + +To configure your bash shell to load completions for each session add to your bashrc + +# ~/.bashrc or ~/.profile +. <(bitbucket completion) +`, + Run: func(cmd *cobra.Command, args []string) { + rootCmd.GenBashCompletion(os.Stdout); + }, +} +``` + +**Note:** The cobra generator may include messages printed to stdout for example if the config file is loaded, this will break the auto complete script + + +## Example from kubectl + Generating bash completions from a cobra command is incredibly easy. An actual program which does so for the kubernetes kubectl binary is as follows: ```go @@ -47,7 +82,7 @@ __kubectl_get_resource() fi } -__custom_func() { +__kubectl_custom_func() { case ${last_command} in kubectl_get | kubectl_describe | kubectl_delete | kubectl_stop) __kubectl_get_resource @@ -74,7 +109,7 @@ Find more information at https://github.com/GoogleCloudPlatform/kubernetes.`, } ``` -The `BashCompletionFunction` option is really only valid/useful on the root command. Doing the above will cause `__custom_func()` to be called when the built in processor was unable to find a solution. In the case of kubernetes a valid command might look something like `kubectl get pod [mypod]`. If you type `kubectl get pod [tab][tab]` the `__customc_func()` will run because the cobra.Command only understood "kubectl" and "get." `__custom_func()` will see that the cobra.Command is "kubectl_get" and will thus call another helper `__kubectl_get_resource()`. `__kubectl_get_resource` will look at the 'nouns' collected. In our example the only noun will be `pod`. So it will call `__kubectl_parse_get pod`. `__kubectl_parse_get` will actually call out to kubernetes and get any pods. It will then set `COMPREPLY` to valid pods! +The `BashCompletionFunction` option is really only valid/useful on the root command. Doing the above will cause `__kubectl_custom_func()` (`___custom_func()`) to be called when the built in processor was unable to find a solution. In the case of kubernetes a valid command might look something like `kubectl get pod [mypod]`. If you type `kubectl get pod [tab][tab]` the `__kubectl_customc_func()` will run because the cobra.Command only understood "kubectl" and "get." `__kubectl_custom_func()` will see that the cobra.Command is "kubectl_get" and will thus call another helper `__kubectl_get_resource()`. `__kubectl_get_resource` will look at the 'nouns' collected. In our example the only noun will be `pod`. So it will call `__kubectl_parse_get pod`. `__kubectl_parse_get` will actually call out to kubernetes and get any pods. It will then set `COMPREPLY` to valid pods! ## Have the completions code complete your 'nouns' diff --git a/vendor/github.com/spf13/cobra/cobra.go b/vendor/github.com/spf13/cobra/cobra.go index 7010fd15..6505c070 100644 --- a/vendor/github.com/spf13/cobra/cobra.go +++ b/vendor/github.com/spf13/cobra/cobra.go @@ -23,6 +23,7 @@ import ( "strconv" "strings" "text/template" + "time" "unicode" ) @@ -56,6 +57,12 @@ var MousetrapHelpText string = `This is a command line tool. You need to open cmd.exe and run it from there. ` +// MousetrapDisplayDuration controls how long the MousetrapHelpText message is displayed on Windows +// if the CLI is started from explorer.exe. Set to 0 to wait for the return key to be pressed. +// To disable the mousetrap, just set MousetrapHelpText to blank string (""). +// Works only on Microsoft Windows. +var MousetrapDisplayDuration time.Duration = 5 * time.Second + // AddTemplateFunc adds a template function that's available to Usage and Help // template generation. func AddTemplateFunc(name string, tmplFunc interface{}) { diff --git a/vendor/github.com/spf13/cobra/command.go b/vendor/github.com/spf13/cobra/command.go index 34d1bf36..c7e89830 100644 --- a/vendor/github.com/spf13/cobra/command.go +++ b/vendor/github.com/spf13/cobra/command.go @@ -177,8 +177,6 @@ type Command struct { // that we can use on every pflag set and children commands globNormFunc func(f *flag.FlagSet, name string) flag.NormalizedName - // output is an output writer defined by user. - output io.Writer // usageFunc is usage func defined by user. usageFunc func(*Command) error // usageTemplate is usage template defined by user. @@ -195,6 +193,13 @@ type Command struct { helpCommand *Command // versionTemplate is the version template defined by user. versionTemplate string + + // inReader is a reader defined by the user that replaces stdin + inReader io.Reader + // outWriter is a writer defined by the user that replaces stdout + outWriter io.Writer + // errWriter is a writer defined by the user that replaces stderr + errWriter io.Writer } // SetArgs sets arguments for the command. It is set to os.Args[1:] by default, if desired, can be overridden @@ -205,8 +210,28 @@ func (c *Command) SetArgs(a []string) { // SetOutput sets the destination for usage and error messages. // If output is nil, os.Stderr is used. +// Deprecated: Use SetOut and/or SetErr instead func (c *Command) SetOutput(output io.Writer) { - c.output = output + c.outWriter = output + c.errWriter = output +} + +// SetOut sets the destination for usage messages. +// If newOut is nil, os.Stdout is used. +func (c *Command) SetOut(newOut io.Writer) { + c.outWriter = newOut +} + +// SetErr sets the destination for error messages. +// If newErr is nil, os.Stderr is used. +func (c *Command) SetErr(newErr io.Writer) { + c.errWriter = newErr +} + +// SetOut sets the source for input data +// If newIn is nil, os.Stdin is used. +func (c *Command) SetIn(newIn io.Reader) { + c.inReader = newIn } // SetUsageFunc sets usage function. Usage can be defined by application. @@ -267,9 +292,19 @@ func (c *Command) OutOrStderr() io.Writer { return c.getOut(os.Stderr) } +// ErrOrStderr returns output to stderr +func (c *Command) ErrOrStderr() io.Writer { + return c.getErr(os.Stderr) +} + +// ErrOrStderr returns output to stderr +func (c *Command) InOrStdin() io.Reader { + return c.getIn(os.Stdin) +} + func (c *Command) getOut(def io.Writer) io.Writer { - if c.output != nil { - return c.output + if c.outWriter != nil { + return c.outWriter } if c.HasParent() { return c.parent.getOut(def) @@ -277,6 +312,26 @@ func (c *Command) getOut(def io.Writer) io.Writer { return def } +func (c *Command) getErr(def io.Writer) io.Writer { + if c.errWriter != nil { + return c.errWriter + } + if c.HasParent() { + return c.parent.getErr(def) + } + return def +} + +func (c *Command) getIn(def io.Reader) io.Reader { + if c.inReader != nil { + return c.inReader + } + if c.HasParent() { + return c.parent.getIn(def) + } + return def +} + // UsageFunc returns either the function set by SetUsageFunc for this command // or a parent, or it returns a default usage function. func (c *Command) UsageFunc() (f func(*Command) error) { @@ -329,13 +384,22 @@ func (c *Command) Help() error { return nil } -// UsageString return usage string. +// UsageString returns usage string. func (c *Command) UsageString() string { - tmpOutput := c.output + // Storing normal writers + tmpOutput := c.outWriter + tmpErr := c.errWriter + bb := new(bytes.Buffer) - c.SetOutput(bb) + c.outWriter = bb + c.errWriter = bb + c.Usage() - c.output = tmpOutput + + // Setting things back to normal + c.outWriter = tmpOutput + c.errWriter = tmpErr + return bb.String() } @@ -817,13 +881,11 @@ func (c *Command) ExecuteC() (cmd *Command, err error) { // overriding c.InitDefaultHelpCmd() - var args []string + args := c.args // Workaround FAIL with "go test -v" or "cobra.test -test.v", see #155 if c.args == nil && filepath.Base(os.Args[0]) != "cobra.test" { args = os.Args[1:] - } else { - args = c.args } var flags []string @@ -1070,6 +1132,21 @@ func (c *Command) Printf(format string, i ...interface{}) { c.Print(fmt.Sprintf(format, i...)) } +// PrintErr is a convenience method to Print to the defined Err output, fallback to Stderr if not set. +func (c *Command) PrintErr(i ...interface{}) { + fmt.Fprint(c.ErrOrStderr(), i...) +} + +// PrintErrln is a convenience method to Println to the defined Err output, fallback to Stderr if not set. +func (c *Command) PrintErrln(i ...interface{}) { + c.Print(fmt.Sprintln(i...)) +} + +// PrintErrf is a convenience method to Printf to the defined Err output, fallback to Stderr if not set. +func (c *Command) PrintErrf(format string, i ...interface{}) { + c.Print(fmt.Sprintf(format, i...)) +} + // CommandPath returns the full path to this command. func (c *Command) CommandPath() string { if c.HasParent() { @@ -1335,7 +1412,7 @@ func (c *Command) LocalFlags() *flag.FlagSet { return c.lflags } -// InheritedFlags returns all flags which were inherited from parents commands. +// InheritedFlags returns all flags which were inherited from parent commands. func (c *Command) InheritedFlags() *flag.FlagSet { c.mergePersistentFlags() diff --git a/vendor/github.com/spf13/cobra/command_win.go b/vendor/github.com/spf13/cobra/command_win.go index edec728e..8768b173 100644 --- a/vendor/github.com/spf13/cobra/command_win.go +++ b/vendor/github.com/spf13/cobra/command_win.go @@ -3,6 +3,7 @@ package cobra import ( + "fmt" "os" "time" @@ -14,7 +15,12 @@ var preExecHookFn = preExecHook func preExecHook(c *Command) { if MousetrapHelpText != "" && mousetrap.StartedByExplorer() { c.Print(MousetrapHelpText) - time.Sleep(5 * time.Second) + if MousetrapDisplayDuration > 0 { + time.Sleep(MousetrapDisplayDuration) + } else { + c.Println("Press return to continue...") + fmt.Scanln() + } os.Exit(1) } } diff --git a/vendor/github.com/spf13/cobra/go.mod b/vendor/github.com/spf13/cobra/go.mod new file mode 100644 index 00000000..9a9eb65a --- /dev/null +++ b/vendor/github.com/spf13/cobra/go.mod @@ -0,0 +1,13 @@ +module github.com/spf13/cobra + +go 1.12 + +require ( + github.com/BurntSushi/toml v0.3.1 // indirect + github.com/cpuguy83/go-md2man v1.0.10 + github.com/inconshreveable/mousetrap v1.0.0 + github.com/mitchellh/go-homedir v1.1.0 + github.com/spf13/pflag v1.0.3 + github.com/spf13/viper v1.3.2 + gopkg.in/yaml.v2 v2.2.2 +) diff --git a/vendor/github.com/spf13/cobra/go.sum b/vendor/github.com/spf13/cobra/go.sum new file mode 100644 index 00000000..9761f4d0 --- /dev/null +++ b/vendor/github.com/spf13/cobra/go.sum @@ -0,0 +1,51 @@ +github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= +github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/magiconair/properties v1.8.0 h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDePerRcY= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= +github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/viper v1.3.2 h1:VUFqw5KcqRf7i70GOzW7N+Q7+gxVBkSSqiXB12+JQ4M= +github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= +github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a h1:1n5lsVfiQW3yfsRGu98756EH1YthsFqr/5mxHduZW2A= +golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/vendor/github.com/spf13/cobra/powershell_completions.go b/vendor/github.com/spf13/cobra/powershell_completions.go new file mode 100644 index 00000000..756c61b9 --- /dev/null +++ b/vendor/github.com/spf13/cobra/powershell_completions.go @@ -0,0 +1,100 @@ +// PowerShell completions are based on the amazing work from clap: +// https://github.com/clap-rs/clap/blob/3294d18efe5f264d12c9035f404c7d189d4824e1/src/completions/powershell.rs +// +// The generated scripts require PowerShell v5.0+ (which comes Windows 10, but +// can be downloaded separately for windows 7 or 8.1). + +package cobra + +import ( + "bytes" + "fmt" + "io" + "os" + "strings" + + "github.com/spf13/pflag" +) + +var powerShellCompletionTemplate = `using namespace System.Management.Automation +using namespace System.Management.Automation.Language +Register-ArgumentCompleter -Native -CommandName '%s' -ScriptBlock { + param($wordToComplete, $commandAst, $cursorPosition) + $commandElements = $commandAst.CommandElements + $command = @( + '%s' + for ($i = 1; $i -lt $commandElements.Count; $i++) { + $element = $commandElements[$i] + if ($element -isnot [StringConstantExpressionAst] -or + $element.StringConstantType -ne [StringConstantType]::BareWord -or + $element.Value.StartsWith('-')) { + break + } + $element.Value + } + ) -join ';' + $completions = @(switch ($command) {%s + }) + $completions.Where{ $_.CompletionText -like "$wordToComplete*" } | + Sort-Object -Property ListItemText +}` + +func generatePowerShellSubcommandCases(out io.Writer, cmd *Command, previousCommandName string) { + var cmdName string + if previousCommandName == "" { + cmdName = cmd.Name() + } else { + cmdName = fmt.Sprintf("%s;%s", previousCommandName, cmd.Name()) + } + + fmt.Fprintf(out, "\n '%s' {", cmdName) + + cmd.Flags().VisitAll(func(flag *pflag.Flag) { + if nonCompletableFlag(flag) { + return + } + usage := escapeStringForPowerShell(flag.Usage) + if len(flag.Shorthand) > 0 { + fmt.Fprintf(out, "\n [CompletionResult]::new('-%s', '%s', [CompletionResultType]::ParameterName, '%s')", flag.Shorthand, flag.Shorthand, usage) + } + fmt.Fprintf(out, "\n [CompletionResult]::new('--%s', '%s', [CompletionResultType]::ParameterName, '%s')", flag.Name, flag.Name, usage) + }) + + for _, subCmd := range cmd.Commands() { + usage := escapeStringForPowerShell(subCmd.Short) + fmt.Fprintf(out, "\n [CompletionResult]::new('%s', '%s', [CompletionResultType]::ParameterValue, '%s')", subCmd.Name(), subCmd.Name(), usage) + } + + fmt.Fprint(out, "\n break\n }") + + for _, subCmd := range cmd.Commands() { + generatePowerShellSubcommandCases(out, subCmd, cmdName) + } +} + +func escapeStringForPowerShell(s string) string { + return strings.Replace(s, "'", "''", -1) +} + +// GenPowerShellCompletion generates PowerShell completion file and writes to the passed writer. +func (c *Command) GenPowerShellCompletion(w io.Writer) error { + buf := new(bytes.Buffer) + + var subCommandCases bytes.Buffer + generatePowerShellSubcommandCases(&subCommandCases, c, "") + fmt.Fprintf(buf, powerShellCompletionTemplate, c.Name(), c.Name(), subCommandCases.String()) + + _, err := buf.WriteTo(w) + return err +} + +// GenPowerShellCompletionFile generates PowerShell completion file. +func (c *Command) GenPowerShellCompletionFile(filename string) error { + outFile, err := os.Create(filename) + if err != nil { + return err + } + defer outFile.Close() + + return c.GenPowerShellCompletion(outFile) +} diff --git a/vendor/github.com/spf13/cobra/powershell_completions.md b/vendor/github.com/spf13/cobra/powershell_completions.md new file mode 100644 index 00000000..afed8024 --- /dev/null +++ b/vendor/github.com/spf13/cobra/powershell_completions.md @@ -0,0 +1,14 @@ +# Generating PowerShell Completions For Your Own cobra.Command + +Cobra can generate PowerShell completion scripts. Users need PowerShell version 5.0 or above, which comes with Windows 10 and can be downloaded separately for Windows 7 or 8.1. They can then write the completions to a file and source this file from their PowerShell profile, which is referenced by the `$Profile` environment variable. See `Get-Help about_Profiles` for more info about PowerShell profiles. + +# What's supported + +- Completion for subcommands using their `.Short` description +- Completion for non-hidden flags using their `.Name` and `.Shorthand` + +# What's not yet supported + +- Command aliases +- Required, filename or custom flags (they will work like normal flags) +- Custom completion scripts diff --git a/vendor/github.com/spf13/cobra/shell_completions.go b/vendor/github.com/spf13/cobra/shell_completions.go new file mode 100644 index 00000000..ba0af9cb --- /dev/null +++ b/vendor/github.com/spf13/cobra/shell_completions.go @@ -0,0 +1,85 @@ +package cobra + +import ( + "github.com/spf13/pflag" +) + +// MarkFlagRequired adds the BashCompOneRequiredFlag annotation to the named flag if it exists, +// and causes your command to report an error if invoked without the flag. +func (c *Command) MarkFlagRequired(name string) error { + return MarkFlagRequired(c.Flags(), name) +} + +// MarkPersistentFlagRequired adds the BashCompOneRequiredFlag annotation to the named persistent flag if it exists, +// and causes your command to report an error if invoked without the flag. +func (c *Command) MarkPersistentFlagRequired(name string) error { + return MarkFlagRequired(c.PersistentFlags(), name) +} + +// MarkFlagRequired adds the BashCompOneRequiredFlag annotation to the named flag if it exists, +// and causes your command to report an error if invoked without the flag. +func MarkFlagRequired(flags *pflag.FlagSet, name string) error { + return flags.SetAnnotation(name, BashCompOneRequiredFlag, []string{"true"}) +} + +// MarkFlagFilename adds the BashCompFilenameExt annotation to the named flag, if it exists. +// Generated bash autocompletion will select filenames for the flag, limiting to named extensions if provided. +func (c *Command) MarkFlagFilename(name string, extensions ...string) error { + return MarkFlagFilename(c.Flags(), name, extensions...) +} + +// MarkFlagCustom adds the BashCompCustom annotation to the named flag, if it exists. +// Generated bash autocompletion will call the bash function f for the flag. +func (c *Command) MarkFlagCustom(name string, f string) error { + return MarkFlagCustom(c.Flags(), name, f) +} + +// MarkPersistentFlagFilename instructs the various shell completion +// implementations to limit completions for this persistent flag to the +// specified extensions (patterns). +// +// Shell Completion compatibility matrix: bash, zsh +func (c *Command) MarkPersistentFlagFilename(name string, extensions ...string) error { + return MarkFlagFilename(c.PersistentFlags(), name, extensions...) +} + +// MarkFlagFilename instructs the various shell completion implementations to +// limit completions for this flag to the specified extensions (patterns). +// +// Shell Completion compatibility matrix: bash, zsh +func MarkFlagFilename(flags *pflag.FlagSet, name string, extensions ...string) error { + return flags.SetAnnotation(name, BashCompFilenameExt, extensions) +} + +// MarkFlagCustom instructs the various shell completion implementations to +// limit completions for this flag to the specified extensions (patterns). +// +// Shell Completion compatibility matrix: bash, zsh +func MarkFlagCustom(flags *pflag.FlagSet, name string, f string) error { + return flags.SetAnnotation(name, BashCompCustom, []string{f}) +} + +// MarkFlagDirname instructs the various shell completion implementations to +// complete only directories with this named flag. +// +// Shell Completion compatibility matrix: zsh +func (c *Command) MarkFlagDirname(name string) error { + return MarkFlagDirname(c.Flags(), name) +} + +// MarkPersistentFlagDirname instructs the various shell completion +// implementations to complete only directories with this persistent named flag. +// +// Shell Completion compatibility matrix: zsh +func (c *Command) MarkPersistentFlagDirname(name string) error { + return MarkFlagDirname(c.PersistentFlags(), name) +} + +// MarkFlagDirname instructs the various shell completion implementations to +// complete only directories with this specified flag. +// +// Shell Completion compatibility matrix: zsh +func MarkFlagDirname(flags *pflag.FlagSet, name string) error { + zshPattern := "-(/)" + return flags.SetAnnotation(name, zshCompDirname, []string{zshPattern}) +} diff --git a/vendor/github.com/spf13/cobra/zsh_completions.go b/vendor/github.com/spf13/cobra/zsh_completions.go index 889c22e2..12755482 100644 --- a/vendor/github.com/spf13/cobra/zsh_completions.go +++ b/vendor/github.com/spf13/cobra/zsh_completions.go @@ -1,13 +1,102 @@ package cobra import ( - "bytes" + "encoding/json" "fmt" "io" "os" + "sort" "strings" + "text/template" + + "github.com/spf13/pflag" ) +const ( + zshCompArgumentAnnotation = "cobra_annotations_zsh_completion_argument_annotation" + zshCompArgumentFilenameComp = "cobra_annotations_zsh_completion_argument_file_completion" + zshCompArgumentWordComp = "cobra_annotations_zsh_completion_argument_word_completion" + zshCompDirname = "cobra_annotations_zsh_dirname" +) + +var ( + zshCompFuncMap = template.FuncMap{ + "genZshFuncName": zshCompGenFuncName, + "extractFlags": zshCompExtractFlag, + "genFlagEntryForZshArguments": zshCompGenFlagEntryForArguments, + "extractArgsCompletions": zshCompExtractArgumentCompletionHintsForRendering, + } + zshCompletionText = ` +{{/* should accept Command (that contains subcommands) as parameter */}} +{{define "argumentsC" -}} +{{ $cmdPath := genZshFuncName .}} +function {{$cmdPath}} { + local -a commands + + _arguments -C \{{- range extractFlags .}} + {{genFlagEntryForZshArguments .}} \{{- end}} + "1: :->cmnds" \ + "*::arg:->args" + + case $state in + cmnds) + commands=({{range .Commands}}{{if not .Hidden}} + "{{.Name}}:{{.Short}}"{{end}}{{end}} + ) + _describe "command" commands + ;; + esac + + case "$words[1]" in {{- range .Commands}}{{if not .Hidden}} + {{.Name}}) + {{$cmdPath}}_{{.Name}} + ;;{{end}}{{end}} + esac +} +{{range .Commands}}{{if not .Hidden}} +{{template "selectCmdTemplate" .}} +{{- end}}{{end}} +{{- end}} + +{{/* should accept Command without subcommands as parameter */}} +{{define "arguments" -}} +function {{genZshFuncName .}} { +{{" _arguments"}}{{range extractFlags .}} \ + {{genFlagEntryForZshArguments . -}} +{{end}}{{range extractArgsCompletions .}} \ + {{.}}{{end}} +} +{{end}} + +{{/* dispatcher for commands with or without subcommands */}} +{{define "selectCmdTemplate" -}} +{{if .Hidden}}{{/* ignore hidden*/}}{{else -}} +{{if .Commands}}{{template "argumentsC" .}}{{else}}{{template "arguments" .}}{{end}} +{{- end}} +{{- end}} + +{{/* template entry point */}} +{{define "Main" -}} +#compdef _{{.Name}} {{.Name}} + +{{template "selectCmdTemplate" .}} +{{end}} +` +) + +// zshCompArgsAnnotation is used to encode/decode zsh completion for +// arguments to/from Command.Annotations. +type zshCompArgsAnnotation map[int]zshCompArgHint + +type zshCompArgHint struct { + // Indicates the type of the completion to use. One of: + // zshCompArgumentFilenameComp or zshCompArgumentWordComp + Tipe string `json:"type"` + + // A value for the type above (globs for file completion or words) + Options []string `json:"options"` +} + // GenZshCompletionFile generates zsh completion file. func (c *Command) GenZshCompletionFile(filename string) error { outFile, err := os.Create(filename) @@ -19,108 +108,229 @@ func (c *Command) GenZshCompletionFile(filename string) error { return c.GenZshCompletion(outFile) } -// GenZshCompletion generates a zsh completion file and writes to the passed writer. +// GenZshCompletion generates a zsh completion file and writes to the passed +// writer. The completion always run on the root command regardless of the +// command it was called from. func (c *Command) GenZshCompletion(w io.Writer) error { - buf := new(bytes.Buffer) - - writeHeader(buf, c) - maxDepth := maxDepth(c) - writeLevelMapping(buf, maxDepth) - writeLevelCases(buf, maxDepth, c) - - _, err := buf.WriteTo(w) - return err -} - -func writeHeader(w io.Writer, cmd *Command) { - fmt.Fprintf(w, "#compdef %s\n\n", cmd.Name()) -} - -func maxDepth(c *Command) int { - if len(c.Commands()) == 0 { - return 0 + tmpl, err := template.New("Main").Funcs(zshCompFuncMap).Parse(zshCompletionText) + if err != nil { + return fmt.Errorf("error creating zsh completion template: %v", err) } - maxDepthSub := 0 - for _, s := range c.Commands() { - subDepth := maxDepth(s) - if subDepth > maxDepthSub { - maxDepthSub = subDepth + return tmpl.Execute(w, c.Root()) +} + +// MarkZshCompPositionalArgumentFile marks the specified argument (first +// argument is 1) as completed by file selection. patterns (e.g. "*.txt") are +// optional - if not provided the completion will search for all files. +func (c *Command) MarkZshCompPositionalArgumentFile(argPosition int, patterns ...string) error { + if argPosition < 1 { + return fmt.Errorf("Invalid argument position (%d)", argPosition) + } + annotation, err := c.zshCompGetArgsAnnotations() + if err != nil { + return err + } + if c.zshcompArgsAnnotationnIsDuplicatePosition(annotation, argPosition) { + return fmt.Errorf("Duplicate annotation for positional argument at index %d", argPosition) + } + annotation[argPosition] = zshCompArgHint{ + Tipe: zshCompArgumentFilenameComp, + Options: patterns, + } + return c.zshCompSetArgsAnnotations(annotation) +} + +// MarkZshCompPositionalArgumentWords marks the specified positional argument +// (first argument is 1) as completed by the provided words. At east one word +// must be provided, spaces within words will be offered completion with +// "word\ word". +func (c *Command) MarkZshCompPositionalArgumentWords(argPosition int, words ...string) error { + if argPosition < 1 { + return fmt.Errorf("Invalid argument position (%d)", argPosition) + } + if len(words) == 0 { + return fmt.Errorf("Trying to set empty word list for positional argument %d", argPosition) + } + annotation, err := c.zshCompGetArgsAnnotations() + if err != nil { + return err + } + if c.zshcompArgsAnnotationnIsDuplicatePosition(annotation, argPosition) { + return fmt.Errorf("Duplicate annotation for positional argument at index %d", argPosition) + } + annotation[argPosition] = zshCompArgHint{ + Tipe: zshCompArgumentWordComp, + Options: words, + } + return c.zshCompSetArgsAnnotations(annotation) +} + +func zshCompExtractArgumentCompletionHintsForRendering(c *Command) ([]string, error) { + var result []string + annotation, err := c.zshCompGetArgsAnnotations() + if err != nil { + return nil, err + } + for k, v := range annotation { + s, err := zshCompRenderZshCompArgHint(k, v) + if err != nil { + return nil, err + } + result = append(result, s) + } + if len(c.ValidArgs) > 0 { + if _, positionOneExists := annotation[1]; !positionOneExists { + s, err := zshCompRenderZshCompArgHint(1, zshCompArgHint{ + Tipe: zshCompArgumentWordComp, + Options: c.ValidArgs, + }) + if err != nil { + return nil, err + } + result = append(result, s) } } - return 1 + maxDepthSub + sort.Strings(result) + return result, nil } -func writeLevelMapping(w io.Writer, numLevels int) { - fmt.Fprintln(w, `_arguments \`) - for i := 1; i <= numLevels; i++ { - fmt.Fprintf(w, ` '%d: :->level%d' \`, i, i) - fmt.Fprintln(w) - } - fmt.Fprintf(w, ` '%d: :%s'`, numLevels+1, "_files") - fmt.Fprintln(w) -} - -func writeLevelCases(w io.Writer, maxDepth int, root *Command) { - fmt.Fprintln(w, "case $state in") - defer fmt.Fprintln(w, "esac") - - for i := 1; i <= maxDepth; i++ { - fmt.Fprintf(w, " level%d)\n", i) - writeLevel(w, root, i) - fmt.Fprintln(w, " ;;") - } - fmt.Fprintln(w, " *)") - fmt.Fprintln(w, " _arguments '*: :_files'") - fmt.Fprintln(w, " ;;") -} - -func writeLevel(w io.Writer, root *Command, i int) { - fmt.Fprintf(w, " case $words[%d] in\n", i) - defer fmt.Fprintln(w, " esac") - - commands := filterByLevel(root, i) - byParent := groupByParent(commands) - - for p, c := range byParent { - names := names(c) - fmt.Fprintf(w, " %s)\n", p) - fmt.Fprintf(w, " _arguments '%d: :(%s)'\n", i, strings.Join(names, " ")) - fmt.Fprintln(w, " ;;") - } - fmt.Fprintln(w, " *)") - fmt.Fprintln(w, " _arguments '*: :_files'") - fmt.Fprintln(w, " ;;") - -} - -func filterByLevel(c *Command, l int) []*Command { - cs := make([]*Command, 0) - if l == 0 { - cs = append(cs, c) - return cs - } - for _, s := range c.Commands() { - cs = append(cs, filterByLevel(s, l-1)...) - } - return cs -} - -func groupByParent(commands []*Command) map[string][]*Command { - m := make(map[string][]*Command) - for _, c := range commands { - parent := c.Parent() - if parent == nil { - continue +func zshCompRenderZshCompArgHint(i int, z zshCompArgHint) (string, error) { + switch t := z.Tipe; t { + case zshCompArgumentFilenameComp: + var globs []string + for _, g := range z.Options { + globs = append(globs, fmt.Sprintf(`-g "%s"`, g)) } - m[parent.Name()] = append(m[parent.Name()], c) + return fmt.Sprintf(`'%d: :_files %s'`, i, strings.Join(globs, " ")), nil + case zshCompArgumentWordComp: + var words []string + for _, w := range z.Options { + words = append(words, fmt.Sprintf("%q", w)) + } + return fmt.Sprintf(`'%d: :(%s)'`, i, strings.Join(words, " ")), nil + default: + return "", fmt.Errorf("Invalid zsh argument completion annotation: %s", t) } - return m } -func names(commands []*Command) []string { - ns := make([]string, len(commands)) - for i, c := range commands { - ns[i] = c.Name() - } - return ns +func (c *Command) zshcompArgsAnnotationnIsDuplicatePosition(annotation zshCompArgsAnnotation, position int) bool { + _, dup := annotation[position] + return dup +} + +func (c *Command) zshCompGetArgsAnnotations() (zshCompArgsAnnotation, error) { + annotation := make(zshCompArgsAnnotation) + annotationString, ok := c.Annotations[zshCompArgumentAnnotation] + if !ok { + return annotation, nil + } + err := json.Unmarshal([]byte(annotationString), &annotation) + if err != nil { + return annotation, fmt.Errorf("Error unmarshaling zsh argument annotation: %v", err) + } + return annotation, nil +} + +func (c *Command) zshCompSetArgsAnnotations(annotation zshCompArgsAnnotation) error { + jsn, err := json.Marshal(annotation) + if err != nil { + return fmt.Errorf("Error marshaling zsh argument annotation: %v", err) + } + if c.Annotations == nil { + c.Annotations = make(map[string]string) + } + c.Annotations[zshCompArgumentAnnotation] = string(jsn) + return nil +} + +func zshCompGenFuncName(c *Command) string { + if c.HasParent() { + return zshCompGenFuncName(c.Parent()) + "_" + c.Name() + } + return "_" + c.Name() +} + +func zshCompExtractFlag(c *Command) []*pflag.Flag { + var flags []*pflag.Flag + c.LocalFlags().VisitAll(func(f *pflag.Flag) { + if !f.Hidden { + flags = append(flags, f) + } + }) + c.InheritedFlags().VisitAll(func(f *pflag.Flag) { + if !f.Hidden { + flags = append(flags, f) + } + }) + return flags +} + +// zshCompGenFlagEntryForArguments returns an entry that matches _arguments +// zsh-completion parameters. It's too complicated to generate in a template. +func zshCompGenFlagEntryForArguments(f *pflag.Flag) string { + if f.Name == "" || f.Shorthand == "" { + return zshCompGenFlagEntryForSingleOptionFlag(f) + } + return zshCompGenFlagEntryForMultiOptionFlag(f) +} + +func zshCompGenFlagEntryForSingleOptionFlag(f *pflag.Flag) string { + var option, multiMark, extras string + + if zshCompFlagCouldBeSpecifiedMoreThenOnce(f) { + multiMark = "*" + } + + option = "--" + f.Name + if option == "--" { + option = "-" + f.Shorthand + } + extras = zshCompGenFlagEntryExtras(f) + + return fmt.Sprintf(`'%s%s[%s]%s'`, multiMark, option, zshCompQuoteFlagDescription(f.Usage), extras) +} + +func zshCompGenFlagEntryForMultiOptionFlag(f *pflag.Flag) string { + var options, parenMultiMark, curlyMultiMark, extras string + + if zshCompFlagCouldBeSpecifiedMoreThenOnce(f) { + parenMultiMark = "*" + curlyMultiMark = "\\*" + } + + options = fmt.Sprintf(`'(%s-%s %s--%s)'{%s-%s,%s--%s}`, + parenMultiMark, f.Shorthand, parenMultiMark, f.Name, curlyMultiMark, f.Shorthand, curlyMultiMark, f.Name) + extras = zshCompGenFlagEntryExtras(f) + + return fmt.Sprintf(`%s'[%s]%s'`, options, zshCompQuoteFlagDescription(f.Usage), extras) +} + +func zshCompGenFlagEntryExtras(f *pflag.Flag) string { + if f.NoOptDefVal != "" { + return "" + } + + extras := ":" // allow options for flag (even without assistance) + for key, values := range f.Annotations { + switch key { + case zshCompDirname: + extras = fmt.Sprintf(":filename:_files -g %q", values[0]) + case BashCompFilenameExt: + extras = ":filename:_files" + for _, pattern := range values { + extras = extras + fmt.Sprintf(` -g "%s"`, pattern) + } + } + } + + return extras +} + +func zshCompFlagCouldBeSpecifiedMoreThenOnce(f *pflag.Flag) bool { + return strings.Contains(f.Value.Type(), "Slice") || + strings.Contains(f.Value.Type(), "Array") +} + +func zshCompQuoteFlagDescription(s string) string { + return strings.Replace(s, "'", `'\''`, -1) } diff --git a/vendor/github.com/spf13/cobra/zsh_completions.md b/vendor/github.com/spf13/cobra/zsh_completions.md new file mode 100644 index 00000000..df9c2eac --- /dev/null +++ b/vendor/github.com/spf13/cobra/zsh_completions.md @@ -0,0 +1,39 @@ +## Generating Zsh Completion for your cobra.Command + +Cobra supports native Zsh completion generated from the root `cobra.Command`. +The generated completion script should be put somewhere in your `$fpath` named +`_`. + +### What's Supported + +* Completion for all non-hidden subcommands using their `.Short` description. +* Completion for all non-hidden flags using the following rules: + * Filename completion works by marking the flag with `cmd.MarkFlagFilename...` + family of commands. + * The requirement for argument to the flag is decided by the `.NoOptDefVal` + flag value - if it's empty then completion will expect an argument. + * Flags of one of the various `*Array` and `*Slice` types supports multiple + specifications (with or without argument depending on the specific type). +* Completion of positional arguments using the following rules: + * Argument position for all options below starts at `1`. If argument position + `0` is requested it will raise an error. + * Use `command.MarkZshCompPositionalArgumentFile` to complete filenames. Glob + patterns (e.g. `"*.log"`) are optional - if not specified it will offer to + complete all file types. + * Use `command.MarkZshCompPositionalArgumentWords` to offer specific words for + completion. At least one word is required. + * It's possible to specify completion for some arguments and leave some + unspecified (e.g. offer words for second argument but nothing for first + argument). This will cause no completion for first argument but words + completion for second argument. + * If no argument completion was specified for 1st argument (but optionally was + specified for 2nd) and the command has `ValidArgs` it will be used as + completion options for 1st argument. + * Argument completions only offered for commands with no subcommands. + +### What's not yet Supported + +* Custom completion scripts are not supported yet (We should probably create zsh + specific one, doesn't make sense to re-use the bash one as the functions will + be different). +* Whatever other feature you're looking for and doesn't exist :) diff --git a/vendor/github.com/spf13/jwalterweatherman/.gitignore b/vendor/github.com/spf13/jwalterweatherman/.gitignore index 00268614..a71f88af 100644 --- a/vendor/github.com/spf13/jwalterweatherman/.gitignore +++ b/vendor/github.com/spf13/jwalterweatherman/.gitignore @@ -20,3 +20,5 @@ _cgo_export.* _testmain.go *.exe +*.bench +go.sum \ No newline at end of file diff --git a/vendor/github.com/spf13/jwalterweatherman/default_notepad.go b/vendor/github.com/spf13/jwalterweatherman/default_notepad.go index bcb76340..a018c15c 100644 --- a/vendor/github.com/spf13/jwalterweatherman/default_notepad.go +++ b/vendor/github.com/spf13/jwalterweatherman/default_notepad.go @@ -64,6 +64,13 @@ func SetStdoutThreshold(threshold Threshold) { reloadDefaultNotepad() } +// SetStdoutOutput set the stdout output for the default notepad. Default is stdout. +func SetStdoutOutput(handle io.Writer) { + defaultNotepad.outHandle = handle + defaultNotepad.init() + reloadDefaultNotepad() +} + // SetPrefix set the prefix for the default logger. Empty by default. func SetPrefix(prefix string) { defaultNotepad.SetPrefix(prefix) @@ -76,6 +83,13 @@ func SetFlags(flags int) { reloadDefaultNotepad() } +// SetLogListeners configures the default logger with one or more log listeners. +func SetLogListeners(l ...LogListener) { + defaultNotepad.logListeners = l + defaultNotepad.init() + reloadDefaultNotepad() +} + // Level returns the current global log threshold. func LogThreshold() Threshold { return defaultNotepad.logThreshold @@ -95,19 +109,3 @@ func GetLogThreshold() Threshold { func GetStdoutThreshold() Threshold { return defaultNotepad.GetStdoutThreshold() } - -// LogCountForLevel returns the number of log invocations for a given threshold. -func LogCountForLevel(l Threshold) uint64 { - return defaultNotepad.LogCountForLevel(l) -} - -// LogCountForLevelsGreaterThanorEqualTo returns the number of log invocations -// greater than or equal to a given threshold. -func LogCountForLevelsGreaterThanorEqualTo(threshold Threshold) uint64 { - return defaultNotepad.LogCountForLevelsGreaterThanorEqualTo(threshold) -} - -// ResetLogCounters resets the invocation counters for all levels. -func ResetLogCounters() { - defaultNotepad.ResetLogCounters() -} diff --git a/vendor/github.com/spf13/jwalterweatherman/go.mod b/vendor/github.com/spf13/jwalterweatherman/go.mod index bce549c0..1dbcfd3e 100644 --- a/vendor/github.com/spf13/jwalterweatherman/go.mod +++ b/vendor/github.com/spf13/jwalterweatherman/go.mod @@ -1 +1,7 @@ module github.com/spf13/jwalterweatherman + +require ( + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/stretchr/testify v1.2.2 +) diff --git a/vendor/github.com/spf13/jwalterweatherman/log_counter.go b/vendor/github.com/spf13/jwalterweatherman/log_counter.go index 11423ac4..41285f3d 100644 --- a/vendor/github.com/spf13/jwalterweatherman/log_counter.go +++ b/vendor/github.com/spf13/jwalterweatherman/log_counter.go @@ -6,50 +6,41 @@ package jwalterweatherman import ( + "io" "sync/atomic" ) -type logCounter struct { - counter uint64 +// Counter is an io.Writer that increments a counter on Write. +type Counter struct { + count uint64 } -func (c *logCounter) incr() { - atomic.AddUint64(&c.counter, 1) +func (c *Counter) incr() { + atomic.AddUint64(&c.count, 1) } -func (c *logCounter) resetCounter() { - atomic.StoreUint64(&c.counter, 0) +// Reset resets the counter. +func (c *Counter) Reset() { + atomic.StoreUint64(&c.count, 0) } -func (c *logCounter) getCount() uint64 { - return atomic.LoadUint64(&c.counter) +// Count returns the current count. +func (c *Counter) Count() uint64 { + return atomic.LoadUint64(&c.count) } -func (c *logCounter) Write(p []byte) (n int, err error) { +func (c *Counter) Write(p []byte) (n int, err error) { c.incr() return len(p), nil } -// LogCountForLevel returns the number of log invocations for a given threshold. -func (n *Notepad) LogCountForLevel(l Threshold) uint64 { - return n.logCounters[l].getCount() -} - -// LogCountForLevelsGreaterThanorEqualTo returns the number of log invocations -// greater than or equal to a given threshold. -func (n *Notepad) LogCountForLevelsGreaterThanorEqualTo(threshold Threshold) uint64 { - var cnt uint64 - - for i := int(threshold); i < len(n.logCounters); i++ { - cnt += n.LogCountForLevel(Threshold(i)) - } - - return cnt -} - -// ResetLogCounters resets the invocation counters for all levels. -func (n *Notepad) ResetLogCounters() { - for _, np := range n.logCounters { - np.resetCounter() +// LogCounter creates a LogListener that counts log statements >= the given threshold. +func LogCounter(counter *Counter, t1 Threshold) LogListener { + return func(t2 Threshold) io.Writer { + if t2 < t1 { + // Not interested in this threshold. + return nil + } + return counter } } diff --git a/vendor/github.com/spf13/jwalterweatherman/notepad.go b/vendor/github.com/spf13/jwalterweatherman/notepad.go index ae5aaf71..cc7957bf 100644 --- a/vendor/github.com/spf13/jwalterweatherman/notepad.go +++ b/vendor/github.com/spf13/jwalterweatherman/notepad.go @@ -8,6 +8,7 @@ package jwalterweatherman import ( "fmt" "io" + "io/ioutil" "log" ) @@ -58,13 +59,28 @@ type Notepad struct { prefix string flags int - // One per Threshold - logCounters [7]*logCounter + logListeners []LogListener } -// NewNotepad create a new notepad. -func NewNotepad(outThreshold Threshold, logThreshold Threshold, outHandle, logHandle io.Writer, prefix string, flags int) *Notepad { - n := &Notepad{} +// A LogListener can ble supplied to a Notepad to listen on log writes for a given +// threshold. This can be used to capture log events in unit tests and similar. +// Note that this function will be invoked once for each log threshold. If +// the given threshold is not of interest to you, return nil. +// Note that these listeners will receive log events for a given threshold, even +// if the current configuration says not to log it. That way you can count ERRORs even +// if you don't print them to the console. +type LogListener func(t Threshold) io.Writer + +// NewNotepad creates a new Notepad. +func NewNotepad( + outThreshold Threshold, + logThreshold Threshold, + outHandle, logHandle io.Writer, + prefix string, flags int, + logListeners ...LogListener, +) *Notepad { + + n := &Notepad{logListeners: logListeners} n.loggers = [7]**log.Logger{&n.TRACE, &n.DEBUG, &n.INFO, &n.WARN, &n.ERROR, &n.CRITICAL, &n.FATAL} n.outHandle = outHandle @@ -95,28 +111,43 @@ func (n *Notepad) init() { for t, logger := range n.loggers { threshold := Threshold(t) - counter := &logCounter{} - n.logCounters[t] = counter prefix := n.prefix + threshold.String() + " " switch { case threshold >= n.logThreshold && threshold >= n.stdoutThreshold: - *logger = log.New(io.MultiWriter(counter, logAndOut), prefix, n.flags) + *logger = log.New(n.createLogWriters(threshold, logAndOut), prefix, n.flags) case threshold >= n.logThreshold: - *logger = log.New(io.MultiWriter(counter, n.logHandle), prefix, n.flags) + *logger = log.New(n.createLogWriters(threshold, n.logHandle), prefix, n.flags) case threshold >= n.stdoutThreshold: - *logger = log.New(io.MultiWriter(counter, n.outHandle), prefix, n.flags) + *logger = log.New(n.createLogWriters(threshold, n.outHandle), prefix, n.flags) default: - // counter doesn't care about prefix and flags, so don't use them - // for performance. - *logger = log.New(counter, "", 0) + *logger = log.New(n.createLogWriters(threshold, ioutil.Discard), prefix, n.flags) } } } +func (n *Notepad) createLogWriters(t Threshold, handle io.Writer) io.Writer { + if len(n.logListeners) == 0 { + return handle + } + writers := []io.Writer{handle} + for _, l := range n.logListeners { + w := l(t) + if w != nil { + writers = append(writers, w) + } + } + + if len(writers) == 1 { + return handle + } + + return io.MultiWriter(writers...) +} + // SetLogThreshold changes the threshold above which messages are written to the // log file. func (n *Notepad) SetLogThreshold(threshold Threshold) { diff --git a/vendor/github.com/spf13/viper/go.mod b/vendor/github.com/spf13/viper/go.mod index 86e801c1..27943005 100644 --- a/vendor/github.com/spf13/viper/go.mod +++ b/vendor/github.com/spf13/viper/go.mod @@ -2,23 +2,42 @@ module github.com/spf13/viper require ( github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6 // indirect + github.com/coreos/bbolt v1.3.2 // indirect github.com/coreos/etcd v3.3.10+incompatible // indirect - github.com/coreos/go-etcd v2.0.0+incompatible // indirect github.com/coreos/go-semver v0.2.0 // indirect + github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e // indirect + github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f // indirect + github.com/dgrijalva/jwt-go v3.2.0+incompatible // indirect github.com/fsnotify/fsnotify v1.4.7 + github.com/gogo/protobuf v1.2.1 // indirect + github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef // indirect + github.com/google/btree v1.0.0 // indirect + github.com/gorilla/websocket v1.4.0 // indirect + github.com/grpc-ecosystem/go-grpc-middleware v1.0.0 // indirect + github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect + github.com/grpc-ecosystem/grpc-gateway v1.9.0 // indirect github.com/hashicorp/hcl v1.0.0 + github.com/jonboulle/clockwork v0.1.0 // indirect github.com/magiconair/properties v1.8.0 github.com/mitchellh/mapstructure v1.1.2 github.com/pelletier/go-toml v1.2.0 + github.com/prometheus/client_golang v0.9.3 // indirect + github.com/soheilhy/cmux v0.1.4 // indirect github.com/spf13/afero v1.1.2 github.com/spf13/cast v1.3.0 github.com/spf13/jwalterweatherman v1.0.0 github.com/spf13/pflag v1.0.3 github.com/stretchr/testify v1.2.2 - github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8 // indirect + github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 // indirect + github.com/ugorji/go v1.1.4 // indirect + github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 // indirect github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77 - golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9 // indirect - golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a // indirect - golang.org/x/text v0.3.0 // indirect + go.etcd.io/bbolt v1.3.2 // indirect + go.uber.org/atomic v1.4.0 // indirect + go.uber.org/multierr v1.1.0 // indirect + go.uber.org/zap v1.10.0 // indirect + golang.org/x/net v0.0.0-20190522155817-f3200d17e092 // indirect + golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 // indirect + google.golang.org/grpc v1.21.0 // indirect gopkg.in/yaml.v2 v2.2.2 ) diff --git a/vendor/github.com/spf13/viper/go.sum b/vendor/github.com/spf13/viper/go.sum index 22d60745..97afaffe 100644 --- a/vendor/github.com/spf13/viper/go.sum +++ b/vendor/github.com/spf13/viper/go.sum @@ -1,25 +1,109 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6 h1:G1bPvciwNyF7IUmKXNt9Ak3m6u9DE1rF+RmtIkBpVdA= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/coreos/etcd v3.3.10+incompatible h1:KjVWqrZ5U0wa3CxY2AxlH6/UcB+PK2td1DcsYhA+HRs= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0 h1:HWo1m869IqiPhD389kmkxeTalrjNbbJTC8LXupb+sl0= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/coreos/bbolt v1.3.2 h1:wZwiHHUieZCquLkDL0B8UhzreNWsPHooDAG3q34zk0s= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= +github.com/coreos/etcd v3.3.10+incompatible h1:jFneRYjIvLMLhDLCzuTuU4rSJUjRplcJQ7pD7MnhC04= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-etcd v2.0.0+incompatible h1:bXhRBIXoTm9BYHS3gE0TtQuyNZyeEMux2sDi4oo5YOo= -github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0 h1:3Jm3tLmsgAYcjC+4Up7hJrFBPr+n7rAqYeSw/SZazuY= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f h1:lBNOc5arjvs8E5mO2tbpBpLoyyu8B6e44T7hJy6potg= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef h1:veQD95Isof8w9/WXiA+pa3tz3fJXkt5B7QaRBrM62gk= +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0 h1:Iju5GlWwrvL6UBg4zJJt3btmonfrMlCDdsejg4CZE7c= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.0 h1:bM6ZAFZmc/wPFaRDi0d5L7hGEZEx/2u+Tmr2evNHDiI= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/magiconair/properties v1.8.0 h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDePerRcY= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pkg/errors v0.8.0 h1:WdK/asTD0HN+q6hsWO3/vpuAkAr+tw6aNJNDFFf0+qw= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3 h1:9iH4JKXLzFbOAdtqv/a+j8aewx2Y8lAjAydhbaScPF8= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90 h1:S/YWwWx/RA8rT8tKFRuGUZhuA90OyIBpPCXkcbwU8DE= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.4.0 h1:7etb9YClo3a6HjLzfl6rIQaU+FDfi0VSX39io3aQ+DM= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084 h1:sofwID9zm4tzrgykg80hfFph1mryUeLRsUfoocVVmRY= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/sirupsen/logrus v1.2.0 h1:juTguoYk5qI21pwyTXY3B3Y5cOTH3ZUyZCg1v/mihuo= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/soheilhy/cmux v0.1.4 h1:0HKaf1o97UwFjHH9o5XsHUOF+tqmdA7KEzXLpiyaw0E= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= @@ -28,24 +112,67 @@ github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9 github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.2.3-0.20181014000028-04af85275a5c h1:03OmljzZYsezlgAfa+f/cY8E8XXPiFh5bgANMhUlDI4= -github.com/stretchr/testify v1.2.3-0.20181014000028-04af85275a5c/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.2.3-0.20181115233458-8019298d9fa5 h1:ixuBiBNIIQ3RKRSZy9B0DgaqreXG6NDHrbwAFGg8Mwk= -github.com/stretchr/testify v1.2.3-0.20181115233458-8019298d9fa5/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8 h1:3SVOIvH7Ae1KRYyQWRjXWJEA9sS/c/pjvH++55Gr648= -github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/xordataexchange/crypt v0.0.2 h1:VBfFXTpEwLq2hzs42qCHOyKw5AqEm9DYGqBuINmzUZY= -github.com/xordataexchange/crypt v0.0.2/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 h1:LnC5Kc/wtumK+WB441p7ynQJzVuNRJiqddSIE3IlSEQ= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/ugorji/go v1.1.4 h1:j4s+tAvLfL3bZyefP2SEWmhBzmuIlH/eqNuPdFPgngw= +github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77 h1:ESFSdwYZvkeru3RtdrYueztKhOBCSAAzS4Gf+k0tEow= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9 h1:mKdxBk7AujPs8kU4m80U72y/zjbZ3UcXC7dClwKbUI0= -golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a h1:1n5lsVfiQW3yfsRGu98756EH1YthsFqr/5mxHduZW2A= -golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +go.etcd.io/bbolt v1.3.2 h1:Z/90sZLPOeCy2PwprqkFa25PdkusRzaj9P8zm/KNyvk= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/zap v1.10.0 h1:ORx85nbTijNz8ljznvCMR1ZBIPKFn3jQrag10X2AsuM= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190522155817-f3200d17e092 h1:4QSRKanuywn15aTZvI/mIDEgPQpswuFndXpOj3rKEco= +golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 h1:Nw54tB0rB7hY/N0NQvRW8DG4Yk3Q6T9cu9RcFQDu1tc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.21.0 h1:G+97AoqBnmZIT91cLG/EkCoK9NSelj64P8bOHHNmGn0= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/vendor/github.com/spf13/viper/viper.go b/vendor/github.com/spf13/viper/viper.go index cee37b21..a3d37f8c 100644 --- a/vendor/github.com/spf13/viper/viper.go +++ b/vendor/github.com/spf13/viper/viper.go @@ -180,10 +180,11 @@ type Viper struct { remoteProviders []*defaultRemoteProvider // Name of file to look for inside the path - configName string - configFile string - configType string - envPrefix string + configName string + configFile string + configType string + configPermissions os.FileMode + envPrefix string automaticEnvApplied bool envKeyReplacer *strings.Replacer @@ -210,6 +211,7 @@ func New() *Viper { v := new(Viper) v.keyDelim = "." v.configName = "config" + v.configPermissions = os.FileMode(0644) v.fs = afero.NewOsFs() v.config = make(map[string]interface{}) v.override = make(map[string]interface{}) @@ -687,6 +689,12 @@ func (v *Viper) Get(key string) interface{} { return cast.ToString(val) case int32, int16, int8, int: return cast.ToInt(val) + case uint: + return cast.ToUint(val) + case uint32: + return cast.ToUint32(val) + case uint64: + return cast.ToUint64(val) case int64: return cast.ToInt64(val) case float64, float32: @@ -750,6 +758,24 @@ func (v *Viper) GetInt64(key string) int64 { return cast.ToInt64(v.Get(key)) } +// GetUint returns the value associated with the key as an unsigned integer. +func GetUint(key string) uint { return v.GetUint(key) } +func (v *Viper) GetUint(key string) uint { + return cast.ToUint(v.Get(key)) +} + +// GetUint32 returns the value associated with the key as an unsigned integer. +func GetUint32(key string) uint32 { return v.GetUint32(key) } +func (v *Viper) GetUint32(key string) uint32 { + return cast.ToUint32(v.Get(key)) +} + +// GetUint64 returns the value associated with the key as an unsigned integer. +func GetUint64(key string) uint64 { return v.GetUint64(key) } +func (v *Viper) GetUint64(key string) uint64 { + return cast.ToUint64(v.Get(key)) +} + // GetFloat64 returns the value associated with the key as a float64. func GetFloat64(key string) float64 { return v.GetFloat64(key) } func (v *Viper) GetFloat64(key string) float64 { @@ -811,8 +837,6 @@ func (v *Viper) UnmarshalKey(key string, rawVal interface{}, opts ...DecoderConf return err } - v.insensitiviseMaps() - return nil } @@ -828,8 +852,6 @@ func (v *Viper) Unmarshal(rawVal interface{}, opts ...DecoderConfigOption) error return err } - v.insensitiviseMaps() - return nil } @@ -872,8 +894,6 @@ func (v *Viper) UnmarshalExact(rawVal interface{}) error { return err } - v.insensitiviseMaps() - return nil } @@ -1334,7 +1354,7 @@ func (v *Viper) writeConfig(filename string, force bool) error { return fmt.Errorf("File: %s exists. Use WriteConfig to overwrite.", filename) } } - f, err := v.fs.OpenFile(filename, flags, os.FileMode(0644)) + f, err := v.fs.OpenFile(filename, flags, v.configPermissions) if err != nil { return err } @@ -1579,13 +1599,6 @@ func (v *Viper) WatchRemoteConfigOnChannel() error { return v.watchKeyValueConfigOnChannel() } -func (v *Viper) insensitiviseMaps() { - insensitiviseMap(v.config) - insensitiviseMap(v.defaults) - insensitiviseMap(v.override) - insensitiviseMap(v.kvstore) -} - // Retrieve the first found remote configuration. func (v *Viper) getKeyValueConfig() error { if RemoteConfig == nil { @@ -1778,6 +1791,12 @@ func (v *Viper) SetConfigType(in string) { } } +// SetConfigPermissions sets the permissions for the config file. +func SetConfigPermissions(perm os.FileMode) { v.SetConfigPermissions(perm) } +func (v *Viper) SetConfigPermissions(perm os.FileMode) { + v.configPermissions = perm.Perm() +} + func (v *Viper) getConfigType() string { if v.configType != "" { return v.configType diff --git a/vendor/github.com/tdewolff/minify/v2/.goreleaser.yml b/vendor/github.com/tdewolff/minify/v2/.goreleaser.yml index 2575f02a..4edcdc20 100644 --- a/vendor/github.com/tdewolff/minify/v2/.goreleaser.yml +++ b/vendor/github.com/tdewolff/minify/v2/.goreleaser.yml @@ -14,16 +14,15 @@ builds: - openbsd goarch: - amd64 -archive: +archives: + - id: minify format: tar.gz format_overrides: - goos: windows format: zip name_template: "{{.Binary}}_{{.Version}}_{{.Os}}_{{.Arch}}" files: - - README.md + - cmd/minify/README.md - LICENSE.md -snapshot: - name_template: "devel" release: disable: true diff --git a/vendor/github.com/tdewolff/minify/v2/.travis.yml b/vendor/github.com/tdewolff/minify/v2/.travis.yml index 4c14dfb2..9fd1c892 100644 --- a/vendor/github.com/tdewolff/minify/v2/.travis.yml +++ b/vendor/github.com/tdewolff/minify/v2/.travis.yml @@ -2,4 +2,5 @@ language: go before_install: - go get github.com/mattn/goveralls script: - - goveralls -v -service travis-ci -repotoken $COVERALLS_TOKEN -ignore=cmd/minify/* || go test -v ./... + - go test -v -covermode=count -coverprofile=profile.cov . ./css ./html ./js ./json ./svg ./xml + - goveralls -v -coverprofile=profile.cov -service travis-ci -repotoken $COVERALLS_TOKEN diff --git a/vendor/github.com/tdewolff/minify/v2/README.md b/vendor/github.com/tdewolff/minify/v2/README.md index 30080c87..d15c24b1 100644 --- a/vendor/github.com/tdewolff/minify/v2/README.md +++ b/vendor/github.com/tdewolff/minify/v2/README.md @@ -1,6 +1,8 @@ # Minify [![Build Status](https://travis-ci.org/tdewolff/minify.svg?branch=master)](https://travis-ci.org/tdewolff/minify) [![GoDoc](http://godoc.org/github.com/tdewolff/minify?status.svg)](http://godoc.org/github.com/tdewolff/minify) [![Coverage Status](https://coveralls.io/repos/github/tdewolff/minify/badge.svg?branch=master)](https://coveralls.io/github/tdewolff/minify?branch=master) [![Join the chat at https://gitter.im/tdewolff/minify](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/tdewolff/minify?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) -***BE AWARE: YOU NEED GO VERSION 1.9.7+, 1.10.3+, 1.11.X to run the latest release, otherwise use minify@v2.3.6 and parse@v2.3.4*** +***BE AWARE: YOU NEED GO 1.9.7+, 1.10.3+, 1.11 to run the latest release!!!*** + +If you cannot upgrade Go, please pin to **minify@v2.3.6** and **parse@v2.3.4** --- @@ -12,6 +14,8 @@ --- +*Did you know that the shortest valid piece of HTML5 is `x`? See for yourself at the [W3C Validator](http://validator.w3.org/)!* + Minify is a minifier package written in [Go][1]. It provides HTML5, CSS3, JS, JSON, SVG and XML minifiers and an interface to implement any other minifier. Minification is the process of removing bytes from a file (such as whitespace) without changing its output and therefore shrinking its size and speeding up transmission over the internet and possibly parsing. The implemented minifiers are designed for high performance. The core functionality associates mimetypes with minification functions, allowing embedded resources (like CSS or JS within HTML files) to be minified as well. Users can add new implementations that are triggered based on a mimetype (or pattern), or redirect to an external command (like ClosureCompiler, UglifyCSS, ...). @@ -59,17 +63,15 @@ The core functionality associates mimetypes with minification functions, allowin ### Roadmap -- [ ] General speed-up of all minifiers (use ASM for whitespace funcs) +- [ ] Use ASM/SSE to further speed-up core parts of the parsers/minifiers - [ ] Improve JS minifiers by shortening variables and proper semicolon omission - [ ] Speed-up SVG minifier, it is very slow - [x] Proper parser error reporting and line number + column information - [ ] Generation of source maps (uncertain, might slow down parsers too much if it cannot run separately nicely) -- [ ] Look into compression of images, fonts and other web resources (into package `compress`)? - [ ] Create a cmd to pack webfiles (much like webpack), ie. merging CSS and JS files, inlining small external files, minification and gzipping. This would work on HTML files. -- [ ] Create a package to format files, much like `gofmt` for Go files? ## Prologue -Minifiers or bindings to minifiers exist in almost all programming languages. Some implementations are merely using several regular-expressions to trim whitespace and comments (even though regex for parsing HTML/XML is ill-advised, for a good read see [Regular Expressions: Now You Have Two Problems](http://blog.codinghorror.com/regular-expressions-now-you-have-two-problems/)). Some implementations are much more profound, such as the [YUI Compressor](http://yui.github.io/yuicompressor/) and [Google Closure Compiler](https://github.com/google/closure-compiler) for JS. As most existing implementations either use JavaScript, use regexes, and don't focus on performance, they are pretty slow. +Minifiers or bindings to minifiers exist in almost all programming languages. Some implementations are merely using several regular expressions to trim whitespace and comments (even though regex for parsing HTML/XML is ill-advised, for a good read see [Regular Expressions: Now You Have Two Problems](http://blog.codinghorror.com/regular-expressions-now-you-have-two-problems/)). Some implementations are much more profound, such as the [YUI Compressor](http://yui.github.io/yuicompressor/) and [Google Closure Compiler](https://github.com/google/closure-compiler) for JS. As most existing implementations either use JavaScript, use regexes, and don't focus on performance, they are pretty slow. This minifier proves to be that fast and extensive minifier that can handle HTML and any other filetype it may contain (CSS, JS, ...). It is usually orders of magnitude faster than existing minifiers. @@ -95,9 +97,7 @@ import ( There is no guarantee for absolute stability, but I take issues and bugs seriously and don't take API changes lightly. The library will be maintained in a compatible way unless vital bugs prevent me from doing so. There has been one API change after v1 which added options support and I took the opportunity to push through some more API clean up as well. There are no plans whatsoever for future API changes. ## Testing -For all subpackages and the imported `parse` and `buffer` packages, test coverage of 100% is pursued. Besides full coverage, the minifiers are [fuzz tested](https://github.com/tdewolff/fuzz) using [github.com/dvyukov/go-fuzz](http://www.github.com/dvyukov/go-fuzz), see [the wiki](https://github.com/tdewolff/minify/wiki) for the most important bugs found by fuzz testing. Furthermore am I working on adding visual testing to ensure that minification doesn't change anything visually. By using the WebKit browser to render the original and minified pages we can check whether any pixel is different. - -These tests ensure that everything works as intended, the code does not crash (whatever the input) and that it doesn't change the final result visually. If you still encounter a bug, please report [here](https://github.com/tdewolff/minify/issues)! +For all subpackages and the imported `parse` package, test coverage of 100% is pursued. Besides full coverage, the minifiers are [fuzz tested](https://github.com/tdewolff/fuzz) using [github.com/dvyukov/go-fuzz](http://www.github.com/dvyukov/go-fuzz), see [the wiki](https://github.com/tdewolff/minify/wiki) for the most important bugs found by fuzz testing. These tests ensure that everything works as intended and that the code does not crash (whatever the input). If you still encounter a bug, please file a [bug report](https://github.com/tdewolff/minify/issues)! ## Performance The benchmarks directory contains a number of standardized samples used to compare performance between changes. To give an indication of the speed of this library, I've ran the tests on my Thinkpad T460 (i5-6300U quad-core 2.4GHz running Arch Linux) using Go 1.9.2. diff --git a/vendor/github.com/tdewolff/minify/v2/common.go b/vendor/github.com/tdewolff/minify/v2/common.go index 87fe532b..2d45f305 100644 --- a/vendor/github.com/tdewolff/minify/v2/common.go +++ b/vendor/github.com/tdewolff/minify/v2/common.go @@ -130,6 +130,8 @@ func Decimal(num []byte, prec int) []byte { end = dot + 1 + prec inc := num[end] >= '5' if inc || num[end-1] == '0' { + // process either an increase from a lesser significant decimal (>= 5) + // or remove trailing zeros after the dot, or both for i := end - 1; i > start; i-- { if i == dot { end-- @@ -139,6 +141,7 @@ func Decimal(num []byte, prec int) []byte { end-- } else { num[i] = '0' + break } } else { num[i]++ @@ -147,6 +150,8 @@ func Decimal(num []byte, prec int) []byte { } } else if i > dot && num[i] == '0' { end-- + } else { + break } } } @@ -377,6 +382,7 @@ func Number(num []byte, prec int) []byte { end-- } else { num[i] = '0' + break } } else { num[i]++ @@ -385,6 +391,8 @@ func Number(num []byte, prec int) []byte { } } else if i > dot && num[i] == '0' { end-- + } else { + break } } } diff --git a/vendor/github.com/tdewolff/minify/v2/go.mod b/vendor/github.com/tdewolff/minify/v2/go.mod index 73bd480f..587b71de 100644 --- a/vendor/github.com/tdewolff/minify/v2/go.mod +++ b/vendor/github.com/tdewolff/minify/v2/go.mod @@ -1,12 +1,14 @@ module github.com/tdewolff/minify/v2 +//replace github.com/tdewolff/parse/v2 => ../parse + require ( github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927 // indirect github.com/dustin/go-humanize v1.0.0 github.com/fsnotify/fsnotify v1.4.7 github.com/matryer/try v0.0.0-20161228173917-9ac251b645a2 github.com/spf13/pflag v1.0.3 - github.com/tdewolff/parse/v2 v2.3.5 + github.com/tdewolff/parse/v2 v2.3.7 github.com/tdewolff/test v1.0.0 golang.org/x/sys v0.0.0-20181031143558-9b800f95dbbc // indirect ) diff --git a/vendor/github.com/tdewolff/minify/v2/go.sum b/vendor/github.com/tdewolff/minify/v2/go.sum index 8213622f..0f5d543e 100644 --- a/vendor/github.com/tdewolff/minify/v2/go.sum +++ b/vendor/github.com/tdewolff/minify/v2/go.sum @@ -8,8 +8,8 @@ github.com/matryer/try v0.0.0-20161228173917-9ac251b645a2 h1:JAEbJn3j/FrhdWA9jW8 github.com/matryer/try v0.0.0-20161228173917-9ac251b645a2/go.mod h1:0KeJpeMD6o+O4hW7qJOT7vyQPKrWmj26uf5wMc/IiIs= github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/tdewolff/parse/v2 v2.3.5 h1:/uS8JfhwVJsNkEh769GM5ENv6L9LOh2Z9uW3tCdlhs0= -github.com/tdewolff/parse/v2 v2.3.5/go.mod h1:HansaqmN4I/U7L6/tUp0NcwT2tFO0F4EAWYGSDzkYNk= +github.com/tdewolff/parse/v2 v2.3.7 h1:DXoTUgrUE2Eap0m7zg1ljCO5C78vhEi7HTc4YnJWrRk= +github.com/tdewolff/parse/v2 v2.3.7/go.mod h1:HansaqmN4I/U7L6/tUp0NcwT2tFO0F4EAWYGSDzkYNk= github.com/tdewolff/test v1.0.0 h1:jOwzqCXr5ePXEPGJaq2ivoR6HOCi+D5TPfpoyg8yvmU= github.com/tdewolff/test v1.0.0/go.mod h1:DiQUlutnqlEvdvhSn2LPGy4TFwRauAaYDsL+683RNX4= golang.org/x/sys v0.0.0-20181031143558-9b800f95dbbc h1:SdCq5U4J+PpbSDIl9bM0V1e1Ug1jsnBkAFvTs1htn7U= diff --git a/vendor/github.com/tdewolff/minify/v2/html/html.go b/vendor/github.com/tdewolff/minify/v2/html/html.go index 4f8b92f9..fef64ac5 100644 --- a/vendor/github.com/tdewolff/minify/v2/html/html.go +++ b/vendor/github.com/tdewolff/minify/v2/html/html.go @@ -347,6 +347,10 @@ func (o *Minifier) Minify(m *minify.M, w io.Writer, r io.Reader, _ map[string]st } val := attr.AttrVal + if attr.Traits&trimAttr != 0 { + val = parse.TrimWhitespace(val) + val = parse.ReplaceMultipleWhitespace(val) + } if len(val) == 0 && (attr.Hash == html.Class || attr.Hash == html.Dir || attr.Hash == html.Id || @@ -389,6 +393,7 @@ func (o *Minifier) Minify(m *minify.M, w io.Writer, r io.Reader, _ map[string]st // CSS and JS minifiers for attribute inline code if attr.Hash == html.Style { + val = parse.TrimWhitespace(val) attrMinifyBuffer.Reset() if err := m.MinifyMimetype(cssMimeBytes, attrMinifyBuffer, buffer.NewReader(val), inlineParams); err == nil { val = attrMinifyBuffer.Bytes() @@ -399,6 +404,7 @@ func (o *Minifier) Minify(m *minify.M, w io.Writer, r io.Reader, _ map[string]st continue } } else if len(attr.Text) > 2 && attr.Text[0] == 'o' && attr.Text[1] == 'n' { + val = parse.TrimWhitespace(val) if len(val) >= 11 && parse.EqualFold(val[:11], jsSchemeBytes) { val = val[11:] } @@ -411,23 +417,26 @@ func (o *Minifier) Minify(m *minify.M, w io.Writer, r io.Reader, _ map[string]st if len(val) == 0 { continue } - } else if len(val) > 5 && attr.Traits&urlAttr != 0 { // anchors are already handled - if parse.EqualFold(val[:4], httpBytes) { - if val[4] == ':' { - if m.URL != nil && m.URL.Scheme == "http" { - val = val[5:] - } else { - parse.ToLower(val[:4]) - } - } else if (val[4] == 's' || val[4] == 'S') && val[5] == ':' { - if m.URL != nil && m.URL.Scheme == "https" { - val = val[6:] - } else { - parse.ToLower(val[:5]) + } else if attr.Traits&urlAttr != 0 { // anchors are already handled + val = parse.TrimWhitespace(val) + if 5 < len(val) { + if parse.EqualFold(val[:4], httpBytes) { + if val[4] == ':' { + if m.URL != nil && m.URL.Scheme == "http" { + val = val[5:] + } else { + parse.ToLower(val[:4]) + } + } else if (val[4] == 's' || val[4] == 'S') && val[5] == ':' { + if m.URL != nil && m.URL.Scheme == "https" { + val = val[6:] + } else { + parse.ToLower(val[:5]) + } } + } else if parse.EqualFold(val[:5], dataSchemeBytes) { + val = minify.DataURI(m, val) } - } else if parse.EqualFold(val[:5], dataSchemeBytes) { - val = minify.DataURI(m, val) } } @@ -441,8 +450,12 @@ func (o *Minifier) Minify(m *minify.M, w io.Writer, r io.Reader, _ map[string]st if _, err := w.Write(isBytes); err != nil { return err } + + // use double quotes for RDFa attributes + isXML := attr.Hash == html.Vocab || attr.Hash == html.Typeof || attr.Hash == html.Property || attr.Hash == html.Resource || attr.Hash == html.Prefix || attr.Hash == html.Content || attr.Hash == html.About || attr.Hash == html.Rev || attr.Hash == html.Datatype || attr.Hash == html.Inlist + // no quotes if possible, else prefer single or double depending on which occurs more often in value - val = html.EscapeAttrVal(&attrByteBuffer, attr.AttrVal, val) + val = html.EscapeAttrVal(&attrByteBuffer, attr.AttrVal, val, isXML) if _, err := w.Write(val); err != nil { return err } diff --git a/vendor/github.com/tdewolff/minify/v2/html/table.go b/vendor/github.com/tdewolff/minify/v2/html/table.go index 12da2134..8b8e277e 100644 --- a/vendor/github.com/tdewolff/minify/v2/html/table.go +++ b/vendor/github.com/tdewolff/minify/v2/html/table.go @@ -2,17 +2,18 @@ package html // import "github.com/tdewolff/minify/html" import "github.com/tdewolff/parse/v2/html" -type traits uint8 +type traits uint16 const ( rawTag traits = 1 << iota nonPhrasingTag objectTag + omitPTag // omit p end tag if it is followed by this start tag + keepPTag // keep p end tag if it is followed by this end tag booleanAttr caselessAttr urlAttr - omitPTag // omit p end tag if it is followed by this start tag - keepPTag // keep p end tag if it is followed by this end tag + trimAttr ) var tagMap = map[html.Hash]traits{ @@ -108,11 +109,14 @@ var attrMap = map[html.Hash]traits{ html.Charset: caselessAttr, html.Checked: booleanAttr, html.Cite: urlAttr, + html.Class: trimAttr, html.Classid: urlAttr, html.Clear: caselessAttr, html.Codebase: urlAttr, html.Codetype: caselessAttr, html.Color: caselessAttr, + html.Cols: trimAttr, + html.Colspan: trimAttr, html.Compact: booleanAttr, html.Controls: booleanAttr, html.Data: urlAttr, @@ -143,7 +147,8 @@ var attrMap = map[html.Hash]traits{ html.Link: caselessAttr, html.Longdesc: urlAttr, html.Manifest: urlAttr, - html.Media: caselessAttr, + html.Maxlength: trimAttr, + html.Media: caselessAttr | trimAttr, html.Method: caselessAttr, html.Multiple: booleanAttr, html.Muted: booleanAttr, @@ -161,6 +166,8 @@ var attrMap = map[html.Hash]traits{ html.Required: booleanAttr, html.Rev: caselessAttr, html.Reversed: booleanAttr, + html.Rows: trimAttr, + html.Rowspan: trimAttr, html.Rules: caselessAttr, html.Scope: caselessAttr, html.Scoped: booleanAttr, @@ -168,8 +175,12 @@ var attrMap = map[html.Hash]traits{ html.Seamless: booleanAttr, html.Selected: booleanAttr, html.Shape: caselessAttr, + html.Size: trimAttr, html.Sortable: booleanAttr, + html.Span: trimAttr, html.Src: urlAttr, + html.Srcset: trimAttr, + html.Tabindex: trimAttr, html.Target: caselessAttr, html.Text: caselessAttr, html.Translate: booleanAttr, diff --git a/vendor/github.com/tdewolff/minify/v2/minify.go b/vendor/github.com/tdewolff/minify/v2/minify.go index a577d3ff..ebf5055f 100644 --- a/vendor/github.com/tdewolff/minify/v2/minify.go +++ b/vendor/github.com/tdewolff/minify/v2/minify.go @@ -58,6 +58,7 @@ func (c *cmdMinifier) Minify(_ *M, w io.Writer, r io.Reader, _ map[string]string // M holds a map of mimetype => function to allow recursive minifier calls of the minifier functions. type M struct { + mutex sync.RWMutex literal map[string]Minifier pattern []patternMinifier @@ -67,6 +68,7 @@ type M struct { // New returns a new M. func New() *M { return &M{ + sync.RWMutex{}, map[string]Minifier{}, []patternMinifier{}, nil, @@ -75,40 +77,55 @@ func New() *M { // Add adds a minifier to the mimetype => function map (unsafe for concurrent use). func (m *M) Add(mimetype string, minifier Minifier) { + m.mutex.Lock() m.literal[mimetype] = minifier + m.mutex.Unlock() } // AddFunc adds a minify function to the mimetype => function map (unsafe for concurrent use). func (m *M) AddFunc(mimetype string, minifier MinifierFunc) { + m.mutex.Lock() m.literal[mimetype] = minifier + m.mutex.Unlock() } // AddRegexp adds a minifier to the mimetype => function map (unsafe for concurrent use). func (m *M) AddRegexp(pattern *regexp.Regexp, minifier Minifier) { + m.mutex.Lock() m.pattern = append(m.pattern, patternMinifier{pattern, minifier}) + m.mutex.Unlock() } // AddFuncRegexp adds a minify function to the mimetype => function map (unsafe for concurrent use). func (m *M) AddFuncRegexp(pattern *regexp.Regexp, minifier MinifierFunc) { + m.mutex.Lock() m.pattern = append(m.pattern, patternMinifier{pattern, minifier}) + m.mutex.Unlock() } // AddCmd adds a minify function to the mimetype => function map (unsafe for concurrent use) that executes a command to process the minification. // It allows the use of external tools like ClosureCompiler, UglifyCSS, etc. for a specific mimetype. func (m *M) AddCmd(mimetype string, cmd *exec.Cmd) { + m.mutex.Lock() m.literal[mimetype] = &cmdMinifier{cmd} + m.mutex.Unlock() } // AddCmdRegexp adds a minify function to the mimetype => function map (unsafe for concurrent use) that executes a command to process the minification. // It allows the use of external tools like ClosureCompiler, UglifyCSS, etc. for a specific mimetype regular expression. func (m *M) AddCmdRegexp(pattern *regexp.Regexp, cmd *exec.Cmd) { + m.mutex.Lock() m.pattern = append(m.pattern, patternMinifier{pattern, &cmdMinifier{cmd}}) + m.mutex.Unlock() } // Match returns the pattern and minifier that gets matched with the mediatype. // It returns nil when no matching minifier exists. // It has the same matching algorithm as Minify. func (m *M) Match(mediatype string) (string, map[string]string, MinifierFunc) { + m.mutex.RLock() + defer m.mutex.RUnlock() + mimetype, params := parse.Mediatype([]byte(mediatype)) if minifier, ok := m.literal[string(mimetype)]; ok { // string conversion is optimized away return string(mimetype), params, minifier.Minify @@ -134,6 +151,9 @@ func (m *M) Minify(mediatype string, w io.Writer, r io.Reader) error { // It is a lower level version of Minify and requires the mediatype to be split up into mimetype and parameters. // It is mostly used internally by minifiers because it is faster (no need to convert a byte-slice to string and vice versa). func (m *M) MinifyMimetype(mimetype []byte, w io.Writer, r io.Reader, params map[string]string) error { + m.mutex.RLock() + defer m.mutex.RUnlock() + err := ErrNotExist if minifier, ok := m.literal[string(mimetype)]; ok { // string conversion is optimized away err = minifier.Minify(m, w, r, params) diff --git a/vendor/github.com/tdewolff/parse/v2/.travis.yml b/vendor/github.com/tdewolff/parse/v2/.travis.yml index a24cef77..938b5c43 100644 --- a/vendor/github.com/tdewolff/parse/v2/.travis.yml +++ b/vendor/github.com/tdewolff/parse/v2/.travis.yml @@ -2,4 +2,5 @@ language: go before_install: - go get github.com/mattn/goveralls script: - - goveralls -v -service travis-ci -repotoken $COVERALLS_TOKEN || go test -v ./... \ No newline at end of file + - go test -v -covermode=count -coverprofile=profile.cov . ./buffer ./css ./html ./js ./json ./strconv ./svg ./xml + - goveralls -v -coverprofile=profile.cov -service travis-ci -repotoken $COVERALLS_TOKEN diff --git a/vendor/github.com/tdewolff/parse/v2/README.md b/vendor/github.com/tdewolff/parse/v2/README.md index efa3962e..865ae57d 100644 --- a/vendor/github.com/tdewolff/parse/v2/README.md +++ b/vendor/github.com/tdewolff/parse/v2/README.md @@ -1,5 +1,11 @@ # Parse [![Build Status](https://travis-ci.org/tdewolff/parse.svg?branch=master)](https://travis-ci.org/tdewolff/parse) [![GoDoc](http://godoc.org/github.com/tdewolff/parse?status.svg)](http://godoc.org/github.com/tdewolff/parse) [![Coverage Status](https://coveralls.io/repos/github/tdewolff/parse/badge.svg?branch=master)](https://coveralls.io/github/tdewolff/parse?branch=master) +***BE AWARE: YOU NEED GO 1.9.7+, 1.10.3+, 1.11 to run the latest release!!!*** + +If you cannot upgrade Go, please pin to **parse@v2.3.4** + +--- + This package contains several lexers and parsers written in [Go][1]. All subpackages are built to be streaming, high performance and to be in accordance with the official (latest) specifications. The lexers are implemented using `buffer.Lexer` in https://github.com/tdewolff/parse/buffer and the parsers work on top of the lexers. Some subpackages have hashes defined (using [Hasher](https://github.com/tdewolff/hasher)) that speed up common byte-slice comparisons. diff --git a/vendor/github.com/tdewolff/parse/v2/buffer/lexer.go b/vendor/github.com/tdewolff/parse/v2/buffer/lexer.go index 45c18440..c25943d2 100644 --- a/vendor/github.com/tdewolff/parse/v2/buffer/lexer.go +++ b/vendor/github.com/tdewolff/parse/v2/buffer/lexer.go @@ -154,5 +154,5 @@ func (z *Lexer) Offset() int { // Bytes returns the underlying buffer. func (z *Lexer) Bytes() []byte { - return z.buf + return z.buf[:len(z.buf)-1] } diff --git a/vendor/github.com/tdewolff/parse/v2/error.go b/vendor/github.com/tdewolff/parse/v2/error.go index cd16ca0c..28b87217 100644 --- a/vendor/github.com/tdewolff/parse/v2/error.go +++ b/vendor/github.com/tdewolff/parse/v2/error.go @@ -26,7 +26,7 @@ func NewError(msg string, r io.Reader, offset int) *Error { } } -// NewErrorLexer creates a new error from a *buffer.Lexer +// NewErrorLexer creates a new error from an active Lexer. func NewErrorLexer(msg string, l *buffer.Lexer) *Error { r := buffer.NewReader(l.Bytes()) offset := l.Offset() @@ -37,7 +37,7 @@ func NewErrorLexer(msg string, l *buffer.Lexer) *Error { // Context is the entire line at which the error occurred. func (e *Error) Position() (int, int, string) { if e.line == 0 { - e.line, e.column, e.context, _ = Position(e.r, e.Offset) + e.line, e.column, e.context = Position(e.r, e.Offset) } return e.line, e.column, e.context } diff --git a/vendor/github.com/tdewolff/parse/v2/html/README.md b/vendor/github.com/tdewolff/parse/v2/html/README.md index 13beb398..68523716 100644 --- a/vendor/github.com/tdewolff/parse/v2/html/README.md +++ b/vendor/github.com/tdewolff/parse/v2/html/README.md @@ -1,11 +1,11 @@ -# HTML [![GoDoc](http://godoc.org/github.com/tdewolff/parse/html?status.svg)](http://godoc.org/github.com/tdewolff/parse/html) [![GoCover](http://gocover.io/_badge/github.com/tdewolff/parse/html)](http://gocover.io/github.com/tdewolff/parse/html) +# HTML [![GoDoc](http://godoc.org/github.com/tdewolff/parse/html?status.svg)](http://godoc.org/github.com/tdewolff/parse/html) This package is an HTML5 lexer written in [Go][1]. It follows the specification at [The HTML syntax](http://www.w3.org/TR/html5/syntax.html). The lexer takes an io.Reader and converts it into tokens until the EOF. ## Installation Run the following command - go get github.com/tdewolff/parse/html + go get -u github.com/tdewolff/parse/v2/html or add the following import and run project with `go get` diff --git a/vendor/github.com/tdewolff/parse/v2/html/hash.go b/vendor/github.com/tdewolff/parse/v2/html/hash.go index 382e5c5f..e61fed34 100644 --- a/vendor/github.com/tdewolff/parse/v2/html/hash.go +++ b/vendor/github.com/tdewolff/parse/v2/html/hash.go @@ -11,375 +11,383 @@ type Hash uint32 // Unique hash definitions to be used instead of strings const ( A Hash = 0x1 // a - Abbr Hash = 0x4 // abbr - Accept Hash = 0x3206 // accept - Accept_Charset Hash = 0x320e // accept-charset - Accesskey Hash = 0x4409 // accesskey - Acronym Hash = 0xbb07 // acronym - Action Hash = 0x2ba06 // action - Address Hash = 0x67e07 // address - Align Hash = 0x1605 // align - Alink Hash = 0xd205 // alink - Allowfullscreen Hash = 0x23d0f // allowfullscreen - Alt Hash = 0xee03 // alt - Annotation Hash = 0x2070a // annotation - AnnotationXml Hash = 0x2070d // annotationXml - Applet Hash = 0x14506 // applet - Area Hash = 0x38d04 // area - Article Hash = 0x40e07 // article - Aside Hash = 0x8305 // aside - Async Hash = 0xfa05 // async - Audio Hash = 0x11605 // audio - Autocomplete Hash = 0x12e0c // autocomplete - Autofocus Hash = 0x13a09 // autofocus - Autoplay Hash = 0x14f08 // autoplay - Axis Hash = 0x15704 // axis + Abbr Hash = 0x6e104 // abbr + About Hash = 0x5 // about + Accept Hash = 0x7106 // accept + Accept_Charset Hash = 0x710e // accept-charset + Accesskey Hash = 0x8309 // accesskey + Acronym Hash = 0xed07 // acronym + Action Hash = 0x2bd06 // action + Address Hash = 0x6a407 // address + Align Hash = 0x2e05 // align + Alink Hash = 0x10405 // alink + Allowfullscreen Hash = 0x2350f // allowfullscreen + Alt Hash = 0x11d03 // alt + Annotation Hash = 0x20d0a // annotation + AnnotationXml Hash = 0x20d0d // annotationXml + Applet Hash = 0x16a06 // applet + Area Hash = 0x39504 // area + Article Hash = 0x43007 // article + Aside Hash = 0xa405 // aside + Async Hash = 0x12905 // async + Audio Hash = 0x14705 // audio + Autocomplete Hash = 0x1530c // autocomplete + Autofocus Hash = 0x15f09 // autofocus + Autoplay Hash = 0x17408 // autoplay + Axis Hash = 0x17c04 // axis B Hash = 0x101 // b - Background Hash = 0x1e0a // background - Base Hash = 0x45404 // base - Basefont Hash = 0x45408 // basefont - Bdi Hash = 0xcb03 // bdi - Bdo Hash = 0x18403 // bdo - Bgcolor Hash = 0x19707 // bgcolor - Bgsound Hash = 0x19e07 // bgsound - Big Hash = 0x1a603 // big - Blink Hash = 0x1a905 // blink - Blockquote Hash = 0x1ae0a // blockquote - Body Hash = 0x4004 // body - Border Hash = 0x33806 // border - Br Hash = 0x202 // br - Button Hash = 0x1b806 // button - Canvas Hash = 0x7f06 // canvas - Caption Hash = 0x27f07 // caption - Center Hash = 0x62a06 // center - Challenge Hash = 0x1e509 // challenge - Charset Hash = 0x3907 // charset - Checked Hash = 0x3b407 // checked - Cite Hash = 0xfe04 // cite - Class Hash = 0x1c305 // class - Classid Hash = 0x1c307 // classid - Clear Hash = 0x41205 // clear - Code Hash = 0x1d604 // code - Codebase Hash = 0x45008 // codebase - Codetype Hash = 0x1d608 // codetype - Col Hash = 0x19903 // col - Colgroup Hash = 0x1ee08 // colgroup - Color Hash = 0x19905 // color - Cols Hash = 0x20204 // cols - Colspan Hash = 0x20207 // colspan - Command Hash = 0x21407 // command - Compact Hash = 0x21b07 // compact - Content Hash = 0x4a907 // content - Contenteditable Hash = 0x4a90f // contenteditable - Contextmenu Hash = 0x3bd0b // contextmenu - Controls Hash = 0x22a08 // controls - Coords Hash = 0x23606 // coords - Crossorigin Hash = 0x25b0b // crossorigin - Data Hash = 0x4c004 // data - Datalist Hash = 0x4c008 // datalist - Datetime Hash = 0x2ea08 // datetime - Dd Hash = 0x31602 // dd - Declare Hash = 0x8607 // declare - Default Hash = 0x5407 // default - DefaultChecked Hash = 0x5040e // defaultChecked - DefaultMuted Hash = 0x5650c // defaultMuted - DefaultSelected Hash = 0x540f // defaultSelected - Defer Hash = 0x6205 // defer - Del Hash = 0x7203 // del - Desc Hash = 0x7c04 // desc - Details Hash = 0x9207 // details - Dfn Hash = 0xab03 // dfn - Dialog Hash = 0xcc06 // dialog - Dir Hash = 0xd903 // dir - Dirname Hash = 0xd907 // dirname - Disabled Hash = 0x10408 // disabled - Div Hash = 0x10b03 // div - Dl Hash = 0x1a402 // dl - Download Hash = 0x48608 // download - Draggable Hash = 0x1c909 // draggable - Dropzone Hash = 0x41908 // dropzone - Dt Hash = 0x60602 // dt - Em Hash = 0x6e02 // em - Embed Hash = 0x6e05 // embed - Enabled Hash = 0x4e07 // enabled - Enctype Hash = 0x2cf07 // enctype - Face Hash = 0x62804 // face - Fieldset Hash = 0x26c08 // fieldset - Figcaption Hash = 0x27c0a // figcaption - Figure Hash = 0x29006 // figure - Font Hash = 0x45804 // font - Footer Hash = 0xf106 // footer - For Hash = 0x29c03 // for - ForeignObject Hash = 0x29c0d // foreignObject - Foreignobject Hash = 0x2a90d // foreignobject - Form Hash = 0x2b604 // form - Formaction Hash = 0x2b60a // formaction - Formenctype Hash = 0x2cb0b // formenctype - Formmethod Hash = 0x2d60a // formmethod - Formnovalidate Hash = 0x2e00e // formnovalidate - Formtarget Hash = 0x2f50a // formtarget - Frame Hash = 0xa305 // frame - Frameborder Hash = 0x3330b // frameborder - Frameset Hash = 0xa308 // frameset - H1 Hash = 0x19502 // h1 - H2 Hash = 0x32402 // h2 - H3 Hash = 0x34902 // h3 - H4 Hash = 0x38602 // h4 - H5 Hash = 0x60802 // h5 - H6 Hash = 0x2ff02 // h6 - Head Hash = 0x37204 // head - Header Hash = 0x37206 // header - Headers Hash = 0x37207 // headers - Height Hash = 0x30106 // height - Hgroup Hash = 0x30906 // hgroup - Hidden Hash = 0x31406 // hidden - High Hash = 0x32104 // high - Hr Hash = 0xaf02 // hr - Href Hash = 0xaf04 // href - Hreflang Hash = 0xaf08 // hreflang - Html Hash = 0x30504 // html - Http_Equiv Hash = 0x3260a // http-equiv - I Hash = 0x601 // i - Icon Hash = 0x4a804 // icon - Id Hash = 0x8502 // id - Iframe Hash = 0x33206 // iframe - Image Hash = 0x33e05 // image - Img Hash = 0x34303 // img - Inert Hash = 0x55005 // inert - Input Hash = 0x47305 // input - Ins Hash = 0x26403 // ins - Isindex Hash = 0x15907 // isindex - Ismap Hash = 0x34b05 // ismap - Itemid Hash = 0xff06 // itemid - Itemprop Hash = 0x58808 // itemprop - Itemref Hash = 0x62207 // itemref - Itemscope Hash = 0x35609 // itemscope - Itemtype Hash = 0x36008 // itemtype - Kbd Hash = 0xca03 // kbd - Keygen Hash = 0x4a06 // keygen - Keytype Hash = 0x68807 // keytype - Kind Hash = 0xd604 // kind - Label Hash = 0x7405 // label - Lang Hash = 0xb304 // lang - Language Hash = 0xb308 // language - Legend Hash = 0x1d006 // legend - Li Hash = 0x1702 // li - Link Hash = 0xd304 // link - List Hash = 0x4c404 // list - Listing Hash = 0x4c407 // listing - Longdesc Hash = 0x7808 // longdesc - Loop Hash = 0x12104 // loop - Low Hash = 0x23f03 // low - Main Hash = 0x1004 // main - Malignmark Hash = 0xc10a // malignmark - Manifest Hash = 0x65e08 // manifest - Map Hash = 0x14403 // map - Mark Hash = 0xc704 // mark - Marquee Hash = 0x36807 // marquee - Math Hash = 0x36f04 // math - Max Hash = 0x37e03 // max - Maxlength Hash = 0x37e09 // maxlength - Media Hash = 0xde05 // media - Mediagroup Hash = 0xde0a // mediagroup - Menu Hash = 0x3c404 // menu - Meta Hash = 0x4d304 // meta - Meter Hash = 0x2f005 // meter - Method Hash = 0x2da06 // method - Mglyph Hash = 0x34406 // mglyph - Mi Hash = 0x2c02 // mi - Min Hash = 0x2c03 // min - Mn Hash = 0x2e302 // mn - Mo Hash = 0x4f702 // mo - Ms Hash = 0x35902 // ms - Mtext Hash = 0x38805 // mtext - Multiple Hash = 0x39608 // multiple - Muted Hash = 0x39e05 // muted - Name Hash = 0xdc04 // name - Nav Hash = 0x1303 // nav - Nobr Hash = 0x1a04 // nobr - Noembed Hash = 0x6c07 // noembed - Noframes Hash = 0xa108 // noframes - Nohref Hash = 0xad06 // nohref - Noresize Hash = 0x24b08 // noresize - Noscript Hash = 0x31908 // noscript - Noshade Hash = 0x4ff07 // noshade - Novalidate Hash = 0x2e40a // novalidate - Nowrap Hash = 0x59106 // nowrap - Object Hash = 0x2b006 // object - Ol Hash = 0x17102 // ol - Onabort Hash = 0x1bc07 // onabort - Onafterprint Hash = 0x2840c // onafterprint - Onbeforeprint Hash = 0x2be0d // onbeforeprint - Onbeforeunload Hash = 0x6720e // onbeforeunload - Onblur Hash = 0x17e06 // onblur - Oncancel Hash = 0x11a08 // oncancel - Oncanplay Hash = 0x18609 // oncanplay - Oncanplaythrough Hash = 0x18610 // oncanplaythrough - Onchange Hash = 0x42f08 // onchange - Onclick Hash = 0x6b607 // onclick - Onclose Hash = 0x3a307 // onclose - Oncontextmenu Hash = 0x3bb0d // oncontextmenu - Oncuechange Hash = 0x3c80b // oncuechange - Ondblclick Hash = 0x3d30a // ondblclick - Ondrag Hash = 0x3dd06 // ondrag - Ondragend Hash = 0x3dd09 // ondragend - Ondragenter Hash = 0x3e60b // ondragenter - Ondragleave Hash = 0x3f10b // ondragleave - Ondragover Hash = 0x3fc0a // ondragover - Ondragstart Hash = 0x4060b // ondragstart - Ondrop Hash = 0x41706 // ondrop - Ondurationchange Hash = 0x42710 // ondurationchange - Onemptied Hash = 0x41e09 // onemptied - Onended Hash = 0x43707 // onended - Onerror Hash = 0x43e07 // onerror - Onfocus Hash = 0x44507 // onfocus - Onhashchange Hash = 0x4650c // onhashchange - Oninput Hash = 0x47107 // oninput - Oninvalid Hash = 0x47809 // oninvalid - Onkeydown Hash = 0x48109 // onkeydown - Onkeypress Hash = 0x48e0a // onkeypress - Onkeyup Hash = 0x49e07 // onkeyup - Onload Hash = 0x4b806 // onload - Onloadeddata Hash = 0x4b80c // onloadeddata - Onloadedmetadata Hash = 0x4cb10 // onloadedmetadata - Onloadstart Hash = 0x4e10b // onloadstart - Onmessage Hash = 0x4ec09 // onmessage - Onmousedown Hash = 0x4f50b // onmousedown - Onmousemove Hash = 0x5120b // onmousemove - Onmouseout Hash = 0x51d0a // onmouseout - Onmouseover Hash = 0x52a0b // onmouseover - Onmouseup Hash = 0x53509 // onmouseup - Onmousewheel Hash = 0x53e0c // onmousewheel - Onoffline Hash = 0x54a09 // onoffline - Ononline Hash = 0x55508 // ononline - Onpagehide Hash = 0x55d0a // onpagehide - Onpageshow Hash = 0x5710a // onpageshow - Onpause Hash = 0x57d07 // onpause - Onplay Hash = 0x59c06 // onplay - Onplaying Hash = 0x59c09 // onplaying - Onpopstate Hash = 0x5a50a // onpopstate - Onprogress Hash = 0x5af0a // onprogress - Onratechange Hash = 0x5be0c // onratechange - Onreset Hash = 0x5ca07 // onreset - Onresize Hash = 0x5d108 // onresize - Onscroll Hash = 0x5d908 // onscroll - Onseeked Hash = 0x5e408 // onseeked - Onseeking Hash = 0x5ec09 // onseeking - Onselect Hash = 0x5f508 // onselect - Onshow Hash = 0x5ff06 // onshow - Onstalled Hash = 0x60a09 // onstalled - Onstorage Hash = 0x61309 // onstorage - Onsubmit Hash = 0x61c08 // onsubmit - Onsuspend Hash = 0x63009 // onsuspend - Ontimeupdate Hash = 0x4590c // ontimeupdate - Onunload Hash = 0x63908 // onunload - Onvolumechange Hash = 0x6410e // onvolumechange - Onwaiting Hash = 0x64f09 // onwaiting - Open Hash = 0x58e04 // open - Optgroup Hash = 0x12308 // optgroup - Optimum Hash = 0x65807 // optimum - Option Hash = 0x66e06 // option - Output Hash = 0x52406 // output - P Hash = 0xc01 // p - Param Hash = 0xc05 // param - Pattern Hash = 0x9b07 // pattern - Pauseonexit Hash = 0x57f0b // pauseonexit - Picture Hash = 0xe707 // picture - Ping Hash = 0x12a04 // ping - Placeholder Hash = 0x16b0b // placeholder - Plaintext Hash = 0x1f509 // plaintext - Poster Hash = 0x30e06 // poster - Pre Hash = 0x34f03 // pre - Preload Hash = 0x34f07 // preload - Profile Hash = 0x66707 // profile - Progress Hash = 0x5b108 // progress - Prompt Hash = 0x59606 // prompt - Public Hash = 0x4a406 // public - Q Hash = 0x8d01 // q - Radiogroup Hash = 0x30a // radiogroup - Rb Hash = 0x1d02 // rb - Readonly Hash = 0x38e08 // readonly - Rel Hash = 0x35003 // rel - Required Hash = 0x8b08 // required - Rev Hash = 0x29403 // rev - Reversed Hash = 0x29408 // reversed - Rows Hash = 0x6604 // rows - Rowspan Hash = 0x6607 // rowspan - Rp Hash = 0x28a02 // rp - Rt Hash = 0x1c102 // rt - Rtc Hash = 0x1c103 // rtc - Ruby Hash = 0xf604 // ruby - Rules Hash = 0x17505 // rules - S Hash = 0x3d01 // s - Samp Hash = 0x9804 // samp - Sandbox Hash = 0x16307 // sandbox - Scope Hash = 0x35a05 // scope - Scoped Hash = 0x35a06 // scoped - Script Hash = 0x31b06 // script - Scrolling Hash = 0x5db09 // scrolling - Seamless Hash = 0x3a808 // seamless - Section Hash = 0x17907 // section - Select Hash = 0x5f706 // select - Selected Hash = 0x5f708 // selected - Shape Hash = 0x23105 // shape - Size Hash = 0x24f04 // size - Sizes Hash = 0x24f05 // sizes - Small Hash = 0x23b05 // small - Sortable Hash = 0x25308 // sortable - Source Hash = 0x26606 // source - Spacer Hash = 0x37806 // spacer - Span Hash = 0x6904 // span - Spellcheck Hash = 0x3af0a // spellcheck - Src Hash = 0x44b03 // src - Srcdoc Hash = 0x44b06 // srcdoc - Srclang Hash = 0x49707 // srclang - Srcset Hash = 0x5b806 // srcset - Start Hash = 0x40c05 // start - Step Hash = 0x66404 // step - Strike Hash = 0x68406 // strike - Strong Hash = 0x68f06 // strong - Style Hash = 0x69505 // style - Sub Hash = 0x61e03 // sub - Summary Hash = 0x69a07 // summary - Sup Hash = 0x6a103 // sup - Svg Hash = 0x6a403 // svg - System Hash = 0x6a706 // system - Tabindex Hash = 0x4d908 // tabindex - Table Hash = 0x25605 // table - Target Hash = 0x2f906 // target - Tbody Hash = 0x3f05 // tbody - Td Hash = 0xaa02 // td - Template Hash = 0x6aa08 // template - Text Hash = 0x1fa04 // text - Textarea Hash = 0x38908 // textarea - Tfoot Hash = 0xf005 // tfoot - Th Hash = 0x18f02 // th - Thead Hash = 0x37105 // thead - Time Hash = 0x2ee04 // time - Title Hash = 0x14a05 // title - Tr Hash = 0x1fd02 // tr - Track Hash = 0x1fd05 // track - Translate Hash = 0x22109 // translate - Truespeed Hash = 0x27309 // truespeed - Tt Hash = 0x9d02 // tt - Type Hash = 0x11204 // type - Typemustmatch Hash = 0x1da0d // typemustmatch - U Hash = 0xb01 // u - Ul Hash = 0x5802 // ul - Undeterminate Hash = 0x250d // undeterminate - Usemap Hash = 0x14106 // usemap - Valign Hash = 0x1506 // valign - Value Hash = 0x10d05 // value - Valuetype Hash = 0x10d09 // valuetype - Var Hash = 0x32f03 // var - Video Hash = 0x6b205 // video - Visible Hash = 0x6bd07 // visible - Vlink Hash = 0x6c405 // vlink - Wbr Hash = 0x57a03 // wbr - Width Hash = 0x60405 // width - Wrap Hash = 0x59304 // wrap - Xmlns Hash = 0x15f05 // xmlns - Xmp Hash = 0x16903 // xmp + Background Hash = 0x5d0a // background + Base Hash = 0x3cc04 // base + Basefont Hash = 0x3cc08 // basefont + Bdi Hash = 0xfd03 // bdi + Bdo Hash = 0x18503 // bdo + Bgcolor Hash = 0x19807 // bgcolor + Bgsound Hash = 0x1a707 // bgsound + Big Hash = 0x1ba03 // big + Blink Hash = 0x1bd05 // blink + Blockquote Hash = 0x1c20a // blockquote + Body Hash = 0x7f04 // body + Border Hash = 0x33b06 // border + Br Hash = 0x3402 // br + Button Hash = 0x1cc06 // button + Canvas Hash = 0xa006 // canvas + Caption Hash = 0x28207 // caption + Center Hash = 0x4e306 // center + Challenge Hash = 0x1ed09 // challenge + Charset Hash = 0x7807 // charset + Checked Hash = 0x37f07 // checked + Cite Hash = 0x12d04 // cite + Class Hash = 0x1d705 // class + Classid Hash = 0x1d707 // classid + Clear Hash = 0x43405 // clear + Code Hash = 0x1de04 // code + Codebase Hash = 0x3c808 // codebase + Codetype Hash = 0x1de08 // codetype + Col Hash = 0x19a03 // col + Colgroup Hash = 0x1f608 // colgroup + Color Hash = 0x19a05 // color + Cols Hash = 0x20804 // cols + Colspan Hash = 0x20807 // colspan + Command Hash = 0x21a07 // command + Compact Hash = 0x22107 // compact + Content Hash = 0x66e07 // content + Contenteditable Hash = 0x66e0f // contenteditable + Contextmenu Hash = 0x3df0b // contextmenu + Controls Hash = 0x22c08 // controls + Coords Hash = 0x25306 // coords + Crossorigin Hash = 0x25e0b // crossorigin + Data Hash = 0x4c104 // data + Datalist Hash = 0x4c108 // datalist + Datatype Hash = 0x4d808 // datatype + Datetime Hash = 0x2ed08 // datetime + Dd Hash = 0x31902 // dd + Declare Hash = 0xa707 // declare + Default Hash = 0x4a07 // default + DefaultChecked Hash = 0x50c0e // defaultChecked + DefaultMuted Hash = 0x56f0c // defaultMuted + DefaultSelected Hash = 0x4a0f // defaultSelected + Defer Hash = 0x5805 // defer + Del Hash = 0x9303 // del + Desc Hash = 0x9d04 // desc + Details Hash = 0xb307 // details + Dfn Hash = 0xcf03 // dfn + Dialog Hash = 0xfe06 // dialog + Dir Hash = 0xdb03 // dir + Dirname Hash = 0xdb07 // dirname + Disabled Hash = 0x10b08 // disabled + Div Hash = 0x11203 // div + Dl Hash = 0x13302 // dl + Download Hash = 0x49508 // download + Draggable Hash = 0x1ad09 // draggable + Dropzone Hash = 0x43b08 // dropzone + Dt Hash = 0x60802 // dt + Em Hash = 0xcb02 // em + Embed Hash = 0xcb05 // embed + Enabled Hash = 0x8d07 // enabled + Enctype Hash = 0x2d207 // enctype + Face Hash = 0x4e104 // face + Fieldset Hash = 0x62a08 // fieldset + Figcaption Hash = 0x27f0a // figcaption + Figure Hash = 0x29306 // figure + Font Hash = 0x3d004 // font + Footer Hash = 0x12006 // footer + For Hash = 0x29f03 // for + ForeignObject Hash = 0x29f0d // foreignObject + Foreignobject Hash = 0x2ac0d // foreignobject + Form Hash = 0x2b904 // form + Formaction Hash = 0x2b90a // formaction + Formenctype Hash = 0x2ce0b // formenctype + Formmethod Hash = 0x2d90a // formmethod + Formnovalidate Hash = 0x2e30e // formnovalidate + Formtarget Hash = 0x2f80a // formtarget + Frame Hash = 0xd305 // frame + Frameborder Hash = 0x3360b // frameborder + Frameset Hash = 0xd308 // frameset + H1 Hash = 0x19602 // h1 + H2 Hash = 0x32702 // h2 + H3 Hash = 0x34c02 // h3 + H4 Hash = 0x38e02 // h4 + H5 Hash = 0x60a02 // h5 + H6 Hash = 0x30202 // h6 + Head Hash = 0x37404 // head + Header Hash = 0x37406 // header + Headers Hash = 0x37407 // headers + Height Hash = 0x30406 // height + Hgroup Hash = 0x30c06 // hgroup + Hidden Hash = 0x31706 // hidden + High Hash = 0x32404 // high + Hr Hash = 0x13b02 // hr + Href Hash = 0x13b04 // href + Hreflang Hash = 0x13b08 // hreflang + Html Hash = 0x30804 // html + Http_Equiv Hash = 0x3290a // http-equiv + I Hash = 0xa01 // i + Icon Hash = 0x66d04 // icon + Id Hash = 0xa602 // id + Iframe Hash = 0x33506 // iframe + Image Hash = 0x34105 // image + Img Hash = 0x34603 // img + Inert Hash = 0x55a05 // inert + Inlist Hash = 0x26706 // inlist + Input Hash = 0x48205 // input + Ins Hash = 0x1b03 // ins + Isindex Hash = 0x17e07 // isindex + Ismap Hash = 0x34e05 // ismap + Itemid Hash = 0x12e06 // itemid + Itemprop Hash = 0x59208 // itemprop + Itemref Hash = 0x62407 // itemref + Itemscope Hash = 0x35809 // itemscope + Itemtype Hash = 0x36208 // itemtype + Kbd Hash = 0xfc03 // kbd + Keygen Hash = 0x8906 // keygen + Keytype Hash = 0x68d07 // keytype + Kind Hash = 0x10804 // kind + Label Hash = 0x9505 // label + Lang Hash = 0x13f04 // lang + Language Hash = 0x13f08 // language + Legend Hash = 0x1b406 // legend + Li Hash = 0x2f02 // li + Link Hash = 0x10504 // link + List Hash = 0x26904 // list + Listing Hash = 0x4c507 // listing + Longdesc Hash = 0x9908 // longdesc + Loop Hash = 0x13404 // loop + Low Hash = 0x23703 // low + Main Hash = 0x1904 // main + Malignmark Hash = 0xf30a // malignmark + Manifest Hash = 0x68308 // manifest + Map Hash = 0x16903 // map + Mark Hash = 0xf904 // mark + Marquee Hash = 0x36a07 // marquee + Math Hash = 0x37104 // math + Max Hash = 0x38603 // max + Maxlength Hash = 0x38609 // maxlength + Media Hash = 0xe005 // media + Mediagroup Hash = 0xe00a // mediagroup + Menu Hash = 0x3e604 // menu + Meta Hash = 0x4d404 // meta + Meter Hash = 0x2f305 // meter + Method Hash = 0x2dd06 // method + Mglyph Hash = 0x34706 // mglyph + Mi Hash = 0x6b02 // mi + Min Hash = 0x6b03 // min + Mn Hash = 0x2e602 // mn + Mo Hash = 0x4ff02 // mo + Ms Hash = 0x35b02 // ms + Mtext Hash = 0x39005 // mtext + Multiple Hash = 0x39e08 // multiple + Muted Hash = 0x3a605 // muted + Name Hash = 0xde04 // name + Nav Hash = 0x2b03 // nav + Nobr Hash = 0x3204 // nobr + Noembed Hash = 0xc907 // noembed + Noframes Hash = 0xd108 // noframes + Nohref Hash = 0x13906 // nohref + Noresize Hash = 0x24308 // noresize + Noscript Hash = 0x31c08 // noscript + Noshade Hash = 0x50707 // noshade + Novalidate Hash = 0x2e70a // novalidate + Nowrap Hash = 0x3ab06 // nowrap + Object Hash = 0x2b306 // object + Ol Hash = 0x19b02 // ol + Onabort Hash = 0x1d007 // onabort + Onafterprint Hash = 0x2870c // onafterprint + Onbeforeprint Hash = 0x2c10d // onbeforeprint + Onbeforeunload Hash = 0x6980e // onbeforeunload + Onblur Hash = 0xbe06 // onblur + Oncancel Hash = 0x14b08 // oncancel + Oncanplay Hash = 0x18709 // oncanplay + Oncanplaythrough Hash = 0x18710 // oncanplaythrough + Onchange Hash = 0x45108 // onchange + Onclick Hash = 0x6cb07 // onclick + Onclose Hash = 0x3b707 // onclose + Oncontextmenu Hash = 0x3dd0d // oncontextmenu + Oncuechange Hash = 0x3ea0b // oncuechange + Ondblclick Hash = 0x3f50a // ondblclick + Ondrag Hash = 0x3ff06 // ondrag + Ondragend Hash = 0x3ff09 // ondragend + Ondragenter Hash = 0x4080b // ondragenter + Ondragleave Hash = 0x4130b // ondragleave + Ondragover Hash = 0x41e0a // ondragover + Ondragstart Hash = 0x4280b // ondragstart + Ondrop Hash = 0x43906 // ondrop + Ondurationchange Hash = 0x44910 // ondurationchange + Onemptied Hash = 0x44009 // onemptied + Onended Hash = 0x45907 // onended + Onerror Hash = 0x46007 // onerror + Onfocus Hash = 0x46707 // onfocus + Onhashchange Hash = 0x4740c // onhashchange + Oninput Hash = 0x48007 // oninput + Oninvalid Hash = 0x48709 // oninvalid + Onkeydown Hash = 0x49009 // onkeydown + Onkeypress Hash = 0x49d0a // onkeypress + Onkeyup Hash = 0x4ac07 // onkeyup + Onload Hash = 0x4b906 // onload + Onloadeddata Hash = 0x4b90c // onloadeddata + Onloadedmetadata Hash = 0x4cc10 // onloadedmetadata + Onloadstart Hash = 0x4e90b // onloadstart + Onmessage Hash = 0x4f409 // onmessage + Onmousedown Hash = 0x4fd0b // onmousedown + Onmousemove Hash = 0x51a0b // onmousemove + Onmouseout Hash = 0x5250a // onmouseout + Onmouseover Hash = 0x52f0b // onmouseover + Onmouseup Hash = 0x53a09 // onmouseup + Onmousewheel Hash = 0x5480c // onmousewheel + Onoffline Hash = 0x55409 // onoffline + Ononline Hash = 0x55f08 // ononline + Onpagehide Hash = 0x5670a // onpagehide + Onpageshow Hash = 0x57b0a // onpageshow + Onpause Hash = 0x58707 // onpause + Onplay Hash = 0x59e06 // onplay + Onplaying Hash = 0x59e09 // onplaying + Onpopstate Hash = 0x5a70a // onpopstate + Onprogress Hash = 0x5b10a // onprogress + Onratechange Hash = 0x5c00c // onratechange + Onreset Hash = 0x5cc07 // onreset + Onresize Hash = 0x5d308 // onresize + Onscroll Hash = 0x5db08 // onscroll + Onseeked Hash = 0x5e608 // onseeked + Onseeking Hash = 0x5ee09 // onseeking + Onselect Hash = 0x5f708 // onselect + Onshow Hash = 0x60106 // onshow + Onstalled Hash = 0x60c09 // onstalled + Onstorage Hash = 0x61509 // onstorage + Onsubmit Hash = 0x61e08 // onsubmit + Onsuspend Hash = 0x63a09 // onsuspend + Ontimeupdate Hash = 0x3d10c // ontimeupdate + Onunload Hash = 0x64308 // onunload + Onvolumechange Hash = 0x64b0e // onvolumechange + Onwaiting Hash = 0x65909 // onwaiting + Open Hash = 0x13604 // open + Optgroup Hash = 0x66208 // optgroup + Optimum Hash = 0x67d07 // optimum + Option Hash = 0x69406 // option + Output Hash = 0x206 // output + P Hash = 0x501 // p + Param Hash = 0x1505 // param + Pattern Hash = 0x2507 // pattern + Pauseonexit Hash = 0x5890b // pauseonexit + Picture Hash = 0x3e07 // picture + Ping Hash = 0xe904 // ping + Placeholder Hash = 0x1fd0b // placeholder + Plaintext Hash = 0x26e09 // plaintext + Poster Hash = 0x31106 // poster + Pre Hash = 0x35203 // pre + Prefix Hash = 0x35206 // prefix + Preload Hash = 0x3b007 // preload + Profile Hash = 0x4b207 // profile + Progress Hash = 0x5b308 // progress + Prompt Hash = 0x54206 // prompt + Property Hash = 0x59608 // property + Public Hash = 0x66906 // public + Q Hash = 0xae01 // q + Radiogroup Hash = 0x350a // radiogroup + Rb Hash = 0x5c02 // rb + Readonly Hash = 0x39608 // readonly + Rel Hash = 0x3b103 // rel + Required Hash = 0xac08 // required + Resource Hash = 0x29708 // resource + Rev Hash = 0x4303 // rev + Reversed Hash = 0x4308 // reversed + Rows Hash = 0xc304 // rows + Rowspan Hash = 0xc307 // rowspan + Rp Hash = 0x28d02 // rp + Rt Hash = 0x1d502 // rt + Rtc Hash = 0x1d503 // rtc + Ruby Hash = 0x12504 // ruby + Rules Hash = 0x19e05 // rules + S Hash = 0x1201 // s + Samp Hash = 0x1204 // samp + Sandbox Hash = 0x1d07 // sandbox + Scope Hash = 0x35c05 // scope + Scoped Hash = 0x35c06 // scoped + Script Hash = 0x31e06 // script + Scrolling Hash = 0x5dd09 // scrolling + Seamless Hash = 0x3bc08 // seamless + Section Hash = 0xb907 // section + Select Hash = 0x5f906 // select + Selected Hash = 0x5f908 // selected + Shape Hash = 0x1a205 // shape + Size Hash = 0x24704 // size + Sizes Hash = 0x24705 // sizes + Small Hash = 0x23305 // small + Sortable Hash = 0x24b08 // sortable + Source Hash = 0x29906 // source + Spacer Hash = 0x25806 // spacer + Span Hash = 0xc604 // span + Spellcheck Hash = 0x37a0a // spellcheck + Src Hash = 0x3c303 // src + Srcdoc Hash = 0x3c306 // srcdoc + Srclang Hash = 0x46d07 // srclang + Srcset Hash = 0x4a606 // srcset + Start Hash = 0x42e05 // start + Step Hash = 0x26b04 // step + Strike Hash = 0x68906 // strike + Strong Hash = 0x5ba06 // strong + Style Hash = 0x6aa05 // style + Sub Hash = 0x62003 // sub + Summary Hash = 0x6af07 // summary + Sup Hash = 0x6b603 // sup + Svg Hash = 0x6b903 // svg + System Hash = 0x6bc06 // system + Tabindex Hash = 0x708 // tabindex + Table Hash = 0x24e05 // table + Target Hash = 0x2fc06 // target + Tbody Hash = 0x7e05 // tbody + Td Hash = 0xda02 // td + Template Hash = 0x6bf08 // template + Text Hash = 0x27304 // text + Textarea Hash = 0x39108 // textarea + Tfoot Hash = 0x11f05 // tfoot + Th Hash = 0x19002 // th + Thead Hash = 0x37305 // thead + Time Hash = 0x2f104 // time + Title Hash = 0x16f05 // title + Tr Hash = 0x22702 // tr + Track Hash = 0x22705 // track + Translate Hash = 0x27609 // translate + Truespeed Hash = 0x63109 // truespeed + Tt Hash = 0x2702 // tt + Type Hash = 0x11904 // type + Typemustmatch Hash = 0x1e20d // typemustmatch + Typeof Hash = 0x4dc06 // typeof + U Hash = 0x301 // u + Ul Hash = 0x4e02 // ul + Undeterminate Hash = 0x640d // undeterminate + Usemap Hash = 0x16606 // usemap + Valign Hash = 0x2d06 // valign + Value Hash = 0x11405 // value + Valuetype Hash = 0x11409 // valuetype + Var Hash = 0x33203 // var + Video Hash = 0x6c705 // video + Visible Hash = 0x6d207 // visible + Vlink Hash = 0x6d905 // vlink + Vocab Hash = 0x6de05 // vocab + Wbr Hash = 0x58403 // wbr + Width Hash = 0x60605 // width + Wrap Hash = 0x3ad04 // wrap + Xmlns Hash = 0xe05 // xmlns + Xmp Hash = 0x2303 // xmp ) // String returns the hash' name. @@ -425,407 +433,416 @@ NEXT: return 0 } -const _Hash_hash0 = 0x5334b67c +const _Hash_hash0 = 0x9acb0442 const _Hash_maxLen = 16 -const _Hash_text = "abbradiogrouparamainavalignobrbackgroundeterminateaccept-cha" + - "rsetbodyaccesskeygenabledefaultSelectedeferowspanoembedelabe" + - "longdescanvasideclarequiredetailsampatternoframesetdfnohrefl" + - "anguageacronymalignmarkbdialogalinkindirnamediagroupictureal" + - "tfooterubyasyncitemidisabledivaluetypeaudioncancelooptgroupi" + - "ngautocompleteautofocusemappletitleautoplayaxisindexmlnsandb" + - "oxmplaceholderulesectionblurbdoncanplaythrough1bgcolorbgsoun" + - "dlbigblinkblockquotebuttonabortclassidraggablegendcodetypemu" + - "stmatchallengecolgrouplaintextrackcolspannotationXmlcommandc" + - "ompactranslatecontrolshapecoordsmallowfullscreenoresizesorta" + - "blecrossoriginsourcefieldsetruespeedfigcaptionafterprintfigu" + - "reversedforeignObjectforeignobjectformactionbeforeprintforme" + - "nctypeformmethodformnovalidatetimeterformtargeth6heightmlhgr" + - "ouposterhiddenoscripthigh2http-equivariframeborderimageimgly" + - "ph3ismapreloaditemscopeditemtypemarqueematheaderspacermaxlen" + - "gth4mtextareadonlymultiplemutedoncloseamlesspellcheckedoncon" + - "textmenuoncuechangeondblclickondragendondragenterondragleave" + - "ondragoverondragstarticlearondropzonemptiedondurationchangeo" + - "nendedonerroronfocusrcdocodebasefontimeupdateonhashchangeoni" + - "nputoninvalidonkeydownloadonkeypressrclangonkeyupublicontent" + - "editableonloadeddatalistingonloadedmetadatabindexonloadstart" + - "onmessageonmousedownoshadefaultCheckedonmousemoveonmouseoutp" + - "utonmouseoveronmouseuponmousewheelonofflinertononlineonpageh" + - "idefaultMutedonpageshowbronpauseonexitempropenowrapromptonpl" + - "ayingonpopstateonprogressrcsetonratechangeonresetonresizeons" + - "crollingonseekedonseekingonselectedonshowidth5onstalledonsto" + - "rageonsubmitemrefacenteronsuspendonunloadonvolumechangeonwai" + - "tingoptimumanifesteprofileoptionbeforeunloaddresstrikeytypes" + - "trongstylesummarysupsvgsystemplatevideonclickvisiblevlink" +const _Hash_text = "aboutputabindexmlnsamparamainsandboxmpatternavalignobradiogr" + + "oupictureversedefaultSelectedeferbackgroundeterminateaccept-" + + "charsetbodyaccesskeygenabledelabelongdescanvasideclarequired" + + "etailsectionblurowspanoembedfnoframesetdirnamediagroupingacr" + + "onymalignmarkbdialogalinkindisabledivaluetypealtfooterubyasy" + + "ncitemidloopenohreflanguageaudioncancelautocompleteautofocus" + + "emappletitleautoplayaxisindexbdoncanplaythrough1bgcolorulesh" + + "apebgsoundraggablegendbigblinkblockquotebuttonabortclassidco" + + "detypemustmatchallengecolgrouplaceholdercolspannotationXmlco" + + "mmandcompactrackcontrolsmallowfullscreenoresizesortablecoord" + + "spacercrossoriginlisteplaintextranslatefigcaptionafterprintf" + + "iguresourceforeignObjectforeignobjectformactionbeforeprintfo" + + "rmenctypeformmethodformnovalidatetimeterformtargeth6heightml" + + "hgrouposterhiddenoscripthigh2http-equivariframeborderimageim" + + "glyph3ismaprefixitemscopeditemtypemarqueematheaderspellcheck" + + "edmaxlength4mtextareadonlymultiplemutednowrapreloadoncloseam" + + "lessrcdocodebasefontimeupdateoncontextmenuoncuechangeondblcl" + + "ickondragendondragenterondragleaveondragoverondragstarticlea" + + "rondropzonemptiedondurationchangeonendedonerroronfocusrclang" + + "onhashchangeoninputoninvalidonkeydownloadonkeypressrcsetonke" + + "yuprofileonloadeddatalistingonloadedmetadatatypeofacenteronl" + + "oadstartonmessageonmousedownoshadefaultCheckedonmousemoveonm" + + "ouseoutonmouseoveronmouseupromptonmousewheelonofflinertononl" + + "ineonpagehidefaultMutedonpageshowbronpauseonexitempropertyon" + + "playingonpopstateonprogresstrongonratechangeonresetonresizeo" + + "nscrollingonseekedonseekingonselectedonshowidth5onstalledons" + + "torageonsubmitemrefieldsetruespeedonsuspendonunloadonvolumec" + + "hangeonwaitingoptgroupublicontenteditableoptimumanifestrikey" + + "typeoptionbeforeunloaddresstylesummarysupsvgsystemplatevideo" + + "nclickvisiblevlinkvocabbr" -var _Hash_table = [1 << 9]Hash{ - 0x0: 0x2cb0b, // formenctype - 0x1: 0x2d60a, // formmethod - 0x2: 0x3c80b, // oncuechange - 0x3: 0x3dd06, // ondrag - 0x6: 0x68406, // strike - 0x7: 0x6b205, // video - 0x9: 0x4a907, // content - 0xa: 0x4e07, // enabled - 0xb: 0x59106, // nowrap - 0xc: 0xd304, // link - 0xe: 0x28a02, // rp - 0xf: 0x2840c, // onafterprint - 0x10: 0x14506, // applet - 0x11: 0xf005, // tfoot - 0x12: 0x5040e, // defaultChecked - 0x13: 0x3330b, // frameborder - 0x14: 0xf106, // footer - 0x15: 0x5f708, // selected - 0x16: 0x49707, // srclang - 0x18: 0x52a0b, // onmouseover - 0x19: 0x1d604, // code - 0x1b: 0x47809, // oninvalid - 0x1c: 0x62804, // face - 0x1e: 0x3bd0b, // contextmenu - 0x1f: 0xa308, // frameset - 0x21: 0x5650c, // defaultMuted - 0x22: 0x19905, // color - 0x23: 0x59c06, // onplay - 0x25: 0x2f005, // meter - 0x26: 0x61309, // onstorage - 0x27: 0x38e08, // readonly - 0x29: 0x66707, // profile - 0x2a: 0x8607, // declare - 0x2b: 0xb01, // u - 0x2c: 0x31908, // noscript - 0x2d: 0x65e08, // manifest - 0x2e: 0x1b806, // button - 0x2f: 0x2ea08, // datetime - 0x30: 0x47305, // input - 0x31: 0x5407, // default - 0x32: 0x1d608, // codetype - 0x33: 0x2a90d, // foreignobject - 0x34: 0x36807, // marquee - 0x36: 0x19707, // bgcolor - 0x37: 0x19502, // h1 - 0x39: 0x1e0a, // background - 0x3b: 0x2f50a, // formtarget - 0x41: 0x2f906, // target - 0x43: 0x23b05, // small - 0x44: 0x45008, // codebase - 0x45: 0x55005, // inert - 0x47: 0x38805, // mtext - 0x48: 0x6607, // rowspan - 0x49: 0x2be0d, // onbeforeprint - 0x4a: 0x55508, // ononline - 0x4c: 0x29006, // figure - 0x4d: 0x4cb10, // onloadedmetadata - 0x4e: 0xbb07, // acronym - 0x50: 0x39608, // multiple - 0x51: 0x320e, // accept-charset - 0x52: 0x24f05, // sizes - 0x53: 0x29c0d, // foreignObject - 0x55: 0x2e40a, // novalidate - 0x56: 0x55d0a, // onpagehide - 0x57: 0x2e302, // mn - 0x58: 0x38602, // h4 - 0x5a: 0x1c102, // rt - 0x5b: 0xd205, // alink - 0x5e: 0x59606, // prompt - 0x5f: 0x17102, // ol - 0x61: 0x5d108, // onresize - 0x64: 0x69a07, // summary - 0x65: 0x5a50a, // onpopstate - 0x66: 0x38d04, // area - 0x68: 0x64f09, // onwaiting - 0x6b: 0xdc04, // name - 0x6c: 0x23606, // coords - 0x6d: 0x34303, // img - 0x6e: 0x66404, // step - 0x6f: 0x5ec09, // onseeking - 0x70: 0x32104, // high - 0x71: 0x49e07, // onkeyup - 0x72: 0x5f706, // select - 0x73: 0x1fd05, // track - 0x74: 0x34b05, // ismap - 0x76: 0x47107, // oninput - 0x77: 0x8d01, // q - 0x78: 0x48109, // onkeydown - 0x79: 0x33e05, // image - 0x7a: 0x2b604, // form - 0x7b: 0x60a09, // onstalled - 0x7c: 0xe707, // picture - 0x7d: 0x42f08, // onchange - 0x7e: 0x1a905, // blink - 0x7f: 0xee03, // alt - 0x80: 0xfa05, // async - 0x82: 0x1702, // li - 0x84: 0x2c02, // mi - 0x85: 0xff06, // itemid - 0x86: 0x11605, // audio - 0x87: 0x31b06, // script - 0x8b: 0x44b06, // srcdoc - 0x8e: 0xc704, // mark - 0x8f: 0x18403, // bdo - 0x91: 0x5120b, // onmousemove - 0x93: 0x3c404, // menu - 0x94: 0x45804, // font - 0x95: 0x14f08, // autoplay - 0x96: 0x6c405, // vlink - 0x98: 0x6e02, // em - 0x9a: 0x5b806, // srcset - 0x9b: 0x1ee08, // colgroup - 0x9c: 0x58e04, // open - 0x9d: 0x1d006, // legend - 0x9e: 0x4e10b, // onloadstart - 0xa2: 0x22109, // translate - 0xa3: 0x6e05, // embed - 0xa4: 0x1c305, // class - 0xa6: 0x6aa08, // template - 0xa7: 0x37206, // header - 0xa9: 0x4b806, // onload - 0xaa: 0x37105, // thead - 0xab: 0x5db09, // scrolling - 0xac: 0xc05, // param - 0xae: 0x9b07, // pattern - 0xaf: 0x9207, // details - 0xb1: 0x4a406, // public - 0xb3: 0x4f50b, // onmousedown - 0xb4: 0x14403, // map - 0xb6: 0x25b0b, // crossorigin - 0xb7: 0x1506, // valign - 0xb9: 0x1bc07, // onabort - 0xba: 0x66e06, // option - 0xbb: 0x26606, // source - 0xbc: 0x6205, // defer - 0xbd: 0x1e509, // challenge - 0xbf: 0x10d05, // value - 0xc0: 0x23d0f, // allowfullscreen - 0xc1: 0xca03, // kbd - 0xc2: 0x2070d, // annotationXml - 0xc3: 0x5be0c, // onratechange - 0xc4: 0x4f702, // mo - 0xc6: 0x3af0a, // spellcheck - 0xc7: 0x2c03, // min - 0xc8: 0x4b80c, // onloadeddata - 0xc9: 0x41205, // clear - 0xca: 0x42710, // ondurationchange - 0xcb: 0x1a04, // nobr - 0xcd: 0x27309, // truespeed - 0xcf: 0x30906, // hgroup - 0xd0: 0x40c05, // start - 0xd3: 0x41908, // dropzone - 0xd5: 0x7405, // label - 0xd8: 0xde0a, // mediagroup - 0xd9: 0x17e06, // onblur - 0xdb: 0x27f07, // caption - 0xdd: 0x7c04, // desc - 0xde: 0x15f05, // xmlns - 0xdf: 0x30106, // height - 0xe0: 0x21407, // command - 0xe2: 0x57f0b, // pauseonexit - 0xe3: 0x68f06, // strong - 0xe4: 0x43e07, // onerror - 0xe5: 0x61c08, // onsubmit - 0xe6: 0xb308, // language - 0xe7: 0x48608, // download - 0xe9: 0x53509, // onmouseup - 0xec: 0x2cf07, // enctype - 0xed: 0x5f508, // onselect - 0xee: 0x2b006, // object - 0xef: 0x1f509, // plaintext - 0xf0: 0x3d30a, // ondblclick - 0xf1: 0x18610, // oncanplaythrough - 0xf2: 0xd903, // dir - 0xf3: 0x38908, // textarea - 0xf4: 0x12a04, // ping - 0xf5: 0x2da06, // method - 0xf6: 0x22a08, // controls - 0xf7: 0x37806, // spacer - 0xf8: 0x6a403, // svg - 0xf9: 0x30504, // html - 0xfa: 0x3d01, // s - 0xfc: 0xcc06, // dialog - 0xfe: 0x1da0d, // typemustmatch - 0xff: 0x3b407, // checked - 0x101: 0x30e06, // poster - 0x102: 0x3260a, // http-equiv - 0x103: 0x44b03, // src - 0x104: 0x10408, // disabled - 0x105: 0x37207, // headers - 0x106: 0x5af0a, // onprogress - 0x107: 0x26c08, // fieldset - 0x108: 0x32f03, // var - 0x10a: 0xa305, // frame - 0x10b: 0x36008, // itemtype - 0x10c: 0x3fc0a, // ondragover - 0x10d: 0x13a09, // autofocus - 0x10f: 0x601, // i - 0x110: 0x35902, // ms - 0x111: 0x45404, // base - 0x113: 0x35a05, // scope - 0x114: 0x3206, // accept - 0x115: 0x58808, // itemprop - 0x117: 0xfe04, // cite - 0x118: 0x3907, // charset - 0x119: 0x14a05, // title - 0x11a: 0x68807, // keytype - 0x11b: 0x1fa04, // text - 0x11c: 0x65807, // optimum - 0x11e: 0x37204, // head - 0x121: 0x21b07, // compact - 0x123: 0x63009, // onsuspend - 0x124: 0x4c404, // list - 0x125: 0x4590c, // ontimeupdate - 0x126: 0x62a06, // center - 0x127: 0x31406, // hidden - 0x129: 0x35609, // itemscope - 0x12c: 0x1a402, // dl - 0x12d: 0x17907, // section - 0x12e: 0x11a08, // oncancel - 0x12f: 0x6b607, // onclick - 0x130: 0xde05, // media - 0x131: 0x52406, // output - 0x132: 0x4c008, // datalist - 0x133: 0x53e0c, // onmousewheel - 0x134: 0x45408, // basefont - 0x135: 0x37e09, // maxlength - 0x136: 0x6bd07, // visible - 0x137: 0x2e00e, // formnovalidate - 0x139: 0x16903, // xmp - 0x13a: 0x101, // b - 0x13b: 0x5710a, // onpageshow - 0x13c: 0xf604, // ruby - 0x13d: 0x16b0b, // placeholder - 0x13e: 0x4c407, // listing - 0x140: 0x26403, // ins - 0x141: 0x62207, // itemref - 0x144: 0x540f, // defaultSelected - 0x146: 0x3f10b, // ondragleave - 0x147: 0x1ae0a, // blockquote - 0x148: 0x59304, // wrap - 0x14a: 0x1a603, // big - 0x14b: 0x35003, // rel - 0x14c: 0x41706, // ondrop - 0x14e: 0x6a706, // system - 0x14f: 0x30a, // radiogroup - 0x150: 0x25605, // table - 0x152: 0x57a03, // wbr - 0x153: 0x3bb0d, // oncontextmenu - 0x155: 0x250d, // undeterminate - 0x157: 0x20204, // cols - 0x158: 0x16307, // sandbox - 0x159: 0x1303, // nav - 0x15a: 0x37e03, // max - 0x15b: 0x7808, // longdesc - 0x15c: 0x60405, // width - 0x15d: 0x34902, // h3 - 0x15e: 0x19e07, // bgsound - 0x161: 0x10d09, // valuetype - 0x162: 0x69505, // style - 0x164: 0x3f05, // tbody - 0x165: 0x40e07, // article - 0x169: 0xcb03, // bdi - 0x16a: 0x67e07, // address - 0x16b: 0x23105, // shape - 0x16c: 0x2ba06, // action - 0x16e: 0x1fd02, // tr - 0x16f: 0xaa02, // td - 0x170: 0x3dd09, // ondragend - 0x171: 0x5802, // ul - 0x172: 0x33806, // border - 0x174: 0x4a06, // keygen - 0x175: 0x4004, // body - 0x177: 0x1c909, // draggable - 0x178: 0x2b60a, // formaction - 0x17b: 0x34406, // mglyph - 0x17d: 0x1d02, // rb - 0x17e: 0x2ff02, // h6 - 0x17f: 0x41e09, // onemptied - 0x180: 0x5ca07, // onreset - 0x181: 0x1004, // main - 0x182: 0x12104, // loop - 0x183: 0x48e0a, // onkeypress - 0x184: 0x9d02, // tt - 0x186: 0x20207, // colspan - 0x188: 0x36f04, // math - 0x189: 0x1605, // align - 0x18a: 0xa108, // noframes - 0x18b: 0xaf02, // hr - 0x18c: 0xc10a, // malignmark - 0x18e: 0x23f03, // low - 0x18f: 0x8502, // id - 0x190: 0x6604, // rows - 0x191: 0x29403, // rev - 0x192: 0x63908, // onunload - 0x193: 0x39e05, // muted - 0x194: 0x35a06, // scoped - 0x195: 0x31602, // dd - 0x196: 0x60602, // dt - 0x197: 0x6720e, // onbeforeunload - 0x199: 0x2070a, // annotation - 0x19a: 0x29408, // reversed - 0x19c: 0x11204, // type - 0x19d: 0x57d07, // onpause - 0x19e: 0xd604, // kind - 0x19f: 0x4c004, // data - 0x1a0: 0x4ff07, // noshade - 0x1a3: 0x17505, // rules - 0x1a4: 0x12308, // optgroup - 0x1a5: 0x202, // br - 0x1a7: 0x1, // a - 0x1a8: 0x51d0a, // onmouseout - 0x1aa: 0x54a09, // onoffline - 0x1ab: 0x6410e, // onvolumechange - 0x1ae: 0x61e03, // sub - 0x1b3: 0x29c03, // for - 0x1b5: 0x8b08, // required - 0x1b6: 0x5b108, // progress - 0x1b7: 0x14106, // usemap - 0x1b8: 0x7f06, // canvas - 0x1b9: 0x4a804, // icon - 0x1bb: 0x1c103, // rtc - 0x1bc: 0x8305, // aside - 0x1bd: 0x2ee04, // time - 0x1be: 0x4060b, // ondragstart - 0x1c0: 0x27c0a, // figcaption - 0x1c1: 0xaf04, // href - 0x1c2: 0x33206, // iframe - 0x1c3: 0x18609, // oncanplay - 0x1c4: 0x6904, // span - 0x1c5: 0x34f03, // pre - 0x1c6: 0x6c07, // noembed - 0x1c8: 0x5e408, // onseeked - 0x1c9: 0x4d304, // meta - 0x1ca: 0x32402, // h2 - 0x1cb: 0x3a808, // seamless - 0x1cc: 0xab03, // dfn - 0x1cd: 0x15704, // axis - 0x1cf: 0x3e60b, // ondragenter - 0x1d0: 0x18f02, // th - 0x1d1: 0x4650c, // onhashchange - 0x1d2: 0xb304, // lang - 0x1d3: 0x44507, // onfocus - 0x1d5: 0x24f04, // size - 0x1d8: 0x12e0c, // autocomplete - 0x1d9: 0xaf08, // hreflang - 0x1da: 0x9804, // samp - 0x1de: 0x19903, // col - 0x1df: 0x10b03, // div - 0x1e0: 0x25308, // sortable - 0x1e1: 0x7203, // del - 0x1e3: 0x3a307, // onclose - 0x1e6: 0xd907, // dirname - 0x1e8: 0x1c307, // classid - 0x1e9: 0x34f07, // preload - 0x1ea: 0x4d908, // tabindex - 0x1eb: 0x60802, // h5 - 0x1ec: 0x5d908, // onscroll - 0x1ed: 0x4a90f, // contenteditable - 0x1ee: 0x4ec09, // onmessage - 0x1ef: 0x4, // abbr - 0x1f0: 0x15907, // isindex - 0x1f1: 0x6a103, // sup - 0x1f3: 0x24b08, // noresize - 0x1f5: 0x59c09, // onplaying - 0x1f6: 0x4409, // accesskey - 0x1fa: 0xc01, // p - 0x1fb: 0x43707, // onended - 0x1fc: 0x5ff06, // onshow - 0x1fe: 0xad06, // nohref +var _Hash_table = [1 << 10]Hash{ + 0x4: 0x13b02, // hr + 0x8: 0x3e07, // picture + 0x9: 0x48007, // oninput + 0xb: 0x11405, // value + 0xf: 0x708, // tabindex + 0x12: 0x2870c, // onafterprint + 0x18: 0x1e20d, // typemustmatch + 0x1a: 0x13302, // dl + 0x1b: 0x67d07, // optimum + 0x1e: 0x38e02, // h4 + 0x21: 0x5ee09, // onseeking + 0x22: 0x11f05, // tfoot + 0x23: 0x66e0f, // contenteditable + 0x24: 0x6bf08, // template + 0x29: 0x63a09, // onsuspend + 0x2b: 0x51a0b, // onmousemove + 0x30: 0x2bd06, // action + 0x33: 0xd305, // frame + 0x35: 0x19e05, // rules + 0x38: 0x18503, // bdo + 0x39: 0x3ab06, // nowrap + 0x3e: 0x62a08, // fieldset + 0x47: 0xf30a, // malignmark + 0x49: 0x44009, // onemptied + 0x4c: 0x46d07, // srclang + 0x4e: 0x3c306, // srcdoc + 0x4f: 0xa602, // id + 0x50: 0x64308, // onunload + 0x51: 0x30c06, // hgroup + 0x55: 0x19a05, // color + 0x56: 0x35c05, // scope + 0x59: 0x640d, // undeterminate + 0x5b: 0x37406, // header + 0x5c: 0xa405, // aside + 0x5d: 0x2f80a, // formtarget + 0x60: 0xe05, // xmlns + 0x61: 0x19b02, // ol + 0x63: 0x9d04, // desc + 0x65: 0x26e09, // plaintext + 0x66: 0x3ad04, // wrap + 0x67: 0x17c04, // axis + 0x68: 0x19a03, // col + 0x69: 0x2d06, // valign + 0x70: 0x65909, // onwaiting + 0x71: 0x31706, // hidden + 0x75: 0x41e0a, // ondragover + 0x78: 0x29f0d, // foreignObject + 0x7a: 0x32404, // high + 0x7b: 0xf904, // mark + 0x88: 0x68906, // strike + 0x8f: 0x13b08, // hreflang + 0x91: 0xd308, // frameset + 0x92: 0x4c507, // listing + 0x93: 0x37f07, // checked + 0x94: 0x34c02, // h3 + 0x95: 0x5805, // defer + 0x96: 0x6c705, // video + 0x97: 0xae01, // q + 0x9a: 0x25806, // spacer + 0x9c: 0x55f08, // ononline + 0x9d: 0x64b0e, // onvolumechange + 0x9f: 0x4b207, // profile + 0xa0: 0x34e05, // ismap + 0xa3: 0x2f305, // meter + 0xa8: 0x1de04, // code + 0xab: 0x18710, // oncanplaythrough + 0xae: 0x62407, // itemref + 0xaf: 0x59e09, // onplaying + 0xb5: 0x43b08, // dropzone + 0xb9: 0x2f02, // li + 0xbb: 0x15f09, // autofocus + 0xbd: 0x5480c, // onmousewheel + 0xc1: 0x26904, // list + 0xc2: 0x2702, // tt + 0xc7: 0x4e306, // center + 0xc9: 0x45907, // onended + 0xcb: 0x35203, // pre + 0xcc: 0x7106, // accept + 0xcf: 0x4e90b, // onloadstart + 0xd1: 0x36208, // itemtype + 0xd3: 0x3d004, // font + 0xd4: 0x1a707, // bgsound + 0xd5: 0x5ba06, // strong + 0xd6: 0x4ff02, // mo + 0xd7: 0x1de08, // codetype + 0xdb: 0x4280b, // ondragstart + 0xdf: 0x1a205, // shape + 0xe3: 0x2f104, // time + 0xe9: 0x27304, // text + 0xea: 0x6b903, // svg + 0xf2: 0xc907, // noembed + 0xf3: 0x4dc06, // typeof + 0xf5: 0x60c09, // onstalled + 0xf6: 0xa006, // canvas + 0xf8: 0x9505, // label + 0xf9: 0x3b103, // rel + 0xfb: 0x4c104, // data + 0xfd: 0x1204, // samp + 0x101: 0x5c00c, // onratechange + 0x103: 0x46007, // onerror + 0x105: 0x3dd0d, // oncontextmenu + 0x106: 0x16a06, // applet + 0x108: 0x350a, // radiogroup + 0x109: 0xde04, // name + 0x10a: 0x1cc06, // button + 0x10b: 0x43405, // clear + 0x10e: 0x6af07, // summary + 0x10f: 0x4d404, // meta + 0x110: 0x54206, // prompt + 0x113: 0x53a09, // onmouseup + 0x116: 0x5e608, // onseeked + 0x11a: 0xe904, // ping + 0x11c: 0x35809, // itemscope + 0x11e: 0x14b08, // oncancel + 0x11f: 0x2dd06, // method + 0x120: 0x20d0d, // annotationXml + 0x123: 0x8309, // accesskey + 0x124: 0x6d207, // visible + 0x127: 0xc304, // rows + 0x135: 0x11203, // div + 0x136: 0x3d10c, // ontimeupdate + 0x137: 0x59608, // property + 0x139: 0x3ff06, // ondrag + 0x13a: 0xcf03, // dfn + 0x13e: 0x6aa05, // style + 0x13f: 0x1530c, // autocomplete + 0x141: 0x3204, // nobr + 0x142: 0x4f409, // onmessage + 0x144: 0x25e0b, // crossorigin + 0x148: 0x61509, // onstorage + 0x149: 0x34603, // img + 0x14a: 0x5cc07, // onreset + 0x14b: 0x2303, // xmp + 0x14e: 0x4c108, // datalist + 0x153: 0x61e08, // onsubmit + 0x155: 0x12006, // footer + 0x15f: 0x2e70a, // novalidate + 0x162: 0x43906, // ondrop + 0x166: 0x39005, // mtext + 0x168: 0x24705, // sizes + 0x16c: 0x28207, // caption + 0x16e: 0x16f05, // title + 0x173: 0x1ed09, // challenge + 0x176: 0x24b08, // sortable + 0x178: 0x23703, // low + 0x17a: 0x12504, // ruby + 0x17b: 0x9303, // del + 0x17c: 0x1d707, // classid + 0x17d: 0xfc03, // kbd + 0x17f: 0x2ed08, // datetime + 0x181: 0x68d07, // keytype + 0x182: 0xc604, // span + 0x183: 0x21a07, // command + 0x18b: 0x1b406, // legend + 0x18c: 0xe005, // media + 0x18d: 0x3c808, // codebase + 0x198: 0x31106, // poster + 0x199: 0x2ac0d, // foreignobject + 0x19d: 0x6de05, // vocab + 0x1a0: 0x28d02, // rp + 0x1a4: 0x1d502, // rt + 0x1a8: 0x4308, // reversed + 0x1aa: 0x13604, // open + 0x1ab: 0x6bc06, // system + 0x1ac: 0x37404, // head + 0x1ad: 0x10405, // alink + 0x1af: 0x33203, // var + 0x1b0: 0xb307, // details + 0x1b1: 0x60a02, // h5 + 0x1b3: 0xda02, // td + 0x1b4: 0xa707, // declare + 0x1ba: 0x10b08, // disabled + 0x1be: 0xac08, // required + 0x1c3: 0x6d905, // vlink + 0x1c4: 0x52f0b, // onmouseover + 0x1c5: 0x3290a, // http-equiv + 0x1cc: 0x14705, // audio + 0x1d1: 0x12d04, // cite + 0x1d5: 0xe00a, // mediagroup + 0x1d6: 0x3a605, // muted + 0x1da: 0x42e05, // start + 0x1de: 0x19002, // th + 0x1df: 0x17408, // autoplay + 0x1e3: 0x206, // output + 0x1e4: 0x59208, // itemprop + 0x1e5: 0x3e604, // menu + 0x1eb: 0x2b03, // nav + 0x1ec: 0x6b603, // sup + 0x1ed: 0x46707, // onfocus + 0x1ee: 0x7807, // charset + 0x1ef: 0x29f03, // for + 0x1f1: 0x13404, // loop + 0x1f3: 0x24e05, // table + 0x1f5: 0x3f50a, // ondblclick + 0x1f6: 0x5c02, // rb + 0x1f8: 0x33b06, // border + 0x1fb: 0x27609, // translate + 0x200: 0x39108, // textarea + 0x208: 0x2507, // pattern + 0x210: 0x1bd05, // blink + 0x212: 0x1d705, // class + 0x219: 0x4b90c, // onloadeddata + 0x21a: 0x60106, // onshow + 0x21b: 0x6cb07, // onclick + 0x21d: 0x1d503, // rtc + 0x225: 0x3360b, // frameborder + 0x22a: 0x6a407, // address + 0x22c: 0x39608, // readonly + 0x22f: 0x12905, // async + 0x233: 0x710e, // accept-charset + 0x238: 0x43007, // article + 0x23b: 0x5f708, // onselect + 0x23f: 0xfd03, // bdi + 0x241: 0x11d03, // alt + 0x242: 0x55409, // onoffline + 0x246: 0x56f0c, // defaultMuted + 0x247: 0x34105, // image + 0x249: 0x31e06, // script + 0x24d: 0x24308, // noresize + 0x252: 0x60802, // dt + 0x253: 0x2c10d, // onbeforeprint + 0x255: 0x3bc08, // seamless + 0x256: 0x3402, // br + 0x257: 0x1d007, // onabort + 0x25a: 0x66208, // optgroup + 0x260: 0x101, // b + 0x262: 0x5db08, // onscroll + 0x264: 0x13906, // nohref + 0x266: 0x7e05, // tbody + 0x269: 0x2e602, // mn + 0x26c: 0x37305, // thead + 0x270: 0x4a606, // srcset + 0x271: 0x63109, // truespeed + 0x273: 0xed07, // acronym + 0x27e: 0x13f04, // lang + 0x281: 0x20804, // cols + 0x285: 0x29906, // source + 0x28a: 0x35b02, // ms + 0x28b: 0x1904, // main + 0x28c: 0xcb02, // em + 0x28f: 0x66d04, // icon + 0x292: 0x49508, // download + 0x293: 0x11409, // valuetype + 0x295: 0x301, // u + 0x296: 0x2e05, // align + 0x297: 0x1201, // s + 0x299: 0x2b306, // object + 0x29a: 0x59e06, // onplay + 0x29b: 0x4e104, // face + 0x29d: 0x5dd09, // scrolling + 0x29e: 0x3ff09, // ondragend + 0x2a0: 0x3c303, // src + 0x2a2: 0x36a07, // marquee + 0x2a6: 0x7f04, // body + 0x2a9: 0x3df0b, // contextmenu + 0x2ac: 0x22c08, // controls + 0x2b0: 0x23305, // small + 0x2b6: 0x2350f, // allowfullscreen + 0x2b9: 0x3b007, // preload + 0x2bb: 0x66e07, // content + 0x2bf: 0x30804, // html + 0x2c1: 0x49d0a, // onkeypress + 0x2c2: 0xdb07, // dirname + 0x2c6: 0x35206, // prefix + 0x2cd: 0x18709, // oncanplay + 0x2d1: 0x6e104, // abbr + 0x2d3: 0x60605, // width + 0x2d6: 0x6b03, // min + 0x2d8: 0x37104, // math + 0x2da: 0x48709, // oninvalid + 0x2dd: 0x2d90a, // formmethod + 0x2de: 0x50707, // noshade + 0x2df: 0x58403, // wbr + 0x2e1: 0x35c06, // scoped + 0x2e2: 0x5250a, // onmouseout + 0x2e3: 0x2fc06, // target + 0x2e4: 0x5670a, // onpagehide + 0x2e6: 0x24704, // size + 0x2e9: 0x8906, // keygen + 0x2ea: 0x29708, // resource + 0x2ec: 0x16903, // map + 0x2ee: 0x5b308, // progress + 0x2f0: 0x26706, // inlist + 0x2f2: 0x3ea0b, // oncuechange + 0x2f7: 0x69406, // option + 0x2f8: 0x37407, // headers + 0x2fb: 0x31c08, // noscript + 0x2fd: 0x34706, // mglyph + 0x301: 0x16606, // usemap + 0x303: 0x68308, // manifest + 0x30a: 0x17e07, // isindex + 0x30b: 0x1f608, // colgroup + 0x312: 0x5d0a, // background + 0x314: 0x10804, // kind + 0x315: 0x49009, // onkeydown + 0x316: 0x2b90a, // formaction + 0x319: 0x1, // a + 0x31b: 0x5, // about + 0x31e: 0x5b10a, // onprogress + 0x31f: 0x44910, // ondurationchange + 0x321: 0x3cc04, // base + 0x32d: 0x2e30e, // formnovalidate + 0x331: 0x22705, // track + 0x33a: 0x5f906, // select + 0x33b: 0x66906, // public + 0x33e: 0x55a05, // inert + 0x340: 0x26b04, // step + 0x342: 0x33506, // iframe + 0x344: 0x32702, // h2 + 0x346: 0x4fd0b, // onmousedown + 0x347: 0x1fd0b, // placeholder + 0x34b: 0xdb03, // dir + 0x34f: 0x13b04, // href + 0x350: 0x22702, // tr + 0x351: 0x1c20a, // blockquote + 0x358: 0x20807, // colspan + 0x35d: 0x50c0e, // defaultChecked + 0x361: 0x1ad09, // draggable + 0x369: 0xbe06, // onblur + 0x36b: 0x5890b, // pauseonexit + 0x36f: 0x8d07, // enabled + 0x371: 0x30406, // height + 0x373: 0x5d308, // onresize + 0x375: 0x4d808, // datatype + 0x376: 0x57b0a, // onpageshow + 0x378: 0x1b03, // ins + 0x379: 0x4080b, // ondragenter + 0x37a: 0x2ce0b, // formenctype + 0x37f: 0x4ac07, // onkeyup + 0x381: 0x3b707, // onclose + 0x382: 0x31902, // dd + 0x384: 0x38603, // max + 0x386: 0x3cc08, // basefont + 0x38a: 0x27f0a, // figcaption + 0x38b: 0x20d0a, // annotation + 0x38c: 0x25306, // coords + 0x38f: 0xcb05, // embed + 0x392: 0x11904, // type + 0x393: 0x1505, // param + 0x394: 0x30202, // h6 + 0x397: 0x501, // p + 0x398: 0x19807, // bgcolor + 0x39b: 0x4303, // rev + 0x39c: 0x12e06, // itemid + 0x39d: 0x1d07, // sandbox + 0x39e: 0x29306, // figure + 0x3a2: 0xfe06, // dialog + 0x3a3: 0x5a70a, // onpopstate + 0x3a4: 0x1ba03, // big + 0x3a7: 0x39504, // area + 0x3af: 0x6980e, // onbeforeunload + 0x3b1: 0xa01, // i + 0x3b4: 0x37a0a, // spellcheck + 0x3b5: 0x4e02, // ul + 0x3bd: 0xb907, // section + 0x3bf: 0x45108, // onchange + 0x3c2: 0x13f08, // language + 0x3c4: 0x4130b, // ondragleave + 0x3c6: 0x2d207, // enctype + 0x3c7: 0x22107, // compact + 0x3c8: 0x38609, // maxlength + 0x3c9: 0x5f908, // selected + 0x3cd: 0x9908, // longdesc + 0x3d3: 0x58707, // onpause + 0x3d9: 0xc307, // rowspan + 0x3de: 0x4a0f, // defaultSelected + 0x3df: 0x4cc10, // onloadedmetadata + 0x3e2: 0x10504, // link + 0x3e3: 0xd108, // noframes + 0x3e6: 0x48205, // input + 0x3ec: 0x62003, // sub + 0x3ee: 0x39e08, // multiple + 0x3ef: 0x4a07, // default + 0x3f4: 0x2b904, // form + 0x3fb: 0x4b906, // onload + 0x3fc: 0x6b02, // mi + 0x3fd: 0x19602, // h1 + 0x3ff: 0x4740c, // onhashchange } diff --git a/vendor/github.com/tdewolff/parse/v2/html/util.go b/vendor/github.com/tdewolff/parse/v2/html/util.go index f8ab6c11..3e3fe39c 100644 --- a/vendor/github.com/tdewolff/parse/v2/html/util.go +++ b/vendor/github.com/tdewolff/parse/v2/html/util.go @@ -52,7 +52,7 @@ var charTable = [256]bool{ } // EscapeAttrVal returns the escaped attribute value bytes without quotes. -func EscapeAttrVal(buf *[]byte, orig, b []byte) []byte { +func EscapeAttrVal(buf *[]byte, orig, b []byte, isXML bool) []byte { singles := 0 doubles := 0 unquoted := true @@ -80,7 +80,7 @@ func EscapeAttrVal(buf *[]byte, orig, b []byte) []byte { } } } - if unquoted { + if unquoted && !isXML { return b } else if !entities && len(orig) == len(b)+2 && (singles == 0 && orig[0] == '\'' || doubles == 0 && orig[0] == '"') { return orig @@ -89,14 +89,14 @@ func EscapeAttrVal(buf *[]byte, orig, b []byte) []byte { n := len(b) + 2 var quote byte var escapedQuote []byte - if doubles > singles { - n += singles * 4 - quote = '\'' - escapedQuote = singleQuoteEntityBytes - } else { + if singles >= doubles || isXML { n += doubles * 4 quote = '"' escapedQuote = doubleQuoteEntityBytes + } else { + n += singles * 4 + quote = '\'' + escapedQuote = singleQuoteEntityBytes } if n > cap(*buf) { *buf = make([]byte, 0, n) // maximum size, not actual size diff --git a/vendor/github.com/tdewolff/parse/v2/position.go b/vendor/github.com/tdewolff/parse/v2/position.go index dd4bd7e9..8a40d677 100644 --- a/vendor/github.com/tdewolff/parse/v2/position.go +++ b/vendor/github.com/tdewolff/parse/v2/position.go @@ -10,48 +10,45 @@ import ( // Position returns the line and column number for a certain position in a file. It is useful for recovering the position in a file that caused an error. // It only treates \n, \r, and \r\n as newlines, which might be different from some languages also recognizing \f, \u2028, and \u2029 to be newlines. -func Position(r io.Reader, offset int) (line, col int, context string, err error) { +func Position(r io.Reader, offset int) (line, col int, context string) { l := buffer.NewLexer(r) line = 1 for { c := l.Peek(0) - if c == 0 { - col = l.Pos() + 1 - context = positionContext(l, line, col) - err = l.Err() - if err == nil { - err = io.EOF - } - return - } - - if offset == l.Pos() { + if c == 0 && l.Err() != nil || offset == l.Pos() { col = l.Pos() + 1 context = positionContext(l, line, col) return } + nNewline := 0 if c == '\n' { - l.Move(1) - line++ - offset -= l.Pos() - l.Skip() + nNewline = 1 } else if c == '\r' { if l.Peek(1) == '\n' { - if offset == l.Pos()+1 { - l.Move(1) - continue - } - l.Move(2) + nNewline = 2 } else { - l.Move(1) + nNewline = 1 } + } else if c >= 0xC0 { + if r, n := l.PeekRune(0); r == '\u2028' || r == '\u2029' { + nNewline = n + } + } else { + l.Move(1) + } + + if nNewline > 0 { + if offset < l.Pos()+nNewline { + // move onto offset position, let next iteration handle it + l.Move(offset - l.Pos()) + continue + } + l.Move(nNewline) line++ offset -= l.Pos() l.Skip() - } else { - l.Move(1) } } } @@ -65,15 +62,36 @@ func positionContext(l *buffer.Lexer, line, col int) (context string) { l.Move(1) } - // replace unprintable characters by a space + // cut off front or rear of context to stay between 60 characters b := l.Lexeme() + limit := 60 + offset := 20 + ellipsisFront := "" + ellipsisRear := "" + if limit < len(b) { + if col <= limit-offset { + ellipsisRear = "..." + b = b[:limit-3] + } else if col >= len(b)-offset-3 { + ellipsisFront = "..." + col -= len(b) - offset - offset - 7 + b = b[len(b)-offset-offset-4:] + } else { + ellipsisFront = "..." + ellipsisRear = "..." + b = b[col-offset-1 : col+offset] + col = offset + 4 + } + } + + // replace unprintable characters by a space for i, c := range b { if c < 0x20 || c == 0x7F { b[i] = ' ' } } - context += fmt.Sprintf("%5d: %s\n", line, string(b)) + context += fmt.Sprintf("%5d: %s%s%s\n", line, ellipsisFront, string(b), ellipsisRear) context += fmt.Sprintf("%s^", strings.Repeat(" ", col+6)) return } diff --git a/vendor/github.com/tdewolff/parse/v2/util.go b/vendor/github.com/tdewolff/parse/v2/util.go index 83509a19..b7701a98 100644 --- a/vendor/github.com/tdewolff/parse/v2/util.go +++ b/vendor/github.com/tdewolff/parse/v2/util.go @@ -23,7 +23,8 @@ func EqualFold(s, targetLower []byte) bool { return false } for i, c := range targetLower { - if s[i] != c && (c < 'A' && c > 'Z' || s[i]+('a'-'A') != c) { + d := s[i] + if d != c && (d < 'A' || d > 'Z' || d+('a'-'A') != c) { return false } } diff --git a/vendor/github.com/willf/bitset/.travis.yml b/vendor/github.com/willf/bitset/.travis.yml index 8b6e2218..094aa5ce 100644 --- a/vendor/github.com/willf/bitset/.travis.yml +++ b/vendor/github.com/willf/bitset/.travis.yml @@ -12,8 +12,7 @@ branches: - travis go: - - "1.9.x" - - "1.10.x" + - "1.11.x" - tip matrix: @@ -35,4 +34,4 @@ after_failure: - cat ./target/test/report.xml after_success: - - if [ "$TRAVIS_GO_VERSION" = "1.8" ]; then $HOME/gopath/bin/goveralls -covermode=count -coverprofile=target/report/coverage.out -service=travis-ci; fi; + - if [ "$TRAVIS_GO_VERSION" = "1.11.1" ]; then $HOME/gopath/bin/goveralls -covermode=count -coverprofile=target/report/coverage.out -service=travis-ci; fi; diff --git a/vendor/github.com/willf/bitset/Makefile b/vendor/github.com/willf/bitset/Makefile index e3fd5479..ad71f6a4 100644 --- a/vendor/github.com/willf/bitset/Makefile +++ b/vendor/github.com/willf/bitset/Makefile @@ -158,7 +158,7 @@ gosimple: # AST scanner astscan: @mkdir -p target/report - GOPATH=$(GOPATH) gas .//*.go | tee target/report/astscan.txt ; test $${PIPESTATUS[0]} -eq 0 + GOPATH=$(GOPATH) gosec . | tee target/report/astscan.txt ; test $${PIPESTATUS[0]} -eq 0 || true # Generate source docs docs: @@ -168,14 +168,14 @@ docs: @echo ''${PKGNAME}' Documentation ...' > target/docs/index.html # Alias to run all quality-assurance checks -qa: fmtcheck test vet lint coverage cyclo ineffassign misspell structcheck varcheck errcheck gosimple +qa: fmtcheck test vet lint coverage cyclo ineffassign misspell structcheck varcheck errcheck gosimple astscan # --- INSTALL --- # Get the dependencies deps: GOPATH=$(GOPATH) go get ./... - GOPATH=$(GOPATH) go get github.com/golang/lint/golint + GOPATH=$(GOPATH) go get golang.org/x/lint/golint GOPATH=$(GOPATH) go get github.com/jstemmer/go-junit-report GOPATH=$(GOPATH) go get github.com/axw/gocov/gocov GOPATH=$(GOPATH) go get github.com/fzipp/gocyclo @@ -185,7 +185,7 @@ deps: GOPATH=$(GOPATH) go get github.com/opennota/check/cmd/varcheck GOPATH=$(GOPATH) go get github.com/kisielk/errcheck GOPATH=$(GOPATH) go get honnef.co/go/tools/cmd/gosimple - GOPATH=$(GOPATH) go get github.com/GoASTScanner/gas + GOPATH=$(GOPATH) go get github.com/securego/gosec/cmd/gosec/... # Remove any build artifact clean: diff --git a/vendor/github.com/willf/bitset/VERSION b/vendor/github.com/willf/bitset/VERSION deleted file mode 100644 index 781dcb07..00000000 --- a/vendor/github.com/willf/bitset/VERSION +++ /dev/null @@ -1 +0,0 @@ -1.1.3 diff --git a/vendor/github.com/willf/bitset/bitset.go b/vendor/github.com/willf/bitset/bitset.go index 6d457e86..32044f5c 100644 --- a/vendor/github.com/willf/bitset/bitset.go +++ b/vendor/github.com/willf/bitset/bitset.go @@ -62,12 +62,12 @@ const allBits uint64 = 0xffffffffffffffff var binaryOrder binary.ByteOrder = binary.BigEndian // default json encoding base64.URLEncoding -var base64Encoding *base64.Encoding = base64.URLEncoding +var base64Encoding = base64.URLEncoding -// Marshal/Unmarshal BitSet with base64.StdEncoding(Default: base64.URLEncoding) +// Base64StdEncoding Marshal/Unmarshal BitSet with base64.StdEncoding(Default: base64.URLEncoding) func Base64StdEncoding() { base64Encoding = base64.StdEncoding } -// Marshal/Unmarshal Binary as Little Endian(Default: binary.BigEndian) +// LittleEndian Marshal/Unmarshal Binary as Little Endian(Default: binary.BigEndian) func LittleEndian() { binaryOrder = binary.LittleEndian } // A BitSet is a set of bits. The zero value of a BitSet is an empty set of length 0. @@ -192,6 +192,70 @@ func (b *BitSet) Flip(i uint) *BitSet { return b } +// Shrink shrinks BitSet to desired length in bits. It clears all bits > length +// and reduces the size and length of the set. +// +// A new slice is allocated to store the new bits, so you may see an increase in +// memory usage until the GC runs. Normally this should not be a problem, but if you +// have an extremely large BitSet its important to understand that the old BitSet will +// remain in memory until the GC frees it. +func (b *BitSet) Shrink(length uint) *BitSet { + idx := wordsNeeded(length + 1) + if idx > len(b.set) { + return b + } + shrunk := make([]uint64, idx) + copy(shrunk, b.set[:idx]) + b.set = shrunk + b.length = length + 1 + b.set[idx-1] &= (allBits >> (uint64(64) - uint64(length&(wordSize-1)) - 1)) + return b +} + +// InsertAt takes an index which indicates where a bit should be +// inserted. Then it shifts all the bits in the set to the left by 1, starting +// from the given index position, and sets the index position to 0. +// +// Depending on the size of your BitSet, and where you are inserting the new entry, +// this method could be extremely slow and in some cases might cause the entire BitSet +// to be recopied. +func (b *BitSet) InsertAt(idx uint) *BitSet { + insertAtElement := (idx >> log2WordSize) + + // if length of set is a multiple of wordSize we need to allocate more space first + if b.isLenExactMultiple() { + b.set = append(b.set, uint64(0)) + } + + var i uint + for i = uint(len(b.set) - 1); i > insertAtElement; i-- { + // all elements above the position where we want to insert can simply by shifted + b.set[i] <<= 1 + + // we take the most significant bit of the previous element and set it as + // the least significant bit of the current element + b.set[i] |= (b.set[i-1] & 0x8000000000000000) >> 63 + } + + // generate a mask to extract the data that we need to shift left + // within the element where we insert a bit + dataMask := ^(uint64(1)<> log2WordSize + + // generate a mask for the data that needs to be shifted right + // within that slice element that gets modified + dataMask := ^((uint64(1) << (i & (wordSize - 1))) - 1) + + // extract the data that we'll shift right from the slice element + data := b.set[deleteAtElement] & dataMask + + // set the masked area to 0 while leaving the rest as it is + b.set[deleteAtElement] &= ^dataMask + + // shift the previously extracted data to the right and then + // set it in the previously masked area + b.set[deleteAtElement] |= (data >> 1) & dataMask + + // loop over all the consecutive slice elements to copy each + // lowest bit into the highest position of the previous element, + // then shift the entire content to the right by 1 + for i := int(deleteAtElement) + 1; i < len(b.set); i++ { + b.set[i-1] |= (b.set[i] & 1) << 63 + b.set[i] >>= 1 + } + + b.length = b.length - 1 + + return b +} + // NextSet returns the next bit set from the specified index, // including possibly the current index // along with an error code (true = valid, false = no set bit found) @@ -293,9 +394,8 @@ func (b *BitSet) NextSetMany(i uint, buffer []uint) (uint, []uint) { End: if size > 0 { return myanswer[size-1], myanswer[:size] - } else { - return 0, myanswer[:0] } + return 0, myanswer[:0] } // NextClear returns the next clear bit from the specified index, @@ -672,7 +772,7 @@ func (b *BitSet) DumpAsBits() string { for ; i >= 0; i-- { fmt.Fprintf(buffer, "%064b.", b.set[i]) } - return string(buffer.Bytes()) + return buffer.String() } // BinaryStorageSize returns the binary storage requirements diff --git a/vendor/golang.org/x/net/bpf/vm_instructions.go b/vendor/golang.org/x/net/bpf/vm_instructions.go index f0d2e55b..cf8947c3 100644 --- a/vendor/golang.org/x/net/bpf/vm_instructions.go +++ b/vendor/golang.org/x/net/bpf/vm_instructions.go @@ -129,7 +129,8 @@ func loadIndirect(ins LoadIndirect, in []byte, regX uint32) (uint32, bool) { func loadMemShift(ins LoadMemShift, in []byte) (uint32, bool) { offset := int(ins.Off) - if !inBounds(len(in), offset, 0) { + // Size of LoadMemShift is always 1 byte + if !inBounds(len(in), offset, 1) { return 0, false } diff --git a/vendor/golang.org/x/net/html/parse.go b/vendor/golang.org/x/net/html/parse.go index 488e8d3c..992cff2a 100644 --- a/vendor/golang.org/x/net/html/parse.go +++ b/vendor/golang.org/x/net/html/parse.go @@ -439,9 +439,6 @@ func (p *parser) resetInsertionMode() { case a.Select: if !last { for ancestor, first := n, p.oe[0]; ancestor != first; { - if ancestor == first { - break - } ancestor = p.oe[p.oe.index(ancestor)-1] switch ancestor.DataAtom { case a.Template: @@ -633,7 +630,16 @@ func inHeadIM(p *parser) bool { p.oe.pop() p.acknowledgeSelfClosingTag() return true - case a.Script, a.Title, a.Noscript, a.Noframes, a.Style: + case a.Noscript: + p.addElement() + if p.scripting { + p.setOriginalIM() + p.im = textIM + } else { + p.im = inHeadNoscriptIM + } + return true + case a.Script, a.Title, a.Noframes, a.Style: p.addElement() p.setOriginalIM() p.im = textIM @@ -695,6 +701,49 @@ func inHeadIM(p *parser) bool { return false } +// 12.2.6.4.5. +func inHeadNoscriptIM(p *parser) bool { + switch p.tok.Type { + case DoctypeToken: + // Ignore the token. + return true + case StartTagToken: + switch p.tok.DataAtom { + case a.Html: + return inBodyIM(p) + case a.Basefont, a.Bgsound, a.Link, a.Meta, a.Noframes, a.Style: + return inHeadIM(p) + case a.Head, a.Noscript: + // Ignore the token. + return true + } + case EndTagToken: + switch p.tok.DataAtom { + case a.Noscript, a.Br: + default: + // Ignore the token. + return true + } + case TextToken: + s := strings.TrimLeft(p.tok.Data, whitespace) + if len(s) == 0 { + // It was all whitespace. + return inHeadIM(p) + } + case CommentToken: + return inHeadIM(p) + } + p.oe.pop() + if p.top().DataAtom != a.Head { + panic("html: the new current node will be a head element.") + } + p.im = inHeadIM + if p.tok.DataAtom == a.Noscript { + return true + } + return false +} + // Section 12.2.6.4.6. func afterHeadIM(p *parser) bool { switch p.tok.Type { @@ -904,7 +953,7 @@ func inBodyIM(p *parser) bool { case a.A: for i := len(p.afe) - 1; i >= 0 && p.afe[i].Type != scopeMarkerNode; i-- { if n := p.afe[i]; n.Type == ElementNode && n.DataAtom == a.A { - p.inBodyEndTagFormatting(a.A) + p.inBodyEndTagFormatting(a.A, "a") p.oe.remove(n) p.afe.remove(n) break @@ -918,7 +967,7 @@ func inBodyIM(p *parser) bool { case a.Nobr: p.reconstructActiveFormattingElements() if p.elementInScope(defaultScope, a.Nobr) { - p.inBodyEndTagFormatting(a.Nobr) + p.inBodyEndTagFormatting(a.Nobr, "nobr") p.reconstructActiveFormattingElements() } p.addFormattingElement() @@ -1126,7 +1175,7 @@ func inBodyIM(p *parser) bool { case a.H1, a.H2, a.H3, a.H4, a.H5, a.H6: p.popUntil(defaultScope, a.H1, a.H2, a.H3, a.H4, a.H5, a.H6) case a.A, a.B, a.Big, a.Code, a.Em, a.Font, a.I, a.Nobr, a.S, a.Small, a.Strike, a.Strong, a.Tt, a.U: - p.inBodyEndTagFormatting(p.tok.DataAtom) + p.inBodyEndTagFormatting(p.tok.DataAtom, p.tok.Data) case a.Applet, a.Marquee, a.Object: if p.popUntil(defaultScope, p.tok.DataAtom) { p.clearActiveFormattingElements() @@ -1137,7 +1186,7 @@ func inBodyIM(p *parser) bool { case a.Template: return inHeadIM(p) default: - p.inBodyEndTagOther(p.tok.DataAtom) + p.inBodyEndTagOther(p.tok.DataAtom, p.tok.Data) } case CommentToken: p.addChild(&Node{ @@ -1164,7 +1213,7 @@ func inBodyIM(p *parser) bool { return true } -func (p *parser) inBodyEndTagFormatting(tagAtom a.Atom) { +func (p *parser) inBodyEndTagFormatting(tagAtom a.Atom, tagName string) { // This is the "adoption agency" algorithm, described at // https://html.spec.whatwg.org/multipage/syntax.html#adoptionAgency @@ -1186,7 +1235,7 @@ func (p *parser) inBodyEndTagFormatting(tagAtom a.Atom) { } } if formattingElement == nil { - p.inBodyEndTagOther(tagAtom) + p.inBodyEndTagOther(tagAtom, tagName) return } feIndex := p.oe.index(formattingElement) @@ -1291,9 +1340,17 @@ func (p *parser) inBodyEndTagFormatting(tagAtom a.Atom) { // inBodyEndTagOther performs the "any other end tag" algorithm for inBodyIM. // "Any other end tag" handling from 12.2.6.5 The rules for parsing tokens in foreign content // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inforeign -func (p *parser) inBodyEndTagOther(tagAtom a.Atom) { +func (p *parser) inBodyEndTagOther(tagAtom a.Atom, tagName string) { for i := len(p.oe) - 1; i >= 0; i-- { - if p.oe[i].DataAtom == tagAtom { + // Two element nodes have the same tag if they have the same Data (a + // string-typed field). As an optimization, for common HTML tags, each + // Data string is assigned a unique, non-zero DataAtom (a uint32-typed + // field), since integer comparison is faster than string comparison. + // Uncommon (custom) tags get a zero DataAtom. + // + // The if condition here is equivalent to (p.oe[i].Data == tagName). + if (p.oe[i].DataAtom == tagAtom) && + ((tagAtom != 0) || (p.oe[i].Data == tagName)) { p.oe = p.oe[:i] break } @@ -1687,8 +1744,9 @@ func inCellIM(p *parser) bool { return true } // Close the cell and reprocess. - p.popUntil(tableScope, a.Td, a.Th) - p.clearActiveFormattingElements() + if p.popUntil(tableScope, a.Td, a.Th) { + p.clearActiveFormattingElements() + } p.im = inRowIM return false } @@ -2242,6 +2300,33 @@ func (p *parser) parse() error { // // The input is assumed to be UTF-8 encoded. func Parse(r io.Reader) (*Node, error) { + return ParseWithOptions(r) +} + +// ParseFragment parses a fragment of HTML and returns the nodes that were +// found. If the fragment is the InnerHTML for an existing element, pass that +// element in context. +// +// It has the same intricacies as Parse. +func ParseFragment(r io.Reader, context *Node) ([]*Node, error) { + return ParseFragmentWithOptions(r, context) +} + +// ParseOption configures a parser. +type ParseOption func(p *parser) + +// ParseOptionEnableScripting configures the scripting flag. +// https://html.spec.whatwg.org/multipage/webappapis.html#enabling-and-disabling-scripting +// +// By default, scripting is enabled. +func ParseOptionEnableScripting(enable bool) ParseOption { + return func(p *parser) { + p.scripting = enable + } +} + +// ParseWithOptions is like Parse, with options. +func ParseWithOptions(r io.Reader, opts ...ParseOption) (*Node, error) { p := &parser{ tokenizer: NewTokenizer(r), doc: &Node{ @@ -2251,6 +2336,11 @@ func Parse(r io.Reader) (*Node, error) { framesetOK: true, im: initialIM, } + + for _, f := range opts { + f(p) + } + err := p.parse() if err != nil { return nil, err @@ -2258,12 +2348,8 @@ func Parse(r io.Reader) (*Node, error) { return p.doc, nil } -// ParseFragment parses a fragment of HTML and returns the nodes that were -// found. If the fragment is the InnerHTML for an existing element, pass that -// element in context. -// -// It has the same intricacies as Parse. -func ParseFragment(r io.Reader, context *Node) ([]*Node, error) { +// ParseFragmentWithOptions is like ParseFragment, with options. +func ParseFragmentWithOptions(r io.Reader, context *Node, opts ...ParseOption) ([]*Node, error) { contextTag := "" if context != nil { if context.Type != ElementNode { @@ -2287,6 +2373,10 @@ func ParseFragment(r io.Reader, context *Node) ([]*Node, error) { context: context, } + for _, f := range opts { + f(p) + } + root := &Node{ Type: ElementNode, DataAtom: a.Html, diff --git a/vendor/golang.org/x/net/idna/idna.go b/vendor/golang.org/x/net/idna/idna10.0.0.go similarity index 99% rename from vendor/golang.org/x/net/idna/idna.go rename to vendor/golang.org/x/net/idna/idna10.0.0.go index 346fe442..a98a31f4 100644 --- a/vendor/golang.org/x/net/idna/idna.go +++ b/vendor/golang.org/x/net/idna/idna10.0.0.go @@ -4,14 +4,16 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +// +build go1.10 + // Package idna implements IDNA2008 using the compatibility processing // defined by UTS (Unicode Technical Standard) #46, which defines a standard to // deal with the transition from IDNA2003. // // IDNA2008 (Internationalized Domain Names for Applications), is defined in RFC // 5890, RFC 5891, RFC 5892, RFC 5893 and RFC 5894. -// UTS #46 is defined in http://www.unicode.org/reports/tr46. -// See http://unicode.org/cldr/utility/idna.jsp for a visualization of the +// UTS #46 is defined in https://www.unicode.org/reports/tr46. +// See https://unicode.org/cldr/utility/idna.jsp for a visualization of the // differences between these two standards. package idna // import "golang.org/x/net/idna" @@ -297,7 +299,7 @@ func (e runeError) Error() string { } // process implements the algorithm described in section 4 of UTS #46, -// see http://www.unicode.org/reports/tr46. +// see https://www.unicode.org/reports/tr46. func (p *Profile) process(s string, toASCII bool) (string, error) { var err error var isBidi bool diff --git a/vendor/golang.org/x/net/idna/idna9.0.0.go b/vendor/golang.org/x/net/idna/idna9.0.0.go new file mode 100644 index 00000000..8842146b --- /dev/null +++ b/vendor/golang.org/x/net/idna/idna9.0.0.go @@ -0,0 +1,682 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !go1.10 + +// Package idna implements IDNA2008 using the compatibility processing +// defined by UTS (Unicode Technical Standard) #46, which defines a standard to +// deal with the transition from IDNA2003. +// +// IDNA2008 (Internationalized Domain Names for Applications), is defined in RFC +// 5890, RFC 5891, RFC 5892, RFC 5893 and RFC 5894. +// UTS #46 is defined in https://www.unicode.org/reports/tr46. +// See https://unicode.org/cldr/utility/idna.jsp for a visualization of the +// differences between these two standards. +package idna // import "golang.org/x/net/idna" + +import ( + "fmt" + "strings" + "unicode/utf8" + + "golang.org/x/text/secure/bidirule" + "golang.org/x/text/unicode/norm" +) + +// NOTE: Unlike common practice in Go APIs, the functions will return a +// sanitized domain name in case of errors. Browsers sometimes use a partially +// evaluated string as lookup. +// TODO: the current error handling is, in my opinion, the least opinionated. +// Other strategies are also viable, though: +// Option 1) Return an empty string in case of error, but allow the user to +// specify explicitly which errors to ignore. +// Option 2) Return the partially evaluated string if it is itself a valid +// string, otherwise return the empty string in case of error. +// Option 3) Option 1 and 2. +// Option 4) Always return an empty string for now and implement Option 1 as +// needed, and document that the return string may not be empty in case of +// error in the future. +// I think Option 1 is best, but it is quite opinionated. + +// ToASCII is a wrapper for Punycode.ToASCII. +func ToASCII(s string) (string, error) { + return Punycode.process(s, true) +} + +// ToUnicode is a wrapper for Punycode.ToUnicode. +func ToUnicode(s string) (string, error) { + return Punycode.process(s, false) +} + +// An Option configures a Profile at creation time. +type Option func(*options) + +// Transitional sets a Profile to use the Transitional mapping as defined in UTS +// #46. This will cause, for example, "ß" to be mapped to "ss". Using the +// transitional mapping provides a compromise between IDNA2003 and IDNA2008 +// compatibility. It is used by most browsers when resolving domain names. This +// option is only meaningful if combined with MapForLookup. +func Transitional(transitional bool) Option { + return func(o *options) { o.transitional = true } +} + +// VerifyDNSLength sets whether a Profile should fail if any of the IDN parts +// are longer than allowed by the RFC. +func VerifyDNSLength(verify bool) Option { + return func(o *options) { o.verifyDNSLength = verify } +} + +// RemoveLeadingDots removes leading label separators. Leading runes that map to +// dots, such as U+3002 IDEOGRAPHIC FULL STOP, are removed as well. +// +// This is the behavior suggested by the UTS #46 and is adopted by some +// browsers. +func RemoveLeadingDots(remove bool) Option { + return func(o *options) { o.removeLeadingDots = remove } +} + +// ValidateLabels sets whether to check the mandatory label validation criteria +// as defined in Section 5.4 of RFC 5891. This includes testing for correct use +// of hyphens ('-'), normalization, validity of runes, and the context rules. +func ValidateLabels(enable bool) Option { + return func(o *options) { + // Don't override existing mappings, but set one that at least checks + // normalization if it is not set. + if o.mapping == nil && enable { + o.mapping = normalize + } + o.trie = trie + o.validateLabels = enable + o.fromPuny = validateFromPunycode + } +} + +// StrictDomainName limits the set of permissable ASCII characters to those +// allowed in domain names as defined in RFC 1034 (A-Z, a-z, 0-9 and the +// hyphen). This is set by default for MapForLookup and ValidateForRegistration. +// +// This option is useful, for instance, for browsers that allow characters +// outside this range, for example a '_' (U+005F LOW LINE). See +// http://www.rfc-editor.org/std/std3.txt for more details This option +// corresponds to the UseSTD3ASCIIRules option in UTS #46. +func StrictDomainName(use bool) Option { + return func(o *options) { + o.trie = trie + o.useSTD3Rules = use + o.fromPuny = validateFromPunycode + } +} + +// NOTE: the following options pull in tables. The tables should not be linked +// in as long as the options are not used. + +// BidiRule enables the Bidi rule as defined in RFC 5893. Any application +// that relies on proper validation of labels should include this rule. +func BidiRule() Option { + return func(o *options) { o.bidirule = bidirule.ValidString } +} + +// ValidateForRegistration sets validation options to verify that a given IDN is +// properly formatted for registration as defined by Section 4 of RFC 5891. +func ValidateForRegistration() Option { + return func(o *options) { + o.mapping = validateRegistration + StrictDomainName(true)(o) + ValidateLabels(true)(o) + VerifyDNSLength(true)(o) + BidiRule()(o) + } +} + +// MapForLookup sets validation and mapping options such that a given IDN is +// transformed for domain name lookup according to the requirements set out in +// Section 5 of RFC 5891. The mappings follow the recommendations of RFC 5894, +// RFC 5895 and UTS 46. It does not add the Bidi Rule. Use the BidiRule option +// to add this check. +// +// The mappings include normalization and mapping case, width and other +// compatibility mappings. +func MapForLookup() Option { + return func(o *options) { + o.mapping = validateAndMap + StrictDomainName(true)(o) + ValidateLabels(true)(o) + RemoveLeadingDots(true)(o) + } +} + +type options struct { + transitional bool + useSTD3Rules bool + validateLabels bool + verifyDNSLength bool + removeLeadingDots bool + + trie *idnaTrie + + // fromPuny calls validation rules when converting A-labels to U-labels. + fromPuny func(p *Profile, s string) error + + // mapping implements a validation and mapping step as defined in RFC 5895 + // or UTS 46, tailored to, for example, domain registration or lookup. + mapping func(p *Profile, s string) (string, error) + + // bidirule, if specified, checks whether s conforms to the Bidi Rule + // defined in RFC 5893. + bidirule func(s string) bool +} + +// A Profile defines the configuration of a IDNA mapper. +type Profile struct { + options +} + +func apply(o *options, opts []Option) { + for _, f := range opts { + f(o) + } +} + +// New creates a new Profile. +// +// With no options, the returned Profile is the most permissive and equals the +// Punycode Profile. Options can be passed to further restrict the Profile. The +// MapForLookup and ValidateForRegistration options set a collection of options, +// for lookup and registration purposes respectively, which can be tailored by +// adding more fine-grained options, where later options override earlier +// options. +func New(o ...Option) *Profile { + p := &Profile{} + apply(&p.options, o) + return p +} + +// ToASCII converts a domain or domain label to its ASCII form. For example, +// ToASCII("bücher.example.com") is "xn--bcher-kva.example.com", and +// ToASCII("golang") is "golang". If an error is encountered it will return +// an error and a (partially) processed result. +func (p *Profile) ToASCII(s string) (string, error) { + return p.process(s, true) +} + +// ToUnicode converts a domain or domain label to its Unicode form. For example, +// ToUnicode("xn--bcher-kva.example.com") is "bücher.example.com", and +// ToUnicode("golang") is "golang". If an error is encountered it will return +// an error and a (partially) processed result. +func (p *Profile) ToUnicode(s string) (string, error) { + pp := *p + pp.transitional = false + return pp.process(s, false) +} + +// String reports a string with a description of the profile for debugging +// purposes. The string format may change with different versions. +func (p *Profile) String() string { + s := "" + if p.transitional { + s = "Transitional" + } else { + s = "NonTransitional" + } + if p.useSTD3Rules { + s += ":UseSTD3Rules" + } + if p.validateLabels { + s += ":ValidateLabels" + } + if p.verifyDNSLength { + s += ":VerifyDNSLength" + } + return s +} + +var ( + // Punycode is a Profile that does raw punycode processing with a minimum + // of validation. + Punycode *Profile = punycode + + // Lookup is the recommended profile for looking up domain names, according + // to Section 5 of RFC 5891. The exact configuration of this profile may + // change over time. + Lookup *Profile = lookup + + // Display is the recommended profile for displaying domain names. + // The configuration of this profile may change over time. + Display *Profile = display + + // Registration is the recommended profile for checking whether a given + // IDN is valid for registration, according to Section 4 of RFC 5891. + Registration *Profile = registration + + punycode = &Profile{} + lookup = &Profile{options{ + transitional: true, + useSTD3Rules: true, + validateLabels: true, + removeLeadingDots: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateAndMap, + bidirule: bidirule.ValidString, + }} + display = &Profile{options{ + useSTD3Rules: true, + validateLabels: true, + removeLeadingDots: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateAndMap, + bidirule: bidirule.ValidString, + }} + registration = &Profile{options{ + useSTD3Rules: true, + validateLabels: true, + verifyDNSLength: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateRegistration, + bidirule: bidirule.ValidString, + }} + + // TODO: profiles + // Register: recommended for approving domain names: don't do any mappings + // but rather reject on invalid input. Bundle or block deviation characters. +) + +type labelError struct{ label, code_ string } + +func (e labelError) code() string { return e.code_ } +func (e labelError) Error() string { + return fmt.Sprintf("idna: invalid label %q", e.label) +} + +type runeError rune + +func (e runeError) code() string { return "P1" } +func (e runeError) Error() string { + return fmt.Sprintf("idna: disallowed rune %U", e) +} + +// process implements the algorithm described in section 4 of UTS #46, +// see https://www.unicode.org/reports/tr46. +func (p *Profile) process(s string, toASCII bool) (string, error) { + var err error + if p.mapping != nil { + s, err = p.mapping(p, s) + } + // Remove leading empty labels. + if p.removeLeadingDots { + for ; len(s) > 0 && s[0] == '.'; s = s[1:] { + } + } + // It seems like we should only create this error on ToASCII, but the + // UTS 46 conformance tests suggests we should always check this. + if err == nil && p.verifyDNSLength && s == "" { + err = &labelError{s, "A4"} + } + labels := labelIter{orig: s} + for ; !labels.done(); labels.next() { + label := labels.label() + if label == "" { + // Empty labels are not okay. The label iterator skips the last + // label if it is empty. + if err == nil && p.verifyDNSLength { + err = &labelError{s, "A4"} + } + continue + } + if strings.HasPrefix(label, acePrefix) { + u, err2 := decode(label[len(acePrefix):]) + if err2 != nil { + if err == nil { + err = err2 + } + // Spec says keep the old label. + continue + } + labels.set(u) + if err == nil && p.validateLabels { + err = p.fromPuny(p, u) + } + if err == nil { + // This should be called on NonTransitional, according to the + // spec, but that currently does not have any effect. Use the + // original profile to preserve options. + err = p.validateLabel(u) + } + } else if err == nil { + err = p.validateLabel(label) + } + } + if toASCII { + for labels.reset(); !labels.done(); labels.next() { + label := labels.label() + if !ascii(label) { + a, err2 := encode(acePrefix, label) + if err == nil { + err = err2 + } + label = a + labels.set(a) + } + n := len(label) + if p.verifyDNSLength && err == nil && (n == 0 || n > 63) { + err = &labelError{label, "A4"} + } + } + } + s = labels.result() + if toASCII && p.verifyDNSLength && err == nil { + // Compute the length of the domain name minus the root label and its dot. + n := len(s) + if n > 0 && s[n-1] == '.' { + n-- + } + if len(s) < 1 || n > 253 { + err = &labelError{s, "A4"} + } + } + return s, err +} + +func normalize(p *Profile, s string) (string, error) { + return norm.NFC.String(s), nil +} + +func validateRegistration(p *Profile, s string) (string, error) { + if !norm.NFC.IsNormalString(s) { + return s, &labelError{s, "V1"} + } + for i := 0; i < len(s); { + v, sz := trie.lookupString(s[i:]) + // Copy bytes not copied so far. + switch p.simplify(info(v).category()) { + // TODO: handle the NV8 defined in the Unicode idna data set to allow + // for strict conformance to IDNA2008. + case valid, deviation: + case disallowed, mapped, unknown, ignored: + r, _ := utf8.DecodeRuneInString(s[i:]) + return s, runeError(r) + } + i += sz + } + return s, nil +} + +func validateAndMap(p *Profile, s string) (string, error) { + var ( + err error + b []byte + k int + ) + for i := 0; i < len(s); { + v, sz := trie.lookupString(s[i:]) + start := i + i += sz + // Copy bytes not copied so far. + switch p.simplify(info(v).category()) { + case valid: + continue + case disallowed: + if err == nil { + r, _ := utf8.DecodeRuneInString(s[start:]) + err = runeError(r) + } + continue + case mapped, deviation: + b = append(b, s[k:start]...) + b = info(v).appendMapping(b, s[start:i]) + case ignored: + b = append(b, s[k:start]...) + // drop the rune + case unknown: + b = append(b, s[k:start]...) + b = append(b, "\ufffd"...) + } + k = i + } + if k == 0 { + // No changes so far. + s = norm.NFC.String(s) + } else { + b = append(b, s[k:]...) + if norm.NFC.QuickSpan(b) != len(b) { + b = norm.NFC.Bytes(b) + } + // TODO: the punycode converters require strings as input. + s = string(b) + } + return s, err +} + +// A labelIter allows iterating over domain name labels. +type labelIter struct { + orig string + slice []string + curStart int + curEnd int + i int +} + +func (l *labelIter) reset() { + l.curStart = 0 + l.curEnd = 0 + l.i = 0 +} + +func (l *labelIter) done() bool { + return l.curStart >= len(l.orig) +} + +func (l *labelIter) result() string { + if l.slice != nil { + return strings.Join(l.slice, ".") + } + return l.orig +} + +func (l *labelIter) label() string { + if l.slice != nil { + return l.slice[l.i] + } + p := strings.IndexByte(l.orig[l.curStart:], '.') + l.curEnd = l.curStart + p + if p == -1 { + l.curEnd = len(l.orig) + } + return l.orig[l.curStart:l.curEnd] +} + +// next sets the value to the next label. It skips the last label if it is empty. +func (l *labelIter) next() { + l.i++ + if l.slice != nil { + if l.i >= len(l.slice) || l.i == len(l.slice)-1 && l.slice[l.i] == "" { + l.curStart = len(l.orig) + } + } else { + l.curStart = l.curEnd + 1 + if l.curStart == len(l.orig)-1 && l.orig[l.curStart] == '.' { + l.curStart = len(l.orig) + } + } +} + +func (l *labelIter) set(s string) { + if l.slice == nil { + l.slice = strings.Split(l.orig, ".") + } + l.slice[l.i] = s +} + +// acePrefix is the ASCII Compatible Encoding prefix. +const acePrefix = "xn--" + +func (p *Profile) simplify(cat category) category { + switch cat { + case disallowedSTD3Mapped: + if p.useSTD3Rules { + cat = disallowed + } else { + cat = mapped + } + case disallowedSTD3Valid: + if p.useSTD3Rules { + cat = disallowed + } else { + cat = valid + } + case deviation: + if !p.transitional { + cat = valid + } + case validNV8, validXV8: + // TODO: handle V2008 + cat = valid + } + return cat +} + +func validateFromPunycode(p *Profile, s string) error { + if !norm.NFC.IsNormalString(s) { + return &labelError{s, "V1"} + } + for i := 0; i < len(s); { + v, sz := trie.lookupString(s[i:]) + if c := p.simplify(info(v).category()); c != valid && c != deviation { + return &labelError{s, "V6"} + } + i += sz + } + return nil +} + +const ( + zwnj = "\u200c" + zwj = "\u200d" +) + +type joinState int8 + +const ( + stateStart joinState = iota + stateVirama + stateBefore + stateBeforeVirama + stateAfter + stateFAIL +) + +var joinStates = [][numJoinTypes]joinState{ + stateStart: { + joiningL: stateBefore, + joiningD: stateBefore, + joinZWNJ: stateFAIL, + joinZWJ: stateFAIL, + joinVirama: stateVirama, + }, + stateVirama: { + joiningL: stateBefore, + joiningD: stateBefore, + }, + stateBefore: { + joiningL: stateBefore, + joiningD: stateBefore, + joiningT: stateBefore, + joinZWNJ: stateAfter, + joinZWJ: stateFAIL, + joinVirama: stateBeforeVirama, + }, + stateBeforeVirama: { + joiningL: stateBefore, + joiningD: stateBefore, + joiningT: stateBefore, + }, + stateAfter: { + joiningL: stateFAIL, + joiningD: stateBefore, + joiningT: stateAfter, + joiningR: stateStart, + joinZWNJ: stateFAIL, + joinZWJ: stateFAIL, + joinVirama: stateAfter, // no-op as we can't accept joiners here + }, + stateFAIL: { + 0: stateFAIL, + joiningL: stateFAIL, + joiningD: stateFAIL, + joiningT: stateFAIL, + joiningR: stateFAIL, + joinZWNJ: stateFAIL, + joinZWJ: stateFAIL, + joinVirama: stateFAIL, + }, +} + +// validateLabel validates the criteria from Section 4.1. Item 1, 4, and 6 are +// already implicitly satisfied by the overall implementation. +func (p *Profile) validateLabel(s string) error { + if s == "" { + if p.verifyDNSLength { + return &labelError{s, "A4"} + } + return nil + } + if p.bidirule != nil && !p.bidirule(s) { + return &labelError{s, "B"} + } + if !p.validateLabels { + return nil + } + trie := p.trie // p.validateLabels is only set if trie is set. + if len(s) > 4 && s[2] == '-' && s[3] == '-' { + return &labelError{s, "V2"} + } + if s[0] == '-' || s[len(s)-1] == '-' { + return &labelError{s, "V3"} + } + // TODO: merge the use of this in the trie. + v, sz := trie.lookupString(s) + x := info(v) + if x.isModifier() { + return &labelError{s, "V5"} + } + // Quickly return in the absence of zero-width (non) joiners. + if strings.Index(s, zwj) == -1 && strings.Index(s, zwnj) == -1 { + return nil + } + st := stateStart + for i := 0; ; { + jt := x.joinType() + if s[i:i+sz] == zwj { + jt = joinZWJ + } else if s[i:i+sz] == zwnj { + jt = joinZWNJ + } + st = joinStates[st][jt] + if x.isViramaModifier() { + st = joinStates[st][joinVirama] + } + if i += sz; i == len(s) { + break + } + v, sz = trie.lookupString(s[i:]) + x = info(v) + } + if st == stateFAIL || st == stateAfter { + return &labelError{s, "C"} + } + return nil +} + +func ascii(s string) bool { + for i := 0; i < len(s); i++ { + if s[i] >= utf8.RuneSelf { + return false + } + } + return true +} diff --git a/vendor/golang.org/x/net/idna/tables.go b/vendor/golang.org/x/net/idna/tables10.0.0.go similarity index 99% rename from vendor/golang.org/x/net/idna/tables.go rename to vendor/golang.org/x/net/idna/tables10.0.0.go index f910b269..54fddb4b 100644 --- a/vendor/golang.org/x/net/idna/tables.go +++ b/vendor/golang.org/x/net/idna/tables10.0.0.go @@ -1,11 +1,13 @@ // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. +// +build go1.10,!go1.13 + package idna // UnicodeVersion is the Unicode version from which the tables in this package are derived. const UnicodeVersion = "10.0.0" -var mappings string = "" + // Size: 8176 bytes +var mappings string = "" + // Size: 8175 bytes "\x00\x01 \x03 ̈\x01a\x03 ̄\x012\x013\x03 ́\x03 ̧\x011\x01o\x051⁄4\x051⁄2" + "\x053⁄4\x03i̇\x03l·\x03ʼn\x01s\x03dž\x03ⱥ\x03ⱦ\x01h\x01j\x01r\x01w\x01y" + "\x03 ̆\x03 ̇\x03 ̊\x03 ̨\x03 ̃\x03 ̋\x01l\x01x\x04̈́\x03 ι\x01;\x05 ̈́" + @@ -4554,4 +4556,4 @@ var idnaSparseValues = [1915]valueRange{ {value: 0x0040, lo: 0xb0, hi: 0xbf}, } -// Total table size 42115 bytes (41KiB); checksum: F4A1FA4E +// Total table size 42114 bytes (41KiB); checksum: 355A58A4 diff --git a/vendor/golang.org/x/net/idna/tables11.0.0.go b/vendor/golang.org/x/net/idna/tables11.0.0.go new file mode 100644 index 00000000..c515d7ad --- /dev/null +++ b/vendor/golang.org/x/net/idna/tables11.0.0.go @@ -0,0 +1,4653 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// +build go1.13 + +package idna + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "11.0.0" + +var mappings string = "" + // Size: 8175 bytes + "\x00\x01 \x03 ̈\x01a\x03 ̄\x012\x013\x03 ́\x03 ̧\x011\x01o\x051⁄4\x051⁄2" + + "\x053⁄4\x03i̇\x03l·\x03ʼn\x01s\x03dž\x03ⱥ\x03ⱦ\x01h\x01j\x01r\x01w\x01y" + + "\x03 ̆\x03 ̇\x03 ̊\x03 ̨\x03 ̃\x03 ̋\x01l\x01x\x04̈́\x03 ι\x01;\x05 ̈́" + + "\x04եւ\x04اٴ\x04وٴ\x04ۇٴ\x04يٴ\x06क़\x06ख़\x06ग़\x06ज़\x06ड़\x06ढ़\x06फ़" + + "\x06य़\x06ড়\x06ঢ়\x06য়\x06ਲ਼\x06ਸ਼\x06ਖ਼\x06ਗ਼\x06ਜ਼\x06ਫ਼\x06ଡ଼\x06ଢ଼" + + "\x06ํา\x06ໍາ\x06ຫນ\x06ຫມ\x06གྷ\x06ཌྷ\x06དྷ\x06བྷ\x06ཛྷ\x06ཀྵ\x06ཱི\x06ཱུ" + + "\x06ྲྀ\x09ྲཱྀ\x06ླྀ\x09ླཱྀ\x06ཱྀ\x06ྒྷ\x06ྜྷ\x06ྡྷ\x06ྦྷ\x06ྫྷ\x06ྐྵ\x02" + + "в\x02д\x02о\x02с\x02т\x02ъ\x02ѣ\x02æ\x01b\x01d\x01e\x02ǝ\x01g\x01i\x01k" + + "\x01m\x01n\x02ȣ\x01p\x01t\x01u\x02ɐ\x02ɑ\x02ə\x02ɛ\x02ɜ\x02ŋ\x02ɔ\x02ɯ" + + "\x01v\x02β\x02γ\x02δ\x02φ\x02χ\x02ρ\x02н\x02ɒ\x01c\x02ɕ\x02ð\x01f\x02ɟ" + + "\x02ɡ\x02ɥ\x02ɨ\x02ɩ\x02ɪ\x02ʝ\x02ɭ\x02ʟ\x02ɱ\x02ɰ\x02ɲ\x02ɳ\x02ɴ\x02ɵ" + + "\x02ɸ\x02ʂ\x02ʃ\x02ƫ\x02ʉ\x02ʊ\x02ʋ\x02ʌ\x01z\x02ʐ\x02ʑ\x02ʒ\x02θ\x02ss" + + "\x02ά\x02έ\x02ή\x02ί\x02ό\x02ύ\x02ώ\x05ἀι\x05ἁι\x05ἂι\x05ἃι\x05ἄι\x05ἅι" + + "\x05ἆι\x05ἇι\x05ἠι\x05ἡι\x05ἢι\x05ἣι\x05ἤι\x05ἥι\x05ἦι\x05ἧι\x05ὠι\x05ὡι" + + "\x05ὢι\x05ὣι\x05ὤι\x05ὥι\x05ὦι\x05ὧι\x05ὰι\x04αι\x04άι\x05ᾶι\x02ι\x05 ̈͂" + + "\x05ὴι\x04ηι\x04ήι\x05ῆι\x05 ̓̀\x05 ̓́\x05 ̓͂\x02ΐ\x05 ̔̀\x05 ̔́\x05 ̔͂" + + "\x02ΰ\x05 ̈̀\x01`\x05ὼι\x04ωι\x04ώι\x05ῶι\x06′′\x09′′′\x06‵‵\x09‵‵‵\x02!" + + "!\x02??\x02?!\x02!?\x0c′′′′\x010\x014\x015\x016\x017\x018\x019\x01+\x01=" + + "\x01(\x01)\x02rs\x02ħ\x02no\x01q\x02sm\x02tm\x02ω\x02å\x02א\x02ב\x02ג" + + "\x02ד\x02π\x051⁄7\x051⁄9\x061⁄10\x051⁄3\x052⁄3\x051⁄5\x052⁄5\x053⁄5\x054" + + "⁄5\x051⁄6\x055⁄6\x051⁄8\x053⁄8\x055⁄8\x057⁄8\x041⁄\x02ii\x02iv\x02vi" + + "\x04viii\x02ix\x02xi\x050⁄3\x06∫∫\x09∫∫∫\x06∮∮\x09∮∮∮\x0210\x0211\x0212" + + "\x0213\x0214\x0215\x0216\x0217\x0218\x0219\x0220\x04(10)\x04(11)\x04(12)" + + "\x04(13)\x04(14)\x04(15)\x04(16)\x04(17)\x04(18)\x04(19)\x04(20)\x0c∫∫∫∫" + + "\x02==\x05⫝̸\x02ɫ\x02ɽ\x02ȿ\x02ɀ\x01.\x04 ゙\x04 ゚\x06より\x06コト\x05(ᄀ)\x05" + + "(ᄂ)\x05(ᄃ)\x05(ᄅ)\x05(ᄆ)\x05(ᄇ)\x05(ᄉ)\x05(ᄋ)\x05(ᄌ)\x05(ᄎ)\x05(ᄏ)\x05(ᄐ" + + ")\x05(ᄑ)\x05(ᄒ)\x05(가)\x05(나)\x05(다)\x05(라)\x05(마)\x05(바)\x05(사)\x05(아)" + + "\x05(자)\x05(차)\x05(카)\x05(타)\x05(파)\x05(하)\x05(주)\x08(오전)\x08(오후)\x05(一)" + + "\x05(二)\x05(三)\x05(四)\x05(五)\x05(六)\x05(七)\x05(八)\x05(九)\x05(十)\x05(月)" + + "\x05(火)\x05(水)\x05(木)\x05(金)\x05(土)\x05(日)\x05(株)\x05(有)\x05(社)\x05(名)" + + "\x05(特)\x05(財)\x05(祝)\x05(労)\x05(代)\x05(呼)\x05(学)\x05(監)\x05(企)\x05(資)" + + "\x05(協)\x05(祭)\x05(休)\x05(自)\x05(至)\x0221\x0222\x0223\x0224\x0225\x0226" + + "\x0227\x0228\x0229\x0230\x0231\x0232\x0233\x0234\x0235\x06참고\x06주의\x0236" + + "\x0237\x0238\x0239\x0240\x0241\x0242\x0243\x0244\x0245\x0246\x0247\x0248" + + "\x0249\x0250\x041月\x042月\x043月\x044月\x045月\x046月\x047月\x048月\x049月\x0510" + + "月\x0511月\x0512月\x02hg\x02ev\x0cアパート\x0cアルファ\x0cアンペア\x09アール\x0cイニング\x09" + + "インチ\x09ウォン\x0fエスクード\x0cエーカー\x09オンス\x09オーム\x09カイリ\x0cカラット\x0cカロリー\x09ガロ" + + "ン\x09ガンマ\x06ギガ\x09ギニー\x0cキュリー\x0cギルダー\x06キロ\x0fキログラム\x12キロメートル\x0fキロワッ" + + "ト\x09グラム\x0fグラムトン\x0fクルゼイロ\x0cクローネ\x09ケース\x09コルナ\x09コーポ\x0cサイクル\x0fサンチ" + + "ーム\x0cシリング\x09センチ\x09セント\x09ダース\x06デシ\x06ドル\x06トン\x06ナノ\x09ノット\x09ハイツ" + + "\x0fパーセント\x09パーツ\x0cバーレル\x0fピアストル\x09ピクル\x06ピコ\x06ビル\x0fファラッド\x0cフィート" + + "\x0fブッシェル\x09フラン\x0fヘクタール\x06ペソ\x09ペニヒ\x09ヘルツ\x09ペンス\x09ページ\x09ベータ\x0cポイ" + + "ント\x09ボルト\x06ホン\x09ポンド\x09ホール\x09ホーン\x0cマイクロ\x09マイル\x09マッハ\x09マルク\x0fマ" + + "ンション\x0cミクロン\x06ミリ\x0fミリバール\x06メガ\x0cメガトン\x0cメートル\x09ヤード\x09ヤール\x09ユアン" + + "\x0cリットル\x06リラ\x09ルピー\x0cルーブル\x06レム\x0fレントゲン\x09ワット\x040点\x041点\x042点" + + "\x043点\x044点\x045点\x046点\x047点\x048点\x049点\x0510点\x0511点\x0512点\x0513点" + + "\x0514点\x0515点\x0516点\x0517点\x0518点\x0519点\x0520点\x0521点\x0522点\x0523点" + + "\x0524点\x02da\x02au\x02ov\x02pc\x02dm\x02iu\x06平成\x06昭和\x06大正\x06明治\x0c株" + + "式会社\x02pa\x02na\x02ma\x02ka\x02kb\x02mb\x02gb\x04kcal\x02pf\x02nf\x02m" + + "g\x02kg\x02hz\x02ml\x02dl\x02kl\x02fm\x02nm\x02mm\x02cm\x02km\x02m2\x02m" + + "3\x05m∕s\x06m∕s2\x07rad∕s\x08rad∕s2\x02ps\x02ns\x02ms\x02pv\x02nv\x02mv" + + "\x02kv\x02pw\x02nw\x02mw\x02kw\x02bq\x02cc\x02cd\x06c∕kg\x02db\x02gy\x02" + + "ha\x02hp\x02in\x02kk\x02kt\x02lm\x02ln\x02lx\x02ph\x02pr\x02sr\x02sv\x02" + + "wb\x05v∕m\x05a∕m\x041日\x042日\x043日\x044日\x045日\x046日\x047日\x048日\x049日" + + "\x0510日\x0511日\x0512日\x0513日\x0514日\x0515日\x0516日\x0517日\x0518日\x0519日" + + "\x0520日\x0521日\x0522日\x0523日\x0524日\x0525日\x0526日\x0527日\x0528日\x0529日" + + "\x0530日\x0531日\x02ь\x02ɦ\x02ɬ\x02ʞ\x02ʇ\x02œ\x04𤋮\x04𢡊\x04𢡄\x04𣏕\x04𥉉" + + "\x04𥳐\x04𧻓\x02ff\x02fi\x02fl\x02st\x04մն\x04մե\x04մի\x04վն\x04մխ\x04יִ" + + "\x04ײַ\x02ע\x02ה\x02כ\x02ל\x02ם\x02ר\x02ת\x04שׁ\x04שׂ\x06שּׁ\x06שּׂ\x04א" + + "ַ\x04אָ\x04אּ\x04בּ\x04גּ\x04דּ\x04הּ\x04וּ\x04זּ\x04טּ\x04יּ\x04ךּ\x04" + + "כּ\x04לּ\x04מּ\x04נּ\x04סּ\x04ףּ\x04פּ\x04צּ\x04קּ\x04רּ\x04שּ\x04תּ" + + "\x04וֹ\x04בֿ\x04כֿ\x04פֿ\x04אל\x02ٱ\x02ٻ\x02پ\x02ڀ\x02ٺ\x02ٿ\x02ٹ\x02ڤ" + + "\x02ڦ\x02ڄ\x02ڃ\x02چ\x02ڇ\x02ڍ\x02ڌ\x02ڎ\x02ڈ\x02ژ\x02ڑ\x02ک\x02گ\x02ڳ" + + "\x02ڱ\x02ں\x02ڻ\x02ۀ\x02ہ\x02ھ\x02ے\x02ۓ\x02ڭ\x02ۇ\x02ۆ\x02ۈ\x02ۋ\x02ۅ" + + "\x02ۉ\x02ې\x02ى\x04ئا\x04ئە\x04ئو\x04ئۇ\x04ئۆ\x04ئۈ\x04ئې\x04ئى\x02ی\x04" + + "ئج\x04ئح\x04ئم\x04ئي\x04بج\x04بح\x04بخ\x04بم\x04بى\x04بي\x04تج\x04تح" + + "\x04تخ\x04تم\x04تى\x04تي\x04ثج\x04ثم\x04ثى\x04ثي\x04جح\x04جم\x04حج\x04حم" + + "\x04خج\x04خح\x04خم\x04سج\x04سح\x04سخ\x04سم\x04صح\x04صم\x04ضج\x04ضح\x04ضخ" + + "\x04ضم\x04طح\x04طم\x04ظم\x04عج\x04عم\x04غج\x04غم\x04فج\x04فح\x04فخ\x04فم" + + "\x04فى\x04في\x04قح\x04قم\x04قى\x04قي\x04كا\x04كج\x04كح\x04كخ\x04كل\x04كم" + + "\x04كى\x04كي\x04لج\x04لح\x04لخ\x04لم\x04لى\x04لي\x04مج\x04مح\x04مخ\x04مم" + + "\x04مى\x04مي\x04نج\x04نح\x04نخ\x04نم\x04نى\x04ني\x04هج\x04هم\x04هى\x04هي" + + "\x04يج\x04يح\x04يخ\x04يم\x04يى\x04يي\x04ذٰ\x04رٰ\x04ىٰ\x05 ٌّ\x05 ٍّ\x05" + + " َّ\x05 ُّ\x05 ِّ\x05 ّٰ\x04ئر\x04ئز\x04ئن\x04بر\x04بز\x04بن\x04تر\x04تز" + + "\x04تن\x04ثر\x04ثز\x04ثن\x04ما\x04نر\x04نز\x04نن\x04ير\x04يز\x04ين\x04ئخ" + + "\x04ئه\x04به\x04ته\x04صخ\x04له\x04نه\x04هٰ\x04يه\x04ثه\x04سه\x04شم\x04شه" + + "\x06ـَّ\x06ـُّ\x06ـِّ\x04طى\x04طي\x04عى\x04عي\x04غى\x04غي\x04سى\x04سي" + + "\x04شى\x04شي\x04حى\x04حي\x04جى\x04جي\x04خى\x04خي\x04صى\x04صي\x04ضى\x04ضي" + + "\x04شج\x04شح\x04شخ\x04شر\x04سر\x04صر\x04ضر\x04اً\x06تجم\x06تحج\x06تحم" + + "\x06تخم\x06تمج\x06تمح\x06تمخ\x06جمح\x06حمي\x06حمى\x06سحج\x06سجح\x06سجى" + + "\x06سمح\x06سمج\x06سمم\x06صحح\x06صمم\x06شحم\x06شجي\x06شمخ\x06شمم\x06ضحى" + + "\x06ضخم\x06طمح\x06طمم\x06طمي\x06عجم\x06عمم\x06عمى\x06غمم\x06غمي\x06غمى" + + "\x06فخم\x06قمح\x06قمم\x06لحم\x06لحي\x06لحى\x06لجج\x06لخم\x06لمح\x06محج" + + "\x06محم\x06محي\x06مجح\x06مجم\x06مخج\x06مخم\x06مجخ\x06همج\x06همم\x06نحم" + + "\x06نحى\x06نجم\x06نجى\x06نمي\x06نمى\x06يمم\x06بخي\x06تجي\x06تجى\x06تخي" + + "\x06تخى\x06تمي\x06تمى\x06جمي\x06جحى\x06جمى\x06سخى\x06صحي\x06شحي\x06ضحي" + + "\x06لجي\x06لمي\x06يحي\x06يجي\x06يمي\x06ممي\x06قمي\x06نحي\x06عمي\x06كمي" + + "\x06نجح\x06مخي\x06لجم\x06كمم\x06جحي\x06حجي\x06مجي\x06فمي\x06بحي\x06سخي" + + "\x06نجي\x06صلے\x06قلے\x08الله\x08اكبر\x08محمد\x08صلعم\x08رسول\x08عليه" + + "\x08وسلم\x06صلى!صلى الله عليه وسلم\x0fجل جلاله\x08ریال\x01,\x01:\x01!" + + "\x01?\x01_\x01{\x01}\x01[\x01]\x01#\x01&\x01*\x01-\x01<\x01>\x01\\\x01$" + + "\x01%\x01@\x04ـً\x04ـَ\x04ـُ\x04ـِ\x04ـّ\x04ـْ\x02ء\x02آ\x02أ\x02ؤ\x02إ" + + "\x02ئ\x02ا\x02ب\x02ة\x02ت\x02ث\x02ج\x02ح\x02خ\x02د\x02ذ\x02ر\x02ز\x02س" + + "\x02ش\x02ص\x02ض\x02ط\x02ظ\x02ع\x02غ\x02ف\x02ق\x02ك\x02ل\x02م\x02ن\x02ه" + + "\x02و\x02ي\x04لآ\x04لأ\x04لإ\x04لا\x01\x22\x01'\x01/\x01^\x01|\x01~\x02¢" + + "\x02£\x02¬\x02¦\x02¥\x08𝅗𝅥\x08𝅘𝅥\x0c𝅘𝅥𝅮\x0c𝅘𝅥𝅯\x0c𝅘𝅥𝅰\x0c𝅘𝅥𝅱\x0c𝅘𝅥𝅲\x08𝆹" + + "𝅥\x08𝆺𝅥\x0c𝆹𝅥𝅮\x0c𝆺𝅥𝅮\x0c𝆹𝅥𝅯\x0c𝆺𝅥𝅯\x02ı\x02ȷ\x02α\x02ε\x02ζ\x02η\x02" + + "κ\x02λ\x02μ\x02ν\x02ξ\x02ο\x02σ\x02τ\x02υ\x02ψ\x03∇\x03∂\x02ϝ\x02ٮ\x02ڡ" + + "\x02ٯ\x020,\x021,\x022,\x023,\x024,\x025,\x026,\x027,\x028,\x029,\x03(a)" + + "\x03(b)\x03(c)\x03(d)\x03(e)\x03(f)\x03(g)\x03(h)\x03(i)\x03(j)\x03(k)" + + "\x03(l)\x03(m)\x03(n)\x03(o)\x03(p)\x03(q)\x03(r)\x03(s)\x03(t)\x03(u)" + + "\x03(v)\x03(w)\x03(x)\x03(y)\x03(z)\x07〔s〕\x02wz\x02hv\x02sd\x03ppv\x02w" + + "c\x02mc\x02md\x02dj\x06ほか\x06ココ\x03サ\x03手\x03字\x03双\x03デ\x03二\x03多\x03解" + + "\x03天\x03交\x03映\x03無\x03料\x03前\x03後\x03再\x03新\x03初\x03終\x03生\x03販\x03声" + + "\x03吹\x03演\x03投\x03捕\x03一\x03三\x03遊\x03左\x03中\x03右\x03指\x03走\x03打\x03禁" + + "\x03空\x03合\x03満\x03有\x03月\x03申\x03割\x03営\x03配\x09〔本〕\x09〔三〕\x09〔二〕\x09〔安" + + "〕\x09〔点〕\x09〔打〕\x09〔盗〕\x09〔勝〕\x09〔敗〕\x03得\x03可\x03丽\x03丸\x03乁\x03你\x03" + + "侮\x03侻\x03倂\x03偺\x03備\x03僧\x03像\x03㒞\x03免\x03兔\x03兤\x03具\x03㒹\x03內\x03" + + "冗\x03冤\x03仌\x03冬\x03况\x03凵\x03刃\x03㓟\x03刻\x03剆\x03剷\x03㔕\x03勇\x03勉\x03" + + "勤\x03勺\x03包\x03匆\x03北\x03卉\x03卑\x03博\x03即\x03卽\x03卿\x03灰\x03及\x03叟\x03" + + "叫\x03叱\x03吆\x03咞\x03吸\x03呈\x03周\x03咢\x03哶\x03唐\x03啓\x03啣\x03善\x03喙\x03" + + "喫\x03喳\x03嗂\x03圖\x03嘆\x03圗\x03噑\x03噴\x03切\x03壮\x03城\x03埴\x03堍\x03型\x03" + + "堲\x03報\x03墬\x03売\x03壷\x03夆\x03夢\x03奢\x03姬\x03娛\x03娧\x03姘\x03婦\x03㛮\x03" + + "嬈\x03嬾\x03寃\x03寘\x03寧\x03寳\x03寿\x03将\x03尢\x03㞁\x03屠\x03屮\x03峀\x03岍\x03" + + "嵃\x03嵮\x03嵫\x03嵼\x03巡\x03巢\x03㠯\x03巽\x03帨\x03帽\x03幩\x03㡢\x03㡼\x03庰\x03" + + "庳\x03庶\x03廊\x03廾\x03舁\x03弢\x03㣇\x03形\x03彫\x03㣣\x03徚\x03忍\x03志\x03忹\x03" + + "悁\x03㤺\x03㤜\x03悔\x03惇\x03慈\x03慌\x03慎\x03慺\x03憎\x03憲\x03憤\x03憯\x03懞\x03" + + "懲\x03懶\x03成\x03戛\x03扝\x03抱\x03拔\x03捐\x03挽\x03拼\x03捨\x03掃\x03揤\x03搢\x03" + + "揅\x03掩\x03㨮\x03摩\x03摾\x03撝\x03摷\x03㩬\x03敏\x03敬\x03旣\x03書\x03晉\x03㬙\x03" + + "暑\x03㬈\x03㫤\x03冒\x03冕\x03最\x03暜\x03肭\x03䏙\x03朗\x03望\x03朡\x03杞\x03杓\x03" + + "㭉\x03柺\x03枅\x03桒\x03梅\x03梎\x03栟\x03椔\x03㮝\x03楂\x03榣\x03槪\x03檨\x03櫛\x03" + + "㰘\x03次\x03歔\x03㱎\x03歲\x03殟\x03殺\x03殻\x03汎\x03沿\x03泍\x03汧\x03洖\x03派\x03" + + "海\x03流\x03浩\x03浸\x03涅\x03洴\x03港\x03湮\x03㴳\x03滋\x03滇\x03淹\x03潮\x03濆\x03" + + "瀹\x03瀞\x03瀛\x03㶖\x03灊\x03災\x03灷\x03炭\x03煅\x03熜\x03爨\x03爵\x03牐\x03犀\x03" + + "犕\x03獺\x03王\x03㺬\x03玥\x03㺸\x03瑇\x03瑜\x03瑱\x03璅\x03瓊\x03㼛\x03甤\x03甾\x03" + + "異\x03瘐\x03㿼\x03䀈\x03直\x03眞\x03真\x03睊\x03䀹\x03瞋\x03䁆\x03䂖\x03硎\x03碌\x03" + + "磌\x03䃣\x03祖\x03福\x03秫\x03䄯\x03穀\x03穊\x03穏\x03䈂\x03篆\x03築\x03䈧\x03糒\x03" + + "䊠\x03糨\x03糣\x03紀\x03絣\x03䌁\x03緇\x03縂\x03繅\x03䌴\x03䍙\x03罺\x03羕\x03翺\x03" + + "者\x03聠\x03聰\x03䏕\x03育\x03脃\x03䐋\x03脾\x03媵\x03舄\x03辞\x03䑫\x03芑\x03芋\x03" + + "芝\x03劳\x03花\x03芳\x03芽\x03苦\x03若\x03茝\x03荣\x03莭\x03茣\x03莽\x03菧\x03著\x03" + + "荓\x03菊\x03菌\x03菜\x03䔫\x03蓱\x03蓳\x03蔖\x03蕤\x03䕝\x03䕡\x03䕫\x03虐\x03虜\x03" + + "虧\x03虩\x03蚩\x03蚈\x03蜎\x03蛢\x03蝹\x03蜨\x03蝫\x03螆\x03蟡\x03蠁\x03䗹\x03衠\x03" + + "衣\x03裗\x03裞\x03䘵\x03裺\x03㒻\x03䚾\x03䛇\x03誠\x03諭\x03變\x03豕\x03貫\x03賁\x03" + + "贛\x03起\x03跋\x03趼\x03跰\x03軔\x03輸\x03邔\x03郱\x03鄑\x03鄛\x03鈸\x03鋗\x03鋘\x03" + + "鉼\x03鏹\x03鐕\x03開\x03䦕\x03閷\x03䧦\x03雃\x03嶲\x03霣\x03䩮\x03䩶\x03韠\x03䪲\x03" + + "頋\x03頩\x03飢\x03䬳\x03餩\x03馧\x03駂\x03駾\x03䯎\x03鬒\x03鱀\x03鳽\x03䳎\x03䳭\x03" + + "鵧\x03䳸\x03麻\x03䵖\x03黹\x03黾\x03鼅\x03鼏\x03鼖\x03鼻" + +var xorData string = "" + // Size: 4855 bytes + "\x02\x0c\x09\x02\xb0\xec\x02\xad\xd8\x02\xad\xd9\x02\x06\x07\x02\x0f\x12" + + "\x02\x0f\x1f\x02\x0f\x1d\x02\x01\x13\x02\x0f\x16\x02\x0f\x0b\x02\x0f3" + + "\x02\x0f7\x02\x0f?\x02\x0f/\x02\x0f*\x02\x0c&\x02\x0c*\x02\x0c;\x02\x0c9" + + "\x02\x0c%\x02\xab\xed\x02\xab\xe2\x02\xab\xe3\x02\xa9\xe0\x02\xa9\xe1" + + "\x02\xa9\xe6\x02\xa3\xcb\x02\xa3\xc8\x02\xa3\xc9\x02\x01#\x02\x01\x08" + + "\x02\x0e>\x02\x0e'\x02\x0f\x03\x02\x03\x0d\x02\x03\x09\x02\x03\x17\x02" + + "\x03\x0e\x02\x02\x03\x02\x011\x02\x01\x00\x02\x01\x10\x02\x03<\x02\x07" + + "\x0d\x02\x02\x0c\x02\x0c0\x02\x01\x03\x02\x01\x01\x02\x01 \x02\x01\x22" + + "\x02\x01)\x02\x01\x0a\x02\x01\x0c\x02\x02\x06\x02\x02\x02\x02\x03\x10" + + "\x03\x037 \x03\x0b+\x03\x02\x01\x04\x02\x01\x02\x02\x019\x02\x03\x1c\x02" + + "\x02$\x03\x80p$\x02\x03:\x02\x03\x0a\x03\xc1r.\x03\xc1r,\x03\xc1r\x02" + + "\x02\x02:\x02\x02>\x02\x02,\x02\x02\x10\x02\x02\x00\x03\xc1s<\x03\xc1s*" + + "\x03\xc2L$\x03\xc2L;\x02\x09)\x02\x0a\x19\x03\x83\xab\xe3\x03\x83\xab" + + "\xf2\x03 4\xe0\x03\x81\xab\xea\x03\x81\xab\xf3\x03 4\xef\x03\x96\xe1\xcd" + + "\x03\x84\xe5\xc3\x02\x0d\x11\x03\x8b\xec\xcb\x03\x94\xec\xcf\x03\x9a\xec" + + "\xc2\x03\x8b\xec\xdb\x03\x94\xec\xdf\x03\x9a\xec\xd2\x03\x01\x0c!\x03" + + "\x01\x0c#\x03ʠ\x9d\x03ʣ\x9c\x03ʢ\x9f\x03ʥ\x9e\x03ʤ\x91\x03ʧ\x90\x03ʦ\x93" + + "\x03ʩ\x92\x03ʨ\x95\x03\xca\xf3\xb5\x03\xca\xf0\xb4\x03\xca\xf1\xb7\x03" + + "\xca\xf6\xb6\x03\xca\xf7\x89\x03\xca\xf4\x88\x03\xca\xf5\x8b\x03\xca\xfa" + + "\x8a\x03\xca\xfb\x8d\x03\xca\xf8\x8c\x03\xca\xf9\x8f\x03\xca\xfe\x8e\x03" + + "\xca\xff\x81\x03\xca\xfc\x80\x03\xca\xfd\x83\x03\xca\xe2\x82\x03\xca\xe3" + + "\x85\x03\xca\xe0\x84\x03\xca\xe1\x87\x03\xca\xe6\x86\x03\xca\xe7\x99\x03" + + "\xca\xe4\x98\x03\xca\xe5\x9b\x03\xca\xea\x9a\x03\xca\xeb\x9d\x03\xca\xe8" + + "\x9c\x03ؓ\x89\x03ߔ\x8b\x02\x010\x03\x03\x04\x1e\x03\x04\x15\x12\x03\x0b" + + "\x05,\x03\x06\x04\x00\x03\x06\x04)\x03\x06\x044\x03\x06\x04<\x03\x06\x05" + + "\x1d\x03\x06\x06\x00\x03\x06\x06\x0a\x03\x06\x06'\x03\x06\x062\x03\x0786" + + "\x03\x079/\x03\x079 \x03\x07:\x0e\x03\x07:\x1b\x03\x07:%\x03\x07;/\x03" + + "\x07;%\x03\x074\x11\x03\x076\x09\x03\x077*\x03\x070\x01\x03\x070\x0f\x03" + + "\x070.\x03\x071\x16\x03\x071\x04\x03\x0710\x03\x072\x18\x03\x072-\x03" + + "\x073\x14\x03\x073>\x03\x07'\x09\x03\x07 \x00\x03\x07\x1f\x0b\x03\x07" + + "\x18#\x03\x07\x18(\x03\x07\x186\x03\x07\x18\x03\x03\x07\x19\x16\x03\x07" + + "\x116\x03\x07\x12'\x03\x07\x13\x10\x03\x07\x0c&\x03\x07\x0c\x08\x03\x07" + + "\x0c\x13\x03\x07\x0d\x02\x03\x07\x0d\x1c\x03\x07\x0b5\x03\x07\x0b\x0a" + + "\x03\x07\x0b\x01\x03\x07\x0b\x0f\x03\x07\x05\x00\x03\x07\x05\x09\x03\x07" + + "\x05\x0b\x03\x07\x07\x01\x03\x07\x07\x08\x03\x07\x00<\x03\x07\x00+\x03" + + "\x07\x01)\x03\x07\x01\x1b\x03\x07\x01\x08\x03\x07\x03?\x03\x0445\x03\x04" + + "4\x08\x03\x0454\x03\x04)/\x03\x04)5\x03\x04+\x05\x03\x04+\x14\x03\x04+ " + + "\x03\x04+<\x03\x04*&\x03\x04*\x22\x03\x04&8\x03\x04!\x01\x03\x04!\x22" + + "\x03\x04\x11+\x03\x04\x10.\x03\x04\x104\x03\x04\x13=\x03\x04\x12\x04\x03" + + "\x04\x12\x0a\x03\x04\x0d\x1d\x03\x04\x0d\x07\x03\x04\x0d \x03\x05<>\x03" + + "\x055<\x03\x055!\x03\x055#\x03\x055&\x03\x054\x1d\x03\x054\x02\x03\x054" + + "\x07\x03\x0571\x03\x053\x1a\x03\x053\x16\x03\x05.<\x03\x05.\x07\x03\x05)" + + ":\x03\x05)<\x03\x05)\x0c\x03\x05)\x15\x03\x05+-\x03\x05+5\x03\x05$\x1e" + + "\x03\x05$\x14\x03\x05'\x04\x03\x05'\x14\x03\x05&\x02\x03\x05\x226\x03" + + "\x05\x22\x0c\x03\x05\x22\x1c\x03\x05\x19\x0a\x03\x05\x1b\x09\x03\x05\x1b" + + "\x0c\x03\x05\x14\x07\x03\x05\x16?\x03\x05\x16\x0c\x03\x05\x0c\x05\x03" + + "\x05\x0e\x0f\x03\x05\x01\x0e\x03\x05\x00(\x03\x05\x030\x03\x05\x03\x06" + + "\x03\x0a==\x03\x0a=1\x03\x0a=,\x03\x0a=\x0c\x03\x0a??\x03\x0a<\x08\x03" + + "\x0a9!\x03\x0a9)\x03\x0a97\x03\x0a99\x03\x0a6\x0a\x03\x0a6\x1c\x03\x0a6" + + "\x17\x03\x0a7'\x03\x0a78\x03\x0a73\x03\x0a'\x01\x03\x0a'&\x03\x0a\x1f" + + "\x0e\x03\x0a\x1f\x03\x03\x0a\x1f3\x03\x0a\x1b/\x03\x0a\x18\x19\x03\x0a" + + "\x19\x01\x03\x0a\x16\x14\x03\x0a\x0e\x22\x03\x0a\x0f\x10\x03\x0a\x0f\x02" + + "\x03\x0a\x0f \x03\x0a\x0c\x04\x03\x0a\x0b>\x03\x0a\x0b+\x03\x0a\x08/\x03" + + "\x0a\x046\x03\x0a\x05\x14\x03\x0a\x00\x04\x03\x0a\x00\x10\x03\x0a\x00" + + "\x14\x03\x0b<3\x03\x0b;*\x03\x0b9\x22\x03\x0b9)\x03\x0b97\x03\x0b+\x10" + + "\x03\x0b((\x03\x0b&5\x03\x0b$\x1c\x03\x0b$\x12\x03\x0b%\x04\x03\x0b#<" + + "\x03\x0b#0\x03\x0b#\x0d\x03\x0b#\x19\x03\x0b!:\x03\x0b!\x1f\x03\x0b!\x00" + + "\x03\x0b\x1e5\x03\x0b\x1c\x1d\x03\x0b\x1d-\x03\x0b\x1d(\x03\x0b\x18.\x03" + + "\x0b\x18 \x03\x0b\x18\x16\x03\x0b\x14\x13\x03\x0b\x15$\x03\x0b\x15\x22" + + "\x03\x0b\x12\x1b\x03\x0b\x12\x10\x03\x0b\x132\x03\x0b\x13=\x03\x0b\x12" + + "\x18\x03\x0b\x0c&\x03\x0b\x061\x03\x0b\x06:\x03\x0b\x05#\x03\x0b\x05<" + + "\x03\x0b\x04\x0b\x03\x0b\x04\x04\x03\x0b\x04\x1b\x03\x0b\x042\x03\x0b" + + "\x041\x03\x0b\x03\x03\x03\x0b\x03\x1d\x03\x0b\x03/\x03\x0b\x03+\x03\x0b" + + "\x02\x1b\x03\x0b\x02\x00\x03\x0b\x01\x1e\x03\x0b\x01\x08\x03\x0b\x015" + + "\x03\x06\x0d9\x03\x06\x0d=\x03\x06\x0d?\x03\x02\x001\x03\x02\x003\x03" + + "\x02\x02\x19\x03\x02\x006\x03\x02\x02\x1b\x03\x02\x004\x03\x02\x00<\x03" + + "\x02\x02\x0a\x03\x02\x02\x0e\x03\x02\x01\x1a\x03\x02\x01\x07\x03\x02\x01" + + "\x05\x03\x02\x01\x0b\x03\x02\x01%\x03\x02\x01\x0c\x03\x02\x01\x04\x03" + + "\x02\x01\x1c\x03\x02\x00.\x03\x02\x002\x03\x02\x00>\x03\x02\x00\x12\x03" + + "\x02\x00\x16\x03\x02\x011\x03\x02\x013\x03\x02\x02 \x03\x02\x02%\x03\x02" + + "\x02$\x03\x02\x028\x03\x02\x02;\x03\x02\x024\x03\x02\x012\x03\x02\x022" + + "\x03\x02\x02/\x03\x02\x01,\x03\x02\x01\x13\x03\x02\x01\x16\x03\x02\x01" + + "\x11\x03\x02\x01\x1e\x03\x02\x01\x15\x03\x02\x01\x17\x03\x02\x01\x0f\x03" + + "\x02\x01\x08\x03\x02\x00?\x03\x02\x03\x07\x03\x02\x03\x0d\x03\x02\x03" + + "\x13\x03\x02\x03\x1d\x03\x02\x03\x1f\x03\x02\x00\x03\x03\x02\x00\x0d\x03" + + "\x02\x00\x01\x03\x02\x00\x1b\x03\x02\x00\x19\x03\x02\x00\x18\x03\x02\x00" + + "\x13\x03\x02\x00/\x03\x07>\x12\x03\x07<\x1f\x03\x07>\x1d\x03\x06\x1d\x0e" + + "\x03\x07>\x1c\x03\x07>:\x03\x07>\x13\x03\x04\x12+\x03\x07?\x03\x03\x07>" + + "\x02\x03\x06\x224\x03\x06\x1a.\x03\x07<%\x03\x06\x1c\x0b\x03\x0609\x03" + + "\x05\x1f\x01\x03\x04'\x08\x03\x93\xfd\xf5\x03\x02\x0d \x03\x02\x0d#\x03" + + "\x02\x0d!\x03\x02\x0d&\x03\x02\x0d\x22\x03\x02\x0d/\x03\x02\x0d,\x03\x02" + + "\x0d$\x03\x02\x0d'\x03\x02\x0d%\x03\x02\x0d;\x03\x02\x0d=\x03\x02\x0d?" + + "\x03\x099.\x03\x08\x0b7\x03\x08\x02\x14\x03\x08\x14\x0d\x03\x08.:\x03" + + "\x089'\x03\x0f\x0b\x18\x03\x0f\x1c1\x03\x0f\x17&\x03\x0f9\x1f\x03\x0f0" + + "\x0c\x03\x0e\x0a9\x03\x0e\x056\x03\x0e\x1c#\x03\x0f\x13\x0e\x03\x072\x00" + + "\x03\x070\x0d\x03\x072\x0b\x03\x06\x11\x18\x03\x070\x10\x03\x06\x0f(\x03" + + "\x072\x05\x03\x06\x0f,\x03\x073\x15\x03\x06\x07\x08\x03\x05\x16\x02\x03" + + "\x04\x0b \x03\x05:8\x03\x05\x16%\x03\x0a\x0d\x1f\x03\x06\x16\x10\x03\x05" + + "\x1d5\x03\x05*;\x03\x05\x16\x1b\x03\x04.-\x03\x06\x1a\x19\x03\x04\x03," + + "\x03\x0b87\x03\x04/\x0a\x03\x06\x00,\x03\x04-\x01\x03\x04\x1e-\x03\x06/(" + + "\x03\x0a\x0b5\x03\x06\x0e7\x03\x06\x07.\x03\x0597\x03\x0a*%\x03\x0760" + + "\x03\x06\x0c;\x03\x05'\x00\x03\x072.\x03\x072\x08\x03\x06=\x01\x03\x06" + + "\x05\x1b\x03\x06\x06\x12\x03\x06$=\x03\x06'\x0d\x03\x04\x11\x0f\x03\x076" + + ",\x03\x06\x07;\x03\x06.,\x03\x86\xf9\xea\x03\x8f\xff\xeb\x02\x092\x02" + + "\x095\x02\x094\x02\x09;\x02\x09>\x02\x098\x02\x09*\x02\x09/\x02\x09,\x02" + + "\x09%\x02\x09&\x02\x09#\x02\x09 \x02\x08!\x02\x08%\x02\x08$\x02\x08+\x02" + + "\x08.\x02\x08*\x02\x08&\x02\x088\x02\x08>\x02\x084\x02\x086\x02\x080\x02" + + "\x08\x10\x02\x08\x17\x02\x08\x12\x02\x08\x1d\x02\x08\x1f\x02\x08\x13\x02" + + "\x08\x15\x02\x08\x14\x02\x08\x0c\x03\x8b\xfd\xd0\x03\x81\xec\xc6\x03\x87" + + "\xe0\x8a\x03-2\xe3\x03\x80\xef\xe4\x03-2\xea\x03\x88\xe6\xeb\x03\x8e\xe6" + + "\xe8\x03\x84\xe6\xe9\x03\x97\xe6\xee\x03-2\xf9\x03-2\xf6\x03\x8e\xe3\xad" + + "\x03\x80\xe3\x92\x03\x88\xe3\x90\x03\x8e\xe3\x90\x03\x80\xe3\x97\x03\x88" + + "\xe3\x95\x03\x88\xfe\xcb\x03\x8e\xfe\xca\x03\x84\xfe\xcd\x03\x91\xef\xc9" + + "\x03-2\xc1\x03-2\xc0\x03-2\xcb\x03\x88@\x09\x03\x8e@\x08\x03\x8f\xe0\xf5" + + "\x03\x8e\xe6\xf9\x03\x8e\xe0\xfa\x03\x93\xff\xf4\x03\x84\xee\xd3\x03\x0b" + + "(\x04\x023 \x021;\x02\x01*\x03\x0b#\x10\x03\x0b 0\x03\x0b!\x10\x03\x0b!0" + + "\x03\x07\x15\x08\x03\x09?5\x03\x07\x1f\x08\x03\x07\x17\x0b\x03\x09\x1f" + + "\x15\x03\x0b\x1c7\x03\x0a+#\x03\x06\x1a\x1b\x03\x06\x1a\x14\x03\x0a\x01" + + "\x18\x03\x06#\x1b\x03\x0a2\x0c\x03\x0a\x01\x04\x03\x09#;\x03\x08='\x03" + + "\x08\x1a\x0a\x03\x07\x03\x0a\x111\x03\x09\x1b\x09\x03\x073.\x03\x07\x01\x00" + + "\x03\x09/,\x03\x07#>\x03\x07\x048\x03\x0a\x1f\x22\x03\x098>\x03\x09\x11" + + "\x00\x03\x08/\x17\x03\x06'\x22\x03\x0b\x1a+\x03\x0a\x22\x19\x03\x0a/1" + + "\x03\x0974\x03\x09\x0f\x22\x03\x08,\x22\x03\x08?\x14\x03\x07$5\x03\x07<3" + + "\x03\x07=*\x03\x07\x13\x18\x03\x068\x0a\x03\x06\x09\x16\x03\x06\x13\x00" + + "\x03\x08\x067\x03\x08\x01\x03\x03\x08\x12\x1d\x03\x07+7\x03\x06(;\x03" + + "\x06\x1c?\x03\x07\x0e\x17\x03\x0a\x06\x1d\x03\x0a\x19\x07\x03\x08\x14$" + + "\x03\x07$;\x03\x08,$\x03\x08\x06\x0d\x03\x07\x16\x0a\x03\x06>>\x03\x0a" + + "\x06\x12\x03\x0a\x14)\x03\x09\x0d\x1f\x03\x09\x12\x17\x03\x09\x19\x01" + + "\x03\x08\x11 \x03\x08\x1d'\x03\x06<\x1a\x03\x0a.\x00\x03\x07'\x18\x03" + + "\x0a\x22\x08\x03\x08\x0d\x0a\x03\x08\x13)\x03\x07*)\x03\x06<,\x03\x07" + + "\x0b\x1a\x03\x09.\x14\x03\x09\x0d\x1e\x03\x07\x0e#\x03\x0b\x1d'\x03\x0a" + + "\x0a8\x03\x09%2\x03\x08+&\x03\x080\x12\x03\x0a)4\x03\x08\x06\x1f\x03\x0b" + + "\x1b\x1a\x03\x0a\x1b\x0f\x03\x0b\x1d*\x03\x09\x16$\x03\x090\x11\x03\x08" + + "\x11\x08\x03\x0a*(\x03\x0a\x042\x03\x089,\x03\x074'\x03\x07\x0f\x05\x03" + + "\x09\x0b\x0a\x03\x07\x1b\x01\x03\x09\x17:\x03\x09.\x0d\x03\x07.\x11\x03" + + "\x09+\x15\x03\x080\x13\x03\x0b\x1f\x19\x03\x0a \x11\x03\x0a\x220\x03\x09" + + "\x07;\x03\x08\x16\x1c\x03\x07,\x13\x03\x07\x0e/\x03\x06\x221\x03\x0a." + + "\x0a\x03\x0a7\x02\x03\x0a\x032\x03\x0a\x1d.\x03\x091\x06\x03\x09\x19:" + + "\x03\x08\x02/\x03\x060+\x03\x06\x0f-\x03\x06\x1c\x1f\x03\x06\x1d\x07\x03" + + "\x0a,\x11\x03\x09=\x0d\x03\x09\x0b;\x03\x07\x1b/\x03\x0a\x1f:\x03\x09 " + + "\x1f\x03\x09.\x10\x03\x094\x0b\x03\x09\x1a1\x03\x08#\x1a\x03\x084\x1d" + + "\x03\x08\x01\x1f\x03\x08\x11\x22\x03\x07'8\x03\x07\x1a>\x03\x0757\x03" + + "\x06&9\x03\x06+\x11\x03\x0a.\x0b\x03\x0a,>\x03\x0a4#\x03\x08%\x17\x03" + + "\x07\x05\x22\x03\x07\x0c\x0b\x03\x0a\x1d+\x03\x0a\x19\x16\x03\x09+\x1f" + + "\x03\x09\x08\x0b\x03\x08\x16\x18\x03\x08+\x12\x03\x0b\x1d\x0c\x03\x0a=" + + "\x10\x03\x0a\x09\x0d\x03\x0a\x10\x11\x03\x09&0\x03\x08(\x1f\x03\x087\x07" + + "\x03\x08\x185\x03\x07'6\x03\x06.\x05\x03\x06=\x04\x03\x06;;\x03\x06\x06," + + "\x03\x0b\x18>\x03\x08\x00\x18\x03\x06 \x03\x03\x06<\x00\x03\x09%\x18\x03" + + "\x0b\x1c<\x03\x0a%!\x03\x0a\x09\x12\x03\x0a\x16\x02\x03\x090'\x03\x09" + + "\x0e=\x03\x08 \x0e\x03\x08>\x03\x03\x074>\x03\x06&?\x03\x06\x19\x09\x03" + + "\x06?(\x03\x0a-\x0e\x03\x09:3\x03\x098:\x03\x09\x12\x0b\x03\x09\x1d\x17" + + "\x03\x087\x05\x03\x082\x14\x03\x08\x06%\x03\x08\x13\x1f\x03\x06\x06\x0e" + + "\x03\x0a\x22<\x03\x09/<\x03\x06>+\x03\x0a'?\x03\x0a\x13\x0c\x03\x09\x10<" + + "\x03\x07\x1b=\x03\x0a\x19\x13\x03\x09\x22\x1d\x03\x09\x07\x0d\x03\x08)" + + "\x1c\x03\x06=\x1a\x03\x0a/4\x03\x0a7\x11\x03\x0a\x16:\x03\x09?3\x03\x09:" + + "/\x03\x09\x05\x0a\x03\x09\x14\x06\x03\x087\x22\x03\x080\x07\x03\x08\x1a" + + "\x1f\x03\x07\x04(\x03\x07\x04\x09\x03\x06 %\x03\x06<\x08\x03\x0a+\x14" + + "\x03\x09\x1d\x16\x03\x0a70\x03\x08 >\x03\x0857\x03\x070\x0a\x03\x06=\x12" + + "\x03\x06\x16%\x03\x06\x1d,\x03\x099#\x03\x09\x10>\x03\x07 \x1e\x03\x08" + + "\x0c<\x03\x08\x0b\x18\x03\x08\x15+\x03\x08,:\x03\x08%\x22\x03\x07\x0a$" + + "\x03\x0b\x1c=\x03\x07+\x08\x03\x0a/\x05\x03\x0a \x07\x03\x0a\x12'\x03" + + "\x09#\x11\x03\x08\x1b\x15\x03\x0a\x06\x01\x03\x09\x1c\x1b\x03\x0922\x03" + + "\x07\x14<\x03\x07\x09\x04\x03\x061\x04\x03\x07\x0e\x01\x03\x0a\x13\x18" + + "\x03\x0a-\x0c\x03\x0a?\x0d\x03\x0a\x09\x0a\x03\x091&\x03\x0a/\x0b\x03" + + "\x08$<\x03\x083\x1d\x03\x08\x0c$\x03\x08\x0d\x07\x03\x08\x0d?\x03\x08" + + "\x0e\x14\x03\x065\x0a\x03\x08\x1a#\x03\x08\x16#\x03\x0702\x03\x07\x03" + + "\x1a\x03\x06(\x1d\x03\x06+\x1b\x03\x06\x0b\x05\x03\x06\x0b\x17\x03\x06" + + "\x0c\x04\x03\x06\x1e\x19\x03\x06+0\x03\x062\x18\x03\x0b\x16\x1e\x03\x0a+" + + "\x16\x03\x0a-?\x03\x0a#:\x03\x0a#\x10\x03\x0a%$\x03\x0a>+\x03\x0a01\x03" + + "\x0a1\x10\x03\x0a\x099\x03\x0a\x0a\x12\x03\x0a\x19\x1f\x03\x0a\x19\x12" + + "\x03\x09*)\x03\x09-\x16\x03\x09.1\x03\x09.2\x03\x09<\x0e\x03\x09> \x03" + + "\x093\x12\x03\x09\x0b\x01\x03\x09\x1c2\x03\x09\x11\x1c\x03\x09\x15%\x03" + + "\x08,&\x03\x08!\x22\x03\x089(\x03\x08\x0b\x1a\x03\x08\x0d2\x03\x08\x0c" + + "\x04\x03\x08\x0c\x06\x03\x08\x0c\x1f\x03\x08\x0c\x0c\x03\x08\x0f\x1f\x03" + + "\x08\x0f\x1d\x03\x08\x00\x14\x03\x08\x03\x14\x03\x08\x06\x16\x03\x08\x1e" + + "#\x03\x08\x11\x11\x03\x08\x10\x18\x03\x08\x14(\x03\x07)\x1e\x03\x07.1" + + "\x03\x07 $\x03\x07 '\x03\x078\x08\x03\x07\x0d0\x03\x07\x0f7\x03\x07\x05#" + + "\x03\x07\x05\x1a\x03\x07\x1a7\x03\x07\x1d-\x03\x07\x17\x10\x03\x06)\x1f" + + "\x03\x062\x0b\x03\x066\x16\x03\x06\x09\x11\x03\x09(\x1e\x03\x07!5\x03" + + "\x0b\x11\x16\x03\x0a/\x04\x03\x0a,\x1a\x03\x0b\x173\x03\x0a,1\x03\x0a/5" + + "\x03\x0a\x221\x03\x0a\x22\x0d\x03\x0a?%\x03\x0a<,\x03\x0a?#\x03\x0a>\x19" + + "\x03\x0a\x08&\x03\x0a\x0b\x0e\x03\x0a\x0c:\x03\x0a\x0c+\x03\x0a\x03\x22" + + "\x03\x0a\x06)\x03\x0a\x11\x10\x03\x0a\x11\x1a\x03\x0a\x17-\x03\x0a\x14(" + + "\x03\x09)\x1e\x03\x09/\x09\x03\x09.\x00\x03\x09,\x07\x03\x09/*\x03\x09-9" + + "\x03\x09\x228\x03\x09%\x09\x03\x09:\x12\x03\x09;\x1d\x03\x09?\x06\x03" + + "\x093%\x03\x096\x05\x03\x096\x08\x03\x097\x02\x03\x09\x07,\x03\x09\x04," + + "\x03\x09\x1f\x16\x03\x09\x11\x03\x03\x09\x11\x12\x03\x09\x168\x03\x08*" + + "\x05\x03\x08/2\x03\x084:\x03\x08\x22+\x03\x08 0\x03\x08&\x0a\x03\x08;" + + "\x10\x03\x08>$\x03\x08>\x18\x03\x0829\x03\x082:\x03\x081,\x03\x081<\x03" + + "\x081\x1c\x03\x087#\x03\x087*\x03\x08\x09'\x03\x08\x00\x1d\x03\x08\x05-" + + "\x03\x08\x1f4\x03\x08\x1d\x04\x03\x08\x16\x0f\x03\x07*7\x03\x07'!\x03" + + "\x07%\x1b\x03\x077\x0c\x03\x07\x0c1\x03\x07\x0c.\x03\x07\x00\x06\x03\x07" + + "\x01\x02\x03\x07\x010\x03\x07\x06=\x03\x07\x01\x03\x03\x07\x01\x13\x03" + + "\x07\x06\x06\x03\x07\x05\x0a\x03\x07\x1f\x09\x03\x07\x17:\x03\x06*1\x03" + + "\x06-\x1d\x03\x06\x223\x03\x062:\x03\x060$\x03\x066\x1e\x03\x064\x12\x03" + + "\x0645\x03\x06\x0b\x00\x03\x06\x0b7\x03\x06\x07\x1f\x03\x06\x15\x12\x03" + + "\x0c\x05\x0f\x03\x0b+\x0b\x03\x0b+-\x03\x06\x16\x1b\x03\x06\x15\x17\x03" + + "\x89\xca\xea\x03\x89\xca\xe8\x03\x0c8\x10\x03\x0c8\x01\x03\x0c8\x0f\x03" + + "\x0d8%\x03\x0d8!\x03\x0c8-\x03\x0c8/\x03\x0c8+\x03\x0c87\x03\x0c85\x03" + + "\x0c9\x09\x03\x0c9\x0d\x03\x0c9\x0f\x03\x0c9\x0b\x03\xcfu\x0c\x03\xcfu" + + "\x0f\x03\xcfu\x0e\x03\xcfu\x09\x03\x0c9\x10\x03\x0d9\x0c\x03\xcf`;\x03" + + "\xcf`>\x03\xcf`9\x03\xcf`8\x03\xcf`7\x03\xcf`*\x03\xcf`-\x03\xcf`,\x03" + + "\x0d\x1b\x1a\x03\x0d\x1b&\x03\x0c=.\x03\x0c=%\x03\x0c>\x1e\x03\x0c>\x14" + + "\x03\x0c?\x06\x03\x0c?\x0b\x03\x0c?\x0c\x03\x0c?\x0d\x03\x0c?\x02\x03" + + "\x0c>\x0f\x03\x0c>\x08\x03\x0c>\x09\x03\x0c>,\x03\x0c>\x0c\x03\x0c?\x13" + + "\x03\x0c?\x16\x03\x0c?\x15\x03\x0c?\x1c\x03\x0c?\x1f\x03\x0c?\x1d\x03" + + "\x0c?\x1a\x03\x0c?\x17\x03\x0c?\x08\x03\x0c?\x09\x03\x0c?\x0e\x03\x0c?" + + "\x04\x03\x0c?\x05\x03\x0c" + + "\x03\x0c=2\x03\x0c=6\x03\x0c<\x07\x03\x0c<\x05\x03\x0e:!\x03\x0e:#\x03" + + "\x0e8\x09\x03\x0e:&\x03\x0e8\x0b\x03\x0e:$\x03\x0e:,\x03\x0e8\x1a\x03" + + "\x0e8\x1e\x03\x0e:*\x03\x0e:7\x03\x0e:5\x03\x0e:;\x03\x0e:\x15\x03\x0e:<" + + "\x03\x0e:4\x03\x0e:'\x03\x0e:-\x03\x0e:%\x03\x0e:?\x03\x0e:=\x03\x0e:)" + + "\x03\x0e:/\x03\xcfs'\x03\x0d=\x0f\x03\x0d+*\x03\x0d99\x03\x0d9;\x03\x0d9" + + "?\x03\x0d)\x0d\x03\x0d(%\x02\x01\x18\x02\x01(\x02\x01\x1e\x03\x0f$!\x03" + + "\x0f87\x03\x0f4\x0e\x03\x0f5\x1d\x03\x06'\x03\x03\x0f\x08\x18\x03\x0f" + + "\x0d\x1b\x03\x0e2=\x03\x0e;\x08\x03\x0e:\x0b\x03\x0e\x06$\x03\x0e\x0d)" + + "\x03\x0e\x16\x1f\x03\x0e\x16\x1b\x03\x0d$\x0a\x03\x05,\x1d\x03\x0d. \x03" + + "\x0d.#\x03\x0c(/\x03\x09%\x02\x03\x0d90\x03\x0d\x0e4\x03\x0d\x0d\x0f\x03" + + "\x0c#\x00\x03\x0c,\x1e\x03\x0c2\x0e\x03\x0c\x01\x17\x03\x0c\x09:\x03\x0e" + + "\x173\x03\x0c\x08\x03\x03\x0c\x11\x07\x03\x0c\x10\x18\x03\x0c\x1f\x1c" + + "\x03\x0c\x19\x0e\x03\x0c\x1a\x1f\x03\x0f0>\x03\x0b->\x03\x0b<+\x03\x0b8" + + "\x13\x03\x0b\x043\x03\x0b\x14\x03\x03\x0b\x16%\x03\x0d\x22&\x03\x0b\x1a" + + "\x1a\x03\x0b\x1a\x04\x03\x0a%9\x03\x0a&2\x03\x0a&0\x03\x0a!\x1a\x03\x0a!" + + "7\x03\x0a5\x10\x03\x0a=4\x03\x0a?\x0e\x03\x0a>\x10\x03\x0a\x00 \x03\x0a" + + "\x0f:\x03\x0a\x0f9\x03\x0a\x0b\x0a\x03\x0a\x17%\x03\x0a\x1b-\x03\x09-" + + "\x1a\x03\x09,4\x03\x09.,\x03\x09)\x09\x03\x096!\x03\x091\x1f\x03\x093" + + "\x16\x03\x0c+\x1f\x03\x098 \x03\x098=\x03\x0c(\x1a\x03\x0c(\x16\x03\x09" + + "\x0a+\x03\x09\x16\x12\x03\x09\x13\x0e\x03\x09\x153\x03\x08)!\x03\x09\x1a" + + "\x01\x03\x09\x18\x01\x03\x08%#\x03\x08>\x22\x03\x08\x05%\x03\x08\x02*" + + "\x03\x08\x15;\x03\x08\x1b7\x03\x0f\x07\x1d\x03\x0f\x04\x03\x03\x070\x0c" + + "\x03\x07;\x0b\x03\x07\x08\x17\x03\x07\x12\x06\x03\x06/-\x03\x0671\x03" + + "\x065+\x03\x06>7\x03\x06\x049\x03\x05+\x1e\x03\x05,\x17\x03\x05 \x1d\x03" + + "\x05\x22\x05\x03\x050\x1d" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// idnaTrie. Total size: 29404 bytes (28.71 KiB). Checksum: 848c45acb5f7991c. +type idnaTrie struct{} + +func newIdnaTrie(i int) *idnaTrie { + return &idnaTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *idnaTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 125: + return uint16(idnaValues[n<<6+uint32(b)]) + default: + n -= 125 + return uint16(idnaSparse.lookup(n, b)) + } +} + +// idnaValues: 127 blocks, 8128 entries, 16256 bytes +// The third block is the zero block. +var idnaValues = [8128]uint16{ + // Block 0x0, offset 0x0 + 0x00: 0x0080, 0x01: 0x0080, 0x02: 0x0080, 0x03: 0x0080, 0x04: 0x0080, 0x05: 0x0080, + 0x06: 0x0080, 0x07: 0x0080, 0x08: 0x0080, 0x09: 0x0080, 0x0a: 0x0080, 0x0b: 0x0080, + 0x0c: 0x0080, 0x0d: 0x0080, 0x0e: 0x0080, 0x0f: 0x0080, 0x10: 0x0080, 0x11: 0x0080, + 0x12: 0x0080, 0x13: 0x0080, 0x14: 0x0080, 0x15: 0x0080, 0x16: 0x0080, 0x17: 0x0080, + 0x18: 0x0080, 0x19: 0x0080, 0x1a: 0x0080, 0x1b: 0x0080, 0x1c: 0x0080, 0x1d: 0x0080, + 0x1e: 0x0080, 0x1f: 0x0080, 0x20: 0x0080, 0x21: 0x0080, 0x22: 0x0080, 0x23: 0x0080, + 0x24: 0x0080, 0x25: 0x0080, 0x26: 0x0080, 0x27: 0x0080, 0x28: 0x0080, 0x29: 0x0080, + 0x2a: 0x0080, 0x2b: 0x0080, 0x2c: 0x0080, 0x2d: 0x0008, 0x2e: 0x0008, 0x2f: 0x0080, + 0x30: 0x0008, 0x31: 0x0008, 0x32: 0x0008, 0x33: 0x0008, 0x34: 0x0008, 0x35: 0x0008, + 0x36: 0x0008, 0x37: 0x0008, 0x38: 0x0008, 0x39: 0x0008, 0x3a: 0x0080, 0x3b: 0x0080, + 0x3c: 0x0080, 0x3d: 0x0080, 0x3e: 0x0080, 0x3f: 0x0080, + // Block 0x1, offset 0x40 + 0x40: 0x0080, 0x41: 0xe105, 0x42: 0xe105, 0x43: 0xe105, 0x44: 0xe105, 0x45: 0xe105, + 0x46: 0xe105, 0x47: 0xe105, 0x48: 0xe105, 0x49: 0xe105, 0x4a: 0xe105, 0x4b: 0xe105, + 0x4c: 0xe105, 0x4d: 0xe105, 0x4e: 0xe105, 0x4f: 0xe105, 0x50: 0xe105, 0x51: 0xe105, + 0x52: 0xe105, 0x53: 0xe105, 0x54: 0xe105, 0x55: 0xe105, 0x56: 0xe105, 0x57: 0xe105, + 0x58: 0xe105, 0x59: 0xe105, 0x5a: 0xe105, 0x5b: 0x0080, 0x5c: 0x0080, 0x5d: 0x0080, + 0x5e: 0x0080, 0x5f: 0x0080, 0x60: 0x0080, 0x61: 0x0008, 0x62: 0x0008, 0x63: 0x0008, + 0x64: 0x0008, 0x65: 0x0008, 0x66: 0x0008, 0x67: 0x0008, 0x68: 0x0008, 0x69: 0x0008, + 0x6a: 0x0008, 0x6b: 0x0008, 0x6c: 0x0008, 0x6d: 0x0008, 0x6e: 0x0008, 0x6f: 0x0008, + 0x70: 0x0008, 0x71: 0x0008, 0x72: 0x0008, 0x73: 0x0008, 0x74: 0x0008, 0x75: 0x0008, + 0x76: 0x0008, 0x77: 0x0008, 0x78: 0x0008, 0x79: 0x0008, 0x7a: 0x0008, 0x7b: 0x0080, + 0x7c: 0x0080, 0x7d: 0x0080, 0x7e: 0x0080, 0x7f: 0x0080, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x0040, 0xc1: 0x0040, 0xc2: 0x0040, 0xc3: 0x0040, 0xc4: 0x0040, 0xc5: 0x0040, + 0xc6: 0x0040, 0xc7: 0x0040, 0xc8: 0x0040, 0xc9: 0x0040, 0xca: 0x0040, 0xcb: 0x0040, + 0xcc: 0x0040, 0xcd: 0x0040, 0xce: 0x0040, 0xcf: 0x0040, 0xd0: 0x0040, 0xd1: 0x0040, + 0xd2: 0x0040, 0xd3: 0x0040, 0xd4: 0x0040, 0xd5: 0x0040, 0xd6: 0x0040, 0xd7: 0x0040, + 0xd8: 0x0040, 0xd9: 0x0040, 0xda: 0x0040, 0xdb: 0x0040, 0xdc: 0x0040, 0xdd: 0x0040, + 0xde: 0x0040, 0xdf: 0x0040, 0xe0: 0x000a, 0xe1: 0x0018, 0xe2: 0x0018, 0xe3: 0x0018, + 0xe4: 0x0018, 0xe5: 0x0018, 0xe6: 0x0018, 0xe7: 0x0018, 0xe8: 0x001a, 0xe9: 0x0018, + 0xea: 0x0039, 0xeb: 0x0018, 0xec: 0x0018, 0xed: 0x03c0, 0xee: 0x0018, 0xef: 0x004a, + 0xf0: 0x0018, 0xf1: 0x0018, 0xf2: 0x0069, 0xf3: 0x0079, 0xf4: 0x008a, 0xf5: 0x0005, + 0xf6: 0x0018, 0xf7: 0x0008, 0xf8: 0x00aa, 0xf9: 0x00c9, 0xfa: 0x00d9, 0xfb: 0x0018, + 0xfc: 0x00e9, 0xfd: 0x0119, 0xfe: 0x0149, 0xff: 0x0018, + // Block 0x4, offset 0x100 + 0x100: 0xe00d, 0x101: 0x0008, 0x102: 0xe00d, 0x103: 0x0008, 0x104: 0xe00d, 0x105: 0x0008, + 0x106: 0xe00d, 0x107: 0x0008, 0x108: 0xe00d, 0x109: 0x0008, 0x10a: 0xe00d, 0x10b: 0x0008, + 0x10c: 0xe00d, 0x10d: 0x0008, 0x10e: 0xe00d, 0x10f: 0x0008, 0x110: 0xe00d, 0x111: 0x0008, + 0x112: 0xe00d, 0x113: 0x0008, 0x114: 0xe00d, 0x115: 0x0008, 0x116: 0xe00d, 0x117: 0x0008, + 0x118: 0xe00d, 0x119: 0x0008, 0x11a: 0xe00d, 0x11b: 0x0008, 0x11c: 0xe00d, 0x11d: 0x0008, + 0x11e: 0xe00d, 0x11f: 0x0008, 0x120: 0xe00d, 0x121: 0x0008, 0x122: 0xe00d, 0x123: 0x0008, + 0x124: 0xe00d, 0x125: 0x0008, 0x126: 0xe00d, 0x127: 0x0008, 0x128: 0xe00d, 0x129: 0x0008, + 0x12a: 0xe00d, 0x12b: 0x0008, 0x12c: 0xe00d, 0x12d: 0x0008, 0x12e: 0xe00d, 0x12f: 0x0008, + 0x130: 0x0179, 0x131: 0x0008, 0x132: 0x0035, 0x133: 0x004d, 0x134: 0xe00d, 0x135: 0x0008, + 0x136: 0xe00d, 0x137: 0x0008, 0x138: 0x0008, 0x139: 0xe01d, 0x13a: 0x0008, 0x13b: 0xe03d, + 0x13c: 0x0008, 0x13d: 0xe01d, 0x13e: 0x0008, 0x13f: 0x0199, + // Block 0x5, offset 0x140 + 0x140: 0x0199, 0x141: 0xe01d, 0x142: 0x0008, 0x143: 0xe03d, 0x144: 0x0008, 0x145: 0xe01d, + 0x146: 0x0008, 0x147: 0xe07d, 0x148: 0x0008, 0x149: 0x01b9, 0x14a: 0xe00d, 0x14b: 0x0008, + 0x14c: 0xe00d, 0x14d: 0x0008, 0x14e: 0xe00d, 0x14f: 0x0008, 0x150: 0xe00d, 0x151: 0x0008, + 0x152: 0xe00d, 0x153: 0x0008, 0x154: 0xe00d, 0x155: 0x0008, 0x156: 0xe00d, 0x157: 0x0008, + 0x158: 0xe00d, 0x159: 0x0008, 0x15a: 0xe00d, 0x15b: 0x0008, 0x15c: 0xe00d, 0x15d: 0x0008, + 0x15e: 0xe00d, 0x15f: 0x0008, 0x160: 0xe00d, 0x161: 0x0008, 0x162: 0xe00d, 0x163: 0x0008, + 0x164: 0xe00d, 0x165: 0x0008, 0x166: 0xe00d, 0x167: 0x0008, 0x168: 0xe00d, 0x169: 0x0008, + 0x16a: 0xe00d, 0x16b: 0x0008, 0x16c: 0xe00d, 0x16d: 0x0008, 0x16e: 0xe00d, 0x16f: 0x0008, + 0x170: 0xe00d, 0x171: 0x0008, 0x172: 0xe00d, 0x173: 0x0008, 0x174: 0xe00d, 0x175: 0x0008, + 0x176: 0xe00d, 0x177: 0x0008, 0x178: 0x0065, 0x179: 0xe01d, 0x17a: 0x0008, 0x17b: 0xe03d, + 0x17c: 0x0008, 0x17d: 0xe01d, 0x17e: 0x0008, 0x17f: 0x01d9, + // Block 0x6, offset 0x180 + 0x180: 0x0008, 0x181: 0x007d, 0x182: 0xe00d, 0x183: 0x0008, 0x184: 0xe00d, 0x185: 0x0008, + 0x186: 0x007d, 0x187: 0xe07d, 0x188: 0x0008, 0x189: 0x0095, 0x18a: 0x00ad, 0x18b: 0xe03d, + 0x18c: 0x0008, 0x18d: 0x0008, 0x18e: 0x00c5, 0x18f: 0x00dd, 0x190: 0x00f5, 0x191: 0xe01d, + 0x192: 0x0008, 0x193: 0x010d, 0x194: 0x0125, 0x195: 0x0008, 0x196: 0x013d, 0x197: 0x013d, + 0x198: 0xe00d, 0x199: 0x0008, 0x19a: 0x0008, 0x19b: 0x0008, 0x19c: 0x010d, 0x19d: 0x0155, + 0x19e: 0x0008, 0x19f: 0x016d, 0x1a0: 0xe00d, 0x1a1: 0x0008, 0x1a2: 0xe00d, 0x1a3: 0x0008, + 0x1a4: 0xe00d, 0x1a5: 0x0008, 0x1a6: 0x0185, 0x1a7: 0xe07d, 0x1a8: 0x0008, 0x1a9: 0x019d, + 0x1aa: 0x0008, 0x1ab: 0x0008, 0x1ac: 0xe00d, 0x1ad: 0x0008, 0x1ae: 0x0185, 0x1af: 0xe0fd, + 0x1b0: 0x0008, 0x1b1: 0x01b5, 0x1b2: 0x01cd, 0x1b3: 0xe03d, 0x1b4: 0x0008, 0x1b5: 0xe01d, + 0x1b6: 0x0008, 0x1b7: 0x01e5, 0x1b8: 0xe00d, 0x1b9: 0x0008, 0x1ba: 0x0008, 0x1bb: 0x0008, + 0x1bc: 0xe00d, 0x1bd: 0x0008, 0x1be: 0x0008, 0x1bf: 0x0008, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0008, 0x1c1: 0x0008, 0x1c2: 0x0008, 0x1c3: 0x0008, 0x1c4: 0x01e9, 0x1c5: 0x01e9, + 0x1c6: 0x01e9, 0x1c7: 0x01fd, 0x1c8: 0x0215, 0x1c9: 0x022d, 0x1ca: 0x0245, 0x1cb: 0x025d, + 0x1cc: 0x0275, 0x1cd: 0xe01d, 0x1ce: 0x0008, 0x1cf: 0xe0fd, 0x1d0: 0x0008, 0x1d1: 0xe01d, + 0x1d2: 0x0008, 0x1d3: 0xe03d, 0x1d4: 0x0008, 0x1d5: 0xe01d, 0x1d6: 0x0008, 0x1d7: 0xe07d, + 0x1d8: 0x0008, 0x1d9: 0xe01d, 0x1da: 0x0008, 0x1db: 0xe03d, 0x1dc: 0x0008, 0x1dd: 0x0008, + 0x1de: 0xe00d, 0x1df: 0x0008, 0x1e0: 0xe00d, 0x1e1: 0x0008, 0x1e2: 0xe00d, 0x1e3: 0x0008, + 0x1e4: 0xe00d, 0x1e5: 0x0008, 0x1e6: 0xe00d, 0x1e7: 0x0008, 0x1e8: 0xe00d, 0x1e9: 0x0008, + 0x1ea: 0xe00d, 0x1eb: 0x0008, 0x1ec: 0xe00d, 0x1ed: 0x0008, 0x1ee: 0xe00d, 0x1ef: 0x0008, + 0x1f0: 0x0008, 0x1f1: 0x028d, 0x1f2: 0x02a5, 0x1f3: 0x02bd, 0x1f4: 0xe00d, 0x1f5: 0x0008, + 0x1f6: 0x02d5, 0x1f7: 0x02ed, 0x1f8: 0xe00d, 0x1f9: 0x0008, 0x1fa: 0xe00d, 0x1fb: 0x0008, + 0x1fc: 0xe00d, 0x1fd: 0x0008, 0x1fe: 0xe00d, 0x1ff: 0x0008, + // Block 0x8, offset 0x200 + 0x200: 0xe00d, 0x201: 0x0008, 0x202: 0xe00d, 0x203: 0x0008, 0x204: 0xe00d, 0x205: 0x0008, + 0x206: 0xe00d, 0x207: 0x0008, 0x208: 0xe00d, 0x209: 0x0008, 0x20a: 0xe00d, 0x20b: 0x0008, + 0x20c: 0xe00d, 0x20d: 0x0008, 0x20e: 0xe00d, 0x20f: 0x0008, 0x210: 0xe00d, 0x211: 0x0008, + 0x212: 0xe00d, 0x213: 0x0008, 0x214: 0xe00d, 0x215: 0x0008, 0x216: 0xe00d, 0x217: 0x0008, + 0x218: 0xe00d, 0x219: 0x0008, 0x21a: 0xe00d, 0x21b: 0x0008, 0x21c: 0xe00d, 0x21d: 0x0008, + 0x21e: 0xe00d, 0x21f: 0x0008, 0x220: 0x0305, 0x221: 0x0008, 0x222: 0xe00d, 0x223: 0x0008, + 0x224: 0xe00d, 0x225: 0x0008, 0x226: 0xe00d, 0x227: 0x0008, 0x228: 0xe00d, 0x229: 0x0008, + 0x22a: 0xe00d, 0x22b: 0x0008, 0x22c: 0xe00d, 0x22d: 0x0008, 0x22e: 0xe00d, 0x22f: 0x0008, + 0x230: 0xe00d, 0x231: 0x0008, 0x232: 0xe00d, 0x233: 0x0008, 0x234: 0x0008, 0x235: 0x0008, + 0x236: 0x0008, 0x237: 0x0008, 0x238: 0x0008, 0x239: 0x0008, 0x23a: 0x0209, 0x23b: 0xe03d, + 0x23c: 0x0008, 0x23d: 0x031d, 0x23e: 0x0229, 0x23f: 0x0008, + // Block 0x9, offset 0x240 + 0x240: 0x0008, 0x241: 0x0008, 0x242: 0x0018, 0x243: 0x0018, 0x244: 0x0018, 0x245: 0x0018, + 0x246: 0x0008, 0x247: 0x0008, 0x248: 0x0008, 0x249: 0x0008, 0x24a: 0x0008, 0x24b: 0x0008, + 0x24c: 0x0008, 0x24d: 0x0008, 0x24e: 0x0008, 0x24f: 0x0008, 0x250: 0x0008, 0x251: 0x0008, + 0x252: 0x0018, 0x253: 0x0018, 0x254: 0x0018, 0x255: 0x0018, 0x256: 0x0018, 0x257: 0x0018, + 0x258: 0x029a, 0x259: 0x02ba, 0x25a: 0x02da, 0x25b: 0x02fa, 0x25c: 0x031a, 0x25d: 0x033a, + 0x25e: 0x0018, 0x25f: 0x0018, 0x260: 0x03ad, 0x261: 0x0359, 0x262: 0x01d9, 0x263: 0x0369, + 0x264: 0x03c5, 0x265: 0x0018, 0x266: 0x0018, 0x267: 0x0018, 0x268: 0x0018, 0x269: 0x0018, + 0x26a: 0x0018, 0x26b: 0x0018, 0x26c: 0x0008, 0x26d: 0x0018, 0x26e: 0x0008, 0x26f: 0x0018, + 0x270: 0x0018, 0x271: 0x0018, 0x272: 0x0018, 0x273: 0x0018, 0x274: 0x0018, 0x275: 0x0018, + 0x276: 0x0018, 0x277: 0x0018, 0x278: 0x0018, 0x279: 0x0018, 0x27a: 0x0018, 0x27b: 0x0018, + 0x27c: 0x0018, 0x27d: 0x0018, 0x27e: 0x0018, 0x27f: 0x0018, + // Block 0xa, offset 0x280 + 0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x3308, 0x283: 0x03f5, 0x284: 0x0379, 0x285: 0x040d, + 0x286: 0x3308, 0x287: 0x3308, 0x288: 0x3308, 0x289: 0x3308, 0x28a: 0x3308, 0x28b: 0x3308, + 0x28c: 0x3308, 0x28d: 0x3308, 0x28e: 0x3308, 0x28f: 0x33c0, 0x290: 0x3308, 0x291: 0x3308, + 0x292: 0x3308, 0x293: 0x3308, 0x294: 0x3308, 0x295: 0x3308, 0x296: 0x3308, 0x297: 0x3308, + 0x298: 0x3308, 0x299: 0x3308, 0x29a: 0x3308, 0x29b: 0x3308, 0x29c: 0x3308, 0x29d: 0x3308, + 0x29e: 0x3308, 0x29f: 0x3308, 0x2a0: 0x3308, 0x2a1: 0x3308, 0x2a2: 0x3308, 0x2a3: 0x3308, + 0x2a4: 0x3308, 0x2a5: 0x3308, 0x2a6: 0x3308, 0x2a7: 0x3308, 0x2a8: 0x3308, 0x2a9: 0x3308, + 0x2aa: 0x3308, 0x2ab: 0x3308, 0x2ac: 0x3308, 0x2ad: 0x3308, 0x2ae: 0x3308, 0x2af: 0x3308, + 0x2b0: 0xe00d, 0x2b1: 0x0008, 0x2b2: 0xe00d, 0x2b3: 0x0008, 0x2b4: 0x0425, 0x2b5: 0x0008, + 0x2b6: 0xe00d, 0x2b7: 0x0008, 0x2b8: 0x0040, 0x2b9: 0x0040, 0x2ba: 0x03a2, 0x2bb: 0x0008, + 0x2bc: 0x0008, 0x2bd: 0x0008, 0x2be: 0x03c2, 0x2bf: 0x043d, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x0040, 0x2c1: 0x0040, 0x2c2: 0x0040, 0x2c3: 0x0040, 0x2c4: 0x008a, 0x2c5: 0x03d2, + 0x2c6: 0xe155, 0x2c7: 0x0455, 0x2c8: 0xe12d, 0x2c9: 0xe13d, 0x2ca: 0xe12d, 0x2cb: 0x0040, + 0x2cc: 0x03dd, 0x2cd: 0x0040, 0x2ce: 0x046d, 0x2cf: 0x0485, 0x2d0: 0x0008, 0x2d1: 0xe105, + 0x2d2: 0xe105, 0x2d3: 0xe105, 0x2d4: 0xe105, 0x2d5: 0xe105, 0x2d6: 0xe105, 0x2d7: 0xe105, + 0x2d8: 0xe105, 0x2d9: 0xe105, 0x2da: 0xe105, 0x2db: 0xe105, 0x2dc: 0xe105, 0x2dd: 0xe105, + 0x2de: 0xe105, 0x2df: 0xe105, 0x2e0: 0x049d, 0x2e1: 0x049d, 0x2e2: 0x0040, 0x2e3: 0x049d, + 0x2e4: 0x049d, 0x2e5: 0x049d, 0x2e6: 0x049d, 0x2e7: 0x049d, 0x2e8: 0x049d, 0x2e9: 0x049d, + 0x2ea: 0x049d, 0x2eb: 0x049d, 0x2ec: 0x0008, 0x2ed: 0x0008, 0x2ee: 0x0008, 0x2ef: 0x0008, + 0x2f0: 0x0008, 0x2f1: 0x0008, 0x2f2: 0x0008, 0x2f3: 0x0008, 0x2f4: 0x0008, 0x2f5: 0x0008, + 0x2f6: 0x0008, 0x2f7: 0x0008, 0x2f8: 0x0008, 0x2f9: 0x0008, 0x2fa: 0x0008, 0x2fb: 0x0008, + 0x2fc: 0x0008, 0x2fd: 0x0008, 0x2fe: 0x0008, 0x2ff: 0x0008, + // Block 0xc, offset 0x300 + 0x300: 0x0008, 0x301: 0x0008, 0x302: 0xe00f, 0x303: 0x0008, 0x304: 0x0008, 0x305: 0x0008, + 0x306: 0x0008, 0x307: 0x0008, 0x308: 0x0008, 0x309: 0x0008, 0x30a: 0x0008, 0x30b: 0x0008, + 0x30c: 0x0008, 0x30d: 0x0008, 0x30e: 0x0008, 0x30f: 0xe0c5, 0x310: 0x04b5, 0x311: 0x04cd, + 0x312: 0xe0bd, 0x313: 0xe0f5, 0x314: 0xe0fd, 0x315: 0xe09d, 0x316: 0xe0b5, 0x317: 0x0008, + 0x318: 0xe00d, 0x319: 0x0008, 0x31a: 0xe00d, 0x31b: 0x0008, 0x31c: 0xe00d, 0x31d: 0x0008, + 0x31e: 0xe00d, 0x31f: 0x0008, 0x320: 0xe00d, 0x321: 0x0008, 0x322: 0xe00d, 0x323: 0x0008, + 0x324: 0xe00d, 0x325: 0x0008, 0x326: 0xe00d, 0x327: 0x0008, 0x328: 0xe00d, 0x329: 0x0008, + 0x32a: 0xe00d, 0x32b: 0x0008, 0x32c: 0xe00d, 0x32d: 0x0008, 0x32e: 0xe00d, 0x32f: 0x0008, + 0x330: 0x04e5, 0x331: 0xe185, 0x332: 0xe18d, 0x333: 0x0008, 0x334: 0x04fd, 0x335: 0x03dd, + 0x336: 0x0018, 0x337: 0xe07d, 0x338: 0x0008, 0x339: 0xe1d5, 0x33a: 0xe00d, 0x33b: 0x0008, + 0x33c: 0x0008, 0x33d: 0x0515, 0x33e: 0x052d, 0x33f: 0x052d, + // Block 0xd, offset 0x340 + 0x340: 0x0008, 0x341: 0x0008, 0x342: 0x0008, 0x343: 0x0008, 0x344: 0x0008, 0x345: 0x0008, + 0x346: 0x0008, 0x347: 0x0008, 0x348: 0x0008, 0x349: 0x0008, 0x34a: 0x0008, 0x34b: 0x0008, + 0x34c: 0x0008, 0x34d: 0x0008, 0x34e: 0x0008, 0x34f: 0x0008, 0x350: 0x0008, 0x351: 0x0008, + 0x352: 0x0008, 0x353: 0x0008, 0x354: 0x0008, 0x355: 0x0008, 0x356: 0x0008, 0x357: 0x0008, + 0x358: 0x0008, 0x359: 0x0008, 0x35a: 0x0008, 0x35b: 0x0008, 0x35c: 0x0008, 0x35d: 0x0008, + 0x35e: 0x0008, 0x35f: 0x0008, 0x360: 0xe00d, 0x361: 0x0008, 0x362: 0xe00d, 0x363: 0x0008, + 0x364: 0xe00d, 0x365: 0x0008, 0x366: 0xe00d, 0x367: 0x0008, 0x368: 0xe00d, 0x369: 0x0008, + 0x36a: 0xe00d, 0x36b: 0x0008, 0x36c: 0xe00d, 0x36d: 0x0008, 0x36e: 0xe00d, 0x36f: 0x0008, + 0x370: 0xe00d, 0x371: 0x0008, 0x372: 0xe00d, 0x373: 0x0008, 0x374: 0xe00d, 0x375: 0x0008, + 0x376: 0xe00d, 0x377: 0x0008, 0x378: 0xe00d, 0x379: 0x0008, 0x37a: 0xe00d, 0x37b: 0x0008, + 0x37c: 0xe00d, 0x37d: 0x0008, 0x37e: 0xe00d, 0x37f: 0x0008, + // Block 0xe, offset 0x380 + 0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x3308, 0x384: 0x3308, 0x385: 0x3308, + 0x386: 0x3308, 0x387: 0x3308, 0x388: 0x3318, 0x389: 0x3318, 0x38a: 0xe00d, 0x38b: 0x0008, + 0x38c: 0xe00d, 0x38d: 0x0008, 0x38e: 0xe00d, 0x38f: 0x0008, 0x390: 0xe00d, 0x391: 0x0008, + 0x392: 0xe00d, 0x393: 0x0008, 0x394: 0xe00d, 0x395: 0x0008, 0x396: 0xe00d, 0x397: 0x0008, + 0x398: 0xe00d, 0x399: 0x0008, 0x39a: 0xe00d, 0x39b: 0x0008, 0x39c: 0xe00d, 0x39d: 0x0008, + 0x39e: 0xe00d, 0x39f: 0x0008, 0x3a0: 0xe00d, 0x3a1: 0x0008, 0x3a2: 0xe00d, 0x3a3: 0x0008, + 0x3a4: 0xe00d, 0x3a5: 0x0008, 0x3a6: 0xe00d, 0x3a7: 0x0008, 0x3a8: 0xe00d, 0x3a9: 0x0008, + 0x3aa: 0xe00d, 0x3ab: 0x0008, 0x3ac: 0xe00d, 0x3ad: 0x0008, 0x3ae: 0xe00d, 0x3af: 0x0008, + 0x3b0: 0xe00d, 0x3b1: 0x0008, 0x3b2: 0xe00d, 0x3b3: 0x0008, 0x3b4: 0xe00d, 0x3b5: 0x0008, + 0x3b6: 0xe00d, 0x3b7: 0x0008, 0x3b8: 0xe00d, 0x3b9: 0x0008, 0x3ba: 0xe00d, 0x3bb: 0x0008, + 0x3bc: 0xe00d, 0x3bd: 0x0008, 0x3be: 0xe00d, 0x3bf: 0x0008, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x0040, 0x3c1: 0xe01d, 0x3c2: 0x0008, 0x3c3: 0xe03d, 0x3c4: 0x0008, 0x3c5: 0xe01d, + 0x3c6: 0x0008, 0x3c7: 0xe07d, 0x3c8: 0x0008, 0x3c9: 0xe01d, 0x3ca: 0x0008, 0x3cb: 0xe03d, + 0x3cc: 0x0008, 0x3cd: 0xe01d, 0x3ce: 0x0008, 0x3cf: 0x0008, 0x3d0: 0xe00d, 0x3d1: 0x0008, + 0x3d2: 0xe00d, 0x3d3: 0x0008, 0x3d4: 0xe00d, 0x3d5: 0x0008, 0x3d6: 0xe00d, 0x3d7: 0x0008, + 0x3d8: 0xe00d, 0x3d9: 0x0008, 0x3da: 0xe00d, 0x3db: 0x0008, 0x3dc: 0xe00d, 0x3dd: 0x0008, + 0x3de: 0xe00d, 0x3df: 0x0008, 0x3e0: 0xe00d, 0x3e1: 0x0008, 0x3e2: 0xe00d, 0x3e3: 0x0008, + 0x3e4: 0xe00d, 0x3e5: 0x0008, 0x3e6: 0xe00d, 0x3e7: 0x0008, 0x3e8: 0xe00d, 0x3e9: 0x0008, + 0x3ea: 0xe00d, 0x3eb: 0x0008, 0x3ec: 0xe00d, 0x3ed: 0x0008, 0x3ee: 0xe00d, 0x3ef: 0x0008, + 0x3f0: 0xe00d, 0x3f1: 0x0008, 0x3f2: 0xe00d, 0x3f3: 0x0008, 0x3f4: 0xe00d, 0x3f5: 0x0008, + 0x3f6: 0xe00d, 0x3f7: 0x0008, 0x3f8: 0xe00d, 0x3f9: 0x0008, 0x3fa: 0xe00d, 0x3fb: 0x0008, + 0x3fc: 0xe00d, 0x3fd: 0x0008, 0x3fe: 0xe00d, 0x3ff: 0x0008, + // Block 0x10, offset 0x400 + 0x400: 0xe00d, 0x401: 0x0008, 0x402: 0xe00d, 0x403: 0x0008, 0x404: 0xe00d, 0x405: 0x0008, + 0x406: 0xe00d, 0x407: 0x0008, 0x408: 0xe00d, 0x409: 0x0008, 0x40a: 0xe00d, 0x40b: 0x0008, + 0x40c: 0xe00d, 0x40d: 0x0008, 0x40e: 0xe00d, 0x40f: 0x0008, 0x410: 0xe00d, 0x411: 0x0008, + 0x412: 0xe00d, 0x413: 0x0008, 0x414: 0xe00d, 0x415: 0x0008, 0x416: 0xe00d, 0x417: 0x0008, + 0x418: 0xe00d, 0x419: 0x0008, 0x41a: 0xe00d, 0x41b: 0x0008, 0x41c: 0xe00d, 0x41d: 0x0008, + 0x41e: 0xe00d, 0x41f: 0x0008, 0x420: 0xe00d, 0x421: 0x0008, 0x422: 0xe00d, 0x423: 0x0008, + 0x424: 0xe00d, 0x425: 0x0008, 0x426: 0xe00d, 0x427: 0x0008, 0x428: 0xe00d, 0x429: 0x0008, + 0x42a: 0xe00d, 0x42b: 0x0008, 0x42c: 0xe00d, 0x42d: 0x0008, 0x42e: 0xe00d, 0x42f: 0x0008, + 0x430: 0x0040, 0x431: 0x03f5, 0x432: 0x03f5, 0x433: 0x03f5, 0x434: 0x03f5, 0x435: 0x03f5, + 0x436: 0x03f5, 0x437: 0x03f5, 0x438: 0x03f5, 0x439: 0x03f5, 0x43a: 0x03f5, 0x43b: 0x03f5, + 0x43c: 0x03f5, 0x43d: 0x03f5, 0x43e: 0x03f5, 0x43f: 0x03f5, + // Block 0x11, offset 0x440 + 0x440: 0x0840, 0x441: 0x0840, 0x442: 0x0840, 0x443: 0x0840, 0x444: 0x0840, 0x445: 0x0840, + 0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0818, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0818, + 0x44c: 0x0018, 0x44d: 0x0818, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x3308, 0x451: 0x3308, + 0x452: 0x3308, 0x453: 0x3308, 0x454: 0x3308, 0x455: 0x3308, 0x456: 0x3308, 0x457: 0x3308, + 0x458: 0x3308, 0x459: 0x3308, 0x45a: 0x3308, 0x45b: 0x0818, 0x45c: 0x0b40, 0x45d: 0x0040, + 0x45e: 0x0818, 0x45f: 0x0818, 0x460: 0x0a08, 0x461: 0x0808, 0x462: 0x0c08, 0x463: 0x0c08, + 0x464: 0x0c08, 0x465: 0x0c08, 0x466: 0x0a08, 0x467: 0x0c08, 0x468: 0x0a08, 0x469: 0x0c08, + 0x46a: 0x0a08, 0x46b: 0x0a08, 0x46c: 0x0a08, 0x46d: 0x0a08, 0x46e: 0x0a08, 0x46f: 0x0c08, + 0x470: 0x0c08, 0x471: 0x0c08, 0x472: 0x0c08, 0x473: 0x0a08, 0x474: 0x0a08, 0x475: 0x0a08, + 0x476: 0x0a08, 0x477: 0x0a08, 0x478: 0x0a08, 0x479: 0x0a08, 0x47a: 0x0a08, 0x47b: 0x0a08, + 0x47c: 0x0a08, 0x47d: 0x0a08, 0x47e: 0x0a08, 0x47f: 0x0a08, + // Block 0x12, offset 0x480 + 0x480: 0x0818, 0x481: 0x0a08, 0x482: 0x0a08, 0x483: 0x0a08, 0x484: 0x0a08, 0x485: 0x0a08, + 0x486: 0x0a08, 0x487: 0x0a08, 0x488: 0x0c08, 0x489: 0x0a08, 0x48a: 0x0a08, 0x48b: 0x3308, + 0x48c: 0x3308, 0x48d: 0x3308, 0x48e: 0x3308, 0x48f: 0x3308, 0x490: 0x3308, 0x491: 0x3308, + 0x492: 0x3308, 0x493: 0x3308, 0x494: 0x3308, 0x495: 0x3308, 0x496: 0x3308, 0x497: 0x3308, + 0x498: 0x3308, 0x499: 0x3308, 0x49a: 0x3308, 0x49b: 0x3308, 0x49c: 0x3308, 0x49d: 0x3308, + 0x49e: 0x3308, 0x49f: 0x3308, 0x4a0: 0x0808, 0x4a1: 0x0808, 0x4a2: 0x0808, 0x4a3: 0x0808, + 0x4a4: 0x0808, 0x4a5: 0x0808, 0x4a6: 0x0808, 0x4a7: 0x0808, 0x4a8: 0x0808, 0x4a9: 0x0808, + 0x4aa: 0x0018, 0x4ab: 0x0818, 0x4ac: 0x0818, 0x4ad: 0x0818, 0x4ae: 0x0a08, 0x4af: 0x0a08, + 0x4b0: 0x3308, 0x4b1: 0x0c08, 0x4b2: 0x0c08, 0x4b3: 0x0c08, 0x4b4: 0x0808, 0x4b5: 0x0429, + 0x4b6: 0x0451, 0x4b7: 0x0479, 0x4b8: 0x04a1, 0x4b9: 0x0a08, 0x4ba: 0x0a08, 0x4bb: 0x0a08, + 0x4bc: 0x0a08, 0x4bd: 0x0a08, 0x4be: 0x0a08, 0x4bf: 0x0a08, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x0c08, 0x4c1: 0x0a08, 0x4c2: 0x0a08, 0x4c3: 0x0c08, 0x4c4: 0x0c08, 0x4c5: 0x0c08, + 0x4c6: 0x0c08, 0x4c7: 0x0c08, 0x4c8: 0x0c08, 0x4c9: 0x0c08, 0x4ca: 0x0c08, 0x4cb: 0x0c08, + 0x4cc: 0x0a08, 0x4cd: 0x0c08, 0x4ce: 0x0a08, 0x4cf: 0x0c08, 0x4d0: 0x0a08, 0x4d1: 0x0a08, + 0x4d2: 0x0c08, 0x4d3: 0x0c08, 0x4d4: 0x0818, 0x4d5: 0x0c08, 0x4d6: 0x3308, 0x4d7: 0x3308, + 0x4d8: 0x3308, 0x4d9: 0x3308, 0x4da: 0x3308, 0x4db: 0x3308, 0x4dc: 0x3308, 0x4dd: 0x0840, + 0x4de: 0x0018, 0x4df: 0x3308, 0x4e0: 0x3308, 0x4e1: 0x3308, 0x4e2: 0x3308, 0x4e3: 0x3308, + 0x4e4: 0x3308, 0x4e5: 0x0808, 0x4e6: 0x0808, 0x4e7: 0x3308, 0x4e8: 0x3308, 0x4e9: 0x0018, + 0x4ea: 0x3308, 0x4eb: 0x3308, 0x4ec: 0x3308, 0x4ed: 0x3308, 0x4ee: 0x0c08, 0x4ef: 0x0c08, + 0x4f0: 0x0008, 0x4f1: 0x0008, 0x4f2: 0x0008, 0x4f3: 0x0008, 0x4f4: 0x0008, 0x4f5: 0x0008, + 0x4f6: 0x0008, 0x4f7: 0x0008, 0x4f8: 0x0008, 0x4f9: 0x0008, 0x4fa: 0x0a08, 0x4fb: 0x0a08, + 0x4fc: 0x0a08, 0x4fd: 0x0808, 0x4fe: 0x0808, 0x4ff: 0x0a08, + // Block 0x14, offset 0x500 + 0x500: 0x0818, 0x501: 0x0818, 0x502: 0x0818, 0x503: 0x0818, 0x504: 0x0818, 0x505: 0x0818, + 0x506: 0x0818, 0x507: 0x0818, 0x508: 0x0818, 0x509: 0x0818, 0x50a: 0x0818, 0x50b: 0x0818, + 0x50c: 0x0818, 0x50d: 0x0818, 0x50e: 0x0040, 0x50f: 0x0b40, 0x510: 0x0c08, 0x511: 0x3308, + 0x512: 0x0a08, 0x513: 0x0a08, 0x514: 0x0a08, 0x515: 0x0c08, 0x516: 0x0c08, 0x517: 0x0c08, + 0x518: 0x0c08, 0x519: 0x0c08, 0x51a: 0x0a08, 0x51b: 0x0a08, 0x51c: 0x0a08, 0x51d: 0x0a08, + 0x51e: 0x0c08, 0x51f: 0x0a08, 0x520: 0x0a08, 0x521: 0x0a08, 0x522: 0x0a08, 0x523: 0x0a08, + 0x524: 0x0a08, 0x525: 0x0a08, 0x526: 0x0a08, 0x527: 0x0a08, 0x528: 0x0c08, 0x529: 0x0a08, + 0x52a: 0x0c08, 0x52b: 0x0a08, 0x52c: 0x0c08, 0x52d: 0x0a08, 0x52e: 0x0a08, 0x52f: 0x0c08, + 0x530: 0x3308, 0x531: 0x3308, 0x532: 0x3308, 0x533: 0x3308, 0x534: 0x3308, 0x535: 0x3308, + 0x536: 0x3308, 0x537: 0x3308, 0x538: 0x3308, 0x539: 0x3308, 0x53a: 0x3308, 0x53b: 0x3308, + 0x53c: 0x3308, 0x53d: 0x3308, 0x53e: 0x3308, 0x53f: 0x3308, + // Block 0x15, offset 0x540 + 0x540: 0x0c08, 0x541: 0x0a08, 0x542: 0x0a08, 0x543: 0x0a08, 0x544: 0x0a08, 0x545: 0x0a08, + 0x546: 0x0c08, 0x547: 0x0c08, 0x548: 0x0a08, 0x549: 0x0c08, 0x54a: 0x0a08, 0x54b: 0x0a08, + 0x54c: 0x0a08, 0x54d: 0x0a08, 0x54e: 0x0a08, 0x54f: 0x0a08, 0x550: 0x0a08, 0x551: 0x0a08, + 0x552: 0x0a08, 0x553: 0x0a08, 0x554: 0x0c08, 0x555: 0x0a08, 0x556: 0x0808, 0x557: 0x0808, + 0x558: 0x0808, 0x559: 0x3308, 0x55a: 0x3308, 0x55b: 0x3308, 0x55c: 0x0040, 0x55d: 0x0040, + 0x55e: 0x0818, 0x55f: 0x0040, 0x560: 0x0a08, 0x561: 0x0808, 0x562: 0x0a08, 0x563: 0x0a08, + 0x564: 0x0a08, 0x565: 0x0a08, 0x566: 0x0808, 0x567: 0x0c08, 0x568: 0x0a08, 0x569: 0x0c08, + 0x56a: 0x0c08, 0x56b: 0x0040, 0x56c: 0x0040, 0x56d: 0x0040, 0x56e: 0x0040, 0x56f: 0x0040, + 0x570: 0x0040, 0x571: 0x0040, 0x572: 0x0040, 0x573: 0x0040, 0x574: 0x0040, 0x575: 0x0040, + 0x576: 0x0040, 0x577: 0x0040, 0x578: 0x0040, 0x579: 0x0040, 0x57a: 0x0040, 0x57b: 0x0040, + 0x57c: 0x0040, 0x57d: 0x0040, 0x57e: 0x0040, 0x57f: 0x0040, + // Block 0x16, offset 0x580 + 0x580: 0x3008, 0x581: 0x3308, 0x582: 0x3308, 0x583: 0x3308, 0x584: 0x3308, 0x585: 0x3308, + 0x586: 0x3308, 0x587: 0x3308, 0x588: 0x3308, 0x589: 0x3008, 0x58a: 0x3008, 0x58b: 0x3008, + 0x58c: 0x3008, 0x58d: 0x3b08, 0x58e: 0x3008, 0x58f: 0x3008, 0x590: 0x0008, 0x591: 0x3308, + 0x592: 0x3308, 0x593: 0x3308, 0x594: 0x3308, 0x595: 0x3308, 0x596: 0x3308, 0x597: 0x3308, + 0x598: 0x04c9, 0x599: 0x0501, 0x59a: 0x0539, 0x59b: 0x0571, 0x59c: 0x05a9, 0x59d: 0x05e1, + 0x59e: 0x0619, 0x59f: 0x0651, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x3308, 0x5a3: 0x3308, + 0x5a4: 0x0018, 0x5a5: 0x0018, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0008, + 0x5aa: 0x0008, 0x5ab: 0x0008, 0x5ac: 0x0008, 0x5ad: 0x0008, 0x5ae: 0x0008, 0x5af: 0x0008, + 0x5b0: 0x0018, 0x5b1: 0x0008, 0x5b2: 0x0008, 0x5b3: 0x0008, 0x5b4: 0x0008, 0x5b5: 0x0008, + 0x5b6: 0x0008, 0x5b7: 0x0008, 0x5b8: 0x0008, 0x5b9: 0x0008, 0x5ba: 0x0008, 0x5bb: 0x0008, + 0x5bc: 0x0008, 0x5bd: 0x0008, 0x5be: 0x0008, 0x5bf: 0x0008, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x0008, 0x5c1: 0x3308, 0x5c2: 0x3008, 0x5c3: 0x3008, 0x5c4: 0x0040, 0x5c5: 0x0008, + 0x5c6: 0x0008, 0x5c7: 0x0008, 0x5c8: 0x0008, 0x5c9: 0x0008, 0x5ca: 0x0008, 0x5cb: 0x0008, + 0x5cc: 0x0008, 0x5cd: 0x0040, 0x5ce: 0x0040, 0x5cf: 0x0008, 0x5d0: 0x0008, 0x5d1: 0x0040, + 0x5d2: 0x0040, 0x5d3: 0x0008, 0x5d4: 0x0008, 0x5d5: 0x0008, 0x5d6: 0x0008, 0x5d7: 0x0008, + 0x5d8: 0x0008, 0x5d9: 0x0008, 0x5da: 0x0008, 0x5db: 0x0008, 0x5dc: 0x0008, 0x5dd: 0x0008, + 0x5de: 0x0008, 0x5df: 0x0008, 0x5e0: 0x0008, 0x5e1: 0x0008, 0x5e2: 0x0008, 0x5e3: 0x0008, + 0x5e4: 0x0008, 0x5e5: 0x0008, 0x5e6: 0x0008, 0x5e7: 0x0008, 0x5e8: 0x0008, 0x5e9: 0x0040, + 0x5ea: 0x0008, 0x5eb: 0x0008, 0x5ec: 0x0008, 0x5ed: 0x0008, 0x5ee: 0x0008, 0x5ef: 0x0008, + 0x5f0: 0x0008, 0x5f1: 0x0040, 0x5f2: 0x0008, 0x5f3: 0x0040, 0x5f4: 0x0040, 0x5f5: 0x0040, + 0x5f6: 0x0008, 0x5f7: 0x0008, 0x5f8: 0x0008, 0x5f9: 0x0008, 0x5fa: 0x0040, 0x5fb: 0x0040, + 0x5fc: 0x3308, 0x5fd: 0x0008, 0x5fe: 0x3008, 0x5ff: 0x3008, + // Block 0x18, offset 0x600 + 0x600: 0x3008, 0x601: 0x3308, 0x602: 0x3308, 0x603: 0x3308, 0x604: 0x3308, 0x605: 0x0040, + 0x606: 0x0040, 0x607: 0x3008, 0x608: 0x3008, 0x609: 0x0040, 0x60a: 0x0040, 0x60b: 0x3008, + 0x60c: 0x3008, 0x60d: 0x3b08, 0x60e: 0x0008, 0x60f: 0x0040, 0x610: 0x0040, 0x611: 0x0040, + 0x612: 0x0040, 0x613: 0x0040, 0x614: 0x0040, 0x615: 0x0040, 0x616: 0x0040, 0x617: 0x3008, + 0x618: 0x0040, 0x619: 0x0040, 0x61a: 0x0040, 0x61b: 0x0040, 0x61c: 0x0689, 0x61d: 0x06c1, + 0x61e: 0x0040, 0x61f: 0x06f9, 0x620: 0x0008, 0x621: 0x0008, 0x622: 0x3308, 0x623: 0x3308, + 0x624: 0x0040, 0x625: 0x0040, 0x626: 0x0008, 0x627: 0x0008, 0x628: 0x0008, 0x629: 0x0008, + 0x62a: 0x0008, 0x62b: 0x0008, 0x62c: 0x0008, 0x62d: 0x0008, 0x62e: 0x0008, 0x62f: 0x0008, + 0x630: 0x0008, 0x631: 0x0008, 0x632: 0x0018, 0x633: 0x0018, 0x634: 0x0018, 0x635: 0x0018, + 0x636: 0x0018, 0x637: 0x0018, 0x638: 0x0018, 0x639: 0x0018, 0x63a: 0x0018, 0x63b: 0x0018, + 0x63c: 0x0008, 0x63d: 0x0018, 0x63e: 0x3308, 0x63f: 0x0040, + // Block 0x19, offset 0x640 + 0x640: 0x0040, 0x641: 0x3308, 0x642: 0x3308, 0x643: 0x3008, 0x644: 0x0040, 0x645: 0x0008, + 0x646: 0x0008, 0x647: 0x0008, 0x648: 0x0008, 0x649: 0x0008, 0x64a: 0x0008, 0x64b: 0x0040, + 0x64c: 0x0040, 0x64d: 0x0040, 0x64e: 0x0040, 0x64f: 0x0008, 0x650: 0x0008, 0x651: 0x0040, + 0x652: 0x0040, 0x653: 0x0008, 0x654: 0x0008, 0x655: 0x0008, 0x656: 0x0008, 0x657: 0x0008, + 0x658: 0x0008, 0x659: 0x0008, 0x65a: 0x0008, 0x65b: 0x0008, 0x65c: 0x0008, 0x65d: 0x0008, + 0x65e: 0x0008, 0x65f: 0x0008, 0x660: 0x0008, 0x661: 0x0008, 0x662: 0x0008, 0x663: 0x0008, + 0x664: 0x0008, 0x665: 0x0008, 0x666: 0x0008, 0x667: 0x0008, 0x668: 0x0008, 0x669: 0x0040, + 0x66a: 0x0008, 0x66b: 0x0008, 0x66c: 0x0008, 0x66d: 0x0008, 0x66e: 0x0008, 0x66f: 0x0008, + 0x670: 0x0008, 0x671: 0x0040, 0x672: 0x0008, 0x673: 0x0731, 0x674: 0x0040, 0x675: 0x0008, + 0x676: 0x0769, 0x677: 0x0040, 0x678: 0x0008, 0x679: 0x0008, 0x67a: 0x0040, 0x67b: 0x0040, + 0x67c: 0x3308, 0x67d: 0x0040, 0x67e: 0x3008, 0x67f: 0x3008, + // Block 0x1a, offset 0x680 + 0x680: 0x3008, 0x681: 0x3308, 0x682: 0x3308, 0x683: 0x0040, 0x684: 0x0040, 0x685: 0x0040, + 0x686: 0x0040, 0x687: 0x3308, 0x688: 0x3308, 0x689: 0x0040, 0x68a: 0x0040, 0x68b: 0x3308, + 0x68c: 0x3308, 0x68d: 0x3b08, 0x68e: 0x0040, 0x68f: 0x0040, 0x690: 0x0040, 0x691: 0x3308, + 0x692: 0x0040, 0x693: 0x0040, 0x694: 0x0040, 0x695: 0x0040, 0x696: 0x0040, 0x697: 0x0040, + 0x698: 0x0040, 0x699: 0x07a1, 0x69a: 0x07d9, 0x69b: 0x0811, 0x69c: 0x0008, 0x69d: 0x0040, + 0x69e: 0x0849, 0x69f: 0x0040, 0x6a0: 0x0040, 0x6a1: 0x0040, 0x6a2: 0x0040, 0x6a3: 0x0040, + 0x6a4: 0x0040, 0x6a5: 0x0040, 0x6a6: 0x0008, 0x6a7: 0x0008, 0x6a8: 0x0008, 0x6a9: 0x0008, + 0x6aa: 0x0008, 0x6ab: 0x0008, 0x6ac: 0x0008, 0x6ad: 0x0008, 0x6ae: 0x0008, 0x6af: 0x0008, + 0x6b0: 0x3308, 0x6b1: 0x3308, 0x6b2: 0x0008, 0x6b3: 0x0008, 0x6b4: 0x0008, 0x6b5: 0x3308, + 0x6b6: 0x0018, 0x6b7: 0x0040, 0x6b8: 0x0040, 0x6b9: 0x0040, 0x6ba: 0x0040, 0x6bb: 0x0040, + 0x6bc: 0x0040, 0x6bd: 0x0040, 0x6be: 0x0040, 0x6bf: 0x0040, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x0040, 0x6c1: 0x3308, 0x6c2: 0x3308, 0x6c3: 0x3008, 0x6c4: 0x0040, 0x6c5: 0x0008, + 0x6c6: 0x0008, 0x6c7: 0x0008, 0x6c8: 0x0008, 0x6c9: 0x0008, 0x6ca: 0x0008, 0x6cb: 0x0008, + 0x6cc: 0x0008, 0x6cd: 0x0008, 0x6ce: 0x0040, 0x6cf: 0x0008, 0x6d0: 0x0008, 0x6d1: 0x0008, + 0x6d2: 0x0040, 0x6d3: 0x0008, 0x6d4: 0x0008, 0x6d5: 0x0008, 0x6d6: 0x0008, 0x6d7: 0x0008, + 0x6d8: 0x0008, 0x6d9: 0x0008, 0x6da: 0x0008, 0x6db: 0x0008, 0x6dc: 0x0008, 0x6dd: 0x0008, + 0x6de: 0x0008, 0x6df: 0x0008, 0x6e0: 0x0008, 0x6e1: 0x0008, 0x6e2: 0x0008, 0x6e3: 0x0008, + 0x6e4: 0x0008, 0x6e5: 0x0008, 0x6e6: 0x0008, 0x6e7: 0x0008, 0x6e8: 0x0008, 0x6e9: 0x0040, + 0x6ea: 0x0008, 0x6eb: 0x0008, 0x6ec: 0x0008, 0x6ed: 0x0008, 0x6ee: 0x0008, 0x6ef: 0x0008, + 0x6f0: 0x0008, 0x6f1: 0x0040, 0x6f2: 0x0008, 0x6f3: 0x0008, 0x6f4: 0x0040, 0x6f5: 0x0008, + 0x6f6: 0x0008, 0x6f7: 0x0008, 0x6f8: 0x0008, 0x6f9: 0x0008, 0x6fa: 0x0040, 0x6fb: 0x0040, + 0x6fc: 0x3308, 0x6fd: 0x0008, 0x6fe: 0x3008, 0x6ff: 0x3008, + // Block 0x1c, offset 0x700 + 0x700: 0x3008, 0x701: 0x3308, 0x702: 0x3308, 0x703: 0x3308, 0x704: 0x3308, 0x705: 0x3308, + 0x706: 0x0040, 0x707: 0x3308, 0x708: 0x3308, 0x709: 0x3008, 0x70a: 0x0040, 0x70b: 0x3008, + 0x70c: 0x3008, 0x70d: 0x3b08, 0x70e: 0x0040, 0x70f: 0x0040, 0x710: 0x0008, 0x711: 0x0040, + 0x712: 0x0040, 0x713: 0x0040, 0x714: 0x0040, 0x715: 0x0040, 0x716: 0x0040, 0x717: 0x0040, + 0x718: 0x0040, 0x719: 0x0040, 0x71a: 0x0040, 0x71b: 0x0040, 0x71c: 0x0040, 0x71d: 0x0040, + 0x71e: 0x0040, 0x71f: 0x0040, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x3308, 0x723: 0x3308, + 0x724: 0x0040, 0x725: 0x0040, 0x726: 0x0008, 0x727: 0x0008, 0x728: 0x0008, 0x729: 0x0008, + 0x72a: 0x0008, 0x72b: 0x0008, 0x72c: 0x0008, 0x72d: 0x0008, 0x72e: 0x0008, 0x72f: 0x0008, + 0x730: 0x0018, 0x731: 0x0018, 0x732: 0x0040, 0x733: 0x0040, 0x734: 0x0040, 0x735: 0x0040, + 0x736: 0x0040, 0x737: 0x0040, 0x738: 0x0040, 0x739: 0x0008, 0x73a: 0x3308, 0x73b: 0x3308, + 0x73c: 0x3308, 0x73d: 0x3308, 0x73e: 0x3308, 0x73f: 0x3308, + // Block 0x1d, offset 0x740 + 0x740: 0x0040, 0x741: 0x3308, 0x742: 0x3008, 0x743: 0x3008, 0x744: 0x0040, 0x745: 0x0008, + 0x746: 0x0008, 0x747: 0x0008, 0x748: 0x0008, 0x749: 0x0008, 0x74a: 0x0008, 0x74b: 0x0008, + 0x74c: 0x0008, 0x74d: 0x0040, 0x74e: 0x0040, 0x74f: 0x0008, 0x750: 0x0008, 0x751: 0x0040, + 0x752: 0x0040, 0x753: 0x0008, 0x754: 0x0008, 0x755: 0x0008, 0x756: 0x0008, 0x757: 0x0008, + 0x758: 0x0008, 0x759: 0x0008, 0x75a: 0x0008, 0x75b: 0x0008, 0x75c: 0x0008, 0x75d: 0x0008, + 0x75e: 0x0008, 0x75f: 0x0008, 0x760: 0x0008, 0x761: 0x0008, 0x762: 0x0008, 0x763: 0x0008, + 0x764: 0x0008, 0x765: 0x0008, 0x766: 0x0008, 0x767: 0x0008, 0x768: 0x0008, 0x769: 0x0040, + 0x76a: 0x0008, 0x76b: 0x0008, 0x76c: 0x0008, 0x76d: 0x0008, 0x76e: 0x0008, 0x76f: 0x0008, + 0x770: 0x0008, 0x771: 0x0040, 0x772: 0x0008, 0x773: 0x0008, 0x774: 0x0040, 0x775: 0x0008, + 0x776: 0x0008, 0x777: 0x0008, 0x778: 0x0008, 0x779: 0x0008, 0x77a: 0x0040, 0x77b: 0x0040, + 0x77c: 0x3308, 0x77d: 0x0008, 0x77e: 0x3008, 0x77f: 0x3308, + // Block 0x1e, offset 0x780 + 0x780: 0x3008, 0x781: 0x3308, 0x782: 0x3308, 0x783: 0x3308, 0x784: 0x3308, 0x785: 0x0040, + 0x786: 0x0040, 0x787: 0x3008, 0x788: 0x3008, 0x789: 0x0040, 0x78a: 0x0040, 0x78b: 0x3008, + 0x78c: 0x3008, 0x78d: 0x3b08, 0x78e: 0x0040, 0x78f: 0x0040, 0x790: 0x0040, 0x791: 0x0040, + 0x792: 0x0040, 0x793: 0x0040, 0x794: 0x0040, 0x795: 0x0040, 0x796: 0x3308, 0x797: 0x3008, + 0x798: 0x0040, 0x799: 0x0040, 0x79a: 0x0040, 0x79b: 0x0040, 0x79c: 0x0881, 0x79d: 0x08b9, + 0x79e: 0x0040, 0x79f: 0x0008, 0x7a0: 0x0008, 0x7a1: 0x0008, 0x7a2: 0x3308, 0x7a3: 0x3308, + 0x7a4: 0x0040, 0x7a5: 0x0040, 0x7a6: 0x0008, 0x7a7: 0x0008, 0x7a8: 0x0008, 0x7a9: 0x0008, + 0x7aa: 0x0008, 0x7ab: 0x0008, 0x7ac: 0x0008, 0x7ad: 0x0008, 0x7ae: 0x0008, 0x7af: 0x0008, + 0x7b0: 0x0018, 0x7b1: 0x0008, 0x7b2: 0x0018, 0x7b3: 0x0018, 0x7b4: 0x0018, 0x7b5: 0x0018, + 0x7b6: 0x0018, 0x7b7: 0x0018, 0x7b8: 0x0040, 0x7b9: 0x0040, 0x7ba: 0x0040, 0x7bb: 0x0040, + 0x7bc: 0x0040, 0x7bd: 0x0040, 0x7be: 0x0040, 0x7bf: 0x0040, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x0040, 0x7c1: 0x0040, 0x7c2: 0x3308, 0x7c3: 0x0008, 0x7c4: 0x0040, 0x7c5: 0x0008, + 0x7c6: 0x0008, 0x7c7: 0x0008, 0x7c8: 0x0008, 0x7c9: 0x0008, 0x7ca: 0x0008, 0x7cb: 0x0040, + 0x7cc: 0x0040, 0x7cd: 0x0040, 0x7ce: 0x0008, 0x7cf: 0x0008, 0x7d0: 0x0008, 0x7d1: 0x0040, + 0x7d2: 0x0008, 0x7d3: 0x0008, 0x7d4: 0x0008, 0x7d5: 0x0008, 0x7d6: 0x0040, 0x7d7: 0x0040, + 0x7d8: 0x0040, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0040, 0x7dc: 0x0008, 0x7dd: 0x0040, + 0x7de: 0x0008, 0x7df: 0x0008, 0x7e0: 0x0040, 0x7e1: 0x0040, 0x7e2: 0x0040, 0x7e3: 0x0008, + 0x7e4: 0x0008, 0x7e5: 0x0040, 0x7e6: 0x0040, 0x7e7: 0x0040, 0x7e8: 0x0008, 0x7e9: 0x0008, + 0x7ea: 0x0008, 0x7eb: 0x0040, 0x7ec: 0x0040, 0x7ed: 0x0040, 0x7ee: 0x0008, 0x7ef: 0x0008, + 0x7f0: 0x0008, 0x7f1: 0x0008, 0x7f2: 0x0008, 0x7f3: 0x0008, 0x7f4: 0x0008, 0x7f5: 0x0008, + 0x7f6: 0x0008, 0x7f7: 0x0008, 0x7f8: 0x0008, 0x7f9: 0x0008, 0x7fa: 0x0040, 0x7fb: 0x0040, + 0x7fc: 0x0040, 0x7fd: 0x0040, 0x7fe: 0x3008, 0x7ff: 0x3008, + // Block 0x20, offset 0x800 + 0x800: 0x3308, 0x801: 0x3008, 0x802: 0x3008, 0x803: 0x3008, 0x804: 0x3008, 0x805: 0x0040, + 0x806: 0x3308, 0x807: 0x3308, 0x808: 0x3308, 0x809: 0x0040, 0x80a: 0x3308, 0x80b: 0x3308, + 0x80c: 0x3308, 0x80d: 0x3b08, 0x80e: 0x0040, 0x80f: 0x0040, 0x810: 0x0040, 0x811: 0x0040, + 0x812: 0x0040, 0x813: 0x0040, 0x814: 0x0040, 0x815: 0x3308, 0x816: 0x3308, 0x817: 0x0040, + 0x818: 0x0008, 0x819: 0x0008, 0x81a: 0x0008, 0x81b: 0x0040, 0x81c: 0x0040, 0x81d: 0x0040, + 0x81e: 0x0040, 0x81f: 0x0040, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x3308, 0x823: 0x3308, + 0x824: 0x0040, 0x825: 0x0040, 0x826: 0x0008, 0x827: 0x0008, 0x828: 0x0008, 0x829: 0x0008, + 0x82a: 0x0008, 0x82b: 0x0008, 0x82c: 0x0008, 0x82d: 0x0008, 0x82e: 0x0008, 0x82f: 0x0008, + 0x830: 0x0040, 0x831: 0x0040, 0x832: 0x0040, 0x833: 0x0040, 0x834: 0x0040, 0x835: 0x0040, + 0x836: 0x0040, 0x837: 0x0040, 0x838: 0x0018, 0x839: 0x0018, 0x83a: 0x0018, 0x83b: 0x0018, + 0x83c: 0x0018, 0x83d: 0x0018, 0x83e: 0x0018, 0x83f: 0x0018, + // Block 0x21, offset 0x840 + 0x840: 0x0008, 0x841: 0x3308, 0x842: 0x3008, 0x843: 0x3008, 0x844: 0x0018, 0x845: 0x0008, + 0x846: 0x0008, 0x847: 0x0008, 0x848: 0x0008, 0x849: 0x0008, 0x84a: 0x0008, 0x84b: 0x0008, + 0x84c: 0x0008, 0x84d: 0x0040, 0x84e: 0x0008, 0x84f: 0x0008, 0x850: 0x0008, 0x851: 0x0040, + 0x852: 0x0008, 0x853: 0x0008, 0x854: 0x0008, 0x855: 0x0008, 0x856: 0x0008, 0x857: 0x0008, + 0x858: 0x0008, 0x859: 0x0008, 0x85a: 0x0008, 0x85b: 0x0008, 0x85c: 0x0008, 0x85d: 0x0008, + 0x85e: 0x0008, 0x85f: 0x0008, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x0008, 0x863: 0x0008, + 0x864: 0x0008, 0x865: 0x0008, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0040, + 0x86a: 0x0008, 0x86b: 0x0008, 0x86c: 0x0008, 0x86d: 0x0008, 0x86e: 0x0008, 0x86f: 0x0008, + 0x870: 0x0008, 0x871: 0x0008, 0x872: 0x0008, 0x873: 0x0008, 0x874: 0x0040, 0x875: 0x0008, + 0x876: 0x0008, 0x877: 0x0008, 0x878: 0x0008, 0x879: 0x0008, 0x87a: 0x0040, 0x87b: 0x0040, + 0x87c: 0x3308, 0x87d: 0x0008, 0x87e: 0x3008, 0x87f: 0x3308, + // Block 0x22, offset 0x880 + 0x880: 0x3008, 0x881: 0x3008, 0x882: 0x3008, 0x883: 0x3008, 0x884: 0x3008, 0x885: 0x0040, + 0x886: 0x3308, 0x887: 0x3008, 0x888: 0x3008, 0x889: 0x0040, 0x88a: 0x3008, 0x88b: 0x3008, + 0x88c: 0x3308, 0x88d: 0x3b08, 0x88e: 0x0040, 0x88f: 0x0040, 0x890: 0x0040, 0x891: 0x0040, + 0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0040, 0x895: 0x3008, 0x896: 0x3008, 0x897: 0x0040, + 0x898: 0x0040, 0x899: 0x0040, 0x89a: 0x0040, 0x89b: 0x0040, 0x89c: 0x0040, 0x89d: 0x0040, + 0x89e: 0x0008, 0x89f: 0x0040, 0x8a0: 0x0008, 0x8a1: 0x0008, 0x8a2: 0x3308, 0x8a3: 0x3308, + 0x8a4: 0x0040, 0x8a5: 0x0040, 0x8a6: 0x0008, 0x8a7: 0x0008, 0x8a8: 0x0008, 0x8a9: 0x0008, + 0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0008, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008, + 0x8b0: 0x0040, 0x8b1: 0x0008, 0x8b2: 0x0008, 0x8b3: 0x0040, 0x8b4: 0x0040, 0x8b5: 0x0040, + 0x8b6: 0x0040, 0x8b7: 0x0040, 0x8b8: 0x0040, 0x8b9: 0x0040, 0x8ba: 0x0040, 0x8bb: 0x0040, + 0x8bc: 0x0040, 0x8bd: 0x0040, 0x8be: 0x0040, 0x8bf: 0x0040, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x3008, 0x8c1: 0x3308, 0x8c2: 0x3308, 0x8c3: 0x3308, 0x8c4: 0x3308, 0x8c5: 0x0040, + 0x8c6: 0x3008, 0x8c7: 0x3008, 0x8c8: 0x3008, 0x8c9: 0x0040, 0x8ca: 0x3008, 0x8cb: 0x3008, + 0x8cc: 0x3008, 0x8cd: 0x3b08, 0x8ce: 0x0008, 0x8cf: 0x0018, 0x8d0: 0x0040, 0x8d1: 0x0040, + 0x8d2: 0x0040, 0x8d3: 0x0040, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x3008, + 0x8d8: 0x0018, 0x8d9: 0x0018, 0x8da: 0x0018, 0x8db: 0x0018, 0x8dc: 0x0018, 0x8dd: 0x0018, + 0x8de: 0x0018, 0x8df: 0x0008, 0x8e0: 0x0008, 0x8e1: 0x0008, 0x8e2: 0x3308, 0x8e3: 0x3308, + 0x8e4: 0x0040, 0x8e5: 0x0040, 0x8e6: 0x0008, 0x8e7: 0x0008, 0x8e8: 0x0008, 0x8e9: 0x0008, + 0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0008, 0x8ed: 0x0008, 0x8ee: 0x0008, 0x8ef: 0x0008, + 0x8f0: 0x0018, 0x8f1: 0x0018, 0x8f2: 0x0018, 0x8f3: 0x0018, 0x8f4: 0x0018, 0x8f5: 0x0018, + 0x8f6: 0x0018, 0x8f7: 0x0018, 0x8f8: 0x0018, 0x8f9: 0x0018, 0x8fa: 0x0008, 0x8fb: 0x0008, + 0x8fc: 0x0008, 0x8fd: 0x0008, 0x8fe: 0x0008, 0x8ff: 0x0008, + // Block 0x24, offset 0x900 + 0x900: 0x0040, 0x901: 0x0008, 0x902: 0x0008, 0x903: 0x0040, 0x904: 0x0008, 0x905: 0x0040, + 0x906: 0x0040, 0x907: 0x0008, 0x908: 0x0008, 0x909: 0x0040, 0x90a: 0x0008, 0x90b: 0x0040, + 0x90c: 0x0040, 0x90d: 0x0008, 0x90e: 0x0040, 0x90f: 0x0040, 0x910: 0x0040, 0x911: 0x0040, + 0x912: 0x0040, 0x913: 0x0040, 0x914: 0x0008, 0x915: 0x0008, 0x916: 0x0008, 0x917: 0x0008, + 0x918: 0x0040, 0x919: 0x0008, 0x91a: 0x0008, 0x91b: 0x0008, 0x91c: 0x0008, 0x91d: 0x0008, + 0x91e: 0x0008, 0x91f: 0x0008, 0x920: 0x0040, 0x921: 0x0008, 0x922: 0x0008, 0x923: 0x0008, + 0x924: 0x0040, 0x925: 0x0008, 0x926: 0x0040, 0x927: 0x0008, 0x928: 0x0040, 0x929: 0x0040, + 0x92a: 0x0008, 0x92b: 0x0008, 0x92c: 0x0040, 0x92d: 0x0008, 0x92e: 0x0008, 0x92f: 0x0008, + 0x930: 0x0008, 0x931: 0x3308, 0x932: 0x0008, 0x933: 0x0929, 0x934: 0x3308, 0x935: 0x3308, + 0x936: 0x3308, 0x937: 0x3308, 0x938: 0x3308, 0x939: 0x3308, 0x93a: 0x0040, 0x93b: 0x3308, + 0x93c: 0x3308, 0x93d: 0x0008, 0x93e: 0x0040, 0x93f: 0x0040, + // Block 0x25, offset 0x940 + 0x940: 0x0008, 0x941: 0x0008, 0x942: 0x0008, 0x943: 0x09d1, 0x944: 0x0008, 0x945: 0x0008, + 0x946: 0x0008, 0x947: 0x0008, 0x948: 0x0040, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008, + 0x94c: 0x0008, 0x94d: 0x0a09, 0x94e: 0x0008, 0x94f: 0x0008, 0x950: 0x0008, 0x951: 0x0008, + 0x952: 0x0a41, 0x953: 0x0008, 0x954: 0x0008, 0x955: 0x0008, 0x956: 0x0008, 0x957: 0x0a79, + 0x958: 0x0008, 0x959: 0x0008, 0x95a: 0x0008, 0x95b: 0x0008, 0x95c: 0x0ab1, 0x95d: 0x0008, + 0x95e: 0x0008, 0x95f: 0x0008, 0x960: 0x0008, 0x961: 0x0008, 0x962: 0x0008, 0x963: 0x0008, + 0x964: 0x0008, 0x965: 0x0008, 0x966: 0x0008, 0x967: 0x0008, 0x968: 0x0008, 0x969: 0x0ae9, + 0x96a: 0x0008, 0x96b: 0x0008, 0x96c: 0x0008, 0x96d: 0x0040, 0x96e: 0x0040, 0x96f: 0x0040, + 0x970: 0x0040, 0x971: 0x3308, 0x972: 0x3308, 0x973: 0x0b21, 0x974: 0x3308, 0x975: 0x0b59, + 0x976: 0x0b91, 0x977: 0x0bc9, 0x978: 0x0c19, 0x979: 0x0c51, 0x97a: 0x3308, 0x97b: 0x3308, + 0x97c: 0x3308, 0x97d: 0x3308, 0x97e: 0x3308, 0x97f: 0x3008, + // Block 0x26, offset 0x980 + 0x980: 0x3308, 0x981: 0x0ca1, 0x982: 0x3308, 0x983: 0x3308, 0x984: 0x3b08, 0x985: 0x0018, + 0x986: 0x3308, 0x987: 0x3308, 0x988: 0x0008, 0x989: 0x0008, 0x98a: 0x0008, 0x98b: 0x0008, + 0x98c: 0x0008, 0x98d: 0x3308, 0x98e: 0x3308, 0x98f: 0x3308, 0x990: 0x3308, 0x991: 0x3308, + 0x992: 0x3308, 0x993: 0x0cd9, 0x994: 0x3308, 0x995: 0x3308, 0x996: 0x3308, 0x997: 0x3308, + 0x998: 0x0040, 0x999: 0x3308, 0x99a: 0x3308, 0x99b: 0x3308, 0x99c: 0x3308, 0x99d: 0x0d11, + 0x99e: 0x3308, 0x99f: 0x3308, 0x9a0: 0x3308, 0x9a1: 0x3308, 0x9a2: 0x0d49, 0x9a3: 0x3308, + 0x9a4: 0x3308, 0x9a5: 0x3308, 0x9a6: 0x3308, 0x9a7: 0x0d81, 0x9a8: 0x3308, 0x9a9: 0x3308, + 0x9aa: 0x3308, 0x9ab: 0x3308, 0x9ac: 0x0db9, 0x9ad: 0x3308, 0x9ae: 0x3308, 0x9af: 0x3308, + 0x9b0: 0x3308, 0x9b1: 0x3308, 0x9b2: 0x3308, 0x9b3: 0x3308, 0x9b4: 0x3308, 0x9b5: 0x3308, + 0x9b6: 0x3308, 0x9b7: 0x3308, 0x9b8: 0x3308, 0x9b9: 0x0df1, 0x9ba: 0x3308, 0x9bb: 0x3308, + 0x9bc: 0x3308, 0x9bd: 0x0040, 0x9be: 0x0018, 0x9bf: 0x0018, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x0008, 0x9c1: 0x0008, 0x9c2: 0x0008, 0x9c3: 0x0008, 0x9c4: 0x0008, 0x9c5: 0x0008, + 0x9c6: 0x0008, 0x9c7: 0x0008, 0x9c8: 0x0008, 0x9c9: 0x0008, 0x9ca: 0x0008, 0x9cb: 0x0008, + 0x9cc: 0x0008, 0x9cd: 0x0008, 0x9ce: 0x0008, 0x9cf: 0x0008, 0x9d0: 0x0008, 0x9d1: 0x0008, + 0x9d2: 0x0008, 0x9d3: 0x0008, 0x9d4: 0x0008, 0x9d5: 0x0008, 0x9d6: 0x0008, 0x9d7: 0x0008, + 0x9d8: 0x0008, 0x9d9: 0x0008, 0x9da: 0x0008, 0x9db: 0x0008, 0x9dc: 0x0008, 0x9dd: 0x0008, + 0x9de: 0x0008, 0x9df: 0x0008, 0x9e0: 0x0008, 0x9e1: 0x0008, 0x9e2: 0x0008, 0x9e3: 0x0008, + 0x9e4: 0x0008, 0x9e5: 0x0008, 0x9e6: 0x0008, 0x9e7: 0x0008, 0x9e8: 0x0008, 0x9e9: 0x0008, + 0x9ea: 0x0008, 0x9eb: 0x0008, 0x9ec: 0x0039, 0x9ed: 0x0ed1, 0x9ee: 0x0ee9, 0x9ef: 0x0008, + 0x9f0: 0x0ef9, 0x9f1: 0x0f09, 0x9f2: 0x0f19, 0x9f3: 0x0f31, 0x9f4: 0x0249, 0x9f5: 0x0f41, + 0x9f6: 0x0259, 0x9f7: 0x0f51, 0x9f8: 0x0359, 0x9f9: 0x0f61, 0x9fa: 0x0f71, 0x9fb: 0x0008, + 0x9fc: 0x00d9, 0x9fd: 0x0f81, 0x9fe: 0x0f99, 0x9ff: 0x0269, + // Block 0x28, offset 0xa00 + 0xa00: 0x0fa9, 0xa01: 0x0fb9, 0xa02: 0x0279, 0xa03: 0x0039, 0xa04: 0x0fc9, 0xa05: 0x0fe1, + 0xa06: 0x059d, 0xa07: 0x0ee9, 0xa08: 0x0ef9, 0xa09: 0x0f09, 0xa0a: 0x0ff9, 0xa0b: 0x1011, + 0xa0c: 0x1029, 0xa0d: 0x0f31, 0xa0e: 0x0008, 0xa0f: 0x0f51, 0xa10: 0x0f61, 0xa11: 0x1041, + 0xa12: 0x00d9, 0xa13: 0x1059, 0xa14: 0x05b5, 0xa15: 0x05b5, 0xa16: 0x0f99, 0xa17: 0x0fa9, + 0xa18: 0x0fb9, 0xa19: 0x059d, 0xa1a: 0x1071, 0xa1b: 0x1089, 0xa1c: 0x05cd, 0xa1d: 0x1099, + 0xa1e: 0x10b1, 0xa1f: 0x10c9, 0xa20: 0x10e1, 0xa21: 0x10f9, 0xa22: 0x0f41, 0xa23: 0x0269, + 0xa24: 0x0fb9, 0xa25: 0x1089, 0xa26: 0x1099, 0xa27: 0x10b1, 0xa28: 0x1111, 0xa29: 0x10e1, + 0xa2a: 0x10f9, 0xa2b: 0x0008, 0xa2c: 0x0008, 0xa2d: 0x0008, 0xa2e: 0x0008, 0xa2f: 0x0008, + 0xa30: 0x0008, 0xa31: 0x0008, 0xa32: 0x0008, 0xa33: 0x0008, 0xa34: 0x0008, 0xa35: 0x0008, + 0xa36: 0x0008, 0xa37: 0x0008, 0xa38: 0x1129, 0xa39: 0x0008, 0xa3a: 0x0008, 0xa3b: 0x0008, + 0xa3c: 0x0008, 0xa3d: 0x0008, 0xa3e: 0x0008, 0xa3f: 0x0008, + // Block 0x29, offset 0xa40 + 0xa40: 0x0008, 0xa41: 0x0008, 0xa42: 0x0008, 0xa43: 0x0008, 0xa44: 0x0008, 0xa45: 0x0008, + 0xa46: 0x0008, 0xa47: 0x0008, 0xa48: 0x0008, 0xa49: 0x0008, 0xa4a: 0x0008, 0xa4b: 0x0008, + 0xa4c: 0x0008, 0xa4d: 0x0008, 0xa4e: 0x0008, 0xa4f: 0x0008, 0xa50: 0x0008, 0xa51: 0x0008, + 0xa52: 0x0008, 0xa53: 0x0008, 0xa54: 0x0008, 0xa55: 0x0008, 0xa56: 0x0008, 0xa57: 0x0008, + 0xa58: 0x0008, 0xa59: 0x0008, 0xa5a: 0x0008, 0xa5b: 0x1141, 0xa5c: 0x1159, 0xa5d: 0x1169, + 0xa5e: 0x1181, 0xa5f: 0x1029, 0xa60: 0x1199, 0xa61: 0x11a9, 0xa62: 0x11c1, 0xa63: 0x11d9, + 0xa64: 0x11f1, 0xa65: 0x1209, 0xa66: 0x1221, 0xa67: 0x05e5, 0xa68: 0x1239, 0xa69: 0x1251, + 0xa6a: 0xe17d, 0xa6b: 0x1269, 0xa6c: 0x1281, 0xa6d: 0x1299, 0xa6e: 0x12b1, 0xa6f: 0x12c9, + 0xa70: 0x12e1, 0xa71: 0x12f9, 0xa72: 0x1311, 0xa73: 0x1329, 0xa74: 0x1341, 0xa75: 0x1359, + 0xa76: 0x1371, 0xa77: 0x1389, 0xa78: 0x05fd, 0xa79: 0x13a1, 0xa7a: 0x13b9, 0xa7b: 0x13d1, + 0xa7c: 0x13e1, 0xa7d: 0x13f9, 0xa7e: 0x1411, 0xa7f: 0x1429, + // Block 0x2a, offset 0xa80 + 0xa80: 0xe00d, 0xa81: 0x0008, 0xa82: 0xe00d, 0xa83: 0x0008, 0xa84: 0xe00d, 0xa85: 0x0008, + 0xa86: 0xe00d, 0xa87: 0x0008, 0xa88: 0xe00d, 0xa89: 0x0008, 0xa8a: 0xe00d, 0xa8b: 0x0008, + 0xa8c: 0xe00d, 0xa8d: 0x0008, 0xa8e: 0xe00d, 0xa8f: 0x0008, 0xa90: 0xe00d, 0xa91: 0x0008, + 0xa92: 0xe00d, 0xa93: 0x0008, 0xa94: 0xe00d, 0xa95: 0x0008, 0xa96: 0xe00d, 0xa97: 0x0008, + 0xa98: 0xe00d, 0xa99: 0x0008, 0xa9a: 0xe00d, 0xa9b: 0x0008, 0xa9c: 0xe00d, 0xa9d: 0x0008, + 0xa9e: 0xe00d, 0xa9f: 0x0008, 0xaa0: 0xe00d, 0xaa1: 0x0008, 0xaa2: 0xe00d, 0xaa3: 0x0008, + 0xaa4: 0xe00d, 0xaa5: 0x0008, 0xaa6: 0xe00d, 0xaa7: 0x0008, 0xaa8: 0xe00d, 0xaa9: 0x0008, + 0xaaa: 0xe00d, 0xaab: 0x0008, 0xaac: 0xe00d, 0xaad: 0x0008, 0xaae: 0xe00d, 0xaaf: 0x0008, + 0xab0: 0xe00d, 0xab1: 0x0008, 0xab2: 0xe00d, 0xab3: 0x0008, 0xab4: 0xe00d, 0xab5: 0x0008, + 0xab6: 0xe00d, 0xab7: 0x0008, 0xab8: 0xe00d, 0xab9: 0x0008, 0xaba: 0xe00d, 0xabb: 0x0008, + 0xabc: 0xe00d, 0xabd: 0x0008, 0xabe: 0xe00d, 0xabf: 0x0008, + // Block 0x2b, offset 0xac0 + 0xac0: 0xe00d, 0xac1: 0x0008, 0xac2: 0xe00d, 0xac3: 0x0008, 0xac4: 0xe00d, 0xac5: 0x0008, + 0xac6: 0xe00d, 0xac7: 0x0008, 0xac8: 0xe00d, 0xac9: 0x0008, 0xaca: 0xe00d, 0xacb: 0x0008, + 0xacc: 0xe00d, 0xacd: 0x0008, 0xace: 0xe00d, 0xacf: 0x0008, 0xad0: 0xe00d, 0xad1: 0x0008, + 0xad2: 0xe00d, 0xad3: 0x0008, 0xad4: 0xe00d, 0xad5: 0x0008, 0xad6: 0x0008, 0xad7: 0x0008, + 0xad8: 0x0008, 0xad9: 0x0008, 0xada: 0x0615, 0xadb: 0x0635, 0xadc: 0x0008, 0xadd: 0x0008, + 0xade: 0x1441, 0xadf: 0x0008, 0xae0: 0xe00d, 0xae1: 0x0008, 0xae2: 0xe00d, 0xae3: 0x0008, + 0xae4: 0xe00d, 0xae5: 0x0008, 0xae6: 0xe00d, 0xae7: 0x0008, 0xae8: 0xe00d, 0xae9: 0x0008, + 0xaea: 0xe00d, 0xaeb: 0x0008, 0xaec: 0xe00d, 0xaed: 0x0008, 0xaee: 0xe00d, 0xaef: 0x0008, + 0xaf0: 0xe00d, 0xaf1: 0x0008, 0xaf2: 0xe00d, 0xaf3: 0x0008, 0xaf4: 0xe00d, 0xaf5: 0x0008, + 0xaf6: 0xe00d, 0xaf7: 0x0008, 0xaf8: 0xe00d, 0xaf9: 0x0008, 0xafa: 0xe00d, 0xafb: 0x0008, + 0xafc: 0xe00d, 0xafd: 0x0008, 0xafe: 0xe00d, 0xaff: 0x0008, + // Block 0x2c, offset 0xb00 + 0xb00: 0x0008, 0xb01: 0x0008, 0xb02: 0x0008, 0xb03: 0x0008, 0xb04: 0x0008, 0xb05: 0x0008, + 0xb06: 0x0040, 0xb07: 0x0040, 0xb08: 0xe045, 0xb09: 0xe045, 0xb0a: 0xe045, 0xb0b: 0xe045, + 0xb0c: 0xe045, 0xb0d: 0xe045, 0xb0e: 0x0040, 0xb0f: 0x0040, 0xb10: 0x0008, 0xb11: 0x0008, + 0xb12: 0x0008, 0xb13: 0x0008, 0xb14: 0x0008, 0xb15: 0x0008, 0xb16: 0x0008, 0xb17: 0x0008, + 0xb18: 0x0040, 0xb19: 0xe045, 0xb1a: 0x0040, 0xb1b: 0xe045, 0xb1c: 0x0040, 0xb1d: 0xe045, + 0xb1e: 0x0040, 0xb1f: 0xe045, 0xb20: 0x0008, 0xb21: 0x0008, 0xb22: 0x0008, 0xb23: 0x0008, + 0xb24: 0x0008, 0xb25: 0x0008, 0xb26: 0x0008, 0xb27: 0x0008, 0xb28: 0xe045, 0xb29: 0xe045, + 0xb2a: 0xe045, 0xb2b: 0xe045, 0xb2c: 0xe045, 0xb2d: 0xe045, 0xb2e: 0xe045, 0xb2f: 0xe045, + 0xb30: 0x0008, 0xb31: 0x1459, 0xb32: 0x0008, 0xb33: 0x1471, 0xb34: 0x0008, 0xb35: 0x1489, + 0xb36: 0x0008, 0xb37: 0x14a1, 0xb38: 0x0008, 0xb39: 0x14b9, 0xb3a: 0x0008, 0xb3b: 0x14d1, + 0xb3c: 0x0008, 0xb3d: 0x14e9, 0xb3e: 0x0040, 0xb3f: 0x0040, + // Block 0x2d, offset 0xb40 + 0xb40: 0x1501, 0xb41: 0x1531, 0xb42: 0x1561, 0xb43: 0x1591, 0xb44: 0x15c1, 0xb45: 0x15f1, + 0xb46: 0x1621, 0xb47: 0x1651, 0xb48: 0x1501, 0xb49: 0x1531, 0xb4a: 0x1561, 0xb4b: 0x1591, + 0xb4c: 0x15c1, 0xb4d: 0x15f1, 0xb4e: 0x1621, 0xb4f: 0x1651, 0xb50: 0x1681, 0xb51: 0x16b1, + 0xb52: 0x16e1, 0xb53: 0x1711, 0xb54: 0x1741, 0xb55: 0x1771, 0xb56: 0x17a1, 0xb57: 0x17d1, + 0xb58: 0x1681, 0xb59: 0x16b1, 0xb5a: 0x16e1, 0xb5b: 0x1711, 0xb5c: 0x1741, 0xb5d: 0x1771, + 0xb5e: 0x17a1, 0xb5f: 0x17d1, 0xb60: 0x1801, 0xb61: 0x1831, 0xb62: 0x1861, 0xb63: 0x1891, + 0xb64: 0x18c1, 0xb65: 0x18f1, 0xb66: 0x1921, 0xb67: 0x1951, 0xb68: 0x1801, 0xb69: 0x1831, + 0xb6a: 0x1861, 0xb6b: 0x1891, 0xb6c: 0x18c1, 0xb6d: 0x18f1, 0xb6e: 0x1921, 0xb6f: 0x1951, + 0xb70: 0x0008, 0xb71: 0x0008, 0xb72: 0x1981, 0xb73: 0x19b1, 0xb74: 0x19d9, 0xb75: 0x0040, + 0xb76: 0x0008, 0xb77: 0x1a01, 0xb78: 0xe045, 0xb79: 0xe045, 0xb7a: 0x064d, 0xb7b: 0x1459, + 0xb7c: 0x19b1, 0xb7d: 0x0666, 0xb7e: 0x1a31, 0xb7f: 0x0686, + // Block 0x2e, offset 0xb80 + 0xb80: 0x06a6, 0xb81: 0x1a4a, 0xb82: 0x1a79, 0xb83: 0x1aa9, 0xb84: 0x1ad1, 0xb85: 0x0040, + 0xb86: 0x0008, 0xb87: 0x1af9, 0xb88: 0x06c5, 0xb89: 0x1471, 0xb8a: 0x06dd, 0xb8b: 0x1489, + 0xb8c: 0x1aa9, 0xb8d: 0x1b2a, 0xb8e: 0x1b5a, 0xb8f: 0x1b8a, 0xb90: 0x0008, 0xb91: 0x0008, + 0xb92: 0x0008, 0xb93: 0x1bb9, 0xb94: 0x0040, 0xb95: 0x0040, 0xb96: 0x0008, 0xb97: 0x0008, + 0xb98: 0xe045, 0xb99: 0xe045, 0xb9a: 0x06f5, 0xb9b: 0x14a1, 0xb9c: 0x0040, 0xb9d: 0x1bd2, + 0xb9e: 0x1c02, 0xb9f: 0x1c32, 0xba0: 0x0008, 0xba1: 0x0008, 0xba2: 0x0008, 0xba3: 0x1c61, + 0xba4: 0x0008, 0xba5: 0x0008, 0xba6: 0x0008, 0xba7: 0x0008, 0xba8: 0xe045, 0xba9: 0xe045, + 0xbaa: 0x070d, 0xbab: 0x14d1, 0xbac: 0xe04d, 0xbad: 0x1c7a, 0xbae: 0x03d2, 0xbaf: 0x1caa, + 0xbb0: 0x0040, 0xbb1: 0x0040, 0xbb2: 0x1cb9, 0xbb3: 0x1ce9, 0xbb4: 0x1d11, 0xbb5: 0x0040, + 0xbb6: 0x0008, 0xbb7: 0x1d39, 0xbb8: 0x0725, 0xbb9: 0x14b9, 0xbba: 0x0515, 0xbbb: 0x14e9, + 0xbbc: 0x1ce9, 0xbbd: 0x073e, 0xbbe: 0x075e, 0xbbf: 0x0040, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x000a, 0xbc1: 0x000a, 0xbc2: 0x000a, 0xbc3: 0x000a, 0xbc4: 0x000a, 0xbc5: 0x000a, + 0xbc6: 0x000a, 0xbc7: 0x000a, 0xbc8: 0x000a, 0xbc9: 0x000a, 0xbca: 0x000a, 0xbcb: 0x03c0, + 0xbcc: 0x0003, 0xbcd: 0x0003, 0xbce: 0x0340, 0xbcf: 0x0b40, 0xbd0: 0x0018, 0xbd1: 0xe00d, + 0xbd2: 0x0018, 0xbd3: 0x0018, 0xbd4: 0x0018, 0xbd5: 0x0018, 0xbd6: 0x0018, 0xbd7: 0x077e, + 0xbd8: 0x0018, 0xbd9: 0x0018, 0xbda: 0x0018, 0xbdb: 0x0018, 0xbdc: 0x0018, 0xbdd: 0x0018, + 0xbde: 0x0018, 0xbdf: 0x0018, 0xbe0: 0x0018, 0xbe1: 0x0018, 0xbe2: 0x0018, 0xbe3: 0x0018, + 0xbe4: 0x0040, 0xbe5: 0x0040, 0xbe6: 0x0040, 0xbe7: 0x0018, 0xbe8: 0x0040, 0xbe9: 0x0040, + 0xbea: 0x0340, 0xbeb: 0x0340, 0xbec: 0x0340, 0xbed: 0x0340, 0xbee: 0x0340, 0xbef: 0x000a, + 0xbf0: 0x0018, 0xbf1: 0x0018, 0xbf2: 0x0018, 0xbf3: 0x1d69, 0xbf4: 0x1da1, 0xbf5: 0x0018, + 0xbf6: 0x1df1, 0xbf7: 0x1e29, 0xbf8: 0x0018, 0xbf9: 0x0018, 0xbfa: 0x0018, 0xbfb: 0x0018, + 0xbfc: 0x1e7a, 0xbfd: 0x0018, 0xbfe: 0x079e, 0xbff: 0x0018, + // Block 0x30, offset 0xc00 + 0xc00: 0x0018, 0xc01: 0x0018, 0xc02: 0x0018, 0xc03: 0x0018, 0xc04: 0x0018, 0xc05: 0x0018, + 0xc06: 0x0018, 0xc07: 0x1e92, 0xc08: 0x1eaa, 0xc09: 0x1ec2, 0xc0a: 0x0018, 0xc0b: 0x0018, + 0xc0c: 0x0018, 0xc0d: 0x0018, 0xc0e: 0x0018, 0xc0f: 0x0018, 0xc10: 0x0018, 0xc11: 0x0018, + 0xc12: 0x0018, 0xc13: 0x0018, 0xc14: 0x0018, 0xc15: 0x0018, 0xc16: 0x0018, 0xc17: 0x1ed9, + 0xc18: 0x0018, 0xc19: 0x0018, 0xc1a: 0x0018, 0xc1b: 0x0018, 0xc1c: 0x0018, 0xc1d: 0x0018, + 0xc1e: 0x0018, 0xc1f: 0x000a, 0xc20: 0x03c0, 0xc21: 0x0340, 0xc22: 0x0340, 0xc23: 0x0340, + 0xc24: 0x03c0, 0xc25: 0x0040, 0xc26: 0x0040, 0xc27: 0x0040, 0xc28: 0x0040, 0xc29: 0x0040, + 0xc2a: 0x0340, 0xc2b: 0x0340, 0xc2c: 0x0340, 0xc2d: 0x0340, 0xc2e: 0x0340, 0xc2f: 0x0340, + 0xc30: 0x1f41, 0xc31: 0x0f41, 0xc32: 0x0040, 0xc33: 0x0040, 0xc34: 0x1f51, 0xc35: 0x1f61, + 0xc36: 0x1f71, 0xc37: 0x1f81, 0xc38: 0x1f91, 0xc39: 0x1fa1, 0xc3a: 0x1fb2, 0xc3b: 0x07bd, + 0xc3c: 0x1fc2, 0xc3d: 0x1fd2, 0xc3e: 0x1fe2, 0xc3f: 0x0f71, + // Block 0x31, offset 0xc40 + 0xc40: 0x1f41, 0xc41: 0x00c9, 0xc42: 0x0069, 0xc43: 0x0079, 0xc44: 0x1f51, 0xc45: 0x1f61, + 0xc46: 0x1f71, 0xc47: 0x1f81, 0xc48: 0x1f91, 0xc49: 0x1fa1, 0xc4a: 0x1fb2, 0xc4b: 0x07d5, + 0xc4c: 0x1fc2, 0xc4d: 0x1fd2, 0xc4e: 0x1fe2, 0xc4f: 0x0040, 0xc50: 0x0039, 0xc51: 0x0f09, + 0xc52: 0x00d9, 0xc53: 0x0369, 0xc54: 0x0ff9, 0xc55: 0x0249, 0xc56: 0x0f51, 0xc57: 0x0359, + 0xc58: 0x0f61, 0xc59: 0x0f71, 0xc5a: 0x0f99, 0xc5b: 0x01d9, 0xc5c: 0x0fa9, 0xc5d: 0x0040, + 0xc5e: 0x0040, 0xc5f: 0x0040, 0xc60: 0x0018, 0xc61: 0x0018, 0xc62: 0x0018, 0xc63: 0x0018, + 0xc64: 0x0018, 0xc65: 0x0018, 0xc66: 0x0018, 0xc67: 0x0018, 0xc68: 0x1ff1, 0xc69: 0x0018, + 0xc6a: 0x0018, 0xc6b: 0x0018, 0xc6c: 0x0018, 0xc6d: 0x0018, 0xc6e: 0x0018, 0xc6f: 0x0018, + 0xc70: 0x0018, 0xc71: 0x0018, 0xc72: 0x0018, 0xc73: 0x0018, 0xc74: 0x0018, 0xc75: 0x0018, + 0xc76: 0x0018, 0xc77: 0x0018, 0xc78: 0x0018, 0xc79: 0x0018, 0xc7a: 0x0018, 0xc7b: 0x0018, + 0xc7c: 0x0018, 0xc7d: 0x0018, 0xc7e: 0x0018, 0xc7f: 0x0018, + // Block 0x32, offset 0xc80 + 0xc80: 0x07ee, 0xc81: 0x080e, 0xc82: 0x1159, 0xc83: 0x082d, 0xc84: 0x0018, 0xc85: 0x084e, + 0xc86: 0x086e, 0xc87: 0x1011, 0xc88: 0x0018, 0xc89: 0x088d, 0xc8a: 0x0f31, 0xc8b: 0x0249, + 0xc8c: 0x0249, 0xc8d: 0x0249, 0xc8e: 0x0249, 0xc8f: 0x2009, 0xc90: 0x0f41, 0xc91: 0x0f41, + 0xc92: 0x0359, 0xc93: 0x0359, 0xc94: 0x0018, 0xc95: 0x0f71, 0xc96: 0x2021, 0xc97: 0x0018, + 0xc98: 0x0018, 0xc99: 0x0f99, 0xc9a: 0x2039, 0xc9b: 0x0269, 0xc9c: 0x0269, 0xc9d: 0x0269, + 0xc9e: 0x0018, 0xc9f: 0x0018, 0xca0: 0x2049, 0xca1: 0x08ad, 0xca2: 0x2061, 0xca3: 0x0018, + 0xca4: 0x13d1, 0xca5: 0x0018, 0xca6: 0x2079, 0xca7: 0x0018, 0xca8: 0x13d1, 0xca9: 0x0018, + 0xcaa: 0x0f51, 0xcab: 0x2091, 0xcac: 0x0ee9, 0xcad: 0x1159, 0xcae: 0x0018, 0xcaf: 0x0f09, + 0xcb0: 0x0f09, 0xcb1: 0x1199, 0xcb2: 0x0040, 0xcb3: 0x0f61, 0xcb4: 0x00d9, 0xcb5: 0x20a9, + 0xcb6: 0x20c1, 0xcb7: 0x20d9, 0xcb8: 0x20f1, 0xcb9: 0x0f41, 0xcba: 0x0018, 0xcbb: 0x08cd, + 0xcbc: 0x2109, 0xcbd: 0x10b1, 0xcbe: 0x10b1, 0xcbf: 0x2109, + // Block 0x33, offset 0xcc0 + 0xcc0: 0x08ed, 0xcc1: 0x0018, 0xcc2: 0x0018, 0xcc3: 0x0018, 0xcc4: 0x0018, 0xcc5: 0x0ef9, + 0xcc6: 0x0ef9, 0xcc7: 0x0f09, 0xcc8: 0x0f41, 0xcc9: 0x0259, 0xcca: 0x0018, 0xccb: 0x0018, + 0xccc: 0x0018, 0xccd: 0x0018, 0xcce: 0x0008, 0xccf: 0x0018, 0xcd0: 0x2121, 0xcd1: 0x2151, + 0xcd2: 0x2181, 0xcd3: 0x21b9, 0xcd4: 0x21e9, 0xcd5: 0x2219, 0xcd6: 0x2249, 0xcd7: 0x2279, + 0xcd8: 0x22a9, 0xcd9: 0x22d9, 0xcda: 0x2309, 0xcdb: 0x2339, 0xcdc: 0x2369, 0xcdd: 0x2399, + 0xcde: 0x23c9, 0xcdf: 0x23f9, 0xce0: 0x0f41, 0xce1: 0x2421, 0xce2: 0x0905, 0xce3: 0x2439, + 0xce4: 0x1089, 0xce5: 0x2451, 0xce6: 0x0925, 0xce7: 0x2469, 0xce8: 0x2491, 0xce9: 0x0369, + 0xcea: 0x24a9, 0xceb: 0x0945, 0xcec: 0x0359, 0xced: 0x1159, 0xcee: 0x0ef9, 0xcef: 0x0f61, + 0xcf0: 0x0f41, 0xcf1: 0x2421, 0xcf2: 0x0965, 0xcf3: 0x2439, 0xcf4: 0x1089, 0xcf5: 0x2451, + 0xcf6: 0x0985, 0xcf7: 0x2469, 0xcf8: 0x2491, 0xcf9: 0x0369, 0xcfa: 0x24a9, 0xcfb: 0x09a5, + 0xcfc: 0x0359, 0xcfd: 0x1159, 0xcfe: 0x0ef9, 0xcff: 0x0f61, + // Block 0x34, offset 0xd00 + 0xd00: 0x0018, 0xd01: 0x0018, 0xd02: 0x0018, 0xd03: 0x0018, 0xd04: 0x0018, 0xd05: 0x0018, + 0xd06: 0x0018, 0xd07: 0x0018, 0xd08: 0x0018, 0xd09: 0x0018, 0xd0a: 0x0018, 0xd0b: 0x0040, + 0xd0c: 0x0040, 0xd0d: 0x0040, 0xd0e: 0x0040, 0xd0f: 0x0040, 0xd10: 0x0040, 0xd11: 0x0040, + 0xd12: 0x0040, 0xd13: 0x0040, 0xd14: 0x0040, 0xd15: 0x0040, 0xd16: 0x0040, 0xd17: 0x0040, + 0xd18: 0x0040, 0xd19: 0x0040, 0xd1a: 0x0040, 0xd1b: 0x0040, 0xd1c: 0x0040, 0xd1d: 0x0040, + 0xd1e: 0x0040, 0xd1f: 0x0040, 0xd20: 0x00c9, 0xd21: 0x0069, 0xd22: 0x0079, 0xd23: 0x1f51, + 0xd24: 0x1f61, 0xd25: 0x1f71, 0xd26: 0x1f81, 0xd27: 0x1f91, 0xd28: 0x1fa1, 0xd29: 0x2601, + 0xd2a: 0x2619, 0xd2b: 0x2631, 0xd2c: 0x2649, 0xd2d: 0x2661, 0xd2e: 0x2679, 0xd2f: 0x2691, + 0xd30: 0x26a9, 0xd31: 0x26c1, 0xd32: 0x26d9, 0xd33: 0x26f1, 0xd34: 0x0a06, 0xd35: 0x0a26, + 0xd36: 0x0a46, 0xd37: 0x0a66, 0xd38: 0x0a86, 0xd39: 0x0aa6, 0xd3a: 0x0ac6, 0xd3b: 0x0ae6, + 0xd3c: 0x0b06, 0xd3d: 0x270a, 0xd3e: 0x2732, 0xd3f: 0x275a, + // Block 0x35, offset 0xd40 + 0xd40: 0x2782, 0xd41: 0x27aa, 0xd42: 0x27d2, 0xd43: 0x27fa, 0xd44: 0x2822, 0xd45: 0x284a, + 0xd46: 0x2872, 0xd47: 0x289a, 0xd48: 0x0040, 0xd49: 0x0040, 0xd4a: 0x0040, 0xd4b: 0x0040, + 0xd4c: 0x0040, 0xd4d: 0x0040, 0xd4e: 0x0040, 0xd4f: 0x0040, 0xd50: 0x0040, 0xd51: 0x0040, + 0xd52: 0x0040, 0xd53: 0x0040, 0xd54: 0x0040, 0xd55: 0x0040, 0xd56: 0x0040, 0xd57: 0x0040, + 0xd58: 0x0040, 0xd59: 0x0040, 0xd5a: 0x0040, 0xd5b: 0x0040, 0xd5c: 0x0b26, 0xd5d: 0x0b46, + 0xd5e: 0x0b66, 0xd5f: 0x0b86, 0xd60: 0x0ba6, 0xd61: 0x0bc6, 0xd62: 0x0be6, 0xd63: 0x0c06, + 0xd64: 0x0c26, 0xd65: 0x0c46, 0xd66: 0x0c66, 0xd67: 0x0c86, 0xd68: 0x0ca6, 0xd69: 0x0cc6, + 0xd6a: 0x0ce6, 0xd6b: 0x0d06, 0xd6c: 0x0d26, 0xd6d: 0x0d46, 0xd6e: 0x0d66, 0xd6f: 0x0d86, + 0xd70: 0x0da6, 0xd71: 0x0dc6, 0xd72: 0x0de6, 0xd73: 0x0e06, 0xd74: 0x0e26, 0xd75: 0x0e46, + 0xd76: 0x0039, 0xd77: 0x0ee9, 0xd78: 0x1159, 0xd79: 0x0ef9, 0xd7a: 0x0f09, 0xd7b: 0x1199, + 0xd7c: 0x0f31, 0xd7d: 0x0249, 0xd7e: 0x0f41, 0xd7f: 0x0259, + // Block 0x36, offset 0xd80 + 0xd80: 0x0f51, 0xd81: 0x0359, 0xd82: 0x0f61, 0xd83: 0x0f71, 0xd84: 0x00d9, 0xd85: 0x0f99, + 0xd86: 0x2039, 0xd87: 0x0269, 0xd88: 0x01d9, 0xd89: 0x0fa9, 0xd8a: 0x0fb9, 0xd8b: 0x1089, + 0xd8c: 0x0279, 0xd8d: 0x0369, 0xd8e: 0x0289, 0xd8f: 0x13d1, 0xd90: 0x0039, 0xd91: 0x0ee9, + 0xd92: 0x1159, 0xd93: 0x0ef9, 0xd94: 0x0f09, 0xd95: 0x1199, 0xd96: 0x0f31, 0xd97: 0x0249, + 0xd98: 0x0f41, 0xd99: 0x0259, 0xd9a: 0x0f51, 0xd9b: 0x0359, 0xd9c: 0x0f61, 0xd9d: 0x0f71, + 0xd9e: 0x00d9, 0xd9f: 0x0f99, 0xda0: 0x2039, 0xda1: 0x0269, 0xda2: 0x01d9, 0xda3: 0x0fa9, + 0xda4: 0x0fb9, 0xda5: 0x1089, 0xda6: 0x0279, 0xda7: 0x0369, 0xda8: 0x0289, 0xda9: 0x13d1, + 0xdaa: 0x1f41, 0xdab: 0x0018, 0xdac: 0x0018, 0xdad: 0x0018, 0xdae: 0x0018, 0xdaf: 0x0018, + 0xdb0: 0x0018, 0xdb1: 0x0018, 0xdb2: 0x0018, 0xdb3: 0x0018, 0xdb4: 0x0018, 0xdb5: 0x0018, + 0xdb6: 0x0018, 0xdb7: 0x0018, 0xdb8: 0x0018, 0xdb9: 0x0018, 0xdba: 0x0018, 0xdbb: 0x0018, + 0xdbc: 0x0018, 0xdbd: 0x0018, 0xdbe: 0x0018, 0xdbf: 0x0018, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x0008, 0xdc1: 0x0008, 0xdc2: 0x0008, 0xdc3: 0x0008, 0xdc4: 0x0008, 0xdc5: 0x0008, + 0xdc6: 0x0008, 0xdc7: 0x0008, 0xdc8: 0x0008, 0xdc9: 0x0008, 0xdca: 0x0008, 0xdcb: 0x0008, + 0xdcc: 0x0008, 0xdcd: 0x0008, 0xdce: 0x0008, 0xdcf: 0x0008, 0xdd0: 0x0008, 0xdd1: 0x0008, + 0xdd2: 0x0008, 0xdd3: 0x0008, 0xdd4: 0x0008, 0xdd5: 0x0008, 0xdd6: 0x0008, 0xdd7: 0x0008, + 0xdd8: 0x0008, 0xdd9: 0x0008, 0xdda: 0x0008, 0xddb: 0x0008, 0xddc: 0x0008, 0xddd: 0x0008, + 0xdde: 0x0008, 0xddf: 0x0040, 0xde0: 0xe00d, 0xde1: 0x0008, 0xde2: 0x2971, 0xde3: 0x0ebd, + 0xde4: 0x2989, 0xde5: 0x0008, 0xde6: 0x0008, 0xde7: 0xe07d, 0xde8: 0x0008, 0xde9: 0xe01d, + 0xdea: 0x0008, 0xdeb: 0xe03d, 0xdec: 0x0008, 0xded: 0x0fe1, 0xdee: 0x1281, 0xdef: 0x0fc9, + 0xdf0: 0x1141, 0xdf1: 0x0008, 0xdf2: 0xe00d, 0xdf3: 0x0008, 0xdf4: 0x0008, 0xdf5: 0xe01d, + 0xdf6: 0x0008, 0xdf7: 0x0008, 0xdf8: 0x0008, 0xdf9: 0x0008, 0xdfa: 0x0008, 0xdfb: 0x0008, + 0xdfc: 0x0259, 0xdfd: 0x1089, 0xdfe: 0x29a1, 0xdff: 0x29b9, + // Block 0x38, offset 0xe00 + 0xe00: 0xe00d, 0xe01: 0x0008, 0xe02: 0xe00d, 0xe03: 0x0008, 0xe04: 0xe00d, 0xe05: 0x0008, + 0xe06: 0xe00d, 0xe07: 0x0008, 0xe08: 0xe00d, 0xe09: 0x0008, 0xe0a: 0xe00d, 0xe0b: 0x0008, + 0xe0c: 0xe00d, 0xe0d: 0x0008, 0xe0e: 0xe00d, 0xe0f: 0x0008, 0xe10: 0xe00d, 0xe11: 0x0008, + 0xe12: 0xe00d, 0xe13: 0x0008, 0xe14: 0xe00d, 0xe15: 0x0008, 0xe16: 0xe00d, 0xe17: 0x0008, + 0xe18: 0xe00d, 0xe19: 0x0008, 0xe1a: 0xe00d, 0xe1b: 0x0008, 0xe1c: 0xe00d, 0xe1d: 0x0008, + 0xe1e: 0xe00d, 0xe1f: 0x0008, 0xe20: 0xe00d, 0xe21: 0x0008, 0xe22: 0xe00d, 0xe23: 0x0008, + 0xe24: 0x0008, 0xe25: 0x0018, 0xe26: 0x0018, 0xe27: 0x0018, 0xe28: 0x0018, 0xe29: 0x0018, + 0xe2a: 0x0018, 0xe2b: 0xe03d, 0xe2c: 0x0008, 0xe2d: 0xe01d, 0xe2e: 0x0008, 0xe2f: 0x3308, + 0xe30: 0x3308, 0xe31: 0x3308, 0xe32: 0xe00d, 0xe33: 0x0008, 0xe34: 0x0040, 0xe35: 0x0040, + 0xe36: 0x0040, 0xe37: 0x0040, 0xe38: 0x0040, 0xe39: 0x0018, 0xe3a: 0x0018, 0xe3b: 0x0018, + 0xe3c: 0x0018, 0xe3d: 0x0018, 0xe3e: 0x0018, 0xe3f: 0x0018, + // Block 0x39, offset 0xe40 + 0xe40: 0x26fd, 0xe41: 0x271d, 0xe42: 0x273d, 0xe43: 0x275d, 0xe44: 0x277d, 0xe45: 0x279d, + 0xe46: 0x27bd, 0xe47: 0x27dd, 0xe48: 0x27fd, 0xe49: 0x281d, 0xe4a: 0x283d, 0xe4b: 0x285d, + 0xe4c: 0x287d, 0xe4d: 0x289d, 0xe4e: 0x28bd, 0xe4f: 0x28dd, 0xe50: 0x28fd, 0xe51: 0x291d, + 0xe52: 0x293d, 0xe53: 0x295d, 0xe54: 0x297d, 0xe55: 0x299d, 0xe56: 0x0040, 0xe57: 0x0040, + 0xe58: 0x0040, 0xe59: 0x0040, 0xe5a: 0x0040, 0xe5b: 0x0040, 0xe5c: 0x0040, 0xe5d: 0x0040, + 0xe5e: 0x0040, 0xe5f: 0x0040, 0xe60: 0x0040, 0xe61: 0x0040, 0xe62: 0x0040, 0xe63: 0x0040, + 0xe64: 0x0040, 0xe65: 0x0040, 0xe66: 0x0040, 0xe67: 0x0040, 0xe68: 0x0040, 0xe69: 0x0040, + 0xe6a: 0x0040, 0xe6b: 0x0040, 0xe6c: 0x0040, 0xe6d: 0x0040, 0xe6e: 0x0040, 0xe6f: 0x0040, + 0xe70: 0x0040, 0xe71: 0x0040, 0xe72: 0x0040, 0xe73: 0x0040, 0xe74: 0x0040, 0xe75: 0x0040, + 0xe76: 0x0040, 0xe77: 0x0040, 0xe78: 0x0040, 0xe79: 0x0040, 0xe7a: 0x0040, 0xe7b: 0x0040, + 0xe7c: 0x0040, 0xe7d: 0x0040, 0xe7e: 0x0040, 0xe7f: 0x0040, + // Block 0x3a, offset 0xe80 + 0xe80: 0x000a, 0xe81: 0x0018, 0xe82: 0x29d1, 0xe83: 0x0018, 0xe84: 0x0018, 0xe85: 0x0008, + 0xe86: 0x0008, 0xe87: 0x0008, 0xe88: 0x0018, 0xe89: 0x0018, 0xe8a: 0x0018, 0xe8b: 0x0018, + 0xe8c: 0x0018, 0xe8d: 0x0018, 0xe8e: 0x0018, 0xe8f: 0x0018, 0xe90: 0x0018, 0xe91: 0x0018, + 0xe92: 0x0018, 0xe93: 0x0018, 0xe94: 0x0018, 0xe95: 0x0018, 0xe96: 0x0018, 0xe97: 0x0018, + 0xe98: 0x0018, 0xe99: 0x0018, 0xe9a: 0x0018, 0xe9b: 0x0018, 0xe9c: 0x0018, 0xe9d: 0x0018, + 0xe9e: 0x0018, 0xe9f: 0x0018, 0xea0: 0x0018, 0xea1: 0x0018, 0xea2: 0x0018, 0xea3: 0x0018, + 0xea4: 0x0018, 0xea5: 0x0018, 0xea6: 0x0018, 0xea7: 0x0018, 0xea8: 0x0018, 0xea9: 0x0018, + 0xeaa: 0x3308, 0xeab: 0x3308, 0xeac: 0x3308, 0xead: 0x3308, 0xeae: 0x3018, 0xeaf: 0x3018, + 0xeb0: 0x0018, 0xeb1: 0x0018, 0xeb2: 0x0018, 0xeb3: 0x0018, 0xeb4: 0x0018, 0xeb5: 0x0018, + 0xeb6: 0xe125, 0xeb7: 0x0018, 0xeb8: 0x29bd, 0xeb9: 0x29dd, 0xeba: 0x29fd, 0xebb: 0x0018, + 0xebc: 0x0008, 0xebd: 0x0018, 0xebe: 0x0018, 0xebf: 0x0018, + // Block 0x3b, offset 0xec0 + 0xec0: 0x2b3d, 0xec1: 0x2b5d, 0xec2: 0x2b7d, 0xec3: 0x2b9d, 0xec4: 0x2bbd, 0xec5: 0x2bdd, + 0xec6: 0x2bdd, 0xec7: 0x2bdd, 0xec8: 0x2bfd, 0xec9: 0x2bfd, 0xeca: 0x2bfd, 0xecb: 0x2bfd, + 0xecc: 0x2c1d, 0xecd: 0x2c1d, 0xece: 0x2c1d, 0xecf: 0x2c3d, 0xed0: 0x2c5d, 0xed1: 0x2c5d, + 0xed2: 0x2a7d, 0xed3: 0x2a7d, 0xed4: 0x2c5d, 0xed5: 0x2c5d, 0xed6: 0x2c7d, 0xed7: 0x2c7d, + 0xed8: 0x2c5d, 0xed9: 0x2c5d, 0xeda: 0x2a7d, 0xedb: 0x2a7d, 0xedc: 0x2c5d, 0xedd: 0x2c5d, + 0xede: 0x2c3d, 0xedf: 0x2c3d, 0xee0: 0x2c9d, 0xee1: 0x2c9d, 0xee2: 0x2cbd, 0xee3: 0x2cbd, + 0xee4: 0x0040, 0xee5: 0x2cdd, 0xee6: 0x2cfd, 0xee7: 0x2d1d, 0xee8: 0x2d1d, 0xee9: 0x2d3d, + 0xeea: 0x2d5d, 0xeeb: 0x2d7d, 0xeec: 0x2d9d, 0xeed: 0x2dbd, 0xeee: 0x2ddd, 0xeef: 0x2dfd, + 0xef0: 0x2e1d, 0xef1: 0x2e3d, 0xef2: 0x2e3d, 0xef3: 0x2e5d, 0xef4: 0x2e7d, 0xef5: 0x2e7d, + 0xef6: 0x2e9d, 0xef7: 0x2ebd, 0xef8: 0x2e5d, 0xef9: 0x2edd, 0xefa: 0x2efd, 0xefb: 0x2edd, + 0xefc: 0x2e5d, 0xefd: 0x2f1d, 0xefe: 0x2f3d, 0xeff: 0x2f5d, + // Block 0x3c, offset 0xf00 + 0xf00: 0x2f7d, 0xf01: 0x2f9d, 0xf02: 0x2cfd, 0xf03: 0x2cdd, 0xf04: 0x2fbd, 0xf05: 0x2fdd, + 0xf06: 0x2ffd, 0xf07: 0x301d, 0xf08: 0x303d, 0xf09: 0x305d, 0xf0a: 0x307d, 0xf0b: 0x309d, + 0xf0c: 0x30bd, 0xf0d: 0x30dd, 0xf0e: 0x30fd, 0xf0f: 0x0040, 0xf10: 0x0018, 0xf11: 0x0018, + 0xf12: 0x311d, 0xf13: 0x313d, 0xf14: 0x315d, 0xf15: 0x317d, 0xf16: 0x319d, 0xf17: 0x31bd, + 0xf18: 0x31dd, 0xf19: 0x31fd, 0xf1a: 0x321d, 0xf1b: 0x323d, 0xf1c: 0x315d, 0xf1d: 0x325d, + 0xf1e: 0x327d, 0xf1f: 0x329d, 0xf20: 0x0008, 0xf21: 0x0008, 0xf22: 0x0008, 0xf23: 0x0008, + 0xf24: 0x0008, 0xf25: 0x0008, 0xf26: 0x0008, 0xf27: 0x0008, 0xf28: 0x0008, 0xf29: 0x0008, + 0xf2a: 0x0008, 0xf2b: 0x0008, 0xf2c: 0x0008, 0xf2d: 0x0008, 0xf2e: 0x0008, 0xf2f: 0x0008, + 0xf30: 0x0008, 0xf31: 0x0008, 0xf32: 0x0008, 0xf33: 0x0008, 0xf34: 0x0008, 0xf35: 0x0008, + 0xf36: 0x0008, 0xf37: 0x0008, 0xf38: 0x0008, 0xf39: 0x0008, 0xf3a: 0x0008, 0xf3b: 0x0040, + 0xf3c: 0x0040, 0xf3d: 0x0040, 0xf3e: 0x0040, 0xf3f: 0x0040, + // Block 0x3d, offset 0xf40 + 0xf40: 0x36a2, 0xf41: 0x36d2, 0xf42: 0x3702, 0xf43: 0x3732, 0xf44: 0x32bd, 0xf45: 0x32dd, + 0xf46: 0x32fd, 0xf47: 0x331d, 0xf48: 0x0018, 0xf49: 0x0018, 0xf4a: 0x0018, 0xf4b: 0x0018, + 0xf4c: 0x0018, 0xf4d: 0x0018, 0xf4e: 0x0018, 0xf4f: 0x0018, 0xf50: 0x333d, 0xf51: 0x3761, + 0xf52: 0x3779, 0xf53: 0x3791, 0xf54: 0x37a9, 0xf55: 0x37c1, 0xf56: 0x37d9, 0xf57: 0x37f1, + 0xf58: 0x3809, 0xf59: 0x3821, 0xf5a: 0x3839, 0xf5b: 0x3851, 0xf5c: 0x3869, 0xf5d: 0x3881, + 0xf5e: 0x3899, 0xf5f: 0x38b1, 0xf60: 0x335d, 0xf61: 0x337d, 0xf62: 0x339d, 0xf63: 0x33bd, + 0xf64: 0x33dd, 0xf65: 0x33dd, 0xf66: 0x33fd, 0xf67: 0x341d, 0xf68: 0x343d, 0xf69: 0x345d, + 0xf6a: 0x347d, 0xf6b: 0x349d, 0xf6c: 0x34bd, 0xf6d: 0x34dd, 0xf6e: 0x34fd, 0xf6f: 0x351d, + 0xf70: 0x353d, 0xf71: 0x355d, 0xf72: 0x357d, 0xf73: 0x359d, 0xf74: 0x35bd, 0xf75: 0x35dd, + 0xf76: 0x35fd, 0xf77: 0x361d, 0xf78: 0x363d, 0xf79: 0x365d, 0xf7a: 0x367d, 0xf7b: 0x369d, + 0xf7c: 0x38c9, 0xf7d: 0x3901, 0xf7e: 0x36bd, 0xf7f: 0x0018, + // Block 0x3e, offset 0xf80 + 0xf80: 0x36dd, 0xf81: 0x36fd, 0xf82: 0x371d, 0xf83: 0x373d, 0xf84: 0x375d, 0xf85: 0x377d, + 0xf86: 0x379d, 0xf87: 0x37bd, 0xf88: 0x37dd, 0xf89: 0x37fd, 0xf8a: 0x381d, 0xf8b: 0x383d, + 0xf8c: 0x385d, 0xf8d: 0x387d, 0xf8e: 0x389d, 0xf8f: 0x38bd, 0xf90: 0x38dd, 0xf91: 0x38fd, + 0xf92: 0x391d, 0xf93: 0x393d, 0xf94: 0x395d, 0xf95: 0x397d, 0xf96: 0x399d, 0xf97: 0x39bd, + 0xf98: 0x39dd, 0xf99: 0x39fd, 0xf9a: 0x3a1d, 0xf9b: 0x3a3d, 0xf9c: 0x3a5d, 0xf9d: 0x3a7d, + 0xf9e: 0x3a9d, 0xf9f: 0x3abd, 0xfa0: 0x3add, 0xfa1: 0x3afd, 0xfa2: 0x3b1d, 0xfa3: 0x3b3d, + 0xfa4: 0x3b5d, 0xfa5: 0x3b7d, 0xfa6: 0x127d, 0xfa7: 0x3b9d, 0xfa8: 0x3bbd, 0xfa9: 0x3bdd, + 0xfaa: 0x3bfd, 0xfab: 0x3c1d, 0xfac: 0x3c3d, 0xfad: 0x3c5d, 0xfae: 0x239d, 0xfaf: 0x3c7d, + 0xfb0: 0x3c9d, 0xfb1: 0x3939, 0xfb2: 0x3951, 0xfb3: 0x3969, 0xfb4: 0x3981, 0xfb5: 0x3999, + 0xfb6: 0x39b1, 0xfb7: 0x39c9, 0xfb8: 0x39e1, 0xfb9: 0x39f9, 0xfba: 0x3a11, 0xfbb: 0x3a29, + 0xfbc: 0x3a41, 0xfbd: 0x3a59, 0xfbe: 0x3a71, 0xfbf: 0x3a89, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x3aa1, 0xfc1: 0x3ac9, 0xfc2: 0x3af1, 0xfc3: 0x3b19, 0xfc4: 0x3b41, 0xfc5: 0x3b69, + 0xfc6: 0x3b91, 0xfc7: 0x3bb9, 0xfc8: 0x3be1, 0xfc9: 0x3c09, 0xfca: 0x3c39, 0xfcb: 0x3c69, + 0xfcc: 0x3c99, 0xfcd: 0x3cbd, 0xfce: 0x3cb1, 0xfcf: 0x3cdd, 0xfd0: 0x3cfd, 0xfd1: 0x3d15, + 0xfd2: 0x3d2d, 0xfd3: 0x3d45, 0xfd4: 0x3d5d, 0xfd5: 0x3d5d, 0xfd6: 0x3d45, 0xfd7: 0x3d75, + 0xfd8: 0x07bd, 0xfd9: 0x3d8d, 0xfda: 0x3da5, 0xfdb: 0x3dbd, 0xfdc: 0x3dd5, 0xfdd: 0x3ded, + 0xfde: 0x3e05, 0xfdf: 0x3e1d, 0xfe0: 0x3e35, 0xfe1: 0x3e4d, 0xfe2: 0x3e65, 0xfe3: 0x3e7d, + 0xfe4: 0x3e95, 0xfe5: 0x3e95, 0xfe6: 0x3ead, 0xfe7: 0x3ead, 0xfe8: 0x3ec5, 0xfe9: 0x3ec5, + 0xfea: 0x3edd, 0xfeb: 0x3ef5, 0xfec: 0x3f0d, 0xfed: 0x3f25, 0xfee: 0x3f3d, 0xfef: 0x3f3d, + 0xff0: 0x3f55, 0xff1: 0x3f55, 0xff2: 0x3f55, 0xff3: 0x3f6d, 0xff4: 0x3f85, 0xff5: 0x3f9d, + 0xff6: 0x3fb5, 0xff7: 0x3f9d, 0xff8: 0x3fcd, 0xff9: 0x3fe5, 0xffa: 0x3f6d, 0xffb: 0x3ffd, + 0xffc: 0x4015, 0xffd: 0x4015, 0xffe: 0x4015, 0xfff: 0x0040, + // Block 0x40, offset 0x1000 + 0x1000: 0x3cc9, 0x1001: 0x3d31, 0x1002: 0x3d99, 0x1003: 0x3e01, 0x1004: 0x3e51, 0x1005: 0x3eb9, + 0x1006: 0x3f09, 0x1007: 0x3f59, 0x1008: 0x3fd9, 0x1009: 0x4041, 0x100a: 0x4091, 0x100b: 0x40e1, + 0x100c: 0x4131, 0x100d: 0x4199, 0x100e: 0x4201, 0x100f: 0x4251, 0x1010: 0x42a1, 0x1011: 0x42d9, + 0x1012: 0x4329, 0x1013: 0x4391, 0x1014: 0x43f9, 0x1015: 0x4431, 0x1016: 0x44b1, 0x1017: 0x4549, + 0x1018: 0x45c9, 0x1019: 0x4619, 0x101a: 0x4699, 0x101b: 0x4719, 0x101c: 0x4781, 0x101d: 0x47d1, + 0x101e: 0x4821, 0x101f: 0x4871, 0x1020: 0x48d9, 0x1021: 0x4959, 0x1022: 0x49c1, 0x1023: 0x4a11, + 0x1024: 0x4a61, 0x1025: 0x4ab1, 0x1026: 0x4ae9, 0x1027: 0x4b21, 0x1028: 0x4b59, 0x1029: 0x4b91, + 0x102a: 0x4be1, 0x102b: 0x4c31, 0x102c: 0x4cb1, 0x102d: 0x4d01, 0x102e: 0x4d69, 0x102f: 0x4de9, + 0x1030: 0x4e39, 0x1031: 0x4e71, 0x1032: 0x4ea9, 0x1033: 0x4f29, 0x1034: 0x4f91, 0x1035: 0x5011, + 0x1036: 0x5061, 0x1037: 0x50e1, 0x1038: 0x5119, 0x1039: 0x5169, 0x103a: 0x51b9, 0x103b: 0x5209, + 0x103c: 0x5259, 0x103d: 0x52a9, 0x103e: 0x5311, 0x103f: 0x5361, + // Block 0x41, offset 0x1040 + 0x1040: 0x5399, 0x1041: 0x53e9, 0x1042: 0x5439, 0x1043: 0x5489, 0x1044: 0x54f1, 0x1045: 0x5541, + 0x1046: 0x5591, 0x1047: 0x55e1, 0x1048: 0x5661, 0x1049: 0x56c9, 0x104a: 0x5701, 0x104b: 0x5781, + 0x104c: 0x57b9, 0x104d: 0x5821, 0x104e: 0x5889, 0x104f: 0x58d9, 0x1050: 0x5929, 0x1051: 0x5979, + 0x1052: 0x59e1, 0x1053: 0x5a19, 0x1054: 0x5a69, 0x1055: 0x5ad1, 0x1056: 0x5b09, 0x1057: 0x5b89, + 0x1058: 0x5bd9, 0x1059: 0x5c01, 0x105a: 0x5c29, 0x105b: 0x5c51, 0x105c: 0x5c79, 0x105d: 0x5ca1, + 0x105e: 0x5cc9, 0x105f: 0x5cf1, 0x1060: 0x5d19, 0x1061: 0x5d41, 0x1062: 0x5d69, 0x1063: 0x5d99, + 0x1064: 0x5dc9, 0x1065: 0x5df9, 0x1066: 0x5e29, 0x1067: 0x5e59, 0x1068: 0x5e89, 0x1069: 0x5eb9, + 0x106a: 0x5ee9, 0x106b: 0x5f19, 0x106c: 0x5f49, 0x106d: 0x5f79, 0x106e: 0x5fa9, 0x106f: 0x5fd9, + 0x1070: 0x6009, 0x1071: 0x402d, 0x1072: 0x6039, 0x1073: 0x6051, 0x1074: 0x404d, 0x1075: 0x6069, + 0x1076: 0x6081, 0x1077: 0x6099, 0x1078: 0x406d, 0x1079: 0x406d, 0x107a: 0x60b1, 0x107b: 0x60c9, + 0x107c: 0x6101, 0x107d: 0x6139, 0x107e: 0x6171, 0x107f: 0x61a9, + // Block 0x42, offset 0x1080 + 0x1080: 0x6211, 0x1081: 0x6229, 0x1082: 0x408d, 0x1083: 0x6241, 0x1084: 0x6259, 0x1085: 0x6271, + 0x1086: 0x6289, 0x1087: 0x62a1, 0x1088: 0x40ad, 0x1089: 0x62b9, 0x108a: 0x62e1, 0x108b: 0x62f9, + 0x108c: 0x40cd, 0x108d: 0x40cd, 0x108e: 0x6311, 0x108f: 0x6329, 0x1090: 0x6341, 0x1091: 0x40ed, + 0x1092: 0x410d, 0x1093: 0x412d, 0x1094: 0x414d, 0x1095: 0x416d, 0x1096: 0x6359, 0x1097: 0x6371, + 0x1098: 0x6389, 0x1099: 0x63a1, 0x109a: 0x63b9, 0x109b: 0x418d, 0x109c: 0x63d1, 0x109d: 0x63e9, + 0x109e: 0x6401, 0x109f: 0x41ad, 0x10a0: 0x41cd, 0x10a1: 0x6419, 0x10a2: 0x41ed, 0x10a3: 0x420d, + 0x10a4: 0x422d, 0x10a5: 0x6431, 0x10a6: 0x424d, 0x10a7: 0x6449, 0x10a8: 0x6479, 0x10a9: 0x6211, + 0x10aa: 0x426d, 0x10ab: 0x428d, 0x10ac: 0x42ad, 0x10ad: 0x42cd, 0x10ae: 0x64b1, 0x10af: 0x64f1, + 0x10b0: 0x6539, 0x10b1: 0x6551, 0x10b2: 0x42ed, 0x10b3: 0x6569, 0x10b4: 0x6581, 0x10b5: 0x6599, + 0x10b6: 0x430d, 0x10b7: 0x65b1, 0x10b8: 0x65c9, 0x10b9: 0x65b1, 0x10ba: 0x65e1, 0x10bb: 0x65f9, + 0x10bc: 0x432d, 0x10bd: 0x6611, 0x10be: 0x6629, 0x10bf: 0x6611, + // Block 0x43, offset 0x10c0 + 0x10c0: 0x434d, 0x10c1: 0x436d, 0x10c2: 0x0040, 0x10c3: 0x6641, 0x10c4: 0x6659, 0x10c5: 0x6671, + 0x10c6: 0x6689, 0x10c7: 0x0040, 0x10c8: 0x66c1, 0x10c9: 0x66d9, 0x10ca: 0x66f1, 0x10cb: 0x6709, + 0x10cc: 0x6721, 0x10cd: 0x6739, 0x10ce: 0x6401, 0x10cf: 0x6751, 0x10d0: 0x6769, 0x10d1: 0x6781, + 0x10d2: 0x438d, 0x10d3: 0x6799, 0x10d4: 0x6289, 0x10d5: 0x43ad, 0x10d6: 0x43cd, 0x10d7: 0x67b1, + 0x10d8: 0x0040, 0x10d9: 0x43ed, 0x10da: 0x67c9, 0x10db: 0x67e1, 0x10dc: 0x67f9, 0x10dd: 0x6811, + 0x10de: 0x6829, 0x10df: 0x6859, 0x10e0: 0x6889, 0x10e1: 0x68b1, 0x10e2: 0x68d9, 0x10e3: 0x6901, + 0x10e4: 0x6929, 0x10e5: 0x6951, 0x10e6: 0x6979, 0x10e7: 0x69a1, 0x10e8: 0x69c9, 0x10e9: 0x69f1, + 0x10ea: 0x6a21, 0x10eb: 0x6a51, 0x10ec: 0x6a81, 0x10ed: 0x6ab1, 0x10ee: 0x6ae1, 0x10ef: 0x6b11, + 0x10f0: 0x6b41, 0x10f1: 0x6b71, 0x10f2: 0x6ba1, 0x10f3: 0x6bd1, 0x10f4: 0x6c01, 0x10f5: 0x6c31, + 0x10f6: 0x6c61, 0x10f7: 0x6c91, 0x10f8: 0x6cc1, 0x10f9: 0x6cf1, 0x10fa: 0x6d21, 0x10fb: 0x6d51, + 0x10fc: 0x6d81, 0x10fd: 0x6db1, 0x10fe: 0x6de1, 0x10ff: 0x440d, + // Block 0x44, offset 0x1100 + 0x1100: 0xe00d, 0x1101: 0x0008, 0x1102: 0xe00d, 0x1103: 0x0008, 0x1104: 0xe00d, 0x1105: 0x0008, + 0x1106: 0xe00d, 0x1107: 0x0008, 0x1108: 0xe00d, 0x1109: 0x0008, 0x110a: 0xe00d, 0x110b: 0x0008, + 0x110c: 0xe00d, 0x110d: 0x0008, 0x110e: 0xe00d, 0x110f: 0x0008, 0x1110: 0xe00d, 0x1111: 0x0008, + 0x1112: 0xe00d, 0x1113: 0x0008, 0x1114: 0xe00d, 0x1115: 0x0008, 0x1116: 0xe00d, 0x1117: 0x0008, + 0x1118: 0xe00d, 0x1119: 0x0008, 0x111a: 0xe00d, 0x111b: 0x0008, 0x111c: 0xe00d, 0x111d: 0x0008, + 0x111e: 0xe00d, 0x111f: 0x0008, 0x1120: 0xe00d, 0x1121: 0x0008, 0x1122: 0xe00d, 0x1123: 0x0008, + 0x1124: 0xe00d, 0x1125: 0x0008, 0x1126: 0xe00d, 0x1127: 0x0008, 0x1128: 0xe00d, 0x1129: 0x0008, + 0x112a: 0xe00d, 0x112b: 0x0008, 0x112c: 0xe00d, 0x112d: 0x0008, 0x112e: 0x0008, 0x112f: 0x3308, + 0x1130: 0x3318, 0x1131: 0x3318, 0x1132: 0x3318, 0x1133: 0x0018, 0x1134: 0x3308, 0x1135: 0x3308, + 0x1136: 0x3308, 0x1137: 0x3308, 0x1138: 0x3308, 0x1139: 0x3308, 0x113a: 0x3308, 0x113b: 0x3308, + 0x113c: 0x3308, 0x113d: 0x3308, 0x113e: 0x0018, 0x113f: 0x0008, + // Block 0x45, offset 0x1140 + 0x1140: 0xe00d, 0x1141: 0x0008, 0x1142: 0xe00d, 0x1143: 0x0008, 0x1144: 0xe00d, 0x1145: 0x0008, + 0x1146: 0xe00d, 0x1147: 0x0008, 0x1148: 0xe00d, 0x1149: 0x0008, 0x114a: 0xe00d, 0x114b: 0x0008, + 0x114c: 0xe00d, 0x114d: 0x0008, 0x114e: 0xe00d, 0x114f: 0x0008, 0x1150: 0xe00d, 0x1151: 0x0008, + 0x1152: 0xe00d, 0x1153: 0x0008, 0x1154: 0xe00d, 0x1155: 0x0008, 0x1156: 0xe00d, 0x1157: 0x0008, + 0x1158: 0xe00d, 0x1159: 0x0008, 0x115a: 0xe00d, 0x115b: 0x0008, 0x115c: 0x0ea1, 0x115d: 0x6e11, + 0x115e: 0x3308, 0x115f: 0x3308, 0x1160: 0x0008, 0x1161: 0x0008, 0x1162: 0x0008, 0x1163: 0x0008, + 0x1164: 0x0008, 0x1165: 0x0008, 0x1166: 0x0008, 0x1167: 0x0008, 0x1168: 0x0008, 0x1169: 0x0008, + 0x116a: 0x0008, 0x116b: 0x0008, 0x116c: 0x0008, 0x116d: 0x0008, 0x116e: 0x0008, 0x116f: 0x0008, + 0x1170: 0x0008, 0x1171: 0x0008, 0x1172: 0x0008, 0x1173: 0x0008, 0x1174: 0x0008, 0x1175: 0x0008, + 0x1176: 0x0008, 0x1177: 0x0008, 0x1178: 0x0008, 0x1179: 0x0008, 0x117a: 0x0008, 0x117b: 0x0008, + 0x117c: 0x0008, 0x117d: 0x0008, 0x117e: 0x0008, 0x117f: 0x0008, + // Block 0x46, offset 0x1180 + 0x1180: 0x0018, 0x1181: 0x0018, 0x1182: 0x0018, 0x1183: 0x0018, 0x1184: 0x0018, 0x1185: 0x0018, + 0x1186: 0x0018, 0x1187: 0x0018, 0x1188: 0x0018, 0x1189: 0x0018, 0x118a: 0x0018, 0x118b: 0x0018, + 0x118c: 0x0018, 0x118d: 0x0018, 0x118e: 0x0018, 0x118f: 0x0018, 0x1190: 0x0018, 0x1191: 0x0018, + 0x1192: 0x0018, 0x1193: 0x0018, 0x1194: 0x0018, 0x1195: 0x0018, 0x1196: 0x0018, 0x1197: 0x0008, + 0x1198: 0x0008, 0x1199: 0x0008, 0x119a: 0x0008, 0x119b: 0x0008, 0x119c: 0x0008, 0x119d: 0x0008, + 0x119e: 0x0008, 0x119f: 0x0008, 0x11a0: 0x0018, 0x11a1: 0x0018, 0x11a2: 0xe00d, 0x11a3: 0x0008, + 0x11a4: 0xe00d, 0x11a5: 0x0008, 0x11a6: 0xe00d, 0x11a7: 0x0008, 0x11a8: 0xe00d, 0x11a9: 0x0008, + 0x11aa: 0xe00d, 0x11ab: 0x0008, 0x11ac: 0xe00d, 0x11ad: 0x0008, 0x11ae: 0xe00d, 0x11af: 0x0008, + 0x11b0: 0x0008, 0x11b1: 0x0008, 0x11b2: 0xe00d, 0x11b3: 0x0008, 0x11b4: 0xe00d, 0x11b5: 0x0008, + 0x11b6: 0xe00d, 0x11b7: 0x0008, 0x11b8: 0xe00d, 0x11b9: 0x0008, 0x11ba: 0xe00d, 0x11bb: 0x0008, + 0x11bc: 0xe00d, 0x11bd: 0x0008, 0x11be: 0xe00d, 0x11bf: 0x0008, + // Block 0x47, offset 0x11c0 + 0x11c0: 0xe00d, 0x11c1: 0x0008, 0x11c2: 0xe00d, 0x11c3: 0x0008, 0x11c4: 0xe00d, 0x11c5: 0x0008, + 0x11c6: 0xe00d, 0x11c7: 0x0008, 0x11c8: 0xe00d, 0x11c9: 0x0008, 0x11ca: 0xe00d, 0x11cb: 0x0008, + 0x11cc: 0xe00d, 0x11cd: 0x0008, 0x11ce: 0xe00d, 0x11cf: 0x0008, 0x11d0: 0xe00d, 0x11d1: 0x0008, + 0x11d2: 0xe00d, 0x11d3: 0x0008, 0x11d4: 0xe00d, 0x11d5: 0x0008, 0x11d6: 0xe00d, 0x11d7: 0x0008, + 0x11d8: 0xe00d, 0x11d9: 0x0008, 0x11da: 0xe00d, 0x11db: 0x0008, 0x11dc: 0xe00d, 0x11dd: 0x0008, + 0x11de: 0xe00d, 0x11df: 0x0008, 0x11e0: 0xe00d, 0x11e1: 0x0008, 0x11e2: 0xe00d, 0x11e3: 0x0008, + 0x11e4: 0xe00d, 0x11e5: 0x0008, 0x11e6: 0xe00d, 0x11e7: 0x0008, 0x11e8: 0xe00d, 0x11e9: 0x0008, + 0x11ea: 0xe00d, 0x11eb: 0x0008, 0x11ec: 0xe00d, 0x11ed: 0x0008, 0x11ee: 0xe00d, 0x11ef: 0x0008, + 0x11f0: 0xe0fd, 0x11f1: 0x0008, 0x11f2: 0x0008, 0x11f3: 0x0008, 0x11f4: 0x0008, 0x11f5: 0x0008, + 0x11f6: 0x0008, 0x11f7: 0x0008, 0x11f8: 0x0008, 0x11f9: 0xe01d, 0x11fa: 0x0008, 0x11fb: 0xe03d, + 0x11fc: 0x0008, 0x11fd: 0x442d, 0x11fe: 0xe00d, 0x11ff: 0x0008, + // Block 0x48, offset 0x1200 + 0x1200: 0xe00d, 0x1201: 0x0008, 0x1202: 0xe00d, 0x1203: 0x0008, 0x1204: 0xe00d, 0x1205: 0x0008, + 0x1206: 0xe00d, 0x1207: 0x0008, 0x1208: 0x0008, 0x1209: 0x0018, 0x120a: 0x0018, 0x120b: 0xe03d, + 0x120c: 0x0008, 0x120d: 0x11d9, 0x120e: 0x0008, 0x120f: 0x0008, 0x1210: 0xe00d, 0x1211: 0x0008, + 0x1212: 0xe00d, 0x1213: 0x0008, 0x1214: 0x0008, 0x1215: 0x0008, 0x1216: 0xe00d, 0x1217: 0x0008, + 0x1218: 0xe00d, 0x1219: 0x0008, 0x121a: 0xe00d, 0x121b: 0x0008, 0x121c: 0xe00d, 0x121d: 0x0008, + 0x121e: 0xe00d, 0x121f: 0x0008, 0x1220: 0xe00d, 0x1221: 0x0008, 0x1222: 0xe00d, 0x1223: 0x0008, + 0x1224: 0xe00d, 0x1225: 0x0008, 0x1226: 0xe00d, 0x1227: 0x0008, 0x1228: 0xe00d, 0x1229: 0x0008, + 0x122a: 0x6e29, 0x122b: 0x1029, 0x122c: 0x11c1, 0x122d: 0x6e41, 0x122e: 0x1221, 0x122f: 0x0008, + 0x1230: 0x6e59, 0x1231: 0x6e71, 0x1232: 0x1239, 0x1233: 0x444d, 0x1234: 0xe00d, 0x1235: 0x0008, + 0x1236: 0xe00d, 0x1237: 0x0008, 0x1238: 0x0040, 0x1239: 0x0008, 0x123a: 0x0040, 0x123b: 0x0040, + 0x123c: 0x0040, 0x123d: 0x0040, 0x123e: 0x0040, 0x123f: 0x0040, + // Block 0x49, offset 0x1240 + 0x1240: 0x64d5, 0x1241: 0x64f5, 0x1242: 0x6515, 0x1243: 0x6535, 0x1244: 0x6555, 0x1245: 0x6575, + 0x1246: 0x6595, 0x1247: 0x65b5, 0x1248: 0x65d5, 0x1249: 0x65f5, 0x124a: 0x6615, 0x124b: 0x6635, + 0x124c: 0x6655, 0x124d: 0x6675, 0x124e: 0x0008, 0x124f: 0x0008, 0x1250: 0x6695, 0x1251: 0x0008, + 0x1252: 0x66b5, 0x1253: 0x0008, 0x1254: 0x0008, 0x1255: 0x66d5, 0x1256: 0x66f5, 0x1257: 0x6715, + 0x1258: 0x6735, 0x1259: 0x6755, 0x125a: 0x6775, 0x125b: 0x6795, 0x125c: 0x67b5, 0x125d: 0x67d5, + 0x125e: 0x67f5, 0x125f: 0x0008, 0x1260: 0x6815, 0x1261: 0x0008, 0x1262: 0x6835, 0x1263: 0x0008, + 0x1264: 0x0008, 0x1265: 0x6855, 0x1266: 0x6875, 0x1267: 0x0008, 0x1268: 0x0008, 0x1269: 0x0008, + 0x126a: 0x6895, 0x126b: 0x68b5, 0x126c: 0x68d5, 0x126d: 0x68f5, 0x126e: 0x6915, 0x126f: 0x6935, + 0x1270: 0x6955, 0x1271: 0x6975, 0x1272: 0x6995, 0x1273: 0x69b5, 0x1274: 0x69d5, 0x1275: 0x69f5, + 0x1276: 0x6a15, 0x1277: 0x6a35, 0x1278: 0x6a55, 0x1279: 0x6a75, 0x127a: 0x6a95, 0x127b: 0x6ab5, + 0x127c: 0x6ad5, 0x127d: 0x6af5, 0x127e: 0x6b15, 0x127f: 0x6b35, + // Block 0x4a, offset 0x1280 + 0x1280: 0x7a95, 0x1281: 0x7ab5, 0x1282: 0x7ad5, 0x1283: 0x7af5, 0x1284: 0x7b15, 0x1285: 0x7b35, + 0x1286: 0x7b55, 0x1287: 0x7b75, 0x1288: 0x7b95, 0x1289: 0x7bb5, 0x128a: 0x7bd5, 0x128b: 0x7bf5, + 0x128c: 0x7c15, 0x128d: 0x7c35, 0x128e: 0x7c55, 0x128f: 0x6ec9, 0x1290: 0x6ef1, 0x1291: 0x6f19, + 0x1292: 0x7c75, 0x1293: 0x7c95, 0x1294: 0x7cb5, 0x1295: 0x6f41, 0x1296: 0x6f69, 0x1297: 0x6f91, + 0x1298: 0x7cd5, 0x1299: 0x7cf5, 0x129a: 0x0040, 0x129b: 0x0040, 0x129c: 0x0040, 0x129d: 0x0040, + 0x129e: 0x0040, 0x129f: 0x0040, 0x12a0: 0x0040, 0x12a1: 0x0040, 0x12a2: 0x0040, 0x12a3: 0x0040, + 0x12a4: 0x0040, 0x12a5: 0x0040, 0x12a6: 0x0040, 0x12a7: 0x0040, 0x12a8: 0x0040, 0x12a9: 0x0040, + 0x12aa: 0x0040, 0x12ab: 0x0040, 0x12ac: 0x0040, 0x12ad: 0x0040, 0x12ae: 0x0040, 0x12af: 0x0040, + 0x12b0: 0x0040, 0x12b1: 0x0040, 0x12b2: 0x0040, 0x12b3: 0x0040, 0x12b4: 0x0040, 0x12b5: 0x0040, + 0x12b6: 0x0040, 0x12b7: 0x0040, 0x12b8: 0x0040, 0x12b9: 0x0040, 0x12ba: 0x0040, 0x12bb: 0x0040, + 0x12bc: 0x0040, 0x12bd: 0x0040, 0x12be: 0x0040, 0x12bf: 0x0040, + // Block 0x4b, offset 0x12c0 + 0x12c0: 0x6fb9, 0x12c1: 0x6fd1, 0x12c2: 0x6fe9, 0x12c3: 0x7d15, 0x12c4: 0x7d35, 0x12c5: 0x7001, + 0x12c6: 0x7001, 0x12c7: 0x0040, 0x12c8: 0x0040, 0x12c9: 0x0040, 0x12ca: 0x0040, 0x12cb: 0x0040, + 0x12cc: 0x0040, 0x12cd: 0x0040, 0x12ce: 0x0040, 0x12cf: 0x0040, 0x12d0: 0x0040, 0x12d1: 0x0040, + 0x12d2: 0x0040, 0x12d3: 0x7019, 0x12d4: 0x7041, 0x12d5: 0x7069, 0x12d6: 0x7091, 0x12d7: 0x70b9, + 0x12d8: 0x0040, 0x12d9: 0x0040, 0x12da: 0x0040, 0x12db: 0x0040, 0x12dc: 0x0040, 0x12dd: 0x70e1, + 0x12de: 0x3308, 0x12df: 0x7109, 0x12e0: 0x7131, 0x12e1: 0x20a9, 0x12e2: 0x20f1, 0x12e3: 0x7149, + 0x12e4: 0x7161, 0x12e5: 0x7179, 0x12e6: 0x7191, 0x12e7: 0x71a9, 0x12e8: 0x71c1, 0x12e9: 0x1fb2, + 0x12ea: 0x71d9, 0x12eb: 0x7201, 0x12ec: 0x7229, 0x12ed: 0x7261, 0x12ee: 0x7299, 0x12ef: 0x72c1, + 0x12f0: 0x72e9, 0x12f1: 0x7311, 0x12f2: 0x7339, 0x12f3: 0x7361, 0x12f4: 0x7389, 0x12f5: 0x73b1, + 0x12f6: 0x73d9, 0x12f7: 0x0040, 0x12f8: 0x7401, 0x12f9: 0x7429, 0x12fa: 0x7451, 0x12fb: 0x7479, + 0x12fc: 0x74a1, 0x12fd: 0x0040, 0x12fe: 0x74c9, 0x12ff: 0x0040, + // Block 0x4c, offset 0x1300 + 0x1300: 0x74f1, 0x1301: 0x7519, 0x1302: 0x0040, 0x1303: 0x7541, 0x1304: 0x7569, 0x1305: 0x0040, + 0x1306: 0x7591, 0x1307: 0x75b9, 0x1308: 0x75e1, 0x1309: 0x7609, 0x130a: 0x7631, 0x130b: 0x7659, + 0x130c: 0x7681, 0x130d: 0x76a9, 0x130e: 0x76d1, 0x130f: 0x76f9, 0x1310: 0x7721, 0x1311: 0x7721, + 0x1312: 0x7739, 0x1313: 0x7739, 0x1314: 0x7739, 0x1315: 0x7739, 0x1316: 0x7751, 0x1317: 0x7751, + 0x1318: 0x7751, 0x1319: 0x7751, 0x131a: 0x7769, 0x131b: 0x7769, 0x131c: 0x7769, 0x131d: 0x7769, + 0x131e: 0x7781, 0x131f: 0x7781, 0x1320: 0x7781, 0x1321: 0x7781, 0x1322: 0x7799, 0x1323: 0x7799, + 0x1324: 0x7799, 0x1325: 0x7799, 0x1326: 0x77b1, 0x1327: 0x77b1, 0x1328: 0x77b1, 0x1329: 0x77b1, + 0x132a: 0x77c9, 0x132b: 0x77c9, 0x132c: 0x77c9, 0x132d: 0x77c9, 0x132e: 0x77e1, 0x132f: 0x77e1, + 0x1330: 0x77e1, 0x1331: 0x77e1, 0x1332: 0x77f9, 0x1333: 0x77f9, 0x1334: 0x77f9, 0x1335: 0x77f9, + 0x1336: 0x7811, 0x1337: 0x7811, 0x1338: 0x7811, 0x1339: 0x7811, 0x133a: 0x7829, 0x133b: 0x7829, + 0x133c: 0x7829, 0x133d: 0x7829, 0x133e: 0x7841, 0x133f: 0x7841, + // Block 0x4d, offset 0x1340 + 0x1340: 0x7841, 0x1341: 0x7841, 0x1342: 0x7859, 0x1343: 0x7859, 0x1344: 0x7871, 0x1345: 0x7871, + 0x1346: 0x7889, 0x1347: 0x7889, 0x1348: 0x78a1, 0x1349: 0x78a1, 0x134a: 0x78b9, 0x134b: 0x78b9, + 0x134c: 0x78d1, 0x134d: 0x78d1, 0x134e: 0x78e9, 0x134f: 0x78e9, 0x1350: 0x78e9, 0x1351: 0x78e9, + 0x1352: 0x7901, 0x1353: 0x7901, 0x1354: 0x7901, 0x1355: 0x7901, 0x1356: 0x7919, 0x1357: 0x7919, + 0x1358: 0x7919, 0x1359: 0x7919, 0x135a: 0x7931, 0x135b: 0x7931, 0x135c: 0x7931, 0x135d: 0x7931, + 0x135e: 0x7949, 0x135f: 0x7949, 0x1360: 0x7961, 0x1361: 0x7961, 0x1362: 0x7961, 0x1363: 0x7961, + 0x1364: 0x7979, 0x1365: 0x7979, 0x1366: 0x7991, 0x1367: 0x7991, 0x1368: 0x7991, 0x1369: 0x7991, + 0x136a: 0x79a9, 0x136b: 0x79a9, 0x136c: 0x79a9, 0x136d: 0x79a9, 0x136e: 0x79c1, 0x136f: 0x79c1, + 0x1370: 0x79d9, 0x1371: 0x79d9, 0x1372: 0x0818, 0x1373: 0x0818, 0x1374: 0x0818, 0x1375: 0x0818, + 0x1376: 0x0818, 0x1377: 0x0818, 0x1378: 0x0818, 0x1379: 0x0818, 0x137a: 0x0818, 0x137b: 0x0818, + 0x137c: 0x0818, 0x137d: 0x0818, 0x137e: 0x0818, 0x137f: 0x0818, + // Block 0x4e, offset 0x1380 + 0x1380: 0x0818, 0x1381: 0x0818, 0x1382: 0x0040, 0x1383: 0x0040, 0x1384: 0x0040, 0x1385: 0x0040, + 0x1386: 0x0040, 0x1387: 0x0040, 0x1388: 0x0040, 0x1389: 0x0040, 0x138a: 0x0040, 0x138b: 0x0040, + 0x138c: 0x0040, 0x138d: 0x0040, 0x138e: 0x0040, 0x138f: 0x0040, 0x1390: 0x0040, 0x1391: 0x0040, + 0x1392: 0x0040, 0x1393: 0x79f1, 0x1394: 0x79f1, 0x1395: 0x79f1, 0x1396: 0x79f1, 0x1397: 0x7a09, + 0x1398: 0x7a09, 0x1399: 0x7a21, 0x139a: 0x7a21, 0x139b: 0x7a39, 0x139c: 0x7a39, 0x139d: 0x0479, + 0x139e: 0x7a51, 0x139f: 0x7a51, 0x13a0: 0x7a69, 0x13a1: 0x7a69, 0x13a2: 0x7a81, 0x13a3: 0x7a81, + 0x13a4: 0x7a99, 0x13a5: 0x7a99, 0x13a6: 0x7a99, 0x13a7: 0x7a99, 0x13a8: 0x7ab1, 0x13a9: 0x7ab1, + 0x13aa: 0x7ac9, 0x13ab: 0x7ac9, 0x13ac: 0x7af1, 0x13ad: 0x7af1, 0x13ae: 0x7b19, 0x13af: 0x7b19, + 0x13b0: 0x7b41, 0x13b1: 0x7b41, 0x13b2: 0x7b69, 0x13b3: 0x7b69, 0x13b4: 0x7b91, 0x13b5: 0x7b91, + 0x13b6: 0x7bb9, 0x13b7: 0x7bb9, 0x13b8: 0x7bb9, 0x13b9: 0x7be1, 0x13ba: 0x7be1, 0x13bb: 0x7be1, + 0x13bc: 0x7c09, 0x13bd: 0x7c09, 0x13be: 0x7c09, 0x13bf: 0x7c09, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x85f9, 0x13c1: 0x8621, 0x13c2: 0x8649, 0x13c3: 0x8671, 0x13c4: 0x8699, 0x13c5: 0x86c1, + 0x13c6: 0x86e9, 0x13c7: 0x8711, 0x13c8: 0x8739, 0x13c9: 0x8761, 0x13ca: 0x8789, 0x13cb: 0x87b1, + 0x13cc: 0x87d9, 0x13cd: 0x8801, 0x13ce: 0x8829, 0x13cf: 0x8851, 0x13d0: 0x8879, 0x13d1: 0x88a1, + 0x13d2: 0x88c9, 0x13d3: 0x88f1, 0x13d4: 0x8919, 0x13d5: 0x8941, 0x13d6: 0x8969, 0x13d7: 0x8991, + 0x13d8: 0x89b9, 0x13d9: 0x89e1, 0x13da: 0x8a09, 0x13db: 0x8a31, 0x13dc: 0x8a59, 0x13dd: 0x8a81, + 0x13de: 0x8aaa, 0x13df: 0x8ada, 0x13e0: 0x8b0a, 0x13e1: 0x8b3a, 0x13e2: 0x8b6a, 0x13e3: 0x8b9a, + 0x13e4: 0x8bc9, 0x13e5: 0x8bf1, 0x13e6: 0x7c71, 0x13e7: 0x8c19, 0x13e8: 0x7be1, 0x13e9: 0x7c99, + 0x13ea: 0x8c41, 0x13eb: 0x8c69, 0x13ec: 0x7d39, 0x13ed: 0x8c91, 0x13ee: 0x7d61, 0x13ef: 0x7d89, + 0x13f0: 0x8cb9, 0x13f1: 0x8ce1, 0x13f2: 0x7e29, 0x13f3: 0x8d09, 0x13f4: 0x7e51, 0x13f5: 0x7e79, + 0x13f6: 0x8d31, 0x13f7: 0x8d59, 0x13f8: 0x7ec9, 0x13f9: 0x8d81, 0x13fa: 0x7ef1, 0x13fb: 0x7f19, + 0x13fc: 0x83a1, 0x13fd: 0x83c9, 0x13fe: 0x8441, 0x13ff: 0x8469, + // Block 0x50, offset 0x1400 + 0x1400: 0x8491, 0x1401: 0x8531, 0x1402: 0x8559, 0x1403: 0x8581, 0x1404: 0x85a9, 0x1405: 0x8649, + 0x1406: 0x8671, 0x1407: 0x8699, 0x1408: 0x8da9, 0x1409: 0x8739, 0x140a: 0x8dd1, 0x140b: 0x8df9, + 0x140c: 0x8829, 0x140d: 0x8e21, 0x140e: 0x8851, 0x140f: 0x8879, 0x1410: 0x8a81, 0x1411: 0x8e49, + 0x1412: 0x8e71, 0x1413: 0x89b9, 0x1414: 0x8e99, 0x1415: 0x89e1, 0x1416: 0x8a09, 0x1417: 0x7c21, + 0x1418: 0x7c49, 0x1419: 0x8ec1, 0x141a: 0x7c71, 0x141b: 0x8ee9, 0x141c: 0x7cc1, 0x141d: 0x7ce9, + 0x141e: 0x7d11, 0x141f: 0x7d39, 0x1420: 0x8f11, 0x1421: 0x7db1, 0x1422: 0x7dd9, 0x1423: 0x7e01, + 0x1424: 0x7e29, 0x1425: 0x8f39, 0x1426: 0x7ec9, 0x1427: 0x7f41, 0x1428: 0x7f69, 0x1429: 0x7f91, + 0x142a: 0x7fb9, 0x142b: 0x7fe1, 0x142c: 0x8031, 0x142d: 0x8059, 0x142e: 0x8081, 0x142f: 0x80a9, + 0x1430: 0x80d1, 0x1431: 0x80f9, 0x1432: 0x8f61, 0x1433: 0x8121, 0x1434: 0x8149, 0x1435: 0x8171, + 0x1436: 0x8199, 0x1437: 0x81c1, 0x1438: 0x81e9, 0x1439: 0x8239, 0x143a: 0x8261, 0x143b: 0x8289, + 0x143c: 0x82b1, 0x143d: 0x82d9, 0x143e: 0x8301, 0x143f: 0x8329, + // Block 0x51, offset 0x1440 + 0x1440: 0x8351, 0x1441: 0x8379, 0x1442: 0x83f1, 0x1443: 0x8419, 0x1444: 0x84b9, 0x1445: 0x84e1, + 0x1446: 0x8509, 0x1447: 0x8531, 0x1448: 0x8559, 0x1449: 0x85d1, 0x144a: 0x85f9, 0x144b: 0x8621, + 0x144c: 0x8649, 0x144d: 0x8f89, 0x144e: 0x86c1, 0x144f: 0x86e9, 0x1450: 0x8711, 0x1451: 0x8739, + 0x1452: 0x87b1, 0x1453: 0x87d9, 0x1454: 0x8801, 0x1455: 0x8829, 0x1456: 0x8fb1, 0x1457: 0x88a1, + 0x1458: 0x88c9, 0x1459: 0x8fd9, 0x145a: 0x8941, 0x145b: 0x8969, 0x145c: 0x8991, 0x145d: 0x89b9, + 0x145e: 0x9001, 0x145f: 0x7c71, 0x1460: 0x8ee9, 0x1461: 0x7d39, 0x1462: 0x8f11, 0x1463: 0x7e29, + 0x1464: 0x8f39, 0x1465: 0x7ec9, 0x1466: 0x9029, 0x1467: 0x80d1, 0x1468: 0x9051, 0x1469: 0x9079, + 0x146a: 0x90a1, 0x146b: 0x8531, 0x146c: 0x8559, 0x146d: 0x8649, 0x146e: 0x8829, 0x146f: 0x8fb1, + 0x1470: 0x89b9, 0x1471: 0x9001, 0x1472: 0x90c9, 0x1473: 0x9101, 0x1474: 0x9139, 0x1475: 0x9171, + 0x1476: 0x9199, 0x1477: 0x91c1, 0x1478: 0x91e9, 0x1479: 0x9211, 0x147a: 0x9239, 0x147b: 0x9261, + 0x147c: 0x9289, 0x147d: 0x92b1, 0x147e: 0x92d9, 0x147f: 0x9301, + // Block 0x52, offset 0x1480 + 0x1480: 0x9329, 0x1481: 0x9351, 0x1482: 0x9379, 0x1483: 0x93a1, 0x1484: 0x93c9, 0x1485: 0x93f1, + 0x1486: 0x9419, 0x1487: 0x9441, 0x1488: 0x9469, 0x1489: 0x9491, 0x148a: 0x94b9, 0x148b: 0x94e1, + 0x148c: 0x9079, 0x148d: 0x9509, 0x148e: 0x9531, 0x148f: 0x9559, 0x1490: 0x9581, 0x1491: 0x9171, + 0x1492: 0x9199, 0x1493: 0x91c1, 0x1494: 0x91e9, 0x1495: 0x9211, 0x1496: 0x9239, 0x1497: 0x9261, + 0x1498: 0x9289, 0x1499: 0x92b1, 0x149a: 0x92d9, 0x149b: 0x9301, 0x149c: 0x9329, 0x149d: 0x9351, + 0x149e: 0x9379, 0x149f: 0x93a1, 0x14a0: 0x93c9, 0x14a1: 0x93f1, 0x14a2: 0x9419, 0x14a3: 0x9441, + 0x14a4: 0x9469, 0x14a5: 0x9491, 0x14a6: 0x94b9, 0x14a7: 0x94e1, 0x14a8: 0x9079, 0x14a9: 0x9509, + 0x14aa: 0x9531, 0x14ab: 0x9559, 0x14ac: 0x9581, 0x14ad: 0x9491, 0x14ae: 0x94b9, 0x14af: 0x94e1, + 0x14b0: 0x9079, 0x14b1: 0x9051, 0x14b2: 0x90a1, 0x14b3: 0x8211, 0x14b4: 0x8059, 0x14b5: 0x8081, + 0x14b6: 0x80a9, 0x14b7: 0x9491, 0x14b8: 0x94b9, 0x14b9: 0x94e1, 0x14ba: 0x8211, 0x14bb: 0x8239, + 0x14bc: 0x95a9, 0x14bd: 0x95a9, 0x14be: 0x0018, 0x14bf: 0x0018, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x0040, 0x14c1: 0x0040, 0x14c2: 0x0040, 0x14c3: 0x0040, 0x14c4: 0x0040, 0x14c5: 0x0040, + 0x14c6: 0x0040, 0x14c7: 0x0040, 0x14c8: 0x0040, 0x14c9: 0x0040, 0x14ca: 0x0040, 0x14cb: 0x0040, + 0x14cc: 0x0040, 0x14cd: 0x0040, 0x14ce: 0x0040, 0x14cf: 0x0040, 0x14d0: 0x95d1, 0x14d1: 0x9609, + 0x14d2: 0x9609, 0x14d3: 0x9641, 0x14d4: 0x9679, 0x14d5: 0x96b1, 0x14d6: 0x96e9, 0x14d7: 0x9721, + 0x14d8: 0x9759, 0x14d9: 0x9759, 0x14da: 0x9791, 0x14db: 0x97c9, 0x14dc: 0x9801, 0x14dd: 0x9839, + 0x14de: 0x9871, 0x14df: 0x98a9, 0x14e0: 0x98a9, 0x14e1: 0x98e1, 0x14e2: 0x9919, 0x14e3: 0x9919, + 0x14e4: 0x9951, 0x14e5: 0x9951, 0x14e6: 0x9989, 0x14e7: 0x99c1, 0x14e8: 0x99c1, 0x14e9: 0x99f9, + 0x14ea: 0x9a31, 0x14eb: 0x9a31, 0x14ec: 0x9a69, 0x14ed: 0x9a69, 0x14ee: 0x9aa1, 0x14ef: 0x9ad9, + 0x14f0: 0x9ad9, 0x14f1: 0x9b11, 0x14f2: 0x9b11, 0x14f3: 0x9b49, 0x14f4: 0x9b81, 0x14f5: 0x9bb9, + 0x14f6: 0x9bf1, 0x14f7: 0x9bf1, 0x14f8: 0x9c29, 0x14f9: 0x9c61, 0x14fa: 0x9c99, 0x14fb: 0x9cd1, + 0x14fc: 0x9d09, 0x14fd: 0x9d09, 0x14fe: 0x9d41, 0x14ff: 0x9d79, + // Block 0x54, offset 0x1500 + 0x1500: 0xa949, 0x1501: 0xa981, 0x1502: 0xa9b9, 0x1503: 0xa8a1, 0x1504: 0x9bb9, 0x1505: 0x9989, + 0x1506: 0xa9f1, 0x1507: 0xaa29, 0x1508: 0x0040, 0x1509: 0x0040, 0x150a: 0x0040, 0x150b: 0x0040, + 0x150c: 0x0040, 0x150d: 0x0040, 0x150e: 0x0040, 0x150f: 0x0040, 0x1510: 0x0040, 0x1511: 0x0040, + 0x1512: 0x0040, 0x1513: 0x0040, 0x1514: 0x0040, 0x1515: 0x0040, 0x1516: 0x0040, 0x1517: 0x0040, + 0x1518: 0x0040, 0x1519: 0x0040, 0x151a: 0x0040, 0x151b: 0x0040, 0x151c: 0x0040, 0x151d: 0x0040, + 0x151e: 0x0040, 0x151f: 0x0040, 0x1520: 0x0040, 0x1521: 0x0040, 0x1522: 0x0040, 0x1523: 0x0040, + 0x1524: 0x0040, 0x1525: 0x0040, 0x1526: 0x0040, 0x1527: 0x0040, 0x1528: 0x0040, 0x1529: 0x0040, + 0x152a: 0x0040, 0x152b: 0x0040, 0x152c: 0x0040, 0x152d: 0x0040, 0x152e: 0x0040, 0x152f: 0x0040, + 0x1530: 0xaa61, 0x1531: 0xaa99, 0x1532: 0xaad1, 0x1533: 0xab19, 0x1534: 0xab61, 0x1535: 0xaba9, + 0x1536: 0xabf1, 0x1537: 0xac39, 0x1538: 0xac81, 0x1539: 0xacc9, 0x153a: 0xad02, 0x153b: 0xae12, + 0x153c: 0xae91, 0x153d: 0x0018, 0x153e: 0x0040, 0x153f: 0x0040, + // Block 0x55, offset 0x1540 + 0x1540: 0x33c0, 0x1541: 0x33c0, 0x1542: 0x33c0, 0x1543: 0x33c0, 0x1544: 0x33c0, 0x1545: 0x33c0, + 0x1546: 0x33c0, 0x1547: 0x33c0, 0x1548: 0x33c0, 0x1549: 0x33c0, 0x154a: 0x33c0, 0x154b: 0x33c0, + 0x154c: 0x33c0, 0x154d: 0x33c0, 0x154e: 0x33c0, 0x154f: 0x33c0, 0x1550: 0xaeda, 0x1551: 0x7d55, + 0x1552: 0x0040, 0x1553: 0xaeea, 0x1554: 0x03c2, 0x1555: 0xaefa, 0x1556: 0xaf0a, 0x1557: 0x7d75, + 0x1558: 0x7d95, 0x1559: 0x0040, 0x155a: 0x0040, 0x155b: 0x0040, 0x155c: 0x0040, 0x155d: 0x0040, + 0x155e: 0x0040, 0x155f: 0x0040, 0x1560: 0x3308, 0x1561: 0x3308, 0x1562: 0x3308, 0x1563: 0x3308, + 0x1564: 0x3308, 0x1565: 0x3308, 0x1566: 0x3308, 0x1567: 0x3308, 0x1568: 0x3308, 0x1569: 0x3308, + 0x156a: 0x3308, 0x156b: 0x3308, 0x156c: 0x3308, 0x156d: 0x3308, 0x156e: 0x3308, 0x156f: 0x3308, + 0x1570: 0x0040, 0x1571: 0x7db5, 0x1572: 0x7dd5, 0x1573: 0xaf1a, 0x1574: 0xaf1a, 0x1575: 0x1fd2, + 0x1576: 0x1fe2, 0x1577: 0xaf2a, 0x1578: 0xaf3a, 0x1579: 0x7df5, 0x157a: 0x7e15, 0x157b: 0x7e35, + 0x157c: 0x7df5, 0x157d: 0x7e55, 0x157e: 0x7e75, 0x157f: 0x7e55, + // Block 0x56, offset 0x1580 + 0x1580: 0x7e95, 0x1581: 0x7eb5, 0x1582: 0x7ed5, 0x1583: 0x7eb5, 0x1584: 0x7ef5, 0x1585: 0x0018, + 0x1586: 0x0018, 0x1587: 0xaf4a, 0x1588: 0xaf5a, 0x1589: 0x7f16, 0x158a: 0x7f36, 0x158b: 0x7f56, + 0x158c: 0x7f76, 0x158d: 0xaf1a, 0x158e: 0xaf1a, 0x158f: 0xaf1a, 0x1590: 0xaeda, 0x1591: 0x7f95, + 0x1592: 0x0040, 0x1593: 0x0040, 0x1594: 0x03c2, 0x1595: 0xaeea, 0x1596: 0xaf0a, 0x1597: 0xaefa, + 0x1598: 0x7fb5, 0x1599: 0x1fd2, 0x159a: 0x1fe2, 0x159b: 0xaf2a, 0x159c: 0xaf3a, 0x159d: 0x7e95, + 0x159e: 0x7ef5, 0x159f: 0xaf6a, 0x15a0: 0xaf7a, 0x15a1: 0xaf8a, 0x15a2: 0x1fb2, 0x15a3: 0xaf99, + 0x15a4: 0xafaa, 0x15a5: 0xafba, 0x15a6: 0x1fc2, 0x15a7: 0x0040, 0x15a8: 0xafca, 0x15a9: 0xafda, + 0x15aa: 0xafea, 0x15ab: 0xaffa, 0x15ac: 0x0040, 0x15ad: 0x0040, 0x15ae: 0x0040, 0x15af: 0x0040, + 0x15b0: 0x7fd6, 0x15b1: 0xb009, 0x15b2: 0x7ff6, 0x15b3: 0x0808, 0x15b4: 0x8016, 0x15b5: 0x0040, + 0x15b6: 0x8036, 0x15b7: 0xb031, 0x15b8: 0x8056, 0x15b9: 0xb059, 0x15ba: 0x8076, 0x15bb: 0xb081, + 0x15bc: 0x8096, 0x15bd: 0xb0a9, 0x15be: 0x80b6, 0x15bf: 0xb0d1, + // Block 0x57, offset 0x15c0 + 0x15c0: 0xb0f9, 0x15c1: 0xb111, 0x15c2: 0xb111, 0x15c3: 0xb129, 0x15c4: 0xb129, 0x15c5: 0xb141, + 0x15c6: 0xb141, 0x15c7: 0xb159, 0x15c8: 0xb159, 0x15c9: 0xb171, 0x15ca: 0xb171, 0x15cb: 0xb171, + 0x15cc: 0xb171, 0x15cd: 0xb189, 0x15ce: 0xb189, 0x15cf: 0xb1a1, 0x15d0: 0xb1a1, 0x15d1: 0xb1a1, + 0x15d2: 0xb1a1, 0x15d3: 0xb1b9, 0x15d4: 0xb1b9, 0x15d5: 0xb1d1, 0x15d6: 0xb1d1, 0x15d7: 0xb1d1, + 0x15d8: 0xb1d1, 0x15d9: 0xb1e9, 0x15da: 0xb1e9, 0x15db: 0xb1e9, 0x15dc: 0xb1e9, 0x15dd: 0xb201, + 0x15de: 0xb201, 0x15df: 0xb201, 0x15e0: 0xb201, 0x15e1: 0xb219, 0x15e2: 0xb219, 0x15e3: 0xb219, + 0x15e4: 0xb219, 0x15e5: 0xb231, 0x15e6: 0xb231, 0x15e7: 0xb231, 0x15e8: 0xb231, 0x15e9: 0xb249, + 0x15ea: 0xb249, 0x15eb: 0xb261, 0x15ec: 0xb261, 0x15ed: 0xb279, 0x15ee: 0xb279, 0x15ef: 0xb291, + 0x15f0: 0xb291, 0x15f1: 0xb2a9, 0x15f2: 0xb2a9, 0x15f3: 0xb2a9, 0x15f4: 0xb2a9, 0x15f5: 0xb2c1, + 0x15f6: 0xb2c1, 0x15f7: 0xb2c1, 0x15f8: 0xb2c1, 0x15f9: 0xb2d9, 0x15fa: 0xb2d9, 0x15fb: 0xb2d9, + 0x15fc: 0xb2d9, 0x15fd: 0xb2f1, 0x15fe: 0xb2f1, 0x15ff: 0xb2f1, + // Block 0x58, offset 0x1600 + 0x1600: 0xb2f1, 0x1601: 0xb309, 0x1602: 0xb309, 0x1603: 0xb309, 0x1604: 0xb309, 0x1605: 0xb321, + 0x1606: 0xb321, 0x1607: 0xb321, 0x1608: 0xb321, 0x1609: 0xb339, 0x160a: 0xb339, 0x160b: 0xb339, + 0x160c: 0xb339, 0x160d: 0xb351, 0x160e: 0xb351, 0x160f: 0xb351, 0x1610: 0xb351, 0x1611: 0xb369, + 0x1612: 0xb369, 0x1613: 0xb369, 0x1614: 0xb369, 0x1615: 0xb381, 0x1616: 0xb381, 0x1617: 0xb381, + 0x1618: 0xb381, 0x1619: 0xb399, 0x161a: 0xb399, 0x161b: 0xb399, 0x161c: 0xb399, 0x161d: 0xb3b1, + 0x161e: 0xb3b1, 0x161f: 0xb3b1, 0x1620: 0xb3b1, 0x1621: 0xb3c9, 0x1622: 0xb3c9, 0x1623: 0xb3c9, + 0x1624: 0xb3c9, 0x1625: 0xb3e1, 0x1626: 0xb3e1, 0x1627: 0xb3e1, 0x1628: 0xb3e1, 0x1629: 0xb3f9, + 0x162a: 0xb3f9, 0x162b: 0xb3f9, 0x162c: 0xb3f9, 0x162d: 0xb411, 0x162e: 0xb411, 0x162f: 0x7ab1, + 0x1630: 0x7ab1, 0x1631: 0xb429, 0x1632: 0xb429, 0x1633: 0xb429, 0x1634: 0xb429, 0x1635: 0xb441, + 0x1636: 0xb441, 0x1637: 0xb469, 0x1638: 0xb469, 0x1639: 0xb491, 0x163a: 0xb491, 0x163b: 0xb4b9, + 0x163c: 0xb4b9, 0x163d: 0x0040, 0x163e: 0x0040, 0x163f: 0x03c0, + // Block 0x59, offset 0x1640 + 0x1640: 0x0040, 0x1641: 0xaefa, 0x1642: 0xb4e2, 0x1643: 0xaf6a, 0x1644: 0xafda, 0x1645: 0xafea, + 0x1646: 0xaf7a, 0x1647: 0xb4f2, 0x1648: 0x1fd2, 0x1649: 0x1fe2, 0x164a: 0xaf8a, 0x164b: 0x1fb2, + 0x164c: 0xaeda, 0x164d: 0xaf99, 0x164e: 0x29d1, 0x164f: 0xb502, 0x1650: 0x1f41, 0x1651: 0x00c9, + 0x1652: 0x0069, 0x1653: 0x0079, 0x1654: 0x1f51, 0x1655: 0x1f61, 0x1656: 0x1f71, 0x1657: 0x1f81, + 0x1658: 0x1f91, 0x1659: 0x1fa1, 0x165a: 0xaeea, 0x165b: 0x03c2, 0x165c: 0xafaa, 0x165d: 0x1fc2, + 0x165e: 0xafba, 0x165f: 0xaf0a, 0x1660: 0xaffa, 0x1661: 0x0039, 0x1662: 0x0ee9, 0x1663: 0x1159, + 0x1664: 0x0ef9, 0x1665: 0x0f09, 0x1666: 0x1199, 0x1667: 0x0f31, 0x1668: 0x0249, 0x1669: 0x0f41, + 0x166a: 0x0259, 0x166b: 0x0f51, 0x166c: 0x0359, 0x166d: 0x0f61, 0x166e: 0x0f71, 0x166f: 0x00d9, + 0x1670: 0x0f99, 0x1671: 0x2039, 0x1672: 0x0269, 0x1673: 0x01d9, 0x1674: 0x0fa9, 0x1675: 0x0fb9, + 0x1676: 0x1089, 0x1677: 0x0279, 0x1678: 0x0369, 0x1679: 0x0289, 0x167a: 0x13d1, 0x167b: 0xaf4a, + 0x167c: 0xafca, 0x167d: 0xaf5a, 0x167e: 0xb512, 0x167f: 0xaf1a, + // Block 0x5a, offset 0x1680 + 0x1680: 0x1caa, 0x1681: 0x0039, 0x1682: 0x0ee9, 0x1683: 0x1159, 0x1684: 0x0ef9, 0x1685: 0x0f09, + 0x1686: 0x1199, 0x1687: 0x0f31, 0x1688: 0x0249, 0x1689: 0x0f41, 0x168a: 0x0259, 0x168b: 0x0f51, + 0x168c: 0x0359, 0x168d: 0x0f61, 0x168e: 0x0f71, 0x168f: 0x00d9, 0x1690: 0x0f99, 0x1691: 0x2039, + 0x1692: 0x0269, 0x1693: 0x01d9, 0x1694: 0x0fa9, 0x1695: 0x0fb9, 0x1696: 0x1089, 0x1697: 0x0279, + 0x1698: 0x0369, 0x1699: 0x0289, 0x169a: 0x13d1, 0x169b: 0xaf2a, 0x169c: 0xb522, 0x169d: 0xaf3a, + 0x169e: 0xb532, 0x169f: 0x80d5, 0x16a0: 0x80f5, 0x16a1: 0x29d1, 0x16a2: 0x8115, 0x16a3: 0x8115, + 0x16a4: 0x8135, 0x16a5: 0x8155, 0x16a6: 0x8175, 0x16a7: 0x8195, 0x16a8: 0x81b5, 0x16a9: 0x81d5, + 0x16aa: 0x81f5, 0x16ab: 0x8215, 0x16ac: 0x8235, 0x16ad: 0x8255, 0x16ae: 0x8275, 0x16af: 0x8295, + 0x16b0: 0x82b5, 0x16b1: 0x82d5, 0x16b2: 0x82f5, 0x16b3: 0x8315, 0x16b4: 0x8335, 0x16b5: 0x8355, + 0x16b6: 0x8375, 0x16b7: 0x8395, 0x16b8: 0x83b5, 0x16b9: 0x83d5, 0x16ba: 0x83f5, 0x16bb: 0x8415, + 0x16bc: 0x81b5, 0x16bd: 0x8435, 0x16be: 0x8455, 0x16bf: 0x8215, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x8475, 0x16c1: 0x8495, 0x16c2: 0x84b5, 0x16c3: 0x84d5, 0x16c4: 0x84f5, 0x16c5: 0x8515, + 0x16c6: 0x8535, 0x16c7: 0x8555, 0x16c8: 0x84d5, 0x16c9: 0x8575, 0x16ca: 0x84d5, 0x16cb: 0x8595, + 0x16cc: 0x8595, 0x16cd: 0x85b5, 0x16ce: 0x85b5, 0x16cf: 0x85d5, 0x16d0: 0x8515, 0x16d1: 0x85f5, + 0x16d2: 0x8615, 0x16d3: 0x85f5, 0x16d4: 0x8635, 0x16d5: 0x8615, 0x16d6: 0x8655, 0x16d7: 0x8655, + 0x16d8: 0x8675, 0x16d9: 0x8675, 0x16da: 0x8695, 0x16db: 0x8695, 0x16dc: 0x8615, 0x16dd: 0x8115, + 0x16de: 0x86b5, 0x16df: 0x86d5, 0x16e0: 0x0040, 0x16e1: 0x86f5, 0x16e2: 0x8715, 0x16e3: 0x8735, + 0x16e4: 0x8755, 0x16e5: 0x8735, 0x16e6: 0x8775, 0x16e7: 0x8795, 0x16e8: 0x87b5, 0x16e9: 0x87b5, + 0x16ea: 0x87d5, 0x16eb: 0x87d5, 0x16ec: 0x87f5, 0x16ed: 0x87f5, 0x16ee: 0x87d5, 0x16ef: 0x87d5, + 0x16f0: 0x8815, 0x16f1: 0x8835, 0x16f2: 0x8855, 0x16f3: 0x8875, 0x16f4: 0x8895, 0x16f5: 0x88b5, + 0x16f6: 0x88b5, 0x16f7: 0x88b5, 0x16f8: 0x88d5, 0x16f9: 0x88d5, 0x16fa: 0x88d5, 0x16fb: 0x88d5, + 0x16fc: 0x87b5, 0x16fd: 0x87b5, 0x16fe: 0x87b5, 0x16ff: 0x0040, + // Block 0x5c, offset 0x1700 + 0x1700: 0x0040, 0x1701: 0x0040, 0x1702: 0x8715, 0x1703: 0x86f5, 0x1704: 0x88f5, 0x1705: 0x86f5, + 0x1706: 0x8715, 0x1707: 0x86f5, 0x1708: 0x0040, 0x1709: 0x0040, 0x170a: 0x8915, 0x170b: 0x8715, + 0x170c: 0x8935, 0x170d: 0x88f5, 0x170e: 0x8935, 0x170f: 0x8715, 0x1710: 0x0040, 0x1711: 0x0040, + 0x1712: 0x8955, 0x1713: 0x8975, 0x1714: 0x8875, 0x1715: 0x8935, 0x1716: 0x88f5, 0x1717: 0x8935, + 0x1718: 0x0040, 0x1719: 0x0040, 0x171a: 0x8995, 0x171b: 0x89b5, 0x171c: 0x8995, 0x171d: 0x0040, + 0x171e: 0x0040, 0x171f: 0x0040, 0x1720: 0xb541, 0x1721: 0xb559, 0x1722: 0xb571, 0x1723: 0x89d6, + 0x1724: 0xb589, 0x1725: 0xb5a1, 0x1726: 0x89f5, 0x1727: 0x0040, 0x1728: 0x8a15, 0x1729: 0x8a35, + 0x172a: 0x8a55, 0x172b: 0x8a35, 0x172c: 0x8a75, 0x172d: 0x8a95, 0x172e: 0x8ab5, 0x172f: 0x0040, + 0x1730: 0x0040, 0x1731: 0x0040, 0x1732: 0x0040, 0x1733: 0x0040, 0x1734: 0x0040, 0x1735: 0x0040, + 0x1736: 0x0040, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0340, 0x173a: 0x0340, 0x173b: 0x0340, + 0x173c: 0x0040, 0x173d: 0x0040, 0x173e: 0x0040, 0x173f: 0x0040, + // Block 0x5d, offset 0x1740 + 0x1740: 0x0a08, 0x1741: 0x0a08, 0x1742: 0x0a08, 0x1743: 0x0a08, 0x1744: 0x0a08, 0x1745: 0x0c08, + 0x1746: 0x0808, 0x1747: 0x0c08, 0x1748: 0x0818, 0x1749: 0x0c08, 0x174a: 0x0c08, 0x174b: 0x0808, + 0x174c: 0x0808, 0x174d: 0x0908, 0x174e: 0x0c08, 0x174f: 0x0c08, 0x1750: 0x0c08, 0x1751: 0x0c08, + 0x1752: 0x0c08, 0x1753: 0x0a08, 0x1754: 0x0a08, 0x1755: 0x0a08, 0x1756: 0x0a08, 0x1757: 0x0908, + 0x1758: 0x0a08, 0x1759: 0x0a08, 0x175a: 0x0a08, 0x175b: 0x0a08, 0x175c: 0x0a08, 0x175d: 0x0c08, + 0x175e: 0x0a08, 0x175f: 0x0a08, 0x1760: 0x0a08, 0x1761: 0x0c08, 0x1762: 0x0808, 0x1763: 0x0808, + 0x1764: 0x0c08, 0x1765: 0x3308, 0x1766: 0x3308, 0x1767: 0x0040, 0x1768: 0x0040, 0x1769: 0x0040, + 0x176a: 0x0040, 0x176b: 0x0a18, 0x176c: 0x0a18, 0x176d: 0x0a18, 0x176e: 0x0a18, 0x176f: 0x0c18, + 0x1770: 0x0818, 0x1771: 0x0818, 0x1772: 0x0818, 0x1773: 0x0818, 0x1774: 0x0818, 0x1775: 0x0818, + 0x1776: 0x0818, 0x1777: 0x0040, 0x1778: 0x0040, 0x1779: 0x0040, 0x177a: 0x0040, 0x177b: 0x0040, + 0x177c: 0x0040, 0x177d: 0x0040, 0x177e: 0x0040, 0x177f: 0x0040, + // Block 0x5e, offset 0x1780 + 0x1780: 0x0a08, 0x1781: 0x0c08, 0x1782: 0x0a08, 0x1783: 0x0c08, 0x1784: 0x0c08, 0x1785: 0x0c08, + 0x1786: 0x0a08, 0x1787: 0x0a08, 0x1788: 0x0a08, 0x1789: 0x0c08, 0x178a: 0x0a08, 0x178b: 0x0a08, + 0x178c: 0x0c08, 0x178d: 0x0a08, 0x178e: 0x0c08, 0x178f: 0x0c08, 0x1790: 0x0a08, 0x1791: 0x0c08, + 0x1792: 0x0040, 0x1793: 0x0040, 0x1794: 0x0040, 0x1795: 0x0040, 0x1796: 0x0040, 0x1797: 0x0040, + 0x1798: 0x0040, 0x1799: 0x0818, 0x179a: 0x0818, 0x179b: 0x0818, 0x179c: 0x0818, 0x179d: 0x0040, + 0x179e: 0x0040, 0x179f: 0x0040, 0x17a0: 0x0040, 0x17a1: 0x0040, 0x17a2: 0x0040, 0x17a3: 0x0040, + 0x17a4: 0x0040, 0x17a5: 0x0040, 0x17a6: 0x0040, 0x17a7: 0x0040, 0x17a8: 0x0040, 0x17a9: 0x0c18, + 0x17aa: 0x0c18, 0x17ab: 0x0c18, 0x17ac: 0x0c18, 0x17ad: 0x0a18, 0x17ae: 0x0a18, 0x17af: 0x0818, + 0x17b0: 0x0040, 0x17b1: 0x0040, 0x17b2: 0x0040, 0x17b3: 0x0040, 0x17b4: 0x0040, 0x17b5: 0x0040, + 0x17b6: 0x0040, 0x17b7: 0x0040, 0x17b8: 0x0040, 0x17b9: 0x0040, 0x17ba: 0x0040, 0x17bb: 0x0040, + 0x17bc: 0x0040, 0x17bd: 0x0040, 0x17be: 0x0040, 0x17bf: 0x0040, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x3308, 0x17c1: 0x3308, 0x17c2: 0x3008, 0x17c3: 0x3008, 0x17c4: 0x0040, 0x17c5: 0x0008, + 0x17c6: 0x0008, 0x17c7: 0x0008, 0x17c8: 0x0008, 0x17c9: 0x0008, 0x17ca: 0x0008, 0x17cb: 0x0008, + 0x17cc: 0x0008, 0x17cd: 0x0040, 0x17ce: 0x0040, 0x17cf: 0x0008, 0x17d0: 0x0008, 0x17d1: 0x0040, + 0x17d2: 0x0040, 0x17d3: 0x0008, 0x17d4: 0x0008, 0x17d5: 0x0008, 0x17d6: 0x0008, 0x17d7: 0x0008, + 0x17d8: 0x0008, 0x17d9: 0x0008, 0x17da: 0x0008, 0x17db: 0x0008, 0x17dc: 0x0008, 0x17dd: 0x0008, + 0x17de: 0x0008, 0x17df: 0x0008, 0x17e0: 0x0008, 0x17e1: 0x0008, 0x17e2: 0x0008, 0x17e3: 0x0008, + 0x17e4: 0x0008, 0x17e5: 0x0008, 0x17e6: 0x0008, 0x17e7: 0x0008, 0x17e8: 0x0008, 0x17e9: 0x0040, + 0x17ea: 0x0008, 0x17eb: 0x0008, 0x17ec: 0x0008, 0x17ed: 0x0008, 0x17ee: 0x0008, 0x17ef: 0x0008, + 0x17f0: 0x0008, 0x17f1: 0x0040, 0x17f2: 0x0008, 0x17f3: 0x0008, 0x17f4: 0x0040, 0x17f5: 0x0008, + 0x17f6: 0x0008, 0x17f7: 0x0008, 0x17f8: 0x0008, 0x17f9: 0x0008, 0x17fa: 0x0040, 0x17fb: 0x3308, + 0x17fc: 0x3308, 0x17fd: 0x0008, 0x17fe: 0x3008, 0x17ff: 0x3008, + // Block 0x60, offset 0x1800 + 0x1800: 0x3308, 0x1801: 0x3008, 0x1802: 0x3008, 0x1803: 0x3008, 0x1804: 0x3008, 0x1805: 0x0040, + 0x1806: 0x0040, 0x1807: 0x3008, 0x1808: 0x3008, 0x1809: 0x0040, 0x180a: 0x0040, 0x180b: 0x3008, + 0x180c: 0x3008, 0x180d: 0x3808, 0x180e: 0x0040, 0x180f: 0x0040, 0x1810: 0x0008, 0x1811: 0x0040, + 0x1812: 0x0040, 0x1813: 0x0040, 0x1814: 0x0040, 0x1815: 0x0040, 0x1816: 0x0040, 0x1817: 0x3008, + 0x1818: 0x0040, 0x1819: 0x0040, 0x181a: 0x0040, 0x181b: 0x0040, 0x181c: 0x0040, 0x181d: 0x0008, + 0x181e: 0x0008, 0x181f: 0x0008, 0x1820: 0x0008, 0x1821: 0x0008, 0x1822: 0x3008, 0x1823: 0x3008, + 0x1824: 0x0040, 0x1825: 0x0040, 0x1826: 0x3308, 0x1827: 0x3308, 0x1828: 0x3308, 0x1829: 0x3308, + 0x182a: 0x3308, 0x182b: 0x3308, 0x182c: 0x3308, 0x182d: 0x0040, 0x182e: 0x0040, 0x182f: 0x0040, + 0x1830: 0x3308, 0x1831: 0x3308, 0x1832: 0x3308, 0x1833: 0x3308, 0x1834: 0x3308, 0x1835: 0x0040, + 0x1836: 0x0040, 0x1837: 0x0040, 0x1838: 0x0040, 0x1839: 0x0040, 0x183a: 0x0040, 0x183b: 0x0040, + 0x183c: 0x0040, 0x183d: 0x0040, 0x183e: 0x0040, 0x183f: 0x0040, + // Block 0x61, offset 0x1840 + 0x1840: 0x0039, 0x1841: 0x0ee9, 0x1842: 0x1159, 0x1843: 0x0ef9, 0x1844: 0x0f09, 0x1845: 0x1199, + 0x1846: 0x0f31, 0x1847: 0x0249, 0x1848: 0x0f41, 0x1849: 0x0259, 0x184a: 0x0f51, 0x184b: 0x0359, + 0x184c: 0x0f61, 0x184d: 0x0f71, 0x184e: 0x00d9, 0x184f: 0x0f99, 0x1850: 0x2039, 0x1851: 0x0269, + 0x1852: 0x01d9, 0x1853: 0x0fa9, 0x1854: 0x0fb9, 0x1855: 0x1089, 0x1856: 0x0279, 0x1857: 0x0369, + 0x1858: 0x0289, 0x1859: 0x13d1, 0x185a: 0x0039, 0x185b: 0x0ee9, 0x185c: 0x1159, 0x185d: 0x0ef9, + 0x185e: 0x0f09, 0x185f: 0x1199, 0x1860: 0x0f31, 0x1861: 0x0249, 0x1862: 0x0f41, 0x1863: 0x0259, + 0x1864: 0x0f51, 0x1865: 0x0359, 0x1866: 0x0f61, 0x1867: 0x0f71, 0x1868: 0x00d9, 0x1869: 0x0f99, + 0x186a: 0x2039, 0x186b: 0x0269, 0x186c: 0x01d9, 0x186d: 0x0fa9, 0x186e: 0x0fb9, 0x186f: 0x1089, + 0x1870: 0x0279, 0x1871: 0x0369, 0x1872: 0x0289, 0x1873: 0x13d1, 0x1874: 0x0039, 0x1875: 0x0ee9, + 0x1876: 0x1159, 0x1877: 0x0ef9, 0x1878: 0x0f09, 0x1879: 0x1199, 0x187a: 0x0f31, 0x187b: 0x0249, + 0x187c: 0x0f41, 0x187d: 0x0259, 0x187e: 0x0f51, 0x187f: 0x0359, + // Block 0x62, offset 0x1880 + 0x1880: 0x0f61, 0x1881: 0x0f71, 0x1882: 0x00d9, 0x1883: 0x0f99, 0x1884: 0x2039, 0x1885: 0x0269, + 0x1886: 0x01d9, 0x1887: 0x0fa9, 0x1888: 0x0fb9, 0x1889: 0x1089, 0x188a: 0x0279, 0x188b: 0x0369, + 0x188c: 0x0289, 0x188d: 0x13d1, 0x188e: 0x0039, 0x188f: 0x0ee9, 0x1890: 0x1159, 0x1891: 0x0ef9, + 0x1892: 0x0f09, 0x1893: 0x1199, 0x1894: 0x0f31, 0x1895: 0x0040, 0x1896: 0x0f41, 0x1897: 0x0259, + 0x1898: 0x0f51, 0x1899: 0x0359, 0x189a: 0x0f61, 0x189b: 0x0f71, 0x189c: 0x00d9, 0x189d: 0x0f99, + 0x189e: 0x2039, 0x189f: 0x0269, 0x18a0: 0x01d9, 0x18a1: 0x0fa9, 0x18a2: 0x0fb9, 0x18a3: 0x1089, + 0x18a4: 0x0279, 0x18a5: 0x0369, 0x18a6: 0x0289, 0x18a7: 0x13d1, 0x18a8: 0x0039, 0x18a9: 0x0ee9, + 0x18aa: 0x1159, 0x18ab: 0x0ef9, 0x18ac: 0x0f09, 0x18ad: 0x1199, 0x18ae: 0x0f31, 0x18af: 0x0249, + 0x18b0: 0x0f41, 0x18b1: 0x0259, 0x18b2: 0x0f51, 0x18b3: 0x0359, 0x18b4: 0x0f61, 0x18b5: 0x0f71, + 0x18b6: 0x00d9, 0x18b7: 0x0f99, 0x18b8: 0x2039, 0x18b9: 0x0269, 0x18ba: 0x01d9, 0x18bb: 0x0fa9, + 0x18bc: 0x0fb9, 0x18bd: 0x1089, 0x18be: 0x0279, 0x18bf: 0x0369, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x0289, 0x18c1: 0x13d1, 0x18c2: 0x0039, 0x18c3: 0x0ee9, 0x18c4: 0x1159, 0x18c5: 0x0ef9, + 0x18c6: 0x0f09, 0x18c7: 0x1199, 0x18c8: 0x0f31, 0x18c9: 0x0249, 0x18ca: 0x0f41, 0x18cb: 0x0259, + 0x18cc: 0x0f51, 0x18cd: 0x0359, 0x18ce: 0x0f61, 0x18cf: 0x0f71, 0x18d0: 0x00d9, 0x18d1: 0x0f99, + 0x18d2: 0x2039, 0x18d3: 0x0269, 0x18d4: 0x01d9, 0x18d5: 0x0fa9, 0x18d6: 0x0fb9, 0x18d7: 0x1089, + 0x18d8: 0x0279, 0x18d9: 0x0369, 0x18da: 0x0289, 0x18db: 0x13d1, 0x18dc: 0x0039, 0x18dd: 0x0040, + 0x18de: 0x1159, 0x18df: 0x0ef9, 0x18e0: 0x0040, 0x18e1: 0x0040, 0x18e2: 0x0f31, 0x18e3: 0x0040, + 0x18e4: 0x0040, 0x18e5: 0x0259, 0x18e6: 0x0f51, 0x18e7: 0x0040, 0x18e8: 0x0040, 0x18e9: 0x0f71, + 0x18ea: 0x00d9, 0x18eb: 0x0f99, 0x18ec: 0x2039, 0x18ed: 0x0040, 0x18ee: 0x01d9, 0x18ef: 0x0fa9, + 0x18f0: 0x0fb9, 0x18f1: 0x1089, 0x18f2: 0x0279, 0x18f3: 0x0369, 0x18f4: 0x0289, 0x18f5: 0x13d1, + 0x18f6: 0x0039, 0x18f7: 0x0ee9, 0x18f8: 0x1159, 0x18f9: 0x0ef9, 0x18fa: 0x0040, 0x18fb: 0x1199, + 0x18fc: 0x0040, 0x18fd: 0x0249, 0x18fe: 0x0f41, 0x18ff: 0x0259, + // Block 0x64, offset 0x1900 + 0x1900: 0x0f51, 0x1901: 0x0359, 0x1902: 0x0f61, 0x1903: 0x0f71, 0x1904: 0x0040, 0x1905: 0x0f99, + 0x1906: 0x2039, 0x1907: 0x0269, 0x1908: 0x01d9, 0x1909: 0x0fa9, 0x190a: 0x0fb9, 0x190b: 0x1089, + 0x190c: 0x0279, 0x190d: 0x0369, 0x190e: 0x0289, 0x190f: 0x13d1, 0x1910: 0x0039, 0x1911: 0x0ee9, + 0x1912: 0x1159, 0x1913: 0x0ef9, 0x1914: 0x0f09, 0x1915: 0x1199, 0x1916: 0x0f31, 0x1917: 0x0249, + 0x1918: 0x0f41, 0x1919: 0x0259, 0x191a: 0x0f51, 0x191b: 0x0359, 0x191c: 0x0f61, 0x191d: 0x0f71, + 0x191e: 0x00d9, 0x191f: 0x0f99, 0x1920: 0x2039, 0x1921: 0x0269, 0x1922: 0x01d9, 0x1923: 0x0fa9, + 0x1924: 0x0fb9, 0x1925: 0x1089, 0x1926: 0x0279, 0x1927: 0x0369, 0x1928: 0x0289, 0x1929: 0x13d1, + 0x192a: 0x0039, 0x192b: 0x0ee9, 0x192c: 0x1159, 0x192d: 0x0ef9, 0x192e: 0x0f09, 0x192f: 0x1199, + 0x1930: 0x0f31, 0x1931: 0x0249, 0x1932: 0x0f41, 0x1933: 0x0259, 0x1934: 0x0f51, 0x1935: 0x0359, + 0x1936: 0x0f61, 0x1937: 0x0f71, 0x1938: 0x00d9, 0x1939: 0x0f99, 0x193a: 0x2039, 0x193b: 0x0269, + 0x193c: 0x01d9, 0x193d: 0x0fa9, 0x193e: 0x0fb9, 0x193f: 0x1089, + // Block 0x65, offset 0x1940 + 0x1940: 0x0279, 0x1941: 0x0369, 0x1942: 0x0289, 0x1943: 0x13d1, 0x1944: 0x0039, 0x1945: 0x0ee9, + 0x1946: 0x0040, 0x1947: 0x0ef9, 0x1948: 0x0f09, 0x1949: 0x1199, 0x194a: 0x0f31, 0x194b: 0x0040, + 0x194c: 0x0040, 0x194d: 0x0259, 0x194e: 0x0f51, 0x194f: 0x0359, 0x1950: 0x0f61, 0x1951: 0x0f71, + 0x1952: 0x00d9, 0x1953: 0x0f99, 0x1954: 0x2039, 0x1955: 0x0040, 0x1956: 0x01d9, 0x1957: 0x0fa9, + 0x1958: 0x0fb9, 0x1959: 0x1089, 0x195a: 0x0279, 0x195b: 0x0369, 0x195c: 0x0289, 0x195d: 0x0040, + 0x195e: 0x0039, 0x195f: 0x0ee9, 0x1960: 0x1159, 0x1961: 0x0ef9, 0x1962: 0x0f09, 0x1963: 0x1199, + 0x1964: 0x0f31, 0x1965: 0x0249, 0x1966: 0x0f41, 0x1967: 0x0259, 0x1968: 0x0f51, 0x1969: 0x0359, + 0x196a: 0x0f61, 0x196b: 0x0f71, 0x196c: 0x00d9, 0x196d: 0x0f99, 0x196e: 0x2039, 0x196f: 0x0269, + 0x1970: 0x01d9, 0x1971: 0x0fa9, 0x1972: 0x0fb9, 0x1973: 0x1089, 0x1974: 0x0279, 0x1975: 0x0369, + 0x1976: 0x0289, 0x1977: 0x13d1, 0x1978: 0x0039, 0x1979: 0x0ee9, 0x197a: 0x0040, 0x197b: 0x0ef9, + 0x197c: 0x0f09, 0x197d: 0x1199, 0x197e: 0x0f31, 0x197f: 0x0040, + // Block 0x66, offset 0x1980 + 0x1980: 0x0f41, 0x1981: 0x0259, 0x1982: 0x0f51, 0x1983: 0x0359, 0x1984: 0x0f61, 0x1985: 0x0040, + 0x1986: 0x00d9, 0x1987: 0x0040, 0x1988: 0x0040, 0x1989: 0x0040, 0x198a: 0x01d9, 0x198b: 0x0fa9, + 0x198c: 0x0fb9, 0x198d: 0x1089, 0x198e: 0x0279, 0x198f: 0x0369, 0x1990: 0x0289, 0x1991: 0x0040, + 0x1992: 0x0039, 0x1993: 0x0ee9, 0x1994: 0x1159, 0x1995: 0x0ef9, 0x1996: 0x0f09, 0x1997: 0x1199, + 0x1998: 0x0f31, 0x1999: 0x0249, 0x199a: 0x0f41, 0x199b: 0x0259, 0x199c: 0x0f51, 0x199d: 0x0359, + 0x199e: 0x0f61, 0x199f: 0x0f71, 0x19a0: 0x00d9, 0x19a1: 0x0f99, 0x19a2: 0x2039, 0x19a3: 0x0269, + 0x19a4: 0x01d9, 0x19a5: 0x0fa9, 0x19a6: 0x0fb9, 0x19a7: 0x1089, 0x19a8: 0x0279, 0x19a9: 0x0369, + 0x19aa: 0x0289, 0x19ab: 0x13d1, 0x19ac: 0x0039, 0x19ad: 0x0ee9, 0x19ae: 0x1159, 0x19af: 0x0ef9, + 0x19b0: 0x0f09, 0x19b1: 0x1199, 0x19b2: 0x0f31, 0x19b3: 0x0249, 0x19b4: 0x0f41, 0x19b5: 0x0259, + 0x19b6: 0x0f51, 0x19b7: 0x0359, 0x19b8: 0x0f61, 0x19b9: 0x0f71, 0x19ba: 0x00d9, 0x19bb: 0x0f99, + 0x19bc: 0x2039, 0x19bd: 0x0269, 0x19be: 0x01d9, 0x19bf: 0x0fa9, + // Block 0x67, offset 0x19c0 + 0x19c0: 0x0fb9, 0x19c1: 0x1089, 0x19c2: 0x0279, 0x19c3: 0x0369, 0x19c4: 0x0289, 0x19c5: 0x13d1, + 0x19c6: 0x0039, 0x19c7: 0x0ee9, 0x19c8: 0x1159, 0x19c9: 0x0ef9, 0x19ca: 0x0f09, 0x19cb: 0x1199, + 0x19cc: 0x0f31, 0x19cd: 0x0249, 0x19ce: 0x0f41, 0x19cf: 0x0259, 0x19d0: 0x0f51, 0x19d1: 0x0359, + 0x19d2: 0x0f61, 0x19d3: 0x0f71, 0x19d4: 0x00d9, 0x19d5: 0x0f99, 0x19d6: 0x2039, 0x19d7: 0x0269, + 0x19d8: 0x01d9, 0x19d9: 0x0fa9, 0x19da: 0x0fb9, 0x19db: 0x1089, 0x19dc: 0x0279, 0x19dd: 0x0369, + 0x19de: 0x0289, 0x19df: 0x13d1, 0x19e0: 0x0039, 0x19e1: 0x0ee9, 0x19e2: 0x1159, 0x19e3: 0x0ef9, + 0x19e4: 0x0f09, 0x19e5: 0x1199, 0x19e6: 0x0f31, 0x19e7: 0x0249, 0x19e8: 0x0f41, 0x19e9: 0x0259, + 0x19ea: 0x0f51, 0x19eb: 0x0359, 0x19ec: 0x0f61, 0x19ed: 0x0f71, 0x19ee: 0x00d9, 0x19ef: 0x0f99, + 0x19f0: 0x2039, 0x19f1: 0x0269, 0x19f2: 0x01d9, 0x19f3: 0x0fa9, 0x19f4: 0x0fb9, 0x19f5: 0x1089, + 0x19f6: 0x0279, 0x19f7: 0x0369, 0x19f8: 0x0289, 0x19f9: 0x13d1, 0x19fa: 0x0039, 0x19fb: 0x0ee9, + 0x19fc: 0x1159, 0x19fd: 0x0ef9, 0x19fe: 0x0f09, 0x19ff: 0x1199, + // Block 0x68, offset 0x1a00 + 0x1a00: 0x0f31, 0x1a01: 0x0249, 0x1a02: 0x0f41, 0x1a03: 0x0259, 0x1a04: 0x0f51, 0x1a05: 0x0359, + 0x1a06: 0x0f61, 0x1a07: 0x0f71, 0x1a08: 0x00d9, 0x1a09: 0x0f99, 0x1a0a: 0x2039, 0x1a0b: 0x0269, + 0x1a0c: 0x01d9, 0x1a0d: 0x0fa9, 0x1a0e: 0x0fb9, 0x1a0f: 0x1089, 0x1a10: 0x0279, 0x1a11: 0x0369, + 0x1a12: 0x0289, 0x1a13: 0x13d1, 0x1a14: 0x0039, 0x1a15: 0x0ee9, 0x1a16: 0x1159, 0x1a17: 0x0ef9, + 0x1a18: 0x0f09, 0x1a19: 0x1199, 0x1a1a: 0x0f31, 0x1a1b: 0x0249, 0x1a1c: 0x0f41, 0x1a1d: 0x0259, + 0x1a1e: 0x0f51, 0x1a1f: 0x0359, 0x1a20: 0x0f61, 0x1a21: 0x0f71, 0x1a22: 0x00d9, 0x1a23: 0x0f99, + 0x1a24: 0x2039, 0x1a25: 0x0269, 0x1a26: 0x01d9, 0x1a27: 0x0fa9, 0x1a28: 0x0fb9, 0x1a29: 0x1089, + 0x1a2a: 0x0279, 0x1a2b: 0x0369, 0x1a2c: 0x0289, 0x1a2d: 0x13d1, 0x1a2e: 0x0039, 0x1a2f: 0x0ee9, + 0x1a30: 0x1159, 0x1a31: 0x0ef9, 0x1a32: 0x0f09, 0x1a33: 0x1199, 0x1a34: 0x0f31, 0x1a35: 0x0249, + 0x1a36: 0x0f41, 0x1a37: 0x0259, 0x1a38: 0x0f51, 0x1a39: 0x0359, 0x1a3a: 0x0f61, 0x1a3b: 0x0f71, + 0x1a3c: 0x00d9, 0x1a3d: 0x0f99, 0x1a3e: 0x2039, 0x1a3f: 0x0269, + // Block 0x69, offset 0x1a40 + 0x1a40: 0x01d9, 0x1a41: 0x0fa9, 0x1a42: 0x0fb9, 0x1a43: 0x1089, 0x1a44: 0x0279, 0x1a45: 0x0369, + 0x1a46: 0x0289, 0x1a47: 0x13d1, 0x1a48: 0x0039, 0x1a49: 0x0ee9, 0x1a4a: 0x1159, 0x1a4b: 0x0ef9, + 0x1a4c: 0x0f09, 0x1a4d: 0x1199, 0x1a4e: 0x0f31, 0x1a4f: 0x0249, 0x1a50: 0x0f41, 0x1a51: 0x0259, + 0x1a52: 0x0f51, 0x1a53: 0x0359, 0x1a54: 0x0f61, 0x1a55: 0x0f71, 0x1a56: 0x00d9, 0x1a57: 0x0f99, + 0x1a58: 0x2039, 0x1a59: 0x0269, 0x1a5a: 0x01d9, 0x1a5b: 0x0fa9, 0x1a5c: 0x0fb9, 0x1a5d: 0x1089, + 0x1a5e: 0x0279, 0x1a5f: 0x0369, 0x1a60: 0x0289, 0x1a61: 0x13d1, 0x1a62: 0x0039, 0x1a63: 0x0ee9, + 0x1a64: 0x1159, 0x1a65: 0x0ef9, 0x1a66: 0x0f09, 0x1a67: 0x1199, 0x1a68: 0x0f31, 0x1a69: 0x0249, + 0x1a6a: 0x0f41, 0x1a6b: 0x0259, 0x1a6c: 0x0f51, 0x1a6d: 0x0359, 0x1a6e: 0x0f61, 0x1a6f: 0x0f71, + 0x1a70: 0x00d9, 0x1a71: 0x0f99, 0x1a72: 0x2039, 0x1a73: 0x0269, 0x1a74: 0x01d9, 0x1a75: 0x0fa9, + 0x1a76: 0x0fb9, 0x1a77: 0x1089, 0x1a78: 0x0279, 0x1a79: 0x0369, 0x1a7a: 0x0289, 0x1a7b: 0x13d1, + 0x1a7c: 0x0039, 0x1a7d: 0x0ee9, 0x1a7e: 0x1159, 0x1a7f: 0x0ef9, + // Block 0x6a, offset 0x1a80 + 0x1a80: 0x0f09, 0x1a81: 0x1199, 0x1a82: 0x0f31, 0x1a83: 0x0249, 0x1a84: 0x0f41, 0x1a85: 0x0259, + 0x1a86: 0x0f51, 0x1a87: 0x0359, 0x1a88: 0x0f61, 0x1a89: 0x0f71, 0x1a8a: 0x00d9, 0x1a8b: 0x0f99, + 0x1a8c: 0x2039, 0x1a8d: 0x0269, 0x1a8e: 0x01d9, 0x1a8f: 0x0fa9, 0x1a90: 0x0fb9, 0x1a91: 0x1089, + 0x1a92: 0x0279, 0x1a93: 0x0369, 0x1a94: 0x0289, 0x1a95: 0x13d1, 0x1a96: 0x0039, 0x1a97: 0x0ee9, + 0x1a98: 0x1159, 0x1a99: 0x0ef9, 0x1a9a: 0x0f09, 0x1a9b: 0x1199, 0x1a9c: 0x0f31, 0x1a9d: 0x0249, + 0x1a9e: 0x0f41, 0x1a9f: 0x0259, 0x1aa0: 0x0f51, 0x1aa1: 0x0359, 0x1aa2: 0x0f61, 0x1aa3: 0x0f71, + 0x1aa4: 0x00d9, 0x1aa5: 0x0f99, 0x1aa6: 0x2039, 0x1aa7: 0x0269, 0x1aa8: 0x01d9, 0x1aa9: 0x0fa9, + 0x1aaa: 0x0fb9, 0x1aab: 0x1089, 0x1aac: 0x0279, 0x1aad: 0x0369, 0x1aae: 0x0289, 0x1aaf: 0x13d1, + 0x1ab0: 0x0039, 0x1ab1: 0x0ee9, 0x1ab2: 0x1159, 0x1ab3: 0x0ef9, 0x1ab4: 0x0f09, 0x1ab5: 0x1199, + 0x1ab6: 0x0f31, 0x1ab7: 0x0249, 0x1ab8: 0x0f41, 0x1ab9: 0x0259, 0x1aba: 0x0f51, 0x1abb: 0x0359, + 0x1abc: 0x0f61, 0x1abd: 0x0f71, 0x1abe: 0x00d9, 0x1abf: 0x0f99, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0x2039, 0x1ac1: 0x0269, 0x1ac2: 0x01d9, 0x1ac3: 0x0fa9, 0x1ac4: 0x0fb9, 0x1ac5: 0x1089, + 0x1ac6: 0x0279, 0x1ac7: 0x0369, 0x1ac8: 0x0289, 0x1ac9: 0x13d1, 0x1aca: 0x0039, 0x1acb: 0x0ee9, + 0x1acc: 0x1159, 0x1acd: 0x0ef9, 0x1ace: 0x0f09, 0x1acf: 0x1199, 0x1ad0: 0x0f31, 0x1ad1: 0x0249, + 0x1ad2: 0x0f41, 0x1ad3: 0x0259, 0x1ad4: 0x0f51, 0x1ad5: 0x0359, 0x1ad6: 0x0f61, 0x1ad7: 0x0f71, + 0x1ad8: 0x00d9, 0x1ad9: 0x0f99, 0x1ada: 0x2039, 0x1adb: 0x0269, 0x1adc: 0x01d9, 0x1add: 0x0fa9, + 0x1ade: 0x0fb9, 0x1adf: 0x1089, 0x1ae0: 0x0279, 0x1ae1: 0x0369, 0x1ae2: 0x0289, 0x1ae3: 0x13d1, + 0x1ae4: 0xba81, 0x1ae5: 0xba99, 0x1ae6: 0x0040, 0x1ae7: 0x0040, 0x1ae8: 0xbab1, 0x1ae9: 0x1099, + 0x1aea: 0x10b1, 0x1aeb: 0x10c9, 0x1aec: 0xbac9, 0x1aed: 0xbae1, 0x1aee: 0xbaf9, 0x1aef: 0x1429, + 0x1af0: 0x1a31, 0x1af1: 0xbb11, 0x1af2: 0xbb29, 0x1af3: 0xbb41, 0x1af4: 0xbb59, 0x1af5: 0xbb71, + 0x1af6: 0xbb89, 0x1af7: 0x2109, 0x1af8: 0x1111, 0x1af9: 0x1429, 0x1afa: 0xbba1, 0x1afb: 0xbbb9, + 0x1afc: 0xbbd1, 0x1afd: 0x10e1, 0x1afe: 0x10f9, 0x1aff: 0xbbe9, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0x2079, 0x1b01: 0xbc01, 0x1b02: 0xbab1, 0x1b03: 0x1099, 0x1b04: 0x10b1, 0x1b05: 0x10c9, + 0x1b06: 0xbac9, 0x1b07: 0xbae1, 0x1b08: 0xbaf9, 0x1b09: 0x1429, 0x1b0a: 0x1a31, 0x1b0b: 0xbb11, + 0x1b0c: 0xbb29, 0x1b0d: 0xbb41, 0x1b0e: 0xbb59, 0x1b0f: 0xbb71, 0x1b10: 0xbb89, 0x1b11: 0x2109, + 0x1b12: 0x1111, 0x1b13: 0xbba1, 0x1b14: 0xbba1, 0x1b15: 0xbbb9, 0x1b16: 0xbbd1, 0x1b17: 0x10e1, + 0x1b18: 0x10f9, 0x1b19: 0xbbe9, 0x1b1a: 0x2079, 0x1b1b: 0xbc21, 0x1b1c: 0xbac9, 0x1b1d: 0x1429, + 0x1b1e: 0xbb11, 0x1b1f: 0x10e1, 0x1b20: 0x1111, 0x1b21: 0x2109, 0x1b22: 0xbab1, 0x1b23: 0x1099, + 0x1b24: 0x10b1, 0x1b25: 0x10c9, 0x1b26: 0xbac9, 0x1b27: 0xbae1, 0x1b28: 0xbaf9, 0x1b29: 0x1429, + 0x1b2a: 0x1a31, 0x1b2b: 0xbb11, 0x1b2c: 0xbb29, 0x1b2d: 0xbb41, 0x1b2e: 0xbb59, 0x1b2f: 0xbb71, + 0x1b30: 0xbb89, 0x1b31: 0x2109, 0x1b32: 0x1111, 0x1b33: 0x1429, 0x1b34: 0xbba1, 0x1b35: 0xbbb9, + 0x1b36: 0xbbd1, 0x1b37: 0x10e1, 0x1b38: 0x10f9, 0x1b39: 0xbbe9, 0x1b3a: 0x2079, 0x1b3b: 0xbc01, + 0x1b3c: 0xbab1, 0x1b3d: 0x1099, 0x1b3e: 0x10b1, 0x1b3f: 0x10c9, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0xbac9, 0x1b41: 0xbae1, 0x1b42: 0xbaf9, 0x1b43: 0x1429, 0x1b44: 0x1a31, 0x1b45: 0xbb11, + 0x1b46: 0xbb29, 0x1b47: 0xbb41, 0x1b48: 0xbb59, 0x1b49: 0xbb71, 0x1b4a: 0xbb89, 0x1b4b: 0x2109, + 0x1b4c: 0x1111, 0x1b4d: 0xbba1, 0x1b4e: 0xbba1, 0x1b4f: 0xbbb9, 0x1b50: 0xbbd1, 0x1b51: 0x10e1, + 0x1b52: 0x10f9, 0x1b53: 0xbbe9, 0x1b54: 0x2079, 0x1b55: 0xbc21, 0x1b56: 0xbac9, 0x1b57: 0x1429, + 0x1b58: 0xbb11, 0x1b59: 0x10e1, 0x1b5a: 0x1111, 0x1b5b: 0x2109, 0x1b5c: 0xbab1, 0x1b5d: 0x1099, + 0x1b5e: 0x10b1, 0x1b5f: 0x10c9, 0x1b60: 0xbac9, 0x1b61: 0xbae1, 0x1b62: 0xbaf9, 0x1b63: 0x1429, + 0x1b64: 0x1a31, 0x1b65: 0xbb11, 0x1b66: 0xbb29, 0x1b67: 0xbb41, 0x1b68: 0xbb59, 0x1b69: 0xbb71, + 0x1b6a: 0xbb89, 0x1b6b: 0x2109, 0x1b6c: 0x1111, 0x1b6d: 0x1429, 0x1b6e: 0xbba1, 0x1b6f: 0xbbb9, + 0x1b70: 0xbbd1, 0x1b71: 0x10e1, 0x1b72: 0x10f9, 0x1b73: 0xbbe9, 0x1b74: 0x2079, 0x1b75: 0xbc01, + 0x1b76: 0xbab1, 0x1b77: 0x1099, 0x1b78: 0x10b1, 0x1b79: 0x10c9, 0x1b7a: 0xbac9, 0x1b7b: 0xbae1, + 0x1b7c: 0xbaf9, 0x1b7d: 0x1429, 0x1b7e: 0x1a31, 0x1b7f: 0xbb11, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0xbb29, 0x1b81: 0xbb41, 0x1b82: 0xbb59, 0x1b83: 0xbb71, 0x1b84: 0xbb89, 0x1b85: 0x2109, + 0x1b86: 0x1111, 0x1b87: 0xbba1, 0x1b88: 0xbba1, 0x1b89: 0xbbb9, 0x1b8a: 0xbbd1, 0x1b8b: 0x10e1, + 0x1b8c: 0x10f9, 0x1b8d: 0xbbe9, 0x1b8e: 0x2079, 0x1b8f: 0xbc21, 0x1b90: 0xbac9, 0x1b91: 0x1429, + 0x1b92: 0xbb11, 0x1b93: 0x10e1, 0x1b94: 0x1111, 0x1b95: 0x2109, 0x1b96: 0xbab1, 0x1b97: 0x1099, + 0x1b98: 0x10b1, 0x1b99: 0x10c9, 0x1b9a: 0xbac9, 0x1b9b: 0xbae1, 0x1b9c: 0xbaf9, 0x1b9d: 0x1429, + 0x1b9e: 0x1a31, 0x1b9f: 0xbb11, 0x1ba0: 0xbb29, 0x1ba1: 0xbb41, 0x1ba2: 0xbb59, 0x1ba3: 0xbb71, + 0x1ba4: 0xbb89, 0x1ba5: 0x2109, 0x1ba6: 0x1111, 0x1ba7: 0x1429, 0x1ba8: 0xbba1, 0x1ba9: 0xbbb9, + 0x1baa: 0xbbd1, 0x1bab: 0x10e1, 0x1bac: 0x10f9, 0x1bad: 0xbbe9, 0x1bae: 0x2079, 0x1baf: 0xbc01, + 0x1bb0: 0xbab1, 0x1bb1: 0x1099, 0x1bb2: 0x10b1, 0x1bb3: 0x10c9, 0x1bb4: 0xbac9, 0x1bb5: 0xbae1, + 0x1bb6: 0xbaf9, 0x1bb7: 0x1429, 0x1bb8: 0x1a31, 0x1bb9: 0xbb11, 0x1bba: 0xbb29, 0x1bbb: 0xbb41, + 0x1bbc: 0xbb59, 0x1bbd: 0xbb71, 0x1bbe: 0xbb89, 0x1bbf: 0x2109, + // Block 0x6f, offset 0x1bc0 + 0x1bc0: 0x1111, 0x1bc1: 0xbba1, 0x1bc2: 0xbba1, 0x1bc3: 0xbbb9, 0x1bc4: 0xbbd1, 0x1bc5: 0x10e1, + 0x1bc6: 0x10f9, 0x1bc7: 0xbbe9, 0x1bc8: 0x2079, 0x1bc9: 0xbc21, 0x1bca: 0xbac9, 0x1bcb: 0x1429, + 0x1bcc: 0xbb11, 0x1bcd: 0x10e1, 0x1bce: 0x1111, 0x1bcf: 0x2109, 0x1bd0: 0xbab1, 0x1bd1: 0x1099, + 0x1bd2: 0x10b1, 0x1bd3: 0x10c9, 0x1bd4: 0xbac9, 0x1bd5: 0xbae1, 0x1bd6: 0xbaf9, 0x1bd7: 0x1429, + 0x1bd8: 0x1a31, 0x1bd9: 0xbb11, 0x1bda: 0xbb29, 0x1bdb: 0xbb41, 0x1bdc: 0xbb59, 0x1bdd: 0xbb71, + 0x1bde: 0xbb89, 0x1bdf: 0x2109, 0x1be0: 0x1111, 0x1be1: 0x1429, 0x1be2: 0xbba1, 0x1be3: 0xbbb9, + 0x1be4: 0xbbd1, 0x1be5: 0x10e1, 0x1be6: 0x10f9, 0x1be7: 0xbbe9, 0x1be8: 0x2079, 0x1be9: 0xbc01, + 0x1bea: 0xbab1, 0x1beb: 0x1099, 0x1bec: 0x10b1, 0x1bed: 0x10c9, 0x1bee: 0xbac9, 0x1bef: 0xbae1, + 0x1bf0: 0xbaf9, 0x1bf1: 0x1429, 0x1bf2: 0x1a31, 0x1bf3: 0xbb11, 0x1bf4: 0xbb29, 0x1bf5: 0xbb41, + 0x1bf6: 0xbb59, 0x1bf7: 0xbb71, 0x1bf8: 0xbb89, 0x1bf9: 0x2109, 0x1bfa: 0x1111, 0x1bfb: 0xbba1, + 0x1bfc: 0xbba1, 0x1bfd: 0xbbb9, 0x1bfe: 0xbbd1, 0x1bff: 0x10e1, + // Block 0x70, offset 0x1c00 + 0x1c00: 0x10f9, 0x1c01: 0xbbe9, 0x1c02: 0x2079, 0x1c03: 0xbc21, 0x1c04: 0xbac9, 0x1c05: 0x1429, + 0x1c06: 0xbb11, 0x1c07: 0x10e1, 0x1c08: 0x1111, 0x1c09: 0x2109, 0x1c0a: 0xbc41, 0x1c0b: 0xbc41, + 0x1c0c: 0x0040, 0x1c0d: 0x0040, 0x1c0e: 0x1f41, 0x1c0f: 0x00c9, 0x1c10: 0x0069, 0x1c11: 0x0079, + 0x1c12: 0x1f51, 0x1c13: 0x1f61, 0x1c14: 0x1f71, 0x1c15: 0x1f81, 0x1c16: 0x1f91, 0x1c17: 0x1fa1, + 0x1c18: 0x1f41, 0x1c19: 0x00c9, 0x1c1a: 0x0069, 0x1c1b: 0x0079, 0x1c1c: 0x1f51, 0x1c1d: 0x1f61, + 0x1c1e: 0x1f71, 0x1c1f: 0x1f81, 0x1c20: 0x1f91, 0x1c21: 0x1fa1, 0x1c22: 0x1f41, 0x1c23: 0x00c9, + 0x1c24: 0x0069, 0x1c25: 0x0079, 0x1c26: 0x1f51, 0x1c27: 0x1f61, 0x1c28: 0x1f71, 0x1c29: 0x1f81, + 0x1c2a: 0x1f91, 0x1c2b: 0x1fa1, 0x1c2c: 0x1f41, 0x1c2d: 0x00c9, 0x1c2e: 0x0069, 0x1c2f: 0x0079, + 0x1c30: 0x1f51, 0x1c31: 0x1f61, 0x1c32: 0x1f71, 0x1c33: 0x1f81, 0x1c34: 0x1f91, 0x1c35: 0x1fa1, + 0x1c36: 0x1f41, 0x1c37: 0x00c9, 0x1c38: 0x0069, 0x1c39: 0x0079, 0x1c3a: 0x1f51, 0x1c3b: 0x1f61, + 0x1c3c: 0x1f71, 0x1c3d: 0x1f81, 0x1c3e: 0x1f91, 0x1c3f: 0x1fa1, + // Block 0x71, offset 0x1c40 + 0x1c40: 0xe115, 0x1c41: 0xe115, 0x1c42: 0xe135, 0x1c43: 0xe135, 0x1c44: 0xe115, 0x1c45: 0xe115, + 0x1c46: 0xe175, 0x1c47: 0xe175, 0x1c48: 0xe115, 0x1c49: 0xe115, 0x1c4a: 0xe135, 0x1c4b: 0xe135, + 0x1c4c: 0xe115, 0x1c4d: 0xe115, 0x1c4e: 0xe1f5, 0x1c4f: 0xe1f5, 0x1c50: 0xe115, 0x1c51: 0xe115, + 0x1c52: 0xe135, 0x1c53: 0xe135, 0x1c54: 0xe115, 0x1c55: 0xe115, 0x1c56: 0xe175, 0x1c57: 0xe175, + 0x1c58: 0xe115, 0x1c59: 0xe115, 0x1c5a: 0xe135, 0x1c5b: 0xe135, 0x1c5c: 0xe115, 0x1c5d: 0xe115, + 0x1c5e: 0x8b05, 0x1c5f: 0x8b05, 0x1c60: 0x04b5, 0x1c61: 0x04b5, 0x1c62: 0x0a08, 0x1c63: 0x0a08, + 0x1c64: 0x0a08, 0x1c65: 0x0a08, 0x1c66: 0x0a08, 0x1c67: 0x0a08, 0x1c68: 0x0a08, 0x1c69: 0x0a08, + 0x1c6a: 0x0a08, 0x1c6b: 0x0a08, 0x1c6c: 0x0a08, 0x1c6d: 0x0a08, 0x1c6e: 0x0a08, 0x1c6f: 0x0a08, + 0x1c70: 0x0a08, 0x1c71: 0x0a08, 0x1c72: 0x0a08, 0x1c73: 0x0a08, 0x1c74: 0x0a08, 0x1c75: 0x0a08, + 0x1c76: 0x0a08, 0x1c77: 0x0a08, 0x1c78: 0x0a08, 0x1c79: 0x0a08, 0x1c7a: 0x0a08, 0x1c7b: 0x0a08, + 0x1c7c: 0x0a08, 0x1c7d: 0x0a08, 0x1c7e: 0x0a08, 0x1c7f: 0x0a08, + // Block 0x72, offset 0x1c80 + 0x1c80: 0xb189, 0x1c81: 0xb1a1, 0x1c82: 0xb201, 0x1c83: 0xb249, 0x1c84: 0x0040, 0x1c85: 0xb411, + 0x1c86: 0xb291, 0x1c87: 0xb219, 0x1c88: 0xb309, 0x1c89: 0xb429, 0x1c8a: 0xb399, 0x1c8b: 0xb3b1, + 0x1c8c: 0xb3c9, 0x1c8d: 0xb3e1, 0x1c8e: 0xb2a9, 0x1c8f: 0xb339, 0x1c90: 0xb369, 0x1c91: 0xb2d9, + 0x1c92: 0xb381, 0x1c93: 0xb279, 0x1c94: 0xb2c1, 0x1c95: 0xb1d1, 0x1c96: 0xb1e9, 0x1c97: 0xb231, + 0x1c98: 0xb261, 0x1c99: 0xb2f1, 0x1c9a: 0xb321, 0x1c9b: 0xb351, 0x1c9c: 0xbc59, 0x1c9d: 0x7949, + 0x1c9e: 0xbc71, 0x1c9f: 0xbc89, 0x1ca0: 0x0040, 0x1ca1: 0xb1a1, 0x1ca2: 0xb201, 0x1ca3: 0x0040, + 0x1ca4: 0xb3f9, 0x1ca5: 0x0040, 0x1ca6: 0x0040, 0x1ca7: 0xb219, 0x1ca8: 0x0040, 0x1ca9: 0xb429, + 0x1caa: 0xb399, 0x1cab: 0xb3b1, 0x1cac: 0xb3c9, 0x1cad: 0xb3e1, 0x1cae: 0xb2a9, 0x1caf: 0xb339, + 0x1cb0: 0xb369, 0x1cb1: 0xb2d9, 0x1cb2: 0xb381, 0x1cb3: 0x0040, 0x1cb4: 0xb2c1, 0x1cb5: 0xb1d1, + 0x1cb6: 0xb1e9, 0x1cb7: 0xb231, 0x1cb8: 0x0040, 0x1cb9: 0xb2f1, 0x1cba: 0x0040, 0x1cbb: 0xb351, + 0x1cbc: 0x0040, 0x1cbd: 0x0040, 0x1cbe: 0x0040, 0x1cbf: 0x0040, + // Block 0x73, offset 0x1cc0 + 0x1cc0: 0x0040, 0x1cc1: 0x0040, 0x1cc2: 0xb201, 0x1cc3: 0x0040, 0x1cc4: 0x0040, 0x1cc5: 0x0040, + 0x1cc6: 0x0040, 0x1cc7: 0xb219, 0x1cc8: 0x0040, 0x1cc9: 0xb429, 0x1cca: 0x0040, 0x1ccb: 0xb3b1, + 0x1ccc: 0x0040, 0x1ccd: 0xb3e1, 0x1cce: 0xb2a9, 0x1ccf: 0xb339, 0x1cd0: 0x0040, 0x1cd1: 0xb2d9, + 0x1cd2: 0xb381, 0x1cd3: 0x0040, 0x1cd4: 0xb2c1, 0x1cd5: 0x0040, 0x1cd6: 0x0040, 0x1cd7: 0xb231, + 0x1cd8: 0x0040, 0x1cd9: 0xb2f1, 0x1cda: 0x0040, 0x1cdb: 0xb351, 0x1cdc: 0x0040, 0x1cdd: 0x7949, + 0x1cde: 0x0040, 0x1cdf: 0xbc89, 0x1ce0: 0x0040, 0x1ce1: 0xb1a1, 0x1ce2: 0xb201, 0x1ce3: 0x0040, + 0x1ce4: 0xb3f9, 0x1ce5: 0x0040, 0x1ce6: 0x0040, 0x1ce7: 0xb219, 0x1ce8: 0xb309, 0x1ce9: 0xb429, + 0x1cea: 0xb399, 0x1ceb: 0x0040, 0x1cec: 0xb3c9, 0x1ced: 0xb3e1, 0x1cee: 0xb2a9, 0x1cef: 0xb339, + 0x1cf0: 0xb369, 0x1cf1: 0xb2d9, 0x1cf2: 0xb381, 0x1cf3: 0x0040, 0x1cf4: 0xb2c1, 0x1cf5: 0xb1d1, + 0x1cf6: 0xb1e9, 0x1cf7: 0xb231, 0x1cf8: 0x0040, 0x1cf9: 0xb2f1, 0x1cfa: 0xb321, 0x1cfb: 0xb351, + 0x1cfc: 0xbc59, 0x1cfd: 0x0040, 0x1cfe: 0xbc71, 0x1cff: 0x0040, + // Block 0x74, offset 0x1d00 + 0x1d00: 0xb189, 0x1d01: 0xb1a1, 0x1d02: 0xb201, 0x1d03: 0xb249, 0x1d04: 0xb3f9, 0x1d05: 0xb411, + 0x1d06: 0xb291, 0x1d07: 0xb219, 0x1d08: 0xb309, 0x1d09: 0xb429, 0x1d0a: 0x0040, 0x1d0b: 0xb3b1, + 0x1d0c: 0xb3c9, 0x1d0d: 0xb3e1, 0x1d0e: 0xb2a9, 0x1d0f: 0xb339, 0x1d10: 0xb369, 0x1d11: 0xb2d9, + 0x1d12: 0xb381, 0x1d13: 0xb279, 0x1d14: 0xb2c1, 0x1d15: 0xb1d1, 0x1d16: 0xb1e9, 0x1d17: 0xb231, + 0x1d18: 0xb261, 0x1d19: 0xb2f1, 0x1d1a: 0xb321, 0x1d1b: 0xb351, 0x1d1c: 0x0040, 0x1d1d: 0x0040, + 0x1d1e: 0x0040, 0x1d1f: 0x0040, 0x1d20: 0x0040, 0x1d21: 0xb1a1, 0x1d22: 0xb201, 0x1d23: 0xb249, + 0x1d24: 0x0040, 0x1d25: 0xb411, 0x1d26: 0xb291, 0x1d27: 0xb219, 0x1d28: 0xb309, 0x1d29: 0xb429, + 0x1d2a: 0x0040, 0x1d2b: 0xb3b1, 0x1d2c: 0xb3c9, 0x1d2d: 0xb3e1, 0x1d2e: 0xb2a9, 0x1d2f: 0xb339, + 0x1d30: 0xb369, 0x1d31: 0xb2d9, 0x1d32: 0xb381, 0x1d33: 0xb279, 0x1d34: 0xb2c1, 0x1d35: 0xb1d1, + 0x1d36: 0xb1e9, 0x1d37: 0xb231, 0x1d38: 0xb261, 0x1d39: 0xb2f1, 0x1d3a: 0xb321, 0x1d3b: 0xb351, + 0x1d3c: 0x0040, 0x1d3d: 0x0040, 0x1d3e: 0x0040, 0x1d3f: 0x0040, + // Block 0x75, offset 0x1d40 + 0x1d40: 0x0040, 0x1d41: 0xbca2, 0x1d42: 0xbcba, 0x1d43: 0xbcd2, 0x1d44: 0xbcea, 0x1d45: 0xbd02, + 0x1d46: 0xbd1a, 0x1d47: 0xbd32, 0x1d48: 0xbd4a, 0x1d49: 0xbd62, 0x1d4a: 0xbd7a, 0x1d4b: 0x0018, + 0x1d4c: 0x0018, 0x1d4d: 0x0040, 0x1d4e: 0x0040, 0x1d4f: 0x0040, 0x1d50: 0xbd92, 0x1d51: 0xbdb2, + 0x1d52: 0xbdd2, 0x1d53: 0xbdf2, 0x1d54: 0xbe12, 0x1d55: 0xbe32, 0x1d56: 0xbe52, 0x1d57: 0xbe72, + 0x1d58: 0xbe92, 0x1d59: 0xbeb2, 0x1d5a: 0xbed2, 0x1d5b: 0xbef2, 0x1d5c: 0xbf12, 0x1d5d: 0xbf32, + 0x1d5e: 0xbf52, 0x1d5f: 0xbf72, 0x1d60: 0xbf92, 0x1d61: 0xbfb2, 0x1d62: 0xbfd2, 0x1d63: 0xbff2, + 0x1d64: 0xc012, 0x1d65: 0xc032, 0x1d66: 0xc052, 0x1d67: 0xc072, 0x1d68: 0xc092, 0x1d69: 0xc0b2, + 0x1d6a: 0xc0d1, 0x1d6b: 0x1159, 0x1d6c: 0x0269, 0x1d6d: 0x6671, 0x1d6e: 0xc111, 0x1d6f: 0x0018, + 0x1d70: 0x0039, 0x1d71: 0x0ee9, 0x1d72: 0x1159, 0x1d73: 0x0ef9, 0x1d74: 0x0f09, 0x1d75: 0x1199, + 0x1d76: 0x0f31, 0x1d77: 0x0249, 0x1d78: 0x0f41, 0x1d79: 0x0259, 0x1d7a: 0x0f51, 0x1d7b: 0x0359, + 0x1d7c: 0x0f61, 0x1d7d: 0x0f71, 0x1d7e: 0x00d9, 0x1d7f: 0x0f99, + // Block 0x76, offset 0x1d80 + 0x1d80: 0x2039, 0x1d81: 0x0269, 0x1d82: 0x01d9, 0x1d83: 0x0fa9, 0x1d84: 0x0fb9, 0x1d85: 0x1089, + 0x1d86: 0x0279, 0x1d87: 0x0369, 0x1d88: 0x0289, 0x1d89: 0x13d1, 0x1d8a: 0xc129, 0x1d8b: 0x65b1, + 0x1d8c: 0xc141, 0x1d8d: 0x1441, 0x1d8e: 0xc159, 0x1d8f: 0xc179, 0x1d90: 0x0018, 0x1d91: 0x0018, + 0x1d92: 0x0018, 0x1d93: 0x0018, 0x1d94: 0x0018, 0x1d95: 0x0018, 0x1d96: 0x0018, 0x1d97: 0x0018, + 0x1d98: 0x0018, 0x1d99: 0x0018, 0x1d9a: 0x0018, 0x1d9b: 0x0018, 0x1d9c: 0x0018, 0x1d9d: 0x0018, + 0x1d9e: 0x0018, 0x1d9f: 0x0018, 0x1da0: 0x0018, 0x1da1: 0x0018, 0x1da2: 0x0018, 0x1da3: 0x0018, + 0x1da4: 0x0018, 0x1da5: 0x0018, 0x1da6: 0x0018, 0x1da7: 0x0018, 0x1da8: 0x0018, 0x1da9: 0x0018, + 0x1daa: 0xc191, 0x1dab: 0xc1a9, 0x1dac: 0x0040, 0x1dad: 0x0040, 0x1dae: 0x0040, 0x1daf: 0x0040, + 0x1db0: 0x0018, 0x1db1: 0x0018, 0x1db2: 0x0018, 0x1db3: 0x0018, 0x1db4: 0x0018, 0x1db5: 0x0018, + 0x1db6: 0x0018, 0x1db7: 0x0018, 0x1db8: 0x0018, 0x1db9: 0x0018, 0x1dba: 0x0018, 0x1dbb: 0x0018, + 0x1dbc: 0x0018, 0x1dbd: 0x0018, 0x1dbe: 0x0018, 0x1dbf: 0x0018, + // Block 0x77, offset 0x1dc0 + 0x1dc0: 0xc1d9, 0x1dc1: 0xc211, 0x1dc2: 0xc249, 0x1dc3: 0x0040, 0x1dc4: 0x0040, 0x1dc5: 0x0040, + 0x1dc6: 0x0040, 0x1dc7: 0x0040, 0x1dc8: 0x0040, 0x1dc9: 0x0040, 0x1dca: 0x0040, 0x1dcb: 0x0040, + 0x1dcc: 0x0040, 0x1dcd: 0x0040, 0x1dce: 0x0040, 0x1dcf: 0x0040, 0x1dd0: 0xc269, 0x1dd1: 0xc289, + 0x1dd2: 0xc2a9, 0x1dd3: 0xc2c9, 0x1dd4: 0xc2e9, 0x1dd5: 0xc309, 0x1dd6: 0xc329, 0x1dd7: 0xc349, + 0x1dd8: 0xc369, 0x1dd9: 0xc389, 0x1dda: 0xc3a9, 0x1ddb: 0xc3c9, 0x1ddc: 0xc3e9, 0x1ddd: 0xc409, + 0x1dde: 0xc429, 0x1ddf: 0xc449, 0x1de0: 0xc469, 0x1de1: 0xc489, 0x1de2: 0xc4a9, 0x1de3: 0xc4c9, + 0x1de4: 0xc4e9, 0x1de5: 0xc509, 0x1de6: 0xc529, 0x1de7: 0xc549, 0x1de8: 0xc569, 0x1de9: 0xc589, + 0x1dea: 0xc5a9, 0x1deb: 0xc5c9, 0x1dec: 0xc5e9, 0x1ded: 0xc609, 0x1dee: 0xc629, 0x1def: 0xc649, + 0x1df0: 0xc669, 0x1df1: 0xc689, 0x1df2: 0xc6a9, 0x1df3: 0xc6c9, 0x1df4: 0xc6e9, 0x1df5: 0xc709, + 0x1df6: 0xc729, 0x1df7: 0xc749, 0x1df8: 0xc769, 0x1df9: 0xc789, 0x1dfa: 0xc7a9, 0x1dfb: 0xc7c9, + 0x1dfc: 0x0040, 0x1dfd: 0x0040, 0x1dfe: 0x0040, 0x1dff: 0x0040, + // Block 0x78, offset 0x1e00 + 0x1e00: 0xcaf9, 0x1e01: 0xcb19, 0x1e02: 0xcb39, 0x1e03: 0x8b1d, 0x1e04: 0xcb59, 0x1e05: 0xcb79, + 0x1e06: 0xcb99, 0x1e07: 0xcbb9, 0x1e08: 0xcbd9, 0x1e09: 0xcbf9, 0x1e0a: 0xcc19, 0x1e0b: 0xcc39, + 0x1e0c: 0xcc59, 0x1e0d: 0x8b3d, 0x1e0e: 0xcc79, 0x1e0f: 0xcc99, 0x1e10: 0xccb9, 0x1e11: 0xccd9, + 0x1e12: 0x8b5d, 0x1e13: 0xccf9, 0x1e14: 0xcd19, 0x1e15: 0xc429, 0x1e16: 0x8b7d, 0x1e17: 0xcd39, + 0x1e18: 0xcd59, 0x1e19: 0xcd79, 0x1e1a: 0xcd99, 0x1e1b: 0xcdb9, 0x1e1c: 0x8b9d, 0x1e1d: 0xcdd9, + 0x1e1e: 0xcdf9, 0x1e1f: 0xce19, 0x1e20: 0xce39, 0x1e21: 0xce59, 0x1e22: 0xc789, 0x1e23: 0xce79, + 0x1e24: 0xce99, 0x1e25: 0xceb9, 0x1e26: 0xced9, 0x1e27: 0xcef9, 0x1e28: 0xcf19, 0x1e29: 0xcf39, + 0x1e2a: 0xcf59, 0x1e2b: 0xcf79, 0x1e2c: 0xcf99, 0x1e2d: 0xcfb9, 0x1e2e: 0xcfd9, 0x1e2f: 0xcff9, + 0x1e30: 0xd019, 0x1e31: 0xd039, 0x1e32: 0xd039, 0x1e33: 0xd039, 0x1e34: 0x8bbd, 0x1e35: 0xd059, + 0x1e36: 0xd079, 0x1e37: 0xd099, 0x1e38: 0x8bdd, 0x1e39: 0xd0b9, 0x1e3a: 0xd0d9, 0x1e3b: 0xd0f9, + 0x1e3c: 0xd119, 0x1e3d: 0xd139, 0x1e3e: 0xd159, 0x1e3f: 0xd179, + // Block 0x79, offset 0x1e40 + 0x1e40: 0xd199, 0x1e41: 0xd1b9, 0x1e42: 0xd1d9, 0x1e43: 0xd1f9, 0x1e44: 0xd219, 0x1e45: 0xd239, + 0x1e46: 0xd239, 0x1e47: 0xd259, 0x1e48: 0xd279, 0x1e49: 0xd299, 0x1e4a: 0xd2b9, 0x1e4b: 0xd2d9, + 0x1e4c: 0xd2f9, 0x1e4d: 0xd319, 0x1e4e: 0xd339, 0x1e4f: 0xd359, 0x1e50: 0xd379, 0x1e51: 0xd399, + 0x1e52: 0xd3b9, 0x1e53: 0xd3d9, 0x1e54: 0xd3f9, 0x1e55: 0xd419, 0x1e56: 0xd439, 0x1e57: 0xd459, + 0x1e58: 0xd479, 0x1e59: 0x8bfd, 0x1e5a: 0xd499, 0x1e5b: 0xd4b9, 0x1e5c: 0xd4d9, 0x1e5d: 0xc309, + 0x1e5e: 0xd4f9, 0x1e5f: 0xd519, 0x1e60: 0x8c1d, 0x1e61: 0x8c3d, 0x1e62: 0xd539, 0x1e63: 0xd559, + 0x1e64: 0xd579, 0x1e65: 0xd599, 0x1e66: 0xd5b9, 0x1e67: 0xd5d9, 0x1e68: 0x2040, 0x1e69: 0xd5f9, + 0x1e6a: 0xd619, 0x1e6b: 0xd619, 0x1e6c: 0x8c5d, 0x1e6d: 0xd639, 0x1e6e: 0xd659, 0x1e6f: 0xd679, + 0x1e70: 0xd699, 0x1e71: 0x8c7d, 0x1e72: 0xd6b9, 0x1e73: 0xd6d9, 0x1e74: 0x2040, 0x1e75: 0xd6f9, + 0x1e76: 0xd719, 0x1e77: 0xd739, 0x1e78: 0xd759, 0x1e79: 0xd779, 0x1e7a: 0xd799, 0x1e7b: 0x8c9d, + 0x1e7c: 0xd7b9, 0x1e7d: 0x8cbd, 0x1e7e: 0xd7d9, 0x1e7f: 0xd7f9, + // Block 0x7a, offset 0x1e80 + 0x1e80: 0xd819, 0x1e81: 0xd839, 0x1e82: 0xd859, 0x1e83: 0xd879, 0x1e84: 0xd899, 0x1e85: 0xd8b9, + 0x1e86: 0xd8d9, 0x1e87: 0xd8f9, 0x1e88: 0xd919, 0x1e89: 0x8cdd, 0x1e8a: 0xd939, 0x1e8b: 0xd959, + 0x1e8c: 0xd979, 0x1e8d: 0xd999, 0x1e8e: 0xd9b9, 0x1e8f: 0x8cfd, 0x1e90: 0xd9d9, 0x1e91: 0x8d1d, + 0x1e92: 0x8d3d, 0x1e93: 0xd9f9, 0x1e94: 0xda19, 0x1e95: 0xda19, 0x1e96: 0xda39, 0x1e97: 0x8d5d, + 0x1e98: 0x8d7d, 0x1e99: 0xda59, 0x1e9a: 0xda79, 0x1e9b: 0xda99, 0x1e9c: 0xdab9, 0x1e9d: 0xdad9, + 0x1e9e: 0xdaf9, 0x1e9f: 0xdb19, 0x1ea0: 0xdb39, 0x1ea1: 0xdb59, 0x1ea2: 0xdb79, 0x1ea3: 0xdb99, + 0x1ea4: 0x8d9d, 0x1ea5: 0xdbb9, 0x1ea6: 0xdbd9, 0x1ea7: 0xdbf9, 0x1ea8: 0xdc19, 0x1ea9: 0xdbf9, + 0x1eaa: 0xdc39, 0x1eab: 0xdc59, 0x1eac: 0xdc79, 0x1ead: 0xdc99, 0x1eae: 0xdcb9, 0x1eaf: 0xdcd9, + 0x1eb0: 0xdcf9, 0x1eb1: 0xdd19, 0x1eb2: 0xdd39, 0x1eb3: 0xdd59, 0x1eb4: 0xdd79, 0x1eb5: 0xdd99, + 0x1eb6: 0xddb9, 0x1eb7: 0xddd9, 0x1eb8: 0x8dbd, 0x1eb9: 0xddf9, 0x1eba: 0xde19, 0x1ebb: 0xde39, + 0x1ebc: 0xde59, 0x1ebd: 0xde79, 0x1ebe: 0x8ddd, 0x1ebf: 0xde99, + // Block 0x7b, offset 0x1ec0 + 0x1ec0: 0xe599, 0x1ec1: 0xe5b9, 0x1ec2: 0xe5d9, 0x1ec3: 0xe5f9, 0x1ec4: 0xe619, 0x1ec5: 0xe639, + 0x1ec6: 0x8efd, 0x1ec7: 0xe659, 0x1ec8: 0xe679, 0x1ec9: 0xe699, 0x1eca: 0xe6b9, 0x1ecb: 0xe6d9, + 0x1ecc: 0xe6f9, 0x1ecd: 0x8f1d, 0x1ece: 0xe719, 0x1ecf: 0xe739, 0x1ed0: 0x8f3d, 0x1ed1: 0x8f5d, + 0x1ed2: 0xe759, 0x1ed3: 0xe779, 0x1ed4: 0xe799, 0x1ed5: 0xe7b9, 0x1ed6: 0xe7d9, 0x1ed7: 0xe7f9, + 0x1ed8: 0xe819, 0x1ed9: 0xe839, 0x1eda: 0xe859, 0x1edb: 0x8f7d, 0x1edc: 0xe879, 0x1edd: 0x8f9d, + 0x1ede: 0xe899, 0x1edf: 0x2040, 0x1ee0: 0xe8b9, 0x1ee1: 0xe8d9, 0x1ee2: 0xe8f9, 0x1ee3: 0x8fbd, + 0x1ee4: 0xe919, 0x1ee5: 0xe939, 0x1ee6: 0x8fdd, 0x1ee7: 0x8ffd, 0x1ee8: 0xe959, 0x1ee9: 0xe979, + 0x1eea: 0xe999, 0x1eeb: 0xe9b9, 0x1eec: 0xe9d9, 0x1eed: 0xe9d9, 0x1eee: 0xe9f9, 0x1eef: 0xea19, + 0x1ef0: 0xea39, 0x1ef1: 0xea59, 0x1ef2: 0xea79, 0x1ef3: 0xea99, 0x1ef4: 0xeab9, 0x1ef5: 0x901d, + 0x1ef6: 0xead9, 0x1ef7: 0x903d, 0x1ef8: 0xeaf9, 0x1ef9: 0x905d, 0x1efa: 0xeb19, 0x1efb: 0x907d, + 0x1efc: 0x909d, 0x1efd: 0x90bd, 0x1efe: 0xeb39, 0x1eff: 0xeb59, + // Block 0x7c, offset 0x1f00 + 0x1f00: 0xeb79, 0x1f01: 0x90dd, 0x1f02: 0x90fd, 0x1f03: 0x911d, 0x1f04: 0x913d, 0x1f05: 0xeb99, + 0x1f06: 0xebb9, 0x1f07: 0xebb9, 0x1f08: 0xebd9, 0x1f09: 0xebf9, 0x1f0a: 0xec19, 0x1f0b: 0xec39, + 0x1f0c: 0xec59, 0x1f0d: 0x915d, 0x1f0e: 0xec79, 0x1f0f: 0xec99, 0x1f10: 0xecb9, 0x1f11: 0xecd9, + 0x1f12: 0x917d, 0x1f13: 0xecf9, 0x1f14: 0x919d, 0x1f15: 0x91bd, 0x1f16: 0xed19, 0x1f17: 0xed39, + 0x1f18: 0xed59, 0x1f19: 0xed79, 0x1f1a: 0xed99, 0x1f1b: 0xedb9, 0x1f1c: 0x91dd, 0x1f1d: 0x91fd, + 0x1f1e: 0x921d, 0x1f1f: 0x2040, 0x1f20: 0xedd9, 0x1f21: 0x923d, 0x1f22: 0xedf9, 0x1f23: 0xee19, + 0x1f24: 0xee39, 0x1f25: 0x925d, 0x1f26: 0xee59, 0x1f27: 0xee79, 0x1f28: 0xee99, 0x1f29: 0xeeb9, + 0x1f2a: 0xeed9, 0x1f2b: 0x927d, 0x1f2c: 0xeef9, 0x1f2d: 0xef19, 0x1f2e: 0xef39, 0x1f2f: 0xef59, + 0x1f30: 0xef79, 0x1f31: 0xef99, 0x1f32: 0x929d, 0x1f33: 0x92bd, 0x1f34: 0xefb9, 0x1f35: 0x92dd, + 0x1f36: 0xefd9, 0x1f37: 0x92fd, 0x1f38: 0xeff9, 0x1f39: 0xf019, 0x1f3a: 0xf039, 0x1f3b: 0x931d, + 0x1f3c: 0x933d, 0x1f3d: 0xf059, 0x1f3e: 0x935d, 0x1f3f: 0xf079, + // Block 0x7d, offset 0x1f40 + 0x1f40: 0xf6b9, 0x1f41: 0xf6d9, 0x1f42: 0xf6f9, 0x1f43: 0xf719, 0x1f44: 0xf739, 0x1f45: 0x951d, + 0x1f46: 0xf759, 0x1f47: 0xf779, 0x1f48: 0xf799, 0x1f49: 0xf7b9, 0x1f4a: 0xf7d9, 0x1f4b: 0x953d, + 0x1f4c: 0x955d, 0x1f4d: 0xf7f9, 0x1f4e: 0xf819, 0x1f4f: 0xf839, 0x1f50: 0xf859, 0x1f51: 0xf879, + 0x1f52: 0xf899, 0x1f53: 0x957d, 0x1f54: 0xf8b9, 0x1f55: 0xf8d9, 0x1f56: 0xf8f9, 0x1f57: 0xf919, + 0x1f58: 0x959d, 0x1f59: 0x95bd, 0x1f5a: 0xf939, 0x1f5b: 0xf959, 0x1f5c: 0xf979, 0x1f5d: 0x95dd, + 0x1f5e: 0xf999, 0x1f5f: 0xf9b9, 0x1f60: 0x6815, 0x1f61: 0x95fd, 0x1f62: 0xf9d9, 0x1f63: 0xf9f9, + 0x1f64: 0xfa19, 0x1f65: 0x961d, 0x1f66: 0xfa39, 0x1f67: 0xfa59, 0x1f68: 0xfa79, 0x1f69: 0xfa99, + 0x1f6a: 0xfab9, 0x1f6b: 0xfad9, 0x1f6c: 0xfaf9, 0x1f6d: 0x963d, 0x1f6e: 0xfb19, 0x1f6f: 0xfb39, + 0x1f70: 0xfb59, 0x1f71: 0x965d, 0x1f72: 0xfb79, 0x1f73: 0xfb99, 0x1f74: 0xfbb9, 0x1f75: 0xfbd9, + 0x1f76: 0x7b35, 0x1f77: 0x967d, 0x1f78: 0xfbf9, 0x1f79: 0xfc19, 0x1f7a: 0xfc39, 0x1f7b: 0x969d, + 0x1f7c: 0xfc59, 0x1f7d: 0x96bd, 0x1f7e: 0xfc79, 0x1f7f: 0xfc79, + // Block 0x7e, offset 0x1f80 + 0x1f80: 0xfc99, 0x1f81: 0x96dd, 0x1f82: 0xfcb9, 0x1f83: 0xfcd9, 0x1f84: 0xfcf9, 0x1f85: 0xfd19, + 0x1f86: 0xfd39, 0x1f87: 0xfd59, 0x1f88: 0xfd79, 0x1f89: 0x96fd, 0x1f8a: 0xfd99, 0x1f8b: 0xfdb9, + 0x1f8c: 0xfdd9, 0x1f8d: 0xfdf9, 0x1f8e: 0xfe19, 0x1f8f: 0xfe39, 0x1f90: 0x971d, 0x1f91: 0xfe59, + 0x1f92: 0x973d, 0x1f93: 0x975d, 0x1f94: 0x977d, 0x1f95: 0xfe79, 0x1f96: 0xfe99, 0x1f97: 0xfeb9, + 0x1f98: 0xfed9, 0x1f99: 0xfef9, 0x1f9a: 0xff19, 0x1f9b: 0xff39, 0x1f9c: 0xff59, 0x1f9d: 0x979d, + 0x1f9e: 0x0040, 0x1f9f: 0x0040, 0x1fa0: 0x0040, 0x1fa1: 0x0040, 0x1fa2: 0x0040, 0x1fa3: 0x0040, + 0x1fa4: 0x0040, 0x1fa5: 0x0040, 0x1fa6: 0x0040, 0x1fa7: 0x0040, 0x1fa8: 0x0040, 0x1fa9: 0x0040, + 0x1faa: 0x0040, 0x1fab: 0x0040, 0x1fac: 0x0040, 0x1fad: 0x0040, 0x1fae: 0x0040, 0x1faf: 0x0040, + 0x1fb0: 0x0040, 0x1fb1: 0x0040, 0x1fb2: 0x0040, 0x1fb3: 0x0040, 0x1fb4: 0x0040, 0x1fb5: 0x0040, + 0x1fb6: 0x0040, 0x1fb7: 0x0040, 0x1fb8: 0x0040, 0x1fb9: 0x0040, 0x1fba: 0x0040, 0x1fbb: 0x0040, + 0x1fbc: 0x0040, 0x1fbd: 0x0040, 0x1fbe: 0x0040, 0x1fbf: 0x0040, +} + +// idnaIndex: 36 blocks, 2304 entries, 4608 bytes +// Block 0 is the zero block. +var idnaIndex = [2304]uint16{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x7d, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05, + 0xc8: 0x06, 0xc9: 0x7e, 0xca: 0x7f, 0xcb: 0x07, 0xcc: 0x80, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a, + 0xd0: 0x81, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x82, 0xd6: 0x83, 0xd7: 0x84, + 0xd8: 0x0f, 0xd9: 0x10, 0xda: 0x85, 0xdb: 0x11, 0xdc: 0x12, 0xdd: 0x86, 0xde: 0x87, 0xdf: 0x88, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07, + 0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x0a, 0xee: 0x0b, 0xef: 0x0c, + 0xf0: 0x1d, 0xf1: 0x1e, 0xf2: 0x1e, 0xf3: 0x20, 0xf4: 0x21, + // Block 0x4, offset 0x100 + 0x120: 0x89, 0x121: 0x13, 0x122: 0x8a, 0x123: 0x8b, 0x124: 0x8c, 0x125: 0x14, 0x126: 0x15, 0x127: 0x16, + 0x128: 0x17, 0x129: 0x18, 0x12a: 0x19, 0x12b: 0x1a, 0x12c: 0x1b, 0x12d: 0x1c, 0x12e: 0x1d, 0x12f: 0x8d, + 0x130: 0x8e, 0x131: 0x1e, 0x132: 0x1f, 0x133: 0x20, 0x134: 0x8f, 0x135: 0x21, 0x136: 0x90, 0x137: 0x91, + 0x138: 0x92, 0x139: 0x93, 0x13a: 0x22, 0x13b: 0x94, 0x13c: 0x95, 0x13d: 0x23, 0x13e: 0x24, 0x13f: 0x96, + // Block 0x5, offset 0x140 + 0x140: 0x97, 0x141: 0x98, 0x142: 0x99, 0x143: 0x9a, 0x144: 0x9b, 0x145: 0x9c, 0x146: 0x9d, 0x147: 0x9e, + 0x148: 0x9f, 0x149: 0xa0, 0x14a: 0xa1, 0x14b: 0xa2, 0x14c: 0xa3, 0x14d: 0xa4, 0x14e: 0xa5, 0x14f: 0xa6, + 0x150: 0xa7, 0x151: 0x9f, 0x152: 0x9f, 0x153: 0x9f, 0x154: 0x9f, 0x155: 0x9f, 0x156: 0x9f, 0x157: 0x9f, + 0x158: 0x9f, 0x159: 0xa8, 0x15a: 0xa9, 0x15b: 0xaa, 0x15c: 0xab, 0x15d: 0xac, 0x15e: 0xad, 0x15f: 0xae, + 0x160: 0xaf, 0x161: 0xb0, 0x162: 0xb1, 0x163: 0xb2, 0x164: 0xb3, 0x165: 0xb4, 0x166: 0xb5, 0x167: 0xb6, + 0x168: 0xb7, 0x169: 0xb8, 0x16a: 0xb9, 0x16b: 0xba, 0x16c: 0xbb, 0x16d: 0xbc, 0x16e: 0xbd, 0x16f: 0xbe, + 0x170: 0xbf, 0x171: 0xc0, 0x172: 0xc1, 0x173: 0xc2, 0x174: 0x25, 0x175: 0x26, 0x176: 0x27, 0x177: 0xc3, + 0x178: 0x28, 0x179: 0x28, 0x17a: 0x29, 0x17b: 0x28, 0x17c: 0xc4, 0x17d: 0x2a, 0x17e: 0x2b, 0x17f: 0x2c, + // Block 0x6, offset 0x180 + 0x180: 0x2d, 0x181: 0x2e, 0x182: 0x2f, 0x183: 0xc5, 0x184: 0x30, 0x185: 0x31, 0x186: 0xc6, 0x187: 0x9b, + 0x188: 0xc7, 0x189: 0xc8, 0x18a: 0x9b, 0x18b: 0x9b, 0x18c: 0xc9, 0x18d: 0x9b, 0x18e: 0x9b, 0x18f: 0x9b, + 0x190: 0xca, 0x191: 0x32, 0x192: 0x33, 0x193: 0x34, 0x194: 0x9b, 0x195: 0x9b, 0x196: 0x9b, 0x197: 0x9b, + 0x198: 0x9b, 0x199: 0x9b, 0x19a: 0x9b, 0x19b: 0x9b, 0x19c: 0x9b, 0x19d: 0x9b, 0x19e: 0x9b, 0x19f: 0x9b, + 0x1a0: 0x9b, 0x1a1: 0x9b, 0x1a2: 0x9b, 0x1a3: 0x9b, 0x1a4: 0x9b, 0x1a5: 0x9b, 0x1a6: 0x9b, 0x1a7: 0x9b, + 0x1a8: 0xcb, 0x1a9: 0xcc, 0x1aa: 0x9b, 0x1ab: 0xcd, 0x1ac: 0x9b, 0x1ad: 0xce, 0x1ae: 0xcf, 0x1af: 0xd0, + 0x1b0: 0xd1, 0x1b1: 0x35, 0x1b2: 0x28, 0x1b3: 0x36, 0x1b4: 0xd2, 0x1b5: 0xd3, 0x1b6: 0xd4, 0x1b7: 0xd5, + 0x1b8: 0xd6, 0x1b9: 0xd7, 0x1ba: 0xd8, 0x1bb: 0xd9, 0x1bc: 0xda, 0x1bd: 0xdb, 0x1be: 0xdc, 0x1bf: 0x37, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x38, 0x1c1: 0xdd, 0x1c2: 0xde, 0x1c3: 0xdf, 0x1c4: 0xe0, 0x1c5: 0x39, 0x1c6: 0x3a, 0x1c7: 0xe1, + 0x1c8: 0xe2, 0x1c9: 0x3b, 0x1ca: 0x3c, 0x1cb: 0x3d, 0x1cc: 0x3e, 0x1cd: 0x3f, 0x1ce: 0x40, 0x1cf: 0x41, + 0x1d0: 0x9f, 0x1d1: 0x9f, 0x1d2: 0x9f, 0x1d3: 0x9f, 0x1d4: 0x9f, 0x1d5: 0x9f, 0x1d6: 0x9f, 0x1d7: 0x9f, + 0x1d8: 0x9f, 0x1d9: 0x9f, 0x1da: 0x9f, 0x1db: 0x9f, 0x1dc: 0x9f, 0x1dd: 0x9f, 0x1de: 0x9f, 0x1df: 0x9f, + 0x1e0: 0x9f, 0x1e1: 0x9f, 0x1e2: 0x9f, 0x1e3: 0x9f, 0x1e4: 0x9f, 0x1e5: 0x9f, 0x1e6: 0x9f, 0x1e7: 0x9f, + 0x1e8: 0x9f, 0x1e9: 0x9f, 0x1ea: 0x9f, 0x1eb: 0x9f, 0x1ec: 0x9f, 0x1ed: 0x9f, 0x1ee: 0x9f, 0x1ef: 0x9f, + 0x1f0: 0x9f, 0x1f1: 0x9f, 0x1f2: 0x9f, 0x1f3: 0x9f, 0x1f4: 0x9f, 0x1f5: 0x9f, 0x1f6: 0x9f, 0x1f7: 0x9f, + 0x1f8: 0x9f, 0x1f9: 0x9f, 0x1fa: 0x9f, 0x1fb: 0x9f, 0x1fc: 0x9f, 0x1fd: 0x9f, 0x1fe: 0x9f, 0x1ff: 0x9f, + // Block 0x8, offset 0x200 + 0x200: 0x9f, 0x201: 0x9f, 0x202: 0x9f, 0x203: 0x9f, 0x204: 0x9f, 0x205: 0x9f, 0x206: 0x9f, 0x207: 0x9f, + 0x208: 0x9f, 0x209: 0x9f, 0x20a: 0x9f, 0x20b: 0x9f, 0x20c: 0x9f, 0x20d: 0x9f, 0x20e: 0x9f, 0x20f: 0x9f, + 0x210: 0x9f, 0x211: 0x9f, 0x212: 0x9f, 0x213: 0x9f, 0x214: 0x9f, 0x215: 0x9f, 0x216: 0x9f, 0x217: 0x9f, + 0x218: 0x9f, 0x219: 0x9f, 0x21a: 0x9f, 0x21b: 0x9f, 0x21c: 0x9f, 0x21d: 0x9f, 0x21e: 0x9f, 0x21f: 0x9f, + 0x220: 0x9f, 0x221: 0x9f, 0x222: 0x9f, 0x223: 0x9f, 0x224: 0x9f, 0x225: 0x9f, 0x226: 0x9f, 0x227: 0x9f, + 0x228: 0x9f, 0x229: 0x9f, 0x22a: 0x9f, 0x22b: 0x9f, 0x22c: 0x9f, 0x22d: 0x9f, 0x22e: 0x9f, 0x22f: 0x9f, + 0x230: 0x9f, 0x231: 0x9f, 0x232: 0x9f, 0x233: 0x9f, 0x234: 0x9f, 0x235: 0x9f, 0x236: 0xb2, 0x237: 0x9b, + 0x238: 0x9f, 0x239: 0x9f, 0x23a: 0x9f, 0x23b: 0x9f, 0x23c: 0x9f, 0x23d: 0x9f, 0x23e: 0x9f, 0x23f: 0x9f, + // Block 0x9, offset 0x240 + 0x240: 0x9f, 0x241: 0x9f, 0x242: 0x9f, 0x243: 0x9f, 0x244: 0x9f, 0x245: 0x9f, 0x246: 0x9f, 0x247: 0x9f, + 0x248: 0x9f, 0x249: 0x9f, 0x24a: 0x9f, 0x24b: 0x9f, 0x24c: 0x9f, 0x24d: 0x9f, 0x24e: 0x9f, 0x24f: 0x9f, + 0x250: 0x9f, 0x251: 0x9f, 0x252: 0x9f, 0x253: 0x9f, 0x254: 0x9f, 0x255: 0x9f, 0x256: 0x9f, 0x257: 0x9f, + 0x258: 0x9f, 0x259: 0x9f, 0x25a: 0x9f, 0x25b: 0x9f, 0x25c: 0x9f, 0x25d: 0x9f, 0x25e: 0x9f, 0x25f: 0x9f, + 0x260: 0x9f, 0x261: 0x9f, 0x262: 0x9f, 0x263: 0x9f, 0x264: 0x9f, 0x265: 0x9f, 0x266: 0x9f, 0x267: 0x9f, + 0x268: 0x9f, 0x269: 0x9f, 0x26a: 0x9f, 0x26b: 0x9f, 0x26c: 0x9f, 0x26d: 0x9f, 0x26e: 0x9f, 0x26f: 0x9f, + 0x270: 0x9f, 0x271: 0x9f, 0x272: 0x9f, 0x273: 0x9f, 0x274: 0x9f, 0x275: 0x9f, 0x276: 0x9f, 0x277: 0x9f, + 0x278: 0x9f, 0x279: 0x9f, 0x27a: 0x9f, 0x27b: 0x9f, 0x27c: 0x9f, 0x27d: 0x9f, 0x27e: 0x9f, 0x27f: 0x9f, + // Block 0xa, offset 0x280 + 0x280: 0x9f, 0x281: 0x9f, 0x282: 0x9f, 0x283: 0x9f, 0x284: 0x9f, 0x285: 0x9f, 0x286: 0x9f, 0x287: 0x9f, + 0x288: 0x9f, 0x289: 0x9f, 0x28a: 0x9f, 0x28b: 0x9f, 0x28c: 0x9f, 0x28d: 0x9f, 0x28e: 0x9f, 0x28f: 0x9f, + 0x290: 0x9f, 0x291: 0x9f, 0x292: 0x9f, 0x293: 0x9f, 0x294: 0x9f, 0x295: 0x9f, 0x296: 0x9f, 0x297: 0x9f, + 0x298: 0x9f, 0x299: 0x9f, 0x29a: 0x9f, 0x29b: 0x9f, 0x29c: 0x9f, 0x29d: 0x9f, 0x29e: 0x9f, 0x29f: 0x9f, + 0x2a0: 0x9f, 0x2a1: 0x9f, 0x2a2: 0x9f, 0x2a3: 0x9f, 0x2a4: 0x9f, 0x2a5: 0x9f, 0x2a6: 0x9f, 0x2a7: 0x9f, + 0x2a8: 0x9f, 0x2a9: 0x9f, 0x2aa: 0x9f, 0x2ab: 0x9f, 0x2ac: 0x9f, 0x2ad: 0x9f, 0x2ae: 0x9f, 0x2af: 0x9f, + 0x2b0: 0x9f, 0x2b1: 0x9f, 0x2b2: 0x9f, 0x2b3: 0x9f, 0x2b4: 0x9f, 0x2b5: 0x9f, 0x2b6: 0x9f, 0x2b7: 0x9f, + 0x2b8: 0x9f, 0x2b9: 0x9f, 0x2ba: 0x9f, 0x2bb: 0x9f, 0x2bc: 0x9f, 0x2bd: 0x9f, 0x2be: 0x9f, 0x2bf: 0xe3, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x9f, 0x2c1: 0x9f, 0x2c2: 0x9f, 0x2c3: 0x9f, 0x2c4: 0x9f, 0x2c5: 0x9f, 0x2c6: 0x9f, 0x2c7: 0x9f, + 0x2c8: 0x9f, 0x2c9: 0x9f, 0x2ca: 0x9f, 0x2cb: 0x9f, 0x2cc: 0x9f, 0x2cd: 0x9f, 0x2ce: 0x9f, 0x2cf: 0x9f, + 0x2d0: 0x9f, 0x2d1: 0x9f, 0x2d2: 0xe4, 0x2d3: 0xe5, 0x2d4: 0x9f, 0x2d5: 0x9f, 0x2d6: 0x9f, 0x2d7: 0x9f, + 0x2d8: 0xe6, 0x2d9: 0x42, 0x2da: 0x43, 0x2db: 0xe7, 0x2dc: 0x44, 0x2dd: 0x45, 0x2de: 0x46, 0x2df: 0xe8, + 0x2e0: 0xe9, 0x2e1: 0xea, 0x2e2: 0xeb, 0x2e3: 0xec, 0x2e4: 0xed, 0x2e5: 0xee, 0x2e6: 0xef, 0x2e7: 0xf0, + 0x2e8: 0xf1, 0x2e9: 0xf2, 0x2ea: 0xf3, 0x2eb: 0xf4, 0x2ec: 0xf5, 0x2ed: 0xf6, 0x2ee: 0xf7, 0x2ef: 0xf8, + 0x2f0: 0x9f, 0x2f1: 0x9f, 0x2f2: 0x9f, 0x2f3: 0x9f, 0x2f4: 0x9f, 0x2f5: 0x9f, 0x2f6: 0x9f, 0x2f7: 0x9f, + 0x2f8: 0x9f, 0x2f9: 0x9f, 0x2fa: 0x9f, 0x2fb: 0x9f, 0x2fc: 0x9f, 0x2fd: 0x9f, 0x2fe: 0x9f, 0x2ff: 0x9f, + // Block 0xc, offset 0x300 + 0x300: 0x9f, 0x301: 0x9f, 0x302: 0x9f, 0x303: 0x9f, 0x304: 0x9f, 0x305: 0x9f, 0x306: 0x9f, 0x307: 0x9f, + 0x308: 0x9f, 0x309: 0x9f, 0x30a: 0x9f, 0x30b: 0x9f, 0x30c: 0x9f, 0x30d: 0x9f, 0x30e: 0x9f, 0x30f: 0x9f, + 0x310: 0x9f, 0x311: 0x9f, 0x312: 0x9f, 0x313: 0x9f, 0x314: 0x9f, 0x315: 0x9f, 0x316: 0x9f, 0x317: 0x9f, + 0x318: 0x9f, 0x319: 0x9f, 0x31a: 0x9f, 0x31b: 0x9f, 0x31c: 0x9f, 0x31d: 0x9f, 0x31e: 0xf9, 0x31f: 0xfa, + // Block 0xd, offset 0x340 + 0x340: 0xba, 0x341: 0xba, 0x342: 0xba, 0x343: 0xba, 0x344: 0xba, 0x345: 0xba, 0x346: 0xba, 0x347: 0xba, + 0x348: 0xba, 0x349: 0xba, 0x34a: 0xba, 0x34b: 0xba, 0x34c: 0xba, 0x34d: 0xba, 0x34e: 0xba, 0x34f: 0xba, + 0x350: 0xba, 0x351: 0xba, 0x352: 0xba, 0x353: 0xba, 0x354: 0xba, 0x355: 0xba, 0x356: 0xba, 0x357: 0xba, + 0x358: 0xba, 0x359: 0xba, 0x35a: 0xba, 0x35b: 0xba, 0x35c: 0xba, 0x35d: 0xba, 0x35e: 0xba, 0x35f: 0xba, + 0x360: 0xba, 0x361: 0xba, 0x362: 0xba, 0x363: 0xba, 0x364: 0xba, 0x365: 0xba, 0x366: 0xba, 0x367: 0xba, + 0x368: 0xba, 0x369: 0xba, 0x36a: 0xba, 0x36b: 0xba, 0x36c: 0xba, 0x36d: 0xba, 0x36e: 0xba, 0x36f: 0xba, + 0x370: 0xba, 0x371: 0xba, 0x372: 0xba, 0x373: 0xba, 0x374: 0xba, 0x375: 0xba, 0x376: 0xba, 0x377: 0xba, + 0x378: 0xba, 0x379: 0xba, 0x37a: 0xba, 0x37b: 0xba, 0x37c: 0xba, 0x37d: 0xba, 0x37e: 0xba, 0x37f: 0xba, + // Block 0xe, offset 0x380 + 0x380: 0xba, 0x381: 0xba, 0x382: 0xba, 0x383: 0xba, 0x384: 0xba, 0x385: 0xba, 0x386: 0xba, 0x387: 0xba, + 0x388: 0xba, 0x389: 0xba, 0x38a: 0xba, 0x38b: 0xba, 0x38c: 0xba, 0x38d: 0xba, 0x38e: 0xba, 0x38f: 0xba, + 0x390: 0xba, 0x391: 0xba, 0x392: 0xba, 0x393: 0xba, 0x394: 0xba, 0x395: 0xba, 0x396: 0xba, 0x397: 0xba, + 0x398: 0xba, 0x399: 0xba, 0x39a: 0xba, 0x39b: 0xba, 0x39c: 0xba, 0x39d: 0xba, 0x39e: 0xba, 0x39f: 0xba, + 0x3a0: 0xba, 0x3a1: 0xba, 0x3a2: 0xba, 0x3a3: 0xba, 0x3a4: 0xfb, 0x3a5: 0xfc, 0x3a6: 0xfd, 0x3a7: 0xfe, + 0x3a8: 0x47, 0x3a9: 0xff, 0x3aa: 0x100, 0x3ab: 0x48, 0x3ac: 0x49, 0x3ad: 0x4a, 0x3ae: 0x4b, 0x3af: 0x4c, + 0x3b0: 0x101, 0x3b1: 0x4d, 0x3b2: 0x4e, 0x3b3: 0x4f, 0x3b4: 0x50, 0x3b5: 0x51, 0x3b6: 0x102, 0x3b7: 0x52, + 0x3b8: 0x53, 0x3b9: 0x54, 0x3ba: 0x55, 0x3bb: 0x56, 0x3bc: 0x57, 0x3bd: 0x58, 0x3be: 0x59, 0x3bf: 0x5a, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x103, 0x3c1: 0x104, 0x3c2: 0x9f, 0x3c3: 0x105, 0x3c4: 0x106, 0x3c5: 0x9b, 0x3c6: 0x107, 0x3c7: 0x108, + 0x3c8: 0xba, 0x3c9: 0xba, 0x3ca: 0x109, 0x3cb: 0x10a, 0x3cc: 0x10b, 0x3cd: 0x10c, 0x3ce: 0x10d, 0x3cf: 0x10e, + 0x3d0: 0x10f, 0x3d1: 0x9f, 0x3d2: 0x110, 0x3d3: 0x111, 0x3d4: 0x112, 0x3d5: 0x113, 0x3d6: 0xba, 0x3d7: 0xba, + 0x3d8: 0x9f, 0x3d9: 0x9f, 0x3da: 0x9f, 0x3db: 0x9f, 0x3dc: 0x114, 0x3dd: 0x115, 0x3de: 0xba, 0x3df: 0xba, + 0x3e0: 0x116, 0x3e1: 0x117, 0x3e2: 0x118, 0x3e3: 0x119, 0x3e4: 0x11a, 0x3e5: 0xba, 0x3e6: 0x11b, 0x3e7: 0x11c, + 0x3e8: 0x11d, 0x3e9: 0x11e, 0x3ea: 0x11f, 0x3eb: 0x5b, 0x3ec: 0x120, 0x3ed: 0x121, 0x3ee: 0x5c, 0x3ef: 0xba, + 0x3f0: 0x122, 0x3f1: 0x123, 0x3f2: 0x124, 0x3f3: 0x125, 0x3f4: 0x126, 0x3f5: 0xba, 0x3f6: 0xba, 0x3f7: 0xba, + 0x3f8: 0xba, 0x3f9: 0x127, 0x3fa: 0xba, 0x3fb: 0xba, 0x3fc: 0x128, 0x3fd: 0x129, 0x3fe: 0xba, 0x3ff: 0xba, + // Block 0x10, offset 0x400 + 0x400: 0x12a, 0x401: 0x12b, 0x402: 0x12c, 0x403: 0x12d, 0x404: 0x12e, 0x405: 0x12f, 0x406: 0x130, 0x407: 0x131, + 0x408: 0x132, 0x409: 0xba, 0x40a: 0x133, 0x40b: 0x134, 0x40c: 0x5d, 0x40d: 0x5e, 0x40e: 0xba, 0x40f: 0xba, + 0x410: 0x135, 0x411: 0x136, 0x412: 0x137, 0x413: 0x138, 0x414: 0xba, 0x415: 0xba, 0x416: 0x139, 0x417: 0x13a, + 0x418: 0x13b, 0x419: 0x13c, 0x41a: 0x13d, 0x41b: 0x13e, 0x41c: 0x13f, 0x41d: 0xba, 0x41e: 0xba, 0x41f: 0xba, + 0x420: 0x140, 0x421: 0xba, 0x422: 0x141, 0x423: 0x142, 0x424: 0xba, 0x425: 0xba, 0x426: 0xba, 0x427: 0xba, + 0x428: 0x143, 0x429: 0x144, 0x42a: 0x145, 0x42b: 0x146, 0x42c: 0xba, 0x42d: 0xba, 0x42e: 0xba, 0x42f: 0xba, + 0x430: 0x147, 0x431: 0x148, 0x432: 0x149, 0x433: 0xba, 0x434: 0x14a, 0x435: 0x14b, 0x436: 0x14c, 0x437: 0xba, + 0x438: 0xba, 0x439: 0xba, 0x43a: 0xba, 0x43b: 0x14d, 0x43c: 0xba, 0x43d: 0xba, 0x43e: 0xba, 0x43f: 0xba, + // Block 0x11, offset 0x440 + 0x440: 0x9f, 0x441: 0x9f, 0x442: 0x9f, 0x443: 0x9f, 0x444: 0x9f, 0x445: 0x9f, 0x446: 0x9f, 0x447: 0x9f, + 0x448: 0x9f, 0x449: 0x9f, 0x44a: 0x9f, 0x44b: 0x9f, 0x44c: 0x9f, 0x44d: 0x9f, 0x44e: 0x14e, 0x44f: 0xba, + 0x450: 0x9b, 0x451: 0x14f, 0x452: 0x9f, 0x453: 0x9f, 0x454: 0x9f, 0x455: 0x150, 0x456: 0xba, 0x457: 0xba, + 0x458: 0xba, 0x459: 0xba, 0x45a: 0xba, 0x45b: 0xba, 0x45c: 0xba, 0x45d: 0xba, 0x45e: 0xba, 0x45f: 0xba, + 0x460: 0xba, 0x461: 0xba, 0x462: 0xba, 0x463: 0xba, 0x464: 0xba, 0x465: 0xba, 0x466: 0xba, 0x467: 0xba, + 0x468: 0xba, 0x469: 0xba, 0x46a: 0xba, 0x46b: 0xba, 0x46c: 0xba, 0x46d: 0xba, 0x46e: 0xba, 0x46f: 0xba, + 0x470: 0xba, 0x471: 0xba, 0x472: 0xba, 0x473: 0xba, 0x474: 0xba, 0x475: 0xba, 0x476: 0xba, 0x477: 0xba, + 0x478: 0xba, 0x479: 0xba, 0x47a: 0xba, 0x47b: 0xba, 0x47c: 0xba, 0x47d: 0xba, 0x47e: 0xba, 0x47f: 0xba, + // Block 0x12, offset 0x480 + 0x480: 0x9f, 0x481: 0x9f, 0x482: 0x9f, 0x483: 0x9f, 0x484: 0x9f, 0x485: 0x9f, 0x486: 0x9f, 0x487: 0x9f, + 0x488: 0x9f, 0x489: 0x9f, 0x48a: 0x9f, 0x48b: 0x9f, 0x48c: 0x9f, 0x48d: 0x9f, 0x48e: 0x9f, 0x48f: 0x9f, + 0x490: 0x151, 0x491: 0xba, 0x492: 0xba, 0x493: 0xba, 0x494: 0xba, 0x495: 0xba, 0x496: 0xba, 0x497: 0xba, + 0x498: 0xba, 0x499: 0xba, 0x49a: 0xba, 0x49b: 0xba, 0x49c: 0xba, 0x49d: 0xba, 0x49e: 0xba, 0x49f: 0xba, + 0x4a0: 0xba, 0x4a1: 0xba, 0x4a2: 0xba, 0x4a3: 0xba, 0x4a4: 0xba, 0x4a5: 0xba, 0x4a6: 0xba, 0x4a7: 0xba, + 0x4a8: 0xba, 0x4a9: 0xba, 0x4aa: 0xba, 0x4ab: 0xba, 0x4ac: 0xba, 0x4ad: 0xba, 0x4ae: 0xba, 0x4af: 0xba, + 0x4b0: 0xba, 0x4b1: 0xba, 0x4b2: 0xba, 0x4b3: 0xba, 0x4b4: 0xba, 0x4b5: 0xba, 0x4b6: 0xba, 0x4b7: 0xba, + 0x4b8: 0xba, 0x4b9: 0xba, 0x4ba: 0xba, 0x4bb: 0xba, 0x4bc: 0xba, 0x4bd: 0xba, 0x4be: 0xba, 0x4bf: 0xba, + // Block 0x13, offset 0x4c0 + 0x4c0: 0xba, 0x4c1: 0xba, 0x4c2: 0xba, 0x4c3: 0xba, 0x4c4: 0xba, 0x4c5: 0xba, 0x4c6: 0xba, 0x4c7: 0xba, + 0x4c8: 0xba, 0x4c9: 0xba, 0x4ca: 0xba, 0x4cb: 0xba, 0x4cc: 0xba, 0x4cd: 0xba, 0x4ce: 0xba, 0x4cf: 0xba, + 0x4d0: 0x9f, 0x4d1: 0x9f, 0x4d2: 0x9f, 0x4d3: 0x9f, 0x4d4: 0x9f, 0x4d5: 0x9f, 0x4d6: 0x9f, 0x4d7: 0x9f, + 0x4d8: 0x9f, 0x4d9: 0x152, 0x4da: 0xba, 0x4db: 0xba, 0x4dc: 0xba, 0x4dd: 0xba, 0x4de: 0xba, 0x4df: 0xba, + 0x4e0: 0xba, 0x4e1: 0xba, 0x4e2: 0xba, 0x4e3: 0xba, 0x4e4: 0xba, 0x4e5: 0xba, 0x4e6: 0xba, 0x4e7: 0xba, + 0x4e8: 0xba, 0x4e9: 0xba, 0x4ea: 0xba, 0x4eb: 0xba, 0x4ec: 0xba, 0x4ed: 0xba, 0x4ee: 0xba, 0x4ef: 0xba, + 0x4f0: 0xba, 0x4f1: 0xba, 0x4f2: 0xba, 0x4f3: 0xba, 0x4f4: 0xba, 0x4f5: 0xba, 0x4f6: 0xba, 0x4f7: 0xba, + 0x4f8: 0xba, 0x4f9: 0xba, 0x4fa: 0xba, 0x4fb: 0xba, 0x4fc: 0xba, 0x4fd: 0xba, 0x4fe: 0xba, 0x4ff: 0xba, + // Block 0x14, offset 0x500 + 0x500: 0xba, 0x501: 0xba, 0x502: 0xba, 0x503: 0xba, 0x504: 0xba, 0x505: 0xba, 0x506: 0xba, 0x507: 0xba, + 0x508: 0xba, 0x509: 0xba, 0x50a: 0xba, 0x50b: 0xba, 0x50c: 0xba, 0x50d: 0xba, 0x50e: 0xba, 0x50f: 0xba, + 0x510: 0xba, 0x511: 0xba, 0x512: 0xba, 0x513: 0xba, 0x514: 0xba, 0x515: 0xba, 0x516: 0xba, 0x517: 0xba, + 0x518: 0xba, 0x519: 0xba, 0x51a: 0xba, 0x51b: 0xba, 0x51c: 0xba, 0x51d: 0xba, 0x51e: 0xba, 0x51f: 0xba, + 0x520: 0x9f, 0x521: 0x9f, 0x522: 0x9f, 0x523: 0x9f, 0x524: 0x9f, 0x525: 0x9f, 0x526: 0x9f, 0x527: 0x9f, + 0x528: 0x146, 0x529: 0x153, 0x52a: 0xba, 0x52b: 0x154, 0x52c: 0x155, 0x52d: 0x156, 0x52e: 0x157, 0x52f: 0xba, + 0x530: 0xba, 0x531: 0xba, 0x532: 0xba, 0x533: 0xba, 0x534: 0xba, 0x535: 0xba, 0x536: 0xba, 0x537: 0xba, + 0x538: 0xba, 0x539: 0x158, 0x53a: 0x159, 0x53b: 0xba, 0x53c: 0x9f, 0x53d: 0x15a, 0x53e: 0x15b, 0x53f: 0x15c, + // Block 0x15, offset 0x540 + 0x540: 0x9f, 0x541: 0x9f, 0x542: 0x9f, 0x543: 0x9f, 0x544: 0x9f, 0x545: 0x9f, 0x546: 0x9f, 0x547: 0x9f, + 0x548: 0x9f, 0x549: 0x9f, 0x54a: 0x9f, 0x54b: 0x9f, 0x54c: 0x9f, 0x54d: 0x9f, 0x54e: 0x9f, 0x54f: 0x9f, + 0x550: 0x9f, 0x551: 0x9f, 0x552: 0x9f, 0x553: 0x9f, 0x554: 0x9f, 0x555: 0x9f, 0x556: 0x9f, 0x557: 0x9f, + 0x558: 0x9f, 0x559: 0x9f, 0x55a: 0x9f, 0x55b: 0x9f, 0x55c: 0x9f, 0x55d: 0x9f, 0x55e: 0x9f, 0x55f: 0x15d, + 0x560: 0x9f, 0x561: 0x9f, 0x562: 0x9f, 0x563: 0x9f, 0x564: 0x9f, 0x565: 0x9f, 0x566: 0x9f, 0x567: 0x9f, + 0x568: 0x9f, 0x569: 0x9f, 0x56a: 0x9f, 0x56b: 0x15e, 0x56c: 0xba, 0x56d: 0xba, 0x56e: 0xba, 0x56f: 0xba, + 0x570: 0xba, 0x571: 0xba, 0x572: 0xba, 0x573: 0xba, 0x574: 0xba, 0x575: 0xba, 0x576: 0xba, 0x577: 0xba, + 0x578: 0xba, 0x579: 0xba, 0x57a: 0xba, 0x57b: 0xba, 0x57c: 0xba, 0x57d: 0xba, 0x57e: 0xba, 0x57f: 0xba, + // Block 0x16, offset 0x580 + 0x580: 0x9f, 0x581: 0x9f, 0x582: 0x9f, 0x583: 0x9f, 0x584: 0x15f, 0x585: 0x160, 0x586: 0x9f, 0x587: 0x9f, + 0x588: 0x9f, 0x589: 0x9f, 0x58a: 0x9f, 0x58b: 0x161, 0x58c: 0xba, 0x58d: 0xba, 0x58e: 0xba, 0x58f: 0xba, + 0x590: 0xba, 0x591: 0xba, 0x592: 0xba, 0x593: 0xba, 0x594: 0xba, 0x595: 0xba, 0x596: 0xba, 0x597: 0xba, + 0x598: 0xba, 0x599: 0xba, 0x59a: 0xba, 0x59b: 0xba, 0x59c: 0xba, 0x59d: 0xba, 0x59e: 0xba, 0x59f: 0xba, + 0x5a0: 0xba, 0x5a1: 0xba, 0x5a2: 0xba, 0x5a3: 0xba, 0x5a4: 0xba, 0x5a5: 0xba, 0x5a6: 0xba, 0x5a7: 0xba, + 0x5a8: 0xba, 0x5a9: 0xba, 0x5aa: 0xba, 0x5ab: 0xba, 0x5ac: 0xba, 0x5ad: 0xba, 0x5ae: 0xba, 0x5af: 0xba, + 0x5b0: 0x9f, 0x5b1: 0x162, 0x5b2: 0x163, 0x5b3: 0xba, 0x5b4: 0xba, 0x5b5: 0xba, 0x5b6: 0xba, 0x5b7: 0xba, + 0x5b8: 0xba, 0x5b9: 0xba, 0x5ba: 0xba, 0x5bb: 0xba, 0x5bc: 0xba, 0x5bd: 0xba, 0x5be: 0xba, 0x5bf: 0xba, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x9b, 0x5c1: 0x9b, 0x5c2: 0x9b, 0x5c3: 0x164, 0x5c4: 0x165, 0x5c5: 0x166, 0x5c6: 0x167, 0x5c7: 0x168, + 0x5c8: 0x9b, 0x5c9: 0x169, 0x5ca: 0xba, 0x5cb: 0x16a, 0x5cc: 0x9b, 0x5cd: 0x16b, 0x5ce: 0xba, 0x5cf: 0xba, + 0x5d0: 0x5f, 0x5d1: 0x60, 0x5d2: 0x61, 0x5d3: 0x62, 0x5d4: 0x63, 0x5d5: 0x64, 0x5d6: 0x65, 0x5d7: 0x66, + 0x5d8: 0x67, 0x5d9: 0x68, 0x5da: 0x69, 0x5db: 0x6a, 0x5dc: 0x6b, 0x5dd: 0x6c, 0x5de: 0x6d, 0x5df: 0x6e, + 0x5e0: 0x9b, 0x5e1: 0x9b, 0x5e2: 0x9b, 0x5e3: 0x9b, 0x5e4: 0x9b, 0x5e5: 0x9b, 0x5e6: 0x9b, 0x5e7: 0x9b, + 0x5e8: 0x16c, 0x5e9: 0x16d, 0x5ea: 0x16e, 0x5eb: 0xba, 0x5ec: 0xba, 0x5ed: 0xba, 0x5ee: 0xba, 0x5ef: 0xba, + 0x5f0: 0xba, 0x5f1: 0xba, 0x5f2: 0xba, 0x5f3: 0xba, 0x5f4: 0xba, 0x5f5: 0xba, 0x5f6: 0xba, 0x5f7: 0xba, + 0x5f8: 0xba, 0x5f9: 0xba, 0x5fa: 0xba, 0x5fb: 0xba, 0x5fc: 0xba, 0x5fd: 0xba, 0x5fe: 0xba, 0x5ff: 0xba, + // Block 0x18, offset 0x600 + 0x600: 0x16f, 0x601: 0xba, 0x602: 0xba, 0x603: 0xba, 0x604: 0xba, 0x605: 0xba, 0x606: 0xba, 0x607: 0xba, + 0x608: 0xba, 0x609: 0xba, 0x60a: 0xba, 0x60b: 0xba, 0x60c: 0xba, 0x60d: 0xba, 0x60e: 0xba, 0x60f: 0xba, + 0x610: 0xba, 0x611: 0xba, 0x612: 0xba, 0x613: 0xba, 0x614: 0xba, 0x615: 0xba, 0x616: 0xba, 0x617: 0xba, + 0x618: 0xba, 0x619: 0xba, 0x61a: 0xba, 0x61b: 0xba, 0x61c: 0xba, 0x61d: 0xba, 0x61e: 0xba, 0x61f: 0xba, + 0x620: 0x122, 0x621: 0x122, 0x622: 0x122, 0x623: 0x170, 0x624: 0x6f, 0x625: 0x171, 0x626: 0xba, 0x627: 0xba, + 0x628: 0xba, 0x629: 0xba, 0x62a: 0xba, 0x62b: 0xba, 0x62c: 0xba, 0x62d: 0xba, 0x62e: 0xba, 0x62f: 0xba, + 0x630: 0xba, 0x631: 0x172, 0x632: 0x173, 0x633: 0xba, 0x634: 0xba, 0x635: 0xba, 0x636: 0xba, 0x637: 0xba, + 0x638: 0x70, 0x639: 0x71, 0x63a: 0x72, 0x63b: 0x174, 0x63c: 0xba, 0x63d: 0xba, 0x63e: 0xba, 0x63f: 0xba, + // Block 0x19, offset 0x640 + 0x640: 0x175, 0x641: 0x9b, 0x642: 0x176, 0x643: 0x177, 0x644: 0x73, 0x645: 0x74, 0x646: 0x178, 0x647: 0x179, + 0x648: 0x75, 0x649: 0x17a, 0x64a: 0xba, 0x64b: 0xba, 0x64c: 0x9b, 0x64d: 0x9b, 0x64e: 0x9b, 0x64f: 0x9b, + 0x650: 0x9b, 0x651: 0x9b, 0x652: 0x9b, 0x653: 0x9b, 0x654: 0x9b, 0x655: 0x9b, 0x656: 0x9b, 0x657: 0x9b, + 0x658: 0x9b, 0x659: 0x9b, 0x65a: 0x9b, 0x65b: 0x17b, 0x65c: 0x9b, 0x65d: 0x17c, 0x65e: 0x9b, 0x65f: 0x17d, + 0x660: 0x17e, 0x661: 0x17f, 0x662: 0x180, 0x663: 0xba, 0x664: 0x181, 0x665: 0x182, 0x666: 0x183, 0x667: 0x184, + 0x668: 0xba, 0x669: 0x185, 0x66a: 0xba, 0x66b: 0xba, 0x66c: 0xba, 0x66d: 0xba, 0x66e: 0xba, 0x66f: 0xba, + 0x670: 0xba, 0x671: 0xba, 0x672: 0xba, 0x673: 0xba, 0x674: 0xba, 0x675: 0xba, 0x676: 0xba, 0x677: 0xba, + 0x678: 0xba, 0x679: 0xba, 0x67a: 0xba, 0x67b: 0xba, 0x67c: 0xba, 0x67d: 0xba, 0x67e: 0xba, 0x67f: 0xba, + // Block 0x1a, offset 0x680 + 0x680: 0x9f, 0x681: 0x9f, 0x682: 0x9f, 0x683: 0x9f, 0x684: 0x9f, 0x685: 0x9f, 0x686: 0x9f, 0x687: 0x9f, + 0x688: 0x9f, 0x689: 0x9f, 0x68a: 0x9f, 0x68b: 0x9f, 0x68c: 0x9f, 0x68d: 0x9f, 0x68e: 0x9f, 0x68f: 0x9f, + 0x690: 0x9f, 0x691: 0x9f, 0x692: 0x9f, 0x693: 0x9f, 0x694: 0x9f, 0x695: 0x9f, 0x696: 0x9f, 0x697: 0x9f, + 0x698: 0x9f, 0x699: 0x9f, 0x69a: 0x9f, 0x69b: 0x186, 0x69c: 0x9f, 0x69d: 0x9f, 0x69e: 0x9f, 0x69f: 0x9f, + 0x6a0: 0x9f, 0x6a1: 0x9f, 0x6a2: 0x9f, 0x6a3: 0x9f, 0x6a4: 0x9f, 0x6a5: 0x9f, 0x6a6: 0x9f, 0x6a7: 0x9f, + 0x6a8: 0x9f, 0x6a9: 0x9f, 0x6aa: 0x9f, 0x6ab: 0x9f, 0x6ac: 0x9f, 0x6ad: 0x9f, 0x6ae: 0x9f, 0x6af: 0x9f, + 0x6b0: 0x9f, 0x6b1: 0x9f, 0x6b2: 0x9f, 0x6b3: 0x9f, 0x6b4: 0x9f, 0x6b5: 0x9f, 0x6b6: 0x9f, 0x6b7: 0x9f, + 0x6b8: 0x9f, 0x6b9: 0x9f, 0x6ba: 0x9f, 0x6bb: 0x9f, 0x6bc: 0x9f, 0x6bd: 0x9f, 0x6be: 0x9f, 0x6bf: 0x9f, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x9f, 0x6c1: 0x9f, 0x6c2: 0x9f, 0x6c3: 0x9f, 0x6c4: 0x9f, 0x6c5: 0x9f, 0x6c6: 0x9f, 0x6c7: 0x9f, + 0x6c8: 0x9f, 0x6c9: 0x9f, 0x6ca: 0x9f, 0x6cb: 0x9f, 0x6cc: 0x9f, 0x6cd: 0x9f, 0x6ce: 0x9f, 0x6cf: 0x9f, + 0x6d0: 0x9f, 0x6d1: 0x9f, 0x6d2: 0x9f, 0x6d3: 0x9f, 0x6d4: 0x9f, 0x6d5: 0x9f, 0x6d6: 0x9f, 0x6d7: 0x9f, + 0x6d8: 0x9f, 0x6d9: 0x9f, 0x6da: 0x9f, 0x6db: 0x9f, 0x6dc: 0x187, 0x6dd: 0x9f, 0x6de: 0x9f, 0x6df: 0x9f, + 0x6e0: 0x188, 0x6e1: 0x9f, 0x6e2: 0x9f, 0x6e3: 0x9f, 0x6e4: 0x9f, 0x6e5: 0x9f, 0x6e6: 0x9f, 0x6e7: 0x9f, + 0x6e8: 0x9f, 0x6e9: 0x9f, 0x6ea: 0x9f, 0x6eb: 0x9f, 0x6ec: 0x9f, 0x6ed: 0x9f, 0x6ee: 0x9f, 0x6ef: 0x9f, + 0x6f0: 0x9f, 0x6f1: 0x9f, 0x6f2: 0x9f, 0x6f3: 0x9f, 0x6f4: 0x9f, 0x6f5: 0x9f, 0x6f6: 0x9f, 0x6f7: 0x9f, + 0x6f8: 0x9f, 0x6f9: 0x9f, 0x6fa: 0x9f, 0x6fb: 0x9f, 0x6fc: 0x9f, 0x6fd: 0x9f, 0x6fe: 0x9f, 0x6ff: 0x9f, + // Block 0x1c, offset 0x700 + 0x700: 0x9f, 0x701: 0x9f, 0x702: 0x9f, 0x703: 0x9f, 0x704: 0x9f, 0x705: 0x9f, 0x706: 0x9f, 0x707: 0x9f, + 0x708: 0x9f, 0x709: 0x9f, 0x70a: 0x9f, 0x70b: 0x9f, 0x70c: 0x9f, 0x70d: 0x9f, 0x70e: 0x9f, 0x70f: 0x9f, + 0x710: 0x9f, 0x711: 0x9f, 0x712: 0x9f, 0x713: 0x9f, 0x714: 0x9f, 0x715: 0x9f, 0x716: 0x9f, 0x717: 0x9f, + 0x718: 0x9f, 0x719: 0x9f, 0x71a: 0x9f, 0x71b: 0x9f, 0x71c: 0x9f, 0x71d: 0x9f, 0x71e: 0x9f, 0x71f: 0x9f, + 0x720: 0x9f, 0x721: 0x9f, 0x722: 0x9f, 0x723: 0x9f, 0x724: 0x9f, 0x725: 0x9f, 0x726: 0x9f, 0x727: 0x9f, + 0x728: 0x9f, 0x729: 0x9f, 0x72a: 0x9f, 0x72b: 0x9f, 0x72c: 0x9f, 0x72d: 0x9f, 0x72e: 0x9f, 0x72f: 0x9f, + 0x730: 0x9f, 0x731: 0x9f, 0x732: 0x9f, 0x733: 0x9f, 0x734: 0x9f, 0x735: 0x9f, 0x736: 0x9f, 0x737: 0x9f, + 0x738: 0x9f, 0x739: 0x9f, 0x73a: 0x189, 0x73b: 0x9f, 0x73c: 0x9f, 0x73d: 0x9f, 0x73e: 0x9f, 0x73f: 0x9f, + // Block 0x1d, offset 0x740 + 0x740: 0x9f, 0x741: 0x9f, 0x742: 0x9f, 0x743: 0x9f, 0x744: 0x9f, 0x745: 0x9f, 0x746: 0x9f, 0x747: 0x9f, + 0x748: 0x9f, 0x749: 0x9f, 0x74a: 0x9f, 0x74b: 0x9f, 0x74c: 0x9f, 0x74d: 0x9f, 0x74e: 0x9f, 0x74f: 0x9f, + 0x750: 0x9f, 0x751: 0x9f, 0x752: 0x9f, 0x753: 0x9f, 0x754: 0x9f, 0x755: 0x9f, 0x756: 0x9f, 0x757: 0x9f, + 0x758: 0x9f, 0x759: 0x9f, 0x75a: 0x9f, 0x75b: 0x9f, 0x75c: 0x9f, 0x75d: 0x9f, 0x75e: 0x9f, 0x75f: 0x9f, + 0x760: 0x9f, 0x761: 0x9f, 0x762: 0x9f, 0x763: 0x9f, 0x764: 0x9f, 0x765: 0x9f, 0x766: 0x9f, 0x767: 0x9f, + 0x768: 0x9f, 0x769: 0x9f, 0x76a: 0x9f, 0x76b: 0x9f, 0x76c: 0x9f, 0x76d: 0x9f, 0x76e: 0x9f, 0x76f: 0x18a, + 0x770: 0xba, 0x771: 0xba, 0x772: 0xba, 0x773: 0xba, 0x774: 0xba, 0x775: 0xba, 0x776: 0xba, 0x777: 0xba, + 0x778: 0xba, 0x779: 0xba, 0x77a: 0xba, 0x77b: 0xba, 0x77c: 0xba, 0x77d: 0xba, 0x77e: 0xba, 0x77f: 0xba, + // Block 0x1e, offset 0x780 + 0x780: 0xba, 0x781: 0xba, 0x782: 0xba, 0x783: 0xba, 0x784: 0xba, 0x785: 0xba, 0x786: 0xba, 0x787: 0xba, + 0x788: 0xba, 0x789: 0xba, 0x78a: 0xba, 0x78b: 0xba, 0x78c: 0xba, 0x78d: 0xba, 0x78e: 0xba, 0x78f: 0xba, + 0x790: 0xba, 0x791: 0xba, 0x792: 0xba, 0x793: 0xba, 0x794: 0xba, 0x795: 0xba, 0x796: 0xba, 0x797: 0xba, + 0x798: 0xba, 0x799: 0xba, 0x79a: 0xba, 0x79b: 0xba, 0x79c: 0xba, 0x79d: 0xba, 0x79e: 0xba, 0x79f: 0xba, + 0x7a0: 0x76, 0x7a1: 0x77, 0x7a2: 0x78, 0x7a3: 0x18b, 0x7a4: 0x79, 0x7a5: 0x7a, 0x7a6: 0x18c, 0x7a7: 0x7b, + 0x7a8: 0x7c, 0x7a9: 0xba, 0x7aa: 0xba, 0x7ab: 0xba, 0x7ac: 0xba, 0x7ad: 0xba, 0x7ae: 0xba, 0x7af: 0xba, + 0x7b0: 0xba, 0x7b1: 0xba, 0x7b2: 0xba, 0x7b3: 0xba, 0x7b4: 0xba, 0x7b5: 0xba, 0x7b6: 0xba, 0x7b7: 0xba, + 0x7b8: 0xba, 0x7b9: 0xba, 0x7ba: 0xba, 0x7bb: 0xba, 0x7bc: 0xba, 0x7bd: 0xba, 0x7be: 0xba, 0x7bf: 0xba, + // Block 0x1f, offset 0x7c0 + 0x7d0: 0x0d, 0x7d1: 0x0e, 0x7d2: 0x0f, 0x7d3: 0x10, 0x7d4: 0x11, 0x7d5: 0x0b, 0x7d6: 0x12, 0x7d7: 0x07, + 0x7d8: 0x13, 0x7d9: 0x0b, 0x7da: 0x0b, 0x7db: 0x14, 0x7dc: 0x0b, 0x7dd: 0x15, 0x7de: 0x16, 0x7df: 0x17, + 0x7e0: 0x07, 0x7e1: 0x07, 0x7e2: 0x07, 0x7e3: 0x07, 0x7e4: 0x07, 0x7e5: 0x07, 0x7e6: 0x07, 0x7e7: 0x07, + 0x7e8: 0x07, 0x7e9: 0x07, 0x7ea: 0x18, 0x7eb: 0x19, 0x7ec: 0x1a, 0x7ed: 0x07, 0x7ee: 0x1b, 0x7ef: 0x1c, + 0x7f0: 0x0b, 0x7f1: 0x0b, 0x7f2: 0x0b, 0x7f3: 0x0b, 0x7f4: 0x0b, 0x7f5: 0x0b, 0x7f6: 0x0b, 0x7f7: 0x0b, + 0x7f8: 0x0b, 0x7f9: 0x0b, 0x7fa: 0x0b, 0x7fb: 0x0b, 0x7fc: 0x0b, 0x7fd: 0x0b, 0x7fe: 0x0b, 0x7ff: 0x0b, + // Block 0x20, offset 0x800 + 0x800: 0x0b, 0x801: 0x0b, 0x802: 0x0b, 0x803: 0x0b, 0x804: 0x0b, 0x805: 0x0b, 0x806: 0x0b, 0x807: 0x0b, + 0x808: 0x0b, 0x809: 0x0b, 0x80a: 0x0b, 0x80b: 0x0b, 0x80c: 0x0b, 0x80d: 0x0b, 0x80e: 0x0b, 0x80f: 0x0b, + 0x810: 0x0b, 0x811: 0x0b, 0x812: 0x0b, 0x813: 0x0b, 0x814: 0x0b, 0x815: 0x0b, 0x816: 0x0b, 0x817: 0x0b, + 0x818: 0x0b, 0x819: 0x0b, 0x81a: 0x0b, 0x81b: 0x0b, 0x81c: 0x0b, 0x81d: 0x0b, 0x81e: 0x0b, 0x81f: 0x0b, + 0x820: 0x0b, 0x821: 0x0b, 0x822: 0x0b, 0x823: 0x0b, 0x824: 0x0b, 0x825: 0x0b, 0x826: 0x0b, 0x827: 0x0b, + 0x828: 0x0b, 0x829: 0x0b, 0x82a: 0x0b, 0x82b: 0x0b, 0x82c: 0x0b, 0x82d: 0x0b, 0x82e: 0x0b, 0x82f: 0x0b, + 0x830: 0x0b, 0x831: 0x0b, 0x832: 0x0b, 0x833: 0x0b, 0x834: 0x0b, 0x835: 0x0b, 0x836: 0x0b, 0x837: 0x0b, + 0x838: 0x0b, 0x839: 0x0b, 0x83a: 0x0b, 0x83b: 0x0b, 0x83c: 0x0b, 0x83d: 0x0b, 0x83e: 0x0b, 0x83f: 0x0b, + // Block 0x21, offset 0x840 + 0x840: 0x18d, 0x841: 0x18e, 0x842: 0xba, 0x843: 0xba, 0x844: 0x18f, 0x845: 0x18f, 0x846: 0x18f, 0x847: 0x190, + 0x848: 0xba, 0x849: 0xba, 0x84a: 0xba, 0x84b: 0xba, 0x84c: 0xba, 0x84d: 0xba, 0x84e: 0xba, 0x84f: 0xba, + 0x850: 0xba, 0x851: 0xba, 0x852: 0xba, 0x853: 0xba, 0x854: 0xba, 0x855: 0xba, 0x856: 0xba, 0x857: 0xba, + 0x858: 0xba, 0x859: 0xba, 0x85a: 0xba, 0x85b: 0xba, 0x85c: 0xba, 0x85d: 0xba, 0x85e: 0xba, 0x85f: 0xba, + 0x860: 0xba, 0x861: 0xba, 0x862: 0xba, 0x863: 0xba, 0x864: 0xba, 0x865: 0xba, 0x866: 0xba, 0x867: 0xba, + 0x868: 0xba, 0x869: 0xba, 0x86a: 0xba, 0x86b: 0xba, 0x86c: 0xba, 0x86d: 0xba, 0x86e: 0xba, 0x86f: 0xba, + 0x870: 0xba, 0x871: 0xba, 0x872: 0xba, 0x873: 0xba, 0x874: 0xba, 0x875: 0xba, 0x876: 0xba, 0x877: 0xba, + 0x878: 0xba, 0x879: 0xba, 0x87a: 0xba, 0x87b: 0xba, 0x87c: 0xba, 0x87d: 0xba, 0x87e: 0xba, 0x87f: 0xba, + // Block 0x22, offset 0x880 + 0x880: 0x0b, 0x881: 0x0b, 0x882: 0x0b, 0x883: 0x0b, 0x884: 0x0b, 0x885: 0x0b, 0x886: 0x0b, 0x887: 0x0b, + 0x888: 0x0b, 0x889: 0x0b, 0x88a: 0x0b, 0x88b: 0x0b, 0x88c: 0x0b, 0x88d: 0x0b, 0x88e: 0x0b, 0x88f: 0x0b, + 0x890: 0x0b, 0x891: 0x0b, 0x892: 0x0b, 0x893: 0x0b, 0x894: 0x0b, 0x895: 0x0b, 0x896: 0x0b, 0x897: 0x0b, + 0x898: 0x0b, 0x899: 0x0b, 0x89a: 0x0b, 0x89b: 0x0b, 0x89c: 0x0b, 0x89d: 0x0b, 0x89e: 0x0b, 0x89f: 0x0b, + 0x8a0: 0x1f, 0x8a1: 0x0b, 0x8a2: 0x0b, 0x8a3: 0x0b, 0x8a4: 0x0b, 0x8a5: 0x0b, 0x8a6: 0x0b, 0x8a7: 0x0b, + 0x8a8: 0x0b, 0x8a9: 0x0b, 0x8aa: 0x0b, 0x8ab: 0x0b, 0x8ac: 0x0b, 0x8ad: 0x0b, 0x8ae: 0x0b, 0x8af: 0x0b, + 0x8b0: 0x0b, 0x8b1: 0x0b, 0x8b2: 0x0b, 0x8b3: 0x0b, 0x8b4: 0x0b, 0x8b5: 0x0b, 0x8b6: 0x0b, 0x8b7: 0x0b, + 0x8b8: 0x0b, 0x8b9: 0x0b, 0x8ba: 0x0b, 0x8bb: 0x0b, 0x8bc: 0x0b, 0x8bd: 0x0b, 0x8be: 0x0b, 0x8bf: 0x0b, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x0b, 0x8c1: 0x0b, 0x8c2: 0x0b, 0x8c3: 0x0b, 0x8c4: 0x0b, 0x8c5: 0x0b, 0x8c6: 0x0b, 0x8c7: 0x0b, + 0x8c8: 0x0b, 0x8c9: 0x0b, 0x8ca: 0x0b, 0x8cb: 0x0b, 0x8cc: 0x0b, 0x8cd: 0x0b, 0x8ce: 0x0b, 0x8cf: 0x0b, +} + +// idnaSparseOffset: 276 entries, 552 bytes +var idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x33, 0x3e, 0x4a, 0x4e, 0x5d, 0x62, 0x6c, 0x78, 0x86, 0x8b, 0x94, 0xa4, 0xb2, 0xbe, 0xca, 0xdb, 0xe5, 0xec, 0xf9, 0x10a, 0x111, 0x11c, 0x12b, 0x139, 0x143, 0x145, 0x14a, 0x14d, 0x150, 0x152, 0x15e, 0x169, 0x171, 0x177, 0x17d, 0x182, 0x187, 0x18a, 0x18e, 0x194, 0x199, 0x1a5, 0x1af, 0x1b5, 0x1c6, 0x1d0, 0x1d3, 0x1db, 0x1de, 0x1eb, 0x1f3, 0x1f7, 0x1fe, 0x206, 0x216, 0x222, 0x224, 0x22e, 0x23a, 0x246, 0x252, 0x25a, 0x25f, 0x269, 0x27a, 0x27e, 0x289, 0x28d, 0x296, 0x29e, 0x2a4, 0x2a9, 0x2ac, 0x2b0, 0x2b6, 0x2ba, 0x2be, 0x2c2, 0x2c7, 0x2cd, 0x2d5, 0x2dc, 0x2e7, 0x2f1, 0x2f5, 0x2f8, 0x2fe, 0x302, 0x304, 0x307, 0x309, 0x30c, 0x316, 0x319, 0x328, 0x32c, 0x331, 0x334, 0x338, 0x33d, 0x342, 0x348, 0x34e, 0x35d, 0x363, 0x367, 0x376, 0x37b, 0x383, 0x38d, 0x398, 0x3a0, 0x3b1, 0x3ba, 0x3ca, 0x3d7, 0x3e1, 0x3e6, 0x3f3, 0x3f7, 0x3fc, 0x3fe, 0x402, 0x404, 0x408, 0x411, 0x417, 0x41b, 0x42b, 0x435, 0x43a, 0x43d, 0x443, 0x44a, 0x44f, 0x453, 0x459, 0x45e, 0x467, 0x46c, 0x472, 0x479, 0x480, 0x487, 0x48b, 0x490, 0x493, 0x498, 0x4a4, 0x4aa, 0x4af, 0x4b6, 0x4be, 0x4c3, 0x4c7, 0x4d7, 0x4de, 0x4e2, 0x4e6, 0x4ed, 0x4ef, 0x4f2, 0x4f5, 0x4f9, 0x502, 0x506, 0x50e, 0x516, 0x51c, 0x525, 0x531, 0x538, 0x541, 0x54b, 0x552, 0x560, 0x56d, 0x57a, 0x583, 0x587, 0x596, 0x59e, 0x5a9, 0x5b2, 0x5b8, 0x5c0, 0x5c9, 0x5d3, 0x5d6, 0x5e2, 0x5eb, 0x5ee, 0x5f3, 0x5fe, 0x607, 0x613, 0x616, 0x620, 0x629, 0x635, 0x642, 0x64f, 0x65d, 0x664, 0x667, 0x66c, 0x66f, 0x672, 0x675, 0x67c, 0x683, 0x687, 0x692, 0x695, 0x698, 0x69b, 0x6a1, 0x6a6, 0x6aa, 0x6ad, 0x6b0, 0x6b3, 0x6b6, 0x6b9, 0x6be, 0x6c8, 0x6cb, 0x6cf, 0x6de, 0x6ea, 0x6ee, 0x6f3, 0x6f7, 0x6fc, 0x700, 0x705, 0x70e, 0x719, 0x71f, 0x727, 0x72a, 0x72d, 0x731, 0x735, 0x73b, 0x741, 0x746, 0x749, 0x759, 0x760, 0x763, 0x766, 0x76a, 0x770, 0x775, 0x77a, 0x782, 0x787, 0x78b, 0x78f, 0x792, 0x795, 0x799, 0x79d, 0x7a0, 0x7b0, 0x7c1, 0x7c6, 0x7c8, 0x7ca} + +// idnaSparseValues: 1997 entries, 7988 bytes +var idnaSparseValues = [1997]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0000, lo: 0x07}, + {value: 0xe105, lo: 0x80, hi: 0x96}, + {value: 0x0018, lo: 0x97, hi: 0x97}, + {value: 0xe105, lo: 0x98, hi: 0x9e}, + {value: 0x001f, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbf}, + // Block 0x1, offset 0x8 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0xe01d, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0335, lo: 0x83, hi: 0x83}, + {value: 0x034d, lo: 0x84, hi: 0x84}, + {value: 0x0365, lo: 0x85, hi: 0x85}, + {value: 0xe00d, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0xe00d, lo: 0x88, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x89}, + {value: 0xe00d, lo: 0x8a, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe00d, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0x8d}, + {value: 0xe00d, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0xbf}, + // Block 0x2, offset 0x19 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x0249, lo: 0xb0, hi: 0xb0}, + {value: 0x037d, lo: 0xb1, hi: 0xb1}, + {value: 0x0259, lo: 0xb2, hi: 0xb2}, + {value: 0x0269, lo: 0xb3, hi: 0xb3}, + {value: 0x034d, lo: 0xb4, hi: 0xb4}, + {value: 0x0395, lo: 0xb5, hi: 0xb5}, + {value: 0xe1bd, lo: 0xb6, hi: 0xb6}, + {value: 0x0279, lo: 0xb7, hi: 0xb7}, + {value: 0x0289, lo: 0xb8, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbf}, + // Block 0x3, offset 0x25 + {value: 0x0000, lo: 0x01}, + {value: 0x3308, lo: 0x80, hi: 0xbf}, + // Block 0x4, offset 0x27 + {value: 0x0000, lo: 0x04}, + {value: 0x03f5, lo: 0x80, hi: 0x8f}, + {value: 0xe105, lo: 0x90, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x5, offset 0x2c + {value: 0x0000, lo: 0x06}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x0545, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x0008, lo: 0x99, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x6, offset 0x33 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0401, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x88}, + {value: 0x0018, lo: 0x89, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x3308, lo: 0x91, hi: 0xbd}, + {value: 0x0818, lo: 0xbe, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x7, offset 0x3e + {value: 0x0000, lo: 0x0b}, + {value: 0x0818, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x82}, + {value: 0x0818, lo: 0x83, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x85}, + {value: 0x0818, lo: 0x86, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xae}, + {value: 0x0808, lo: 0xaf, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x8, offset 0x4a + {value: 0x0000, lo: 0x03}, + {value: 0x0a08, lo: 0x80, hi: 0x87}, + {value: 0x0c08, lo: 0x88, hi: 0x99}, + {value: 0x0a08, lo: 0x9a, hi: 0xbf}, + // Block 0x9, offset 0x4e + {value: 0x0000, lo: 0x0e}, + {value: 0x3308, lo: 0x80, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0c08, lo: 0x8d, hi: 0x8d}, + {value: 0x0a08, lo: 0x8e, hi: 0x98}, + {value: 0x0c08, lo: 0x99, hi: 0x9b}, + {value: 0x0a08, lo: 0x9c, hi: 0xaa}, + {value: 0x0c08, lo: 0xab, hi: 0xac}, + {value: 0x0a08, lo: 0xad, hi: 0xb0}, + {value: 0x0c08, lo: 0xb1, hi: 0xb1}, + {value: 0x0a08, lo: 0xb2, hi: 0xb2}, + {value: 0x0c08, lo: 0xb3, hi: 0xb4}, + {value: 0x0a08, lo: 0xb5, hi: 0xb7}, + {value: 0x0c08, lo: 0xb8, hi: 0xb9}, + {value: 0x0a08, lo: 0xba, hi: 0xbf}, + // Block 0xa, offset 0x5d + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xb0}, + {value: 0x0808, lo: 0xb1, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xb, offset 0x62 + {value: 0x0000, lo: 0x09}, + {value: 0x0808, lo: 0x80, hi: 0x89}, + {value: 0x0a08, lo: 0x8a, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xb3}, + {value: 0x0808, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xb9}, + {value: 0x0818, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x0818, lo: 0xbe, hi: 0xbf}, + // Block 0xc, offset 0x6c + {value: 0x0000, lo: 0x0b}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x99}, + {value: 0x0808, lo: 0x9a, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0xa3}, + {value: 0x0808, lo: 0xa4, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa7}, + {value: 0x0808, lo: 0xa8, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0818, lo: 0xb0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xd, offset 0x78 + {value: 0x0000, lo: 0x0d}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0a08, lo: 0xa0, hi: 0xa9}, + {value: 0x0c08, lo: 0xaa, hi: 0xac}, + {value: 0x0808, lo: 0xad, hi: 0xad}, + {value: 0x0c08, lo: 0xae, hi: 0xae}, + {value: 0x0a08, lo: 0xaf, hi: 0xb0}, + {value: 0x0c08, lo: 0xb1, hi: 0xb2}, + {value: 0x0a08, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0a08, lo: 0xb6, hi: 0xb8}, + {value: 0x0c08, lo: 0xb9, hi: 0xb9}, + {value: 0x0a08, lo: 0xba, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0xe, offset 0x86 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x92}, + {value: 0x3308, lo: 0x93, hi: 0xa1}, + {value: 0x0840, lo: 0xa2, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xbf}, + // Block 0xf, offset 0x8b + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x10, offset 0x94 + {value: 0x0000, lo: 0x0f}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x85}, + {value: 0x3008, lo: 0x86, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x3008, lo: 0x8a, hi: 0x8c}, + {value: 0x3b08, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x11, offset 0xa4 + {value: 0x0000, lo: 0x0d}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xa9}, + {value: 0x0008, lo: 0xaa, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbf}, + // Block 0x12, offset 0xb2 + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xba}, + {value: 0x3b08, lo: 0xbb, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x13, offset 0xbe + {value: 0x0000, lo: 0x0b}, + {value: 0x0040, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x14, offset 0xca + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x89}, + {value: 0x3b08, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8e}, + {value: 0x3008, lo: 0x8f, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x3008, lo: 0x98, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x15, offset 0xdb + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb2}, + {value: 0x08f1, lo: 0xb3, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb9}, + {value: 0x3b08, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0x16, offset 0xe5 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x8e}, + {value: 0x0018, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0xbf}, + // Block 0x17, offset 0xec + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x3308, lo: 0x88, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0961, lo: 0x9c, hi: 0x9c}, + {value: 0x0999, lo: 0x9d, hi: 0x9d}, + {value: 0x0008, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x18, offset 0xf9 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe03d, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xb8}, + {value: 0x3308, lo: 0xb9, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x19, offset 0x10a + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0xbf}, + // Block 0x1a, offset 0x111 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x3008, lo: 0xab, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xb0}, + {value: 0x3008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x1b, offset 0x11c + {value: 0x0000, lo: 0x0e}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x3008, lo: 0x96, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x3308, lo: 0x9e, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xa1}, + {value: 0x3008, lo: 0xa2, hi: 0xa4}, + {value: 0x0008, lo: 0xa5, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xbf}, + // Block 0x1c, offset 0x12b + {value: 0x0000, lo: 0x0d}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x8c}, + {value: 0x3308, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x8e}, + {value: 0x3008, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x3008, lo: 0x9a, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x1d, offset 0x139 + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x86}, + {value: 0x055d, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8c}, + {value: 0x055d, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbb}, + {value: 0xe105, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0x1e, offset 0x143 + {value: 0x0000, lo: 0x01}, + {value: 0x0018, lo: 0x80, hi: 0xbf}, + // Block 0x1f, offset 0x145 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa0}, + {value: 0x2018, lo: 0xa1, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0x20, offset 0x14a + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xa7}, + {value: 0x2018, lo: 0xa8, hi: 0xbf}, + // Block 0x21, offset 0x14d + {value: 0x0000, lo: 0x02}, + {value: 0x2018, lo: 0x80, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0xbf}, + // Block 0x22, offset 0x150 + {value: 0x0000, lo: 0x01}, + {value: 0x0008, lo: 0x80, hi: 0xbf}, + // Block 0x23, offset 0x152 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x24, offset 0x15e + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x25, offset 0x169 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x26, offset 0x171 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x27, offset 0x177 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x28, offset 0x17d + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x29, offset 0x182 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x2a, offset 0x187 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x2b, offset 0x18a + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xbf}, + // Block 0x2c, offset 0x18e + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x2d, offset 0x194 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0x2e, offset 0x199 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x93}, + {value: 0x3b08, lo: 0x94, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x3b08, lo: 0xb4, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x2f, offset 0x1a5 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x30, offset 0x1af + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xb3}, + {value: 0x3340, lo: 0xb4, hi: 0xb5}, + {value: 0x3008, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x31, offset 0x1b5 + {value: 0x0000, lo: 0x10}, + {value: 0x3008, lo: 0x80, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x88}, + {value: 0x3308, lo: 0x89, hi: 0x91}, + {value: 0x3b08, lo: 0x92, hi: 0x92}, + {value: 0x3308, lo: 0x93, hi: 0x93}, + {value: 0x0018, lo: 0x94, hi: 0x96}, + {value: 0x0008, lo: 0x97, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x32, offset 0x1c6 + {value: 0x0000, lo: 0x09}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x86}, + {value: 0x0218, lo: 0x87, hi: 0x87}, + {value: 0x0018, lo: 0x88, hi: 0x8a}, + {value: 0x33c0, lo: 0x8b, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0208, lo: 0xa0, hi: 0xbf}, + // Block 0x33, offset 0x1d0 + {value: 0x0000, lo: 0x02}, + {value: 0x0208, lo: 0x80, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0x34, offset 0x1d3 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x0208, lo: 0x87, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xa9}, + {value: 0x0208, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x35, offset 0x1db + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0x36, offset 0x1de + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb8}, + {value: 0x3308, lo: 0xb9, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x37, offset 0x1eb + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x38, offset 0x1f3 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x39, offset 0x1f7 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0028, lo: 0x9a, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0xbf}, + // Block 0x3a, offset 0x1fe + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x3308, lo: 0x97, hi: 0x98}, + {value: 0x3008, lo: 0x99, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x3b, offset 0x206 + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x94}, + {value: 0x3008, lo: 0x95, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3b08, lo: 0xa0, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xac}, + {value: 0x3008, lo: 0xad, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x3c, offset 0x216 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xbd}, + {value: 0x3318, lo: 0xbe, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x3d, offset 0x222 + {value: 0x0000, lo: 0x01}, + {value: 0x0040, lo: 0x80, hi: 0xbf}, + // Block 0x3e, offset 0x224 + {value: 0x0000, lo: 0x09}, + {value: 0x3308, lo: 0x80, hi: 0x83}, + {value: 0x3008, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbf}, + // Block 0x3f, offset 0x22e + {value: 0x0000, lo: 0x0b}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x3808, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x40, offset 0x23a + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa9}, + {value: 0x3808, lo: 0xaa, hi: 0xaa}, + {value: 0x3b08, lo: 0xab, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xbf}, + // Block 0x41, offset 0x246 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa9}, + {value: 0x3008, lo: 0xaa, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb1}, + {value: 0x3808, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbf}, + // Block 0x42, offset 0x252 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x3008, lo: 0xa4, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbf}, + // Block 0x43, offset 0x25a + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x44, offset 0x25f + {value: 0x0000, lo: 0x09}, + {value: 0x0e29, lo: 0x80, hi: 0x80}, + {value: 0x0e41, lo: 0x81, hi: 0x81}, + {value: 0x0e59, lo: 0x82, hi: 0x82}, + {value: 0x0e71, lo: 0x83, hi: 0x83}, + {value: 0x0e89, lo: 0x84, hi: 0x85}, + {value: 0x0ea1, lo: 0x86, hi: 0x86}, + {value: 0x0eb9, lo: 0x87, hi: 0x87}, + {value: 0x057d, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0xbf}, + // Block 0x45, offset 0x269 + {value: 0x0000, lo: 0x10}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x92}, + {value: 0x0018, lo: 0x93, hi: 0x93}, + {value: 0x3308, lo: 0x94, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa8}, + {value: 0x0008, lo: 0xa9, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x3008, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x46, offset 0x27a + {value: 0x0000, lo: 0x03}, + {value: 0x3308, lo: 0x80, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbf}, + // Block 0x47, offset 0x27e + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x87}, + {value: 0xe045, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0xe045, lo: 0x98, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0xe045, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbf}, + // Block 0x48, offset 0x289 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x3318, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbf}, + // Block 0x49, offset 0x28d + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x88}, + {value: 0x24c1, lo: 0x89, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x4a, offset 0x296 + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x24f1, lo: 0xac, hi: 0xac}, + {value: 0x2529, lo: 0xad, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xae}, + {value: 0x2579, lo: 0xaf, hi: 0xaf}, + {value: 0x25b1, lo: 0xb0, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0x4b, offset 0x29e + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x9f}, + {value: 0x0080, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xad}, + {value: 0x0080, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x4c, offset 0x2a4 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xa8}, + {value: 0x09c5, lo: 0xa9, hi: 0xa9}, + {value: 0x09e5, lo: 0xaa, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xbf}, + // Block 0x4d, offset 0x2a9 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xbf}, + // Block 0x4e, offset 0x2ac + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x28c1, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0xbf}, + // Block 0x4f, offset 0x2b0 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0e66, lo: 0xb4, hi: 0xb4}, + {value: 0x292a, lo: 0xb5, hi: 0xb5}, + {value: 0x0e86, lo: 0xb6, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x50, offset 0x2b6 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x9b}, + {value: 0x2941, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0xbf}, + // Block 0x51, offset 0x2ba + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0x52, offset 0x2be + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0xbf}, + // Block 0x53, offset 0x2c2 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x54, offset 0x2c7 + {value: 0x0000, lo: 0x05}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x03f5, lo: 0x90, hi: 0x9f}, + {value: 0x0ea5, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x55, offset 0x2cd + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xac}, + {value: 0x0008, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x56, offset 0x2d5 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xae}, + {value: 0xe075, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0x57, offset 0x2dc + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x58, offset 0x2e7 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xbf}, + // Block 0x59, offset 0x2f1 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x5a, offset 0x2f5 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0xbf}, + // Block 0x5b, offset 0x2f8 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9e}, + {value: 0x0edd, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0x5c, offset 0x2fe + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb2}, + {value: 0x0efd, lo: 0xb3, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x5d, offset 0x302 + {value: 0x0020, lo: 0x01}, + {value: 0x0f1d, lo: 0x80, hi: 0xbf}, + // Block 0x5e, offset 0x304 + {value: 0x0020, lo: 0x02}, + {value: 0x171d, lo: 0x80, hi: 0x8f}, + {value: 0x18fd, lo: 0x90, hi: 0xbf}, + // Block 0x5f, offset 0x307 + {value: 0x0020, lo: 0x01}, + {value: 0x1efd, lo: 0x80, hi: 0xbf}, + // Block 0x60, offset 0x309 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x61, offset 0x30c + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x3308, lo: 0x99, hi: 0x9a}, + {value: 0x29e2, lo: 0x9b, hi: 0x9b}, + {value: 0x2a0a, lo: 0x9c, hi: 0x9c}, + {value: 0x0008, lo: 0x9d, hi: 0x9e}, + {value: 0x2a31, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xbf}, + // Block 0x62, offset 0x316 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xbe}, + {value: 0x2a69, lo: 0xbf, hi: 0xbf}, + // Block 0x63, offset 0x319 + {value: 0x0000, lo: 0x0e}, + {value: 0x0040, lo: 0x80, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xb0}, + {value: 0x2a1d, lo: 0xb1, hi: 0xb1}, + {value: 0x2a3d, lo: 0xb2, hi: 0xb2}, + {value: 0x2a5d, lo: 0xb3, hi: 0xb3}, + {value: 0x2a7d, lo: 0xb4, hi: 0xb4}, + {value: 0x2a5d, lo: 0xb5, hi: 0xb5}, + {value: 0x2a9d, lo: 0xb6, hi: 0xb6}, + {value: 0x2abd, lo: 0xb7, hi: 0xb7}, + {value: 0x2add, lo: 0xb8, hi: 0xb9}, + {value: 0x2afd, lo: 0xba, hi: 0xbb}, + {value: 0x2b1d, lo: 0xbc, hi: 0xbd}, + {value: 0x2afd, lo: 0xbe, hi: 0xbf}, + // Block 0x64, offset 0x328 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x65, offset 0x32c + {value: 0x0030, lo: 0x04}, + {value: 0x2aa2, lo: 0x80, hi: 0x9d}, + {value: 0x305a, lo: 0x9e, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x30a2, lo: 0xa0, hi: 0xbf}, + // Block 0x66, offset 0x331 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x67, offset 0x334 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x68, offset 0x338 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x69, offset 0x33d + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xbf}, + // Block 0x6a, offset 0x342 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb1}, + {value: 0x0018, lo: 0xb2, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x6b, offset 0x348 + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0xb6}, + {value: 0x0008, lo: 0xb7, hi: 0xb7}, + {value: 0x2009, lo: 0xb8, hi: 0xb8}, + {value: 0x6e89, lo: 0xb9, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xbf}, + // Block 0x6c, offset 0x34e + {value: 0x0000, lo: 0x0e}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0x85}, + {value: 0x3b08, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x3308, lo: 0x8b, hi: 0x8b}, + {value: 0x0008, lo: 0x8c, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x6d, offset 0x35d + {value: 0x0000, lo: 0x05}, + {value: 0x0208, lo: 0x80, hi: 0xb1}, + {value: 0x0108, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x6e, offset 0x363 + {value: 0x0000, lo: 0x03}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xbf}, + // Block 0x6f, offset 0x367 + {value: 0x0000, lo: 0x0e}, + {value: 0x3008, lo: 0x80, hi: 0x83}, + {value: 0x3b08, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xba}, + {value: 0x0008, lo: 0xbb, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x70, offset 0x376 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x71, offset 0x37b + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x91}, + {value: 0x3008, lo: 0x92, hi: 0x92}, + {value: 0x3808, lo: 0x93, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x72, offset 0x383 + {value: 0x0000, lo: 0x09}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb9}, + {value: 0x3008, lo: 0xba, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbf}, + // Block 0x73, offset 0x38d + {value: 0x0000, lo: 0x0a}, + {value: 0x3808, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x74, offset 0x398 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x75, offset 0x3a0 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x8b}, + {value: 0x3308, lo: 0x8c, hi: 0x8c}, + {value: 0x3008, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbd}, + {value: 0x0008, lo: 0xbe, hi: 0xbf}, + // Block 0x76, offset 0x3b1 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbf}, + // Block 0x77, offset 0x3ba + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x9a}, + {value: 0x0008, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xaa}, + {value: 0x3008, lo: 0xab, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb5}, + {value: 0x3b08, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x78, offset 0x3ca + {value: 0x0000, lo: 0x0c}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x90}, + {value: 0x0008, lo: 0x91, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x79, offset 0x3d7 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x4465, lo: 0x9c, hi: 0x9c}, + {value: 0x447d, lo: 0x9d, hi: 0x9d}, + {value: 0x2971, lo: 0x9e, hi: 0x9e}, + {value: 0xe06d, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xaf}, + {value: 0x4495, lo: 0xb0, hi: 0xbf}, + // Block 0x7a, offset 0x3e1 + {value: 0x0000, lo: 0x04}, + {value: 0x44b5, lo: 0x80, hi: 0x8f}, + {value: 0x44d5, lo: 0x90, hi: 0x9f}, + {value: 0x44f5, lo: 0xa0, hi: 0xaf}, + {value: 0x44d5, lo: 0xb0, hi: 0xbf}, + // Block 0x7b, offset 0x3e6 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3b08, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x7c, offset 0x3f3 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x7d, offset 0x3f7 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x7e, offset 0x3fc + {value: 0x0020, lo: 0x01}, + {value: 0x4515, lo: 0x80, hi: 0xbf}, + // Block 0x7f, offset 0x3fe + {value: 0x0020, lo: 0x03}, + {value: 0x4d15, lo: 0x80, hi: 0x94}, + {value: 0x4ad5, lo: 0x95, hi: 0x95}, + {value: 0x4fb5, lo: 0x96, hi: 0xbf}, + // Block 0x80, offset 0x402 + {value: 0x0020, lo: 0x01}, + {value: 0x54f5, lo: 0x80, hi: 0xbf}, + // Block 0x81, offset 0x404 + {value: 0x0020, lo: 0x03}, + {value: 0x5cf5, lo: 0x80, hi: 0x84}, + {value: 0x5655, lo: 0x85, hi: 0x85}, + {value: 0x5d95, lo: 0x86, hi: 0xbf}, + // Block 0x82, offset 0x408 + {value: 0x0020, lo: 0x08}, + {value: 0x6b55, lo: 0x80, hi: 0x8f}, + {value: 0x6d15, lo: 0x90, hi: 0x90}, + {value: 0x6d55, lo: 0x91, hi: 0xab}, + {value: 0x6ea1, lo: 0xac, hi: 0xac}, + {value: 0x70b5, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x70d5, lo: 0xb0, hi: 0xbf}, + // Block 0x83, offset 0x411 + {value: 0x0020, lo: 0x05}, + {value: 0x72d5, lo: 0x80, hi: 0xad}, + {value: 0x6535, lo: 0xae, hi: 0xae}, + {value: 0x7895, lo: 0xaf, hi: 0xb5}, + {value: 0x6f55, lo: 0xb6, hi: 0xb6}, + {value: 0x7975, lo: 0xb7, hi: 0xbf}, + // Block 0x84, offset 0x417 + {value: 0x0028, lo: 0x03}, + {value: 0x7c21, lo: 0x80, hi: 0x82}, + {value: 0x7be1, lo: 0x83, hi: 0x83}, + {value: 0x7c99, lo: 0x84, hi: 0xbf}, + // Block 0x85, offset 0x41b + {value: 0x0038, lo: 0x0f}, + {value: 0x9db1, lo: 0x80, hi: 0x83}, + {value: 0x9e59, lo: 0x84, hi: 0x85}, + {value: 0x9e91, lo: 0x86, hi: 0x87}, + {value: 0x9ec9, lo: 0x88, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0xa089, lo: 0x92, hi: 0x97}, + {value: 0xa1a1, lo: 0x98, hi: 0x9c}, + {value: 0xa281, lo: 0x9d, hi: 0xb3}, + {value: 0x9d41, lo: 0xb4, hi: 0xb4}, + {value: 0x9db1, lo: 0xb5, hi: 0xb5}, + {value: 0xa789, lo: 0xb6, hi: 0xbb}, + {value: 0xa869, lo: 0xbc, hi: 0xbc}, + {value: 0xa7f9, lo: 0xbd, hi: 0xbd}, + {value: 0xa8d9, lo: 0xbe, hi: 0xbf}, + // Block 0x86, offset 0x42b + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbb}, + {value: 0x0008, lo: 0xbc, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x87, offset 0x435 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0x88, offset 0x43a + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x89, offset 0x43d + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x8a, offset 0x443 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0x8b, offset 0x44a + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x8c, offset 0x44f + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x8d, offset 0x453 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x8e, offset 0x459 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xac}, + {value: 0x0008, lo: 0xad, hi: 0xbf}, + // Block 0x8f, offset 0x45e + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x90, offset 0x467 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x91, offset 0x46c + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0xbf}, + // Block 0x92, offset 0x472 + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x97}, + {value: 0x8ad5, lo: 0x98, hi: 0x9f}, + {value: 0x8aed, lo: 0xa0, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xbf}, + // Block 0x93, offset 0x479 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x8aed, lo: 0xb0, hi: 0xb7}, + {value: 0x8ad5, lo: 0xb8, hi: 0xbf}, + // Block 0x94, offset 0x480 + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x95, offset 0x487 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x96, offset 0x48b + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xae}, + {value: 0x0018, lo: 0xaf, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x97, offset 0x490 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x98, offset 0x493 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xbf}, + // Block 0x99, offset 0x498 + {value: 0x0000, lo: 0x0b}, + {value: 0x0808, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0808, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0808, lo: 0x8a, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb6}, + {value: 0x0808, lo: 0xb7, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbb}, + {value: 0x0808, lo: 0xbc, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x0808, lo: 0xbf, hi: 0xbf}, + // Block 0x9a, offset 0x4a4 + {value: 0x0000, lo: 0x05}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x96}, + {value: 0x0818, lo: 0x97, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb6}, + {value: 0x0818, lo: 0xb7, hi: 0xbf}, + // Block 0x9b, offset 0x4aa + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa6}, + {value: 0x0818, lo: 0xa7, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x9c, offset 0x4af + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb3}, + {value: 0x0808, lo: 0xb4, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xba}, + {value: 0x0818, lo: 0xbb, hi: 0xbf}, + // Block 0x9d, offset 0x4b6 + {value: 0x0000, lo: 0x07}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0818, lo: 0x96, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbe}, + {value: 0x0818, lo: 0xbf, hi: 0xbf}, + // Block 0x9e, offset 0x4be + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbb}, + {value: 0x0818, lo: 0xbc, hi: 0xbd}, + {value: 0x0808, lo: 0xbe, hi: 0xbf}, + // Block 0x9f, offset 0x4c3 + {value: 0x0000, lo: 0x03}, + {value: 0x0818, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x0818, lo: 0x92, hi: 0xbf}, + // Block 0xa0, offset 0x4c7 + {value: 0x0000, lo: 0x0f}, + {value: 0x0808, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8b}, + {value: 0x3308, lo: 0x8c, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x94}, + {value: 0x0808, lo: 0x95, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0x98}, + {value: 0x0808, lo: 0x99, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xa1, offset 0x4d7 + {value: 0x0000, lo: 0x06}, + {value: 0x0818, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0x0818, lo: 0x90, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xbc}, + {value: 0x0818, lo: 0xbd, hi: 0xbf}, + // Block 0xa2, offset 0x4de + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0x9c}, + {value: 0x0818, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xa3, offset 0x4e2 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb8}, + {value: 0x0018, lo: 0xb9, hi: 0xbf}, + // Block 0xa4, offset 0x4e6 + {value: 0x0000, lo: 0x06}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0818, lo: 0x98, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb7}, + {value: 0x0818, lo: 0xb8, hi: 0xbf}, + // Block 0xa5, offset 0x4ed + {value: 0x0000, lo: 0x01}, + {value: 0x0808, lo: 0x80, hi: 0xbf}, + // Block 0xa6, offset 0x4ef + {value: 0x0000, lo: 0x02}, + {value: 0x0808, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0xbf}, + // Block 0xa7, offset 0x4f2 + {value: 0x0000, lo: 0x02}, + {value: 0x03dd, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbf}, + // Block 0xa8, offset 0x4f5 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb9}, + {value: 0x0818, lo: 0xba, hi: 0xbf}, + // Block 0xa9, offset 0x4f9 + {value: 0x0000, lo: 0x08}, + {value: 0x0908, lo: 0x80, hi: 0x80}, + {value: 0x0a08, lo: 0x81, hi: 0xa1}, + {value: 0x0c08, lo: 0xa2, hi: 0xa2}, + {value: 0x0a08, lo: 0xa3, hi: 0xa3}, + {value: 0x3308, lo: 0xa4, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0808, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xaa, offset 0x502 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0818, lo: 0xa0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xab, offset 0x506 + {value: 0x0000, lo: 0x07}, + {value: 0x0808, lo: 0x80, hi: 0x9c}, + {value: 0x0818, lo: 0x9d, hi: 0xa6}, + {value: 0x0808, lo: 0xa7, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0a08, lo: 0xb0, hi: 0xb2}, + {value: 0x0c08, lo: 0xb3, hi: 0xb3}, + {value: 0x0a08, lo: 0xb4, hi: 0xbf}, + // Block 0xac, offset 0x50e + {value: 0x0000, lo: 0x07}, + {value: 0x0a08, lo: 0x80, hi: 0x84}, + {value: 0x0808, lo: 0x85, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x90}, + {value: 0x0a18, lo: 0x91, hi: 0x93}, + {value: 0x0c18, lo: 0x94, hi: 0x94}, + {value: 0x0818, lo: 0x95, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xad, offset 0x516 + {value: 0x0000, lo: 0x05}, + {value: 0x3008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xae, offset 0x51c + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x85}, + {value: 0x3b08, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x91}, + {value: 0x0018, lo: 0x92, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xaf, offset 0x525 + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb6}, + {value: 0x3008, lo: 0xb7, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0xb0, offset 0x531 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xb1, offset 0x538 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xb2}, + {value: 0x3b08, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xbf}, + // Block 0xb2, offset 0x541 + {value: 0x0000, lo: 0x09}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x3008, lo: 0x85, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xb3, offset 0x54b + {value: 0x0000, lo: 0x06}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xbe}, + {value: 0x3008, lo: 0xbf, hi: 0xbf}, + // Block 0xb4, offset 0x552 + {value: 0x0000, lo: 0x0d}, + {value: 0x3808, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x88}, + {value: 0x3308, lo: 0x89, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xb5, offset 0x560 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x3808, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xb6, offset 0x56d + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0008, lo: 0x9f, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0xb7, offset 0x57a + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x3308, lo: 0x9f, hi: 0x9f}, + {value: 0x3008, lo: 0xa0, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xa9}, + {value: 0x3b08, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xb8, offset 0x583 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xb9, offset 0x587 + {value: 0x0000, lo: 0x0e}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x3b08, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x84}, + {value: 0x3008, lo: 0x85, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9d}, + {value: 0x3308, lo: 0x9e, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xbf}, + // Block 0xba, offset 0x596 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb8}, + {value: 0x3008, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0xbb, offset 0x59e + {value: 0x0000, lo: 0x0a}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x81}, + {value: 0x3b08, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x85}, + {value: 0x0018, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xbc, offset 0x5a9 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xbd, offset 0x5b2 + {value: 0x0000, lo: 0x05}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9b}, + {value: 0x3308, lo: 0x9c, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0xbe, offset 0x5b8 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xbf, offset 0x5c0 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xc0, offset 0x5c9 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb5}, + {value: 0x3808, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0xc1, offset 0x5d3 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0xbf}, + // Block 0xc2, offset 0x5d6 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9f}, + {value: 0x3008, lo: 0xa0, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xaa}, + {value: 0x3b08, lo: 0xab, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbf}, + // Block 0xc3, offset 0x5e2 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0xc4, offset 0x5eb + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xbf}, + // Block 0xc5, offset 0x5ee + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0xc6, offset 0x5f3 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x3b08, lo: 0xb4, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb8}, + {value: 0x3008, lo: 0xb9, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0xc7, offset 0x5fe + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x3b08, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x3308, lo: 0x91, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x98}, + {value: 0x3308, lo: 0x99, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0xbf}, + // Block 0xc8, offset 0x607 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x89}, + {value: 0x3308, lo: 0x8a, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x98}, + {value: 0x3b08, lo: 0x99, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9c}, + {value: 0x0008, lo: 0x9d, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0xa2}, + {value: 0x0040, lo: 0xa3, hi: 0xbf}, + // Block 0xc9, offset 0x613 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xca, offset 0x616 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xcb, offset 0x620 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xbf}, + // Block 0xcc, offset 0x629 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xa9}, + {value: 0x3308, lo: 0xaa, hi: 0xb0}, + {value: 0x3008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xcd, offset 0x635 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0xce, offset 0x642 + {value: 0x0000, lo: 0x0c}, + {value: 0x3308, lo: 0x80, hi: 0x83}, + {value: 0x3b08, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xa9}, + {value: 0x0008, lo: 0xaa, hi: 0xbf}, + // Block 0xcf, offset 0x64f + {value: 0x0000, lo: 0x0d}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x3008, lo: 0x8a, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x92}, + {value: 0x3008, lo: 0x93, hi: 0x94}, + {value: 0x3308, lo: 0x95, hi: 0x95}, + {value: 0x3008, lo: 0x96, hi: 0x96}, + {value: 0x3b08, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xbf}, + // Block 0xd0, offset 0x65d + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xd1, offset 0x664 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xd2, offset 0x667 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xd3, offset 0x66c + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0xbf}, + // Block 0xd4, offset 0x66f + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xbf}, + // Block 0xd5, offset 0x672 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0xbf}, + // Block 0xd6, offset 0x675 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xd7, offset 0x67c + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xd8, offset 0x683 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0xd9, offset 0x687 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x0008, lo: 0xa3, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0xda, offset 0x692 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0xbf}, + // Block 0xdb, offset 0x695 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0xdc, offset 0x698 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0xbf}, + // Block 0xdd, offset 0x69b + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x3008, lo: 0x91, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xde, offset 0x6a1 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x8e}, + {value: 0x3308, lo: 0x8f, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xdf, offset 0x6a6 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xbf}, + // Block 0xe0, offset 0x6aa + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xe1, offset 0x6ad + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbf}, + // Block 0xe2, offset 0x6b0 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xbf}, + // Block 0xe3, offset 0x6b3 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0xe4, offset 0x6b6 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0xe5, offset 0x6b9 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0xe6, offset 0x6be + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x03c0, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xbf}, + // Block 0xe7, offset 0x6c8 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xe8, offset 0x6cb + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xbf}, + // Block 0xe9, offset 0x6cf + {value: 0x0000, lo: 0x0e}, + {value: 0x0018, lo: 0x80, hi: 0x9d}, + {value: 0xb5b9, lo: 0x9e, hi: 0x9e}, + {value: 0xb601, lo: 0x9f, hi: 0x9f}, + {value: 0xb649, lo: 0xa0, hi: 0xa0}, + {value: 0xb6b1, lo: 0xa1, hi: 0xa1}, + {value: 0xb719, lo: 0xa2, hi: 0xa2}, + {value: 0xb781, lo: 0xa3, hi: 0xa3}, + {value: 0xb7e9, lo: 0xa4, hi: 0xa4}, + {value: 0x3018, lo: 0xa5, hi: 0xa6}, + {value: 0x3318, lo: 0xa7, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xac}, + {value: 0x3018, lo: 0xad, hi: 0xb2}, + {value: 0x0340, lo: 0xb3, hi: 0xba}, + {value: 0x3318, lo: 0xbb, hi: 0xbf}, + // Block 0xea, offset 0x6de + {value: 0x0000, lo: 0x0b}, + {value: 0x3318, lo: 0x80, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0x84}, + {value: 0x3318, lo: 0x85, hi: 0x8b}, + {value: 0x0018, lo: 0x8c, hi: 0xa9}, + {value: 0x3318, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xba}, + {value: 0xb851, lo: 0xbb, hi: 0xbb}, + {value: 0xb899, lo: 0xbc, hi: 0xbc}, + {value: 0xb8e1, lo: 0xbd, hi: 0xbd}, + {value: 0xb949, lo: 0xbe, hi: 0xbe}, + {value: 0xb9b1, lo: 0xbf, hi: 0xbf}, + // Block 0xeb, offset 0x6ea + {value: 0x0000, lo: 0x03}, + {value: 0xba19, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xbf}, + // Block 0xec, offset 0x6ee + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x3318, lo: 0x82, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0xbf}, + // Block 0xed, offset 0x6f3 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0xee, offset 0x6f7 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xef, offset 0x6fc + {value: 0x0000, lo: 0x03}, + {value: 0x3308, lo: 0x80, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbf}, + // Block 0xf0, offset 0x700 + {value: 0x0000, lo: 0x04}, + {value: 0x3308, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0xf1, offset 0x705 + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x3308, lo: 0xa1, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xf2, offset 0x70e + {value: 0x0000, lo: 0x0a}, + {value: 0x3308, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x3308, lo: 0x88, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xa4}, + {value: 0x0040, lo: 0xa5, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xbf}, + // Block 0xf3, offset 0x719 + {value: 0x0000, lo: 0x05}, + {value: 0x0808, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x86}, + {value: 0x0818, lo: 0x87, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0xf4, offset 0x71f + {value: 0x0000, lo: 0x07}, + {value: 0x0a08, lo: 0x80, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0818, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xf5, offset 0x727 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0xb0}, + {value: 0x0818, lo: 0xb1, hi: 0xbf}, + // Block 0xf6, offset 0x72a + {value: 0x0000, lo: 0x02}, + {value: 0x0818, lo: 0x80, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xf7, offset 0x72d + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xf8, offset 0x731 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0xf9, offset 0x735 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0xfa, offset 0x73b + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xfb, offset 0x741 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8f}, + {value: 0xc1c1, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xfc, offset 0x746 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xbf}, + // Block 0xfd, offset 0x749 + {value: 0x0000, lo: 0x0f}, + {value: 0xc7e9, lo: 0x80, hi: 0x80}, + {value: 0xc839, lo: 0x81, hi: 0x81}, + {value: 0xc889, lo: 0x82, hi: 0x82}, + {value: 0xc8d9, lo: 0x83, hi: 0x83}, + {value: 0xc929, lo: 0x84, hi: 0x84}, + {value: 0xc979, lo: 0x85, hi: 0x85}, + {value: 0xc9c9, lo: 0x86, hi: 0x86}, + {value: 0xca19, lo: 0x87, hi: 0x87}, + {value: 0xca69, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0xcab9, lo: 0x90, hi: 0x90}, + {value: 0xcad9, lo: 0x91, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xbf}, + // Block 0xfe, offset 0x759 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xff, offset 0x760 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x100, offset 0x763 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0xbf}, + // Block 0x101, offset 0x766 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x102, offset 0x76a + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0x103, offset 0x770 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xbf}, + // Block 0x104, offset 0x775 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x105, offset 0x77a + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb2}, + {value: 0x0018, lo: 0xb3, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbf}, + // Block 0x106, offset 0x782 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xa2}, + {value: 0x0040, lo: 0xa3, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x107, offset 0x787 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x108, offset 0x78b + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xbf}, + // Block 0x109, offset 0x78f + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0x10a, offset 0x792 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x10b, offset 0x795 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x10c, offset 0x799 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x10d, offset 0x79d + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0x10e, offset 0x7a0 + {value: 0x0020, lo: 0x0f}, + {value: 0xdeb9, lo: 0x80, hi: 0x89}, + {value: 0x8dfd, lo: 0x8a, hi: 0x8a}, + {value: 0xdff9, lo: 0x8b, hi: 0x9c}, + {value: 0x8e1d, lo: 0x9d, hi: 0x9d}, + {value: 0xe239, lo: 0x9e, hi: 0xa2}, + {value: 0x8e3d, lo: 0xa3, hi: 0xa3}, + {value: 0xe2d9, lo: 0xa4, hi: 0xab}, + {value: 0x7ed5, lo: 0xac, hi: 0xac}, + {value: 0xe3d9, lo: 0xad, hi: 0xaf}, + {value: 0x8e5d, lo: 0xb0, hi: 0xb0}, + {value: 0xe439, lo: 0xb1, hi: 0xb6}, + {value: 0x8e7d, lo: 0xb7, hi: 0xb9}, + {value: 0xe4f9, lo: 0xba, hi: 0xba}, + {value: 0x8edd, lo: 0xbb, hi: 0xbb}, + {value: 0xe519, lo: 0xbc, hi: 0xbf}, + // Block 0x10f, offset 0x7b0 + {value: 0x0020, lo: 0x10}, + {value: 0x937d, lo: 0x80, hi: 0x80}, + {value: 0xf099, lo: 0x81, hi: 0x86}, + {value: 0x939d, lo: 0x87, hi: 0x8a}, + {value: 0xd9f9, lo: 0x8b, hi: 0x8b}, + {value: 0xf159, lo: 0x8c, hi: 0x96}, + {value: 0x941d, lo: 0x97, hi: 0x97}, + {value: 0xf2b9, lo: 0x98, hi: 0xa3}, + {value: 0x943d, lo: 0xa4, hi: 0xa6}, + {value: 0xf439, lo: 0xa7, hi: 0xaa}, + {value: 0x949d, lo: 0xab, hi: 0xab}, + {value: 0xf4b9, lo: 0xac, hi: 0xac}, + {value: 0x94bd, lo: 0xad, hi: 0xad}, + {value: 0xf4d9, lo: 0xae, hi: 0xaf}, + {value: 0x94dd, lo: 0xb0, hi: 0xb1}, + {value: 0xf519, lo: 0xb2, hi: 0xbe}, + {value: 0x2040, lo: 0xbf, hi: 0xbf}, + // Block 0x110, offset 0x7c1 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0340, lo: 0x81, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x9f}, + {value: 0x0340, lo: 0xa0, hi: 0xbf}, + // Block 0x111, offset 0x7c6 + {value: 0x0000, lo: 0x01}, + {value: 0x0340, lo: 0x80, hi: 0xbf}, + // Block 0x112, offset 0x7c8 + {value: 0x0000, lo: 0x01}, + {value: 0x33c0, lo: 0x80, hi: 0xbf}, + // Block 0x113, offset 0x7ca + {value: 0x0000, lo: 0x02}, + {value: 0x33c0, lo: 0x80, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, +} + +// Total table size 42466 bytes (41KiB); checksum: 355A58A4 diff --git a/vendor/golang.org/x/net/idna/tables9.0.0.go b/vendor/golang.org/x/net/idna/tables9.0.0.go new file mode 100644 index 00000000..8b65fa16 --- /dev/null +++ b/vendor/golang.org/x/net/idna/tables9.0.0.go @@ -0,0 +1,4486 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// +build !go1.10 + +package idna + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "9.0.0" + +var mappings string = "" + // Size: 8175 bytes + "\x00\x01 \x03 ̈\x01a\x03 ̄\x012\x013\x03 ́\x03 ̧\x011\x01o\x051⁄4\x051⁄2" + + "\x053⁄4\x03i̇\x03l·\x03ʼn\x01s\x03dž\x03ⱥ\x03ⱦ\x01h\x01j\x01r\x01w\x01y" + + "\x03 ̆\x03 ̇\x03 ̊\x03 ̨\x03 ̃\x03 ̋\x01l\x01x\x04̈́\x03 ι\x01;\x05 ̈́" + + "\x04եւ\x04اٴ\x04وٴ\x04ۇٴ\x04يٴ\x06क़\x06ख़\x06ग़\x06ज़\x06ड़\x06ढ़\x06फ़" + + "\x06य़\x06ড়\x06ঢ়\x06য়\x06ਲ਼\x06ਸ਼\x06ਖ਼\x06ਗ਼\x06ਜ਼\x06ਫ਼\x06ଡ଼\x06ଢ଼" + + "\x06ํา\x06ໍາ\x06ຫນ\x06ຫມ\x06གྷ\x06ཌྷ\x06དྷ\x06བྷ\x06ཛྷ\x06ཀྵ\x06ཱི\x06ཱུ" + + "\x06ྲྀ\x09ྲཱྀ\x06ླྀ\x09ླཱྀ\x06ཱྀ\x06ྒྷ\x06ྜྷ\x06ྡྷ\x06ྦྷ\x06ྫྷ\x06ྐྵ\x02" + + "в\x02д\x02о\x02с\x02т\x02ъ\x02ѣ\x02æ\x01b\x01d\x01e\x02ǝ\x01g\x01i\x01k" + + "\x01m\x01n\x02ȣ\x01p\x01t\x01u\x02ɐ\x02ɑ\x02ə\x02ɛ\x02ɜ\x02ŋ\x02ɔ\x02ɯ" + + "\x01v\x02β\x02γ\x02δ\x02φ\x02χ\x02ρ\x02н\x02ɒ\x01c\x02ɕ\x02ð\x01f\x02ɟ" + + "\x02ɡ\x02ɥ\x02ɨ\x02ɩ\x02ɪ\x02ʝ\x02ɭ\x02ʟ\x02ɱ\x02ɰ\x02ɲ\x02ɳ\x02ɴ\x02ɵ" + + "\x02ɸ\x02ʂ\x02ʃ\x02ƫ\x02ʉ\x02ʊ\x02ʋ\x02ʌ\x01z\x02ʐ\x02ʑ\x02ʒ\x02θ\x02ss" + + "\x02ά\x02έ\x02ή\x02ί\x02ό\x02ύ\x02ώ\x05ἀι\x05ἁι\x05ἂι\x05ἃι\x05ἄι\x05ἅι" + + "\x05ἆι\x05ἇι\x05ἠι\x05ἡι\x05ἢι\x05ἣι\x05ἤι\x05ἥι\x05ἦι\x05ἧι\x05ὠι\x05ὡι" + + "\x05ὢι\x05ὣι\x05ὤι\x05ὥι\x05ὦι\x05ὧι\x05ὰι\x04αι\x04άι\x05ᾶι\x02ι\x05 ̈͂" + + "\x05ὴι\x04ηι\x04ήι\x05ῆι\x05 ̓̀\x05 ̓́\x05 ̓͂\x02ΐ\x05 ̔̀\x05 ̔́\x05 ̔͂" + + "\x02ΰ\x05 ̈̀\x01`\x05ὼι\x04ωι\x04ώι\x05ῶι\x06′′\x09′′′\x06‵‵\x09‵‵‵\x02!" + + "!\x02??\x02?!\x02!?\x0c′′′′\x010\x014\x015\x016\x017\x018\x019\x01+\x01=" + + "\x01(\x01)\x02rs\x02ħ\x02no\x01q\x02sm\x02tm\x02ω\x02å\x02א\x02ב\x02ג" + + "\x02ד\x02π\x051⁄7\x051⁄9\x061⁄10\x051⁄3\x052⁄3\x051⁄5\x052⁄5\x053⁄5\x054" + + "⁄5\x051⁄6\x055⁄6\x051⁄8\x053⁄8\x055⁄8\x057⁄8\x041⁄\x02ii\x02iv\x02vi" + + "\x04viii\x02ix\x02xi\x050⁄3\x06∫∫\x09∫∫∫\x06∮∮\x09∮∮∮\x0210\x0211\x0212" + + "\x0213\x0214\x0215\x0216\x0217\x0218\x0219\x0220\x04(10)\x04(11)\x04(12)" + + "\x04(13)\x04(14)\x04(15)\x04(16)\x04(17)\x04(18)\x04(19)\x04(20)\x0c∫∫∫∫" + + "\x02==\x05⫝̸\x02ɫ\x02ɽ\x02ȿ\x02ɀ\x01.\x04 ゙\x04 ゚\x06より\x06コト\x05(ᄀ)\x05" + + "(ᄂ)\x05(ᄃ)\x05(ᄅ)\x05(ᄆ)\x05(ᄇ)\x05(ᄉ)\x05(ᄋ)\x05(ᄌ)\x05(ᄎ)\x05(ᄏ)\x05(ᄐ" + + ")\x05(ᄑ)\x05(ᄒ)\x05(가)\x05(나)\x05(다)\x05(라)\x05(마)\x05(바)\x05(사)\x05(아)" + + "\x05(자)\x05(차)\x05(카)\x05(타)\x05(파)\x05(하)\x05(주)\x08(오전)\x08(오후)\x05(一)" + + "\x05(二)\x05(三)\x05(四)\x05(五)\x05(六)\x05(七)\x05(八)\x05(九)\x05(十)\x05(月)" + + "\x05(火)\x05(水)\x05(木)\x05(金)\x05(土)\x05(日)\x05(株)\x05(有)\x05(社)\x05(名)" + + "\x05(特)\x05(財)\x05(祝)\x05(労)\x05(代)\x05(呼)\x05(学)\x05(監)\x05(企)\x05(資)" + + "\x05(協)\x05(祭)\x05(休)\x05(自)\x05(至)\x0221\x0222\x0223\x0224\x0225\x0226" + + "\x0227\x0228\x0229\x0230\x0231\x0232\x0233\x0234\x0235\x06참고\x06주의\x0236" + + "\x0237\x0238\x0239\x0240\x0241\x0242\x0243\x0244\x0245\x0246\x0247\x0248" + + "\x0249\x0250\x041月\x042月\x043月\x044月\x045月\x046月\x047月\x048月\x049月\x0510" + + "月\x0511月\x0512月\x02hg\x02ev\x0cアパート\x0cアルファ\x0cアンペア\x09アール\x0cイニング\x09" + + "インチ\x09ウォン\x0fエスクード\x0cエーカー\x09オンス\x09オーム\x09カイリ\x0cカラット\x0cカロリー\x09ガロ" + + "ン\x09ガンマ\x06ギガ\x09ギニー\x0cキュリー\x0cギルダー\x06キロ\x0fキログラム\x12キロメートル\x0fキロワッ" + + "ト\x09グラム\x0fグラムトン\x0fクルゼイロ\x0cクローネ\x09ケース\x09コルナ\x09コーポ\x0cサイクル\x0fサンチ" + + "ーム\x0cシリング\x09センチ\x09セント\x09ダース\x06デシ\x06ドル\x06トン\x06ナノ\x09ノット\x09ハイツ" + + "\x0fパーセント\x09パーツ\x0cバーレル\x0fピアストル\x09ピクル\x06ピコ\x06ビル\x0fファラッド\x0cフィート" + + "\x0fブッシェル\x09フラン\x0fヘクタール\x06ペソ\x09ペニヒ\x09ヘルツ\x09ペンス\x09ページ\x09ベータ\x0cポイ" + + "ント\x09ボルト\x06ホン\x09ポンド\x09ホール\x09ホーン\x0cマイクロ\x09マイル\x09マッハ\x09マルク\x0fマ" + + "ンション\x0cミクロン\x06ミリ\x0fミリバール\x06メガ\x0cメガトン\x0cメートル\x09ヤード\x09ヤール\x09ユアン" + + "\x0cリットル\x06リラ\x09ルピー\x0cルーブル\x06レム\x0fレントゲン\x09ワット\x040点\x041点\x042点" + + "\x043点\x044点\x045点\x046点\x047点\x048点\x049点\x0510点\x0511点\x0512点\x0513点" + + "\x0514点\x0515点\x0516点\x0517点\x0518点\x0519点\x0520点\x0521点\x0522点\x0523点" + + "\x0524点\x02da\x02au\x02ov\x02pc\x02dm\x02iu\x06平成\x06昭和\x06大正\x06明治\x0c株" + + "式会社\x02pa\x02na\x02ma\x02ka\x02kb\x02mb\x02gb\x04kcal\x02pf\x02nf\x02m" + + "g\x02kg\x02hz\x02ml\x02dl\x02kl\x02fm\x02nm\x02mm\x02cm\x02km\x02m2\x02m" + + "3\x05m∕s\x06m∕s2\x07rad∕s\x08rad∕s2\x02ps\x02ns\x02ms\x02pv\x02nv\x02mv" + + "\x02kv\x02pw\x02nw\x02mw\x02kw\x02bq\x02cc\x02cd\x06c∕kg\x02db\x02gy\x02" + + "ha\x02hp\x02in\x02kk\x02kt\x02lm\x02ln\x02lx\x02ph\x02pr\x02sr\x02sv\x02" + + "wb\x05v∕m\x05a∕m\x041日\x042日\x043日\x044日\x045日\x046日\x047日\x048日\x049日" + + "\x0510日\x0511日\x0512日\x0513日\x0514日\x0515日\x0516日\x0517日\x0518日\x0519日" + + "\x0520日\x0521日\x0522日\x0523日\x0524日\x0525日\x0526日\x0527日\x0528日\x0529日" + + "\x0530日\x0531日\x02ь\x02ɦ\x02ɬ\x02ʞ\x02ʇ\x02œ\x04𤋮\x04𢡊\x04𢡄\x04𣏕\x04𥉉" + + "\x04𥳐\x04𧻓\x02ff\x02fi\x02fl\x02st\x04մն\x04մե\x04մի\x04վն\x04մխ\x04יִ" + + "\x04ײַ\x02ע\x02ה\x02כ\x02ל\x02ם\x02ר\x02ת\x04שׁ\x04שׂ\x06שּׁ\x06שּׂ\x04א" + + "ַ\x04אָ\x04אּ\x04בּ\x04גּ\x04דּ\x04הּ\x04וּ\x04זּ\x04טּ\x04יּ\x04ךּ\x04" + + "כּ\x04לּ\x04מּ\x04נּ\x04סּ\x04ףּ\x04פּ\x04צּ\x04קּ\x04רּ\x04שּ\x04תּ" + + "\x04וֹ\x04בֿ\x04כֿ\x04פֿ\x04אל\x02ٱ\x02ٻ\x02پ\x02ڀ\x02ٺ\x02ٿ\x02ٹ\x02ڤ" + + "\x02ڦ\x02ڄ\x02ڃ\x02چ\x02ڇ\x02ڍ\x02ڌ\x02ڎ\x02ڈ\x02ژ\x02ڑ\x02ک\x02گ\x02ڳ" + + "\x02ڱ\x02ں\x02ڻ\x02ۀ\x02ہ\x02ھ\x02ے\x02ۓ\x02ڭ\x02ۇ\x02ۆ\x02ۈ\x02ۋ\x02ۅ" + + "\x02ۉ\x02ې\x02ى\x04ئا\x04ئە\x04ئو\x04ئۇ\x04ئۆ\x04ئۈ\x04ئې\x04ئى\x02ی\x04" + + "ئج\x04ئح\x04ئم\x04ئي\x04بج\x04بح\x04بخ\x04بم\x04بى\x04بي\x04تج\x04تح" + + "\x04تخ\x04تم\x04تى\x04تي\x04ثج\x04ثم\x04ثى\x04ثي\x04جح\x04جم\x04حج\x04حم" + + "\x04خج\x04خح\x04خم\x04سج\x04سح\x04سخ\x04سم\x04صح\x04صم\x04ضج\x04ضح\x04ضخ" + + "\x04ضم\x04طح\x04طم\x04ظم\x04عج\x04عم\x04غج\x04غم\x04فج\x04فح\x04فخ\x04فم" + + "\x04فى\x04في\x04قح\x04قم\x04قى\x04قي\x04كا\x04كج\x04كح\x04كخ\x04كل\x04كم" + + "\x04كى\x04كي\x04لج\x04لح\x04لخ\x04لم\x04لى\x04لي\x04مج\x04مح\x04مخ\x04مم" + + "\x04مى\x04مي\x04نج\x04نح\x04نخ\x04نم\x04نى\x04ني\x04هج\x04هم\x04هى\x04هي" + + "\x04يج\x04يح\x04يخ\x04يم\x04يى\x04يي\x04ذٰ\x04رٰ\x04ىٰ\x05 ٌّ\x05 ٍّ\x05" + + " َّ\x05 ُّ\x05 ِّ\x05 ّٰ\x04ئر\x04ئز\x04ئن\x04بر\x04بز\x04بن\x04تر\x04تز" + + "\x04تن\x04ثر\x04ثز\x04ثن\x04ما\x04نر\x04نز\x04نن\x04ير\x04يز\x04ين\x04ئخ" + + "\x04ئه\x04به\x04ته\x04صخ\x04له\x04نه\x04هٰ\x04يه\x04ثه\x04سه\x04شم\x04شه" + + "\x06ـَّ\x06ـُّ\x06ـِّ\x04طى\x04طي\x04عى\x04عي\x04غى\x04غي\x04سى\x04سي" + + "\x04شى\x04شي\x04حى\x04حي\x04جى\x04جي\x04خى\x04خي\x04صى\x04صي\x04ضى\x04ضي" + + "\x04شج\x04شح\x04شخ\x04شر\x04سر\x04صر\x04ضر\x04اً\x06تجم\x06تحج\x06تحم" + + "\x06تخم\x06تمج\x06تمح\x06تمخ\x06جمح\x06حمي\x06حمى\x06سحج\x06سجح\x06سجى" + + "\x06سمح\x06سمج\x06سمم\x06صحح\x06صمم\x06شحم\x06شجي\x06شمخ\x06شمم\x06ضحى" + + "\x06ضخم\x06طمح\x06طمم\x06طمي\x06عجم\x06عمم\x06عمى\x06غمم\x06غمي\x06غمى" + + "\x06فخم\x06قمح\x06قمم\x06لحم\x06لحي\x06لحى\x06لجج\x06لخم\x06لمح\x06محج" + + "\x06محم\x06محي\x06مجح\x06مجم\x06مخج\x06مخم\x06مجخ\x06همج\x06همم\x06نحم" + + "\x06نحى\x06نجم\x06نجى\x06نمي\x06نمى\x06يمم\x06بخي\x06تجي\x06تجى\x06تخي" + + "\x06تخى\x06تمي\x06تمى\x06جمي\x06جحى\x06جمى\x06سخى\x06صحي\x06شحي\x06ضحي" + + "\x06لجي\x06لمي\x06يحي\x06يجي\x06يمي\x06ممي\x06قمي\x06نحي\x06عمي\x06كمي" + + "\x06نجح\x06مخي\x06لجم\x06كمم\x06جحي\x06حجي\x06مجي\x06فمي\x06بحي\x06سخي" + + "\x06نجي\x06صلے\x06قلے\x08الله\x08اكبر\x08محمد\x08صلعم\x08رسول\x08عليه" + + "\x08وسلم\x06صلى!صلى الله عليه وسلم\x0fجل جلاله\x08ریال\x01,\x01:\x01!" + + "\x01?\x01_\x01{\x01}\x01[\x01]\x01#\x01&\x01*\x01-\x01<\x01>\x01\\\x01$" + + "\x01%\x01@\x04ـً\x04ـَ\x04ـُ\x04ـِ\x04ـّ\x04ـْ\x02ء\x02آ\x02أ\x02ؤ\x02إ" + + "\x02ئ\x02ا\x02ب\x02ة\x02ت\x02ث\x02ج\x02ح\x02خ\x02د\x02ذ\x02ر\x02ز\x02س" + + "\x02ش\x02ص\x02ض\x02ط\x02ظ\x02ع\x02غ\x02ف\x02ق\x02ك\x02ل\x02م\x02ن\x02ه" + + "\x02و\x02ي\x04لآ\x04لأ\x04لإ\x04لا\x01\x22\x01'\x01/\x01^\x01|\x01~\x02¢" + + "\x02£\x02¬\x02¦\x02¥\x08𝅗𝅥\x08𝅘𝅥\x0c𝅘𝅥𝅮\x0c𝅘𝅥𝅯\x0c𝅘𝅥𝅰\x0c𝅘𝅥𝅱\x0c𝅘𝅥𝅲\x08𝆹" + + "𝅥\x08𝆺𝅥\x0c𝆹𝅥𝅮\x0c𝆺𝅥𝅮\x0c𝆹𝅥𝅯\x0c𝆺𝅥𝅯\x02ı\x02ȷ\x02α\x02ε\x02ζ\x02η\x02" + + "κ\x02λ\x02μ\x02ν\x02ξ\x02ο\x02σ\x02τ\x02υ\x02ψ\x03∇\x03∂\x02ϝ\x02ٮ\x02ڡ" + + "\x02ٯ\x020,\x021,\x022,\x023,\x024,\x025,\x026,\x027,\x028,\x029,\x03(a)" + + "\x03(b)\x03(c)\x03(d)\x03(e)\x03(f)\x03(g)\x03(h)\x03(i)\x03(j)\x03(k)" + + "\x03(l)\x03(m)\x03(n)\x03(o)\x03(p)\x03(q)\x03(r)\x03(s)\x03(t)\x03(u)" + + "\x03(v)\x03(w)\x03(x)\x03(y)\x03(z)\x07〔s〕\x02wz\x02hv\x02sd\x03ppv\x02w" + + "c\x02mc\x02md\x02dj\x06ほか\x06ココ\x03サ\x03手\x03字\x03双\x03デ\x03二\x03多\x03解" + + "\x03天\x03交\x03映\x03無\x03料\x03前\x03後\x03再\x03新\x03初\x03終\x03生\x03販\x03声" + + "\x03吹\x03演\x03投\x03捕\x03一\x03三\x03遊\x03左\x03中\x03右\x03指\x03走\x03打\x03禁" + + "\x03空\x03合\x03満\x03有\x03月\x03申\x03割\x03営\x03配\x09〔本〕\x09〔三〕\x09〔二〕\x09〔安" + + "〕\x09〔点〕\x09〔打〕\x09〔盗〕\x09〔勝〕\x09〔敗〕\x03得\x03可\x03丽\x03丸\x03乁\x03你\x03" + + "侮\x03侻\x03倂\x03偺\x03備\x03僧\x03像\x03㒞\x03免\x03兔\x03兤\x03具\x03㒹\x03內\x03" + + "冗\x03冤\x03仌\x03冬\x03况\x03凵\x03刃\x03㓟\x03刻\x03剆\x03剷\x03㔕\x03勇\x03勉\x03" + + "勤\x03勺\x03包\x03匆\x03北\x03卉\x03卑\x03博\x03即\x03卽\x03卿\x03灰\x03及\x03叟\x03" + + "叫\x03叱\x03吆\x03咞\x03吸\x03呈\x03周\x03咢\x03哶\x03唐\x03啓\x03啣\x03善\x03喙\x03" + + "喫\x03喳\x03嗂\x03圖\x03嘆\x03圗\x03噑\x03噴\x03切\x03壮\x03城\x03埴\x03堍\x03型\x03" + + "堲\x03報\x03墬\x03売\x03壷\x03夆\x03夢\x03奢\x03姬\x03娛\x03娧\x03姘\x03婦\x03㛮\x03" + + "嬈\x03嬾\x03寃\x03寘\x03寧\x03寳\x03寿\x03将\x03尢\x03㞁\x03屠\x03屮\x03峀\x03岍\x03" + + "嵃\x03嵮\x03嵫\x03嵼\x03巡\x03巢\x03㠯\x03巽\x03帨\x03帽\x03幩\x03㡢\x03㡼\x03庰\x03" + + "庳\x03庶\x03廊\x03廾\x03舁\x03弢\x03㣇\x03形\x03彫\x03㣣\x03徚\x03忍\x03志\x03忹\x03" + + "悁\x03㤺\x03㤜\x03悔\x03惇\x03慈\x03慌\x03慎\x03慺\x03憎\x03憲\x03憤\x03憯\x03懞\x03" + + "懲\x03懶\x03成\x03戛\x03扝\x03抱\x03拔\x03捐\x03挽\x03拼\x03捨\x03掃\x03揤\x03搢\x03" + + "揅\x03掩\x03㨮\x03摩\x03摾\x03撝\x03摷\x03㩬\x03敏\x03敬\x03旣\x03書\x03晉\x03㬙\x03" + + "暑\x03㬈\x03㫤\x03冒\x03冕\x03最\x03暜\x03肭\x03䏙\x03朗\x03望\x03朡\x03杞\x03杓\x03" + + "㭉\x03柺\x03枅\x03桒\x03梅\x03梎\x03栟\x03椔\x03㮝\x03楂\x03榣\x03槪\x03檨\x03櫛\x03" + + "㰘\x03次\x03歔\x03㱎\x03歲\x03殟\x03殺\x03殻\x03汎\x03沿\x03泍\x03汧\x03洖\x03派\x03" + + "海\x03流\x03浩\x03浸\x03涅\x03洴\x03港\x03湮\x03㴳\x03滋\x03滇\x03淹\x03潮\x03濆\x03" + + "瀹\x03瀞\x03瀛\x03㶖\x03灊\x03災\x03灷\x03炭\x03煅\x03熜\x03爨\x03爵\x03牐\x03犀\x03" + + "犕\x03獺\x03王\x03㺬\x03玥\x03㺸\x03瑇\x03瑜\x03瑱\x03璅\x03瓊\x03㼛\x03甤\x03甾\x03" + + "異\x03瘐\x03㿼\x03䀈\x03直\x03眞\x03真\x03睊\x03䀹\x03瞋\x03䁆\x03䂖\x03硎\x03碌\x03" + + "磌\x03䃣\x03祖\x03福\x03秫\x03䄯\x03穀\x03穊\x03穏\x03䈂\x03篆\x03築\x03䈧\x03糒\x03" + + "䊠\x03糨\x03糣\x03紀\x03絣\x03䌁\x03緇\x03縂\x03繅\x03䌴\x03䍙\x03罺\x03羕\x03翺\x03" + + "者\x03聠\x03聰\x03䏕\x03育\x03脃\x03䐋\x03脾\x03媵\x03舄\x03辞\x03䑫\x03芑\x03芋\x03" + + "芝\x03劳\x03花\x03芳\x03芽\x03苦\x03若\x03茝\x03荣\x03莭\x03茣\x03莽\x03菧\x03著\x03" + + "荓\x03菊\x03菌\x03菜\x03䔫\x03蓱\x03蓳\x03蔖\x03蕤\x03䕝\x03䕡\x03䕫\x03虐\x03虜\x03" + + "虧\x03虩\x03蚩\x03蚈\x03蜎\x03蛢\x03蝹\x03蜨\x03蝫\x03螆\x03蟡\x03蠁\x03䗹\x03衠\x03" + + "衣\x03裗\x03裞\x03䘵\x03裺\x03㒻\x03䚾\x03䛇\x03誠\x03諭\x03變\x03豕\x03貫\x03賁\x03" + + "贛\x03起\x03跋\x03趼\x03跰\x03軔\x03輸\x03邔\x03郱\x03鄑\x03鄛\x03鈸\x03鋗\x03鋘\x03" + + "鉼\x03鏹\x03鐕\x03開\x03䦕\x03閷\x03䧦\x03雃\x03嶲\x03霣\x03䩮\x03䩶\x03韠\x03䪲\x03" + + "頋\x03頩\x03飢\x03䬳\x03餩\x03馧\x03駂\x03駾\x03䯎\x03鬒\x03鱀\x03鳽\x03䳎\x03䳭\x03" + + "鵧\x03䳸\x03麻\x03䵖\x03黹\x03黾\x03鼅\x03鼏\x03鼖\x03鼻" + +var xorData string = "" + // Size: 4855 bytes + "\x02\x0c\x09\x02\xb0\xec\x02\xad\xd8\x02\xad\xd9\x02\x06\x07\x02\x0f\x12" + + "\x02\x0f\x1f\x02\x0f\x1d\x02\x01\x13\x02\x0f\x16\x02\x0f\x0b\x02\x0f3" + + "\x02\x0f7\x02\x0f?\x02\x0f/\x02\x0f*\x02\x0c&\x02\x0c*\x02\x0c;\x02\x0c9" + + "\x02\x0c%\x02\xab\xed\x02\xab\xe2\x02\xab\xe3\x02\xa9\xe0\x02\xa9\xe1" + + "\x02\xa9\xe6\x02\xa3\xcb\x02\xa3\xc8\x02\xa3\xc9\x02\x01#\x02\x01\x08" + + "\x02\x0e>\x02\x0e'\x02\x0f\x03\x02\x03\x0d\x02\x03\x09\x02\x03\x17\x02" + + "\x03\x0e\x02\x02\x03\x02\x011\x02\x01\x00\x02\x01\x10\x02\x03<\x02\x07" + + "\x0d\x02\x02\x0c\x02\x0c0\x02\x01\x03\x02\x01\x01\x02\x01 \x02\x01\x22" + + "\x02\x01)\x02\x01\x0a\x02\x01\x0c\x02\x02\x06\x02\x02\x02\x02\x03\x10" + + "\x03\x037 \x03\x0b+\x03\x02\x01\x04\x02\x01\x02\x02\x019\x02\x03\x1c\x02" + + "\x02$\x03\x80p$\x02\x03:\x02\x03\x0a\x03\xc1r.\x03\xc1r,\x03\xc1r\x02" + + "\x02\x02:\x02\x02>\x02\x02,\x02\x02\x10\x02\x02\x00\x03\xc1s<\x03\xc1s*" + + "\x03\xc2L$\x03\xc2L;\x02\x09)\x02\x0a\x19\x03\x83\xab\xe3\x03\x83\xab" + + "\xf2\x03 4\xe0\x03\x81\xab\xea\x03\x81\xab\xf3\x03 4\xef\x03\x96\xe1\xcd" + + "\x03\x84\xe5\xc3\x02\x0d\x11\x03\x8b\xec\xcb\x03\x94\xec\xcf\x03\x9a\xec" + + "\xc2\x03\x8b\xec\xdb\x03\x94\xec\xdf\x03\x9a\xec\xd2\x03\x01\x0c!\x03" + + "\x01\x0c#\x03ʠ\x9d\x03ʣ\x9c\x03ʢ\x9f\x03ʥ\x9e\x03ʤ\x91\x03ʧ\x90\x03ʦ\x93" + + "\x03ʩ\x92\x03ʨ\x95\x03\xca\xf3\xb5\x03\xca\xf0\xb4\x03\xca\xf1\xb7\x03" + + "\xca\xf6\xb6\x03\xca\xf7\x89\x03\xca\xf4\x88\x03\xca\xf5\x8b\x03\xca\xfa" + + "\x8a\x03\xca\xfb\x8d\x03\xca\xf8\x8c\x03\xca\xf9\x8f\x03\xca\xfe\x8e\x03" + + "\xca\xff\x81\x03\xca\xfc\x80\x03\xca\xfd\x83\x03\xca\xe2\x82\x03\xca\xe3" + + "\x85\x03\xca\xe0\x84\x03\xca\xe1\x87\x03\xca\xe6\x86\x03\xca\xe7\x99\x03" + + "\xca\xe4\x98\x03\xca\xe5\x9b\x03\xca\xea\x9a\x03\xca\xeb\x9d\x03\xca\xe8" + + "\x9c\x03ؓ\x89\x03ߔ\x8b\x02\x010\x03\x03\x04\x1e\x03\x04\x15\x12\x03\x0b" + + "\x05,\x03\x06\x04\x00\x03\x06\x04)\x03\x06\x044\x03\x06\x04<\x03\x06\x05" + + "\x1d\x03\x06\x06\x00\x03\x06\x06\x0a\x03\x06\x06'\x03\x06\x062\x03\x0786" + + "\x03\x079/\x03\x079 \x03\x07:\x0e\x03\x07:\x1b\x03\x07:%\x03\x07;/\x03" + + "\x07;%\x03\x074\x11\x03\x076\x09\x03\x077*\x03\x070\x01\x03\x070\x0f\x03" + + "\x070.\x03\x071\x16\x03\x071\x04\x03\x0710\x03\x072\x18\x03\x072-\x03" + + "\x073\x14\x03\x073>\x03\x07'\x09\x03\x07 \x00\x03\x07\x1f\x0b\x03\x07" + + "\x18#\x03\x07\x18(\x03\x07\x186\x03\x07\x18\x03\x03\x07\x19\x16\x03\x07" + + "\x116\x03\x07\x12'\x03\x07\x13\x10\x03\x07\x0c&\x03\x07\x0c\x08\x03\x07" + + "\x0c\x13\x03\x07\x0d\x02\x03\x07\x0d\x1c\x03\x07\x0b5\x03\x07\x0b\x0a" + + "\x03\x07\x0b\x01\x03\x07\x0b\x0f\x03\x07\x05\x00\x03\x07\x05\x09\x03\x07" + + "\x05\x0b\x03\x07\x07\x01\x03\x07\x07\x08\x03\x07\x00<\x03\x07\x00+\x03" + + "\x07\x01)\x03\x07\x01\x1b\x03\x07\x01\x08\x03\x07\x03?\x03\x0445\x03\x04" + + "4\x08\x03\x0454\x03\x04)/\x03\x04)5\x03\x04+\x05\x03\x04+\x14\x03\x04+ " + + "\x03\x04+<\x03\x04*&\x03\x04*\x22\x03\x04&8\x03\x04!\x01\x03\x04!\x22" + + "\x03\x04\x11+\x03\x04\x10.\x03\x04\x104\x03\x04\x13=\x03\x04\x12\x04\x03" + + "\x04\x12\x0a\x03\x04\x0d\x1d\x03\x04\x0d\x07\x03\x04\x0d \x03\x05<>\x03" + + "\x055<\x03\x055!\x03\x055#\x03\x055&\x03\x054\x1d\x03\x054\x02\x03\x054" + + "\x07\x03\x0571\x03\x053\x1a\x03\x053\x16\x03\x05.<\x03\x05.\x07\x03\x05)" + + ":\x03\x05)<\x03\x05)\x0c\x03\x05)\x15\x03\x05+-\x03\x05+5\x03\x05$\x1e" + + "\x03\x05$\x14\x03\x05'\x04\x03\x05'\x14\x03\x05&\x02\x03\x05\x226\x03" + + "\x05\x22\x0c\x03\x05\x22\x1c\x03\x05\x19\x0a\x03\x05\x1b\x09\x03\x05\x1b" + + "\x0c\x03\x05\x14\x07\x03\x05\x16?\x03\x05\x16\x0c\x03\x05\x0c\x05\x03" + + "\x05\x0e\x0f\x03\x05\x01\x0e\x03\x05\x00(\x03\x05\x030\x03\x05\x03\x06" + + "\x03\x0a==\x03\x0a=1\x03\x0a=,\x03\x0a=\x0c\x03\x0a??\x03\x0a<\x08\x03" + + "\x0a9!\x03\x0a9)\x03\x0a97\x03\x0a99\x03\x0a6\x0a\x03\x0a6\x1c\x03\x0a6" + + "\x17\x03\x0a7'\x03\x0a78\x03\x0a73\x03\x0a'\x01\x03\x0a'&\x03\x0a\x1f" + + "\x0e\x03\x0a\x1f\x03\x03\x0a\x1f3\x03\x0a\x1b/\x03\x0a\x18\x19\x03\x0a" + + "\x19\x01\x03\x0a\x16\x14\x03\x0a\x0e\x22\x03\x0a\x0f\x10\x03\x0a\x0f\x02" + + "\x03\x0a\x0f \x03\x0a\x0c\x04\x03\x0a\x0b>\x03\x0a\x0b+\x03\x0a\x08/\x03" + + "\x0a\x046\x03\x0a\x05\x14\x03\x0a\x00\x04\x03\x0a\x00\x10\x03\x0a\x00" + + "\x14\x03\x0b<3\x03\x0b;*\x03\x0b9\x22\x03\x0b9)\x03\x0b97\x03\x0b+\x10" + + "\x03\x0b((\x03\x0b&5\x03\x0b$\x1c\x03\x0b$\x12\x03\x0b%\x04\x03\x0b#<" + + "\x03\x0b#0\x03\x0b#\x0d\x03\x0b#\x19\x03\x0b!:\x03\x0b!\x1f\x03\x0b!\x00" + + "\x03\x0b\x1e5\x03\x0b\x1c\x1d\x03\x0b\x1d-\x03\x0b\x1d(\x03\x0b\x18.\x03" + + "\x0b\x18 \x03\x0b\x18\x16\x03\x0b\x14\x13\x03\x0b\x15$\x03\x0b\x15\x22" + + "\x03\x0b\x12\x1b\x03\x0b\x12\x10\x03\x0b\x132\x03\x0b\x13=\x03\x0b\x12" + + "\x18\x03\x0b\x0c&\x03\x0b\x061\x03\x0b\x06:\x03\x0b\x05#\x03\x0b\x05<" + + "\x03\x0b\x04\x0b\x03\x0b\x04\x04\x03\x0b\x04\x1b\x03\x0b\x042\x03\x0b" + + "\x041\x03\x0b\x03\x03\x03\x0b\x03\x1d\x03\x0b\x03/\x03\x0b\x03+\x03\x0b" + + "\x02\x1b\x03\x0b\x02\x00\x03\x0b\x01\x1e\x03\x0b\x01\x08\x03\x0b\x015" + + "\x03\x06\x0d9\x03\x06\x0d=\x03\x06\x0d?\x03\x02\x001\x03\x02\x003\x03" + + "\x02\x02\x19\x03\x02\x006\x03\x02\x02\x1b\x03\x02\x004\x03\x02\x00<\x03" + + "\x02\x02\x0a\x03\x02\x02\x0e\x03\x02\x01\x1a\x03\x02\x01\x07\x03\x02\x01" + + "\x05\x03\x02\x01\x0b\x03\x02\x01%\x03\x02\x01\x0c\x03\x02\x01\x04\x03" + + "\x02\x01\x1c\x03\x02\x00.\x03\x02\x002\x03\x02\x00>\x03\x02\x00\x12\x03" + + "\x02\x00\x16\x03\x02\x011\x03\x02\x013\x03\x02\x02 \x03\x02\x02%\x03\x02" + + "\x02$\x03\x02\x028\x03\x02\x02;\x03\x02\x024\x03\x02\x012\x03\x02\x022" + + "\x03\x02\x02/\x03\x02\x01,\x03\x02\x01\x13\x03\x02\x01\x16\x03\x02\x01" + + "\x11\x03\x02\x01\x1e\x03\x02\x01\x15\x03\x02\x01\x17\x03\x02\x01\x0f\x03" + + "\x02\x01\x08\x03\x02\x00?\x03\x02\x03\x07\x03\x02\x03\x0d\x03\x02\x03" + + "\x13\x03\x02\x03\x1d\x03\x02\x03\x1f\x03\x02\x00\x03\x03\x02\x00\x0d\x03" + + "\x02\x00\x01\x03\x02\x00\x1b\x03\x02\x00\x19\x03\x02\x00\x18\x03\x02\x00" + + "\x13\x03\x02\x00/\x03\x07>\x12\x03\x07<\x1f\x03\x07>\x1d\x03\x06\x1d\x0e" + + "\x03\x07>\x1c\x03\x07>:\x03\x07>\x13\x03\x04\x12+\x03\x07?\x03\x03\x07>" + + "\x02\x03\x06\x224\x03\x06\x1a.\x03\x07<%\x03\x06\x1c\x0b\x03\x0609\x03" + + "\x05\x1f\x01\x03\x04'\x08\x03\x93\xfd\xf5\x03\x02\x0d \x03\x02\x0d#\x03" + + "\x02\x0d!\x03\x02\x0d&\x03\x02\x0d\x22\x03\x02\x0d/\x03\x02\x0d,\x03\x02" + + "\x0d$\x03\x02\x0d'\x03\x02\x0d%\x03\x02\x0d;\x03\x02\x0d=\x03\x02\x0d?" + + "\x03\x099.\x03\x08\x0b7\x03\x08\x02\x14\x03\x08\x14\x0d\x03\x08.:\x03" + + "\x089'\x03\x0f\x0b\x18\x03\x0f\x1c1\x03\x0f\x17&\x03\x0f9\x1f\x03\x0f0" + + "\x0c\x03\x0e\x0a9\x03\x0e\x056\x03\x0e\x1c#\x03\x0f\x13\x0e\x03\x072\x00" + + "\x03\x070\x0d\x03\x072\x0b\x03\x06\x11\x18\x03\x070\x10\x03\x06\x0f(\x03" + + "\x072\x05\x03\x06\x0f,\x03\x073\x15\x03\x06\x07\x08\x03\x05\x16\x02\x03" + + "\x04\x0b \x03\x05:8\x03\x05\x16%\x03\x0a\x0d\x1f\x03\x06\x16\x10\x03\x05" + + "\x1d5\x03\x05*;\x03\x05\x16\x1b\x03\x04.-\x03\x06\x1a\x19\x03\x04\x03," + + "\x03\x0b87\x03\x04/\x0a\x03\x06\x00,\x03\x04-\x01\x03\x04\x1e-\x03\x06/(" + + "\x03\x0a\x0b5\x03\x06\x0e7\x03\x06\x07.\x03\x0597\x03\x0a*%\x03\x0760" + + "\x03\x06\x0c;\x03\x05'\x00\x03\x072.\x03\x072\x08\x03\x06=\x01\x03\x06" + + "\x05\x1b\x03\x06\x06\x12\x03\x06$=\x03\x06'\x0d\x03\x04\x11\x0f\x03\x076" + + ",\x03\x06\x07;\x03\x06.,\x03\x86\xf9\xea\x03\x8f\xff\xeb\x02\x092\x02" + + "\x095\x02\x094\x02\x09;\x02\x09>\x02\x098\x02\x09*\x02\x09/\x02\x09,\x02" + + "\x09%\x02\x09&\x02\x09#\x02\x09 \x02\x08!\x02\x08%\x02\x08$\x02\x08+\x02" + + "\x08.\x02\x08*\x02\x08&\x02\x088\x02\x08>\x02\x084\x02\x086\x02\x080\x02" + + "\x08\x10\x02\x08\x17\x02\x08\x12\x02\x08\x1d\x02\x08\x1f\x02\x08\x13\x02" + + "\x08\x15\x02\x08\x14\x02\x08\x0c\x03\x8b\xfd\xd0\x03\x81\xec\xc6\x03\x87" + + "\xe0\x8a\x03-2\xe3\x03\x80\xef\xe4\x03-2\xea\x03\x88\xe6\xeb\x03\x8e\xe6" + + "\xe8\x03\x84\xe6\xe9\x03\x97\xe6\xee\x03-2\xf9\x03-2\xf6\x03\x8e\xe3\xad" + + "\x03\x80\xe3\x92\x03\x88\xe3\x90\x03\x8e\xe3\x90\x03\x80\xe3\x97\x03\x88" + + "\xe3\x95\x03\x88\xfe\xcb\x03\x8e\xfe\xca\x03\x84\xfe\xcd\x03\x91\xef\xc9" + + "\x03-2\xc1\x03-2\xc0\x03-2\xcb\x03\x88@\x09\x03\x8e@\x08\x03\x8f\xe0\xf5" + + "\x03\x8e\xe6\xf9\x03\x8e\xe0\xfa\x03\x93\xff\xf4\x03\x84\xee\xd3\x03\x0b" + + "(\x04\x023 \x021;\x02\x01*\x03\x0b#\x10\x03\x0b 0\x03\x0b!\x10\x03\x0b!0" + + "\x03\x07\x15\x08\x03\x09?5\x03\x07\x1f\x08\x03\x07\x17\x0b\x03\x09\x1f" + + "\x15\x03\x0b\x1c7\x03\x0a+#\x03\x06\x1a\x1b\x03\x06\x1a\x14\x03\x0a\x01" + + "\x18\x03\x06#\x1b\x03\x0a2\x0c\x03\x0a\x01\x04\x03\x09#;\x03\x08='\x03" + + "\x08\x1a\x0a\x03\x07\x03\x0a\x111\x03\x09\x1b\x09\x03\x073.\x03\x07\x01\x00" + + "\x03\x09/,\x03\x07#>\x03\x07\x048\x03\x0a\x1f\x22\x03\x098>\x03\x09\x11" + + "\x00\x03\x08/\x17\x03\x06'\x22\x03\x0b\x1a+\x03\x0a\x22\x19\x03\x0a/1" + + "\x03\x0974\x03\x09\x0f\x22\x03\x08,\x22\x03\x08?\x14\x03\x07$5\x03\x07<3" + + "\x03\x07=*\x03\x07\x13\x18\x03\x068\x0a\x03\x06\x09\x16\x03\x06\x13\x00" + + "\x03\x08\x067\x03\x08\x01\x03\x03\x08\x12\x1d\x03\x07+7\x03\x06(;\x03" + + "\x06\x1c?\x03\x07\x0e\x17\x03\x0a\x06\x1d\x03\x0a\x19\x07\x03\x08\x14$" + + "\x03\x07$;\x03\x08,$\x03\x08\x06\x0d\x03\x07\x16\x0a\x03\x06>>\x03\x0a" + + "\x06\x12\x03\x0a\x14)\x03\x09\x0d\x1f\x03\x09\x12\x17\x03\x09\x19\x01" + + "\x03\x08\x11 \x03\x08\x1d'\x03\x06<\x1a\x03\x0a.\x00\x03\x07'\x18\x03" + + "\x0a\x22\x08\x03\x08\x0d\x0a\x03\x08\x13)\x03\x07*)\x03\x06<,\x03\x07" + + "\x0b\x1a\x03\x09.\x14\x03\x09\x0d\x1e\x03\x07\x0e#\x03\x0b\x1d'\x03\x0a" + + "\x0a8\x03\x09%2\x03\x08+&\x03\x080\x12\x03\x0a)4\x03\x08\x06\x1f\x03\x0b" + + "\x1b\x1a\x03\x0a\x1b\x0f\x03\x0b\x1d*\x03\x09\x16$\x03\x090\x11\x03\x08" + + "\x11\x08\x03\x0a*(\x03\x0a\x042\x03\x089,\x03\x074'\x03\x07\x0f\x05\x03" + + "\x09\x0b\x0a\x03\x07\x1b\x01\x03\x09\x17:\x03\x09.\x0d\x03\x07.\x11\x03" + + "\x09+\x15\x03\x080\x13\x03\x0b\x1f\x19\x03\x0a \x11\x03\x0a\x220\x03\x09" + + "\x07;\x03\x08\x16\x1c\x03\x07,\x13\x03\x07\x0e/\x03\x06\x221\x03\x0a." + + "\x0a\x03\x0a7\x02\x03\x0a\x032\x03\x0a\x1d.\x03\x091\x06\x03\x09\x19:" + + "\x03\x08\x02/\x03\x060+\x03\x06\x0f-\x03\x06\x1c\x1f\x03\x06\x1d\x07\x03" + + "\x0a,\x11\x03\x09=\x0d\x03\x09\x0b;\x03\x07\x1b/\x03\x0a\x1f:\x03\x09 " + + "\x1f\x03\x09.\x10\x03\x094\x0b\x03\x09\x1a1\x03\x08#\x1a\x03\x084\x1d" + + "\x03\x08\x01\x1f\x03\x08\x11\x22\x03\x07'8\x03\x07\x1a>\x03\x0757\x03" + + "\x06&9\x03\x06+\x11\x03\x0a.\x0b\x03\x0a,>\x03\x0a4#\x03\x08%\x17\x03" + + "\x07\x05\x22\x03\x07\x0c\x0b\x03\x0a\x1d+\x03\x0a\x19\x16\x03\x09+\x1f" + + "\x03\x09\x08\x0b\x03\x08\x16\x18\x03\x08+\x12\x03\x0b\x1d\x0c\x03\x0a=" + + "\x10\x03\x0a\x09\x0d\x03\x0a\x10\x11\x03\x09&0\x03\x08(\x1f\x03\x087\x07" + + "\x03\x08\x185\x03\x07'6\x03\x06.\x05\x03\x06=\x04\x03\x06;;\x03\x06\x06," + + "\x03\x0b\x18>\x03\x08\x00\x18\x03\x06 \x03\x03\x06<\x00\x03\x09%\x18\x03" + + "\x0b\x1c<\x03\x0a%!\x03\x0a\x09\x12\x03\x0a\x16\x02\x03\x090'\x03\x09" + + "\x0e=\x03\x08 \x0e\x03\x08>\x03\x03\x074>\x03\x06&?\x03\x06\x19\x09\x03" + + "\x06?(\x03\x0a-\x0e\x03\x09:3\x03\x098:\x03\x09\x12\x0b\x03\x09\x1d\x17" + + "\x03\x087\x05\x03\x082\x14\x03\x08\x06%\x03\x08\x13\x1f\x03\x06\x06\x0e" + + "\x03\x0a\x22<\x03\x09/<\x03\x06>+\x03\x0a'?\x03\x0a\x13\x0c\x03\x09\x10<" + + "\x03\x07\x1b=\x03\x0a\x19\x13\x03\x09\x22\x1d\x03\x09\x07\x0d\x03\x08)" + + "\x1c\x03\x06=\x1a\x03\x0a/4\x03\x0a7\x11\x03\x0a\x16:\x03\x09?3\x03\x09:" + + "/\x03\x09\x05\x0a\x03\x09\x14\x06\x03\x087\x22\x03\x080\x07\x03\x08\x1a" + + "\x1f\x03\x07\x04(\x03\x07\x04\x09\x03\x06 %\x03\x06<\x08\x03\x0a+\x14" + + "\x03\x09\x1d\x16\x03\x0a70\x03\x08 >\x03\x0857\x03\x070\x0a\x03\x06=\x12" + + "\x03\x06\x16%\x03\x06\x1d,\x03\x099#\x03\x09\x10>\x03\x07 \x1e\x03\x08" + + "\x0c<\x03\x08\x0b\x18\x03\x08\x15+\x03\x08,:\x03\x08%\x22\x03\x07\x0a$" + + "\x03\x0b\x1c=\x03\x07+\x08\x03\x0a/\x05\x03\x0a \x07\x03\x0a\x12'\x03" + + "\x09#\x11\x03\x08\x1b\x15\x03\x0a\x06\x01\x03\x09\x1c\x1b\x03\x0922\x03" + + "\x07\x14<\x03\x07\x09\x04\x03\x061\x04\x03\x07\x0e\x01\x03\x0a\x13\x18" + + "\x03\x0a-\x0c\x03\x0a?\x0d\x03\x0a\x09\x0a\x03\x091&\x03\x0a/\x0b\x03" + + "\x08$<\x03\x083\x1d\x03\x08\x0c$\x03\x08\x0d\x07\x03\x08\x0d?\x03\x08" + + "\x0e\x14\x03\x065\x0a\x03\x08\x1a#\x03\x08\x16#\x03\x0702\x03\x07\x03" + + "\x1a\x03\x06(\x1d\x03\x06+\x1b\x03\x06\x0b\x05\x03\x06\x0b\x17\x03\x06" + + "\x0c\x04\x03\x06\x1e\x19\x03\x06+0\x03\x062\x18\x03\x0b\x16\x1e\x03\x0a+" + + "\x16\x03\x0a-?\x03\x0a#:\x03\x0a#\x10\x03\x0a%$\x03\x0a>+\x03\x0a01\x03" + + "\x0a1\x10\x03\x0a\x099\x03\x0a\x0a\x12\x03\x0a\x19\x1f\x03\x0a\x19\x12" + + "\x03\x09*)\x03\x09-\x16\x03\x09.1\x03\x09.2\x03\x09<\x0e\x03\x09> \x03" + + "\x093\x12\x03\x09\x0b\x01\x03\x09\x1c2\x03\x09\x11\x1c\x03\x09\x15%\x03" + + "\x08,&\x03\x08!\x22\x03\x089(\x03\x08\x0b\x1a\x03\x08\x0d2\x03\x08\x0c" + + "\x04\x03\x08\x0c\x06\x03\x08\x0c\x1f\x03\x08\x0c\x0c\x03\x08\x0f\x1f\x03" + + "\x08\x0f\x1d\x03\x08\x00\x14\x03\x08\x03\x14\x03\x08\x06\x16\x03\x08\x1e" + + "#\x03\x08\x11\x11\x03\x08\x10\x18\x03\x08\x14(\x03\x07)\x1e\x03\x07.1" + + "\x03\x07 $\x03\x07 '\x03\x078\x08\x03\x07\x0d0\x03\x07\x0f7\x03\x07\x05#" + + "\x03\x07\x05\x1a\x03\x07\x1a7\x03\x07\x1d-\x03\x07\x17\x10\x03\x06)\x1f" + + "\x03\x062\x0b\x03\x066\x16\x03\x06\x09\x11\x03\x09(\x1e\x03\x07!5\x03" + + "\x0b\x11\x16\x03\x0a/\x04\x03\x0a,\x1a\x03\x0b\x173\x03\x0a,1\x03\x0a/5" + + "\x03\x0a\x221\x03\x0a\x22\x0d\x03\x0a?%\x03\x0a<,\x03\x0a?#\x03\x0a>\x19" + + "\x03\x0a\x08&\x03\x0a\x0b\x0e\x03\x0a\x0c:\x03\x0a\x0c+\x03\x0a\x03\x22" + + "\x03\x0a\x06)\x03\x0a\x11\x10\x03\x0a\x11\x1a\x03\x0a\x17-\x03\x0a\x14(" + + "\x03\x09)\x1e\x03\x09/\x09\x03\x09.\x00\x03\x09,\x07\x03\x09/*\x03\x09-9" + + "\x03\x09\x228\x03\x09%\x09\x03\x09:\x12\x03\x09;\x1d\x03\x09?\x06\x03" + + "\x093%\x03\x096\x05\x03\x096\x08\x03\x097\x02\x03\x09\x07,\x03\x09\x04," + + "\x03\x09\x1f\x16\x03\x09\x11\x03\x03\x09\x11\x12\x03\x09\x168\x03\x08*" + + "\x05\x03\x08/2\x03\x084:\x03\x08\x22+\x03\x08 0\x03\x08&\x0a\x03\x08;" + + "\x10\x03\x08>$\x03\x08>\x18\x03\x0829\x03\x082:\x03\x081,\x03\x081<\x03" + + "\x081\x1c\x03\x087#\x03\x087*\x03\x08\x09'\x03\x08\x00\x1d\x03\x08\x05-" + + "\x03\x08\x1f4\x03\x08\x1d\x04\x03\x08\x16\x0f\x03\x07*7\x03\x07'!\x03" + + "\x07%\x1b\x03\x077\x0c\x03\x07\x0c1\x03\x07\x0c.\x03\x07\x00\x06\x03\x07" + + "\x01\x02\x03\x07\x010\x03\x07\x06=\x03\x07\x01\x03\x03\x07\x01\x13\x03" + + "\x07\x06\x06\x03\x07\x05\x0a\x03\x07\x1f\x09\x03\x07\x17:\x03\x06*1\x03" + + "\x06-\x1d\x03\x06\x223\x03\x062:\x03\x060$\x03\x066\x1e\x03\x064\x12\x03" + + "\x0645\x03\x06\x0b\x00\x03\x06\x0b7\x03\x06\x07\x1f\x03\x06\x15\x12\x03" + + "\x0c\x05\x0f\x03\x0b+\x0b\x03\x0b+-\x03\x06\x16\x1b\x03\x06\x15\x17\x03" + + "\x89\xca\xea\x03\x89\xca\xe8\x03\x0c8\x10\x03\x0c8\x01\x03\x0c8\x0f\x03" + + "\x0d8%\x03\x0d8!\x03\x0c8-\x03\x0c8/\x03\x0c8+\x03\x0c87\x03\x0c85\x03" + + "\x0c9\x09\x03\x0c9\x0d\x03\x0c9\x0f\x03\x0c9\x0b\x03\xcfu\x0c\x03\xcfu" + + "\x0f\x03\xcfu\x0e\x03\xcfu\x09\x03\x0c9\x10\x03\x0d9\x0c\x03\xcf`;\x03" + + "\xcf`>\x03\xcf`9\x03\xcf`8\x03\xcf`7\x03\xcf`*\x03\xcf`-\x03\xcf`,\x03" + + "\x0d\x1b\x1a\x03\x0d\x1b&\x03\x0c=.\x03\x0c=%\x03\x0c>\x1e\x03\x0c>\x14" + + "\x03\x0c?\x06\x03\x0c?\x0b\x03\x0c?\x0c\x03\x0c?\x0d\x03\x0c?\x02\x03" + + "\x0c>\x0f\x03\x0c>\x08\x03\x0c>\x09\x03\x0c>,\x03\x0c>\x0c\x03\x0c?\x13" + + "\x03\x0c?\x16\x03\x0c?\x15\x03\x0c?\x1c\x03\x0c?\x1f\x03\x0c?\x1d\x03" + + "\x0c?\x1a\x03\x0c?\x17\x03\x0c?\x08\x03\x0c?\x09\x03\x0c?\x0e\x03\x0c?" + + "\x04\x03\x0c?\x05\x03\x0c" + + "\x03\x0c=2\x03\x0c=6\x03\x0c<\x07\x03\x0c<\x05\x03\x0e:!\x03\x0e:#\x03" + + "\x0e8\x09\x03\x0e:&\x03\x0e8\x0b\x03\x0e:$\x03\x0e:,\x03\x0e8\x1a\x03" + + "\x0e8\x1e\x03\x0e:*\x03\x0e:7\x03\x0e:5\x03\x0e:;\x03\x0e:\x15\x03\x0e:<" + + "\x03\x0e:4\x03\x0e:'\x03\x0e:-\x03\x0e:%\x03\x0e:?\x03\x0e:=\x03\x0e:)" + + "\x03\x0e:/\x03\xcfs'\x03\x0d=\x0f\x03\x0d+*\x03\x0d99\x03\x0d9;\x03\x0d9" + + "?\x03\x0d)\x0d\x03\x0d(%\x02\x01\x18\x02\x01(\x02\x01\x1e\x03\x0f$!\x03" + + "\x0f87\x03\x0f4\x0e\x03\x0f5\x1d\x03\x06'\x03\x03\x0f\x08\x18\x03\x0f" + + "\x0d\x1b\x03\x0e2=\x03\x0e;\x08\x03\x0e:\x0b\x03\x0e\x06$\x03\x0e\x0d)" + + "\x03\x0e\x16\x1f\x03\x0e\x16\x1b\x03\x0d$\x0a\x03\x05,\x1d\x03\x0d. \x03" + + "\x0d.#\x03\x0c(/\x03\x09%\x02\x03\x0d90\x03\x0d\x0e4\x03\x0d\x0d\x0f\x03" + + "\x0c#\x00\x03\x0c,\x1e\x03\x0c2\x0e\x03\x0c\x01\x17\x03\x0c\x09:\x03\x0e" + + "\x173\x03\x0c\x08\x03\x03\x0c\x11\x07\x03\x0c\x10\x18\x03\x0c\x1f\x1c" + + "\x03\x0c\x19\x0e\x03\x0c\x1a\x1f\x03\x0f0>\x03\x0b->\x03\x0b<+\x03\x0b8" + + "\x13\x03\x0b\x043\x03\x0b\x14\x03\x03\x0b\x16%\x03\x0d\x22&\x03\x0b\x1a" + + "\x1a\x03\x0b\x1a\x04\x03\x0a%9\x03\x0a&2\x03\x0a&0\x03\x0a!\x1a\x03\x0a!" + + "7\x03\x0a5\x10\x03\x0a=4\x03\x0a?\x0e\x03\x0a>\x10\x03\x0a\x00 \x03\x0a" + + "\x0f:\x03\x0a\x0f9\x03\x0a\x0b\x0a\x03\x0a\x17%\x03\x0a\x1b-\x03\x09-" + + "\x1a\x03\x09,4\x03\x09.,\x03\x09)\x09\x03\x096!\x03\x091\x1f\x03\x093" + + "\x16\x03\x0c+\x1f\x03\x098 \x03\x098=\x03\x0c(\x1a\x03\x0c(\x16\x03\x09" + + "\x0a+\x03\x09\x16\x12\x03\x09\x13\x0e\x03\x09\x153\x03\x08)!\x03\x09\x1a" + + "\x01\x03\x09\x18\x01\x03\x08%#\x03\x08>\x22\x03\x08\x05%\x03\x08\x02*" + + "\x03\x08\x15;\x03\x08\x1b7\x03\x0f\x07\x1d\x03\x0f\x04\x03\x03\x070\x0c" + + "\x03\x07;\x0b\x03\x07\x08\x17\x03\x07\x12\x06\x03\x06/-\x03\x0671\x03" + + "\x065+\x03\x06>7\x03\x06\x049\x03\x05+\x1e\x03\x05,\x17\x03\x05 \x1d\x03" + + "\x05\x22\x05\x03\x050\x1d" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// idnaTrie. Total size: 28600 bytes (27.93 KiB). Checksum: 95575047b5d8fff. +type idnaTrie struct{} + +func newIdnaTrie(i int) *idnaTrie { + return &idnaTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *idnaTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 124: + return uint16(idnaValues[n<<6+uint32(b)]) + default: + n -= 124 + return uint16(idnaSparse.lookup(n, b)) + } +} + +// idnaValues: 126 blocks, 8064 entries, 16128 bytes +// The third block is the zero block. +var idnaValues = [8064]uint16{ + // Block 0x0, offset 0x0 + 0x00: 0x0080, 0x01: 0x0080, 0x02: 0x0080, 0x03: 0x0080, 0x04: 0x0080, 0x05: 0x0080, + 0x06: 0x0080, 0x07: 0x0080, 0x08: 0x0080, 0x09: 0x0080, 0x0a: 0x0080, 0x0b: 0x0080, + 0x0c: 0x0080, 0x0d: 0x0080, 0x0e: 0x0080, 0x0f: 0x0080, 0x10: 0x0080, 0x11: 0x0080, + 0x12: 0x0080, 0x13: 0x0080, 0x14: 0x0080, 0x15: 0x0080, 0x16: 0x0080, 0x17: 0x0080, + 0x18: 0x0080, 0x19: 0x0080, 0x1a: 0x0080, 0x1b: 0x0080, 0x1c: 0x0080, 0x1d: 0x0080, + 0x1e: 0x0080, 0x1f: 0x0080, 0x20: 0x0080, 0x21: 0x0080, 0x22: 0x0080, 0x23: 0x0080, + 0x24: 0x0080, 0x25: 0x0080, 0x26: 0x0080, 0x27: 0x0080, 0x28: 0x0080, 0x29: 0x0080, + 0x2a: 0x0080, 0x2b: 0x0080, 0x2c: 0x0080, 0x2d: 0x0008, 0x2e: 0x0008, 0x2f: 0x0080, + 0x30: 0x0008, 0x31: 0x0008, 0x32: 0x0008, 0x33: 0x0008, 0x34: 0x0008, 0x35: 0x0008, + 0x36: 0x0008, 0x37: 0x0008, 0x38: 0x0008, 0x39: 0x0008, 0x3a: 0x0080, 0x3b: 0x0080, + 0x3c: 0x0080, 0x3d: 0x0080, 0x3e: 0x0080, 0x3f: 0x0080, + // Block 0x1, offset 0x40 + 0x40: 0x0080, 0x41: 0xe105, 0x42: 0xe105, 0x43: 0xe105, 0x44: 0xe105, 0x45: 0xe105, + 0x46: 0xe105, 0x47: 0xe105, 0x48: 0xe105, 0x49: 0xe105, 0x4a: 0xe105, 0x4b: 0xe105, + 0x4c: 0xe105, 0x4d: 0xe105, 0x4e: 0xe105, 0x4f: 0xe105, 0x50: 0xe105, 0x51: 0xe105, + 0x52: 0xe105, 0x53: 0xe105, 0x54: 0xe105, 0x55: 0xe105, 0x56: 0xe105, 0x57: 0xe105, + 0x58: 0xe105, 0x59: 0xe105, 0x5a: 0xe105, 0x5b: 0x0080, 0x5c: 0x0080, 0x5d: 0x0080, + 0x5e: 0x0080, 0x5f: 0x0080, 0x60: 0x0080, 0x61: 0x0008, 0x62: 0x0008, 0x63: 0x0008, + 0x64: 0x0008, 0x65: 0x0008, 0x66: 0x0008, 0x67: 0x0008, 0x68: 0x0008, 0x69: 0x0008, + 0x6a: 0x0008, 0x6b: 0x0008, 0x6c: 0x0008, 0x6d: 0x0008, 0x6e: 0x0008, 0x6f: 0x0008, + 0x70: 0x0008, 0x71: 0x0008, 0x72: 0x0008, 0x73: 0x0008, 0x74: 0x0008, 0x75: 0x0008, + 0x76: 0x0008, 0x77: 0x0008, 0x78: 0x0008, 0x79: 0x0008, 0x7a: 0x0008, 0x7b: 0x0080, + 0x7c: 0x0080, 0x7d: 0x0080, 0x7e: 0x0080, 0x7f: 0x0080, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x0040, 0xc1: 0x0040, 0xc2: 0x0040, 0xc3: 0x0040, 0xc4: 0x0040, 0xc5: 0x0040, + 0xc6: 0x0040, 0xc7: 0x0040, 0xc8: 0x0040, 0xc9: 0x0040, 0xca: 0x0040, 0xcb: 0x0040, + 0xcc: 0x0040, 0xcd: 0x0040, 0xce: 0x0040, 0xcf: 0x0040, 0xd0: 0x0040, 0xd1: 0x0040, + 0xd2: 0x0040, 0xd3: 0x0040, 0xd4: 0x0040, 0xd5: 0x0040, 0xd6: 0x0040, 0xd7: 0x0040, + 0xd8: 0x0040, 0xd9: 0x0040, 0xda: 0x0040, 0xdb: 0x0040, 0xdc: 0x0040, 0xdd: 0x0040, + 0xde: 0x0040, 0xdf: 0x0040, 0xe0: 0x000a, 0xe1: 0x0018, 0xe2: 0x0018, 0xe3: 0x0018, + 0xe4: 0x0018, 0xe5: 0x0018, 0xe6: 0x0018, 0xe7: 0x0018, 0xe8: 0x001a, 0xe9: 0x0018, + 0xea: 0x0039, 0xeb: 0x0018, 0xec: 0x0018, 0xed: 0x03c0, 0xee: 0x0018, 0xef: 0x004a, + 0xf0: 0x0018, 0xf1: 0x0018, 0xf2: 0x0069, 0xf3: 0x0079, 0xf4: 0x008a, 0xf5: 0x0005, + 0xf6: 0x0018, 0xf7: 0x0008, 0xf8: 0x00aa, 0xf9: 0x00c9, 0xfa: 0x00d9, 0xfb: 0x0018, + 0xfc: 0x00e9, 0xfd: 0x0119, 0xfe: 0x0149, 0xff: 0x0018, + // Block 0x4, offset 0x100 + 0x100: 0xe00d, 0x101: 0x0008, 0x102: 0xe00d, 0x103: 0x0008, 0x104: 0xe00d, 0x105: 0x0008, + 0x106: 0xe00d, 0x107: 0x0008, 0x108: 0xe00d, 0x109: 0x0008, 0x10a: 0xe00d, 0x10b: 0x0008, + 0x10c: 0xe00d, 0x10d: 0x0008, 0x10e: 0xe00d, 0x10f: 0x0008, 0x110: 0xe00d, 0x111: 0x0008, + 0x112: 0xe00d, 0x113: 0x0008, 0x114: 0xe00d, 0x115: 0x0008, 0x116: 0xe00d, 0x117: 0x0008, + 0x118: 0xe00d, 0x119: 0x0008, 0x11a: 0xe00d, 0x11b: 0x0008, 0x11c: 0xe00d, 0x11d: 0x0008, + 0x11e: 0xe00d, 0x11f: 0x0008, 0x120: 0xe00d, 0x121: 0x0008, 0x122: 0xe00d, 0x123: 0x0008, + 0x124: 0xe00d, 0x125: 0x0008, 0x126: 0xe00d, 0x127: 0x0008, 0x128: 0xe00d, 0x129: 0x0008, + 0x12a: 0xe00d, 0x12b: 0x0008, 0x12c: 0xe00d, 0x12d: 0x0008, 0x12e: 0xe00d, 0x12f: 0x0008, + 0x130: 0x0179, 0x131: 0x0008, 0x132: 0x0035, 0x133: 0x004d, 0x134: 0xe00d, 0x135: 0x0008, + 0x136: 0xe00d, 0x137: 0x0008, 0x138: 0x0008, 0x139: 0xe01d, 0x13a: 0x0008, 0x13b: 0xe03d, + 0x13c: 0x0008, 0x13d: 0xe01d, 0x13e: 0x0008, 0x13f: 0x0199, + // Block 0x5, offset 0x140 + 0x140: 0x0199, 0x141: 0xe01d, 0x142: 0x0008, 0x143: 0xe03d, 0x144: 0x0008, 0x145: 0xe01d, + 0x146: 0x0008, 0x147: 0xe07d, 0x148: 0x0008, 0x149: 0x01b9, 0x14a: 0xe00d, 0x14b: 0x0008, + 0x14c: 0xe00d, 0x14d: 0x0008, 0x14e: 0xe00d, 0x14f: 0x0008, 0x150: 0xe00d, 0x151: 0x0008, + 0x152: 0xe00d, 0x153: 0x0008, 0x154: 0xe00d, 0x155: 0x0008, 0x156: 0xe00d, 0x157: 0x0008, + 0x158: 0xe00d, 0x159: 0x0008, 0x15a: 0xe00d, 0x15b: 0x0008, 0x15c: 0xe00d, 0x15d: 0x0008, + 0x15e: 0xe00d, 0x15f: 0x0008, 0x160: 0xe00d, 0x161: 0x0008, 0x162: 0xe00d, 0x163: 0x0008, + 0x164: 0xe00d, 0x165: 0x0008, 0x166: 0xe00d, 0x167: 0x0008, 0x168: 0xe00d, 0x169: 0x0008, + 0x16a: 0xe00d, 0x16b: 0x0008, 0x16c: 0xe00d, 0x16d: 0x0008, 0x16e: 0xe00d, 0x16f: 0x0008, + 0x170: 0xe00d, 0x171: 0x0008, 0x172: 0xe00d, 0x173: 0x0008, 0x174: 0xe00d, 0x175: 0x0008, + 0x176: 0xe00d, 0x177: 0x0008, 0x178: 0x0065, 0x179: 0xe01d, 0x17a: 0x0008, 0x17b: 0xe03d, + 0x17c: 0x0008, 0x17d: 0xe01d, 0x17e: 0x0008, 0x17f: 0x01d9, + // Block 0x6, offset 0x180 + 0x180: 0x0008, 0x181: 0x007d, 0x182: 0xe00d, 0x183: 0x0008, 0x184: 0xe00d, 0x185: 0x0008, + 0x186: 0x007d, 0x187: 0xe07d, 0x188: 0x0008, 0x189: 0x0095, 0x18a: 0x00ad, 0x18b: 0xe03d, + 0x18c: 0x0008, 0x18d: 0x0008, 0x18e: 0x00c5, 0x18f: 0x00dd, 0x190: 0x00f5, 0x191: 0xe01d, + 0x192: 0x0008, 0x193: 0x010d, 0x194: 0x0125, 0x195: 0x0008, 0x196: 0x013d, 0x197: 0x013d, + 0x198: 0xe00d, 0x199: 0x0008, 0x19a: 0x0008, 0x19b: 0x0008, 0x19c: 0x010d, 0x19d: 0x0155, + 0x19e: 0x0008, 0x19f: 0x016d, 0x1a0: 0xe00d, 0x1a1: 0x0008, 0x1a2: 0xe00d, 0x1a3: 0x0008, + 0x1a4: 0xe00d, 0x1a5: 0x0008, 0x1a6: 0x0185, 0x1a7: 0xe07d, 0x1a8: 0x0008, 0x1a9: 0x019d, + 0x1aa: 0x0008, 0x1ab: 0x0008, 0x1ac: 0xe00d, 0x1ad: 0x0008, 0x1ae: 0x0185, 0x1af: 0xe0fd, + 0x1b0: 0x0008, 0x1b1: 0x01b5, 0x1b2: 0x01cd, 0x1b3: 0xe03d, 0x1b4: 0x0008, 0x1b5: 0xe01d, + 0x1b6: 0x0008, 0x1b7: 0x01e5, 0x1b8: 0xe00d, 0x1b9: 0x0008, 0x1ba: 0x0008, 0x1bb: 0x0008, + 0x1bc: 0xe00d, 0x1bd: 0x0008, 0x1be: 0x0008, 0x1bf: 0x0008, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0008, 0x1c1: 0x0008, 0x1c2: 0x0008, 0x1c3: 0x0008, 0x1c4: 0x01e9, 0x1c5: 0x01e9, + 0x1c6: 0x01e9, 0x1c7: 0x01fd, 0x1c8: 0x0215, 0x1c9: 0x022d, 0x1ca: 0x0245, 0x1cb: 0x025d, + 0x1cc: 0x0275, 0x1cd: 0xe01d, 0x1ce: 0x0008, 0x1cf: 0xe0fd, 0x1d0: 0x0008, 0x1d1: 0xe01d, + 0x1d2: 0x0008, 0x1d3: 0xe03d, 0x1d4: 0x0008, 0x1d5: 0xe01d, 0x1d6: 0x0008, 0x1d7: 0xe07d, + 0x1d8: 0x0008, 0x1d9: 0xe01d, 0x1da: 0x0008, 0x1db: 0xe03d, 0x1dc: 0x0008, 0x1dd: 0x0008, + 0x1de: 0xe00d, 0x1df: 0x0008, 0x1e0: 0xe00d, 0x1e1: 0x0008, 0x1e2: 0xe00d, 0x1e3: 0x0008, + 0x1e4: 0xe00d, 0x1e5: 0x0008, 0x1e6: 0xe00d, 0x1e7: 0x0008, 0x1e8: 0xe00d, 0x1e9: 0x0008, + 0x1ea: 0xe00d, 0x1eb: 0x0008, 0x1ec: 0xe00d, 0x1ed: 0x0008, 0x1ee: 0xe00d, 0x1ef: 0x0008, + 0x1f0: 0x0008, 0x1f1: 0x028d, 0x1f2: 0x02a5, 0x1f3: 0x02bd, 0x1f4: 0xe00d, 0x1f5: 0x0008, + 0x1f6: 0x02d5, 0x1f7: 0x02ed, 0x1f8: 0xe00d, 0x1f9: 0x0008, 0x1fa: 0xe00d, 0x1fb: 0x0008, + 0x1fc: 0xe00d, 0x1fd: 0x0008, 0x1fe: 0xe00d, 0x1ff: 0x0008, + // Block 0x8, offset 0x200 + 0x200: 0xe00d, 0x201: 0x0008, 0x202: 0xe00d, 0x203: 0x0008, 0x204: 0xe00d, 0x205: 0x0008, + 0x206: 0xe00d, 0x207: 0x0008, 0x208: 0xe00d, 0x209: 0x0008, 0x20a: 0xe00d, 0x20b: 0x0008, + 0x20c: 0xe00d, 0x20d: 0x0008, 0x20e: 0xe00d, 0x20f: 0x0008, 0x210: 0xe00d, 0x211: 0x0008, + 0x212: 0xe00d, 0x213: 0x0008, 0x214: 0xe00d, 0x215: 0x0008, 0x216: 0xe00d, 0x217: 0x0008, + 0x218: 0xe00d, 0x219: 0x0008, 0x21a: 0xe00d, 0x21b: 0x0008, 0x21c: 0xe00d, 0x21d: 0x0008, + 0x21e: 0xe00d, 0x21f: 0x0008, 0x220: 0x0305, 0x221: 0x0008, 0x222: 0xe00d, 0x223: 0x0008, + 0x224: 0xe00d, 0x225: 0x0008, 0x226: 0xe00d, 0x227: 0x0008, 0x228: 0xe00d, 0x229: 0x0008, + 0x22a: 0xe00d, 0x22b: 0x0008, 0x22c: 0xe00d, 0x22d: 0x0008, 0x22e: 0xe00d, 0x22f: 0x0008, + 0x230: 0xe00d, 0x231: 0x0008, 0x232: 0xe00d, 0x233: 0x0008, 0x234: 0x0008, 0x235: 0x0008, + 0x236: 0x0008, 0x237: 0x0008, 0x238: 0x0008, 0x239: 0x0008, 0x23a: 0x0209, 0x23b: 0xe03d, + 0x23c: 0x0008, 0x23d: 0x031d, 0x23e: 0x0229, 0x23f: 0x0008, + // Block 0x9, offset 0x240 + 0x240: 0x0008, 0x241: 0x0008, 0x242: 0x0018, 0x243: 0x0018, 0x244: 0x0018, 0x245: 0x0018, + 0x246: 0x0008, 0x247: 0x0008, 0x248: 0x0008, 0x249: 0x0008, 0x24a: 0x0008, 0x24b: 0x0008, + 0x24c: 0x0008, 0x24d: 0x0008, 0x24e: 0x0008, 0x24f: 0x0008, 0x250: 0x0008, 0x251: 0x0008, + 0x252: 0x0018, 0x253: 0x0018, 0x254: 0x0018, 0x255: 0x0018, 0x256: 0x0018, 0x257: 0x0018, + 0x258: 0x029a, 0x259: 0x02ba, 0x25a: 0x02da, 0x25b: 0x02fa, 0x25c: 0x031a, 0x25d: 0x033a, + 0x25e: 0x0018, 0x25f: 0x0018, 0x260: 0x03ad, 0x261: 0x0359, 0x262: 0x01d9, 0x263: 0x0369, + 0x264: 0x03c5, 0x265: 0x0018, 0x266: 0x0018, 0x267: 0x0018, 0x268: 0x0018, 0x269: 0x0018, + 0x26a: 0x0018, 0x26b: 0x0018, 0x26c: 0x0008, 0x26d: 0x0018, 0x26e: 0x0008, 0x26f: 0x0018, + 0x270: 0x0018, 0x271: 0x0018, 0x272: 0x0018, 0x273: 0x0018, 0x274: 0x0018, 0x275: 0x0018, + 0x276: 0x0018, 0x277: 0x0018, 0x278: 0x0018, 0x279: 0x0018, 0x27a: 0x0018, 0x27b: 0x0018, + 0x27c: 0x0018, 0x27d: 0x0018, 0x27e: 0x0018, 0x27f: 0x0018, + // Block 0xa, offset 0x280 + 0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x3308, 0x283: 0x03f5, 0x284: 0x0379, 0x285: 0x040d, + 0x286: 0x3308, 0x287: 0x3308, 0x288: 0x3308, 0x289: 0x3308, 0x28a: 0x3308, 0x28b: 0x3308, + 0x28c: 0x3308, 0x28d: 0x3308, 0x28e: 0x3308, 0x28f: 0x33c0, 0x290: 0x3308, 0x291: 0x3308, + 0x292: 0x3308, 0x293: 0x3308, 0x294: 0x3308, 0x295: 0x3308, 0x296: 0x3308, 0x297: 0x3308, + 0x298: 0x3308, 0x299: 0x3308, 0x29a: 0x3308, 0x29b: 0x3308, 0x29c: 0x3308, 0x29d: 0x3308, + 0x29e: 0x3308, 0x29f: 0x3308, 0x2a0: 0x3308, 0x2a1: 0x3308, 0x2a2: 0x3308, 0x2a3: 0x3308, + 0x2a4: 0x3308, 0x2a5: 0x3308, 0x2a6: 0x3308, 0x2a7: 0x3308, 0x2a8: 0x3308, 0x2a9: 0x3308, + 0x2aa: 0x3308, 0x2ab: 0x3308, 0x2ac: 0x3308, 0x2ad: 0x3308, 0x2ae: 0x3308, 0x2af: 0x3308, + 0x2b0: 0xe00d, 0x2b1: 0x0008, 0x2b2: 0xe00d, 0x2b3: 0x0008, 0x2b4: 0x0425, 0x2b5: 0x0008, + 0x2b6: 0xe00d, 0x2b7: 0x0008, 0x2b8: 0x0040, 0x2b9: 0x0040, 0x2ba: 0x03a2, 0x2bb: 0x0008, + 0x2bc: 0x0008, 0x2bd: 0x0008, 0x2be: 0x03c2, 0x2bf: 0x043d, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x0040, 0x2c1: 0x0040, 0x2c2: 0x0040, 0x2c3: 0x0040, 0x2c4: 0x008a, 0x2c5: 0x03d2, + 0x2c6: 0xe155, 0x2c7: 0x0455, 0x2c8: 0xe12d, 0x2c9: 0xe13d, 0x2ca: 0xe12d, 0x2cb: 0x0040, + 0x2cc: 0x03dd, 0x2cd: 0x0040, 0x2ce: 0x046d, 0x2cf: 0x0485, 0x2d0: 0x0008, 0x2d1: 0xe105, + 0x2d2: 0xe105, 0x2d3: 0xe105, 0x2d4: 0xe105, 0x2d5: 0xe105, 0x2d6: 0xe105, 0x2d7: 0xe105, + 0x2d8: 0xe105, 0x2d9: 0xe105, 0x2da: 0xe105, 0x2db: 0xe105, 0x2dc: 0xe105, 0x2dd: 0xe105, + 0x2de: 0xe105, 0x2df: 0xe105, 0x2e0: 0x049d, 0x2e1: 0x049d, 0x2e2: 0x0040, 0x2e3: 0x049d, + 0x2e4: 0x049d, 0x2e5: 0x049d, 0x2e6: 0x049d, 0x2e7: 0x049d, 0x2e8: 0x049d, 0x2e9: 0x049d, + 0x2ea: 0x049d, 0x2eb: 0x049d, 0x2ec: 0x0008, 0x2ed: 0x0008, 0x2ee: 0x0008, 0x2ef: 0x0008, + 0x2f0: 0x0008, 0x2f1: 0x0008, 0x2f2: 0x0008, 0x2f3: 0x0008, 0x2f4: 0x0008, 0x2f5: 0x0008, + 0x2f6: 0x0008, 0x2f7: 0x0008, 0x2f8: 0x0008, 0x2f9: 0x0008, 0x2fa: 0x0008, 0x2fb: 0x0008, + 0x2fc: 0x0008, 0x2fd: 0x0008, 0x2fe: 0x0008, 0x2ff: 0x0008, + // Block 0xc, offset 0x300 + 0x300: 0x0008, 0x301: 0x0008, 0x302: 0xe00f, 0x303: 0x0008, 0x304: 0x0008, 0x305: 0x0008, + 0x306: 0x0008, 0x307: 0x0008, 0x308: 0x0008, 0x309: 0x0008, 0x30a: 0x0008, 0x30b: 0x0008, + 0x30c: 0x0008, 0x30d: 0x0008, 0x30e: 0x0008, 0x30f: 0xe0c5, 0x310: 0x04b5, 0x311: 0x04cd, + 0x312: 0xe0bd, 0x313: 0xe0f5, 0x314: 0xe0fd, 0x315: 0xe09d, 0x316: 0xe0b5, 0x317: 0x0008, + 0x318: 0xe00d, 0x319: 0x0008, 0x31a: 0xe00d, 0x31b: 0x0008, 0x31c: 0xe00d, 0x31d: 0x0008, + 0x31e: 0xe00d, 0x31f: 0x0008, 0x320: 0xe00d, 0x321: 0x0008, 0x322: 0xe00d, 0x323: 0x0008, + 0x324: 0xe00d, 0x325: 0x0008, 0x326: 0xe00d, 0x327: 0x0008, 0x328: 0xe00d, 0x329: 0x0008, + 0x32a: 0xe00d, 0x32b: 0x0008, 0x32c: 0xe00d, 0x32d: 0x0008, 0x32e: 0xe00d, 0x32f: 0x0008, + 0x330: 0x04e5, 0x331: 0xe185, 0x332: 0xe18d, 0x333: 0x0008, 0x334: 0x04fd, 0x335: 0x03dd, + 0x336: 0x0018, 0x337: 0xe07d, 0x338: 0x0008, 0x339: 0xe1d5, 0x33a: 0xe00d, 0x33b: 0x0008, + 0x33c: 0x0008, 0x33d: 0x0515, 0x33e: 0x052d, 0x33f: 0x052d, + // Block 0xd, offset 0x340 + 0x340: 0x0008, 0x341: 0x0008, 0x342: 0x0008, 0x343: 0x0008, 0x344: 0x0008, 0x345: 0x0008, + 0x346: 0x0008, 0x347: 0x0008, 0x348: 0x0008, 0x349: 0x0008, 0x34a: 0x0008, 0x34b: 0x0008, + 0x34c: 0x0008, 0x34d: 0x0008, 0x34e: 0x0008, 0x34f: 0x0008, 0x350: 0x0008, 0x351: 0x0008, + 0x352: 0x0008, 0x353: 0x0008, 0x354: 0x0008, 0x355: 0x0008, 0x356: 0x0008, 0x357: 0x0008, + 0x358: 0x0008, 0x359: 0x0008, 0x35a: 0x0008, 0x35b: 0x0008, 0x35c: 0x0008, 0x35d: 0x0008, + 0x35e: 0x0008, 0x35f: 0x0008, 0x360: 0xe00d, 0x361: 0x0008, 0x362: 0xe00d, 0x363: 0x0008, + 0x364: 0xe00d, 0x365: 0x0008, 0x366: 0xe00d, 0x367: 0x0008, 0x368: 0xe00d, 0x369: 0x0008, + 0x36a: 0xe00d, 0x36b: 0x0008, 0x36c: 0xe00d, 0x36d: 0x0008, 0x36e: 0xe00d, 0x36f: 0x0008, + 0x370: 0xe00d, 0x371: 0x0008, 0x372: 0xe00d, 0x373: 0x0008, 0x374: 0xe00d, 0x375: 0x0008, + 0x376: 0xe00d, 0x377: 0x0008, 0x378: 0xe00d, 0x379: 0x0008, 0x37a: 0xe00d, 0x37b: 0x0008, + 0x37c: 0xe00d, 0x37d: 0x0008, 0x37e: 0xe00d, 0x37f: 0x0008, + // Block 0xe, offset 0x380 + 0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x3308, 0x384: 0x3308, 0x385: 0x3308, + 0x386: 0x3308, 0x387: 0x3308, 0x388: 0x3318, 0x389: 0x3318, 0x38a: 0xe00d, 0x38b: 0x0008, + 0x38c: 0xe00d, 0x38d: 0x0008, 0x38e: 0xe00d, 0x38f: 0x0008, 0x390: 0xe00d, 0x391: 0x0008, + 0x392: 0xe00d, 0x393: 0x0008, 0x394: 0xe00d, 0x395: 0x0008, 0x396: 0xe00d, 0x397: 0x0008, + 0x398: 0xe00d, 0x399: 0x0008, 0x39a: 0xe00d, 0x39b: 0x0008, 0x39c: 0xe00d, 0x39d: 0x0008, + 0x39e: 0xe00d, 0x39f: 0x0008, 0x3a0: 0xe00d, 0x3a1: 0x0008, 0x3a2: 0xe00d, 0x3a3: 0x0008, + 0x3a4: 0xe00d, 0x3a5: 0x0008, 0x3a6: 0xe00d, 0x3a7: 0x0008, 0x3a8: 0xe00d, 0x3a9: 0x0008, + 0x3aa: 0xe00d, 0x3ab: 0x0008, 0x3ac: 0xe00d, 0x3ad: 0x0008, 0x3ae: 0xe00d, 0x3af: 0x0008, + 0x3b0: 0xe00d, 0x3b1: 0x0008, 0x3b2: 0xe00d, 0x3b3: 0x0008, 0x3b4: 0xe00d, 0x3b5: 0x0008, + 0x3b6: 0xe00d, 0x3b7: 0x0008, 0x3b8: 0xe00d, 0x3b9: 0x0008, 0x3ba: 0xe00d, 0x3bb: 0x0008, + 0x3bc: 0xe00d, 0x3bd: 0x0008, 0x3be: 0xe00d, 0x3bf: 0x0008, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x0040, 0x3c1: 0xe01d, 0x3c2: 0x0008, 0x3c3: 0xe03d, 0x3c4: 0x0008, 0x3c5: 0xe01d, + 0x3c6: 0x0008, 0x3c7: 0xe07d, 0x3c8: 0x0008, 0x3c9: 0xe01d, 0x3ca: 0x0008, 0x3cb: 0xe03d, + 0x3cc: 0x0008, 0x3cd: 0xe01d, 0x3ce: 0x0008, 0x3cf: 0x0008, 0x3d0: 0xe00d, 0x3d1: 0x0008, + 0x3d2: 0xe00d, 0x3d3: 0x0008, 0x3d4: 0xe00d, 0x3d5: 0x0008, 0x3d6: 0xe00d, 0x3d7: 0x0008, + 0x3d8: 0xe00d, 0x3d9: 0x0008, 0x3da: 0xe00d, 0x3db: 0x0008, 0x3dc: 0xe00d, 0x3dd: 0x0008, + 0x3de: 0xe00d, 0x3df: 0x0008, 0x3e0: 0xe00d, 0x3e1: 0x0008, 0x3e2: 0xe00d, 0x3e3: 0x0008, + 0x3e4: 0xe00d, 0x3e5: 0x0008, 0x3e6: 0xe00d, 0x3e7: 0x0008, 0x3e8: 0xe00d, 0x3e9: 0x0008, + 0x3ea: 0xe00d, 0x3eb: 0x0008, 0x3ec: 0xe00d, 0x3ed: 0x0008, 0x3ee: 0xe00d, 0x3ef: 0x0008, + 0x3f0: 0xe00d, 0x3f1: 0x0008, 0x3f2: 0xe00d, 0x3f3: 0x0008, 0x3f4: 0xe00d, 0x3f5: 0x0008, + 0x3f6: 0xe00d, 0x3f7: 0x0008, 0x3f8: 0xe00d, 0x3f9: 0x0008, 0x3fa: 0xe00d, 0x3fb: 0x0008, + 0x3fc: 0xe00d, 0x3fd: 0x0008, 0x3fe: 0xe00d, 0x3ff: 0x0008, + // Block 0x10, offset 0x400 + 0x400: 0xe00d, 0x401: 0x0008, 0x402: 0xe00d, 0x403: 0x0008, 0x404: 0xe00d, 0x405: 0x0008, + 0x406: 0xe00d, 0x407: 0x0008, 0x408: 0xe00d, 0x409: 0x0008, 0x40a: 0xe00d, 0x40b: 0x0008, + 0x40c: 0xe00d, 0x40d: 0x0008, 0x40e: 0xe00d, 0x40f: 0x0008, 0x410: 0xe00d, 0x411: 0x0008, + 0x412: 0xe00d, 0x413: 0x0008, 0x414: 0xe00d, 0x415: 0x0008, 0x416: 0xe00d, 0x417: 0x0008, + 0x418: 0xe00d, 0x419: 0x0008, 0x41a: 0xe00d, 0x41b: 0x0008, 0x41c: 0xe00d, 0x41d: 0x0008, + 0x41e: 0xe00d, 0x41f: 0x0008, 0x420: 0xe00d, 0x421: 0x0008, 0x422: 0xe00d, 0x423: 0x0008, + 0x424: 0xe00d, 0x425: 0x0008, 0x426: 0xe00d, 0x427: 0x0008, 0x428: 0xe00d, 0x429: 0x0008, + 0x42a: 0xe00d, 0x42b: 0x0008, 0x42c: 0xe00d, 0x42d: 0x0008, 0x42e: 0xe00d, 0x42f: 0x0008, + 0x430: 0x0040, 0x431: 0x03f5, 0x432: 0x03f5, 0x433: 0x03f5, 0x434: 0x03f5, 0x435: 0x03f5, + 0x436: 0x03f5, 0x437: 0x03f5, 0x438: 0x03f5, 0x439: 0x03f5, 0x43a: 0x03f5, 0x43b: 0x03f5, + 0x43c: 0x03f5, 0x43d: 0x03f5, 0x43e: 0x03f5, 0x43f: 0x03f5, + // Block 0x11, offset 0x440 + 0x440: 0x0840, 0x441: 0x0840, 0x442: 0x0840, 0x443: 0x0840, 0x444: 0x0840, 0x445: 0x0840, + 0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0818, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0818, + 0x44c: 0x0018, 0x44d: 0x0818, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x3308, 0x451: 0x3308, + 0x452: 0x3308, 0x453: 0x3308, 0x454: 0x3308, 0x455: 0x3308, 0x456: 0x3308, 0x457: 0x3308, + 0x458: 0x3308, 0x459: 0x3308, 0x45a: 0x3308, 0x45b: 0x0818, 0x45c: 0x0b40, 0x45d: 0x0040, + 0x45e: 0x0818, 0x45f: 0x0818, 0x460: 0x0a08, 0x461: 0x0808, 0x462: 0x0c08, 0x463: 0x0c08, + 0x464: 0x0c08, 0x465: 0x0c08, 0x466: 0x0a08, 0x467: 0x0c08, 0x468: 0x0a08, 0x469: 0x0c08, + 0x46a: 0x0a08, 0x46b: 0x0a08, 0x46c: 0x0a08, 0x46d: 0x0a08, 0x46e: 0x0a08, 0x46f: 0x0c08, + 0x470: 0x0c08, 0x471: 0x0c08, 0x472: 0x0c08, 0x473: 0x0a08, 0x474: 0x0a08, 0x475: 0x0a08, + 0x476: 0x0a08, 0x477: 0x0a08, 0x478: 0x0a08, 0x479: 0x0a08, 0x47a: 0x0a08, 0x47b: 0x0a08, + 0x47c: 0x0a08, 0x47d: 0x0a08, 0x47e: 0x0a08, 0x47f: 0x0a08, + // Block 0x12, offset 0x480 + 0x480: 0x0818, 0x481: 0x0a08, 0x482: 0x0a08, 0x483: 0x0a08, 0x484: 0x0a08, 0x485: 0x0a08, + 0x486: 0x0a08, 0x487: 0x0a08, 0x488: 0x0c08, 0x489: 0x0a08, 0x48a: 0x0a08, 0x48b: 0x3308, + 0x48c: 0x3308, 0x48d: 0x3308, 0x48e: 0x3308, 0x48f: 0x3308, 0x490: 0x3308, 0x491: 0x3308, + 0x492: 0x3308, 0x493: 0x3308, 0x494: 0x3308, 0x495: 0x3308, 0x496: 0x3308, 0x497: 0x3308, + 0x498: 0x3308, 0x499: 0x3308, 0x49a: 0x3308, 0x49b: 0x3308, 0x49c: 0x3308, 0x49d: 0x3308, + 0x49e: 0x3308, 0x49f: 0x3308, 0x4a0: 0x0808, 0x4a1: 0x0808, 0x4a2: 0x0808, 0x4a3: 0x0808, + 0x4a4: 0x0808, 0x4a5: 0x0808, 0x4a6: 0x0808, 0x4a7: 0x0808, 0x4a8: 0x0808, 0x4a9: 0x0808, + 0x4aa: 0x0018, 0x4ab: 0x0818, 0x4ac: 0x0818, 0x4ad: 0x0818, 0x4ae: 0x0a08, 0x4af: 0x0a08, + 0x4b0: 0x3308, 0x4b1: 0x0c08, 0x4b2: 0x0c08, 0x4b3: 0x0c08, 0x4b4: 0x0808, 0x4b5: 0x0429, + 0x4b6: 0x0451, 0x4b7: 0x0479, 0x4b8: 0x04a1, 0x4b9: 0x0a08, 0x4ba: 0x0a08, 0x4bb: 0x0a08, + 0x4bc: 0x0a08, 0x4bd: 0x0a08, 0x4be: 0x0a08, 0x4bf: 0x0a08, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x0c08, 0x4c1: 0x0a08, 0x4c2: 0x0a08, 0x4c3: 0x0c08, 0x4c4: 0x0c08, 0x4c5: 0x0c08, + 0x4c6: 0x0c08, 0x4c7: 0x0c08, 0x4c8: 0x0c08, 0x4c9: 0x0c08, 0x4ca: 0x0c08, 0x4cb: 0x0c08, + 0x4cc: 0x0a08, 0x4cd: 0x0c08, 0x4ce: 0x0a08, 0x4cf: 0x0c08, 0x4d0: 0x0a08, 0x4d1: 0x0a08, + 0x4d2: 0x0c08, 0x4d3: 0x0c08, 0x4d4: 0x0818, 0x4d5: 0x0c08, 0x4d6: 0x3308, 0x4d7: 0x3308, + 0x4d8: 0x3308, 0x4d9: 0x3308, 0x4da: 0x3308, 0x4db: 0x3308, 0x4dc: 0x3308, 0x4dd: 0x0840, + 0x4de: 0x0018, 0x4df: 0x3308, 0x4e0: 0x3308, 0x4e1: 0x3308, 0x4e2: 0x3308, 0x4e3: 0x3308, + 0x4e4: 0x3308, 0x4e5: 0x0808, 0x4e6: 0x0808, 0x4e7: 0x3308, 0x4e8: 0x3308, 0x4e9: 0x0018, + 0x4ea: 0x3308, 0x4eb: 0x3308, 0x4ec: 0x3308, 0x4ed: 0x3308, 0x4ee: 0x0c08, 0x4ef: 0x0c08, + 0x4f0: 0x0008, 0x4f1: 0x0008, 0x4f2: 0x0008, 0x4f3: 0x0008, 0x4f4: 0x0008, 0x4f5: 0x0008, + 0x4f6: 0x0008, 0x4f7: 0x0008, 0x4f8: 0x0008, 0x4f9: 0x0008, 0x4fa: 0x0a08, 0x4fb: 0x0a08, + 0x4fc: 0x0a08, 0x4fd: 0x0808, 0x4fe: 0x0808, 0x4ff: 0x0a08, + // Block 0x14, offset 0x500 + 0x500: 0x0818, 0x501: 0x0818, 0x502: 0x0818, 0x503: 0x0818, 0x504: 0x0818, 0x505: 0x0818, + 0x506: 0x0818, 0x507: 0x0818, 0x508: 0x0818, 0x509: 0x0818, 0x50a: 0x0818, 0x50b: 0x0818, + 0x50c: 0x0818, 0x50d: 0x0818, 0x50e: 0x0040, 0x50f: 0x0b40, 0x510: 0x0c08, 0x511: 0x3308, + 0x512: 0x0a08, 0x513: 0x0a08, 0x514: 0x0a08, 0x515: 0x0c08, 0x516: 0x0c08, 0x517: 0x0c08, + 0x518: 0x0c08, 0x519: 0x0c08, 0x51a: 0x0a08, 0x51b: 0x0a08, 0x51c: 0x0a08, 0x51d: 0x0a08, + 0x51e: 0x0c08, 0x51f: 0x0a08, 0x520: 0x0a08, 0x521: 0x0a08, 0x522: 0x0a08, 0x523: 0x0a08, + 0x524: 0x0a08, 0x525: 0x0a08, 0x526: 0x0a08, 0x527: 0x0a08, 0x528: 0x0c08, 0x529: 0x0a08, + 0x52a: 0x0c08, 0x52b: 0x0a08, 0x52c: 0x0c08, 0x52d: 0x0a08, 0x52e: 0x0a08, 0x52f: 0x0c08, + 0x530: 0x3308, 0x531: 0x3308, 0x532: 0x3308, 0x533: 0x3308, 0x534: 0x3308, 0x535: 0x3308, + 0x536: 0x3308, 0x537: 0x3308, 0x538: 0x3308, 0x539: 0x3308, 0x53a: 0x3308, 0x53b: 0x3308, + 0x53c: 0x3308, 0x53d: 0x3308, 0x53e: 0x3308, 0x53f: 0x3308, + // Block 0x15, offset 0x540 + 0x540: 0x3008, 0x541: 0x3308, 0x542: 0x3308, 0x543: 0x3308, 0x544: 0x3308, 0x545: 0x3308, + 0x546: 0x3308, 0x547: 0x3308, 0x548: 0x3308, 0x549: 0x3008, 0x54a: 0x3008, 0x54b: 0x3008, + 0x54c: 0x3008, 0x54d: 0x3b08, 0x54e: 0x3008, 0x54f: 0x3008, 0x550: 0x0008, 0x551: 0x3308, + 0x552: 0x3308, 0x553: 0x3308, 0x554: 0x3308, 0x555: 0x3308, 0x556: 0x3308, 0x557: 0x3308, + 0x558: 0x04c9, 0x559: 0x0501, 0x55a: 0x0539, 0x55b: 0x0571, 0x55c: 0x05a9, 0x55d: 0x05e1, + 0x55e: 0x0619, 0x55f: 0x0651, 0x560: 0x0008, 0x561: 0x0008, 0x562: 0x3308, 0x563: 0x3308, + 0x564: 0x0018, 0x565: 0x0018, 0x566: 0x0008, 0x567: 0x0008, 0x568: 0x0008, 0x569: 0x0008, + 0x56a: 0x0008, 0x56b: 0x0008, 0x56c: 0x0008, 0x56d: 0x0008, 0x56e: 0x0008, 0x56f: 0x0008, + 0x570: 0x0018, 0x571: 0x0008, 0x572: 0x0008, 0x573: 0x0008, 0x574: 0x0008, 0x575: 0x0008, + 0x576: 0x0008, 0x577: 0x0008, 0x578: 0x0008, 0x579: 0x0008, 0x57a: 0x0008, 0x57b: 0x0008, + 0x57c: 0x0008, 0x57d: 0x0008, 0x57e: 0x0008, 0x57f: 0x0008, + // Block 0x16, offset 0x580 + 0x580: 0x0008, 0x581: 0x3308, 0x582: 0x3008, 0x583: 0x3008, 0x584: 0x0040, 0x585: 0x0008, + 0x586: 0x0008, 0x587: 0x0008, 0x588: 0x0008, 0x589: 0x0008, 0x58a: 0x0008, 0x58b: 0x0008, + 0x58c: 0x0008, 0x58d: 0x0040, 0x58e: 0x0040, 0x58f: 0x0008, 0x590: 0x0008, 0x591: 0x0040, + 0x592: 0x0040, 0x593: 0x0008, 0x594: 0x0008, 0x595: 0x0008, 0x596: 0x0008, 0x597: 0x0008, + 0x598: 0x0008, 0x599: 0x0008, 0x59a: 0x0008, 0x59b: 0x0008, 0x59c: 0x0008, 0x59d: 0x0008, + 0x59e: 0x0008, 0x59f: 0x0008, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x0008, 0x5a3: 0x0008, + 0x5a4: 0x0008, 0x5a5: 0x0008, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0040, + 0x5aa: 0x0008, 0x5ab: 0x0008, 0x5ac: 0x0008, 0x5ad: 0x0008, 0x5ae: 0x0008, 0x5af: 0x0008, + 0x5b0: 0x0008, 0x5b1: 0x0040, 0x5b2: 0x0008, 0x5b3: 0x0040, 0x5b4: 0x0040, 0x5b5: 0x0040, + 0x5b6: 0x0008, 0x5b7: 0x0008, 0x5b8: 0x0008, 0x5b9: 0x0008, 0x5ba: 0x0040, 0x5bb: 0x0040, + 0x5bc: 0x3308, 0x5bd: 0x0008, 0x5be: 0x3008, 0x5bf: 0x3008, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x3008, 0x5c1: 0x3308, 0x5c2: 0x3308, 0x5c3: 0x3308, 0x5c4: 0x3308, 0x5c5: 0x0040, + 0x5c6: 0x0040, 0x5c7: 0x3008, 0x5c8: 0x3008, 0x5c9: 0x0040, 0x5ca: 0x0040, 0x5cb: 0x3008, + 0x5cc: 0x3008, 0x5cd: 0x3b08, 0x5ce: 0x0008, 0x5cf: 0x0040, 0x5d0: 0x0040, 0x5d1: 0x0040, + 0x5d2: 0x0040, 0x5d3: 0x0040, 0x5d4: 0x0040, 0x5d5: 0x0040, 0x5d6: 0x0040, 0x5d7: 0x3008, + 0x5d8: 0x0040, 0x5d9: 0x0040, 0x5da: 0x0040, 0x5db: 0x0040, 0x5dc: 0x0689, 0x5dd: 0x06c1, + 0x5de: 0x0040, 0x5df: 0x06f9, 0x5e0: 0x0008, 0x5e1: 0x0008, 0x5e2: 0x3308, 0x5e3: 0x3308, + 0x5e4: 0x0040, 0x5e5: 0x0040, 0x5e6: 0x0008, 0x5e7: 0x0008, 0x5e8: 0x0008, 0x5e9: 0x0008, + 0x5ea: 0x0008, 0x5eb: 0x0008, 0x5ec: 0x0008, 0x5ed: 0x0008, 0x5ee: 0x0008, 0x5ef: 0x0008, + 0x5f0: 0x0008, 0x5f1: 0x0008, 0x5f2: 0x0018, 0x5f3: 0x0018, 0x5f4: 0x0018, 0x5f5: 0x0018, + 0x5f6: 0x0018, 0x5f7: 0x0018, 0x5f8: 0x0018, 0x5f9: 0x0018, 0x5fa: 0x0018, 0x5fb: 0x0018, + 0x5fc: 0x0040, 0x5fd: 0x0040, 0x5fe: 0x0040, 0x5ff: 0x0040, + // Block 0x18, offset 0x600 + 0x600: 0x0040, 0x601: 0x3308, 0x602: 0x3308, 0x603: 0x3008, 0x604: 0x0040, 0x605: 0x0008, + 0x606: 0x0008, 0x607: 0x0008, 0x608: 0x0008, 0x609: 0x0008, 0x60a: 0x0008, 0x60b: 0x0040, + 0x60c: 0x0040, 0x60d: 0x0040, 0x60e: 0x0040, 0x60f: 0x0008, 0x610: 0x0008, 0x611: 0x0040, + 0x612: 0x0040, 0x613: 0x0008, 0x614: 0x0008, 0x615: 0x0008, 0x616: 0x0008, 0x617: 0x0008, + 0x618: 0x0008, 0x619: 0x0008, 0x61a: 0x0008, 0x61b: 0x0008, 0x61c: 0x0008, 0x61d: 0x0008, + 0x61e: 0x0008, 0x61f: 0x0008, 0x620: 0x0008, 0x621: 0x0008, 0x622: 0x0008, 0x623: 0x0008, + 0x624: 0x0008, 0x625: 0x0008, 0x626: 0x0008, 0x627: 0x0008, 0x628: 0x0008, 0x629: 0x0040, + 0x62a: 0x0008, 0x62b: 0x0008, 0x62c: 0x0008, 0x62d: 0x0008, 0x62e: 0x0008, 0x62f: 0x0008, + 0x630: 0x0008, 0x631: 0x0040, 0x632: 0x0008, 0x633: 0x0731, 0x634: 0x0040, 0x635: 0x0008, + 0x636: 0x0769, 0x637: 0x0040, 0x638: 0x0008, 0x639: 0x0008, 0x63a: 0x0040, 0x63b: 0x0040, + 0x63c: 0x3308, 0x63d: 0x0040, 0x63e: 0x3008, 0x63f: 0x3008, + // Block 0x19, offset 0x640 + 0x640: 0x3008, 0x641: 0x3308, 0x642: 0x3308, 0x643: 0x0040, 0x644: 0x0040, 0x645: 0x0040, + 0x646: 0x0040, 0x647: 0x3308, 0x648: 0x3308, 0x649: 0x0040, 0x64a: 0x0040, 0x64b: 0x3308, + 0x64c: 0x3308, 0x64d: 0x3b08, 0x64e: 0x0040, 0x64f: 0x0040, 0x650: 0x0040, 0x651: 0x3308, + 0x652: 0x0040, 0x653: 0x0040, 0x654: 0x0040, 0x655: 0x0040, 0x656: 0x0040, 0x657: 0x0040, + 0x658: 0x0040, 0x659: 0x07a1, 0x65a: 0x07d9, 0x65b: 0x0811, 0x65c: 0x0008, 0x65d: 0x0040, + 0x65e: 0x0849, 0x65f: 0x0040, 0x660: 0x0040, 0x661: 0x0040, 0x662: 0x0040, 0x663: 0x0040, + 0x664: 0x0040, 0x665: 0x0040, 0x666: 0x0008, 0x667: 0x0008, 0x668: 0x0008, 0x669: 0x0008, + 0x66a: 0x0008, 0x66b: 0x0008, 0x66c: 0x0008, 0x66d: 0x0008, 0x66e: 0x0008, 0x66f: 0x0008, + 0x670: 0x3308, 0x671: 0x3308, 0x672: 0x0008, 0x673: 0x0008, 0x674: 0x0008, 0x675: 0x3308, + 0x676: 0x0040, 0x677: 0x0040, 0x678: 0x0040, 0x679: 0x0040, 0x67a: 0x0040, 0x67b: 0x0040, + 0x67c: 0x0040, 0x67d: 0x0040, 0x67e: 0x0040, 0x67f: 0x0040, + // Block 0x1a, offset 0x680 + 0x680: 0x0040, 0x681: 0x3308, 0x682: 0x3308, 0x683: 0x3008, 0x684: 0x0040, 0x685: 0x0008, + 0x686: 0x0008, 0x687: 0x0008, 0x688: 0x0008, 0x689: 0x0008, 0x68a: 0x0008, 0x68b: 0x0008, + 0x68c: 0x0008, 0x68d: 0x0008, 0x68e: 0x0040, 0x68f: 0x0008, 0x690: 0x0008, 0x691: 0x0008, + 0x692: 0x0040, 0x693: 0x0008, 0x694: 0x0008, 0x695: 0x0008, 0x696: 0x0008, 0x697: 0x0008, + 0x698: 0x0008, 0x699: 0x0008, 0x69a: 0x0008, 0x69b: 0x0008, 0x69c: 0x0008, 0x69d: 0x0008, + 0x69e: 0x0008, 0x69f: 0x0008, 0x6a0: 0x0008, 0x6a1: 0x0008, 0x6a2: 0x0008, 0x6a3: 0x0008, + 0x6a4: 0x0008, 0x6a5: 0x0008, 0x6a6: 0x0008, 0x6a7: 0x0008, 0x6a8: 0x0008, 0x6a9: 0x0040, + 0x6aa: 0x0008, 0x6ab: 0x0008, 0x6ac: 0x0008, 0x6ad: 0x0008, 0x6ae: 0x0008, 0x6af: 0x0008, + 0x6b0: 0x0008, 0x6b1: 0x0040, 0x6b2: 0x0008, 0x6b3: 0x0008, 0x6b4: 0x0040, 0x6b5: 0x0008, + 0x6b6: 0x0008, 0x6b7: 0x0008, 0x6b8: 0x0008, 0x6b9: 0x0008, 0x6ba: 0x0040, 0x6bb: 0x0040, + 0x6bc: 0x3308, 0x6bd: 0x0008, 0x6be: 0x3008, 0x6bf: 0x3008, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x3008, 0x6c1: 0x3308, 0x6c2: 0x3308, 0x6c3: 0x3308, 0x6c4: 0x3308, 0x6c5: 0x3308, + 0x6c6: 0x0040, 0x6c7: 0x3308, 0x6c8: 0x3308, 0x6c9: 0x3008, 0x6ca: 0x0040, 0x6cb: 0x3008, + 0x6cc: 0x3008, 0x6cd: 0x3b08, 0x6ce: 0x0040, 0x6cf: 0x0040, 0x6d0: 0x0008, 0x6d1: 0x0040, + 0x6d2: 0x0040, 0x6d3: 0x0040, 0x6d4: 0x0040, 0x6d5: 0x0040, 0x6d6: 0x0040, 0x6d7: 0x0040, + 0x6d8: 0x0040, 0x6d9: 0x0040, 0x6da: 0x0040, 0x6db: 0x0040, 0x6dc: 0x0040, 0x6dd: 0x0040, + 0x6de: 0x0040, 0x6df: 0x0040, 0x6e0: 0x0008, 0x6e1: 0x0008, 0x6e2: 0x3308, 0x6e3: 0x3308, + 0x6e4: 0x0040, 0x6e5: 0x0040, 0x6e6: 0x0008, 0x6e7: 0x0008, 0x6e8: 0x0008, 0x6e9: 0x0008, + 0x6ea: 0x0008, 0x6eb: 0x0008, 0x6ec: 0x0008, 0x6ed: 0x0008, 0x6ee: 0x0008, 0x6ef: 0x0008, + 0x6f0: 0x0018, 0x6f1: 0x0018, 0x6f2: 0x0040, 0x6f3: 0x0040, 0x6f4: 0x0040, 0x6f5: 0x0040, + 0x6f6: 0x0040, 0x6f7: 0x0040, 0x6f8: 0x0040, 0x6f9: 0x0008, 0x6fa: 0x0040, 0x6fb: 0x0040, + 0x6fc: 0x0040, 0x6fd: 0x0040, 0x6fe: 0x0040, 0x6ff: 0x0040, + // Block 0x1c, offset 0x700 + 0x700: 0x0040, 0x701: 0x3308, 0x702: 0x3008, 0x703: 0x3008, 0x704: 0x0040, 0x705: 0x0008, + 0x706: 0x0008, 0x707: 0x0008, 0x708: 0x0008, 0x709: 0x0008, 0x70a: 0x0008, 0x70b: 0x0008, + 0x70c: 0x0008, 0x70d: 0x0040, 0x70e: 0x0040, 0x70f: 0x0008, 0x710: 0x0008, 0x711: 0x0040, + 0x712: 0x0040, 0x713: 0x0008, 0x714: 0x0008, 0x715: 0x0008, 0x716: 0x0008, 0x717: 0x0008, + 0x718: 0x0008, 0x719: 0x0008, 0x71a: 0x0008, 0x71b: 0x0008, 0x71c: 0x0008, 0x71d: 0x0008, + 0x71e: 0x0008, 0x71f: 0x0008, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x0008, 0x723: 0x0008, + 0x724: 0x0008, 0x725: 0x0008, 0x726: 0x0008, 0x727: 0x0008, 0x728: 0x0008, 0x729: 0x0040, + 0x72a: 0x0008, 0x72b: 0x0008, 0x72c: 0x0008, 0x72d: 0x0008, 0x72e: 0x0008, 0x72f: 0x0008, + 0x730: 0x0008, 0x731: 0x0040, 0x732: 0x0008, 0x733: 0x0008, 0x734: 0x0040, 0x735: 0x0008, + 0x736: 0x0008, 0x737: 0x0008, 0x738: 0x0008, 0x739: 0x0008, 0x73a: 0x0040, 0x73b: 0x0040, + 0x73c: 0x3308, 0x73d: 0x0008, 0x73e: 0x3008, 0x73f: 0x3308, + // Block 0x1d, offset 0x740 + 0x740: 0x3008, 0x741: 0x3308, 0x742: 0x3308, 0x743: 0x3308, 0x744: 0x3308, 0x745: 0x0040, + 0x746: 0x0040, 0x747: 0x3008, 0x748: 0x3008, 0x749: 0x0040, 0x74a: 0x0040, 0x74b: 0x3008, + 0x74c: 0x3008, 0x74d: 0x3b08, 0x74e: 0x0040, 0x74f: 0x0040, 0x750: 0x0040, 0x751: 0x0040, + 0x752: 0x0040, 0x753: 0x0040, 0x754: 0x0040, 0x755: 0x0040, 0x756: 0x3308, 0x757: 0x3008, + 0x758: 0x0040, 0x759: 0x0040, 0x75a: 0x0040, 0x75b: 0x0040, 0x75c: 0x0881, 0x75d: 0x08b9, + 0x75e: 0x0040, 0x75f: 0x0008, 0x760: 0x0008, 0x761: 0x0008, 0x762: 0x3308, 0x763: 0x3308, + 0x764: 0x0040, 0x765: 0x0040, 0x766: 0x0008, 0x767: 0x0008, 0x768: 0x0008, 0x769: 0x0008, + 0x76a: 0x0008, 0x76b: 0x0008, 0x76c: 0x0008, 0x76d: 0x0008, 0x76e: 0x0008, 0x76f: 0x0008, + 0x770: 0x0018, 0x771: 0x0008, 0x772: 0x0018, 0x773: 0x0018, 0x774: 0x0018, 0x775: 0x0018, + 0x776: 0x0018, 0x777: 0x0018, 0x778: 0x0040, 0x779: 0x0040, 0x77a: 0x0040, 0x77b: 0x0040, + 0x77c: 0x0040, 0x77d: 0x0040, 0x77e: 0x0040, 0x77f: 0x0040, + // Block 0x1e, offset 0x780 + 0x780: 0x0040, 0x781: 0x0040, 0x782: 0x3308, 0x783: 0x0008, 0x784: 0x0040, 0x785: 0x0008, + 0x786: 0x0008, 0x787: 0x0008, 0x788: 0x0008, 0x789: 0x0008, 0x78a: 0x0008, 0x78b: 0x0040, + 0x78c: 0x0040, 0x78d: 0x0040, 0x78e: 0x0008, 0x78f: 0x0008, 0x790: 0x0008, 0x791: 0x0040, + 0x792: 0x0008, 0x793: 0x0008, 0x794: 0x0008, 0x795: 0x0008, 0x796: 0x0040, 0x797: 0x0040, + 0x798: 0x0040, 0x799: 0x0008, 0x79a: 0x0008, 0x79b: 0x0040, 0x79c: 0x0008, 0x79d: 0x0040, + 0x79e: 0x0008, 0x79f: 0x0008, 0x7a0: 0x0040, 0x7a1: 0x0040, 0x7a2: 0x0040, 0x7a3: 0x0008, + 0x7a4: 0x0008, 0x7a5: 0x0040, 0x7a6: 0x0040, 0x7a7: 0x0040, 0x7a8: 0x0008, 0x7a9: 0x0008, + 0x7aa: 0x0008, 0x7ab: 0x0040, 0x7ac: 0x0040, 0x7ad: 0x0040, 0x7ae: 0x0008, 0x7af: 0x0008, + 0x7b0: 0x0008, 0x7b1: 0x0008, 0x7b2: 0x0008, 0x7b3: 0x0008, 0x7b4: 0x0008, 0x7b5: 0x0008, + 0x7b6: 0x0008, 0x7b7: 0x0008, 0x7b8: 0x0008, 0x7b9: 0x0008, 0x7ba: 0x0040, 0x7bb: 0x0040, + 0x7bc: 0x0040, 0x7bd: 0x0040, 0x7be: 0x3008, 0x7bf: 0x3008, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x3308, 0x7c1: 0x3008, 0x7c2: 0x3008, 0x7c3: 0x3008, 0x7c4: 0x3008, 0x7c5: 0x0040, + 0x7c6: 0x3308, 0x7c7: 0x3308, 0x7c8: 0x3308, 0x7c9: 0x0040, 0x7ca: 0x3308, 0x7cb: 0x3308, + 0x7cc: 0x3308, 0x7cd: 0x3b08, 0x7ce: 0x0040, 0x7cf: 0x0040, 0x7d0: 0x0040, 0x7d1: 0x0040, + 0x7d2: 0x0040, 0x7d3: 0x0040, 0x7d4: 0x0040, 0x7d5: 0x3308, 0x7d6: 0x3308, 0x7d7: 0x0040, + 0x7d8: 0x0008, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0040, 0x7dc: 0x0040, 0x7dd: 0x0040, + 0x7de: 0x0040, 0x7df: 0x0040, 0x7e0: 0x0008, 0x7e1: 0x0008, 0x7e2: 0x3308, 0x7e3: 0x3308, + 0x7e4: 0x0040, 0x7e5: 0x0040, 0x7e6: 0x0008, 0x7e7: 0x0008, 0x7e8: 0x0008, 0x7e9: 0x0008, + 0x7ea: 0x0008, 0x7eb: 0x0008, 0x7ec: 0x0008, 0x7ed: 0x0008, 0x7ee: 0x0008, 0x7ef: 0x0008, + 0x7f0: 0x0040, 0x7f1: 0x0040, 0x7f2: 0x0040, 0x7f3: 0x0040, 0x7f4: 0x0040, 0x7f5: 0x0040, + 0x7f6: 0x0040, 0x7f7: 0x0040, 0x7f8: 0x0018, 0x7f9: 0x0018, 0x7fa: 0x0018, 0x7fb: 0x0018, + 0x7fc: 0x0018, 0x7fd: 0x0018, 0x7fe: 0x0018, 0x7ff: 0x0018, + // Block 0x20, offset 0x800 + 0x800: 0x0008, 0x801: 0x3308, 0x802: 0x3008, 0x803: 0x3008, 0x804: 0x0040, 0x805: 0x0008, + 0x806: 0x0008, 0x807: 0x0008, 0x808: 0x0008, 0x809: 0x0008, 0x80a: 0x0008, 0x80b: 0x0008, + 0x80c: 0x0008, 0x80d: 0x0040, 0x80e: 0x0008, 0x80f: 0x0008, 0x810: 0x0008, 0x811: 0x0040, + 0x812: 0x0008, 0x813: 0x0008, 0x814: 0x0008, 0x815: 0x0008, 0x816: 0x0008, 0x817: 0x0008, + 0x818: 0x0008, 0x819: 0x0008, 0x81a: 0x0008, 0x81b: 0x0008, 0x81c: 0x0008, 0x81d: 0x0008, + 0x81e: 0x0008, 0x81f: 0x0008, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x0008, 0x823: 0x0008, + 0x824: 0x0008, 0x825: 0x0008, 0x826: 0x0008, 0x827: 0x0008, 0x828: 0x0008, 0x829: 0x0040, + 0x82a: 0x0008, 0x82b: 0x0008, 0x82c: 0x0008, 0x82d: 0x0008, 0x82e: 0x0008, 0x82f: 0x0008, + 0x830: 0x0008, 0x831: 0x0008, 0x832: 0x0008, 0x833: 0x0008, 0x834: 0x0040, 0x835: 0x0008, + 0x836: 0x0008, 0x837: 0x0008, 0x838: 0x0008, 0x839: 0x0008, 0x83a: 0x0040, 0x83b: 0x0040, + 0x83c: 0x3308, 0x83d: 0x0008, 0x83e: 0x3008, 0x83f: 0x3308, + // Block 0x21, offset 0x840 + 0x840: 0x3008, 0x841: 0x3008, 0x842: 0x3008, 0x843: 0x3008, 0x844: 0x3008, 0x845: 0x0040, + 0x846: 0x3308, 0x847: 0x3008, 0x848: 0x3008, 0x849: 0x0040, 0x84a: 0x3008, 0x84b: 0x3008, + 0x84c: 0x3308, 0x84d: 0x3b08, 0x84e: 0x0040, 0x84f: 0x0040, 0x850: 0x0040, 0x851: 0x0040, + 0x852: 0x0040, 0x853: 0x0040, 0x854: 0x0040, 0x855: 0x3008, 0x856: 0x3008, 0x857: 0x0040, + 0x858: 0x0040, 0x859: 0x0040, 0x85a: 0x0040, 0x85b: 0x0040, 0x85c: 0x0040, 0x85d: 0x0040, + 0x85e: 0x0008, 0x85f: 0x0040, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x3308, 0x863: 0x3308, + 0x864: 0x0040, 0x865: 0x0040, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0008, + 0x86a: 0x0008, 0x86b: 0x0008, 0x86c: 0x0008, 0x86d: 0x0008, 0x86e: 0x0008, 0x86f: 0x0008, + 0x870: 0x0040, 0x871: 0x0008, 0x872: 0x0008, 0x873: 0x0040, 0x874: 0x0040, 0x875: 0x0040, + 0x876: 0x0040, 0x877: 0x0040, 0x878: 0x0040, 0x879: 0x0040, 0x87a: 0x0040, 0x87b: 0x0040, + 0x87c: 0x0040, 0x87d: 0x0040, 0x87e: 0x0040, 0x87f: 0x0040, + // Block 0x22, offset 0x880 + 0x880: 0x3008, 0x881: 0x3308, 0x882: 0x3308, 0x883: 0x3308, 0x884: 0x3308, 0x885: 0x0040, + 0x886: 0x3008, 0x887: 0x3008, 0x888: 0x3008, 0x889: 0x0040, 0x88a: 0x3008, 0x88b: 0x3008, + 0x88c: 0x3008, 0x88d: 0x3b08, 0x88e: 0x0008, 0x88f: 0x0018, 0x890: 0x0040, 0x891: 0x0040, + 0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0008, 0x895: 0x0008, 0x896: 0x0008, 0x897: 0x3008, + 0x898: 0x0018, 0x899: 0x0018, 0x89a: 0x0018, 0x89b: 0x0018, 0x89c: 0x0018, 0x89d: 0x0018, + 0x89e: 0x0018, 0x89f: 0x0008, 0x8a0: 0x0008, 0x8a1: 0x0008, 0x8a2: 0x3308, 0x8a3: 0x3308, + 0x8a4: 0x0040, 0x8a5: 0x0040, 0x8a6: 0x0008, 0x8a7: 0x0008, 0x8a8: 0x0008, 0x8a9: 0x0008, + 0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0008, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008, + 0x8b0: 0x0018, 0x8b1: 0x0018, 0x8b2: 0x0018, 0x8b3: 0x0018, 0x8b4: 0x0018, 0x8b5: 0x0018, + 0x8b6: 0x0018, 0x8b7: 0x0018, 0x8b8: 0x0018, 0x8b9: 0x0018, 0x8ba: 0x0008, 0x8bb: 0x0008, + 0x8bc: 0x0008, 0x8bd: 0x0008, 0x8be: 0x0008, 0x8bf: 0x0008, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x0040, 0x8c1: 0x0008, 0x8c2: 0x0008, 0x8c3: 0x0040, 0x8c4: 0x0008, 0x8c5: 0x0040, + 0x8c6: 0x0040, 0x8c7: 0x0008, 0x8c8: 0x0008, 0x8c9: 0x0040, 0x8ca: 0x0008, 0x8cb: 0x0040, + 0x8cc: 0x0040, 0x8cd: 0x0008, 0x8ce: 0x0040, 0x8cf: 0x0040, 0x8d0: 0x0040, 0x8d1: 0x0040, + 0x8d2: 0x0040, 0x8d3: 0x0040, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x0008, + 0x8d8: 0x0040, 0x8d9: 0x0008, 0x8da: 0x0008, 0x8db: 0x0008, 0x8dc: 0x0008, 0x8dd: 0x0008, + 0x8de: 0x0008, 0x8df: 0x0008, 0x8e0: 0x0040, 0x8e1: 0x0008, 0x8e2: 0x0008, 0x8e3: 0x0008, + 0x8e4: 0x0040, 0x8e5: 0x0008, 0x8e6: 0x0040, 0x8e7: 0x0008, 0x8e8: 0x0040, 0x8e9: 0x0040, + 0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0040, 0x8ed: 0x0008, 0x8ee: 0x0008, 0x8ef: 0x0008, + 0x8f0: 0x0008, 0x8f1: 0x3308, 0x8f2: 0x0008, 0x8f3: 0x0929, 0x8f4: 0x3308, 0x8f5: 0x3308, + 0x8f6: 0x3308, 0x8f7: 0x3308, 0x8f8: 0x3308, 0x8f9: 0x3308, 0x8fa: 0x0040, 0x8fb: 0x3308, + 0x8fc: 0x3308, 0x8fd: 0x0008, 0x8fe: 0x0040, 0x8ff: 0x0040, + // Block 0x24, offset 0x900 + 0x900: 0x0008, 0x901: 0x0008, 0x902: 0x0008, 0x903: 0x09d1, 0x904: 0x0008, 0x905: 0x0008, + 0x906: 0x0008, 0x907: 0x0008, 0x908: 0x0040, 0x909: 0x0008, 0x90a: 0x0008, 0x90b: 0x0008, + 0x90c: 0x0008, 0x90d: 0x0a09, 0x90e: 0x0008, 0x90f: 0x0008, 0x910: 0x0008, 0x911: 0x0008, + 0x912: 0x0a41, 0x913: 0x0008, 0x914: 0x0008, 0x915: 0x0008, 0x916: 0x0008, 0x917: 0x0a79, + 0x918: 0x0008, 0x919: 0x0008, 0x91a: 0x0008, 0x91b: 0x0008, 0x91c: 0x0ab1, 0x91d: 0x0008, + 0x91e: 0x0008, 0x91f: 0x0008, 0x920: 0x0008, 0x921: 0x0008, 0x922: 0x0008, 0x923: 0x0008, + 0x924: 0x0008, 0x925: 0x0008, 0x926: 0x0008, 0x927: 0x0008, 0x928: 0x0008, 0x929: 0x0ae9, + 0x92a: 0x0008, 0x92b: 0x0008, 0x92c: 0x0008, 0x92d: 0x0040, 0x92e: 0x0040, 0x92f: 0x0040, + 0x930: 0x0040, 0x931: 0x3308, 0x932: 0x3308, 0x933: 0x0b21, 0x934: 0x3308, 0x935: 0x0b59, + 0x936: 0x0b91, 0x937: 0x0bc9, 0x938: 0x0c19, 0x939: 0x0c51, 0x93a: 0x3308, 0x93b: 0x3308, + 0x93c: 0x3308, 0x93d: 0x3308, 0x93e: 0x3308, 0x93f: 0x3008, + // Block 0x25, offset 0x940 + 0x940: 0x3308, 0x941: 0x0ca1, 0x942: 0x3308, 0x943: 0x3308, 0x944: 0x3b08, 0x945: 0x0018, + 0x946: 0x3308, 0x947: 0x3308, 0x948: 0x0008, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008, + 0x94c: 0x0008, 0x94d: 0x3308, 0x94e: 0x3308, 0x94f: 0x3308, 0x950: 0x3308, 0x951: 0x3308, + 0x952: 0x3308, 0x953: 0x0cd9, 0x954: 0x3308, 0x955: 0x3308, 0x956: 0x3308, 0x957: 0x3308, + 0x958: 0x0040, 0x959: 0x3308, 0x95a: 0x3308, 0x95b: 0x3308, 0x95c: 0x3308, 0x95d: 0x0d11, + 0x95e: 0x3308, 0x95f: 0x3308, 0x960: 0x3308, 0x961: 0x3308, 0x962: 0x0d49, 0x963: 0x3308, + 0x964: 0x3308, 0x965: 0x3308, 0x966: 0x3308, 0x967: 0x0d81, 0x968: 0x3308, 0x969: 0x3308, + 0x96a: 0x3308, 0x96b: 0x3308, 0x96c: 0x0db9, 0x96d: 0x3308, 0x96e: 0x3308, 0x96f: 0x3308, + 0x970: 0x3308, 0x971: 0x3308, 0x972: 0x3308, 0x973: 0x3308, 0x974: 0x3308, 0x975: 0x3308, + 0x976: 0x3308, 0x977: 0x3308, 0x978: 0x3308, 0x979: 0x0df1, 0x97a: 0x3308, 0x97b: 0x3308, + 0x97c: 0x3308, 0x97d: 0x0040, 0x97e: 0x0018, 0x97f: 0x0018, + // Block 0x26, offset 0x980 + 0x980: 0x0008, 0x981: 0x0008, 0x982: 0x0008, 0x983: 0x0008, 0x984: 0x0008, 0x985: 0x0008, + 0x986: 0x0008, 0x987: 0x0008, 0x988: 0x0008, 0x989: 0x0008, 0x98a: 0x0008, 0x98b: 0x0008, + 0x98c: 0x0008, 0x98d: 0x0008, 0x98e: 0x0008, 0x98f: 0x0008, 0x990: 0x0008, 0x991: 0x0008, + 0x992: 0x0008, 0x993: 0x0008, 0x994: 0x0008, 0x995: 0x0008, 0x996: 0x0008, 0x997: 0x0008, + 0x998: 0x0008, 0x999: 0x0008, 0x99a: 0x0008, 0x99b: 0x0008, 0x99c: 0x0008, 0x99d: 0x0008, + 0x99e: 0x0008, 0x99f: 0x0008, 0x9a0: 0x0008, 0x9a1: 0x0008, 0x9a2: 0x0008, 0x9a3: 0x0008, + 0x9a4: 0x0008, 0x9a5: 0x0008, 0x9a6: 0x0008, 0x9a7: 0x0008, 0x9a8: 0x0008, 0x9a9: 0x0008, + 0x9aa: 0x0008, 0x9ab: 0x0008, 0x9ac: 0x0039, 0x9ad: 0x0ed1, 0x9ae: 0x0ee9, 0x9af: 0x0008, + 0x9b0: 0x0ef9, 0x9b1: 0x0f09, 0x9b2: 0x0f19, 0x9b3: 0x0f31, 0x9b4: 0x0249, 0x9b5: 0x0f41, + 0x9b6: 0x0259, 0x9b7: 0x0f51, 0x9b8: 0x0359, 0x9b9: 0x0f61, 0x9ba: 0x0f71, 0x9bb: 0x0008, + 0x9bc: 0x00d9, 0x9bd: 0x0f81, 0x9be: 0x0f99, 0x9bf: 0x0269, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x0fa9, 0x9c1: 0x0fb9, 0x9c2: 0x0279, 0x9c3: 0x0039, 0x9c4: 0x0fc9, 0x9c5: 0x0fe1, + 0x9c6: 0x059d, 0x9c7: 0x0ee9, 0x9c8: 0x0ef9, 0x9c9: 0x0f09, 0x9ca: 0x0ff9, 0x9cb: 0x1011, + 0x9cc: 0x1029, 0x9cd: 0x0f31, 0x9ce: 0x0008, 0x9cf: 0x0f51, 0x9d0: 0x0f61, 0x9d1: 0x1041, + 0x9d2: 0x00d9, 0x9d3: 0x1059, 0x9d4: 0x05b5, 0x9d5: 0x05b5, 0x9d6: 0x0f99, 0x9d7: 0x0fa9, + 0x9d8: 0x0fb9, 0x9d9: 0x059d, 0x9da: 0x1071, 0x9db: 0x1089, 0x9dc: 0x05cd, 0x9dd: 0x1099, + 0x9de: 0x10b1, 0x9df: 0x10c9, 0x9e0: 0x10e1, 0x9e1: 0x10f9, 0x9e2: 0x0f41, 0x9e3: 0x0269, + 0x9e4: 0x0fb9, 0x9e5: 0x1089, 0x9e6: 0x1099, 0x9e7: 0x10b1, 0x9e8: 0x1111, 0x9e9: 0x10e1, + 0x9ea: 0x10f9, 0x9eb: 0x0008, 0x9ec: 0x0008, 0x9ed: 0x0008, 0x9ee: 0x0008, 0x9ef: 0x0008, + 0x9f0: 0x0008, 0x9f1: 0x0008, 0x9f2: 0x0008, 0x9f3: 0x0008, 0x9f4: 0x0008, 0x9f5: 0x0008, + 0x9f6: 0x0008, 0x9f7: 0x0008, 0x9f8: 0x1129, 0x9f9: 0x0008, 0x9fa: 0x0008, 0x9fb: 0x0008, + 0x9fc: 0x0008, 0x9fd: 0x0008, 0x9fe: 0x0008, 0x9ff: 0x0008, + // Block 0x28, offset 0xa00 + 0xa00: 0x0008, 0xa01: 0x0008, 0xa02: 0x0008, 0xa03: 0x0008, 0xa04: 0x0008, 0xa05: 0x0008, + 0xa06: 0x0008, 0xa07: 0x0008, 0xa08: 0x0008, 0xa09: 0x0008, 0xa0a: 0x0008, 0xa0b: 0x0008, + 0xa0c: 0x0008, 0xa0d: 0x0008, 0xa0e: 0x0008, 0xa0f: 0x0008, 0xa10: 0x0008, 0xa11: 0x0008, + 0xa12: 0x0008, 0xa13: 0x0008, 0xa14: 0x0008, 0xa15: 0x0008, 0xa16: 0x0008, 0xa17: 0x0008, + 0xa18: 0x0008, 0xa19: 0x0008, 0xa1a: 0x0008, 0xa1b: 0x1141, 0xa1c: 0x1159, 0xa1d: 0x1169, + 0xa1e: 0x1181, 0xa1f: 0x1029, 0xa20: 0x1199, 0xa21: 0x11a9, 0xa22: 0x11c1, 0xa23: 0x11d9, + 0xa24: 0x11f1, 0xa25: 0x1209, 0xa26: 0x1221, 0xa27: 0x05e5, 0xa28: 0x1239, 0xa29: 0x1251, + 0xa2a: 0xe17d, 0xa2b: 0x1269, 0xa2c: 0x1281, 0xa2d: 0x1299, 0xa2e: 0x12b1, 0xa2f: 0x12c9, + 0xa30: 0x12e1, 0xa31: 0x12f9, 0xa32: 0x1311, 0xa33: 0x1329, 0xa34: 0x1341, 0xa35: 0x1359, + 0xa36: 0x1371, 0xa37: 0x1389, 0xa38: 0x05fd, 0xa39: 0x13a1, 0xa3a: 0x13b9, 0xa3b: 0x13d1, + 0xa3c: 0x13e1, 0xa3d: 0x13f9, 0xa3e: 0x1411, 0xa3f: 0x1429, + // Block 0x29, offset 0xa40 + 0xa40: 0xe00d, 0xa41: 0x0008, 0xa42: 0xe00d, 0xa43: 0x0008, 0xa44: 0xe00d, 0xa45: 0x0008, + 0xa46: 0xe00d, 0xa47: 0x0008, 0xa48: 0xe00d, 0xa49: 0x0008, 0xa4a: 0xe00d, 0xa4b: 0x0008, + 0xa4c: 0xe00d, 0xa4d: 0x0008, 0xa4e: 0xe00d, 0xa4f: 0x0008, 0xa50: 0xe00d, 0xa51: 0x0008, + 0xa52: 0xe00d, 0xa53: 0x0008, 0xa54: 0xe00d, 0xa55: 0x0008, 0xa56: 0xe00d, 0xa57: 0x0008, + 0xa58: 0xe00d, 0xa59: 0x0008, 0xa5a: 0xe00d, 0xa5b: 0x0008, 0xa5c: 0xe00d, 0xa5d: 0x0008, + 0xa5e: 0xe00d, 0xa5f: 0x0008, 0xa60: 0xe00d, 0xa61: 0x0008, 0xa62: 0xe00d, 0xa63: 0x0008, + 0xa64: 0xe00d, 0xa65: 0x0008, 0xa66: 0xe00d, 0xa67: 0x0008, 0xa68: 0xe00d, 0xa69: 0x0008, + 0xa6a: 0xe00d, 0xa6b: 0x0008, 0xa6c: 0xe00d, 0xa6d: 0x0008, 0xa6e: 0xe00d, 0xa6f: 0x0008, + 0xa70: 0xe00d, 0xa71: 0x0008, 0xa72: 0xe00d, 0xa73: 0x0008, 0xa74: 0xe00d, 0xa75: 0x0008, + 0xa76: 0xe00d, 0xa77: 0x0008, 0xa78: 0xe00d, 0xa79: 0x0008, 0xa7a: 0xe00d, 0xa7b: 0x0008, + 0xa7c: 0xe00d, 0xa7d: 0x0008, 0xa7e: 0xe00d, 0xa7f: 0x0008, + // Block 0x2a, offset 0xa80 + 0xa80: 0xe00d, 0xa81: 0x0008, 0xa82: 0xe00d, 0xa83: 0x0008, 0xa84: 0xe00d, 0xa85: 0x0008, + 0xa86: 0xe00d, 0xa87: 0x0008, 0xa88: 0xe00d, 0xa89: 0x0008, 0xa8a: 0xe00d, 0xa8b: 0x0008, + 0xa8c: 0xe00d, 0xa8d: 0x0008, 0xa8e: 0xe00d, 0xa8f: 0x0008, 0xa90: 0xe00d, 0xa91: 0x0008, + 0xa92: 0xe00d, 0xa93: 0x0008, 0xa94: 0xe00d, 0xa95: 0x0008, 0xa96: 0x0008, 0xa97: 0x0008, + 0xa98: 0x0008, 0xa99: 0x0008, 0xa9a: 0x0615, 0xa9b: 0x0635, 0xa9c: 0x0008, 0xa9d: 0x0008, + 0xa9e: 0x1441, 0xa9f: 0x0008, 0xaa0: 0xe00d, 0xaa1: 0x0008, 0xaa2: 0xe00d, 0xaa3: 0x0008, + 0xaa4: 0xe00d, 0xaa5: 0x0008, 0xaa6: 0xe00d, 0xaa7: 0x0008, 0xaa8: 0xe00d, 0xaa9: 0x0008, + 0xaaa: 0xe00d, 0xaab: 0x0008, 0xaac: 0xe00d, 0xaad: 0x0008, 0xaae: 0xe00d, 0xaaf: 0x0008, + 0xab0: 0xe00d, 0xab1: 0x0008, 0xab2: 0xe00d, 0xab3: 0x0008, 0xab4: 0xe00d, 0xab5: 0x0008, + 0xab6: 0xe00d, 0xab7: 0x0008, 0xab8: 0xe00d, 0xab9: 0x0008, 0xaba: 0xe00d, 0xabb: 0x0008, + 0xabc: 0xe00d, 0xabd: 0x0008, 0xabe: 0xe00d, 0xabf: 0x0008, + // Block 0x2b, offset 0xac0 + 0xac0: 0x0008, 0xac1: 0x0008, 0xac2: 0x0008, 0xac3: 0x0008, 0xac4: 0x0008, 0xac5: 0x0008, + 0xac6: 0x0040, 0xac7: 0x0040, 0xac8: 0xe045, 0xac9: 0xe045, 0xaca: 0xe045, 0xacb: 0xe045, + 0xacc: 0xe045, 0xacd: 0xe045, 0xace: 0x0040, 0xacf: 0x0040, 0xad0: 0x0008, 0xad1: 0x0008, + 0xad2: 0x0008, 0xad3: 0x0008, 0xad4: 0x0008, 0xad5: 0x0008, 0xad6: 0x0008, 0xad7: 0x0008, + 0xad8: 0x0040, 0xad9: 0xe045, 0xada: 0x0040, 0xadb: 0xe045, 0xadc: 0x0040, 0xadd: 0xe045, + 0xade: 0x0040, 0xadf: 0xe045, 0xae0: 0x0008, 0xae1: 0x0008, 0xae2: 0x0008, 0xae3: 0x0008, + 0xae4: 0x0008, 0xae5: 0x0008, 0xae6: 0x0008, 0xae7: 0x0008, 0xae8: 0xe045, 0xae9: 0xe045, + 0xaea: 0xe045, 0xaeb: 0xe045, 0xaec: 0xe045, 0xaed: 0xe045, 0xaee: 0xe045, 0xaef: 0xe045, + 0xaf0: 0x0008, 0xaf1: 0x1459, 0xaf2: 0x0008, 0xaf3: 0x1471, 0xaf4: 0x0008, 0xaf5: 0x1489, + 0xaf6: 0x0008, 0xaf7: 0x14a1, 0xaf8: 0x0008, 0xaf9: 0x14b9, 0xafa: 0x0008, 0xafb: 0x14d1, + 0xafc: 0x0008, 0xafd: 0x14e9, 0xafe: 0x0040, 0xaff: 0x0040, + // Block 0x2c, offset 0xb00 + 0xb00: 0x1501, 0xb01: 0x1531, 0xb02: 0x1561, 0xb03: 0x1591, 0xb04: 0x15c1, 0xb05: 0x15f1, + 0xb06: 0x1621, 0xb07: 0x1651, 0xb08: 0x1501, 0xb09: 0x1531, 0xb0a: 0x1561, 0xb0b: 0x1591, + 0xb0c: 0x15c1, 0xb0d: 0x15f1, 0xb0e: 0x1621, 0xb0f: 0x1651, 0xb10: 0x1681, 0xb11: 0x16b1, + 0xb12: 0x16e1, 0xb13: 0x1711, 0xb14: 0x1741, 0xb15: 0x1771, 0xb16: 0x17a1, 0xb17: 0x17d1, + 0xb18: 0x1681, 0xb19: 0x16b1, 0xb1a: 0x16e1, 0xb1b: 0x1711, 0xb1c: 0x1741, 0xb1d: 0x1771, + 0xb1e: 0x17a1, 0xb1f: 0x17d1, 0xb20: 0x1801, 0xb21: 0x1831, 0xb22: 0x1861, 0xb23: 0x1891, + 0xb24: 0x18c1, 0xb25: 0x18f1, 0xb26: 0x1921, 0xb27: 0x1951, 0xb28: 0x1801, 0xb29: 0x1831, + 0xb2a: 0x1861, 0xb2b: 0x1891, 0xb2c: 0x18c1, 0xb2d: 0x18f1, 0xb2e: 0x1921, 0xb2f: 0x1951, + 0xb30: 0x0008, 0xb31: 0x0008, 0xb32: 0x1981, 0xb33: 0x19b1, 0xb34: 0x19d9, 0xb35: 0x0040, + 0xb36: 0x0008, 0xb37: 0x1a01, 0xb38: 0xe045, 0xb39: 0xe045, 0xb3a: 0x064d, 0xb3b: 0x1459, + 0xb3c: 0x19b1, 0xb3d: 0x0666, 0xb3e: 0x1a31, 0xb3f: 0x0686, + // Block 0x2d, offset 0xb40 + 0xb40: 0x06a6, 0xb41: 0x1a4a, 0xb42: 0x1a79, 0xb43: 0x1aa9, 0xb44: 0x1ad1, 0xb45: 0x0040, + 0xb46: 0x0008, 0xb47: 0x1af9, 0xb48: 0x06c5, 0xb49: 0x1471, 0xb4a: 0x06dd, 0xb4b: 0x1489, + 0xb4c: 0x1aa9, 0xb4d: 0x1b2a, 0xb4e: 0x1b5a, 0xb4f: 0x1b8a, 0xb50: 0x0008, 0xb51: 0x0008, + 0xb52: 0x0008, 0xb53: 0x1bb9, 0xb54: 0x0040, 0xb55: 0x0040, 0xb56: 0x0008, 0xb57: 0x0008, + 0xb58: 0xe045, 0xb59: 0xe045, 0xb5a: 0x06f5, 0xb5b: 0x14a1, 0xb5c: 0x0040, 0xb5d: 0x1bd2, + 0xb5e: 0x1c02, 0xb5f: 0x1c32, 0xb60: 0x0008, 0xb61: 0x0008, 0xb62: 0x0008, 0xb63: 0x1c61, + 0xb64: 0x0008, 0xb65: 0x0008, 0xb66: 0x0008, 0xb67: 0x0008, 0xb68: 0xe045, 0xb69: 0xe045, + 0xb6a: 0x070d, 0xb6b: 0x14d1, 0xb6c: 0xe04d, 0xb6d: 0x1c7a, 0xb6e: 0x03d2, 0xb6f: 0x1caa, + 0xb70: 0x0040, 0xb71: 0x0040, 0xb72: 0x1cb9, 0xb73: 0x1ce9, 0xb74: 0x1d11, 0xb75: 0x0040, + 0xb76: 0x0008, 0xb77: 0x1d39, 0xb78: 0x0725, 0xb79: 0x14b9, 0xb7a: 0x0515, 0xb7b: 0x14e9, + 0xb7c: 0x1ce9, 0xb7d: 0x073e, 0xb7e: 0x075e, 0xb7f: 0x0040, + // Block 0x2e, offset 0xb80 + 0xb80: 0x000a, 0xb81: 0x000a, 0xb82: 0x000a, 0xb83: 0x000a, 0xb84: 0x000a, 0xb85: 0x000a, + 0xb86: 0x000a, 0xb87: 0x000a, 0xb88: 0x000a, 0xb89: 0x000a, 0xb8a: 0x000a, 0xb8b: 0x03c0, + 0xb8c: 0x0003, 0xb8d: 0x0003, 0xb8e: 0x0340, 0xb8f: 0x0b40, 0xb90: 0x0018, 0xb91: 0xe00d, + 0xb92: 0x0018, 0xb93: 0x0018, 0xb94: 0x0018, 0xb95: 0x0018, 0xb96: 0x0018, 0xb97: 0x077e, + 0xb98: 0x0018, 0xb99: 0x0018, 0xb9a: 0x0018, 0xb9b: 0x0018, 0xb9c: 0x0018, 0xb9d: 0x0018, + 0xb9e: 0x0018, 0xb9f: 0x0018, 0xba0: 0x0018, 0xba1: 0x0018, 0xba2: 0x0018, 0xba3: 0x0018, + 0xba4: 0x0040, 0xba5: 0x0040, 0xba6: 0x0040, 0xba7: 0x0018, 0xba8: 0x0040, 0xba9: 0x0040, + 0xbaa: 0x0340, 0xbab: 0x0340, 0xbac: 0x0340, 0xbad: 0x0340, 0xbae: 0x0340, 0xbaf: 0x000a, + 0xbb0: 0x0018, 0xbb1: 0x0018, 0xbb2: 0x0018, 0xbb3: 0x1d69, 0xbb4: 0x1da1, 0xbb5: 0x0018, + 0xbb6: 0x1df1, 0xbb7: 0x1e29, 0xbb8: 0x0018, 0xbb9: 0x0018, 0xbba: 0x0018, 0xbbb: 0x0018, + 0xbbc: 0x1e7a, 0xbbd: 0x0018, 0xbbe: 0x079e, 0xbbf: 0x0018, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x0018, 0xbc1: 0x0018, 0xbc2: 0x0018, 0xbc3: 0x0018, 0xbc4: 0x0018, 0xbc5: 0x0018, + 0xbc6: 0x0018, 0xbc7: 0x1e92, 0xbc8: 0x1eaa, 0xbc9: 0x1ec2, 0xbca: 0x0018, 0xbcb: 0x0018, + 0xbcc: 0x0018, 0xbcd: 0x0018, 0xbce: 0x0018, 0xbcf: 0x0018, 0xbd0: 0x0018, 0xbd1: 0x0018, + 0xbd2: 0x0018, 0xbd3: 0x0018, 0xbd4: 0x0018, 0xbd5: 0x0018, 0xbd6: 0x0018, 0xbd7: 0x1ed9, + 0xbd8: 0x0018, 0xbd9: 0x0018, 0xbda: 0x0018, 0xbdb: 0x0018, 0xbdc: 0x0018, 0xbdd: 0x0018, + 0xbde: 0x0018, 0xbdf: 0x000a, 0xbe0: 0x03c0, 0xbe1: 0x0340, 0xbe2: 0x0340, 0xbe3: 0x0340, + 0xbe4: 0x03c0, 0xbe5: 0x0040, 0xbe6: 0x0040, 0xbe7: 0x0040, 0xbe8: 0x0040, 0xbe9: 0x0040, + 0xbea: 0x0340, 0xbeb: 0x0340, 0xbec: 0x0340, 0xbed: 0x0340, 0xbee: 0x0340, 0xbef: 0x0340, + 0xbf0: 0x1f41, 0xbf1: 0x0f41, 0xbf2: 0x0040, 0xbf3: 0x0040, 0xbf4: 0x1f51, 0xbf5: 0x1f61, + 0xbf6: 0x1f71, 0xbf7: 0x1f81, 0xbf8: 0x1f91, 0xbf9: 0x1fa1, 0xbfa: 0x1fb2, 0xbfb: 0x07bd, + 0xbfc: 0x1fc2, 0xbfd: 0x1fd2, 0xbfe: 0x1fe2, 0xbff: 0x0f71, + // Block 0x30, offset 0xc00 + 0xc00: 0x1f41, 0xc01: 0x00c9, 0xc02: 0x0069, 0xc03: 0x0079, 0xc04: 0x1f51, 0xc05: 0x1f61, + 0xc06: 0x1f71, 0xc07: 0x1f81, 0xc08: 0x1f91, 0xc09: 0x1fa1, 0xc0a: 0x1fb2, 0xc0b: 0x07d5, + 0xc0c: 0x1fc2, 0xc0d: 0x1fd2, 0xc0e: 0x1fe2, 0xc0f: 0x0040, 0xc10: 0x0039, 0xc11: 0x0f09, + 0xc12: 0x00d9, 0xc13: 0x0369, 0xc14: 0x0ff9, 0xc15: 0x0249, 0xc16: 0x0f51, 0xc17: 0x0359, + 0xc18: 0x0f61, 0xc19: 0x0f71, 0xc1a: 0x0f99, 0xc1b: 0x01d9, 0xc1c: 0x0fa9, 0xc1d: 0x0040, + 0xc1e: 0x0040, 0xc1f: 0x0040, 0xc20: 0x0018, 0xc21: 0x0018, 0xc22: 0x0018, 0xc23: 0x0018, + 0xc24: 0x0018, 0xc25: 0x0018, 0xc26: 0x0018, 0xc27: 0x0018, 0xc28: 0x1ff1, 0xc29: 0x0018, + 0xc2a: 0x0018, 0xc2b: 0x0018, 0xc2c: 0x0018, 0xc2d: 0x0018, 0xc2e: 0x0018, 0xc2f: 0x0018, + 0xc30: 0x0018, 0xc31: 0x0018, 0xc32: 0x0018, 0xc33: 0x0018, 0xc34: 0x0018, 0xc35: 0x0018, + 0xc36: 0x0018, 0xc37: 0x0018, 0xc38: 0x0018, 0xc39: 0x0018, 0xc3a: 0x0018, 0xc3b: 0x0018, + 0xc3c: 0x0018, 0xc3d: 0x0018, 0xc3e: 0x0018, 0xc3f: 0x0040, + // Block 0x31, offset 0xc40 + 0xc40: 0x07ee, 0xc41: 0x080e, 0xc42: 0x1159, 0xc43: 0x082d, 0xc44: 0x0018, 0xc45: 0x084e, + 0xc46: 0x086e, 0xc47: 0x1011, 0xc48: 0x0018, 0xc49: 0x088d, 0xc4a: 0x0f31, 0xc4b: 0x0249, + 0xc4c: 0x0249, 0xc4d: 0x0249, 0xc4e: 0x0249, 0xc4f: 0x2009, 0xc50: 0x0f41, 0xc51: 0x0f41, + 0xc52: 0x0359, 0xc53: 0x0359, 0xc54: 0x0018, 0xc55: 0x0f71, 0xc56: 0x2021, 0xc57: 0x0018, + 0xc58: 0x0018, 0xc59: 0x0f99, 0xc5a: 0x2039, 0xc5b: 0x0269, 0xc5c: 0x0269, 0xc5d: 0x0269, + 0xc5e: 0x0018, 0xc5f: 0x0018, 0xc60: 0x2049, 0xc61: 0x08ad, 0xc62: 0x2061, 0xc63: 0x0018, + 0xc64: 0x13d1, 0xc65: 0x0018, 0xc66: 0x2079, 0xc67: 0x0018, 0xc68: 0x13d1, 0xc69: 0x0018, + 0xc6a: 0x0f51, 0xc6b: 0x2091, 0xc6c: 0x0ee9, 0xc6d: 0x1159, 0xc6e: 0x0018, 0xc6f: 0x0f09, + 0xc70: 0x0f09, 0xc71: 0x1199, 0xc72: 0x0040, 0xc73: 0x0f61, 0xc74: 0x00d9, 0xc75: 0x20a9, + 0xc76: 0x20c1, 0xc77: 0x20d9, 0xc78: 0x20f1, 0xc79: 0x0f41, 0xc7a: 0x0018, 0xc7b: 0x08cd, + 0xc7c: 0x2109, 0xc7d: 0x10b1, 0xc7e: 0x10b1, 0xc7f: 0x2109, + // Block 0x32, offset 0xc80 + 0xc80: 0x08ed, 0xc81: 0x0018, 0xc82: 0x0018, 0xc83: 0x0018, 0xc84: 0x0018, 0xc85: 0x0ef9, + 0xc86: 0x0ef9, 0xc87: 0x0f09, 0xc88: 0x0f41, 0xc89: 0x0259, 0xc8a: 0x0018, 0xc8b: 0x0018, + 0xc8c: 0x0018, 0xc8d: 0x0018, 0xc8e: 0x0008, 0xc8f: 0x0018, 0xc90: 0x2121, 0xc91: 0x2151, + 0xc92: 0x2181, 0xc93: 0x21b9, 0xc94: 0x21e9, 0xc95: 0x2219, 0xc96: 0x2249, 0xc97: 0x2279, + 0xc98: 0x22a9, 0xc99: 0x22d9, 0xc9a: 0x2309, 0xc9b: 0x2339, 0xc9c: 0x2369, 0xc9d: 0x2399, + 0xc9e: 0x23c9, 0xc9f: 0x23f9, 0xca0: 0x0f41, 0xca1: 0x2421, 0xca2: 0x0905, 0xca3: 0x2439, + 0xca4: 0x1089, 0xca5: 0x2451, 0xca6: 0x0925, 0xca7: 0x2469, 0xca8: 0x2491, 0xca9: 0x0369, + 0xcaa: 0x24a9, 0xcab: 0x0945, 0xcac: 0x0359, 0xcad: 0x1159, 0xcae: 0x0ef9, 0xcaf: 0x0f61, + 0xcb0: 0x0f41, 0xcb1: 0x2421, 0xcb2: 0x0965, 0xcb3: 0x2439, 0xcb4: 0x1089, 0xcb5: 0x2451, + 0xcb6: 0x0985, 0xcb7: 0x2469, 0xcb8: 0x2491, 0xcb9: 0x0369, 0xcba: 0x24a9, 0xcbb: 0x09a5, + 0xcbc: 0x0359, 0xcbd: 0x1159, 0xcbe: 0x0ef9, 0xcbf: 0x0f61, + // Block 0x33, offset 0xcc0 + 0xcc0: 0x0018, 0xcc1: 0x0018, 0xcc2: 0x0018, 0xcc3: 0x0018, 0xcc4: 0x0018, 0xcc5: 0x0018, + 0xcc6: 0x0018, 0xcc7: 0x0018, 0xcc8: 0x0018, 0xcc9: 0x0018, 0xcca: 0x0018, 0xccb: 0x0040, + 0xccc: 0x0040, 0xccd: 0x0040, 0xcce: 0x0040, 0xccf: 0x0040, 0xcd0: 0x0040, 0xcd1: 0x0040, + 0xcd2: 0x0040, 0xcd3: 0x0040, 0xcd4: 0x0040, 0xcd5: 0x0040, 0xcd6: 0x0040, 0xcd7: 0x0040, + 0xcd8: 0x0040, 0xcd9: 0x0040, 0xcda: 0x0040, 0xcdb: 0x0040, 0xcdc: 0x0040, 0xcdd: 0x0040, + 0xcde: 0x0040, 0xcdf: 0x0040, 0xce0: 0x00c9, 0xce1: 0x0069, 0xce2: 0x0079, 0xce3: 0x1f51, + 0xce4: 0x1f61, 0xce5: 0x1f71, 0xce6: 0x1f81, 0xce7: 0x1f91, 0xce8: 0x1fa1, 0xce9: 0x2601, + 0xcea: 0x2619, 0xceb: 0x2631, 0xcec: 0x2649, 0xced: 0x2661, 0xcee: 0x2679, 0xcef: 0x2691, + 0xcf0: 0x26a9, 0xcf1: 0x26c1, 0xcf2: 0x26d9, 0xcf3: 0x26f1, 0xcf4: 0x0a06, 0xcf5: 0x0a26, + 0xcf6: 0x0a46, 0xcf7: 0x0a66, 0xcf8: 0x0a86, 0xcf9: 0x0aa6, 0xcfa: 0x0ac6, 0xcfb: 0x0ae6, + 0xcfc: 0x0b06, 0xcfd: 0x270a, 0xcfe: 0x2732, 0xcff: 0x275a, + // Block 0x34, offset 0xd00 + 0xd00: 0x2782, 0xd01: 0x27aa, 0xd02: 0x27d2, 0xd03: 0x27fa, 0xd04: 0x2822, 0xd05: 0x284a, + 0xd06: 0x2872, 0xd07: 0x289a, 0xd08: 0x0040, 0xd09: 0x0040, 0xd0a: 0x0040, 0xd0b: 0x0040, + 0xd0c: 0x0040, 0xd0d: 0x0040, 0xd0e: 0x0040, 0xd0f: 0x0040, 0xd10: 0x0040, 0xd11: 0x0040, + 0xd12: 0x0040, 0xd13: 0x0040, 0xd14: 0x0040, 0xd15: 0x0040, 0xd16: 0x0040, 0xd17: 0x0040, + 0xd18: 0x0040, 0xd19: 0x0040, 0xd1a: 0x0040, 0xd1b: 0x0040, 0xd1c: 0x0b26, 0xd1d: 0x0b46, + 0xd1e: 0x0b66, 0xd1f: 0x0b86, 0xd20: 0x0ba6, 0xd21: 0x0bc6, 0xd22: 0x0be6, 0xd23: 0x0c06, + 0xd24: 0x0c26, 0xd25: 0x0c46, 0xd26: 0x0c66, 0xd27: 0x0c86, 0xd28: 0x0ca6, 0xd29: 0x0cc6, + 0xd2a: 0x0ce6, 0xd2b: 0x0d06, 0xd2c: 0x0d26, 0xd2d: 0x0d46, 0xd2e: 0x0d66, 0xd2f: 0x0d86, + 0xd30: 0x0da6, 0xd31: 0x0dc6, 0xd32: 0x0de6, 0xd33: 0x0e06, 0xd34: 0x0e26, 0xd35: 0x0e46, + 0xd36: 0x0039, 0xd37: 0x0ee9, 0xd38: 0x1159, 0xd39: 0x0ef9, 0xd3a: 0x0f09, 0xd3b: 0x1199, + 0xd3c: 0x0f31, 0xd3d: 0x0249, 0xd3e: 0x0f41, 0xd3f: 0x0259, + // Block 0x35, offset 0xd40 + 0xd40: 0x0f51, 0xd41: 0x0359, 0xd42: 0x0f61, 0xd43: 0x0f71, 0xd44: 0x00d9, 0xd45: 0x0f99, + 0xd46: 0x2039, 0xd47: 0x0269, 0xd48: 0x01d9, 0xd49: 0x0fa9, 0xd4a: 0x0fb9, 0xd4b: 0x1089, + 0xd4c: 0x0279, 0xd4d: 0x0369, 0xd4e: 0x0289, 0xd4f: 0x13d1, 0xd50: 0x0039, 0xd51: 0x0ee9, + 0xd52: 0x1159, 0xd53: 0x0ef9, 0xd54: 0x0f09, 0xd55: 0x1199, 0xd56: 0x0f31, 0xd57: 0x0249, + 0xd58: 0x0f41, 0xd59: 0x0259, 0xd5a: 0x0f51, 0xd5b: 0x0359, 0xd5c: 0x0f61, 0xd5d: 0x0f71, + 0xd5e: 0x00d9, 0xd5f: 0x0f99, 0xd60: 0x2039, 0xd61: 0x0269, 0xd62: 0x01d9, 0xd63: 0x0fa9, + 0xd64: 0x0fb9, 0xd65: 0x1089, 0xd66: 0x0279, 0xd67: 0x0369, 0xd68: 0x0289, 0xd69: 0x13d1, + 0xd6a: 0x1f41, 0xd6b: 0x0018, 0xd6c: 0x0018, 0xd6d: 0x0018, 0xd6e: 0x0018, 0xd6f: 0x0018, + 0xd70: 0x0018, 0xd71: 0x0018, 0xd72: 0x0018, 0xd73: 0x0018, 0xd74: 0x0018, 0xd75: 0x0018, + 0xd76: 0x0018, 0xd77: 0x0018, 0xd78: 0x0018, 0xd79: 0x0018, 0xd7a: 0x0018, 0xd7b: 0x0018, + 0xd7c: 0x0018, 0xd7d: 0x0018, 0xd7e: 0x0018, 0xd7f: 0x0018, + // Block 0x36, offset 0xd80 + 0xd80: 0x0008, 0xd81: 0x0008, 0xd82: 0x0008, 0xd83: 0x0008, 0xd84: 0x0008, 0xd85: 0x0008, + 0xd86: 0x0008, 0xd87: 0x0008, 0xd88: 0x0008, 0xd89: 0x0008, 0xd8a: 0x0008, 0xd8b: 0x0008, + 0xd8c: 0x0008, 0xd8d: 0x0008, 0xd8e: 0x0008, 0xd8f: 0x0008, 0xd90: 0x0008, 0xd91: 0x0008, + 0xd92: 0x0008, 0xd93: 0x0008, 0xd94: 0x0008, 0xd95: 0x0008, 0xd96: 0x0008, 0xd97: 0x0008, + 0xd98: 0x0008, 0xd99: 0x0008, 0xd9a: 0x0008, 0xd9b: 0x0008, 0xd9c: 0x0008, 0xd9d: 0x0008, + 0xd9e: 0x0008, 0xd9f: 0x0040, 0xda0: 0xe00d, 0xda1: 0x0008, 0xda2: 0x2971, 0xda3: 0x0ebd, + 0xda4: 0x2989, 0xda5: 0x0008, 0xda6: 0x0008, 0xda7: 0xe07d, 0xda8: 0x0008, 0xda9: 0xe01d, + 0xdaa: 0x0008, 0xdab: 0xe03d, 0xdac: 0x0008, 0xdad: 0x0fe1, 0xdae: 0x1281, 0xdaf: 0x0fc9, + 0xdb0: 0x1141, 0xdb1: 0x0008, 0xdb2: 0xe00d, 0xdb3: 0x0008, 0xdb4: 0x0008, 0xdb5: 0xe01d, + 0xdb6: 0x0008, 0xdb7: 0x0008, 0xdb8: 0x0008, 0xdb9: 0x0008, 0xdba: 0x0008, 0xdbb: 0x0008, + 0xdbc: 0x0259, 0xdbd: 0x1089, 0xdbe: 0x29a1, 0xdbf: 0x29b9, + // Block 0x37, offset 0xdc0 + 0xdc0: 0xe00d, 0xdc1: 0x0008, 0xdc2: 0xe00d, 0xdc3: 0x0008, 0xdc4: 0xe00d, 0xdc5: 0x0008, + 0xdc6: 0xe00d, 0xdc7: 0x0008, 0xdc8: 0xe00d, 0xdc9: 0x0008, 0xdca: 0xe00d, 0xdcb: 0x0008, + 0xdcc: 0xe00d, 0xdcd: 0x0008, 0xdce: 0xe00d, 0xdcf: 0x0008, 0xdd0: 0xe00d, 0xdd1: 0x0008, + 0xdd2: 0xe00d, 0xdd3: 0x0008, 0xdd4: 0xe00d, 0xdd5: 0x0008, 0xdd6: 0xe00d, 0xdd7: 0x0008, + 0xdd8: 0xe00d, 0xdd9: 0x0008, 0xdda: 0xe00d, 0xddb: 0x0008, 0xddc: 0xe00d, 0xddd: 0x0008, + 0xdde: 0xe00d, 0xddf: 0x0008, 0xde0: 0xe00d, 0xde1: 0x0008, 0xde2: 0xe00d, 0xde3: 0x0008, + 0xde4: 0x0008, 0xde5: 0x0018, 0xde6: 0x0018, 0xde7: 0x0018, 0xde8: 0x0018, 0xde9: 0x0018, + 0xdea: 0x0018, 0xdeb: 0xe03d, 0xdec: 0x0008, 0xded: 0xe01d, 0xdee: 0x0008, 0xdef: 0x3308, + 0xdf0: 0x3308, 0xdf1: 0x3308, 0xdf2: 0xe00d, 0xdf3: 0x0008, 0xdf4: 0x0040, 0xdf5: 0x0040, + 0xdf6: 0x0040, 0xdf7: 0x0040, 0xdf8: 0x0040, 0xdf9: 0x0018, 0xdfa: 0x0018, 0xdfb: 0x0018, + 0xdfc: 0x0018, 0xdfd: 0x0018, 0xdfe: 0x0018, 0xdff: 0x0018, + // Block 0x38, offset 0xe00 + 0xe00: 0x26fd, 0xe01: 0x271d, 0xe02: 0x273d, 0xe03: 0x275d, 0xe04: 0x277d, 0xe05: 0x279d, + 0xe06: 0x27bd, 0xe07: 0x27dd, 0xe08: 0x27fd, 0xe09: 0x281d, 0xe0a: 0x283d, 0xe0b: 0x285d, + 0xe0c: 0x287d, 0xe0d: 0x289d, 0xe0e: 0x28bd, 0xe0f: 0x28dd, 0xe10: 0x28fd, 0xe11: 0x291d, + 0xe12: 0x293d, 0xe13: 0x295d, 0xe14: 0x297d, 0xe15: 0x299d, 0xe16: 0x0040, 0xe17: 0x0040, + 0xe18: 0x0040, 0xe19: 0x0040, 0xe1a: 0x0040, 0xe1b: 0x0040, 0xe1c: 0x0040, 0xe1d: 0x0040, + 0xe1e: 0x0040, 0xe1f: 0x0040, 0xe20: 0x0040, 0xe21: 0x0040, 0xe22: 0x0040, 0xe23: 0x0040, + 0xe24: 0x0040, 0xe25: 0x0040, 0xe26: 0x0040, 0xe27: 0x0040, 0xe28: 0x0040, 0xe29: 0x0040, + 0xe2a: 0x0040, 0xe2b: 0x0040, 0xe2c: 0x0040, 0xe2d: 0x0040, 0xe2e: 0x0040, 0xe2f: 0x0040, + 0xe30: 0x0040, 0xe31: 0x0040, 0xe32: 0x0040, 0xe33: 0x0040, 0xe34: 0x0040, 0xe35: 0x0040, + 0xe36: 0x0040, 0xe37: 0x0040, 0xe38: 0x0040, 0xe39: 0x0040, 0xe3a: 0x0040, 0xe3b: 0x0040, + 0xe3c: 0x0040, 0xe3d: 0x0040, 0xe3e: 0x0040, 0xe3f: 0x0040, + // Block 0x39, offset 0xe40 + 0xe40: 0x000a, 0xe41: 0x0018, 0xe42: 0x29d1, 0xe43: 0x0018, 0xe44: 0x0018, 0xe45: 0x0008, + 0xe46: 0x0008, 0xe47: 0x0008, 0xe48: 0x0018, 0xe49: 0x0018, 0xe4a: 0x0018, 0xe4b: 0x0018, + 0xe4c: 0x0018, 0xe4d: 0x0018, 0xe4e: 0x0018, 0xe4f: 0x0018, 0xe50: 0x0018, 0xe51: 0x0018, + 0xe52: 0x0018, 0xe53: 0x0018, 0xe54: 0x0018, 0xe55: 0x0018, 0xe56: 0x0018, 0xe57: 0x0018, + 0xe58: 0x0018, 0xe59: 0x0018, 0xe5a: 0x0018, 0xe5b: 0x0018, 0xe5c: 0x0018, 0xe5d: 0x0018, + 0xe5e: 0x0018, 0xe5f: 0x0018, 0xe60: 0x0018, 0xe61: 0x0018, 0xe62: 0x0018, 0xe63: 0x0018, + 0xe64: 0x0018, 0xe65: 0x0018, 0xe66: 0x0018, 0xe67: 0x0018, 0xe68: 0x0018, 0xe69: 0x0018, + 0xe6a: 0x3308, 0xe6b: 0x3308, 0xe6c: 0x3308, 0xe6d: 0x3308, 0xe6e: 0x3018, 0xe6f: 0x3018, + 0xe70: 0x0018, 0xe71: 0x0018, 0xe72: 0x0018, 0xe73: 0x0018, 0xe74: 0x0018, 0xe75: 0x0018, + 0xe76: 0xe125, 0xe77: 0x0018, 0xe78: 0x29bd, 0xe79: 0x29dd, 0xe7a: 0x29fd, 0xe7b: 0x0018, + 0xe7c: 0x0008, 0xe7d: 0x0018, 0xe7e: 0x0018, 0xe7f: 0x0018, + // Block 0x3a, offset 0xe80 + 0xe80: 0x2b3d, 0xe81: 0x2b5d, 0xe82: 0x2b7d, 0xe83: 0x2b9d, 0xe84: 0x2bbd, 0xe85: 0x2bdd, + 0xe86: 0x2bdd, 0xe87: 0x2bdd, 0xe88: 0x2bfd, 0xe89: 0x2bfd, 0xe8a: 0x2bfd, 0xe8b: 0x2bfd, + 0xe8c: 0x2c1d, 0xe8d: 0x2c1d, 0xe8e: 0x2c1d, 0xe8f: 0x2c3d, 0xe90: 0x2c5d, 0xe91: 0x2c5d, + 0xe92: 0x2a7d, 0xe93: 0x2a7d, 0xe94: 0x2c5d, 0xe95: 0x2c5d, 0xe96: 0x2c7d, 0xe97: 0x2c7d, + 0xe98: 0x2c5d, 0xe99: 0x2c5d, 0xe9a: 0x2a7d, 0xe9b: 0x2a7d, 0xe9c: 0x2c5d, 0xe9d: 0x2c5d, + 0xe9e: 0x2c3d, 0xe9f: 0x2c3d, 0xea0: 0x2c9d, 0xea1: 0x2c9d, 0xea2: 0x2cbd, 0xea3: 0x2cbd, + 0xea4: 0x0040, 0xea5: 0x2cdd, 0xea6: 0x2cfd, 0xea7: 0x2d1d, 0xea8: 0x2d1d, 0xea9: 0x2d3d, + 0xeaa: 0x2d5d, 0xeab: 0x2d7d, 0xeac: 0x2d9d, 0xead: 0x2dbd, 0xeae: 0x2ddd, 0xeaf: 0x2dfd, + 0xeb0: 0x2e1d, 0xeb1: 0x2e3d, 0xeb2: 0x2e3d, 0xeb3: 0x2e5d, 0xeb4: 0x2e7d, 0xeb5: 0x2e7d, + 0xeb6: 0x2e9d, 0xeb7: 0x2ebd, 0xeb8: 0x2e5d, 0xeb9: 0x2edd, 0xeba: 0x2efd, 0xebb: 0x2edd, + 0xebc: 0x2e5d, 0xebd: 0x2f1d, 0xebe: 0x2f3d, 0xebf: 0x2f5d, + // Block 0x3b, offset 0xec0 + 0xec0: 0x2f7d, 0xec1: 0x2f9d, 0xec2: 0x2cfd, 0xec3: 0x2cdd, 0xec4: 0x2fbd, 0xec5: 0x2fdd, + 0xec6: 0x2ffd, 0xec7: 0x301d, 0xec8: 0x303d, 0xec9: 0x305d, 0xeca: 0x307d, 0xecb: 0x309d, + 0xecc: 0x30bd, 0xecd: 0x30dd, 0xece: 0x30fd, 0xecf: 0x0040, 0xed0: 0x0018, 0xed1: 0x0018, + 0xed2: 0x311d, 0xed3: 0x313d, 0xed4: 0x315d, 0xed5: 0x317d, 0xed6: 0x319d, 0xed7: 0x31bd, + 0xed8: 0x31dd, 0xed9: 0x31fd, 0xeda: 0x321d, 0xedb: 0x323d, 0xedc: 0x315d, 0xedd: 0x325d, + 0xede: 0x327d, 0xedf: 0x329d, 0xee0: 0x0008, 0xee1: 0x0008, 0xee2: 0x0008, 0xee3: 0x0008, + 0xee4: 0x0008, 0xee5: 0x0008, 0xee6: 0x0008, 0xee7: 0x0008, 0xee8: 0x0008, 0xee9: 0x0008, + 0xeea: 0x0008, 0xeeb: 0x0008, 0xeec: 0x0008, 0xeed: 0x0008, 0xeee: 0x0008, 0xeef: 0x0008, + 0xef0: 0x0008, 0xef1: 0x0008, 0xef2: 0x0008, 0xef3: 0x0008, 0xef4: 0x0008, 0xef5: 0x0008, + 0xef6: 0x0008, 0xef7: 0x0008, 0xef8: 0x0008, 0xef9: 0x0008, 0xefa: 0x0008, 0xefb: 0x0040, + 0xefc: 0x0040, 0xefd: 0x0040, 0xefe: 0x0040, 0xeff: 0x0040, + // Block 0x3c, offset 0xf00 + 0xf00: 0x36a2, 0xf01: 0x36d2, 0xf02: 0x3702, 0xf03: 0x3732, 0xf04: 0x32bd, 0xf05: 0x32dd, + 0xf06: 0x32fd, 0xf07: 0x331d, 0xf08: 0x0018, 0xf09: 0x0018, 0xf0a: 0x0018, 0xf0b: 0x0018, + 0xf0c: 0x0018, 0xf0d: 0x0018, 0xf0e: 0x0018, 0xf0f: 0x0018, 0xf10: 0x333d, 0xf11: 0x3761, + 0xf12: 0x3779, 0xf13: 0x3791, 0xf14: 0x37a9, 0xf15: 0x37c1, 0xf16: 0x37d9, 0xf17: 0x37f1, + 0xf18: 0x3809, 0xf19: 0x3821, 0xf1a: 0x3839, 0xf1b: 0x3851, 0xf1c: 0x3869, 0xf1d: 0x3881, + 0xf1e: 0x3899, 0xf1f: 0x38b1, 0xf20: 0x335d, 0xf21: 0x337d, 0xf22: 0x339d, 0xf23: 0x33bd, + 0xf24: 0x33dd, 0xf25: 0x33dd, 0xf26: 0x33fd, 0xf27: 0x341d, 0xf28: 0x343d, 0xf29: 0x345d, + 0xf2a: 0x347d, 0xf2b: 0x349d, 0xf2c: 0x34bd, 0xf2d: 0x34dd, 0xf2e: 0x34fd, 0xf2f: 0x351d, + 0xf30: 0x353d, 0xf31: 0x355d, 0xf32: 0x357d, 0xf33: 0x359d, 0xf34: 0x35bd, 0xf35: 0x35dd, + 0xf36: 0x35fd, 0xf37: 0x361d, 0xf38: 0x363d, 0xf39: 0x365d, 0xf3a: 0x367d, 0xf3b: 0x369d, + 0xf3c: 0x38c9, 0xf3d: 0x3901, 0xf3e: 0x36bd, 0xf3f: 0x0018, + // Block 0x3d, offset 0xf40 + 0xf40: 0x36dd, 0xf41: 0x36fd, 0xf42: 0x371d, 0xf43: 0x373d, 0xf44: 0x375d, 0xf45: 0x377d, + 0xf46: 0x379d, 0xf47: 0x37bd, 0xf48: 0x37dd, 0xf49: 0x37fd, 0xf4a: 0x381d, 0xf4b: 0x383d, + 0xf4c: 0x385d, 0xf4d: 0x387d, 0xf4e: 0x389d, 0xf4f: 0x38bd, 0xf50: 0x38dd, 0xf51: 0x38fd, + 0xf52: 0x391d, 0xf53: 0x393d, 0xf54: 0x395d, 0xf55: 0x397d, 0xf56: 0x399d, 0xf57: 0x39bd, + 0xf58: 0x39dd, 0xf59: 0x39fd, 0xf5a: 0x3a1d, 0xf5b: 0x3a3d, 0xf5c: 0x3a5d, 0xf5d: 0x3a7d, + 0xf5e: 0x3a9d, 0xf5f: 0x3abd, 0xf60: 0x3add, 0xf61: 0x3afd, 0xf62: 0x3b1d, 0xf63: 0x3b3d, + 0xf64: 0x3b5d, 0xf65: 0x3b7d, 0xf66: 0x127d, 0xf67: 0x3b9d, 0xf68: 0x3bbd, 0xf69: 0x3bdd, + 0xf6a: 0x3bfd, 0xf6b: 0x3c1d, 0xf6c: 0x3c3d, 0xf6d: 0x3c5d, 0xf6e: 0x239d, 0xf6f: 0x3c7d, + 0xf70: 0x3c9d, 0xf71: 0x3939, 0xf72: 0x3951, 0xf73: 0x3969, 0xf74: 0x3981, 0xf75: 0x3999, + 0xf76: 0x39b1, 0xf77: 0x39c9, 0xf78: 0x39e1, 0xf79: 0x39f9, 0xf7a: 0x3a11, 0xf7b: 0x3a29, + 0xf7c: 0x3a41, 0xf7d: 0x3a59, 0xf7e: 0x3a71, 0xf7f: 0x3a89, + // Block 0x3e, offset 0xf80 + 0xf80: 0x3aa1, 0xf81: 0x3ac9, 0xf82: 0x3af1, 0xf83: 0x3b19, 0xf84: 0x3b41, 0xf85: 0x3b69, + 0xf86: 0x3b91, 0xf87: 0x3bb9, 0xf88: 0x3be1, 0xf89: 0x3c09, 0xf8a: 0x3c39, 0xf8b: 0x3c69, + 0xf8c: 0x3c99, 0xf8d: 0x3cbd, 0xf8e: 0x3cb1, 0xf8f: 0x3cdd, 0xf90: 0x3cfd, 0xf91: 0x3d15, + 0xf92: 0x3d2d, 0xf93: 0x3d45, 0xf94: 0x3d5d, 0xf95: 0x3d5d, 0xf96: 0x3d45, 0xf97: 0x3d75, + 0xf98: 0x07bd, 0xf99: 0x3d8d, 0xf9a: 0x3da5, 0xf9b: 0x3dbd, 0xf9c: 0x3dd5, 0xf9d: 0x3ded, + 0xf9e: 0x3e05, 0xf9f: 0x3e1d, 0xfa0: 0x3e35, 0xfa1: 0x3e4d, 0xfa2: 0x3e65, 0xfa3: 0x3e7d, + 0xfa4: 0x3e95, 0xfa5: 0x3e95, 0xfa6: 0x3ead, 0xfa7: 0x3ead, 0xfa8: 0x3ec5, 0xfa9: 0x3ec5, + 0xfaa: 0x3edd, 0xfab: 0x3ef5, 0xfac: 0x3f0d, 0xfad: 0x3f25, 0xfae: 0x3f3d, 0xfaf: 0x3f3d, + 0xfb0: 0x3f55, 0xfb1: 0x3f55, 0xfb2: 0x3f55, 0xfb3: 0x3f6d, 0xfb4: 0x3f85, 0xfb5: 0x3f9d, + 0xfb6: 0x3fb5, 0xfb7: 0x3f9d, 0xfb8: 0x3fcd, 0xfb9: 0x3fe5, 0xfba: 0x3f6d, 0xfbb: 0x3ffd, + 0xfbc: 0x4015, 0xfbd: 0x4015, 0xfbe: 0x4015, 0xfbf: 0x0040, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x3cc9, 0xfc1: 0x3d31, 0xfc2: 0x3d99, 0xfc3: 0x3e01, 0xfc4: 0x3e51, 0xfc5: 0x3eb9, + 0xfc6: 0x3f09, 0xfc7: 0x3f59, 0xfc8: 0x3fd9, 0xfc9: 0x4041, 0xfca: 0x4091, 0xfcb: 0x40e1, + 0xfcc: 0x4131, 0xfcd: 0x4199, 0xfce: 0x4201, 0xfcf: 0x4251, 0xfd0: 0x42a1, 0xfd1: 0x42d9, + 0xfd2: 0x4329, 0xfd3: 0x4391, 0xfd4: 0x43f9, 0xfd5: 0x4431, 0xfd6: 0x44b1, 0xfd7: 0x4549, + 0xfd8: 0x45c9, 0xfd9: 0x4619, 0xfda: 0x4699, 0xfdb: 0x4719, 0xfdc: 0x4781, 0xfdd: 0x47d1, + 0xfde: 0x4821, 0xfdf: 0x4871, 0xfe0: 0x48d9, 0xfe1: 0x4959, 0xfe2: 0x49c1, 0xfe3: 0x4a11, + 0xfe4: 0x4a61, 0xfe5: 0x4ab1, 0xfe6: 0x4ae9, 0xfe7: 0x4b21, 0xfe8: 0x4b59, 0xfe9: 0x4b91, + 0xfea: 0x4be1, 0xfeb: 0x4c31, 0xfec: 0x4cb1, 0xfed: 0x4d01, 0xfee: 0x4d69, 0xfef: 0x4de9, + 0xff0: 0x4e39, 0xff1: 0x4e71, 0xff2: 0x4ea9, 0xff3: 0x4f29, 0xff4: 0x4f91, 0xff5: 0x5011, + 0xff6: 0x5061, 0xff7: 0x50e1, 0xff8: 0x5119, 0xff9: 0x5169, 0xffa: 0x51b9, 0xffb: 0x5209, + 0xffc: 0x5259, 0xffd: 0x52a9, 0xffe: 0x5311, 0xfff: 0x5361, + // Block 0x40, offset 0x1000 + 0x1000: 0x5399, 0x1001: 0x53e9, 0x1002: 0x5439, 0x1003: 0x5489, 0x1004: 0x54f1, 0x1005: 0x5541, + 0x1006: 0x5591, 0x1007: 0x55e1, 0x1008: 0x5661, 0x1009: 0x56c9, 0x100a: 0x5701, 0x100b: 0x5781, + 0x100c: 0x57b9, 0x100d: 0x5821, 0x100e: 0x5889, 0x100f: 0x58d9, 0x1010: 0x5929, 0x1011: 0x5979, + 0x1012: 0x59e1, 0x1013: 0x5a19, 0x1014: 0x5a69, 0x1015: 0x5ad1, 0x1016: 0x5b09, 0x1017: 0x5b89, + 0x1018: 0x5bd9, 0x1019: 0x5c01, 0x101a: 0x5c29, 0x101b: 0x5c51, 0x101c: 0x5c79, 0x101d: 0x5ca1, + 0x101e: 0x5cc9, 0x101f: 0x5cf1, 0x1020: 0x5d19, 0x1021: 0x5d41, 0x1022: 0x5d69, 0x1023: 0x5d99, + 0x1024: 0x5dc9, 0x1025: 0x5df9, 0x1026: 0x5e29, 0x1027: 0x5e59, 0x1028: 0x5e89, 0x1029: 0x5eb9, + 0x102a: 0x5ee9, 0x102b: 0x5f19, 0x102c: 0x5f49, 0x102d: 0x5f79, 0x102e: 0x5fa9, 0x102f: 0x5fd9, + 0x1030: 0x6009, 0x1031: 0x402d, 0x1032: 0x6039, 0x1033: 0x6051, 0x1034: 0x404d, 0x1035: 0x6069, + 0x1036: 0x6081, 0x1037: 0x6099, 0x1038: 0x406d, 0x1039: 0x406d, 0x103a: 0x60b1, 0x103b: 0x60c9, + 0x103c: 0x6101, 0x103d: 0x6139, 0x103e: 0x6171, 0x103f: 0x61a9, + // Block 0x41, offset 0x1040 + 0x1040: 0x6211, 0x1041: 0x6229, 0x1042: 0x408d, 0x1043: 0x6241, 0x1044: 0x6259, 0x1045: 0x6271, + 0x1046: 0x6289, 0x1047: 0x62a1, 0x1048: 0x40ad, 0x1049: 0x62b9, 0x104a: 0x62e1, 0x104b: 0x62f9, + 0x104c: 0x40cd, 0x104d: 0x40cd, 0x104e: 0x6311, 0x104f: 0x6329, 0x1050: 0x6341, 0x1051: 0x40ed, + 0x1052: 0x410d, 0x1053: 0x412d, 0x1054: 0x414d, 0x1055: 0x416d, 0x1056: 0x6359, 0x1057: 0x6371, + 0x1058: 0x6389, 0x1059: 0x63a1, 0x105a: 0x63b9, 0x105b: 0x418d, 0x105c: 0x63d1, 0x105d: 0x63e9, + 0x105e: 0x6401, 0x105f: 0x41ad, 0x1060: 0x41cd, 0x1061: 0x6419, 0x1062: 0x41ed, 0x1063: 0x420d, + 0x1064: 0x422d, 0x1065: 0x6431, 0x1066: 0x424d, 0x1067: 0x6449, 0x1068: 0x6479, 0x1069: 0x6211, + 0x106a: 0x426d, 0x106b: 0x428d, 0x106c: 0x42ad, 0x106d: 0x42cd, 0x106e: 0x64b1, 0x106f: 0x64f1, + 0x1070: 0x6539, 0x1071: 0x6551, 0x1072: 0x42ed, 0x1073: 0x6569, 0x1074: 0x6581, 0x1075: 0x6599, + 0x1076: 0x430d, 0x1077: 0x65b1, 0x1078: 0x65c9, 0x1079: 0x65b1, 0x107a: 0x65e1, 0x107b: 0x65f9, + 0x107c: 0x432d, 0x107d: 0x6611, 0x107e: 0x6629, 0x107f: 0x6611, + // Block 0x42, offset 0x1080 + 0x1080: 0x434d, 0x1081: 0x436d, 0x1082: 0x0040, 0x1083: 0x6641, 0x1084: 0x6659, 0x1085: 0x6671, + 0x1086: 0x6689, 0x1087: 0x0040, 0x1088: 0x66c1, 0x1089: 0x66d9, 0x108a: 0x66f1, 0x108b: 0x6709, + 0x108c: 0x6721, 0x108d: 0x6739, 0x108e: 0x6401, 0x108f: 0x6751, 0x1090: 0x6769, 0x1091: 0x6781, + 0x1092: 0x438d, 0x1093: 0x6799, 0x1094: 0x6289, 0x1095: 0x43ad, 0x1096: 0x43cd, 0x1097: 0x67b1, + 0x1098: 0x0040, 0x1099: 0x43ed, 0x109a: 0x67c9, 0x109b: 0x67e1, 0x109c: 0x67f9, 0x109d: 0x6811, + 0x109e: 0x6829, 0x109f: 0x6859, 0x10a0: 0x6889, 0x10a1: 0x68b1, 0x10a2: 0x68d9, 0x10a3: 0x6901, + 0x10a4: 0x6929, 0x10a5: 0x6951, 0x10a6: 0x6979, 0x10a7: 0x69a1, 0x10a8: 0x69c9, 0x10a9: 0x69f1, + 0x10aa: 0x6a21, 0x10ab: 0x6a51, 0x10ac: 0x6a81, 0x10ad: 0x6ab1, 0x10ae: 0x6ae1, 0x10af: 0x6b11, + 0x10b0: 0x6b41, 0x10b1: 0x6b71, 0x10b2: 0x6ba1, 0x10b3: 0x6bd1, 0x10b4: 0x6c01, 0x10b5: 0x6c31, + 0x10b6: 0x6c61, 0x10b7: 0x6c91, 0x10b8: 0x6cc1, 0x10b9: 0x6cf1, 0x10ba: 0x6d21, 0x10bb: 0x6d51, + 0x10bc: 0x6d81, 0x10bd: 0x6db1, 0x10be: 0x6de1, 0x10bf: 0x440d, + // Block 0x43, offset 0x10c0 + 0x10c0: 0xe00d, 0x10c1: 0x0008, 0x10c2: 0xe00d, 0x10c3: 0x0008, 0x10c4: 0xe00d, 0x10c5: 0x0008, + 0x10c6: 0xe00d, 0x10c7: 0x0008, 0x10c8: 0xe00d, 0x10c9: 0x0008, 0x10ca: 0xe00d, 0x10cb: 0x0008, + 0x10cc: 0xe00d, 0x10cd: 0x0008, 0x10ce: 0xe00d, 0x10cf: 0x0008, 0x10d0: 0xe00d, 0x10d1: 0x0008, + 0x10d2: 0xe00d, 0x10d3: 0x0008, 0x10d4: 0xe00d, 0x10d5: 0x0008, 0x10d6: 0xe00d, 0x10d7: 0x0008, + 0x10d8: 0xe00d, 0x10d9: 0x0008, 0x10da: 0xe00d, 0x10db: 0x0008, 0x10dc: 0xe00d, 0x10dd: 0x0008, + 0x10de: 0xe00d, 0x10df: 0x0008, 0x10e0: 0xe00d, 0x10e1: 0x0008, 0x10e2: 0xe00d, 0x10e3: 0x0008, + 0x10e4: 0xe00d, 0x10e5: 0x0008, 0x10e6: 0xe00d, 0x10e7: 0x0008, 0x10e8: 0xe00d, 0x10e9: 0x0008, + 0x10ea: 0xe00d, 0x10eb: 0x0008, 0x10ec: 0xe00d, 0x10ed: 0x0008, 0x10ee: 0x0008, 0x10ef: 0x3308, + 0x10f0: 0x3318, 0x10f1: 0x3318, 0x10f2: 0x3318, 0x10f3: 0x0018, 0x10f4: 0x3308, 0x10f5: 0x3308, + 0x10f6: 0x3308, 0x10f7: 0x3308, 0x10f8: 0x3308, 0x10f9: 0x3308, 0x10fa: 0x3308, 0x10fb: 0x3308, + 0x10fc: 0x3308, 0x10fd: 0x3308, 0x10fe: 0x0018, 0x10ff: 0x0008, + // Block 0x44, offset 0x1100 + 0x1100: 0xe00d, 0x1101: 0x0008, 0x1102: 0xe00d, 0x1103: 0x0008, 0x1104: 0xe00d, 0x1105: 0x0008, + 0x1106: 0xe00d, 0x1107: 0x0008, 0x1108: 0xe00d, 0x1109: 0x0008, 0x110a: 0xe00d, 0x110b: 0x0008, + 0x110c: 0xe00d, 0x110d: 0x0008, 0x110e: 0xe00d, 0x110f: 0x0008, 0x1110: 0xe00d, 0x1111: 0x0008, + 0x1112: 0xe00d, 0x1113: 0x0008, 0x1114: 0xe00d, 0x1115: 0x0008, 0x1116: 0xe00d, 0x1117: 0x0008, + 0x1118: 0xe00d, 0x1119: 0x0008, 0x111a: 0xe00d, 0x111b: 0x0008, 0x111c: 0x0ea1, 0x111d: 0x6e11, + 0x111e: 0x3308, 0x111f: 0x3308, 0x1120: 0x0008, 0x1121: 0x0008, 0x1122: 0x0008, 0x1123: 0x0008, + 0x1124: 0x0008, 0x1125: 0x0008, 0x1126: 0x0008, 0x1127: 0x0008, 0x1128: 0x0008, 0x1129: 0x0008, + 0x112a: 0x0008, 0x112b: 0x0008, 0x112c: 0x0008, 0x112d: 0x0008, 0x112e: 0x0008, 0x112f: 0x0008, + 0x1130: 0x0008, 0x1131: 0x0008, 0x1132: 0x0008, 0x1133: 0x0008, 0x1134: 0x0008, 0x1135: 0x0008, + 0x1136: 0x0008, 0x1137: 0x0008, 0x1138: 0x0008, 0x1139: 0x0008, 0x113a: 0x0008, 0x113b: 0x0008, + 0x113c: 0x0008, 0x113d: 0x0008, 0x113e: 0x0008, 0x113f: 0x0008, + // Block 0x45, offset 0x1140 + 0x1140: 0x0018, 0x1141: 0x0018, 0x1142: 0x0018, 0x1143: 0x0018, 0x1144: 0x0018, 0x1145: 0x0018, + 0x1146: 0x0018, 0x1147: 0x0018, 0x1148: 0x0018, 0x1149: 0x0018, 0x114a: 0x0018, 0x114b: 0x0018, + 0x114c: 0x0018, 0x114d: 0x0018, 0x114e: 0x0018, 0x114f: 0x0018, 0x1150: 0x0018, 0x1151: 0x0018, + 0x1152: 0x0018, 0x1153: 0x0018, 0x1154: 0x0018, 0x1155: 0x0018, 0x1156: 0x0018, 0x1157: 0x0008, + 0x1158: 0x0008, 0x1159: 0x0008, 0x115a: 0x0008, 0x115b: 0x0008, 0x115c: 0x0008, 0x115d: 0x0008, + 0x115e: 0x0008, 0x115f: 0x0008, 0x1160: 0x0018, 0x1161: 0x0018, 0x1162: 0xe00d, 0x1163: 0x0008, + 0x1164: 0xe00d, 0x1165: 0x0008, 0x1166: 0xe00d, 0x1167: 0x0008, 0x1168: 0xe00d, 0x1169: 0x0008, + 0x116a: 0xe00d, 0x116b: 0x0008, 0x116c: 0xe00d, 0x116d: 0x0008, 0x116e: 0xe00d, 0x116f: 0x0008, + 0x1170: 0x0008, 0x1171: 0x0008, 0x1172: 0xe00d, 0x1173: 0x0008, 0x1174: 0xe00d, 0x1175: 0x0008, + 0x1176: 0xe00d, 0x1177: 0x0008, 0x1178: 0xe00d, 0x1179: 0x0008, 0x117a: 0xe00d, 0x117b: 0x0008, + 0x117c: 0xe00d, 0x117d: 0x0008, 0x117e: 0xe00d, 0x117f: 0x0008, + // Block 0x46, offset 0x1180 + 0x1180: 0xe00d, 0x1181: 0x0008, 0x1182: 0xe00d, 0x1183: 0x0008, 0x1184: 0xe00d, 0x1185: 0x0008, + 0x1186: 0xe00d, 0x1187: 0x0008, 0x1188: 0xe00d, 0x1189: 0x0008, 0x118a: 0xe00d, 0x118b: 0x0008, + 0x118c: 0xe00d, 0x118d: 0x0008, 0x118e: 0xe00d, 0x118f: 0x0008, 0x1190: 0xe00d, 0x1191: 0x0008, + 0x1192: 0xe00d, 0x1193: 0x0008, 0x1194: 0xe00d, 0x1195: 0x0008, 0x1196: 0xe00d, 0x1197: 0x0008, + 0x1198: 0xe00d, 0x1199: 0x0008, 0x119a: 0xe00d, 0x119b: 0x0008, 0x119c: 0xe00d, 0x119d: 0x0008, + 0x119e: 0xe00d, 0x119f: 0x0008, 0x11a0: 0xe00d, 0x11a1: 0x0008, 0x11a2: 0xe00d, 0x11a3: 0x0008, + 0x11a4: 0xe00d, 0x11a5: 0x0008, 0x11a6: 0xe00d, 0x11a7: 0x0008, 0x11a8: 0xe00d, 0x11a9: 0x0008, + 0x11aa: 0xe00d, 0x11ab: 0x0008, 0x11ac: 0xe00d, 0x11ad: 0x0008, 0x11ae: 0xe00d, 0x11af: 0x0008, + 0x11b0: 0xe0fd, 0x11b1: 0x0008, 0x11b2: 0x0008, 0x11b3: 0x0008, 0x11b4: 0x0008, 0x11b5: 0x0008, + 0x11b6: 0x0008, 0x11b7: 0x0008, 0x11b8: 0x0008, 0x11b9: 0xe01d, 0x11ba: 0x0008, 0x11bb: 0xe03d, + 0x11bc: 0x0008, 0x11bd: 0x442d, 0x11be: 0xe00d, 0x11bf: 0x0008, + // Block 0x47, offset 0x11c0 + 0x11c0: 0xe00d, 0x11c1: 0x0008, 0x11c2: 0xe00d, 0x11c3: 0x0008, 0x11c4: 0xe00d, 0x11c5: 0x0008, + 0x11c6: 0xe00d, 0x11c7: 0x0008, 0x11c8: 0x0008, 0x11c9: 0x0018, 0x11ca: 0x0018, 0x11cb: 0xe03d, + 0x11cc: 0x0008, 0x11cd: 0x11d9, 0x11ce: 0x0008, 0x11cf: 0x0008, 0x11d0: 0xe00d, 0x11d1: 0x0008, + 0x11d2: 0xe00d, 0x11d3: 0x0008, 0x11d4: 0x0008, 0x11d5: 0x0008, 0x11d6: 0xe00d, 0x11d7: 0x0008, + 0x11d8: 0xe00d, 0x11d9: 0x0008, 0x11da: 0xe00d, 0x11db: 0x0008, 0x11dc: 0xe00d, 0x11dd: 0x0008, + 0x11de: 0xe00d, 0x11df: 0x0008, 0x11e0: 0xe00d, 0x11e1: 0x0008, 0x11e2: 0xe00d, 0x11e3: 0x0008, + 0x11e4: 0xe00d, 0x11e5: 0x0008, 0x11e6: 0xe00d, 0x11e7: 0x0008, 0x11e8: 0xe00d, 0x11e9: 0x0008, + 0x11ea: 0x6e29, 0x11eb: 0x1029, 0x11ec: 0x11c1, 0x11ed: 0x6e41, 0x11ee: 0x1221, 0x11ef: 0x0040, + 0x11f0: 0x6e59, 0x11f1: 0x6e71, 0x11f2: 0x1239, 0x11f3: 0x444d, 0x11f4: 0xe00d, 0x11f5: 0x0008, + 0x11f6: 0xe00d, 0x11f7: 0x0008, 0x11f8: 0x0040, 0x11f9: 0x0040, 0x11fa: 0x0040, 0x11fb: 0x0040, + 0x11fc: 0x0040, 0x11fd: 0x0040, 0x11fe: 0x0040, 0x11ff: 0x0040, + // Block 0x48, offset 0x1200 + 0x1200: 0x64d5, 0x1201: 0x64f5, 0x1202: 0x6515, 0x1203: 0x6535, 0x1204: 0x6555, 0x1205: 0x6575, + 0x1206: 0x6595, 0x1207: 0x65b5, 0x1208: 0x65d5, 0x1209: 0x65f5, 0x120a: 0x6615, 0x120b: 0x6635, + 0x120c: 0x6655, 0x120d: 0x6675, 0x120e: 0x0008, 0x120f: 0x0008, 0x1210: 0x6695, 0x1211: 0x0008, + 0x1212: 0x66b5, 0x1213: 0x0008, 0x1214: 0x0008, 0x1215: 0x66d5, 0x1216: 0x66f5, 0x1217: 0x6715, + 0x1218: 0x6735, 0x1219: 0x6755, 0x121a: 0x6775, 0x121b: 0x6795, 0x121c: 0x67b5, 0x121d: 0x67d5, + 0x121e: 0x67f5, 0x121f: 0x0008, 0x1220: 0x6815, 0x1221: 0x0008, 0x1222: 0x6835, 0x1223: 0x0008, + 0x1224: 0x0008, 0x1225: 0x6855, 0x1226: 0x6875, 0x1227: 0x0008, 0x1228: 0x0008, 0x1229: 0x0008, + 0x122a: 0x6895, 0x122b: 0x68b5, 0x122c: 0x68d5, 0x122d: 0x68f5, 0x122e: 0x6915, 0x122f: 0x6935, + 0x1230: 0x6955, 0x1231: 0x6975, 0x1232: 0x6995, 0x1233: 0x69b5, 0x1234: 0x69d5, 0x1235: 0x69f5, + 0x1236: 0x6a15, 0x1237: 0x6a35, 0x1238: 0x6a55, 0x1239: 0x6a75, 0x123a: 0x6a95, 0x123b: 0x6ab5, + 0x123c: 0x6ad5, 0x123d: 0x6af5, 0x123e: 0x6b15, 0x123f: 0x6b35, + // Block 0x49, offset 0x1240 + 0x1240: 0x7a95, 0x1241: 0x7ab5, 0x1242: 0x7ad5, 0x1243: 0x7af5, 0x1244: 0x7b15, 0x1245: 0x7b35, + 0x1246: 0x7b55, 0x1247: 0x7b75, 0x1248: 0x7b95, 0x1249: 0x7bb5, 0x124a: 0x7bd5, 0x124b: 0x7bf5, + 0x124c: 0x7c15, 0x124d: 0x7c35, 0x124e: 0x7c55, 0x124f: 0x6ec9, 0x1250: 0x6ef1, 0x1251: 0x6f19, + 0x1252: 0x7c75, 0x1253: 0x7c95, 0x1254: 0x7cb5, 0x1255: 0x6f41, 0x1256: 0x6f69, 0x1257: 0x6f91, + 0x1258: 0x7cd5, 0x1259: 0x7cf5, 0x125a: 0x0040, 0x125b: 0x0040, 0x125c: 0x0040, 0x125d: 0x0040, + 0x125e: 0x0040, 0x125f: 0x0040, 0x1260: 0x0040, 0x1261: 0x0040, 0x1262: 0x0040, 0x1263: 0x0040, + 0x1264: 0x0040, 0x1265: 0x0040, 0x1266: 0x0040, 0x1267: 0x0040, 0x1268: 0x0040, 0x1269: 0x0040, + 0x126a: 0x0040, 0x126b: 0x0040, 0x126c: 0x0040, 0x126d: 0x0040, 0x126e: 0x0040, 0x126f: 0x0040, + 0x1270: 0x0040, 0x1271: 0x0040, 0x1272: 0x0040, 0x1273: 0x0040, 0x1274: 0x0040, 0x1275: 0x0040, + 0x1276: 0x0040, 0x1277: 0x0040, 0x1278: 0x0040, 0x1279: 0x0040, 0x127a: 0x0040, 0x127b: 0x0040, + 0x127c: 0x0040, 0x127d: 0x0040, 0x127e: 0x0040, 0x127f: 0x0040, + // Block 0x4a, offset 0x1280 + 0x1280: 0x6fb9, 0x1281: 0x6fd1, 0x1282: 0x6fe9, 0x1283: 0x7d15, 0x1284: 0x7d35, 0x1285: 0x7001, + 0x1286: 0x7001, 0x1287: 0x0040, 0x1288: 0x0040, 0x1289: 0x0040, 0x128a: 0x0040, 0x128b: 0x0040, + 0x128c: 0x0040, 0x128d: 0x0040, 0x128e: 0x0040, 0x128f: 0x0040, 0x1290: 0x0040, 0x1291: 0x0040, + 0x1292: 0x0040, 0x1293: 0x7019, 0x1294: 0x7041, 0x1295: 0x7069, 0x1296: 0x7091, 0x1297: 0x70b9, + 0x1298: 0x0040, 0x1299: 0x0040, 0x129a: 0x0040, 0x129b: 0x0040, 0x129c: 0x0040, 0x129d: 0x70e1, + 0x129e: 0x3308, 0x129f: 0x7109, 0x12a0: 0x7131, 0x12a1: 0x20a9, 0x12a2: 0x20f1, 0x12a3: 0x7149, + 0x12a4: 0x7161, 0x12a5: 0x7179, 0x12a6: 0x7191, 0x12a7: 0x71a9, 0x12a8: 0x71c1, 0x12a9: 0x1fb2, + 0x12aa: 0x71d9, 0x12ab: 0x7201, 0x12ac: 0x7229, 0x12ad: 0x7261, 0x12ae: 0x7299, 0x12af: 0x72c1, + 0x12b0: 0x72e9, 0x12b1: 0x7311, 0x12b2: 0x7339, 0x12b3: 0x7361, 0x12b4: 0x7389, 0x12b5: 0x73b1, + 0x12b6: 0x73d9, 0x12b7: 0x0040, 0x12b8: 0x7401, 0x12b9: 0x7429, 0x12ba: 0x7451, 0x12bb: 0x7479, + 0x12bc: 0x74a1, 0x12bd: 0x0040, 0x12be: 0x74c9, 0x12bf: 0x0040, + // Block 0x4b, offset 0x12c0 + 0x12c0: 0x74f1, 0x12c1: 0x7519, 0x12c2: 0x0040, 0x12c3: 0x7541, 0x12c4: 0x7569, 0x12c5: 0x0040, + 0x12c6: 0x7591, 0x12c7: 0x75b9, 0x12c8: 0x75e1, 0x12c9: 0x7609, 0x12ca: 0x7631, 0x12cb: 0x7659, + 0x12cc: 0x7681, 0x12cd: 0x76a9, 0x12ce: 0x76d1, 0x12cf: 0x76f9, 0x12d0: 0x7721, 0x12d1: 0x7721, + 0x12d2: 0x7739, 0x12d3: 0x7739, 0x12d4: 0x7739, 0x12d5: 0x7739, 0x12d6: 0x7751, 0x12d7: 0x7751, + 0x12d8: 0x7751, 0x12d9: 0x7751, 0x12da: 0x7769, 0x12db: 0x7769, 0x12dc: 0x7769, 0x12dd: 0x7769, + 0x12de: 0x7781, 0x12df: 0x7781, 0x12e0: 0x7781, 0x12e1: 0x7781, 0x12e2: 0x7799, 0x12e3: 0x7799, + 0x12e4: 0x7799, 0x12e5: 0x7799, 0x12e6: 0x77b1, 0x12e7: 0x77b1, 0x12e8: 0x77b1, 0x12e9: 0x77b1, + 0x12ea: 0x77c9, 0x12eb: 0x77c9, 0x12ec: 0x77c9, 0x12ed: 0x77c9, 0x12ee: 0x77e1, 0x12ef: 0x77e1, + 0x12f0: 0x77e1, 0x12f1: 0x77e1, 0x12f2: 0x77f9, 0x12f3: 0x77f9, 0x12f4: 0x77f9, 0x12f5: 0x77f9, + 0x12f6: 0x7811, 0x12f7: 0x7811, 0x12f8: 0x7811, 0x12f9: 0x7811, 0x12fa: 0x7829, 0x12fb: 0x7829, + 0x12fc: 0x7829, 0x12fd: 0x7829, 0x12fe: 0x7841, 0x12ff: 0x7841, + // Block 0x4c, offset 0x1300 + 0x1300: 0x7841, 0x1301: 0x7841, 0x1302: 0x7859, 0x1303: 0x7859, 0x1304: 0x7871, 0x1305: 0x7871, + 0x1306: 0x7889, 0x1307: 0x7889, 0x1308: 0x78a1, 0x1309: 0x78a1, 0x130a: 0x78b9, 0x130b: 0x78b9, + 0x130c: 0x78d1, 0x130d: 0x78d1, 0x130e: 0x78e9, 0x130f: 0x78e9, 0x1310: 0x78e9, 0x1311: 0x78e9, + 0x1312: 0x7901, 0x1313: 0x7901, 0x1314: 0x7901, 0x1315: 0x7901, 0x1316: 0x7919, 0x1317: 0x7919, + 0x1318: 0x7919, 0x1319: 0x7919, 0x131a: 0x7931, 0x131b: 0x7931, 0x131c: 0x7931, 0x131d: 0x7931, + 0x131e: 0x7949, 0x131f: 0x7949, 0x1320: 0x7961, 0x1321: 0x7961, 0x1322: 0x7961, 0x1323: 0x7961, + 0x1324: 0x7979, 0x1325: 0x7979, 0x1326: 0x7991, 0x1327: 0x7991, 0x1328: 0x7991, 0x1329: 0x7991, + 0x132a: 0x79a9, 0x132b: 0x79a9, 0x132c: 0x79a9, 0x132d: 0x79a9, 0x132e: 0x79c1, 0x132f: 0x79c1, + 0x1330: 0x79d9, 0x1331: 0x79d9, 0x1332: 0x0818, 0x1333: 0x0818, 0x1334: 0x0818, 0x1335: 0x0818, + 0x1336: 0x0818, 0x1337: 0x0818, 0x1338: 0x0818, 0x1339: 0x0818, 0x133a: 0x0818, 0x133b: 0x0818, + 0x133c: 0x0818, 0x133d: 0x0818, 0x133e: 0x0818, 0x133f: 0x0818, + // Block 0x4d, offset 0x1340 + 0x1340: 0x0818, 0x1341: 0x0818, 0x1342: 0x0040, 0x1343: 0x0040, 0x1344: 0x0040, 0x1345: 0x0040, + 0x1346: 0x0040, 0x1347: 0x0040, 0x1348: 0x0040, 0x1349: 0x0040, 0x134a: 0x0040, 0x134b: 0x0040, + 0x134c: 0x0040, 0x134d: 0x0040, 0x134e: 0x0040, 0x134f: 0x0040, 0x1350: 0x0040, 0x1351: 0x0040, + 0x1352: 0x0040, 0x1353: 0x79f1, 0x1354: 0x79f1, 0x1355: 0x79f1, 0x1356: 0x79f1, 0x1357: 0x7a09, + 0x1358: 0x7a09, 0x1359: 0x7a21, 0x135a: 0x7a21, 0x135b: 0x7a39, 0x135c: 0x7a39, 0x135d: 0x0479, + 0x135e: 0x7a51, 0x135f: 0x7a51, 0x1360: 0x7a69, 0x1361: 0x7a69, 0x1362: 0x7a81, 0x1363: 0x7a81, + 0x1364: 0x7a99, 0x1365: 0x7a99, 0x1366: 0x7a99, 0x1367: 0x7a99, 0x1368: 0x7ab1, 0x1369: 0x7ab1, + 0x136a: 0x7ac9, 0x136b: 0x7ac9, 0x136c: 0x7af1, 0x136d: 0x7af1, 0x136e: 0x7b19, 0x136f: 0x7b19, + 0x1370: 0x7b41, 0x1371: 0x7b41, 0x1372: 0x7b69, 0x1373: 0x7b69, 0x1374: 0x7b91, 0x1375: 0x7b91, + 0x1376: 0x7bb9, 0x1377: 0x7bb9, 0x1378: 0x7bb9, 0x1379: 0x7be1, 0x137a: 0x7be1, 0x137b: 0x7be1, + 0x137c: 0x7c09, 0x137d: 0x7c09, 0x137e: 0x7c09, 0x137f: 0x7c09, + // Block 0x4e, offset 0x1380 + 0x1380: 0x85f9, 0x1381: 0x8621, 0x1382: 0x8649, 0x1383: 0x8671, 0x1384: 0x8699, 0x1385: 0x86c1, + 0x1386: 0x86e9, 0x1387: 0x8711, 0x1388: 0x8739, 0x1389: 0x8761, 0x138a: 0x8789, 0x138b: 0x87b1, + 0x138c: 0x87d9, 0x138d: 0x8801, 0x138e: 0x8829, 0x138f: 0x8851, 0x1390: 0x8879, 0x1391: 0x88a1, + 0x1392: 0x88c9, 0x1393: 0x88f1, 0x1394: 0x8919, 0x1395: 0x8941, 0x1396: 0x8969, 0x1397: 0x8991, + 0x1398: 0x89b9, 0x1399: 0x89e1, 0x139a: 0x8a09, 0x139b: 0x8a31, 0x139c: 0x8a59, 0x139d: 0x8a81, + 0x139e: 0x8aaa, 0x139f: 0x8ada, 0x13a0: 0x8b0a, 0x13a1: 0x8b3a, 0x13a2: 0x8b6a, 0x13a3: 0x8b9a, + 0x13a4: 0x8bc9, 0x13a5: 0x8bf1, 0x13a6: 0x7c71, 0x13a7: 0x8c19, 0x13a8: 0x7be1, 0x13a9: 0x7c99, + 0x13aa: 0x8c41, 0x13ab: 0x8c69, 0x13ac: 0x7d39, 0x13ad: 0x8c91, 0x13ae: 0x7d61, 0x13af: 0x7d89, + 0x13b0: 0x8cb9, 0x13b1: 0x8ce1, 0x13b2: 0x7e29, 0x13b3: 0x8d09, 0x13b4: 0x7e51, 0x13b5: 0x7e79, + 0x13b6: 0x8d31, 0x13b7: 0x8d59, 0x13b8: 0x7ec9, 0x13b9: 0x8d81, 0x13ba: 0x7ef1, 0x13bb: 0x7f19, + 0x13bc: 0x83a1, 0x13bd: 0x83c9, 0x13be: 0x8441, 0x13bf: 0x8469, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x8491, 0x13c1: 0x8531, 0x13c2: 0x8559, 0x13c3: 0x8581, 0x13c4: 0x85a9, 0x13c5: 0x8649, + 0x13c6: 0x8671, 0x13c7: 0x8699, 0x13c8: 0x8da9, 0x13c9: 0x8739, 0x13ca: 0x8dd1, 0x13cb: 0x8df9, + 0x13cc: 0x8829, 0x13cd: 0x8e21, 0x13ce: 0x8851, 0x13cf: 0x8879, 0x13d0: 0x8a81, 0x13d1: 0x8e49, + 0x13d2: 0x8e71, 0x13d3: 0x89b9, 0x13d4: 0x8e99, 0x13d5: 0x89e1, 0x13d6: 0x8a09, 0x13d7: 0x7c21, + 0x13d8: 0x7c49, 0x13d9: 0x8ec1, 0x13da: 0x7c71, 0x13db: 0x8ee9, 0x13dc: 0x7cc1, 0x13dd: 0x7ce9, + 0x13de: 0x7d11, 0x13df: 0x7d39, 0x13e0: 0x8f11, 0x13e1: 0x7db1, 0x13e2: 0x7dd9, 0x13e3: 0x7e01, + 0x13e4: 0x7e29, 0x13e5: 0x8f39, 0x13e6: 0x7ec9, 0x13e7: 0x7f41, 0x13e8: 0x7f69, 0x13e9: 0x7f91, + 0x13ea: 0x7fb9, 0x13eb: 0x7fe1, 0x13ec: 0x8031, 0x13ed: 0x8059, 0x13ee: 0x8081, 0x13ef: 0x80a9, + 0x13f0: 0x80d1, 0x13f1: 0x80f9, 0x13f2: 0x8f61, 0x13f3: 0x8121, 0x13f4: 0x8149, 0x13f5: 0x8171, + 0x13f6: 0x8199, 0x13f7: 0x81c1, 0x13f8: 0x81e9, 0x13f9: 0x8239, 0x13fa: 0x8261, 0x13fb: 0x8289, + 0x13fc: 0x82b1, 0x13fd: 0x82d9, 0x13fe: 0x8301, 0x13ff: 0x8329, + // Block 0x50, offset 0x1400 + 0x1400: 0x8351, 0x1401: 0x8379, 0x1402: 0x83f1, 0x1403: 0x8419, 0x1404: 0x84b9, 0x1405: 0x84e1, + 0x1406: 0x8509, 0x1407: 0x8531, 0x1408: 0x8559, 0x1409: 0x85d1, 0x140a: 0x85f9, 0x140b: 0x8621, + 0x140c: 0x8649, 0x140d: 0x8f89, 0x140e: 0x86c1, 0x140f: 0x86e9, 0x1410: 0x8711, 0x1411: 0x8739, + 0x1412: 0x87b1, 0x1413: 0x87d9, 0x1414: 0x8801, 0x1415: 0x8829, 0x1416: 0x8fb1, 0x1417: 0x88a1, + 0x1418: 0x88c9, 0x1419: 0x8fd9, 0x141a: 0x8941, 0x141b: 0x8969, 0x141c: 0x8991, 0x141d: 0x89b9, + 0x141e: 0x9001, 0x141f: 0x7c71, 0x1420: 0x8ee9, 0x1421: 0x7d39, 0x1422: 0x8f11, 0x1423: 0x7e29, + 0x1424: 0x8f39, 0x1425: 0x7ec9, 0x1426: 0x9029, 0x1427: 0x80d1, 0x1428: 0x9051, 0x1429: 0x9079, + 0x142a: 0x90a1, 0x142b: 0x8531, 0x142c: 0x8559, 0x142d: 0x8649, 0x142e: 0x8829, 0x142f: 0x8fb1, + 0x1430: 0x89b9, 0x1431: 0x9001, 0x1432: 0x90c9, 0x1433: 0x9101, 0x1434: 0x9139, 0x1435: 0x9171, + 0x1436: 0x9199, 0x1437: 0x91c1, 0x1438: 0x91e9, 0x1439: 0x9211, 0x143a: 0x9239, 0x143b: 0x9261, + 0x143c: 0x9289, 0x143d: 0x92b1, 0x143e: 0x92d9, 0x143f: 0x9301, + // Block 0x51, offset 0x1440 + 0x1440: 0x9329, 0x1441: 0x9351, 0x1442: 0x9379, 0x1443: 0x93a1, 0x1444: 0x93c9, 0x1445: 0x93f1, + 0x1446: 0x9419, 0x1447: 0x9441, 0x1448: 0x9469, 0x1449: 0x9491, 0x144a: 0x94b9, 0x144b: 0x94e1, + 0x144c: 0x9079, 0x144d: 0x9509, 0x144e: 0x9531, 0x144f: 0x9559, 0x1450: 0x9581, 0x1451: 0x9171, + 0x1452: 0x9199, 0x1453: 0x91c1, 0x1454: 0x91e9, 0x1455: 0x9211, 0x1456: 0x9239, 0x1457: 0x9261, + 0x1458: 0x9289, 0x1459: 0x92b1, 0x145a: 0x92d9, 0x145b: 0x9301, 0x145c: 0x9329, 0x145d: 0x9351, + 0x145e: 0x9379, 0x145f: 0x93a1, 0x1460: 0x93c9, 0x1461: 0x93f1, 0x1462: 0x9419, 0x1463: 0x9441, + 0x1464: 0x9469, 0x1465: 0x9491, 0x1466: 0x94b9, 0x1467: 0x94e1, 0x1468: 0x9079, 0x1469: 0x9509, + 0x146a: 0x9531, 0x146b: 0x9559, 0x146c: 0x9581, 0x146d: 0x9491, 0x146e: 0x94b9, 0x146f: 0x94e1, + 0x1470: 0x9079, 0x1471: 0x9051, 0x1472: 0x90a1, 0x1473: 0x8211, 0x1474: 0x8059, 0x1475: 0x8081, + 0x1476: 0x80a9, 0x1477: 0x9491, 0x1478: 0x94b9, 0x1479: 0x94e1, 0x147a: 0x8211, 0x147b: 0x8239, + 0x147c: 0x95a9, 0x147d: 0x95a9, 0x147e: 0x0018, 0x147f: 0x0018, + // Block 0x52, offset 0x1480 + 0x1480: 0x0040, 0x1481: 0x0040, 0x1482: 0x0040, 0x1483: 0x0040, 0x1484: 0x0040, 0x1485: 0x0040, + 0x1486: 0x0040, 0x1487: 0x0040, 0x1488: 0x0040, 0x1489: 0x0040, 0x148a: 0x0040, 0x148b: 0x0040, + 0x148c: 0x0040, 0x148d: 0x0040, 0x148e: 0x0040, 0x148f: 0x0040, 0x1490: 0x95d1, 0x1491: 0x9609, + 0x1492: 0x9609, 0x1493: 0x9641, 0x1494: 0x9679, 0x1495: 0x96b1, 0x1496: 0x96e9, 0x1497: 0x9721, + 0x1498: 0x9759, 0x1499: 0x9759, 0x149a: 0x9791, 0x149b: 0x97c9, 0x149c: 0x9801, 0x149d: 0x9839, + 0x149e: 0x9871, 0x149f: 0x98a9, 0x14a0: 0x98a9, 0x14a1: 0x98e1, 0x14a2: 0x9919, 0x14a3: 0x9919, + 0x14a4: 0x9951, 0x14a5: 0x9951, 0x14a6: 0x9989, 0x14a7: 0x99c1, 0x14a8: 0x99c1, 0x14a9: 0x99f9, + 0x14aa: 0x9a31, 0x14ab: 0x9a31, 0x14ac: 0x9a69, 0x14ad: 0x9a69, 0x14ae: 0x9aa1, 0x14af: 0x9ad9, + 0x14b0: 0x9ad9, 0x14b1: 0x9b11, 0x14b2: 0x9b11, 0x14b3: 0x9b49, 0x14b4: 0x9b81, 0x14b5: 0x9bb9, + 0x14b6: 0x9bf1, 0x14b7: 0x9bf1, 0x14b8: 0x9c29, 0x14b9: 0x9c61, 0x14ba: 0x9c99, 0x14bb: 0x9cd1, + 0x14bc: 0x9d09, 0x14bd: 0x9d09, 0x14be: 0x9d41, 0x14bf: 0x9d79, + // Block 0x53, offset 0x14c0 + 0x14c0: 0xa949, 0x14c1: 0xa981, 0x14c2: 0xa9b9, 0x14c3: 0xa8a1, 0x14c4: 0x9bb9, 0x14c5: 0x9989, + 0x14c6: 0xa9f1, 0x14c7: 0xaa29, 0x14c8: 0x0040, 0x14c9: 0x0040, 0x14ca: 0x0040, 0x14cb: 0x0040, + 0x14cc: 0x0040, 0x14cd: 0x0040, 0x14ce: 0x0040, 0x14cf: 0x0040, 0x14d0: 0x0040, 0x14d1: 0x0040, + 0x14d2: 0x0040, 0x14d3: 0x0040, 0x14d4: 0x0040, 0x14d5: 0x0040, 0x14d6: 0x0040, 0x14d7: 0x0040, + 0x14d8: 0x0040, 0x14d9: 0x0040, 0x14da: 0x0040, 0x14db: 0x0040, 0x14dc: 0x0040, 0x14dd: 0x0040, + 0x14de: 0x0040, 0x14df: 0x0040, 0x14e0: 0x0040, 0x14e1: 0x0040, 0x14e2: 0x0040, 0x14e3: 0x0040, + 0x14e4: 0x0040, 0x14e5: 0x0040, 0x14e6: 0x0040, 0x14e7: 0x0040, 0x14e8: 0x0040, 0x14e9: 0x0040, + 0x14ea: 0x0040, 0x14eb: 0x0040, 0x14ec: 0x0040, 0x14ed: 0x0040, 0x14ee: 0x0040, 0x14ef: 0x0040, + 0x14f0: 0xaa61, 0x14f1: 0xaa99, 0x14f2: 0xaad1, 0x14f3: 0xab19, 0x14f4: 0xab61, 0x14f5: 0xaba9, + 0x14f6: 0xabf1, 0x14f7: 0xac39, 0x14f8: 0xac81, 0x14f9: 0xacc9, 0x14fa: 0xad02, 0x14fb: 0xae12, + 0x14fc: 0xae91, 0x14fd: 0x0018, 0x14fe: 0x0040, 0x14ff: 0x0040, + // Block 0x54, offset 0x1500 + 0x1500: 0x33c0, 0x1501: 0x33c0, 0x1502: 0x33c0, 0x1503: 0x33c0, 0x1504: 0x33c0, 0x1505: 0x33c0, + 0x1506: 0x33c0, 0x1507: 0x33c0, 0x1508: 0x33c0, 0x1509: 0x33c0, 0x150a: 0x33c0, 0x150b: 0x33c0, + 0x150c: 0x33c0, 0x150d: 0x33c0, 0x150e: 0x33c0, 0x150f: 0x33c0, 0x1510: 0xaeda, 0x1511: 0x7d55, + 0x1512: 0x0040, 0x1513: 0xaeea, 0x1514: 0x03c2, 0x1515: 0xaefa, 0x1516: 0xaf0a, 0x1517: 0x7d75, + 0x1518: 0x7d95, 0x1519: 0x0040, 0x151a: 0x0040, 0x151b: 0x0040, 0x151c: 0x0040, 0x151d: 0x0040, + 0x151e: 0x0040, 0x151f: 0x0040, 0x1520: 0x3308, 0x1521: 0x3308, 0x1522: 0x3308, 0x1523: 0x3308, + 0x1524: 0x3308, 0x1525: 0x3308, 0x1526: 0x3308, 0x1527: 0x3308, 0x1528: 0x3308, 0x1529: 0x3308, + 0x152a: 0x3308, 0x152b: 0x3308, 0x152c: 0x3308, 0x152d: 0x3308, 0x152e: 0x3308, 0x152f: 0x3308, + 0x1530: 0x0040, 0x1531: 0x7db5, 0x1532: 0x7dd5, 0x1533: 0xaf1a, 0x1534: 0xaf1a, 0x1535: 0x1fd2, + 0x1536: 0x1fe2, 0x1537: 0xaf2a, 0x1538: 0xaf3a, 0x1539: 0x7df5, 0x153a: 0x7e15, 0x153b: 0x7e35, + 0x153c: 0x7df5, 0x153d: 0x7e55, 0x153e: 0x7e75, 0x153f: 0x7e55, + // Block 0x55, offset 0x1540 + 0x1540: 0x7e95, 0x1541: 0x7eb5, 0x1542: 0x7ed5, 0x1543: 0x7eb5, 0x1544: 0x7ef5, 0x1545: 0x0018, + 0x1546: 0x0018, 0x1547: 0xaf4a, 0x1548: 0xaf5a, 0x1549: 0x7f16, 0x154a: 0x7f36, 0x154b: 0x7f56, + 0x154c: 0x7f76, 0x154d: 0xaf1a, 0x154e: 0xaf1a, 0x154f: 0xaf1a, 0x1550: 0xaeda, 0x1551: 0x7f95, + 0x1552: 0x0040, 0x1553: 0x0040, 0x1554: 0x03c2, 0x1555: 0xaeea, 0x1556: 0xaf0a, 0x1557: 0xaefa, + 0x1558: 0x7fb5, 0x1559: 0x1fd2, 0x155a: 0x1fe2, 0x155b: 0xaf2a, 0x155c: 0xaf3a, 0x155d: 0x7e95, + 0x155e: 0x7ef5, 0x155f: 0xaf6a, 0x1560: 0xaf7a, 0x1561: 0xaf8a, 0x1562: 0x1fb2, 0x1563: 0xaf99, + 0x1564: 0xafaa, 0x1565: 0xafba, 0x1566: 0x1fc2, 0x1567: 0x0040, 0x1568: 0xafca, 0x1569: 0xafda, + 0x156a: 0xafea, 0x156b: 0xaffa, 0x156c: 0x0040, 0x156d: 0x0040, 0x156e: 0x0040, 0x156f: 0x0040, + 0x1570: 0x7fd6, 0x1571: 0xb009, 0x1572: 0x7ff6, 0x1573: 0x0808, 0x1574: 0x8016, 0x1575: 0x0040, + 0x1576: 0x8036, 0x1577: 0xb031, 0x1578: 0x8056, 0x1579: 0xb059, 0x157a: 0x8076, 0x157b: 0xb081, + 0x157c: 0x8096, 0x157d: 0xb0a9, 0x157e: 0x80b6, 0x157f: 0xb0d1, + // Block 0x56, offset 0x1580 + 0x1580: 0xb0f9, 0x1581: 0xb111, 0x1582: 0xb111, 0x1583: 0xb129, 0x1584: 0xb129, 0x1585: 0xb141, + 0x1586: 0xb141, 0x1587: 0xb159, 0x1588: 0xb159, 0x1589: 0xb171, 0x158a: 0xb171, 0x158b: 0xb171, + 0x158c: 0xb171, 0x158d: 0xb189, 0x158e: 0xb189, 0x158f: 0xb1a1, 0x1590: 0xb1a1, 0x1591: 0xb1a1, + 0x1592: 0xb1a1, 0x1593: 0xb1b9, 0x1594: 0xb1b9, 0x1595: 0xb1d1, 0x1596: 0xb1d1, 0x1597: 0xb1d1, + 0x1598: 0xb1d1, 0x1599: 0xb1e9, 0x159a: 0xb1e9, 0x159b: 0xb1e9, 0x159c: 0xb1e9, 0x159d: 0xb201, + 0x159e: 0xb201, 0x159f: 0xb201, 0x15a0: 0xb201, 0x15a1: 0xb219, 0x15a2: 0xb219, 0x15a3: 0xb219, + 0x15a4: 0xb219, 0x15a5: 0xb231, 0x15a6: 0xb231, 0x15a7: 0xb231, 0x15a8: 0xb231, 0x15a9: 0xb249, + 0x15aa: 0xb249, 0x15ab: 0xb261, 0x15ac: 0xb261, 0x15ad: 0xb279, 0x15ae: 0xb279, 0x15af: 0xb291, + 0x15b0: 0xb291, 0x15b1: 0xb2a9, 0x15b2: 0xb2a9, 0x15b3: 0xb2a9, 0x15b4: 0xb2a9, 0x15b5: 0xb2c1, + 0x15b6: 0xb2c1, 0x15b7: 0xb2c1, 0x15b8: 0xb2c1, 0x15b9: 0xb2d9, 0x15ba: 0xb2d9, 0x15bb: 0xb2d9, + 0x15bc: 0xb2d9, 0x15bd: 0xb2f1, 0x15be: 0xb2f1, 0x15bf: 0xb2f1, + // Block 0x57, offset 0x15c0 + 0x15c0: 0xb2f1, 0x15c1: 0xb309, 0x15c2: 0xb309, 0x15c3: 0xb309, 0x15c4: 0xb309, 0x15c5: 0xb321, + 0x15c6: 0xb321, 0x15c7: 0xb321, 0x15c8: 0xb321, 0x15c9: 0xb339, 0x15ca: 0xb339, 0x15cb: 0xb339, + 0x15cc: 0xb339, 0x15cd: 0xb351, 0x15ce: 0xb351, 0x15cf: 0xb351, 0x15d0: 0xb351, 0x15d1: 0xb369, + 0x15d2: 0xb369, 0x15d3: 0xb369, 0x15d4: 0xb369, 0x15d5: 0xb381, 0x15d6: 0xb381, 0x15d7: 0xb381, + 0x15d8: 0xb381, 0x15d9: 0xb399, 0x15da: 0xb399, 0x15db: 0xb399, 0x15dc: 0xb399, 0x15dd: 0xb3b1, + 0x15de: 0xb3b1, 0x15df: 0xb3b1, 0x15e0: 0xb3b1, 0x15e1: 0xb3c9, 0x15e2: 0xb3c9, 0x15e3: 0xb3c9, + 0x15e4: 0xb3c9, 0x15e5: 0xb3e1, 0x15e6: 0xb3e1, 0x15e7: 0xb3e1, 0x15e8: 0xb3e1, 0x15e9: 0xb3f9, + 0x15ea: 0xb3f9, 0x15eb: 0xb3f9, 0x15ec: 0xb3f9, 0x15ed: 0xb411, 0x15ee: 0xb411, 0x15ef: 0x7ab1, + 0x15f0: 0x7ab1, 0x15f1: 0xb429, 0x15f2: 0xb429, 0x15f3: 0xb429, 0x15f4: 0xb429, 0x15f5: 0xb441, + 0x15f6: 0xb441, 0x15f7: 0xb469, 0x15f8: 0xb469, 0x15f9: 0xb491, 0x15fa: 0xb491, 0x15fb: 0xb4b9, + 0x15fc: 0xb4b9, 0x15fd: 0x0040, 0x15fe: 0x0040, 0x15ff: 0x03c0, + // Block 0x58, offset 0x1600 + 0x1600: 0x0040, 0x1601: 0xaefa, 0x1602: 0xb4e2, 0x1603: 0xaf6a, 0x1604: 0xafda, 0x1605: 0xafea, + 0x1606: 0xaf7a, 0x1607: 0xb4f2, 0x1608: 0x1fd2, 0x1609: 0x1fe2, 0x160a: 0xaf8a, 0x160b: 0x1fb2, + 0x160c: 0xaeda, 0x160d: 0xaf99, 0x160e: 0x29d1, 0x160f: 0xb502, 0x1610: 0x1f41, 0x1611: 0x00c9, + 0x1612: 0x0069, 0x1613: 0x0079, 0x1614: 0x1f51, 0x1615: 0x1f61, 0x1616: 0x1f71, 0x1617: 0x1f81, + 0x1618: 0x1f91, 0x1619: 0x1fa1, 0x161a: 0xaeea, 0x161b: 0x03c2, 0x161c: 0xafaa, 0x161d: 0x1fc2, + 0x161e: 0xafba, 0x161f: 0xaf0a, 0x1620: 0xaffa, 0x1621: 0x0039, 0x1622: 0x0ee9, 0x1623: 0x1159, + 0x1624: 0x0ef9, 0x1625: 0x0f09, 0x1626: 0x1199, 0x1627: 0x0f31, 0x1628: 0x0249, 0x1629: 0x0f41, + 0x162a: 0x0259, 0x162b: 0x0f51, 0x162c: 0x0359, 0x162d: 0x0f61, 0x162e: 0x0f71, 0x162f: 0x00d9, + 0x1630: 0x0f99, 0x1631: 0x2039, 0x1632: 0x0269, 0x1633: 0x01d9, 0x1634: 0x0fa9, 0x1635: 0x0fb9, + 0x1636: 0x1089, 0x1637: 0x0279, 0x1638: 0x0369, 0x1639: 0x0289, 0x163a: 0x13d1, 0x163b: 0xaf4a, + 0x163c: 0xafca, 0x163d: 0xaf5a, 0x163e: 0xb512, 0x163f: 0xaf1a, + // Block 0x59, offset 0x1640 + 0x1640: 0x1caa, 0x1641: 0x0039, 0x1642: 0x0ee9, 0x1643: 0x1159, 0x1644: 0x0ef9, 0x1645: 0x0f09, + 0x1646: 0x1199, 0x1647: 0x0f31, 0x1648: 0x0249, 0x1649: 0x0f41, 0x164a: 0x0259, 0x164b: 0x0f51, + 0x164c: 0x0359, 0x164d: 0x0f61, 0x164e: 0x0f71, 0x164f: 0x00d9, 0x1650: 0x0f99, 0x1651: 0x2039, + 0x1652: 0x0269, 0x1653: 0x01d9, 0x1654: 0x0fa9, 0x1655: 0x0fb9, 0x1656: 0x1089, 0x1657: 0x0279, + 0x1658: 0x0369, 0x1659: 0x0289, 0x165a: 0x13d1, 0x165b: 0xaf2a, 0x165c: 0xb522, 0x165d: 0xaf3a, + 0x165e: 0xb532, 0x165f: 0x80d5, 0x1660: 0x80f5, 0x1661: 0x29d1, 0x1662: 0x8115, 0x1663: 0x8115, + 0x1664: 0x8135, 0x1665: 0x8155, 0x1666: 0x8175, 0x1667: 0x8195, 0x1668: 0x81b5, 0x1669: 0x81d5, + 0x166a: 0x81f5, 0x166b: 0x8215, 0x166c: 0x8235, 0x166d: 0x8255, 0x166e: 0x8275, 0x166f: 0x8295, + 0x1670: 0x82b5, 0x1671: 0x82d5, 0x1672: 0x82f5, 0x1673: 0x8315, 0x1674: 0x8335, 0x1675: 0x8355, + 0x1676: 0x8375, 0x1677: 0x8395, 0x1678: 0x83b5, 0x1679: 0x83d5, 0x167a: 0x83f5, 0x167b: 0x8415, + 0x167c: 0x81b5, 0x167d: 0x8435, 0x167e: 0x8455, 0x167f: 0x8215, + // Block 0x5a, offset 0x1680 + 0x1680: 0x8475, 0x1681: 0x8495, 0x1682: 0x84b5, 0x1683: 0x84d5, 0x1684: 0x84f5, 0x1685: 0x8515, + 0x1686: 0x8535, 0x1687: 0x8555, 0x1688: 0x84d5, 0x1689: 0x8575, 0x168a: 0x84d5, 0x168b: 0x8595, + 0x168c: 0x8595, 0x168d: 0x85b5, 0x168e: 0x85b5, 0x168f: 0x85d5, 0x1690: 0x8515, 0x1691: 0x85f5, + 0x1692: 0x8615, 0x1693: 0x85f5, 0x1694: 0x8635, 0x1695: 0x8615, 0x1696: 0x8655, 0x1697: 0x8655, + 0x1698: 0x8675, 0x1699: 0x8675, 0x169a: 0x8695, 0x169b: 0x8695, 0x169c: 0x8615, 0x169d: 0x8115, + 0x169e: 0x86b5, 0x169f: 0x86d5, 0x16a0: 0x0040, 0x16a1: 0x86f5, 0x16a2: 0x8715, 0x16a3: 0x8735, + 0x16a4: 0x8755, 0x16a5: 0x8735, 0x16a6: 0x8775, 0x16a7: 0x8795, 0x16a8: 0x87b5, 0x16a9: 0x87b5, + 0x16aa: 0x87d5, 0x16ab: 0x87d5, 0x16ac: 0x87f5, 0x16ad: 0x87f5, 0x16ae: 0x87d5, 0x16af: 0x87d5, + 0x16b0: 0x8815, 0x16b1: 0x8835, 0x16b2: 0x8855, 0x16b3: 0x8875, 0x16b4: 0x8895, 0x16b5: 0x88b5, + 0x16b6: 0x88b5, 0x16b7: 0x88b5, 0x16b8: 0x88d5, 0x16b9: 0x88d5, 0x16ba: 0x88d5, 0x16bb: 0x88d5, + 0x16bc: 0x87b5, 0x16bd: 0x87b5, 0x16be: 0x87b5, 0x16bf: 0x0040, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x0040, 0x16c1: 0x0040, 0x16c2: 0x8715, 0x16c3: 0x86f5, 0x16c4: 0x88f5, 0x16c5: 0x86f5, + 0x16c6: 0x8715, 0x16c7: 0x86f5, 0x16c8: 0x0040, 0x16c9: 0x0040, 0x16ca: 0x8915, 0x16cb: 0x8715, + 0x16cc: 0x8935, 0x16cd: 0x88f5, 0x16ce: 0x8935, 0x16cf: 0x8715, 0x16d0: 0x0040, 0x16d1: 0x0040, + 0x16d2: 0x8955, 0x16d3: 0x8975, 0x16d4: 0x8875, 0x16d5: 0x8935, 0x16d6: 0x88f5, 0x16d7: 0x8935, + 0x16d8: 0x0040, 0x16d9: 0x0040, 0x16da: 0x8995, 0x16db: 0x89b5, 0x16dc: 0x8995, 0x16dd: 0x0040, + 0x16de: 0x0040, 0x16df: 0x0040, 0x16e0: 0xb541, 0x16e1: 0xb559, 0x16e2: 0xb571, 0x16e3: 0x89d6, + 0x16e4: 0xb589, 0x16e5: 0xb5a1, 0x16e6: 0x89f5, 0x16e7: 0x0040, 0x16e8: 0x8a15, 0x16e9: 0x8a35, + 0x16ea: 0x8a55, 0x16eb: 0x8a35, 0x16ec: 0x8a75, 0x16ed: 0x8a95, 0x16ee: 0x8ab5, 0x16ef: 0x0040, + 0x16f0: 0x0040, 0x16f1: 0x0040, 0x16f2: 0x0040, 0x16f3: 0x0040, 0x16f4: 0x0040, 0x16f5: 0x0040, + 0x16f6: 0x0040, 0x16f7: 0x0040, 0x16f8: 0x0040, 0x16f9: 0x0340, 0x16fa: 0x0340, 0x16fb: 0x0340, + 0x16fc: 0x0040, 0x16fd: 0x0040, 0x16fe: 0x0040, 0x16ff: 0x0040, + // Block 0x5c, offset 0x1700 + 0x1700: 0x0a08, 0x1701: 0x0a08, 0x1702: 0x0a08, 0x1703: 0x0a08, 0x1704: 0x0a08, 0x1705: 0x0c08, + 0x1706: 0x0808, 0x1707: 0x0c08, 0x1708: 0x0818, 0x1709: 0x0c08, 0x170a: 0x0c08, 0x170b: 0x0808, + 0x170c: 0x0808, 0x170d: 0x0908, 0x170e: 0x0c08, 0x170f: 0x0c08, 0x1710: 0x0c08, 0x1711: 0x0c08, + 0x1712: 0x0c08, 0x1713: 0x0a08, 0x1714: 0x0a08, 0x1715: 0x0a08, 0x1716: 0x0a08, 0x1717: 0x0908, + 0x1718: 0x0a08, 0x1719: 0x0a08, 0x171a: 0x0a08, 0x171b: 0x0a08, 0x171c: 0x0a08, 0x171d: 0x0c08, + 0x171e: 0x0a08, 0x171f: 0x0a08, 0x1720: 0x0a08, 0x1721: 0x0c08, 0x1722: 0x0808, 0x1723: 0x0808, + 0x1724: 0x0c08, 0x1725: 0x3308, 0x1726: 0x3308, 0x1727: 0x0040, 0x1728: 0x0040, 0x1729: 0x0040, + 0x172a: 0x0040, 0x172b: 0x0a18, 0x172c: 0x0a18, 0x172d: 0x0a18, 0x172e: 0x0a18, 0x172f: 0x0c18, + 0x1730: 0x0818, 0x1731: 0x0818, 0x1732: 0x0818, 0x1733: 0x0818, 0x1734: 0x0818, 0x1735: 0x0818, + 0x1736: 0x0818, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0040, 0x173a: 0x0040, 0x173b: 0x0040, + 0x173c: 0x0040, 0x173d: 0x0040, 0x173e: 0x0040, 0x173f: 0x0040, + // Block 0x5d, offset 0x1740 + 0x1740: 0x0a08, 0x1741: 0x0c08, 0x1742: 0x0a08, 0x1743: 0x0c08, 0x1744: 0x0c08, 0x1745: 0x0c08, + 0x1746: 0x0a08, 0x1747: 0x0a08, 0x1748: 0x0a08, 0x1749: 0x0c08, 0x174a: 0x0a08, 0x174b: 0x0a08, + 0x174c: 0x0c08, 0x174d: 0x0a08, 0x174e: 0x0c08, 0x174f: 0x0c08, 0x1750: 0x0a08, 0x1751: 0x0c08, + 0x1752: 0x0040, 0x1753: 0x0040, 0x1754: 0x0040, 0x1755: 0x0040, 0x1756: 0x0040, 0x1757: 0x0040, + 0x1758: 0x0040, 0x1759: 0x0818, 0x175a: 0x0818, 0x175b: 0x0818, 0x175c: 0x0818, 0x175d: 0x0040, + 0x175e: 0x0040, 0x175f: 0x0040, 0x1760: 0x0040, 0x1761: 0x0040, 0x1762: 0x0040, 0x1763: 0x0040, + 0x1764: 0x0040, 0x1765: 0x0040, 0x1766: 0x0040, 0x1767: 0x0040, 0x1768: 0x0040, 0x1769: 0x0c18, + 0x176a: 0x0c18, 0x176b: 0x0c18, 0x176c: 0x0c18, 0x176d: 0x0a18, 0x176e: 0x0a18, 0x176f: 0x0818, + 0x1770: 0x0040, 0x1771: 0x0040, 0x1772: 0x0040, 0x1773: 0x0040, 0x1774: 0x0040, 0x1775: 0x0040, + 0x1776: 0x0040, 0x1777: 0x0040, 0x1778: 0x0040, 0x1779: 0x0040, 0x177a: 0x0040, 0x177b: 0x0040, + 0x177c: 0x0040, 0x177d: 0x0040, 0x177e: 0x0040, 0x177f: 0x0040, + // Block 0x5e, offset 0x1780 + 0x1780: 0x3308, 0x1781: 0x3308, 0x1782: 0x3008, 0x1783: 0x3008, 0x1784: 0x0040, 0x1785: 0x0008, + 0x1786: 0x0008, 0x1787: 0x0008, 0x1788: 0x0008, 0x1789: 0x0008, 0x178a: 0x0008, 0x178b: 0x0008, + 0x178c: 0x0008, 0x178d: 0x0040, 0x178e: 0x0040, 0x178f: 0x0008, 0x1790: 0x0008, 0x1791: 0x0040, + 0x1792: 0x0040, 0x1793: 0x0008, 0x1794: 0x0008, 0x1795: 0x0008, 0x1796: 0x0008, 0x1797: 0x0008, + 0x1798: 0x0008, 0x1799: 0x0008, 0x179a: 0x0008, 0x179b: 0x0008, 0x179c: 0x0008, 0x179d: 0x0008, + 0x179e: 0x0008, 0x179f: 0x0008, 0x17a0: 0x0008, 0x17a1: 0x0008, 0x17a2: 0x0008, 0x17a3: 0x0008, + 0x17a4: 0x0008, 0x17a5: 0x0008, 0x17a6: 0x0008, 0x17a7: 0x0008, 0x17a8: 0x0008, 0x17a9: 0x0040, + 0x17aa: 0x0008, 0x17ab: 0x0008, 0x17ac: 0x0008, 0x17ad: 0x0008, 0x17ae: 0x0008, 0x17af: 0x0008, + 0x17b0: 0x0008, 0x17b1: 0x0040, 0x17b2: 0x0008, 0x17b3: 0x0008, 0x17b4: 0x0040, 0x17b5: 0x0008, + 0x17b6: 0x0008, 0x17b7: 0x0008, 0x17b8: 0x0008, 0x17b9: 0x0008, 0x17ba: 0x0040, 0x17bb: 0x0040, + 0x17bc: 0x3308, 0x17bd: 0x0008, 0x17be: 0x3008, 0x17bf: 0x3008, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x3308, 0x17c1: 0x3008, 0x17c2: 0x3008, 0x17c3: 0x3008, 0x17c4: 0x3008, 0x17c5: 0x0040, + 0x17c6: 0x0040, 0x17c7: 0x3008, 0x17c8: 0x3008, 0x17c9: 0x0040, 0x17ca: 0x0040, 0x17cb: 0x3008, + 0x17cc: 0x3008, 0x17cd: 0x3808, 0x17ce: 0x0040, 0x17cf: 0x0040, 0x17d0: 0x0008, 0x17d1: 0x0040, + 0x17d2: 0x0040, 0x17d3: 0x0040, 0x17d4: 0x0040, 0x17d5: 0x0040, 0x17d6: 0x0040, 0x17d7: 0x3008, + 0x17d8: 0x0040, 0x17d9: 0x0040, 0x17da: 0x0040, 0x17db: 0x0040, 0x17dc: 0x0040, 0x17dd: 0x0008, + 0x17de: 0x0008, 0x17df: 0x0008, 0x17e0: 0x0008, 0x17e1: 0x0008, 0x17e2: 0x3008, 0x17e3: 0x3008, + 0x17e4: 0x0040, 0x17e5: 0x0040, 0x17e6: 0x3308, 0x17e7: 0x3308, 0x17e8: 0x3308, 0x17e9: 0x3308, + 0x17ea: 0x3308, 0x17eb: 0x3308, 0x17ec: 0x3308, 0x17ed: 0x0040, 0x17ee: 0x0040, 0x17ef: 0x0040, + 0x17f0: 0x3308, 0x17f1: 0x3308, 0x17f2: 0x3308, 0x17f3: 0x3308, 0x17f4: 0x3308, 0x17f5: 0x0040, + 0x17f6: 0x0040, 0x17f7: 0x0040, 0x17f8: 0x0040, 0x17f9: 0x0040, 0x17fa: 0x0040, 0x17fb: 0x0040, + 0x17fc: 0x0040, 0x17fd: 0x0040, 0x17fe: 0x0040, 0x17ff: 0x0040, + // Block 0x60, offset 0x1800 + 0x1800: 0x0039, 0x1801: 0x0ee9, 0x1802: 0x1159, 0x1803: 0x0ef9, 0x1804: 0x0f09, 0x1805: 0x1199, + 0x1806: 0x0f31, 0x1807: 0x0249, 0x1808: 0x0f41, 0x1809: 0x0259, 0x180a: 0x0f51, 0x180b: 0x0359, + 0x180c: 0x0f61, 0x180d: 0x0f71, 0x180e: 0x00d9, 0x180f: 0x0f99, 0x1810: 0x2039, 0x1811: 0x0269, + 0x1812: 0x01d9, 0x1813: 0x0fa9, 0x1814: 0x0fb9, 0x1815: 0x1089, 0x1816: 0x0279, 0x1817: 0x0369, + 0x1818: 0x0289, 0x1819: 0x13d1, 0x181a: 0x0039, 0x181b: 0x0ee9, 0x181c: 0x1159, 0x181d: 0x0ef9, + 0x181e: 0x0f09, 0x181f: 0x1199, 0x1820: 0x0f31, 0x1821: 0x0249, 0x1822: 0x0f41, 0x1823: 0x0259, + 0x1824: 0x0f51, 0x1825: 0x0359, 0x1826: 0x0f61, 0x1827: 0x0f71, 0x1828: 0x00d9, 0x1829: 0x0f99, + 0x182a: 0x2039, 0x182b: 0x0269, 0x182c: 0x01d9, 0x182d: 0x0fa9, 0x182e: 0x0fb9, 0x182f: 0x1089, + 0x1830: 0x0279, 0x1831: 0x0369, 0x1832: 0x0289, 0x1833: 0x13d1, 0x1834: 0x0039, 0x1835: 0x0ee9, + 0x1836: 0x1159, 0x1837: 0x0ef9, 0x1838: 0x0f09, 0x1839: 0x1199, 0x183a: 0x0f31, 0x183b: 0x0249, + 0x183c: 0x0f41, 0x183d: 0x0259, 0x183e: 0x0f51, 0x183f: 0x0359, + // Block 0x61, offset 0x1840 + 0x1840: 0x0f61, 0x1841: 0x0f71, 0x1842: 0x00d9, 0x1843: 0x0f99, 0x1844: 0x2039, 0x1845: 0x0269, + 0x1846: 0x01d9, 0x1847: 0x0fa9, 0x1848: 0x0fb9, 0x1849: 0x1089, 0x184a: 0x0279, 0x184b: 0x0369, + 0x184c: 0x0289, 0x184d: 0x13d1, 0x184e: 0x0039, 0x184f: 0x0ee9, 0x1850: 0x1159, 0x1851: 0x0ef9, + 0x1852: 0x0f09, 0x1853: 0x1199, 0x1854: 0x0f31, 0x1855: 0x0040, 0x1856: 0x0f41, 0x1857: 0x0259, + 0x1858: 0x0f51, 0x1859: 0x0359, 0x185a: 0x0f61, 0x185b: 0x0f71, 0x185c: 0x00d9, 0x185d: 0x0f99, + 0x185e: 0x2039, 0x185f: 0x0269, 0x1860: 0x01d9, 0x1861: 0x0fa9, 0x1862: 0x0fb9, 0x1863: 0x1089, + 0x1864: 0x0279, 0x1865: 0x0369, 0x1866: 0x0289, 0x1867: 0x13d1, 0x1868: 0x0039, 0x1869: 0x0ee9, + 0x186a: 0x1159, 0x186b: 0x0ef9, 0x186c: 0x0f09, 0x186d: 0x1199, 0x186e: 0x0f31, 0x186f: 0x0249, + 0x1870: 0x0f41, 0x1871: 0x0259, 0x1872: 0x0f51, 0x1873: 0x0359, 0x1874: 0x0f61, 0x1875: 0x0f71, + 0x1876: 0x00d9, 0x1877: 0x0f99, 0x1878: 0x2039, 0x1879: 0x0269, 0x187a: 0x01d9, 0x187b: 0x0fa9, + 0x187c: 0x0fb9, 0x187d: 0x1089, 0x187e: 0x0279, 0x187f: 0x0369, + // Block 0x62, offset 0x1880 + 0x1880: 0x0289, 0x1881: 0x13d1, 0x1882: 0x0039, 0x1883: 0x0ee9, 0x1884: 0x1159, 0x1885: 0x0ef9, + 0x1886: 0x0f09, 0x1887: 0x1199, 0x1888: 0x0f31, 0x1889: 0x0249, 0x188a: 0x0f41, 0x188b: 0x0259, + 0x188c: 0x0f51, 0x188d: 0x0359, 0x188e: 0x0f61, 0x188f: 0x0f71, 0x1890: 0x00d9, 0x1891: 0x0f99, + 0x1892: 0x2039, 0x1893: 0x0269, 0x1894: 0x01d9, 0x1895: 0x0fa9, 0x1896: 0x0fb9, 0x1897: 0x1089, + 0x1898: 0x0279, 0x1899: 0x0369, 0x189a: 0x0289, 0x189b: 0x13d1, 0x189c: 0x0039, 0x189d: 0x0040, + 0x189e: 0x1159, 0x189f: 0x0ef9, 0x18a0: 0x0040, 0x18a1: 0x0040, 0x18a2: 0x0f31, 0x18a3: 0x0040, + 0x18a4: 0x0040, 0x18a5: 0x0259, 0x18a6: 0x0f51, 0x18a7: 0x0040, 0x18a8: 0x0040, 0x18a9: 0x0f71, + 0x18aa: 0x00d9, 0x18ab: 0x0f99, 0x18ac: 0x2039, 0x18ad: 0x0040, 0x18ae: 0x01d9, 0x18af: 0x0fa9, + 0x18b0: 0x0fb9, 0x18b1: 0x1089, 0x18b2: 0x0279, 0x18b3: 0x0369, 0x18b4: 0x0289, 0x18b5: 0x13d1, + 0x18b6: 0x0039, 0x18b7: 0x0ee9, 0x18b8: 0x1159, 0x18b9: 0x0ef9, 0x18ba: 0x0040, 0x18bb: 0x1199, + 0x18bc: 0x0040, 0x18bd: 0x0249, 0x18be: 0x0f41, 0x18bf: 0x0259, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x0f51, 0x18c1: 0x0359, 0x18c2: 0x0f61, 0x18c3: 0x0f71, 0x18c4: 0x0040, 0x18c5: 0x0f99, + 0x18c6: 0x2039, 0x18c7: 0x0269, 0x18c8: 0x01d9, 0x18c9: 0x0fa9, 0x18ca: 0x0fb9, 0x18cb: 0x1089, + 0x18cc: 0x0279, 0x18cd: 0x0369, 0x18ce: 0x0289, 0x18cf: 0x13d1, 0x18d0: 0x0039, 0x18d1: 0x0ee9, + 0x18d2: 0x1159, 0x18d3: 0x0ef9, 0x18d4: 0x0f09, 0x18d5: 0x1199, 0x18d6: 0x0f31, 0x18d7: 0x0249, + 0x18d8: 0x0f41, 0x18d9: 0x0259, 0x18da: 0x0f51, 0x18db: 0x0359, 0x18dc: 0x0f61, 0x18dd: 0x0f71, + 0x18de: 0x00d9, 0x18df: 0x0f99, 0x18e0: 0x2039, 0x18e1: 0x0269, 0x18e2: 0x01d9, 0x18e3: 0x0fa9, + 0x18e4: 0x0fb9, 0x18e5: 0x1089, 0x18e6: 0x0279, 0x18e7: 0x0369, 0x18e8: 0x0289, 0x18e9: 0x13d1, + 0x18ea: 0x0039, 0x18eb: 0x0ee9, 0x18ec: 0x1159, 0x18ed: 0x0ef9, 0x18ee: 0x0f09, 0x18ef: 0x1199, + 0x18f0: 0x0f31, 0x18f1: 0x0249, 0x18f2: 0x0f41, 0x18f3: 0x0259, 0x18f4: 0x0f51, 0x18f5: 0x0359, + 0x18f6: 0x0f61, 0x18f7: 0x0f71, 0x18f8: 0x00d9, 0x18f9: 0x0f99, 0x18fa: 0x2039, 0x18fb: 0x0269, + 0x18fc: 0x01d9, 0x18fd: 0x0fa9, 0x18fe: 0x0fb9, 0x18ff: 0x1089, + // Block 0x64, offset 0x1900 + 0x1900: 0x0279, 0x1901: 0x0369, 0x1902: 0x0289, 0x1903: 0x13d1, 0x1904: 0x0039, 0x1905: 0x0ee9, + 0x1906: 0x0040, 0x1907: 0x0ef9, 0x1908: 0x0f09, 0x1909: 0x1199, 0x190a: 0x0f31, 0x190b: 0x0040, + 0x190c: 0x0040, 0x190d: 0x0259, 0x190e: 0x0f51, 0x190f: 0x0359, 0x1910: 0x0f61, 0x1911: 0x0f71, + 0x1912: 0x00d9, 0x1913: 0x0f99, 0x1914: 0x2039, 0x1915: 0x0040, 0x1916: 0x01d9, 0x1917: 0x0fa9, + 0x1918: 0x0fb9, 0x1919: 0x1089, 0x191a: 0x0279, 0x191b: 0x0369, 0x191c: 0x0289, 0x191d: 0x0040, + 0x191e: 0x0039, 0x191f: 0x0ee9, 0x1920: 0x1159, 0x1921: 0x0ef9, 0x1922: 0x0f09, 0x1923: 0x1199, + 0x1924: 0x0f31, 0x1925: 0x0249, 0x1926: 0x0f41, 0x1927: 0x0259, 0x1928: 0x0f51, 0x1929: 0x0359, + 0x192a: 0x0f61, 0x192b: 0x0f71, 0x192c: 0x00d9, 0x192d: 0x0f99, 0x192e: 0x2039, 0x192f: 0x0269, + 0x1930: 0x01d9, 0x1931: 0x0fa9, 0x1932: 0x0fb9, 0x1933: 0x1089, 0x1934: 0x0279, 0x1935: 0x0369, + 0x1936: 0x0289, 0x1937: 0x13d1, 0x1938: 0x0039, 0x1939: 0x0ee9, 0x193a: 0x0040, 0x193b: 0x0ef9, + 0x193c: 0x0f09, 0x193d: 0x1199, 0x193e: 0x0f31, 0x193f: 0x0040, + // Block 0x65, offset 0x1940 + 0x1940: 0x0f41, 0x1941: 0x0259, 0x1942: 0x0f51, 0x1943: 0x0359, 0x1944: 0x0f61, 0x1945: 0x0040, + 0x1946: 0x00d9, 0x1947: 0x0040, 0x1948: 0x0040, 0x1949: 0x0040, 0x194a: 0x01d9, 0x194b: 0x0fa9, + 0x194c: 0x0fb9, 0x194d: 0x1089, 0x194e: 0x0279, 0x194f: 0x0369, 0x1950: 0x0289, 0x1951: 0x0040, + 0x1952: 0x0039, 0x1953: 0x0ee9, 0x1954: 0x1159, 0x1955: 0x0ef9, 0x1956: 0x0f09, 0x1957: 0x1199, + 0x1958: 0x0f31, 0x1959: 0x0249, 0x195a: 0x0f41, 0x195b: 0x0259, 0x195c: 0x0f51, 0x195d: 0x0359, + 0x195e: 0x0f61, 0x195f: 0x0f71, 0x1960: 0x00d9, 0x1961: 0x0f99, 0x1962: 0x2039, 0x1963: 0x0269, + 0x1964: 0x01d9, 0x1965: 0x0fa9, 0x1966: 0x0fb9, 0x1967: 0x1089, 0x1968: 0x0279, 0x1969: 0x0369, + 0x196a: 0x0289, 0x196b: 0x13d1, 0x196c: 0x0039, 0x196d: 0x0ee9, 0x196e: 0x1159, 0x196f: 0x0ef9, + 0x1970: 0x0f09, 0x1971: 0x1199, 0x1972: 0x0f31, 0x1973: 0x0249, 0x1974: 0x0f41, 0x1975: 0x0259, + 0x1976: 0x0f51, 0x1977: 0x0359, 0x1978: 0x0f61, 0x1979: 0x0f71, 0x197a: 0x00d9, 0x197b: 0x0f99, + 0x197c: 0x2039, 0x197d: 0x0269, 0x197e: 0x01d9, 0x197f: 0x0fa9, + // Block 0x66, offset 0x1980 + 0x1980: 0x0fb9, 0x1981: 0x1089, 0x1982: 0x0279, 0x1983: 0x0369, 0x1984: 0x0289, 0x1985: 0x13d1, + 0x1986: 0x0039, 0x1987: 0x0ee9, 0x1988: 0x1159, 0x1989: 0x0ef9, 0x198a: 0x0f09, 0x198b: 0x1199, + 0x198c: 0x0f31, 0x198d: 0x0249, 0x198e: 0x0f41, 0x198f: 0x0259, 0x1990: 0x0f51, 0x1991: 0x0359, + 0x1992: 0x0f61, 0x1993: 0x0f71, 0x1994: 0x00d9, 0x1995: 0x0f99, 0x1996: 0x2039, 0x1997: 0x0269, + 0x1998: 0x01d9, 0x1999: 0x0fa9, 0x199a: 0x0fb9, 0x199b: 0x1089, 0x199c: 0x0279, 0x199d: 0x0369, + 0x199e: 0x0289, 0x199f: 0x13d1, 0x19a0: 0x0039, 0x19a1: 0x0ee9, 0x19a2: 0x1159, 0x19a3: 0x0ef9, + 0x19a4: 0x0f09, 0x19a5: 0x1199, 0x19a6: 0x0f31, 0x19a7: 0x0249, 0x19a8: 0x0f41, 0x19a9: 0x0259, + 0x19aa: 0x0f51, 0x19ab: 0x0359, 0x19ac: 0x0f61, 0x19ad: 0x0f71, 0x19ae: 0x00d9, 0x19af: 0x0f99, + 0x19b0: 0x2039, 0x19b1: 0x0269, 0x19b2: 0x01d9, 0x19b3: 0x0fa9, 0x19b4: 0x0fb9, 0x19b5: 0x1089, + 0x19b6: 0x0279, 0x19b7: 0x0369, 0x19b8: 0x0289, 0x19b9: 0x13d1, 0x19ba: 0x0039, 0x19bb: 0x0ee9, + 0x19bc: 0x1159, 0x19bd: 0x0ef9, 0x19be: 0x0f09, 0x19bf: 0x1199, + // Block 0x67, offset 0x19c0 + 0x19c0: 0x0f31, 0x19c1: 0x0249, 0x19c2: 0x0f41, 0x19c3: 0x0259, 0x19c4: 0x0f51, 0x19c5: 0x0359, + 0x19c6: 0x0f61, 0x19c7: 0x0f71, 0x19c8: 0x00d9, 0x19c9: 0x0f99, 0x19ca: 0x2039, 0x19cb: 0x0269, + 0x19cc: 0x01d9, 0x19cd: 0x0fa9, 0x19ce: 0x0fb9, 0x19cf: 0x1089, 0x19d0: 0x0279, 0x19d1: 0x0369, + 0x19d2: 0x0289, 0x19d3: 0x13d1, 0x19d4: 0x0039, 0x19d5: 0x0ee9, 0x19d6: 0x1159, 0x19d7: 0x0ef9, + 0x19d8: 0x0f09, 0x19d9: 0x1199, 0x19da: 0x0f31, 0x19db: 0x0249, 0x19dc: 0x0f41, 0x19dd: 0x0259, + 0x19de: 0x0f51, 0x19df: 0x0359, 0x19e0: 0x0f61, 0x19e1: 0x0f71, 0x19e2: 0x00d9, 0x19e3: 0x0f99, + 0x19e4: 0x2039, 0x19e5: 0x0269, 0x19e6: 0x01d9, 0x19e7: 0x0fa9, 0x19e8: 0x0fb9, 0x19e9: 0x1089, + 0x19ea: 0x0279, 0x19eb: 0x0369, 0x19ec: 0x0289, 0x19ed: 0x13d1, 0x19ee: 0x0039, 0x19ef: 0x0ee9, + 0x19f0: 0x1159, 0x19f1: 0x0ef9, 0x19f2: 0x0f09, 0x19f3: 0x1199, 0x19f4: 0x0f31, 0x19f5: 0x0249, + 0x19f6: 0x0f41, 0x19f7: 0x0259, 0x19f8: 0x0f51, 0x19f9: 0x0359, 0x19fa: 0x0f61, 0x19fb: 0x0f71, + 0x19fc: 0x00d9, 0x19fd: 0x0f99, 0x19fe: 0x2039, 0x19ff: 0x0269, + // Block 0x68, offset 0x1a00 + 0x1a00: 0x01d9, 0x1a01: 0x0fa9, 0x1a02: 0x0fb9, 0x1a03: 0x1089, 0x1a04: 0x0279, 0x1a05: 0x0369, + 0x1a06: 0x0289, 0x1a07: 0x13d1, 0x1a08: 0x0039, 0x1a09: 0x0ee9, 0x1a0a: 0x1159, 0x1a0b: 0x0ef9, + 0x1a0c: 0x0f09, 0x1a0d: 0x1199, 0x1a0e: 0x0f31, 0x1a0f: 0x0249, 0x1a10: 0x0f41, 0x1a11: 0x0259, + 0x1a12: 0x0f51, 0x1a13: 0x0359, 0x1a14: 0x0f61, 0x1a15: 0x0f71, 0x1a16: 0x00d9, 0x1a17: 0x0f99, + 0x1a18: 0x2039, 0x1a19: 0x0269, 0x1a1a: 0x01d9, 0x1a1b: 0x0fa9, 0x1a1c: 0x0fb9, 0x1a1d: 0x1089, + 0x1a1e: 0x0279, 0x1a1f: 0x0369, 0x1a20: 0x0289, 0x1a21: 0x13d1, 0x1a22: 0x0039, 0x1a23: 0x0ee9, + 0x1a24: 0x1159, 0x1a25: 0x0ef9, 0x1a26: 0x0f09, 0x1a27: 0x1199, 0x1a28: 0x0f31, 0x1a29: 0x0249, + 0x1a2a: 0x0f41, 0x1a2b: 0x0259, 0x1a2c: 0x0f51, 0x1a2d: 0x0359, 0x1a2e: 0x0f61, 0x1a2f: 0x0f71, + 0x1a30: 0x00d9, 0x1a31: 0x0f99, 0x1a32: 0x2039, 0x1a33: 0x0269, 0x1a34: 0x01d9, 0x1a35: 0x0fa9, + 0x1a36: 0x0fb9, 0x1a37: 0x1089, 0x1a38: 0x0279, 0x1a39: 0x0369, 0x1a3a: 0x0289, 0x1a3b: 0x13d1, + 0x1a3c: 0x0039, 0x1a3d: 0x0ee9, 0x1a3e: 0x1159, 0x1a3f: 0x0ef9, + // Block 0x69, offset 0x1a40 + 0x1a40: 0x0f09, 0x1a41: 0x1199, 0x1a42: 0x0f31, 0x1a43: 0x0249, 0x1a44: 0x0f41, 0x1a45: 0x0259, + 0x1a46: 0x0f51, 0x1a47: 0x0359, 0x1a48: 0x0f61, 0x1a49: 0x0f71, 0x1a4a: 0x00d9, 0x1a4b: 0x0f99, + 0x1a4c: 0x2039, 0x1a4d: 0x0269, 0x1a4e: 0x01d9, 0x1a4f: 0x0fa9, 0x1a50: 0x0fb9, 0x1a51: 0x1089, + 0x1a52: 0x0279, 0x1a53: 0x0369, 0x1a54: 0x0289, 0x1a55: 0x13d1, 0x1a56: 0x0039, 0x1a57: 0x0ee9, + 0x1a58: 0x1159, 0x1a59: 0x0ef9, 0x1a5a: 0x0f09, 0x1a5b: 0x1199, 0x1a5c: 0x0f31, 0x1a5d: 0x0249, + 0x1a5e: 0x0f41, 0x1a5f: 0x0259, 0x1a60: 0x0f51, 0x1a61: 0x0359, 0x1a62: 0x0f61, 0x1a63: 0x0f71, + 0x1a64: 0x00d9, 0x1a65: 0x0f99, 0x1a66: 0x2039, 0x1a67: 0x0269, 0x1a68: 0x01d9, 0x1a69: 0x0fa9, + 0x1a6a: 0x0fb9, 0x1a6b: 0x1089, 0x1a6c: 0x0279, 0x1a6d: 0x0369, 0x1a6e: 0x0289, 0x1a6f: 0x13d1, + 0x1a70: 0x0039, 0x1a71: 0x0ee9, 0x1a72: 0x1159, 0x1a73: 0x0ef9, 0x1a74: 0x0f09, 0x1a75: 0x1199, + 0x1a76: 0x0f31, 0x1a77: 0x0249, 0x1a78: 0x0f41, 0x1a79: 0x0259, 0x1a7a: 0x0f51, 0x1a7b: 0x0359, + 0x1a7c: 0x0f61, 0x1a7d: 0x0f71, 0x1a7e: 0x00d9, 0x1a7f: 0x0f99, + // Block 0x6a, offset 0x1a80 + 0x1a80: 0x2039, 0x1a81: 0x0269, 0x1a82: 0x01d9, 0x1a83: 0x0fa9, 0x1a84: 0x0fb9, 0x1a85: 0x1089, + 0x1a86: 0x0279, 0x1a87: 0x0369, 0x1a88: 0x0289, 0x1a89: 0x13d1, 0x1a8a: 0x0039, 0x1a8b: 0x0ee9, + 0x1a8c: 0x1159, 0x1a8d: 0x0ef9, 0x1a8e: 0x0f09, 0x1a8f: 0x1199, 0x1a90: 0x0f31, 0x1a91: 0x0249, + 0x1a92: 0x0f41, 0x1a93: 0x0259, 0x1a94: 0x0f51, 0x1a95: 0x0359, 0x1a96: 0x0f61, 0x1a97: 0x0f71, + 0x1a98: 0x00d9, 0x1a99: 0x0f99, 0x1a9a: 0x2039, 0x1a9b: 0x0269, 0x1a9c: 0x01d9, 0x1a9d: 0x0fa9, + 0x1a9e: 0x0fb9, 0x1a9f: 0x1089, 0x1aa0: 0x0279, 0x1aa1: 0x0369, 0x1aa2: 0x0289, 0x1aa3: 0x13d1, + 0x1aa4: 0xba81, 0x1aa5: 0xba99, 0x1aa6: 0x0040, 0x1aa7: 0x0040, 0x1aa8: 0xbab1, 0x1aa9: 0x1099, + 0x1aaa: 0x10b1, 0x1aab: 0x10c9, 0x1aac: 0xbac9, 0x1aad: 0xbae1, 0x1aae: 0xbaf9, 0x1aaf: 0x1429, + 0x1ab0: 0x1a31, 0x1ab1: 0xbb11, 0x1ab2: 0xbb29, 0x1ab3: 0xbb41, 0x1ab4: 0xbb59, 0x1ab5: 0xbb71, + 0x1ab6: 0xbb89, 0x1ab7: 0x2109, 0x1ab8: 0x1111, 0x1ab9: 0x1429, 0x1aba: 0xbba1, 0x1abb: 0xbbb9, + 0x1abc: 0xbbd1, 0x1abd: 0x10e1, 0x1abe: 0x10f9, 0x1abf: 0xbbe9, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0x2079, 0x1ac1: 0xbc01, 0x1ac2: 0xbab1, 0x1ac3: 0x1099, 0x1ac4: 0x10b1, 0x1ac5: 0x10c9, + 0x1ac6: 0xbac9, 0x1ac7: 0xbae1, 0x1ac8: 0xbaf9, 0x1ac9: 0x1429, 0x1aca: 0x1a31, 0x1acb: 0xbb11, + 0x1acc: 0xbb29, 0x1acd: 0xbb41, 0x1ace: 0xbb59, 0x1acf: 0xbb71, 0x1ad0: 0xbb89, 0x1ad1: 0x2109, + 0x1ad2: 0x1111, 0x1ad3: 0xbba1, 0x1ad4: 0xbba1, 0x1ad5: 0xbbb9, 0x1ad6: 0xbbd1, 0x1ad7: 0x10e1, + 0x1ad8: 0x10f9, 0x1ad9: 0xbbe9, 0x1ada: 0x2079, 0x1adb: 0xbc21, 0x1adc: 0xbac9, 0x1add: 0x1429, + 0x1ade: 0xbb11, 0x1adf: 0x10e1, 0x1ae0: 0x1111, 0x1ae1: 0x2109, 0x1ae2: 0xbab1, 0x1ae3: 0x1099, + 0x1ae4: 0x10b1, 0x1ae5: 0x10c9, 0x1ae6: 0xbac9, 0x1ae7: 0xbae1, 0x1ae8: 0xbaf9, 0x1ae9: 0x1429, + 0x1aea: 0x1a31, 0x1aeb: 0xbb11, 0x1aec: 0xbb29, 0x1aed: 0xbb41, 0x1aee: 0xbb59, 0x1aef: 0xbb71, + 0x1af0: 0xbb89, 0x1af1: 0x2109, 0x1af2: 0x1111, 0x1af3: 0x1429, 0x1af4: 0xbba1, 0x1af5: 0xbbb9, + 0x1af6: 0xbbd1, 0x1af7: 0x10e1, 0x1af8: 0x10f9, 0x1af9: 0xbbe9, 0x1afa: 0x2079, 0x1afb: 0xbc01, + 0x1afc: 0xbab1, 0x1afd: 0x1099, 0x1afe: 0x10b1, 0x1aff: 0x10c9, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0xbac9, 0x1b01: 0xbae1, 0x1b02: 0xbaf9, 0x1b03: 0x1429, 0x1b04: 0x1a31, 0x1b05: 0xbb11, + 0x1b06: 0xbb29, 0x1b07: 0xbb41, 0x1b08: 0xbb59, 0x1b09: 0xbb71, 0x1b0a: 0xbb89, 0x1b0b: 0x2109, + 0x1b0c: 0x1111, 0x1b0d: 0xbba1, 0x1b0e: 0xbba1, 0x1b0f: 0xbbb9, 0x1b10: 0xbbd1, 0x1b11: 0x10e1, + 0x1b12: 0x10f9, 0x1b13: 0xbbe9, 0x1b14: 0x2079, 0x1b15: 0xbc21, 0x1b16: 0xbac9, 0x1b17: 0x1429, + 0x1b18: 0xbb11, 0x1b19: 0x10e1, 0x1b1a: 0x1111, 0x1b1b: 0x2109, 0x1b1c: 0xbab1, 0x1b1d: 0x1099, + 0x1b1e: 0x10b1, 0x1b1f: 0x10c9, 0x1b20: 0xbac9, 0x1b21: 0xbae1, 0x1b22: 0xbaf9, 0x1b23: 0x1429, + 0x1b24: 0x1a31, 0x1b25: 0xbb11, 0x1b26: 0xbb29, 0x1b27: 0xbb41, 0x1b28: 0xbb59, 0x1b29: 0xbb71, + 0x1b2a: 0xbb89, 0x1b2b: 0x2109, 0x1b2c: 0x1111, 0x1b2d: 0x1429, 0x1b2e: 0xbba1, 0x1b2f: 0xbbb9, + 0x1b30: 0xbbd1, 0x1b31: 0x10e1, 0x1b32: 0x10f9, 0x1b33: 0xbbe9, 0x1b34: 0x2079, 0x1b35: 0xbc01, + 0x1b36: 0xbab1, 0x1b37: 0x1099, 0x1b38: 0x10b1, 0x1b39: 0x10c9, 0x1b3a: 0xbac9, 0x1b3b: 0xbae1, + 0x1b3c: 0xbaf9, 0x1b3d: 0x1429, 0x1b3e: 0x1a31, 0x1b3f: 0xbb11, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0xbb29, 0x1b41: 0xbb41, 0x1b42: 0xbb59, 0x1b43: 0xbb71, 0x1b44: 0xbb89, 0x1b45: 0x2109, + 0x1b46: 0x1111, 0x1b47: 0xbba1, 0x1b48: 0xbba1, 0x1b49: 0xbbb9, 0x1b4a: 0xbbd1, 0x1b4b: 0x10e1, + 0x1b4c: 0x10f9, 0x1b4d: 0xbbe9, 0x1b4e: 0x2079, 0x1b4f: 0xbc21, 0x1b50: 0xbac9, 0x1b51: 0x1429, + 0x1b52: 0xbb11, 0x1b53: 0x10e1, 0x1b54: 0x1111, 0x1b55: 0x2109, 0x1b56: 0xbab1, 0x1b57: 0x1099, + 0x1b58: 0x10b1, 0x1b59: 0x10c9, 0x1b5a: 0xbac9, 0x1b5b: 0xbae1, 0x1b5c: 0xbaf9, 0x1b5d: 0x1429, + 0x1b5e: 0x1a31, 0x1b5f: 0xbb11, 0x1b60: 0xbb29, 0x1b61: 0xbb41, 0x1b62: 0xbb59, 0x1b63: 0xbb71, + 0x1b64: 0xbb89, 0x1b65: 0x2109, 0x1b66: 0x1111, 0x1b67: 0x1429, 0x1b68: 0xbba1, 0x1b69: 0xbbb9, + 0x1b6a: 0xbbd1, 0x1b6b: 0x10e1, 0x1b6c: 0x10f9, 0x1b6d: 0xbbe9, 0x1b6e: 0x2079, 0x1b6f: 0xbc01, + 0x1b70: 0xbab1, 0x1b71: 0x1099, 0x1b72: 0x10b1, 0x1b73: 0x10c9, 0x1b74: 0xbac9, 0x1b75: 0xbae1, + 0x1b76: 0xbaf9, 0x1b77: 0x1429, 0x1b78: 0x1a31, 0x1b79: 0xbb11, 0x1b7a: 0xbb29, 0x1b7b: 0xbb41, + 0x1b7c: 0xbb59, 0x1b7d: 0xbb71, 0x1b7e: 0xbb89, 0x1b7f: 0x2109, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0x1111, 0x1b81: 0xbba1, 0x1b82: 0xbba1, 0x1b83: 0xbbb9, 0x1b84: 0xbbd1, 0x1b85: 0x10e1, + 0x1b86: 0x10f9, 0x1b87: 0xbbe9, 0x1b88: 0x2079, 0x1b89: 0xbc21, 0x1b8a: 0xbac9, 0x1b8b: 0x1429, + 0x1b8c: 0xbb11, 0x1b8d: 0x10e1, 0x1b8e: 0x1111, 0x1b8f: 0x2109, 0x1b90: 0xbab1, 0x1b91: 0x1099, + 0x1b92: 0x10b1, 0x1b93: 0x10c9, 0x1b94: 0xbac9, 0x1b95: 0xbae1, 0x1b96: 0xbaf9, 0x1b97: 0x1429, + 0x1b98: 0x1a31, 0x1b99: 0xbb11, 0x1b9a: 0xbb29, 0x1b9b: 0xbb41, 0x1b9c: 0xbb59, 0x1b9d: 0xbb71, + 0x1b9e: 0xbb89, 0x1b9f: 0x2109, 0x1ba0: 0x1111, 0x1ba1: 0x1429, 0x1ba2: 0xbba1, 0x1ba3: 0xbbb9, + 0x1ba4: 0xbbd1, 0x1ba5: 0x10e1, 0x1ba6: 0x10f9, 0x1ba7: 0xbbe9, 0x1ba8: 0x2079, 0x1ba9: 0xbc01, + 0x1baa: 0xbab1, 0x1bab: 0x1099, 0x1bac: 0x10b1, 0x1bad: 0x10c9, 0x1bae: 0xbac9, 0x1baf: 0xbae1, + 0x1bb0: 0xbaf9, 0x1bb1: 0x1429, 0x1bb2: 0x1a31, 0x1bb3: 0xbb11, 0x1bb4: 0xbb29, 0x1bb5: 0xbb41, + 0x1bb6: 0xbb59, 0x1bb7: 0xbb71, 0x1bb8: 0xbb89, 0x1bb9: 0x2109, 0x1bba: 0x1111, 0x1bbb: 0xbba1, + 0x1bbc: 0xbba1, 0x1bbd: 0xbbb9, 0x1bbe: 0xbbd1, 0x1bbf: 0x10e1, + // Block 0x6f, offset 0x1bc0 + 0x1bc0: 0x10f9, 0x1bc1: 0xbbe9, 0x1bc2: 0x2079, 0x1bc3: 0xbc21, 0x1bc4: 0xbac9, 0x1bc5: 0x1429, + 0x1bc6: 0xbb11, 0x1bc7: 0x10e1, 0x1bc8: 0x1111, 0x1bc9: 0x2109, 0x1bca: 0xbc41, 0x1bcb: 0xbc41, + 0x1bcc: 0x0040, 0x1bcd: 0x0040, 0x1bce: 0x1f41, 0x1bcf: 0x00c9, 0x1bd0: 0x0069, 0x1bd1: 0x0079, + 0x1bd2: 0x1f51, 0x1bd3: 0x1f61, 0x1bd4: 0x1f71, 0x1bd5: 0x1f81, 0x1bd6: 0x1f91, 0x1bd7: 0x1fa1, + 0x1bd8: 0x1f41, 0x1bd9: 0x00c9, 0x1bda: 0x0069, 0x1bdb: 0x0079, 0x1bdc: 0x1f51, 0x1bdd: 0x1f61, + 0x1bde: 0x1f71, 0x1bdf: 0x1f81, 0x1be0: 0x1f91, 0x1be1: 0x1fa1, 0x1be2: 0x1f41, 0x1be3: 0x00c9, + 0x1be4: 0x0069, 0x1be5: 0x0079, 0x1be6: 0x1f51, 0x1be7: 0x1f61, 0x1be8: 0x1f71, 0x1be9: 0x1f81, + 0x1bea: 0x1f91, 0x1beb: 0x1fa1, 0x1bec: 0x1f41, 0x1bed: 0x00c9, 0x1bee: 0x0069, 0x1bef: 0x0079, + 0x1bf0: 0x1f51, 0x1bf1: 0x1f61, 0x1bf2: 0x1f71, 0x1bf3: 0x1f81, 0x1bf4: 0x1f91, 0x1bf5: 0x1fa1, + 0x1bf6: 0x1f41, 0x1bf7: 0x00c9, 0x1bf8: 0x0069, 0x1bf9: 0x0079, 0x1bfa: 0x1f51, 0x1bfb: 0x1f61, + 0x1bfc: 0x1f71, 0x1bfd: 0x1f81, 0x1bfe: 0x1f91, 0x1bff: 0x1fa1, + // Block 0x70, offset 0x1c00 + 0x1c00: 0xe115, 0x1c01: 0xe115, 0x1c02: 0xe135, 0x1c03: 0xe135, 0x1c04: 0xe115, 0x1c05: 0xe115, + 0x1c06: 0xe175, 0x1c07: 0xe175, 0x1c08: 0xe115, 0x1c09: 0xe115, 0x1c0a: 0xe135, 0x1c0b: 0xe135, + 0x1c0c: 0xe115, 0x1c0d: 0xe115, 0x1c0e: 0xe1f5, 0x1c0f: 0xe1f5, 0x1c10: 0xe115, 0x1c11: 0xe115, + 0x1c12: 0xe135, 0x1c13: 0xe135, 0x1c14: 0xe115, 0x1c15: 0xe115, 0x1c16: 0xe175, 0x1c17: 0xe175, + 0x1c18: 0xe115, 0x1c19: 0xe115, 0x1c1a: 0xe135, 0x1c1b: 0xe135, 0x1c1c: 0xe115, 0x1c1d: 0xe115, + 0x1c1e: 0x8b05, 0x1c1f: 0x8b05, 0x1c20: 0x04b5, 0x1c21: 0x04b5, 0x1c22: 0x0a08, 0x1c23: 0x0a08, + 0x1c24: 0x0a08, 0x1c25: 0x0a08, 0x1c26: 0x0a08, 0x1c27: 0x0a08, 0x1c28: 0x0a08, 0x1c29: 0x0a08, + 0x1c2a: 0x0a08, 0x1c2b: 0x0a08, 0x1c2c: 0x0a08, 0x1c2d: 0x0a08, 0x1c2e: 0x0a08, 0x1c2f: 0x0a08, + 0x1c30: 0x0a08, 0x1c31: 0x0a08, 0x1c32: 0x0a08, 0x1c33: 0x0a08, 0x1c34: 0x0a08, 0x1c35: 0x0a08, + 0x1c36: 0x0a08, 0x1c37: 0x0a08, 0x1c38: 0x0a08, 0x1c39: 0x0a08, 0x1c3a: 0x0a08, 0x1c3b: 0x0a08, + 0x1c3c: 0x0a08, 0x1c3d: 0x0a08, 0x1c3e: 0x0a08, 0x1c3f: 0x0a08, + // Block 0x71, offset 0x1c40 + 0x1c40: 0xb189, 0x1c41: 0xb1a1, 0x1c42: 0xb201, 0x1c43: 0xb249, 0x1c44: 0x0040, 0x1c45: 0xb411, + 0x1c46: 0xb291, 0x1c47: 0xb219, 0x1c48: 0xb309, 0x1c49: 0xb429, 0x1c4a: 0xb399, 0x1c4b: 0xb3b1, + 0x1c4c: 0xb3c9, 0x1c4d: 0xb3e1, 0x1c4e: 0xb2a9, 0x1c4f: 0xb339, 0x1c50: 0xb369, 0x1c51: 0xb2d9, + 0x1c52: 0xb381, 0x1c53: 0xb279, 0x1c54: 0xb2c1, 0x1c55: 0xb1d1, 0x1c56: 0xb1e9, 0x1c57: 0xb231, + 0x1c58: 0xb261, 0x1c59: 0xb2f1, 0x1c5a: 0xb321, 0x1c5b: 0xb351, 0x1c5c: 0xbc59, 0x1c5d: 0x7949, + 0x1c5e: 0xbc71, 0x1c5f: 0xbc89, 0x1c60: 0x0040, 0x1c61: 0xb1a1, 0x1c62: 0xb201, 0x1c63: 0x0040, + 0x1c64: 0xb3f9, 0x1c65: 0x0040, 0x1c66: 0x0040, 0x1c67: 0xb219, 0x1c68: 0x0040, 0x1c69: 0xb429, + 0x1c6a: 0xb399, 0x1c6b: 0xb3b1, 0x1c6c: 0xb3c9, 0x1c6d: 0xb3e1, 0x1c6e: 0xb2a9, 0x1c6f: 0xb339, + 0x1c70: 0xb369, 0x1c71: 0xb2d9, 0x1c72: 0xb381, 0x1c73: 0x0040, 0x1c74: 0xb2c1, 0x1c75: 0xb1d1, + 0x1c76: 0xb1e9, 0x1c77: 0xb231, 0x1c78: 0x0040, 0x1c79: 0xb2f1, 0x1c7a: 0x0040, 0x1c7b: 0xb351, + 0x1c7c: 0x0040, 0x1c7d: 0x0040, 0x1c7e: 0x0040, 0x1c7f: 0x0040, + // Block 0x72, offset 0x1c80 + 0x1c80: 0x0040, 0x1c81: 0x0040, 0x1c82: 0xb201, 0x1c83: 0x0040, 0x1c84: 0x0040, 0x1c85: 0x0040, + 0x1c86: 0x0040, 0x1c87: 0xb219, 0x1c88: 0x0040, 0x1c89: 0xb429, 0x1c8a: 0x0040, 0x1c8b: 0xb3b1, + 0x1c8c: 0x0040, 0x1c8d: 0xb3e1, 0x1c8e: 0xb2a9, 0x1c8f: 0xb339, 0x1c90: 0x0040, 0x1c91: 0xb2d9, + 0x1c92: 0xb381, 0x1c93: 0x0040, 0x1c94: 0xb2c1, 0x1c95: 0x0040, 0x1c96: 0x0040, 0x1c97: 0xb231, + 0x1c98: 0x0040, 0x1c99: 0xb2f1, 0x1c9a: 0x0040, 0x1c9b: 0xb351, 0x1c9c: 0x0040, 0x1c9d: 0x7949, + 0x1c9e: 0x0040, 0x1c9f: 0xbc89, 0x1ca0: 0x0040, 0x1ca1: 0xb1a1, 0x1ca2: 0xb201, 0x1ca3: 0x0040, + 0x1ca4: 0xb3f9, 0x1ca5: 0x0040, 0x1ca6: 0x0040, 0x1ca7: 0xb219, 0x1ca8: 0xb309, 0x1ca9: 0xb429, + 0x1caa: 0xb399, 0x1cab: 0x0040, 0x1cac: 0xb3c9, 0x1cad: 0xb3e1, 0x1cae: 0xb2a9, 0x1caf: 0xb339, + 0x1cb0: 0xb369, 0x1cb1: 0xb2d9, 0x1cb2: 0xb381, 0x1cb3: 0x0040, 0x1cb4: 0xb2c1, 0x1cb5: 0xb1d1, + 0x1cb6: 0xb1e9, 0x1cb7: 0xb231, 0x1cb8: 0x0040, 0x1cb9: 0xb2f1, 0x1cba: 0xb321, 0x1cbb: 0xb351, + 0x1cbc: 0xbc59, 0x1cbd: 0x0040, 0x1cbe: 0xbc71, 0x1cbf: 0x0040, + // Block 0x73, offset 0x1cc0 + 0x1cc0: 0xb189, 0x1cc1: 0xb1a1, 0x1cc2: 0xb201, 0x1cc3: 0xb249, 0x1cc4: 0xb3f9, 0x1cc5: 0xb411, + 0x1cc6: 0xb291, 0x1cc7: 0xb219, 0x1cc8: 0xb309, 0x1cc9: 0xb429, 0x1cca: 0x0040, 0x1ccb: 0xb3b1, + 0x1ccc: 0xb3c9, 0x1ccd: 0xb3e1, 0x1cce: 0xb2a9, 0x1ccf: 0xb339, 0x1cd0: 0xb369, 0x1cd1: 0xb2d9, + 0x1cd2: 0xb381, 0x1cd3: 0xb279, 0x1cd4: 0xb2c1, 0x1cd5: 0xb1d1, 0x1cd6: 0xb1e9, 0x1cd7: 0xb231, + 0x1cd8: 0xb261, 0x1cd9: 0xb2f1, 0x1cda: 0xb321, 0x1cdb: 0xb351, 0x1cdc: 0x0040, 0x1cdd: 0x0040, + 0x1cde: 0x0040, 0x1cdf: 0x0040, 0x1ce0: 0x0040, 0x1ce1: 0xb1a1, 0x1ce2: 0xb201, 0x1ce3: 0xb249, + 0x1ce4: 0x0040, 0x1ce5: 0xb411, 0x1ce6: 0xb291, 0x1ce7: 0xb219, 0x1ce8: 0xb309, 0x1ce9: 0xb429, + 0x1cea: 0x0040, 0x1ceb: 0xb3b1, 0x1cec: 0xb3c9, 0x1ced: 0xb3e1, 0x1cee: 0xb2a9, 0x1cef: 0xb339, + 0x1cf0: 0xb369, 0x1cf1: 0xb2d9, 0x1cf2: 0xb381, 0x1cf3: 0xb279, 0x1cf4: 0xb2c1, 0x1cf5: 0xb1d1, + 0x1cf6: 0xb1e9, 0x1cf7: 0xb231, 0x1cf8: 0xb261, 0x1cf9: 0xb2f1, 0x1cfa: 0xb321, 0x1cfb: 0xb351, + 0x1cfc: 0x0040, 0x1cfd: 0x0040, 0x1cfe: 0x0040, 0x1cff: 0x0040, + // Block 0x74, offset 0x1d00 + 0x1d00: 0x0040, 0x1d01: 0xbca2, 0x1d02: 0xbcba, 0x1d03: 0xbcd2, 0x1d04: 0xbcea, 0x1d05: 0xbd02, + 0x1d06: 0xbd1a, 0x1d07: 0xbd32, 0x1d08: 0xbd4a, 0x1d09: 0xbd62, 0x1d0a: 0xbd7a, 0x1d0b: 0x0018, + 0x1d0c: 0x0018, 0x1d0d: 0x0040, 0x1d0e: 0x0040, 0x1d0f: 0x0040, 0x1d10: 0xbd92, 0x1d11: 0xbdb2, + 0x1d12: 0xbdd2, 0x1d13: 0xbdf2, 0x1d14: 0xbe12, 0x1d15: 0xbe32, 0x1d16: 0xbe52, 0x1d17: 0xbe72, + 0x1d18: 0xbe92, 0x1d19: 0xbeb2, 0x1d1a: 0xbed2, 0x1d1b: 0xbef2, 0x1d1c: 0xbf12, 0x1d1d: 0xbf32, + 0x1d1e: 0xbf52, 0x1d1f: 0xbf72, 0x1d20: 0xbf92, 0x1d21: 0xbfb2, 0x1d22: 0xbfd2, 0x1d23: 0xbff2, + 0x1d24: 0xc012, 0x1d25: 0xc032, 0x1d26: 0xc052, 0x1d27: 0xc072, 0x1d28: 0xc092, 0x1d29: 0xc0b2, + 0x1d2a: 0xc0d1, 0x1d2b: 0x1159, 0x1d2c: 0x0269, 0x1d2d: 0x6671, 0x1d2e: 0xc111, 0x1d2f: 0x0040, + 0x1d30: 0x0039, 0x1d31: 0x0ee9, 0x1d32: 0x1159, 0x1d33: 0x0ef9, 0x1d34: 0x0f09, 0x1d35: 0x1199, + 0x1d36: 0x0f31, 0x1d37: 0x0249, 0x1d38: 0x0f41, 0x1d39: 0x0259, 0x1d3a: 0x0f51, 0x1d3b: 0x0359, + 0x1d3c: 0x0f61, 0x1d3d: 0x0f71, 0x1d3e: 0x00d9, 0x1d3f: 0x0f99, + // Block 0x75, offset 0x1d40 + 0x1d40: 0x2039, 0x1d41: 0x0269, 0x1d42: 0x01d9, 0x1d43: 0x0fa9, 0x1d44: 0x0fb9, 0x1d45: 0x1089, + 0x1d46: 0x0279, 0x1d47: 0x0369, 0x1d48: 0x0289, 0x1d49: 0x13d1, 0x1d4a: 0xc129, 0x1d4b: 0x65b1, + 0x1d4c: 0xc141, 0x1d4d: 0x1441, 0x1d4e: 0xc159, 0x1d4f: 0xc179, 0x1d50: 0x0018, 0x1d51: 0x0018, + 0x1d52: 0x0018, 0x1d53: 0x0018, 0x1d54: 0x0018, 0x1d55: 0x0018, 0x1d56: 0x0018, 0x1d57: 0x0018, + 0x1d58: 0x0018, 0x1d59: 0x0018, 0x1d5a: 0x0018, 0x1d5b: 0x0018, 0x1d5c: 0x0018, 0x1d5d: 0x0018, + 0x1d5e: 0x0018, 0x1d5f: 0x0018, 0x1d60: 0x0018, 0x1d61: 0x0018, 0x1d62: 0x0018, 0x1d63: 0x0018, + 0x1d64: 0x0018, 0x1d65: 0x0018, 0x1d66: 0x0018, 0x1d67: 0x0018, 0x1d68: 0x0018, 0x1d69: 0x0018, + 0x1d6a: 0xc191, 0x1d6b: 0xc1a9, 0x1d6c: 0x0040, 0x1d6d: 0x0040, 0x1d6e: 0x0040, 0x1d6f: 0x0040, + 0x1d70: 0x0018, 0x1d71: 0x0018, 0x1d72: 0x0018, 0x1d73: 0x0018, 0x1d74: 0x0018, 0x1d75: 0x0018, + 0x1d76: 0x0018, 0x1d77: 0x0018, 0x1d78: 0x0018, 0x1d79: 0x0018, 0x1d7a: 0x0018, 0x1d7b: 0x0018, + 0x1d7c: 0x0018, 0x1d7d: 0x0018, 0x1d7e: 0x0018, 0x1d7f: 0x0018, + // Block 0x76, offset 0x1d80 + 0x1d80: 0xc1d9, 0x1d81: 0xc211, 0x1d82: 0xc249, 0x1d83: 0x0040, 0x1d84: 0x0040, 0x1d85: 0x0040, + 0x1d86: 0x0040, 0x1d87: 0x0040, 0x1d88: 0x0040, 0x1d89: 0x0040, 0x1d8a: 0x0040, 0x1d8b: 0x0040, + 0x1d8c: 0x0040, 0x1d8d: 0x0040, 0x1d8e: 0x0040, 0x1d8f: 0x0040, 0x1d90: 0xc269, 0x1d91: 0xc289, + 0x1d92: 0xc2a9, 0x1d93: 0xc2c9, 0x1d94: 0xc2e9, 0x1d95: 0xc309, 0x1d96: 0xc329, 0x1d97: 0xc349, + 0x1d98: 0xc369, 0x1d99: 0xc389, 0x1d9a: 0xc3a9, 0x1d9b: 0xc3c9, 0x1d9c: 0xc3e9, 0x1d9d: 0xc409, + 0x1d9e: 0xc429, 0x1d9f: 0xc449, 0x1da0: 0xc469, 0x1da1: 0xc489, 0x1da2: 0xc4a9, 0x1da3: 0xc4c9, + 0x1da4: 0xc4e9, 0x1da5: 0xc509, 0x1da6: 0xc529, 0x1da7: 0xc549, 0x1da8: 0xc569, 0x1da9: 0xc589, + 0x1daa: 0xc5a9, 0x1dab: 0xc5c9, 0x1dac: 0xc5e9, 0x1dad: 0xc609, 0x1dae: 0xc629, 0x1daf: 0xc649, + 0x1db0: 0xc669, 0x1db1: 0xc689, 0x1db2: 0xc6a9, 0x1db3: 0xc6c9, 0x1db4: 0xc6e9, 0x1db5: 0xc709, + 0x1db6: 0xc729, 0x1db7: 0xc749, 0x1db8: 0xc769, 0x1db9: 0xc789, 0x1dba: 0xc7a9, 0x1dbb: 0xc7c9, + 0x1dbc: 0x0040, 0x1dbd: 0x0040, 0x1dbe: 0x0040, 0x1dbf: 0x0040, + // Block 0x77, offset 0x1dc0 + 0x1dc0: 0xcaf9, 0x1dc1: 0xcb19, 0x1dc2: 0xcb39, 0x1dc3: 0x8b1d, 0x1dc4: 0xcb59, 0x1dc5: 0xcb79, + 0x1dc6: 0xcb99, 0x1dc7: 0xcbb9, 0x1dc8: 0xcbd9, 0x1dc9: 0xcbf9, 0x1dca: 0xcc19, 0x1dcb: 0xcc39, + 0x1dcc: 0xcc59, 0x1dcd: 0x8b3d, 0x1dce: 0xcc79, 0x1dcf: 0xcc99, 0x1dd0: 0xccb9, 0x1dd1: 0xccd9, + 0x1dd2: 0x8b5d, 0x1dd3: 0xccf9, 0x1dd4: 0xcd19, 0x1dd5: 0xc429, 0x1dd6: 0x8b7d, 0x1dd7: 0xcd39, + 0x1dd8: 0xcd59, 0x1dd9: 0xcd79, 0x1dda: 0xcd99, 0x1ddb: 0xcdb9, 0x1ddc: 0x8b9d, 0x1ddd: 0xcdd9, + 0x1dde: 0xcdf9, 0x1ddf: 0xce19, 0x1de0: 0xce39, 0x1de1: 0xce59, 0x1de2: 0xc789, 0x1de3: 0xce79, + 0x1de4: 0xce99, 0x1de5: 0xceb9, 0x1de6: 0xced9, 0x1de7: 0xcef9, 0x1de8: 0xcf19, 0x1de9: 0xcf39, + 0x1dea: 0xcf59, 0x1deb: 0xcf79, 0x1dec: 0xcf99, 0x1ded: 0xcfb9, 0x1dee: 0xcfd9, 0x1def: 0xcff9, + 0x1df0: 0xd019, 0x1df1: 0xd039, 0x1df2: 0xd039, 0x1df3: 0xd039, 0x1df4: 0x8bbd, 0x1df5: 0xd059, + 0x1df6: 0xd079, 0x1df7: 0xd099, 0x1df8: 0x8bdd, 0x1df9: 0xd0b9, 0x1dfa: 0xd0d9, 0x1dfb: 0xd0f9, + 0x1dfc: 0xd119, 0x1dfd: 0xd139, 0x1dfe: 0xd159, 0x1dff: 0xd179, + // Block 0x78, offset 0x1e00 + 0x1e00: 0xd199, 0x1e01: 0xd1b9, 0x1e02: 0xd1d9, 0x1e03: 0xd1f9, 0x1e04: 0xd219, 0x1e05: 0xd239, + 0x1e06: 0xd239, 0x1e07: 0xd259, 0x1e08: 0xd279, 0x1e09: 0xd299, 0x1e0a: 0xd2b9, 0x1e0b: 0xd2d9, + 0x1e0c: 0xd2f9, 0x1e0d: 0xd319, 0x1e0e: 0xd339, 0x1e0f: 0xd359, 0x1e10: 0xd379, 0x1e11: 0xd399, + 0x1e12: 0xd3b9, 0x1e13: 0xd3d9, 0x1e14: 0xd3f9, 0x1e15: 0xd419, 0x1e16: 0xd439, 0x1e17: 0xd459, + 0x1e18: 0xd479, 0x1e19: 0x8bfd, 0x1e1a: 0xd499, 0x1e1b: 0xd4b9, 0x1e1c: 0xd4d9, 0x1e1d: 0xc309, + 0x1e1e: 0xd4f9, 0x1e1f: 0xd519, 0x1e20: 0x8c1d, 0x1e21: 0x8c3d, 0x1e22: 0xd539, 0x1e23: 0xd559, + 0x1e24: 0xd579, 0x1e25: 0xd599, 0x1e26: 0xd5b9, 0x1e27: 0xd5d9, 0x1e28: 0x2040, 0x1e29: 0xd5f9, + 0x1e2a: 0xd619, 0x1e2b: 0xd619, 0x1e2c: 0x8c5d, 0x1e2d: 0xd639, 0x1e2e: 0xd659, 0x1e2f: 0xd679, + 0x1e30: 0xd699, 0x1e31: 0x8c7d, 0x1e32: 0xd6b9, 0x1e33: 0xd6d9, 0x1e34: 0x2040, 0x1e35: 0xd6f9, + 0x1e36: 0xd719, 0x1e37: 0xd739, 0x1e38: 0xd759, 0x1e39: 0xd779, 0x1e3a: 0xd799, 0x1e3b: 0x8c9d, + 0x1e3c: 0xd7b9, 0x1e3d: 0x8cbd, 0x1e3e: 0xd7d9, 0x1e3f: 0xd7f9, + // Block 0x79, offset 0x1e40 + 0x1e40: 0xd819, 0x1e41: 0xd839, 0x1e42: 0xd859, 0x1e43: 0xd879, 0x1e44: 0xd899, 0x1e45: 0xd8b9, + 0x1e46: 0xd8d9, 0x1e47: 0xd8f9, 0x1e48: 0xd919, 0x1e49: 0x8cdd, 0x1e4a: 0xd939, 0x1e4b: 0xd959, + 0x1e4c: 0xd979, 0x1e4d: 0xd999, 0x1e4e: 0xd9b9, 0x1e4f: 0x8cfd, 0x1e50: 0xd9d9, 0x1e51: 0x8d1d, + 0x1e52: 0x8d3d, 0x1e53: 0xd9f9, 0x1e54: 0xda19, 0x1e55: 0xda19, 0x1e56: 0xda39, 0x1e57: 0x8d5d, + 0x1e58: 0x8d7d, 0x1e59: 0xda59, 0x1e5a: 0xda79, 0x1e5b: 0xda99, 0x1e5c: 0xdab9, 0x1e5d: 0xdad9, + 0x1e5e: 0xdaf9, 0x1e5f: 0xdb19, 0x1e60: 0xdb39, 0x1e61: 0xdb59, 0x1e62: 0xdb79, 0x1e63: 0xdb99, + 0x1e64: 0x8d9d, 0x1e65: 0xdbb9, 0x1e66: 0xdbd9, 0x1e67: 0xdbf9, 0x1e68: 0xdc19, 0x1e69: 0xdbf9, + 0x1e6a: 0xdc39, 0x1e6b: 0xdc59, 0x1e6c: 0xdc79, 0x1e6d: 0xdc99, 0x1e6e: 0xdcb9, 0x1e6f: 0xdcd9, + 0x1e70: 0xdcf9, 0x1e71: 0xdd19, 0x1e72: 0xdd39, 0x1e73: 0xdd59, 0x1e74: 0xdd79, 0x1e75: 0xdd99, + 0x1e76: 0xddb9, 0x1e77: 0xddd9, 0x1e78: 0x8dbd, 0x1e79: 0xddf9, 0x1e7a: 0xde19, 0x1e7b: 0xde39, + 0x1e7c: 0xde59, 0x1e7d: 0xde79, 0x1e7e: 0x8ddd, 0x1e7f: 0xde99, + // Block 0x7a, offset 0x1e80 + 0x1e80: 0xe599, 0x1e81: 0xe5b9, 0x1e82: 0xe5d9, 0x1e83: 0xe5f9, 0x1e84: 0xe619, 0x1e85: 0xe639, + 0x1e86: 0x8efd, 0x1e87: 0xe659, 0x1e88: 0xe679, 0x1e89: 0xe699, 0x1e8a: 0xe6b9, 0x1e8b: 0xe6d9, + 0x1e8c: 0xe6f9, 0x1e8d: 0x8f1d, 0x1e8e: 0xe719, 0x1e8f: 0xe739, 0x1e90: 0x8f3d, 0x1e91: 0x8f5d, + 0x1e92: 0xe759, 0x1e93: 0xe779, 0x1e94: 0xe799, 0x1e95: 0xe7b9, 0x1e96: 0xe7d9, 0x1e97: 0xe7f9, + 0x1e98: 0xe819, 0x1e99: 0xe839, 0x1e9a: 0xe859, 0x1e9b: 0x8f7d, 0x1e9c: 0xe879, 0x1e9d: 0x8f9d, + 0x1e9e: 0xe899, 0x1e9f: 0x2040, 0x1ea0: 0xe8b9, 0x1ea1: 0xe8d9, 0x1ea2: 0xe8f9, 0x1ea3: 0x8fbd, + 0x1ea4: 0xe919, 0x1ea5: 0xe939, 0x1ea6: 0x8fdd, 0x1ea7: 0x8ffd, 0x1ea8: 0xe959, 0x1ea9: 0xe979, + 0x1eaa: 0xe999, 0x1eab: 0xe9b9, 0x1eac: 0xe9d9, 0x1ead: 0xe9d9, 0x1eae: 0xe9f9, 0x1eaf: 0xea19, + 0x1eb0: 0xea39, 0x1eb1: 0xea59, 0x1eb2: 0xea79, 0x1eb3: 0xea99, 0x1eb4: 0xeab9, 0x1eb5: 0x901d, + 0x1eb6: 0xead9, 0x1eb7: 0x903d, 0x1eb8: 0xeaf9, 0x1eb9: 0x905d, 0x1eba: 0xeb19, 0x1ebb: 0x907d, + 0x1ebc: 0x909d, 0x1ebd: 0x90bd, 0x1ebe: 0xeb39, 0x1ebf: 0xeb59, + // Block 0x7b, offset 0x1ec0 + 0x1ec0: 0xeb79, 0x1ec1: 0x90dd, 0x1ec2: 0x90fd, 0x1ec3: 0x911d, 0x1ec4: 0x913d, 0x1ec5: 0xeb99, + 0x1ec6: 0xebb9, 0x1ec7: 0xebb9, 0x1ec8: 0xebd9, 0x1ec9: 0xebf9, 0x1eca: 0xec19, 0x1ecb: 0xec39, + 0x1ecc: 0xec59, 0x1ecd: 0x915d, 0x1ece: 0xec79, 0x1ecf: 0xec99, 0x1ed0: 0xecb9, 0x1ed1: 0xecd9, + 0x1ed2: 0x917d, 0x1ed3: 0xecf9, 0x1ed4: 0x919d, 0x1ed5: 0x91bd, 0x1ed6: 0xed19, 0x1ed7: 0xed39, + 0x1ed8: 0xed59, 0x1ed9: 0xed79, 0x1eda: 0xed99, 0x1edb: 0xedb9, 0x1edc: 0x91dd, 0x1edd: 0x91fd, + 0x1ede: 0x921d, 0x1edf: 0x2040, 0x1ee0: 0xedd9, 0x1ee1: 0x923d, 0x1ee2: 0xedf9, 0x1ee3: 0xee19, + 0x1ee4: 0xee39, 0x1ee5: 0x925d, 0x1ee6: 0xee59, 0x1ee7: 0xee79, 0x1ee8: 0xee99, 0x1ee9: 0xeeb9, + 0x1eea: 0xeed9, 0x1eeb: 0x927d, 0x1eec: 0xeef9, 0x1eed: 0xef19, 0x1eee: 0xef39, 0x1eef: 0xef59, + 0x1ef0: 0xef79, 0x1ef1: 0xef99, 0x1ef2: 0x929d, 0x1ef3: 0x92bd, 0x1ef4: 0xefb9, 0x1ef5: 0x92dd, + 0x1ef6: 0xefd9, 0x1ef7: 0x92fd, 0x1ef8: 0xeff9, 0x1ef9: 0xf019, 0x1efa: 0xf039, 0x1efb: 0x931d, + 0x1efc: 0x933d, 0x1efd: 0xf059, 0x1efe: 0x935d, 0x1eff: 0xf079, + // Block 0x7c, offset 0x1f00 + 0x1f00: 0xf6b9, 0x1f01: 0xf6d9, 0x1f02: 0xf6f9, 0x1f03: 0xf719, 0x1f04: 0xf739, 0x1f05: 0x951d, + 0x1f06: 0xf759, 0x1f07: 0xf779, 0x1f08: 0xf799, 0x1f09: 0xf7b9, 0x1f0a: 0xf7d9, 0x1f0b: 0x953d, + 0x1f0c: 0x955d, 0x1f0d: 0xf7f9, 0x1f0e: 0xf819, 0x1f0f: 0xf839, 0x1f10: 0xf859, 0x1f11: 0xf879, + 0x1f12: 0xf899, 0x1f13: 0x957d, 0x1f14: 0xf8b9, 0x1f15: 0xf8d9, 0x1f16: 0xf8f9, 0x1f17: 0xf919, + 0x1f18: 0x959d, 0x1f19: 0x95bd, 0x1f1a: 0xf939, 0x1f1b: 0xf959, 0x1f1c: 0xf979, 0x1f1d: 0x95dd, + 0x1f1e: 0xf999, 0x1f1f: 0xf9b9, 0x1f20: 0x6815, 0x1f21: 0x95fd, 0x1f22: 0xf9d9, 0x1f23: 0xf9f9, + 0x1f24: 0xfa19, 0x1f25: 0x961d, 0x1f26: 0xfa39, 0x1f27: 0xfa59, 0x1f28: 0xfa79, 0x1f29: 0xfa99, + 0x1f2a: 0xfab9, 0x1f2b: 0xfad9, 0x1f2c: 0xfaf9, 0x1f2d: 0x963d, 0x1f2e: 0xfb19, 0x1f2f: 0xfb39, + 0x1f30: 0xfb59, 0x1f31: 0x965d, 0x1f32: 0xfb79, 0x1f33: 0xfb99, 0x1f34: 0xfbb9, 0x1f35: 0xfbd9, + 0x1f36: 0x7b35, 0x1f37: 0x967d, 0x1f38: 0xfbf9, 0x1f39: 0xfc19, 0x1f3a: 0xfc39, 0x1f3b: 0x969d, + 0x1f3c: 0xfc59, 0x1f3d: 0x96bd, 0x1f3e: 0xfc79, 0x1f3f: 0xfc79, + // Block 0x7d, offset 0x1f40 + 0x1f40: 0xfc99, 0x1f41: 0x96dd, 0x1f42: 0xfcb9, 0x1f43: 0xfcd9, 0x1f44: 0xfcf9, 0x1f45: 0xfd19, + 0x1f46: 0xfd39, 0x1f47: 0xfd59, 0x1f48: 0xfd79, 0x1f49: 0x96fd, 0x1f4a: 0xfd99, 0x1f4b: 0xfdb9, + 0x1f4c: 0xfdd9, 0x1f4d: 0xfdf9, 0x1f4e: 0xfe19, 0x1f4f: 0xfe39, 0x1f50: 0x971d, 0x1f51: 0xfe59, + 0x1f52: 0x973d, 0x1f53: 0x975d, 0x1f54: 0x977d, 0x1f55: 0xfe79, 0x1f56: 0xfe99, 0x1f57: 0xfeb9, + 0x1f58: 0xfed9, 0x1f59: 0xfef9, 0x1f5a: 0xff19, 0x1f5b: 0xff39, 0x1f5c: 0xff59, 0x1f5d: 0x979d, + 0x1f5e: 0x0040, 0x1f5f: 0x0040, 0x1f60: 0x0040, 0x1f61: 0x0040, 0x1f62: 0x0040, 0x1f63: 0x0040, + 0x1f64: 0x0040, 0x1f65: 0x0040, 0x1f66: 0x0040, 0x1f67: 0x0040, 0x1f68: 0x0040, 0x1f69: 0x0040, + 0x1f6a: 0x0040, 0x1f6b: 0x0040, 0x1f6c: 0x0040, 0x1f6d: 0x0040, 0x1f6e: 0x0040, 0x1f6f: 0x0040, + 0x1f70: 0x0040, 0x1f71: 0x0040, 0x1f72: 0x0040, 0x1f73: 0x0040, 0x1f74: 0x0040, 0x1f75: 0x0040, + 0x1f76: 0x0040, 0x1f77: 0x0040, 0x1f78: 0x0040, 0x1f79: 0x0040, 0x1f7a: 0x0040, 0x1f7b: 0x0040, + 0x1f7c: 0x0040, 0x1f7d: 0x0040, 0x1f7e: 0x0040, 0x1f7f: 0x0040, +} + +// idnaIndex: 35 blocks, 2240 entries, 4480 bytes +// Block 0 is the zero block. +var idnaIndex = [2240]uint16{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x7c, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05, + 0xc8: 0x06, 0xc9: 0x7d, 0xca: 0x7e, 0xcb: 0x07, 0xcc: 0x7f, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a, + 0xd0: 0x80, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x81, 0xd6: 0x82, 0xd7: 0x83, + 0xd8: 0x0f, 0xd9: 0x10, 0xda: 0x84, 0xdb: 0x11, 0xdc: 0x12, 0xdd: 0x85, 0xde: 0x86, 0xdf: 0x87, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07, + 0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x0a, 0xee: 0x0b, 0xef: 0x0c, + 0xf0: 0x1c, 0xf1: 0x1d, 0xf2: 0x1d, 0xf3: 0x1f, 0xf4: 0x20, + // Block 0x4, offset 0x100 + 0x120: 0x88, 0x121: 0x89, 0x122: 0x8a, 0x123: 0x8b, 0x124: 0x8c, 0x125: 0x13, 0x126: 0x14, 0x127: 0x15, + 0x128: 0x16, 0x129: 0x17, 0x12a: 0x18, 0x12b: 0x19, 0x12c: 0x1a, 0x12d: 0x1b, 0x12e: 0x1c, 0x12f: 0x8d, + 0x130: 0x8e, 0x131: 0x1d, 0x132: 0x1e, 0x133: 0x1f, 0x134: 0x8f, 0x135: 0x20, 0x136: 0x90, 0x137: 0x91, + 0x138: 0x92, 0x139: 0x93, 0x13a: 0x21, 0x13b: 0x94, 0x13c: 0x95, 0x13d: 0x22, 0x13e: 0x23, 0x13f: 0x96, + // Block 0x5, offset 0x140 + 0x140: 0x97, 0x141: 0x98, 0x142: 0x99, 0x143: 0x9a, 0x144: 0x9b, 0x145: 0x9c, 0x146: 0x9d, 0x147: 0x9e, + 0x148: 0x9f, 0x149: 0xa0, 0x14a: 0xa1, 0x14b: 0xa2, 0x14c: 0xa3, 0x14d: 0xa4, 0x14e: 0xa5, 0x14f: 0xa6, + 0x150: 0xa7, 0x151: 0x9f, 0x152: 0x9f, 0x153: 0x9f, 0x154: 0x9f, 0x155: 0x9f, 0x156: 0x9f, 0x157: 0x9f, + 0x158: 0x9f, 0x159: 0xa8, 0x15a: 0xa9, 0x15b: 0xaa, 0x15c: 0xab, 0x15d: 0xac, 0x15e: 0xad, 0x15f: 0xae, + 0x160: 0xaf, 0x161: 0xb0, 0x162: 0xb1, 0x163: 0xb2, 0x164: 0xb3, 0x165: 0xb4, 0x166: 0xb5, 0x167: 0xb6, + 0x168: 0xb7, 0x169: 0xb8, 0x16a: 0xb9, 0x16b: 0xba, 0x16c: 0xbb, 0x16d: 0xbc, 0x16e: 0xbd, 0x16f: 0xbe, + 0x170: 0xbf, 0x171: 0xc0, 0x172: 0xc1, 0x173: 0xc2, 0x174: 0x24, 0x175: 0x25, 0x176: 0x26, 0x177: 0xc3, + 0x178: 0x27, 0x179: 0x27, 0x17a: 0x28, 0x17b: 0x27, 0x17c: 0xc4, 0x17d: 0x29, 0x17e: 0x2a, 0x17f: 0x2b, + // Block 0x6, offset 0x180 + 0x180: 0x2c, 0x181: 0x2d, 0x182: 0x2e, 0x183: 0xc5, 0x184: 0x2f, 0x185: 0x30, 0x186: 0xc6, 0x187: 0x9b, + 0x188: 0xc7, 0x189: 0xc8, 0x18a: 0x9b, 0x18b: 0x9b, 0x18c: 0xc9, 0x18d: 0x9b, 0x18e: 0x9b, 0x18f: 0xca, + 0x190: 0xcb, 0x191: 0x31, 0x192: 0x32, 0x193: 0x33, 0x194: 0x9b, 0x195: 0x9b, 0x196: 0x9b, 0x197: 0x9b, + 0x198: 0x9b, 0x199: 0x9b, 0x19a: 0x9b, 0x19b: 0x9b, 0x19c: 0x9b, 0x19d: 0x9b, 0x19e: 0x9b, 0x19f: 0x9b, + 0x1a0: 0x9b, 0x1a1: 0x9b, 0x1a2: 0x9b, 0x1a3: 0x9b, 0x1a4: 0x9b, 0x1a5: 0x9b, 0x1a6: 0x9b, 0x1a7: 0x9b, + 0x1a8: 0xcc, 0x1a9: 0xcd, 0x1aa: 0x9b, 0x1ab: 0xce, 0x1ac: 0x9b, 0x1ad: 0xcf, 0x1ae: 0xd0, 0x1af: 0xd1, + 0x1b0: 0xd2, 0x1b1: 0x34, 0x1b2: 0x27, 0x1b3: 0x35, 0x1b4: 0xd3, 0x1b5: 0xd4, 0x1b6: 0xd5, 0x1b7: 0xd6, + 0x1b8: 0xd7, 0x1b9: 0xd8, 0x1ba: 0xd9, 0x1bb: 0xda, 0x1bc: 0xdb, 0x1bd: 0xdc, 0x1be: 0xdd, 0x1bf: 0x36, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x37, 0x1c1: 0xde, 0x1c2: 0xdf, 0x1c3: 0xe0, 0x1c4: 0xe1, 0x1c5: 0x38, 0x1c6: 0x39, 0x1c7: 0xe2, + 0x1c8: 0xe3, 0x1c9: 0x3a, 0x1ca: 0x3b, 0x1cb: 0x3c, 0x1cc: 0x3d, 0x1cd: 0x3e, 0x1ce: 0x3f, 0x1cf: 0x40, + 0x1d0: 0x9f, 0x1d1: 0x9f, 0x1d2: 0x9f, 0x1d3: 0x9f, 0x1d4: 0x9f, 0x1d5: 0x9f, 0x1d6: 0x9f, 0x1d7: 0x9f, + 0x1d8: 0x9f, 0x1d9: 0x9f, 0x1da: 0x9f, 0x1db: 0x9f, 0x1dc: 0x9f, 0x1dd: 0x9f, 0x1de: 0x9f, 0x1df: 0x9f, + 0x1e0: 0x9f, 0x1e1: 0x9f, 0x1e2: 0x9f, 0x1e3: 0x9f, 0x1e4: 0x9f, 0x1e5: 0x9f, 0x1e6: 0x9f, 0x1e7: 0x9f, + 0x1e8: 0x9f, 0x1e9: 0x9f, 0x1ea: 0x9f, 0x1eb: 0x9f, 0x1ec: 0x9f, 0x1ed: 0x9f, 0x1ee: 0x9f, 0x1ef: 0x9f, + 0x1f0: 0x9f, 0x1f1: 0x9f, 0x1f2: 0x9f, 0x1f3: 0x9f, 0x1f4: 0x9f, 0x1f5: 0x9f, 0x1f6: 0x9f, 0x1f7: 0x9f, + 0x1f8: 0x9f, 0x1f9: 0x9f, 0x1fa: 0x9f, 0x1fb: 0x9f, 0x1fc: 0x9f, 0x1fd: 0x9f, 0x1fe: 0x9f, 0x1ff: 0x9f, + // Block 0x8, offset 0x200 + 0x200: 0x9f, 0x201: 0x9f, 0x202: 0x9f, 0x203: 0x9f, 0x204: 0x9f, 0x205: 0x9f, 0x206: 0x9f, 0x207: 0x9f, + 0x208: 0x9f, 0x209: 0x9f, 0x20a: 0x9f, 0x20b: 0x9f, 0x20c: 0x9f, 0x20d: 0x9f, 0x20e: 0x9f, 0x20f: 0x9f, + 0x210: 0x9f, 0x211: 0x9f, 0x212: 0x9f, 0x213: 0x9f, 0x214: 0x9f, 0x215: 0x9f, 0x216: 0x9f, 0x217: 0x9f, + 0x218: 0x9f, 0x219: 0x9f, 0x21a: 0x9f, 0x21b: 0x9f, 0x21c: 0x9f, 0x21d: 0x9f, 0x21e: 0x9f, 0x21f: 0x9f, + 0x220: 0x9f, 0x221: 0x9f, 0x222: 0x9f, 0x223: 0x9f, 0x224: 0x9f, 0x225: 0x9f, 0x226: 0x9f, 0x227: 0x9f, + 0x228: 0x9f, 0x229: 0x9f, 0x22a: 0x9f, 0x22b: 0x9f, 0x22c: 0x9f, 0x22d: 0x9f, 0x22e: 0x9f, 0x22f: 0x9f, + 0x230: 0x9f, 0x231: 0x9f, 0x232: 0x9f, 0x233: 0x9f, 0x234: 0x9f, 0x235: 0x9f, 0x236: 0xb2, 0x237: 0x9b, + 0x238: 0x9f, 0x239: 0x9f, 0x23a: 0x9f, 0x23b: 0x9f, 0x23c: 0x9f, 0x23d: 0x9f, 0x23e: 0x9f, 0x23f: 0x9f, + // Block 0x9, offset 0x240 + 0x240: 0x9f, 0x241: 0x9f, 0x242: 0x9f, 0x243: 0x9f, 0x244: 0x9f, 0x245: 0x9f, 0x246: 0x9f, 0x247: 0x9f, + 0x248: 0x9f, 0x249: 0x9f, 0x24a: 0x9f, 0x24b: 0x9f, 0x24c: 0x9f, 0x24d: 0x9f, 0x24e: 0x9f, 0x24f: 0x9f, + 0x250: 0x9f, 0x251: 0x9f, 0x252: 0x9f, 0x253: 0x9f, 0x254: 0x9f, 0x255: 0x9f, 0x256: 0x9f, 0x257: 0x9f, + 0x258: 0x9f, 0x259: 0x9f, 0x25a: 0x9f, 0x25b: 0x9f, 0x25c: 0x9f, 0x25d: 0x9f, 0x25e: 0x9f, 0x25f: 0x9f, + 0x260: 0x9f, 0x261: 0x9f, 0x262: 0x9f, 0x263: 0x9f, 0x264: 0x9f, 0x265: 0x9f, 0x266: 0x9f, 0x267: 0x9f, + 0x268: 0x9f, 0x269: 0x9f, 0x26a: 0x9f, 0x26b: 0x9f, 0x26c: 0x9f, 0x26d: 0x9f, 0x26e: 0x9f, 0x26f: 0x9f, + 0x270: 0x9f, 0x271: 0x9f, 0x272: 0x9f, 0x273: 0x9f, 0x274: 0x9f, 0x275: 0x9f, 0x276: 0x9f, 0x277: 0x9f, + 0x278: 0x9f, 0x279: 0x9f, 0x27a: 0x9f, 0x27b: 0x9f, 0x27c: 0x9f, 0x27d: 0x9f, 0x27e: 0x9f, 0x27f: 0x9f, + // Block 0xa, offset 0x280 + 0x280: 0x9f, 0x281: 0x9f, 0x282: 0x9f, 0x283: 0x9f, 0x284: 0x9f, 0x285: 0x9f, 0x286: 0x9f, 0x287: 0x9f, + 0x288: 0x9f, 0x289: 0x9f, 0x28a: 0x9f, 0x28b: 0x9f, 0x28c: 0x9f, 0x28d: 0x9f, 0x28e: 0x9f, 0x28f: 0x9f, + 0x290: 0x9f, 0x291: 0x9f, 0x292: 0x9f, 0x293: 0x9f, 0x294: 0x9f, 0x295: 0x9f, 0x296: 0x9f, 0x297: 0x9f, + 0x298: 0x9f, 0x299: 0x9f, 0x29a: 0x9f, 0x29b: 0x9f, 0x29c: 0x9f, 0x29d: 0x9f, 0x29e: 0x9f, 0x29f: 0x9f, + 0x2a0: 0x9f, 0x2a1: 0x9f, 0x2a2: 0x9f, 0x2a3: 0x9f, 0x2a4: 0x9f, 0x2a5: 0x9f, 0x2a6: 0x9f, 0x2a7: 0x9f, + 0x2a8: 0x9f, 0x2a9: 0x9f, 0x2aa: 0x9f, 0x2ab: 0x9f, 0x2ac: 0x9f, 0x2ad: 0x9f, 0x2ae: 0x9f, 0x2af: 0x9f, + 0x2b0: 0x9f, 0x2b1: 0x9f, 0x2b2: 0x9f, 0x2b3: 0x9f, 0x2b4: 0x9f, 0x2b5: 0x9f, 0x2b6: 0x9f, 0x2b7: 0x9f, + 0x2b8: 0x9f, 0x2b9: 0x9f, 0x2ba: 0x9f, 0x2bb: 0x9f, 0x2bc: 0x9f, 0x2bd: 0x9f, 0x2be: 0x9f, 0x2bf: 0xe4, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x9f, 0x2c1: 0x9f, 0x2c2: 0x9f, 0x2c3: 0x9f, 0x2c4: 0x9f, 0x2c5: 0x9f, 0x2c6: 0x9f, 0x2c7: 0x9f, + 0x2c8: 0x9f, 0x2c9: 0x9f, 0x2ca: 0x9f, 0x2cb: 0x9f, 0x2cc: 0x9f, 0x2cd: 0x9f, 0x2ce: 0x9f, 0x2cf: 0x9f, + 0x2d0: 0x9f, 0x2d1: 0x9f, 0x2d2: 0xe5, 0x2d3: 0xe6, 0x2d4: 0x9f, 0x2d5: 0x9f, 0x2d6: 0x9f, 0x2d7: 0x9f, + 0x2d8: 0xe7, 0x2d9: 0x41, 0x2da: 0x42, 0x2db: 0xe8, 0x2dc: 0x43, 0x2dd: 0x44, 0x2de: 0x45, 0x2df: 0xe9, + 0x2e0: 0xea, 0x2e1: 0xeb, 0x2e2: 0xec, 0x2e3: 0xed, 0x2e4: 0xee, 0x2e5: 0xef, 0x2e6: 0xf0, 0x2e7: 0xf1, + 0x2e8: 0xf2, 0x2e9: 0xf3, 0x2ea: 0xf4, 0x2eb: 0xf5, 0x2ec: 0xf6, 0x2ed: 0xf7, 0x2ee: 0xf8, 0x2ef: 0xf9, + 0x2f0: 0x9f, 0x2f1: 0x9f, 0x2f2: 0x9f, 0x2f3: 0x9f, 0x2f4: 0x9f, 0x2f5: 0x9f, 0x2f6: 0x9f, 0x2f7: 0x9f, + 0x2f8: 0x9f, 0x2f9: 0x9f, 0x2fa: 0x9f, 0x2fb: 0x9f, 0x2fc: 0x9f, 0x2fd: 0x9f, 0x2fe: 0x9f, 0x2ff: 0x9f, + // Block 0xc, offset 0x300 + 0x300: 0x9f, 0x301: 0x9f, 0x302: 0x9f, 0x303: 0x9f, 0x304: 0x9f, 0x305: 0x9f, 0x306: 0x9f, 0x307: 0x9f, + 0x308: 0x9f, 0x309: 0x9f, 0x30a: 0x9f, 0x30b: 0x9f, 0x30c: 0x9f, 0x30d: 0x9f, 0x30e: 0x9f, 0x30f: 0x9f, + 0x310: 0x9f, 0x311: 0x9f, 0x312: 0x9f, 0x313: 0x9f, 0x314: 0x9f, 0x315: 0x9f, 0x316: 0x9f, 0x317: 0x9f, + 0x318: 0x9f, 0x319: 0x9f, 0x31a: 0x9f, 0x31b: 0x9f, 0x31c: 0x9f, 0x31d: 0x9f, 0x31e: 0xfa, 0x31f: 0xfb, + // Block 0xd, offset 0x340 + 0x340: 0xba, 0x341: 0xba, 0x342: 0xba, 0x343: 0xba, 0x344: 0xba, 0x345: 0xba, 0x346: 0xba, 0x347: 0xba, + 0x348: 0xba, 0x349: 0xba, 0x34a: 0xba, 0x34b: 0xba, 0x34c: 0xba, 0x34d: 0xba, 0x34e: 0xba, 0x34f: 0xba, + 0x350: 0xba, 0x351: 0xba, 0x352: 0xba, 0x353: 0xba, 0x354: 0xba, 0x355: 0xba, 0x356: 0xba, 0x357: 0xba, + 0x358: 0xba, 0x359: 0xba, 0x35a: 0xba, 0x35b: 0xba, 0x35c: 0xba, 0x35d: 0xba, 0x35e: 0xba, 0x35f: 0xba, + 0x360: 0xba, 0x361: 0xba, 0x362: 0xba, 0x363: 0xba, 0x364: 0xba, 0x365: 0xba, 0x366: 0xba, 0x367: 0xba, + 0x368: 0xba, 0x369: 0xba, 0x36a: 0xba, 0x36b: 0xba, 0x36c: 0xba, 0x36d: 0xba, 0x36e: 0xba, 0x36f: 0xba, + 0x370: 0xba, 0x371: 0xba, 0x372: 0xba, 0x373: 0xba, 0x374: 0xba, 0x375: 0xba, 0x376: 0xba, 0x377: 0xba, + 0x378: 0xba, 0x379: 0xba, 0x37a: 0xba, 0x37b: 0xba, 0x37c: 0xba, 0x37d: 0xba, 0x37e: 0xba, 0x37f: 0xba, + // Block 0xe, offset 0x380 + 0x380: 0xba, 0x381: 0xba, 0x382: 0xba, 0x383: 0xba, 0x384: 0xba, 0x385: 0xba, 0x386: 0xba, 0x387: 0xba, + 0x388: 0xba, 0x389: 0xba, 0x38a: 0xba, 0x38b: 0xba, 0x38c: 0xba, 0x38d: 0xba, 0x38e: 0xba, 0x38f: 0xba, + 0x390: 0xba, 0x391: 0xba, 0x392: 0xba, 0x393: 0xba, 0x394: 0xba, 0x395: 0xba, 0x396: 0xba, 0x397: 0xba, + 0x398: 0xba, 0x399: 0xba, 0x39a: 0xba, 0x39b: 0xba, 0x39c: 0xba, 0x39d: 0xba, 0x39e: 0xba, 0x39f: 0xba, + 0x3a0: 0xba, 0x3a1: 0xba, 0x3a2: 0xba, 0x3a3: 0xba, 0x3a4: 0xfc, 0x3a5: 0xfd, 0x3a6: 0xfe, 0x3a7: 0xff, + 0x3a8: 0x46, 0x3a9: 0x100, 0x3aa: 0x101, 0x3ab: 0x47, 0x3ac: 0x48, 0x3ad: 0x49, 0x3ae: 0x4a, 0x3af: 0x4b, + 0x3b0: 0x102, 0x3b1: 0x4c, 0x3b2: 0x4d, 0x3b3: 0x4e, 0x3b4: 0x4f, 0x3b5: 0x50, 0x3b6: 0x103, 0x3b7: 0x51, + 0x3b8: 0x52, 0x3b9: 0x53, 0x3ba: 0x54, 0x3bb: 0x55, 0x3bc: 0x56, 0x3bd: 0x57, 0x3be: 0x58, 0x3bf: 0x59, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x104, 0x3c1: 0x105, 0x3c2: 0x9f, 0x3c3: 0x106, 0x3c4: 0x107, 0x3c5: 0x9b, 0x3c6: 0x108, 0x3c7: 0x109, + 0x3c8: 0xba, 0x3c9: 0xba, 0x3ca: 0x10a, 0x3cb: 0x10b, 0x3cc: 0x10c, 0x3cd: 0x10d, 0x3ce: 0x10e, 0x3cf: 0x10f, + 0x3d0: 0x110, 0x3d1: 0x9f, 0x3d2: 0x111, 0x3d3: 0x112, 0x3d4: 0x113, 0x3d5: 0x114, 0x3d6: 0xba, 0x3d7: 0xba, + 0x3d8: 0x9f, 0x3d9: 0x9f, 0x3da: 0x9f, 0x3db: 0x9f, 0x3dc: 0x115, 0x3dd: 0x116, 0x3de: 0xba, 0x3df: 0xba, + 0x3e0: 0x117, 0x3e1: 0x118, 0x3e2: 0x119, 0x3e3: 0x11a, 0x3e4: 0x11b, 0x3e5: 0xba, 0x3e6: 0x11c, 0x3e7: 0x11d, + 0x3e8: 0x11e, 0x3e9: 0x11f, 0x3ea: 0x120, 0x3eb: 0x5a, 0x3ec: 0x121, 0x3ed: 0x122, 0x3ee: 0x5b, 0x3ef: 0xba, + 0x3f0: 0x123, 0x3f1: 0x124, 0x3f2: 0x125, 0x3f3: 0x126, 0x3f4: 0xba, 0x3f5: 0xba, 0x3f6: 0xba, 0x3f7: 0xba, + 0x3f8: 0xba, 0x3f9: 0x127, 0x3fa: 0xba, 0x3fb: 0xba, 0x3fc: 0xba, 0x3fd: 0xba, 0x3fe: 0xba, 0x3ff: 0xba, + // Block 0x10, offset 0x400 + 0x400: 0x128, 0x401: 0x129, 0x402: 0x12a, 0x403: 0x12b, 0x404: 0x12c, 0x405: 0x12d, 0x406: 0x12e, 0x407: 0x12f, + 0x408: 0x130, 0x409: 0xba, 0x40a: 0x131, 0x40b: 0x132, 0x40c: 0x5c, 0x40d: 0x5d, 0x40e: 0xba, 0x40f: 0xba, + 0x410: 0x133, 0x411: 0x134, 0x412: 0x135, 0x413: 0x136, 0x414: 0xba, 0x415: 0xba, 0x416: 0x137, 0x417: 0x138, + 0x418: 0x139, 0x419: 0x13a, 0x41a: 0x13b, 0x41b: 0x13c, 0x41c: 0x13d, 0x41d: 0xba, 0x41e: 0xba, 0x41f: 0xba, + 0x420: 0xba, 0x421: 0xba, 0x422: 0x13e, 0x423: 0x13f, 0x424: 0xba, 0x425: 0xba, 0x426: 0xba, 0x427: 0xba, + 0x428: 0xba, 0x429: 0xba, 0x42a: 0xba, 0x42b: 0x140, 0x42c: 0xba, 0x42d: 0xba, 0x42e: 0xba, 0x42f: 0xba, + 0x430: 0x141, 0x431: 0x142, 0x432: 0x143, 0x433: 0xba, 0x434: 0xba, 0x435: 0xba, 0x436: 0xba, 0x437: 0xba, + 0x438: 0xba, 0x439: 0xba, 0x43a: 0xba, 0x43b: 0xba, 0x43c: 0xba, 0x43d: 0xba, 0x43e: 0xba, 0x43f: 0xba, + // Block 0x11, offset 0x440 + 0x440: 0x9f, 0x441: 0x9f, 0x442: 0x9f, 0x443: 0x9f, 0x444: 0x9f, 0x445: 0x9f, 0x446: 0x9f, 0x447: 0x9f, + 0x448: 0x9f, 0x449: 0x9f, 0x44a: 0x9f, 0x44b: 0x9f, 0x44c: 0x9f, 0x44d: 0x9f, 0x44e: 0x144, 0x44f: 0xba, + 0x450: 0x9b, 0x451: 0x145, 0x452: 0x9f, 0x453: 0x9f, 0x454: 0x9f, 0x455: 0x146, 0x456: 0xba, 0x457: 0xba, + 0x458: 0xba, 0x459: 0xba, 0x45a: 0xba, 0x45b: 0xba, 0x45c: 0xba, 0x45d: 0xba, 0x45e: 0xba, 0x45f: 0xba, + 0x460: 0xba, 0x461: 0xba, 0x462: 0xba, 0x463: 0xba, 0x464: 0xba, 0x465: 0xba, 0x466: 0xba, 0x467: 0xba, + 0x468: 0xba, 0x469: 0xba, 0x46a: 0xba, 0x46b: 0xba, 0x46c: 0xba, 0x46d: 0xba, 0x46e: 0xba, 0x46f: 0xba, + 0x470: 0xba, 0x471: 0xba, 0x472: 0xba, 0x473: 0xba, 0x474: 0xba, 0x475: 0xba, 0x476: 0xba, 0x477: 0xba, + 0x478: 0xba, 0x479: 0xba, 0x47a: 0xba, 0x47b: 0xba, 0x47c: 0xba, 0x47d: 0xba, 0x47e: 0xba, 0x47f: 0xba, + // Block 0x12, offset 0x480 + 0x480: 0x9f, 0x481: 0x9f, 0x482: 0x9f, 0x483: 0x9f, 0x484: 0x9f, 0x485: 0x9f, 0x486: 0x9f, 0x487: 0x9f, + 0x488: 0x9f, 0x489: 0x9f, 0x48a: 0x9f, 0x48b: 0x9f, 0x48c: 0x9f, 0x48d: 0x9f, 0x48e: 0x9f, 0x48f: 0x9f, + 0x490: 0x147, 0x491: 0xba, 0x492: 0xba, 0x493: 0xba, 0x494: 0xba, 0x495: 0xba, 0x496: 0xba, 0x497: 0xba, + 0x498: 0xba, 0x499: 0xba, 0x49a: 0xba, 0x49b: 0xba, 0x49c: 0xba, 0x49d: 0xba, 0x49e: 0xba, 0x49f: 0xba, + 0x4a0: 0xba, 0x4a1: 0xba, 0x4a2: 0xba, 0x4a3: 0xba, 0x4a4: 0xba, 0x4a5: 0xba, 0x4a6: 0xba, 0x4a7: 0xba, + 0x4a8: 0xba, 0x4a9: 0xba, 0x4aa: 0xba, 0x4ab: 0xba, 0x4ac: 0xba, 0x4ad: 0xba, 0x4ae: 0xba, 0x4af: 0xba, + 0x4b0: 0xba, 0x4b1: 0xba, 0x4b2: 0xba, 0x4b3: 0xba, 0x4b4: 0xba, 0x4b5: 0xba, 0x4b6: 0xba, 0x4b7: 0xba, + 0x4b8: 0xba, 0x4b9: 0xba, 0x4ba: 0xba, 0x4bb: 0xba, 0x4bc: 0xba, 0x4bd: 0xba, 0x4be: 0xba, 0x4bf: 0xba, + // Block 0x13, offset 0x4c0 + 0x4c0: 0xba, 0x4c1: 0xba, 0x4c2: 0xba, 0x4c3: 0xba, 0x4c4: 0xba, 0x4c5: 0xba, 0x4c6: 0xba, 0x4c7: 0xba, + 0x4c8: 0xba, 0x4c9: 0xba, 0x4ca: 0xba, 0x4cb: 0xba, 0x4cc: 0xba, 0x4cd: 0xba, 0x4ce: 0xba, 0x4cf: 0xba, + 0x4d0: 0x9f, 0x4d1: 0x9f, 0x4d2: 0x9f, 0x4d3: 0x9f, 0x4d4: 0x9f, 0x4d5: 0x9f, 0x4d6: 0x9f, 0x4d7: 0x9f, + 0x4d8: 0x9f, 0x4d9: 0x148, 0x4da: 0xba, 0x4db: 0xba, 0x4dc: 0xba, 0x4dd: 0xba, 0x4de: 0xba, 0x4df: 0xba, + 0x4e0: 0xba, 0x4e1: 0xba, 0x4e2: 0xba, 0x4e3: 0xba, 0x4e4: 0xba, 0x4e5: 0xba, 0x4e6: 0xba, 0x4e7: 0xba, + 0x4e8: 0xba, 0x4e9: 0xba, 0x4ea: 0xba, 0x4eb: 0xba, 0x4ec: 0xba, 0x4ed: 0xba, 0x4ee: 0xba, 0x4ef: 0xba, + 0x4f0: 0xba, 0x4f1: 0xba, 0x4f2: 0xba, 0x4f3: 0xba, 0x4f4: 0xba, 0x4f5: 0xba, 0x4f6: 0xba, 0x4f7: 0xba, + 0x4f8: 0xba, 0x4f9: 0xba, 0x4fa: 0xba, 0x4fb: 0xba, 0x4fc: 0xba, 0x4fd: 0xba, 0x4fe: 0xba, 0x4ff: 0xba, + // Block 0x14, offset 0x500 + 0x500: 0xba, 0x501: 0xba, 0x502: 0xba, 0x503: 0xba, 0x504: 0xba, 0x505: 0xba, 0x506: 0xba, 0x507: 0xba, + 0x508: 0xba, 0x509: 0xba, 0x50a: 0xba, 0x50b: 0xba, 0x50c: 0xba, 0x50d: 0xba, 0x50e: 0xba, 0x50f: 0xba, + 0x510: 0xba, 0x511: 0xba, 0x512: 0xba, 0x513: 0xba, 0x514: 0xba, 0x515: 0xba, 0x516: 0xba, 0x517: 0xba, + 0x518: 0xba, 0x519: 0xba, 0x51a: 0xba, 0x51b: 0xba, 0x51c: 0xba, 0x51d: 0xba, 0x51e: 0xba, 0x51f: 0xba, + 0x520: 0x9f, 0x521: 0x9f, 0x522: 0x9f, 0x523: 0x9f, 0x524: 0x9f, 0x525: 0x9f, 0x526: 0x9f, 0x527: 0x9f, + 0x528: 0x140, 0x529: 0x149, 0x52a: 0xba, 0x52b: 0x14a, 0x52c: 0x14b, 0x52d: 0x14c, 0x52e: 0x14d, 0x52f: 0xba, + 0x530: 0xba, 0x531: 0xba, 0x532: 0xba, 0x533: 0xba, 0x534: 0xba, 0x535: 0xba, 0x536: 0xba, 0x537: 0xba, + 0x538: 0xba, 0x539: 0xba, 0x53a: 0xba, 0x53b: 0xba, 0x53c: 0x9f, 0x53d: 0x14e, 0x53e: 0x14f, 0x53f: 0x150, + // Block 0x15, offset 0x540 + 0x540: 0x9f, 0x541: 0x9f, 0x542: 0x9f, 0x543: 0x9f, 0x544: 0x9f, 0x545: 0x9f, 0x546: 0x9f, 0x547: 0x9f, + 0x548: 0x9f, 0x549: 0x9f, 0x54a: 0x9f, 0x54b: 0x9f, 0x54c: 0x9f, 0x54d: 0x9f, 0x54e: 0x9f, 0x54f: 0x9f, + 0x550: 0x9f, 0x551: 0x9f, 0x552: 0x9f, 0x553: 0x9f, 0x554: 0x9f, 0x555: 0x9f, 0x556: 0x9f, 0x557: 0x9f, + 0x558: 0x9f, 0x559: 0x9f, 0x55a: 0x9f, 0x55b: 0x9f, 0x55c: 0x9f, 0x55d: 0x9f, 0x55e: 0x9f, 0x55f: 0x151, + 0x560: 0x9f, 0x561: 0x9f, 0x562: 0x9f, 0x563: 0x9f, 0x564: 0x9f, 0x565: 0x9f, 0x566: 0x9f, 0x567: 0x9f, + 0x568: 0x9f, 0x569: 0x9f, 0x56a: 0x9f, 0x56b: 0x152, 0x56c: 0xba, 0x56d: 0xba, 0x56e: 0xba, 0x56f: 0xba, + 0x570: 0xba, 0x571: 0xba, 0x572: 0xba, 0x573: 0xba, 0x574: 0xba, 0x575: 0xba, 0x576: 0xba, 0x577: 0xba, + 0x578: 0xba, 0x579: 0xba, 0x57a: 0xba, 0x57b: 0xba, 0x57c: 0xba, 0x57d: 0xba, 0x57e: 0xba, 0x57f: 0xba, + // Block 0x16, offset 0x580 + 0x580: 0x153, 0x581: 0xba, 0x582: 0xba, 0x583: 0xba, 0x584: 0xba, 0x585: 0xba, 0x586: 0xba, 0x587: 0xba, + 0x588: 0xba, 0x589: 0xba, 0x58a: 0xba, 0x58b: 0xba, 0x58c: 0xba, 0x58d: 0xba, 0x58e: 0xba, 0x58f: 0xba, + 0x590: 0xba, 0x591: 0xba, 0x592: 0xba, 0x593: 0xba, 0x594: 0xba, 0x595: 0xba, 0x596: 0xba, 0x597: 0xba, + 0x598: 0xba, 0x599: 0xba, 0x59a: 0xba, 0x59b: 0xba, 0x59c: 0xba, 0x59d: 0xba, 0x59e: 0xba, 0x59f: 0xba, + 0x5a0: 0xba, 0x5a1: 0xba, 0x5a2: 0xba, 0x5a3: 0xba, 0x5a4: 0xba, 0x5a5: 0xba, 0x5a6: 0xba, 0x5a7: 0xba, + 0x5a8: 0xba, 0x5a9: 0xba, 0x5aa: 0xba, 0x5ab: 0xba, 0x5ac: 0xba, 0x5ad: 0xba, 0x5ae: 0xba, 0x5af: 0xba, + 0x5b0: 0x9f, 0x5b1: 0x154, 0x5b2: 0x155, 0x5b3: 0xba, 0x5b4: 0xba, 0x5b5: 0xba, 0x5b6: 0xba, 0x5b7: 0xba, + 0x5b8: 0xba, 0x5b9: 0xba, 0x5ba: 0xba, 0x5bb: 0xba, 0x5bc: 0xba, 0x5bd: 0xba, 0x5be: 0xba, 0x5bf: 0xba, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x9b, 0x5c1: 0x9b, 0x5c2: 0x9b, 0x5c3: 0x156, 0x5c4: 0x157, 0x5c5: 0x158, 0x5c6: 0x159, 0x5c7: 0x15a, + 0x5c8: 0x9b, 0x5c9: 0x15b, 0x5ca: 0xba, 0x5cb: 0xba, 0x5cc: 0x9b, 0x5cd: 0x15c, 0x5ce: 0xba, 0x5cf: 0xba, + 0x5d0: 0x5e, 0x5d1: 0x5f, 0x5d2: 0x60, 0x5d3: 0x61, 0x5d4: 0x62, 0x5d5: 0x63, 0x5d6: 0x64, 0x5d7: 0x65, + 0x5d8: 0x66, 0x5d9: 0x67, 0x5da: 0x68, 0x5db: 0x69, 0x5dc: 0x6a, 0x5dd: 0x6b, 0x5de: 0x6c, 0x5df: 0x6d, + 0x5e0: 0x9b, 0x5e1: 0x9b, 0x5e2: 0x9b, 0x5e3: 0x9b, 0x5e4: 0x9b, 0x5e5: 0x9b, 0x5e6: 0x9b, 0x5e7: 0x9b, + 0x5e8: 0x15d, 0x5e9: 0x15e, 0x5ea: 0x15f, 0x5eb: 0xba, 0x5ec: 0xba, 0x5ed: 0xba, 0x5ee: 0xba, 0x5ef: 0xba, + 0x5f0: 0xba, 0x5f1: 0xba, 0x5f2: 0xba, 0x5f3: 0xba, 0x5f4: 0xba, 0x5f5: 0xba, 0x5f6: 0xba, 0x5f7: 0xba, + 0x5f8: 0xba, 0x5f9: 0xba, 0x5fa: 0xba, 0x5fb: 0xba, 0x5fc: 0xba, 0x5fd: 0xba, 0x5fe: 0xba, 0x5ff: 0xba, + // Block 0x18, offset 0x600 + 0x600: 0x160, 0x601: 0xba, 0x602: 0xba, 0x603: 0xba, 0x604: 0xba, 0x605: 0xba, 0x606: 0xba, 0x607: 0xba, + 0x608: 0xba, 0x609: 0xba, 0x60a: 0xba, 0x60b: 0xba, 0x60c: 0xba, 0x60d: 0xba, 0x60e: 0xba, 0x60f: 0xba, + 0x610: 0xba, 0x611: 0xba, 0x612: 0xba, 0x613: 0xba, 0x614: 0xba, 0x615: 0xba, 0x616: 0xba, 0x617: 0xba, + 0x618: 0xba, 0x619: 0xba, 0x61a: 0xba, 0x61b: 0xba, 0x61c: 0xba, 0x61d: 0xba, 0x61e: 0xba, 0x61f: 0xba, + 0x620: 0x123, 0x621: 0x123, 0x622: 0x123, 0x623: 0x161, 0x624: 0x6e, 0x625: 0x162, 0x626: 0xba, 0x627: 0xba, + 0x628: 0xba, 0x629: 0xba, 0x62a: 0xba, 0x62b: 0xba, 0x62c: 0xba, 0x62d: 0xba, 0x62e: 0xba, 0x62f: 0xba, + 0x630: 0xba, 0x631: 0xba, 0x632: 0xba, 0x633: 0xba, 0x634: 0xba, 0x635: 0xba, 0x636: 0xba, 0x637: 0xba, + 0x638: 0x6f, 0x639: 0x70, 0x63a: 0x71, 0x63b: 0x163, 0x63c: 0xba, 0x63d: 0xba, 0x63e: 0xba, 0x63f: 0xba, + // Block 0x19, offset 0x640 + 0x640: 0x164, 0x641: 0x9b, 0x642: 0x165, 0x643: 0x166, 0x644: 0x72, 0x645: 0x73, 0x646: 0x167, 0x647: 0x168, + 0x648: 0x74, 0x649: 0x169, 0x64a: 0xba, 0x64b: 0xba, 0x64c: 0x9b, 0x64d: 0x9b, 0x64e: 0x9b, 0x64f: 0x9b, + 0x650: 0x9b, 0x651: 0x9b, 0x652: 0x9b, 0x653: 0x9b, 0x654: 0x9b, 0x655: 0x9b, 0x656: 0x9b, 0x657: 0x9b, + 0x658: 0x9b, 0x659: 0x9b, 0x65a: 0x9b, 0x65b: 0x16a, 0x65c: 0x9b, 0x65d: 0x16b, 0x65e: 0x9b, 0x65f: 0x16c, + 0x660: 0x16d, 0x661: 0x16e, 0x662: 0x16f, 0x663: 0xba, 0x664: 0x170, 0x665: 0x171, 0x666: 0x172, 0x667: 0x173, + 0x668: 0xba, 0x669: 0xba, 0x66a: 0xba, 0x66b: 0xba, 0x66c: 0xba, 0x66d: 0xba, 0x66e: 0xba, 0x66f: 0xba, + 0x670: 0xba, 0x671: 0xba, 0x672: 0xba, 0x673: 0xba, 0x674: 0xba, 0x675: 0xba, 0x676: 0xba, 0x677: 0xba, + 0x678: 0xba, 0x679: 0xba, 0x67a: 0xba, 0x67b: 0xba, 0x67c: 0xba, 0x67d: 0xba, 0x67e: 0xba, 0x67f: 0xba, + // Block 0x1a, offset 0x680 + 0x680: 0x9f, 0x681: 0x9f, 0x682: 0x9f, 0x683: 0x9f, 0x684: 0x9f, 0x685: 0x9f, 0x686: 0x9f, 0x687: 0x9f, + 0x688: 0x9f, 0x689: 0x9f, 0x68a: 0x9f, 0x68b: 0x9f, 0x68c: 0x9f, 0x68d: 0x9f, 0x68e: 0x9f, 0x68f: 0x9f, + 0x690: 0x9f, 0x691: 0x9f, 0x692: 0x9f, 0x693: 0x9f, 0x694: 0x9f, 0x695: 0x9f, 0x696: 0x9f, 0x697: 0x9f, + 0x698: 0x9f, 0x699: 0x9f, 0x69a: 0x9f, 0x69b: 0x174, 0x69c: 0x9f, 0x69d: 0x9f, 0x69e: 0x9f, 0x69f: 0x9f, + 0x6a0: 0x9f, 0x6a1: 0x9f, 0x6a2: 0x9f, 0x6a3: 0x9f, 0x6a4: 0x9f, 0x6a5: 0x9f, 0x6a6: 0x9f, 0x6a7: 0x9f, + 0x6a8: 0x9f, 0x6a9: 0x9f, 0x6aa: 0x9f, 0x6ab: 0x9f, 0x6ac: 0x9f, 0x6ad: 0x9f, 0x6ae: 0x9f, 0x6af: 0x9f, + 0x6b0: 0x9f, 0x6b1: 0x9f, 0x6b2: 0x9f, 0x6b3: 0x9f, 0x6b4: 0x9f, 0x6b5: 0x9f, 0x6b6: 0x9f, 0x6b7: 0x9f, + 0x6b8: 0x9f, 0x6b9: 0x9f, 0x6ba: 0x9f, 0x6bb: 0x9f, 0x6bc: 0x9f, 0x6bd: 0x9f, 0x6be: 0x9f, 0x6bf: 0x9f, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x9f, 0x6c1: 0x9f, 0x6c2: 0x9f, 0x6c3: 0x9f, 0x6c4: 0x9f, 0x6c5: 0x9f, 0x6c6: 0x9f, 0x6c7: 0x9f, + 0x6c8: 0x9f, 0x6c9: 0x9f, 0x6ca: 0x9f, 0x6cb: 0x9f, 0x6cc: 0x9f, 0x6cd: 0x9f, 0x6ce: 0x9f, 0x6cf: 0x9f, + 0x6d0: 0x9f, 0x6d1: 0x9f, 0x6d2: 0x9f, 0x6d3: 0x9f, 0x6d4: 0x9f, 0x6d5: 0x9f, 0x6d6: 0x9f, 0x6d7: 0x9f, + 0x6d8: 0x9f, 0x6d9: 0x9f, 0x6da: 0x9f, 0x6db: 0x9f, 0x6dc: 0x175, 0x6dd: 0x9f, 0x6de: 0x9f, 0x6df: 0x9f, + 0x6e0: 0x176, 0x6e1: 0x9f, 0x6e2: 0x9f, 0x6e3: 0x9f, 0x6e4: 0x9f, 0x6e5: 0x9f, 0x6e6: 0x9f, 0x6e7: 0x9f, + 0x6e8: 0x9f, 0x6e9: 0x9f, 0x6ea: 0x9f, 0x6eb: 0x9f, 0x6ec: 0x9f, 0x6ed: 0x9f, 0x6ee: 0x9f, 0x6ef: 0x9f, + 0x6f0: 0x9f, 0x6f1: 0x9f, 0x6f2: 0x9f, 0x6f3: 0x9f, 0x6f4: 0x9f, 0x6f5: 0x9f, 0x6f6: 0x9f, 0x6f7: 0x9f, + 0x6f8: 0x9f, 0x6f9: 0x9f, 0x6fa: 0x9f, 0x6fb: 0x9f, 0x6fc: 0x9f, 0x6fd: 0x9f, 0x6fe: 0x9f, 0x6ff: 0x9f, + // Block 0x1c, offset 0x700 + 0x700: 0x9f, 0x701: 0x9f, 0x702: 0x9f, 0x703: 0x9f, 0x704: 0x9f, 0x705: 0x9f, 0x706: 0x9f, 0x707: 0x9f, + 0x708: 0x9f, 0x709: 0x9f, 0x70a: 0x9f, 0x70b: 0x9f, 0x70c: 0x9f, 0x70d: 0x9f, 0x70e: 0x9f, 0x70f: 0x9f, + 0x710: 0x9f, 0x711: 0x9f, 0x712: 0x9f, 0x713: 0x9f, 0x714: 0x9f, 0x715: 0x9f, 0x716: 0x9f, 0x717: 0x9f, + 0x718: 0x9f, 0x719: 0x9f, 0x71a: 0x9f, 0x71b: 0x9f, 0x71c: 0x9f, 0x71d: 0x9f, 0x71e: 0x9f, 0x71f: 0x9f, + 0x720: 0x9f, 0x721: 0x9f, 0x722: 0x9f, 0x723: 0x9f, 0x724: 0x9f, 0x725: 0x9f, 0x726: 0x9f, 0x727: 0x9f, + 0x728: 0x9f, 0x729: 0x9f, 0x72a: 0x9f, 0x72b: 0x9f, 0x72c: 0x9f, 0x72d: 0x9f, 0x72e: 0x9f, 0x72f: 0x9f, + 0x730: 0x9f, 0x731: 0x9f, 0x732: 0x9f, 0x733: 0x9f, 0x734: 0x9f, 0x735: 0x9f, 0x736: 0x9f, 0x737: 0x9f, + 0x738: 0x9f, 0x739: 0x9f, 0x73a: 0x177, 0x73b: 0xba, 0x73c: 0xba, 0x73d: 0xba, 0x73e: 0xba, 0x73f: 0xba, + // Block 0x1d, offset 0x740 + 0x740: 0xba, 0x741: 0xba, 0x742: 0xba, 0x743: 0xba, 0x744: 0xba, 0x745: 0xba, 0x746: 0xba, 0x747: 0xba, + 0x748: 0xba, 0x749: 0xba, 0x74a: 0xba, 0x74b: 0xba, 0x74c: 0xba, 0x74d: 0xba, 0x74e: 0xba, 0x74f: 0xba, + 0x750: 0xba, 0x751: 0xba, 0x752: 0xba, 0x753: 0xba, 0x754: 0xba, 0x755: 0xba, 0x756: 0xba, 0x757: 0xba, + 0x758: 0xba, 0x759: 0xba, 0x75a: 0xba, 0x75b: 0xba, 0x75c: 0xba, 0x75d: 0xba, 0x75e: 0xba, 0x75f: 0xba, + 0x760: 0x75, 0x761: 0x76, 0x762: 0x77, 0x763: 0x178, 0x764: 0x78, 0x765: 0x79, 0x766: 0x179, 0x767: 0x7a, + 0x768: 0x7b, 0x769: 0xba, 0x76a: 0xba, 0x76b: 0xba, 0x76c: 0xba, 0x76d: 0xba, 0x76e: 0xba, 0x76f: 0xba, + 0x770: 0xba, 0x771: 0xba, 0x772: 0xba, 0x773: 0xba, 0x774: 0xba, 0x775: 0xba, 0x776: 0xba, 0x777: 0xba, + 0x778: 0xba, 0x779: 0xba, 0x77a: 0xba, 0x77b: 0xba, 0x77c: 0xba, 0x77d: 0xba, 0x77e: 0xba, 0x77f: 0xba, + // Block 0x1e, offset 0x780 + 0x790: 0x0d, 0x791: 0x0e, 0x792: 0x0f, 0x793: 0x10, 0x794: 0x11, 0x795: 0x0b, 0x796: 0x12, 0x797: 0x07, + 0x798: 0x13, 0x799: 0x0b, 0x79a: 0x0b, 0x79b: 0x14, 0x79c: 0x0b, 0x79d: 0x15, 0x79e: 0x16, 0x79f: 0x17, + 0x7a0: 0x07, 0x7a1: 0x07, 0x7a2: 0x07, 0x7a3: 0x07, 0x7a4: 0x07, 0x7a5: 0x07, 0x7a6: 0x07, 0x7a7: 0x07, + 0x7a8: 0x07, 0x7a9: 0x07, 0x7aa: 0x18, 0x7ab: 0x19, 0x7ac: 0x1a, 0x7ad: 0x0b, 0x7ae: 0x0b, 0x7af: 0x1b, + 0x7b0: 0x0b, 0x7b1: 0x0b, 0x7b2: 0x0b, 0x7b3: 0x0b, 0x7b4: 0x0b, 0x7b5: 0x0b, 0x7b6: 0x0b, 0x7b7: 0x0b, + 0x7b8: 0x0b, 0x7b9: 0x0b, 0x7ba: 0x0b, 0x7bb: 0x0b, 0x7bc: 0x0b, 0x7bd: 0x0b, 0x7be: 0x0b, 0x7bf: 0x0b, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x0b, 0x7c1: 0x0b, 0x7c2: 0x0b, 0x7c3: 0x0b, 0x7c4: 0x0b, 0x7c5: 0x0b, 0x7c6: 0x0b, 0x7c7: 0x0b, + 0x7c8: 0x0b, 0x7c9: 0x0b, 0x7ca: 0x0b, 0x7cb: 0x0b, 0x7cc: 0x0b, 0x7cd: 0x0b, 0x7ce: 0x0b, 0x7cf: 0x0b, + 0x7d0: 0x0b, 0x7d1: 0x0b, 0x7d2: 0x0b, 0x7d3: 0x0b, 0x7d4: 0x0b, 0x7d5: 0x0b, 0x7d6: 0x0b, 0x7d7: 0x0b, + 0x7d8: 0x0b, 0x7d9: 0x0b, 0x7da: 0x0b, 0x7db: 0x0b, 0x7dc: 0x0b, 0x7dd: 0x0b, 0x7de: 0x0b, 0x7df: 0x0b, + 0x7e0: 0x0b, 0x7e1: 0x0b, 0x7e2: 0x0b, 0x7e3: 0x0b, 0x7e4: 0x0b, 0x7e5: 0x0b, 0x7e6: 0x0b, 0x7e7: 0x0b, + 0x7e8: 0x0b, 0x7e9: 0x0b, 0x7ea: 0x0b, 0x7eb: 0x0b, 0x7ec: 0x0b, 0x7ed: 0x0b, 0x7ee: 0x0b, 0x7ef: 0x0b, + 0x7f0: 0x0b, 0x7f1: 0x0b, 0x7f2: 0x0b, 0x7f3: 0x0b, 0x7f4: 0x0b, 0x7f5: 0x0b, 0x7f6: 0x0b, 0x7f7: 0x0b, + 0x7f8: 0x0b, 0x7f9: 0x0b, 0x7fa: 0x0b, 0x7fb: 0x0b, 0x7fc: 0x0b, 0x7fd: 0x0b, 0x7fe: 0x0b, 0x7ff: 0x0b, + // Block 0x20, offset 0x800 + 0x800: 0x17a, 0x801: 0x17b, 0x802: 0xba, 0x803: 0xba, 0x804: 0x17c, 0x805: 0x17c, 0x806: 0x17c, 0x807: 0x17d, + 0x808: 0xba, 0x809: 0xba, 0x80a: 0xba, 0x80b: 0xba, 0x80c: 0xba, 0x80d: 0xba, 0x80e: 0xba, 0x80f: 0xba, + 0x810: 0xba, 0x811: 0xba, 0x812: 0xba, 0x813: 0xba, 0x814: 0xba, 0x815: 0xba, 0x816: 0xba, 0x817: 0xba, + 0x818: 0xba, 0x819: 0xba, 0x81a: 0xba, 0x81b: 0xba, 0x81c: 0xba, 0x81d: 0xba, 0x81e: 0xba, 0x81f: 0xba, + 0x820: 0xba, 0x821: 0xba, 0x822: 0xba, 0x823: 0xba, 0x824: 0xba, 0x825: 0xba, 0x826: 0xba, 0x827: 0xba, + 0x828: 0xba, 0x829: 0xba, 0x82a: 0xba, 0x82b: 0xba, 0x82c: 0xba, 0x82d: 0xba, 0x82e: 0xba, 0x82f: 0xba, + 0x830: 0xba, 0x831: 0xba, 0x832: 0xba, 0x833: 0xba, 0x834: 0xba, 0x835: 0xba, 0x836: 0xba, 0x837: 0xba, + 0x838: 0xba, 0x839: 0xba, 0x83a: 0xba, 0x83b: 0xba, 0x83c: 0xba, 0x83d: 0xba, 0x83e: 0xba, 0x83f: 0xba, + // Block 0x21, offset 0x840 + 0x840: 0x0b, 0x841: 0x0b, 0x842: 0x0b, 0x843: 0x0b, 0x844: 0x0b, 0x845: 0x0b, 0x846: 0x0b, 0x847: 0x0b, + 0x848: 0x0b, 0x849: 0x0b, 0x84a: 0x0b, 0x84b: 0x0b, 0x84c: 0x0b, 0x84d: 0x0b, 0x84e: 0x0b, 0x84f: 0x0b, + 0x850: 0x0b, 0x851: 0x0b, 0x852: 0x0b, 0x853: 0x0b, 0x854: 0x0b, 0x855: 0x0b, 0x856: 0x0b, 0x857: 0x0b, + 0x858: 0x0b, 0x859: 0x0b, 0x85a: 0x0b, 0x85b: 0x0b, 0x85c: 0x0b, 0x85d: 0x0b, 0x85e: 0x0b, 0x85f: 0x0b, + 0x860: 0x1e, 0x861: 0x0b, 0x862: 0x0b, 0x863: 0x0b, 0x864: 0x0b, 0x865: 0x0b, 0x866: 0x0b, 0x867: 0x0b, + 0x868: 0x0b, 0x869: 0x0b, 0x86a: 0x0b, 0x86b: 0x0b, 0x86c: 0x0b, 0x86d: 0x0b, 0x86e: 0x0b, 0x86f: 0x0b, + 0x870: 0x0b, 0x871: 0x0b, 0x872: 0x0b, 0x873: 0x0b, 0x874: 0x0b, 0x875: 0x0b, 0x876: 0x0b, 0x877: 0x0b, + 0x878: 0x0b, 0x879: 0x0b, 0x87a: 0x0b, 0x87b: 0x0b, 0x87c: 0x0b, 0x87d: 0x0b, 0x87e: 0x0b, 0x87f: 0x0b, + // Block 0x22, offset 0x880 + 0x880: 0x0b, 0x881: 0x0b, 0x882: 0x0b, 0x883: 0x0b, 0x884: 0x0b, 0x885: 0x0b, 0x886: 0x0b, 0x887: 0x0b, + 0x888: 0x0b, 0x889: 0x0b, 0x88a: 0x0b, 0x88b: 0x0b, 0x88c: 0x0b, 0x88d: 0x0b, 0x88e: 0x0b, 0x88f: 0x0b, +} + +// idnaSparseOffset: 258 entries, 516 bytes +var idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x34, 0x3f, 0x4b, 0x4f, 0x5e, 0x63, 0x6b, 0x77, 0x85, 0x93, 0x98, 0xa1, 0xb1, 0xbf, 0xcc, 0xd8, 0xe9, 0xf3, 0xfa, 0x107, 0x118, 0x11f, 0x12a, 0x139, 0x147, 0x151, 0x153, 0x158, 0x15b, 0x15e, 0x160, 0x16c, 0x177, 0x17f, 0x185, 0x18b, 0x190, 0x195, 0x198, 0x19c, 0x1a2, 0x1a7, 0x1b3, 0x1bd, 0x1c3, 0x1d4, 0x1de, 0x1e1, 0x1e9, 0x1ec, 0x1f9, 0x201, 0x205, 0x20c, 0x214, 0x224, 0x230, 0x232, 0x23c, 0x248, 0x254, 0x260, 0x268, 0x26d, 0x277, 0x288, 0x28c, 0x297, 0x29b, 0x2a4, 0x2ac, 0x2b2, 0x2b7, 0x2ba, 0x2bd, 0x2c1, 0x2c7, 0x2cb, 0x2cf, 0x2d5, 0x2dc, 0x2e2, 0x2ea, 0x2f1, 0x2fc, 0x306, 0x30a, 0x30d, 0x313, 0x317, 0x319, 0x31c, 0x31e, 0x321, 0x32b, 0x32e, 0x33d, 0x341, 0x346, 0x349, 0x34d, 0x352, 0x357, 0x35d, 0x363, 0x372, 0x378, 0x37c, 0x38b, 0x390, 0x398, 0x3a2, 0x3ad, 0x3b5, 0x3c6, 0x3cf, 0x3df, 0x3ec, 0x3f6, 0x3fb, 0x408, 0x40c, 0x411, 0x413, 0x417, 0x419, 0x41d, 0x426, 0x42c, 0x430, 0x440, 0x44a, 0x44f, 0x452, 0x458, 0x45f, 0x464, 0x468, 0x46e, 0x473, 0x47c, 0x481, 0x487, 0x48e, 0x495, 0x49c, 0x4a0, 0x4a5, 0x4a8, 0x4ad, 0x4b9, 0x4bf, 0x4c4, 0x4cb, 0x4d3, 0x4d8, 0x4dc, 0x4ec, 0x4f3, 0x4f7, 0x4fb, 0x502, 0x504, 0x507, 0x50a, 0x50e, 0x512, 0x518, 0x521, 0x52d, 0x534, 0x53d, 0x545, 0x54c, 0x55a, 0x567, 0x574, 0x57d, 0x581, 0x58f, 0x597, 0x5a2, 0x5ab, 0x5b1, 0x5b9, 0x5c2, 0x5cc, 0x5cf, 0x5db, 0x5de, 0x5e3, 0x5e6, 0x5f0, 0x5f9, 0x605, 0x608, 0x60d, 0x610, 0x613, 0x616, 0x61d, 0x624, 0x628, 0x633, 0x636, 0x63c, 0x641, 0x645, 0x648, 0x64b, 0x64e, 0x653, 0x65d, 0x660, 0x664, 0x673, 0x67f, 0x683, 0x688, 0x68d, 0x691, 0x696, 0x69f, 0x6aa, 0x6b0, 0x6b8, 0x6bc, 0x6c0, 0x6c6, 0x6cc, 0x6d1, 0x6d4, 0x6e2, 0x6e9, 0x6ec, 0x6ef, 0x6f3, 0x6f9, 0x6fe, 0x708, 0x70d, 0x710, 0x713, 0x716, 0x719, 0x71d, 0x720, 0x730, 0x741, 0x746, 0x748, 0x74a} + +// idnaSparseValues: 1869 entries, 7476 bytes +var idnaSparseValues = [1869]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0000, lo: 0x07}, + {value: 0xe105, lo: 0x80, hi: 0x96}, + {value: 0x0018, lo: 0x97, hi: 0x97}, + {value: 0xe105, lo: 0x98, hi: 0x9e}, + {value: 0x001f, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbf}, + // Block 0x1, offset 0x8 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0xe01d, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0335, lo: 0x83, hi: 0x83}, + {value: 0x034d, lo: 0x84, hi: 0x84}, + {value: 0x0365, lo: 0x85, hi: 0x85}, + {value: 0xe00d, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0xe00d, lo: 0x88, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x89}, + {value: 0xe00d, lo: 0x8a, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe00d, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0x8d}, + {value: 0xe00d, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0xbf}, + // Block 0x2, offset 0x19 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x0249, lo: 0xb0, hi: 0xb0}, + {value: 0x037d, lo: 0xb1, hi: 0xb1}, + {value: 0x0259, lo: 0xb2, hi: 0xb2}, + {value: 0x0269, lo: 0xb3, hi: 0xb3}, + {value: 0x034d, lo: 0xb4, hi: 0xb4}, + {value: 0x0395, lo: 0xb5, hi: 0xb5}, + {value: 0xe1bd, lo: 0xb6, hi: 0xb6}, + {value: 0x0279, lo: 0xb7, hi: 0xb7}, + {value: 0x0289, lo: 0xb8, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbf}, + // Block 0x3, offset 0x25 + {value: 0x0000, lo: 0x01}, + {value: 0x3308, lo: 0x80, hi: 0xbf}, + // Block 0x4, offset 0x27 + {value: 0x0000, lo: 0x04}, + {value: 0x03f5, lo: 0x80, hi: 0x8f}, + {value: 0xe105, lo: 0x90, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x5, offset 0x2c + {value: 0x0000, lo: 0x07}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x0545, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x0008, lo: 0x99, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xbf}, + // Block 0x6, offset 0x34 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0401, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x88}, + {value: 0x0018, lo: 0x89, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x3308, lo: 0x91, hi: 0xbd}, + {value: 0x0818, lo: 0xbe, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x7, offset 0x3f + {value: 0x0000, lo: 0x0b}, + {value: 0x0818, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x82}, + {value: 0x0818, lo: 0x83, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x85}, + {value: 0x0818, lo: 0x86, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0808, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x8, offset 0x4b + {value: 0x0000, lo: 0x03}, + {value: 0x0a08, lo: 0x80, hi: 0x87}, + {value: 0x0c08, lo: 0x88, hi: 0x99}, + {value: 0x0a08, lo: 0x9a, hi: 0xbf}, + // Block 0x9, offset 0x4f + {value: 0x0000, lo: 0x0e}, + {value: 0x3308, lo: 0x80, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0c08, lo: 0x8d, hi: 0x8d}, + {value: 0x0a08, lo: 0x8e, hi: 0x98}, + {value: 0x0c08, lo: 0x99, hi: 0x9b}, + {value: 0x0a08, lo: 0x9c, hi: 0xaa}, + {value: 0x0c08, lo: 0xab, hi: 0xac}, + {value: 0x0a08, lo: 0xad, hi: 0xb0}, + {value: 0x0c08, lo: 0xb1, hi: 0xb1}, + {value: 0x0a08, lo: 0xb2, hi: 0xb2}, + {value: 0x0c08, lo: 0xb3, hi: 0xb4}, + {value: 0x0a08, lo: 0xb5, hi: 0xb7}, + {value: 0x0c08, lo: 0xb8, hi: 0xb9}, + {value: 0x0a08, lo: 0xba, hi: 0xbf}, + // Block 0xa, offset 0x5e + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xb0}, + {value: 0x0808, lo: 0xb1, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xb, offset 0x63 + {value: 0x0000, lo: 0x07}, + {value: 0x0808, lo: 0x80, hi: 0x89}, + {value: 0x0a08, lo: 0x8a, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xb3}, + {value: 0x0808, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xb9}, + {value: 0x0818, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0xc, offset 0x6b + {value: 0x0000, lo: 0x0b}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x99}, + {value: 0x0808, lo: 0x9a, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0xa3}, + {value: 0x0808, lo: 0xa4, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa7}, + {value: 0x0808, lo: 0xa8, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0818, lo: 0xb0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xd, offset 0x77 + {value: 0x0000, lo: 0x0d}, + {value: 0x0c08, lo: 0x80, hi: 0x80}, + {value: 0x0a08, lo: 0x81, hi: 0x85}, + {value: 0x0c08, lo: 0x86, hi: 0x87}, + {value: 0x0a08, lo: 0x88, hi: 0x88}, + {value: 0x0c08, lo: 0x89, hi: 0x89}, + {value: 0x0a08, lo: 0x8a, hi: 0x93}, + {value: 0x0c08, lo: 0x94, hi: 0x94}, + {value: 0x0a08, lo: 0x95, hi: 0x95}, + {value: 0x0808, lo: 0x96, hi: 0x98}, + {value: 0x3308, lo: 0x99, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9d}, + {value: 0x0818, lo: 0x9e, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xbf}, + // Block 0xe, offset 0x85 + {value: 0x0000, lo: 0x0d}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0a08, lo: 0xa0, hi: 0xa9}, + {value: 0x0c08, lo: 0xaa, hi: 0xac}, + {value: 0x0808, lo: 0xad, hi: 0xad}, + {value: 0x0c08, lo: 0xae, hi: 0xae}, + {value: 0x0a08, lo: 0xaf, hi: 0xb0}, + {value: 0x0c08, lo: 0xb1, hi: 0xb2}, + {value: 0x0a08, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0a08, lo: 0xb6, hi: 0xb8}, + {value: 0x0c08, lo: 0xb9, hi: 0xb9}, + {value: 0x0a08, lo: 0xba, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0xf, offset 0x93 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x93}, + {value: 0x3308, lo: 0x94, hi: 0xa1}, + {value: 0x0840, lo: 0xa2, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xbf}, + // Block 0x10, offset 0x98 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x11, offset 0xa1 + {value: 0x0000, lo: 0x0f}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x85}, + {value: 0x3008, lo: 0x86, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x3008, lo: 0x8a, hi: 0x8c}, + {value: 0x3b08, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x12, offset 0xb1 + {value: 0x0000, lo: 0x0d}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xa9}, + {value: 0x0008, lo: 0xaa, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbf}, + // Block 0x13, offset 0xbf + {value: 0x0000, lo: 0x0c}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x14, offset 0xcc + {value: 0x0000, lo: 0x0b}, + {value: 0x0040, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x15, offset 0xd8 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x89}, + {value: 0x3b08, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8e}, + {value: 0x3008, lo: 0x8f, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x3008, lo: 0x98, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x16, offset 0xe9 + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb2}, + {value: 0x08f1, lo: 0xb3, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb9}, + {value: 0x3b08, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0x17, offset 0xf3 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x8e}, + {value: 0x0018, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0xbf}, + // Block 0x18, offset 0xfa + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x3308, lo: 0x88, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0961, lo: 0x9c, hi: 0x9c}, + {value: 0x0999, lo: 0x9d, hi: 0x9d}, + {value: 0x0008, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x19, offset 0x107 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe03d, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xb8}, + {value: 0x3308, lo: 0xb9, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x1a, offset 0x118 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0xbf}, + // Block 0x1b, offset 0x11f + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x3008, lo: 0xab, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xb0}, + {value: 0x3008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x1c, offset 0x12a + {value: 0x0000, lo: 0x0e}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x3008, lo: 0x96, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x3308, lo: 0x9e, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xa1}, + {value: 0x3008, lo: 0xa2, hi: 0xa4}, + {value: 0x0008, lo: 0xa5, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xbf}, + // Block 0x1d, offset 0x139 + {value: 0x0000, lo: 0x0d}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x8c}, + {value: 0x3308, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x8e}, + {value: 0x3008, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x3008, lo: 0x9a, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x1e, offset 0x147 + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x86}, + {value: 0x055d, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8c}, + {value: 0x055d, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbb}, + {value: 0xe105, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0x1f, offset 0x151 + {value: 0x0000, lo: 0x01}, + {value: 0x0018, lo: 0x80, hi: 0xbf}, + // Block 0x20, offset 0x153 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa0}, + {value: 0x2018, lo: 0xa1, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0x21, offset 0x158 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xa7}, + {value: 0x2018, lo: 0xa8, hi: 0xbf}, + // Block 0x22, offset 0x15b + {value: 0x0000, lo: 0x02}, + {value: 0x2018, lo: 0x80, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0xbf}, + // Block 0x23, offset 0x15e + {value: 0x0000, lo: 0x01}, + {value: 0x0008, lo: 0x80, hi: 0xbf}, + // Block 0x24, offset 0x160 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x25, offset 0x16c + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x26, offset 0x177 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x27, offset 0x17f + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x28, offset 0x185 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x29, offset 0x18b + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x2a, offset 0x190 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x2b, offset 0x195 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x2c, offset 0x198 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xbf}, + // Block 0x2d, offset 0x19c + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x2e, offset 0x1a2 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0x2f, offset 0x1a7 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x93}, + {value: 0x3b08, lo: 0x94, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x3b08, lo: 0xb4, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x30, offset 0x1b3 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x31, offset 0x1bd + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xb3}, + {value: 0x3340, lo: 0xb4, hi: 0xb5}, + {value: 0x3008, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x32, offset 0x1c3 + {value: 0x0000, lo: 0x10}, + {value: 0x3008, lo: 0x80, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x88}, + {value: 0x3308, lo: 0x89, hi: 0x91}, + {value: 0x3b08, lo: 0x92, hi: 0x92}, + {value: 0x3308, lo: 0x93, hi: 0x93}, + {value: 0x0018, lo: 0x94, hi: 0x96}, + {value: 0x0008, lo: 0x97, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x33, offset 0x1d4 + {value: 0x0000, lo: 0x09}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x86}, + {value: 0x0218, lo: 0x87, hi: 0x87}, + {value: 0x0018, lo: 0x88, hi: 0x8a}, + {value: 0x33c0, lo: 0x8b, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0208, lo: 0xa0, hi: 0xbf}, + // Block 0x34, offset 0x1de + {value: 0x0000, lo: 0x02}, + {value: 0x0208, lo: 0x80, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x35, offset 0x1e1 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x0208, lo: 0x87, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xa9}, + {value: 0x0208, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x36, offset 0x1e9 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0x37, offset 0x1ec + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb8}, + {value: 0x3308, lo: 0xb9, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x38, offset 0x1f9 + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x39, offset 0x201 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x3a, offset 0x205 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0028, lo: 0x9a, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0xbf}, + // Block 0x3b, offset 0x20c + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x3308, lo: 0x97, hi: 0x98}, + {value: 0x3008, lo: 0x99, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x3c, offset 0x214 + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x94}, + {value: 0x3008, lo: 0x95, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3b08, lo: 0xa0, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xac}, + {value: 0x3008, lo: 0xad, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x3d, offset 0x224 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xbd}, + {value: 0x3318, lo: 0xbe, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x3e, offset 0x230 + {value: 0x0000, lo: 0x01}, + {value: 0x0040, lo: 0x80, hi: 0xbf}, + // Block 0x3f, offset 0x232 + {value: 0x0000, lo: 0x09}, + {value: 0x3308, lo: 0x80, hi: 0x83}, + {value: 0x3008, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbf}, + // Block 0x40, offset 0x23c + {value: 0x0000, lo: 0x0b}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x3808, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x41, offset 0x248 + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa9}, + {value: 0x3808, lo: 0xaa, hi: 0xaa}, + {value: 0x3b08, lo: 0xab, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xbf}, + // Block 0x42, offset 0x254 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa9}, + {value: 0x3008, lo: 0xaa, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb1}, + {value: 0x3808, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbf}, + // Block 0x43, offset 0x260 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x3008, lo: 0xa4, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbf}, + // Block 0x44, offset 0x268 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x45, offset 0x26d + {value: 0x0000, lo: 0x09}, + {value: 0x0e29, lo: 0x80, hi: 0x80}, + {value: 0x0e41, lo: 0x81, hi: 0x81}, + {value: 0x0e59, lo: 0x82, hi: 0x82}, + {value: 0x0e71, lo: 0x83, hi: 0x83}, + {value: 0x0e89, lo: 0x84, hi: 0x85}, + {value: 0x0ea1, lo: 0x86, hi: 0x86}, + {value: 0x0eb9, lo: 0x87, hi: 0x87}, + {value: 0x057d, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0xbf}, + // Block 0x46, offset 0x277 + {value: 0x0000, lo: 0x10}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x92}, + {value: 0x0018, lo: 0x93, hi: 0x93}, + {value: 0x3308, lo: 0x94, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa8}, + {value: 0x0008, lo: 0xa9, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x47, offset 0x288 + {value: 0x0000, lo: 0x03}, + {value: 0x3308, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbf}, + // Block 0x48, offset 0x28c + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x87}, + {value: 0xe045, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0xe045, lo: 0x98, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0xe045, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbf}, + // Block 0x49, offset 0x297 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x3318, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbf}, + // Block 0x4a, offset 0x29b + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x88}, + {value: 0x24c1, lo: 0x89, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x4b, offset 0x2a4 + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x24f1, lo: 0xac, hi: 0xac}, + {value: 0x2529, lo: 0xad, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xae}, + {value: 0x2579, lo: 0xaf, hi: 0xaf}, + {value: 0x25b1, lo: 0xb0, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0x4c, offset 0x2ac + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x9f}, + {value: 0x0080, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xad}, + {value: 0x0080, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x4d, offset 0x2b2 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xa8}, + {value: 0x09c5, lo: 0xa9, hi: 0xa9}, + {value: 0x09e5, lo: 0xaa, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xbf}, + // Block 0x4e, offset 0x2b7 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x4f, offset 0x2ba + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xbf}, + // Block 0x50, offset 0x2bd + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x28c1, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0xbf}, + // Block 0x51, offset 0x2c1 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0e66, lo: 0xb4, hi: 0xb4}, + {value: 0x292a, lo: 0xb5, hi: 0xb5}, + {value: 0x0e86, lo: 0xb6, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x52, offset 0x2c7 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x9b}, + {value: 0x2941, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0xbf}, + // Block 0x53, offset 0x2cb + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0x54, offset 0x2cf + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbc}, + {value: 0x0018, lo: 0xbd, hi: 0xbf}, + // Block 0x55, offset 0x2d5 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0xab}, + {value: 0x0018, lo: 0xac, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x56, offset 0x2dc + {value: 0x0000, lo: 0x05}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x03f5, lo: 0x90, hi: 0x9f}, + {value: 0x0ea5, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x57, offset 0x2e2 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xac}, + {value: 0x0008, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x58, offset 0x2ea + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xae}, + {value: 0xe075, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0x59, offset 0x2f1 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x5a, offset 0x2fc + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xbf}, + // Block 0x5b, offset 0x306 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x5c, offset 0x30a + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0xbf}, + // Block 0x5d, offset 0x30d + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9e}, + {value: 0x0edd, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0x5e, offset 0x313 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb2}, + {value: 0x0efd, lo: 0xb3, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x5f, offset 0x317 + {value: 0x0020, lo: 0x01}, + {value: 0x0f1d, lo: 0x80, hi: 0xbf}, + // Block 0x60, offset 0x319 + {value: 0x0020, lo: 0x02}, + {value: 0x171d, lo: 0x80, hi: 0x8f}, + {value: 0x18fd, lo: 0x90, hi: 0xbf}, + // Block 0x61, offset 0x31c + {value: 0x0020, lo: 0x01}, + {value: 0x1efd, lo: 0x80, hi: 0xbf}, + // Block 0x62, offset 0x31e + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x63, offset 0x321 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x3308, lo: 0x99, hi: 0x9a}, + {value: 0x29e2, lo: 0x9b, hi: 0x9b}, + {value: 0x2a0a, lo: 0x9c, hi: 0x9c}, + {value: 0x0008, lo: 0x9d, hi: 0x9e}, + {value: 0x2a31, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xbf}, + // Block 0x64, offset 0x32b + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xbe}, + {value: 0x2a69, lo: 0xbf, hi: 0xbf}, + // Block 0x65, offset 0x32e + {value: 0x0000, lo: 0x0e}, + {value: 0x0040, lo: 0x80, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xb0}, + {value: 0x2a1d, lo: 0xb1, hi: 0xb1}, + {value: 0x2a3d, lo: 0xb2, hi: 0xb2}, + {value: 0x2a5d, lo: 0xb3, hi: 0xb3}, + {value: 0x2a7d, lo: 0xb4, hi: 0xb4}, + {value: 0x2a5d, lo: 0xb5, hi: 0xb5}, + {value: 0x2a9d, lo: 0xb6, hi: 0xb6}, + {value: 0x2abd, lo: 0xb7, hi: 0xb7}, + {value: 0x2add, lo: 0xb8, hi: 0xb9}, + {value: 0x2afd, lo: 0xba, hi: 0xbb}, + {value: 0x2b1d, lo: 0xbc, hi: 0xbd}, + {value: 0x2afd, lo: 0xbe, hi: 0xbf}, + // Block 0x66, offset 0x33d + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x67, offset 0x341 + {value: 0x0030, lo: 0x04}, + {value: 0x2aa2, lo: 0x80, hi: 0x9d}, + {value: 0x305a, lo: 0x9e, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x30a2, lo: 0xa0, hi: 0xbf}, + // Block 0x68, offset 0x346 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0xbf}, + // Block 0x69, offset 0x349 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x6a, offset 0x34d + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x6b, offset 0x352 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xbf}, + // Block 0x6c, offset 0x357 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb1}, + {value: 0x0018, lo: 0xb2, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x6d, offset 0x35d + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0xb6}, + {value: 0x0008, lo: 0xb7, hi: 0xb7}, + {value: 0x2009, lo: 0xb8, hi: 0xb8}, + {value: 0x6e89, lo: 0xb9, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xbf}, + // Block 0x6e, offset 0x363 + {value: 0x0000, lo: 0x0e}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0x85}, + {value: 0x3b08, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x3308, lo: 0x8b, hi: 0x8b}, + {value: 0x0008, lo: 0x8c, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x6f, offset 0x372 + {value: 0x0000, lo: 0x05}, + {value: 0x0208, lo: 0x80, hi: 0xb1}, + {value: 0x0108, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x70, offset 0x378 + {value: 0x0000, lo: 0x03}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xbf}, + // Block 0x71, offset 0x37c + {value: 0x0000, lo: 0x0e}, + {value: 0x3008, lo: 0x80, hi: 0x83}, + {value: 0x3b08, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xba}, + {value: 0x0008, lo: 0xbb, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x72, offset 0x38b + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x73, offset 0x390 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x91}, + {value: 0x3008, lo: 0x92, hi: 0x92}, + {value: 0x3808, lo: 0x93, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x74, offset 0x398 + {value: 0x0000, lo: 0x09}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb9}, + {value: 0x3008, lo: 0xba, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbf}, + // Block 0x75, offset 0x3a2 + {value: 0x0000, lo: 0x0a}, + {value: 0x3808, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x76, offset 0x3ad + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x77, offset 0x3b5 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x8b}, + {value: 0x3308, lo: 0x8c, hi: 0x8c}, + {value: 0x3008, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbd}, + {value: 0x0008, lo: 0xbe, hi: 0xbf}, + // Block 0x78, offset 0x3c6 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbf}, + // Block 0x79, offset 0x3cf + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x9a}, + {value: 0x0008, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xaa}, + {value: 0x3008, lo: 0xab, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb5}, + {value: 0x3b08, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x7a, offset 0x3df + {value: 0x0000, lo: 0x0c}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x90}, + {value: 0x0008, lo: 0x91, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x7b, offset 0x3ec + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x4465, lo: 0x9c, hi: 0x9c}, + {value: 0x447d, lo: 0x9d, hi: 0x9d}, + {value: 0x2971, lo: 0x9e, hi: 0x9e}, + {value: 0xe06d, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xaf}, + {value: 0x4495, lo: 0xb0, hi: 0xbf}, + // Block 0x7c, offset 0x3f6 + {value: 0x0000, lo: 0x04}, + {value: 0x44b5, lo: 0x80, hi: 0x8f}, + {value: 0x44d5, lo: 0x90, hi: 0x9f}, + {value: 0x44f5, lo: 0xa0, hi: 0xaf}, + {value: 0x44d5, lo: 0xb0, hi: 0xbf}, + // Block 0x7d, offset 0x3fb + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3b08, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x7e, offset 0x408 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x7f, offset 0x40c + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x80, offset 0x411 + {value: 0x0020, lo: 0x01}, + {value: 0x4515, lo: 0x80, hi: 0xbf}, + // Block 0x81, offset 0x413 + {value: 0x0020, lo: 0x03}, + {value: 0x4d15, lo: 0x80, hi: 0x94}, + {value: 0x4ad5, lo: 0x95, hi: 0x95}, + {value: 0x4fb5, lo: 0x96, hi: 0xbf}, + // Block 0x82, offset 0x417 + {value: 0x0020, lo: 0x01}, + {value: 0x54f5, lo: 0x80, hi: 0xbf}, + // Block 0x83, offset 0x419 + {value: 0x0020, lo: 0x03}, + {value: 0x5cf5, lo: 0x80, hi: 0x84}, + {value: 0x5655, lo: 0x85, hi: 0x85}, + {value: 0x5d95, lo: 0x86, hi: 0xbf}, + // Block 0x84, offset 0x41d + {value: 0x0020, lo: 0x08}, + {value: 0x6b55, lo: 0x80, hi: 0x8f}, + {value: 0x6d15, lo: 0x90, hi: 0x90}, + {value: 0x6d55, lo: 0x91, hi: 0xab}, + {value: 0x6ea1, lo: 0xac, hi: 0xac}, + {value: 0x70b5, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x70d5, lo: 0xb0, hi: 0xbf}, + // Block 0x85, offset 0x426 + {value: 0x0020, lo: 0x05}, + {value: 0x72d5, lo: 0x80, hi: 0xad}, + {value: 0x6535, lo: 0xae, hi: 0xae}, + {value: 0x7895, lo: 0xaf, hi: 0xb5}, + {value: 0x6f55, lo: 0xb6, hi: 0xb6}, + {value: 0x7975, lo: 0xb7, hi: 0xbf}, + // Block 0x86, offset 0x42c + {value: 0x0028, lo: 0x03}, + {value: 0x7c21, lo: 0x80, hi: 0x82}, + {value: 0x7be1, lo: 0x83, hi: 0x83}, + {value: 0x7c99, lo: 0x84, hi: 0xbf}, + // Block 0x87, offset 0x430 + {value: 0x0038, lo: 0x0f}, + {value: 0x9db1, lo: 0x80, hi: 0x83}, + {value: 0x9e59, lo: 0x84, hi: 0x85}, + {value: 0x9e91, lo: 0x86, hi: 0x87}, + {value: 0x9ec9, lo: 0x88, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0xa089, lo: 0x92, hi: 0x97}, + {value: 0xa1a1, lo: 0x98, hi: 0x9c}, + {value: 0xa281, lo: 0x9d, hi: 0xb3}, + {value: 0x9d41, lo: 0xb4, hi: 0xb4}, + {value: 0x9db1, lo: 0xb5, hi: 0xb5}, + {value: 0xa789, lo: 0xb6, hi: 0xbb}, + {value: 0xa869, lo: 0xbc, hi: 0xbc}, + {value: 0xa7f9, lo: 0xbd, hi: 0xbd}, + {value: 0xa8d9, lo: 0xbe, hi: 0xbf}, + // Block 0x88, offset 0x440 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbb}, + {value: 0x0008, lo: 0xbc, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x89, offset 0x44a + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0x8a, offset 0x44f + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x8b, offset 0x452 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x8c, offset 0x458 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0x8d, offset 0x45f + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x8e, offset 0x464 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x8f, offset 0x468 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x90, offset 0x46e + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x91, offset 0x473 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x92, offset 0x47c + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x93, offset 0x481 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0xbf}, + // Block 0x94, offset 0x487 + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x97}, + {value: 0x8ad5, lo: 0x98, hi: 0x9f}, + {value: 0x8aed, lo: 0xa0, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xbf}, + // Block 0x95, offset 0x48e + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x8aed, lo: 0xb0, hi: 0xb7}, + {value: 0x8ad5, lo: 0xb8, hi: 0xbf}, + // Block 0x96, offset 0x495 + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x97, offset 0x49c + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x98, offset 0x4a0 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xae}, + {value: 0x0018, lo: 0xaf, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x99, offset 0x4a5 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x9a, offset 0x4a8 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xbf}, + // Block 0x9b, offset 0x4ad + {value: 0x0000, lo: 0x0b}, + {value: 0x0808, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0808, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0808, lo: 0x8a, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb6}, + {value: 0x0808, lo: 0xb7, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbb}, + {value: 0x0808, lo: 0xbc, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x0808, lo: 0xbf, hi: 0xbf}, + // Block 0x9c, offset 0x4b9 + {value: 0x0000, lo: 0x05}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x96}, + {value: 0x0818, lo: 0x97, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb6}, + {value: 0x0818, lo: 0xb7, hi: 0xbf}, + // Block 0x9d, offset 0x4bf + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa6}, + {value: 0x0818, lo: 0xa7, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x9e, offset 0x4c4 + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb3}, + {value: 0x0808, lo: 0xb4, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xba}, + {value: 0x0818, lo: 0xbb, hi: 0xbf}, + // Block 0x9f, offset 0x4cb + {value: 0x0000, lo: 0x07}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0818, lo: 0x96, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbe}, + {value: 0x0818, lo: 0xbf, hi: 0xbf}, + // Block 0xa0, offset 0x4d3 + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbb}, + {value: 0x0818, lo: 0xbc, hi: 0xbd}, + {value: 0x0808, lo: 0xbe, hi: 0xbf}, + // Block 0xa1, offset 0x4d8 + {value: 0x0000, lo: 0x03}, + {value: 0x0818, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x0818, lo: 0x92, hi: 0xbf}, + // Block 0xa2, offset 0x4dc + {value: 0x0000, lo: 0x0f}, + {value: 0x0808, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8b}, + {value: 0x3308, lo: 0x8c, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x94}, + {value: 0x0808, lo: 0x95, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0x98}, + {value: 0x0808, lo: 0x99, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xa3, offset 0x4ec + {value: 0x0000, lo: 0x06}, + {value: 0x0818, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0818, lo: 0x90, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xbc}, + {value: 0x0818, lo: 0xbd, hi: 0xbf}, + // Block 0xa4, offset 0x4f3 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0x9c}, + {value: 0x0818, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xa5, offset 0x4f7 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb8}, + {value: 0x0018, lo: 0xb9, hi: 0xbf}, + // Block 0xa6, offset 0x4fb + {value: 0x0000, lo: 0x06}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0818, lo: 0x98, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb7}, + {value: 0x0818, lo: 0xb8, hi: 0xbf}, + // Block 0xa7, offset 0x502 + {value: 0x0000, lo: 0x01}, + {value: 0x0808, lo: 0x80, hi: 0xbf}, + // Block 0xa8, offset 0x504 + {value: 0x0000, lo: 0x02}, + {value: 0x0808, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0xbf}, + // Block 0xa9, offset 0x507 + {value: 0x0000, lo: 0x02}, + {value: 0x03dd, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbf}, + // Block 0xaa, offset 0x50a + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb9}, + {value: 0x0818, lo: 0xba, hi: 0xbf}, + // Block 0xab, offset 0x50e + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0818, lo: 0xa0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xac, offset 0x512 + {value: 0x0000, lo: 0x05}, + {value: 0x3008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xad, offset 0x518 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x85}, + {value: 0x3b08, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x91}, + {value: 0x0018, lo: 0x92, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xae, offset 0x521 + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb6}, + {value: 0x3008, lo: 0xb7, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbc}, + {value: 0x0340, lo: 0xbd, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0xaf, offset 0x52d + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xb0, offset 0x534 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xb2}, + {value: 0x3b08, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xbf}, + // Block 0xb1, offset 0x53d + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xb2, offset 0x545 + {value: 0x0000, lo: 0x06}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xbe}, + {value: 0x3008, lo: 0xbf, hi: 0xbf}, + // Block 0xb3, offset 0x54c + {value: 0x0000, lo: 0x0d}, + {value: 0x3808, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x89}, + {value: 0x3308, lo: 0x8a, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xb4, offset 0x55a + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x3808, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xb5, offset 0x567 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0008, lo: 0x9f, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0xb6, offset 0x574 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x3308, lo: 0x9f, hi: 0x9f}, + {value: 0x3008, lo: 0xa0, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xa9}, + {value: 0x3b08, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xb7, offset 0x57d + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xb8, offset 0x581 + {value: 0x0000, lo: 0x0d}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x3b08, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x84}, + {value: 0x3008, lo: 0x85, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0xb9, offset 0x58f + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb8}, + {value: 0x3008, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0xba, offset 0x597 + {value: 0x0000, lo: 0x0a}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x81}, + {value: 0x3b08, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x85}, + {value: 0x0018, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xbb, offset 0x5a2 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xbc, offset 0x5ab + {value: 0x0000, lo: 0x05}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9b}, + {value: 0x3308, lo: 0x9c, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0xbd, offset 0x5b1 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xbe, offset 0x5b9 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xbf, offset 0x5c2 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb5}, + {value: 0x3808, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0xc0, offset 0x5cc + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0xbf}, + // Block 0xc1, offset 0x5cf + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9f}, + {value: 0x3008, lo: 0xa0, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xaa}, + {value: 0x3b08, lo: 0xab, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbf}, + // Block 0xc2, offset 0x5db + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xbf}, + // Block 0xc3, offset 0x5de + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0xc4, offset 0x5e3 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xc5, offset 0x5e6 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xc6, offset 0x5f0 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xbf}, + // Block 0xc7, offset 0x5f9 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xa9}, + {value: 0x3308, lo: 0xaa, hi: 0xb0}, + {value: 0x3008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xc8, offset 0x605 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xc9, offset 0x608 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xca, offset 0x60d + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0xbf}, + // Block 0xcb, offset 0x610 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xbf}, + // Block 0xcc, offset 0x613 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0xbf}, + // Block 0xcd, offset 0x616 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xce, offset 0x61d + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xcf, offset 0x624 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0xd0, offset 0x628 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x0008, lo: 0xa3, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0xd1, offset 0x633 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0xbf}, + // Block 0xd2, offset 0x636 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x3008, lo: 0x91, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xd3, offset 0x63c + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x8e}, + {value: 0x3308, lo: 0x8f, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xd4, offset 0x641 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0xd5, offset 0x645 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xd6, offset 0x648 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbf}, + // Block 0xd7, offset 0x64b + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0xbf}, + // Block 0xd8, offset 0x64e + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0xd9, offset 0x653 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x03c0, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xbf}, + // Block 0xda, offset 0x65d + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xdb, offset 0x660 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xbf}, + // Block 0xdc, offset 0x664 + {value: 0x0000, lo: 0x0e}, + {value: 0x0018, lo: 0x80, hi: 0x9d}, + {value: 0xb5b9, lo: 0x9e, hi: 0x9e}, + {value: 0xb601, lo: 0x9f, hi: 0x9f}, + {value: 0xb649, lo: 0xa0, hi: 0xa0}, + {value: 0xb6b1, lo: 0xa1, hi: 0xa1}, + {value: 0xb719, lo: 0xa2, hi: 0xa2}, + {value: 0xb781, lo: 0xa3, hi: 0xa3}, + {value: 0xb7e9, lo: 0xa4, hi: 0xa4}, + {value: 0x3018, lo: 0xa5, hi: 0xa6}, + {value: 0x3318, lo: 0xa7, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xac}, + {value: 0x3018, lo: 0xad, hi: 0xb2}, + {value: 0x0340, lo: 0xb3, hi: 0xba}, + {value: 0x3318, lo: 0xbb, hi: 0xbf}, + // Block 0xdd, offset 0x673 + {value: 0x0000, lo: 0x0b}, + {value: 0x3318, lo: 0x80, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0x84}, + {value: 0x3318, lo: 0x85, hi: 0x8b}, + {value: 0x0018, lo: 0x8c, hi: 0xa9}, + {value: 0x3318, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xba}, + {value: 0xb851, lo: 0xbb, hi: 0xbb}, + {value: 0xb899, lo: 0xbc, hi: 0xbc}, + {value: 0xb8e1, lo: 0xbd, hi: 0xbd}, + {value: 0xb949, lo: 0xbe, hi: 0xbe}, + {value: 0xb9b1, lo: 0xbf, hi: 0xbf}, + // Block 0xde, offset 0x67f + {value: 0x0000, lo: 0x03}, + {value: 0xba19, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xbf}, + // Block 0xdf, offset 0x683 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x3318, lo: 0x82, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0xbf}, + // Block 0xe0, offset 0x688 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xe1, offset 0x68d + {value: 0x0000, lo: 0x03}, + {value: 0x3308, lo: 0x80, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbf}, + // Block 0xe2, offset 0x691 + {value: 0x0000, lo: 0x04}, + {value: 0x3308, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0xe3, offset 0x696 + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x3308, lo: 0xa1, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xe4, offset 0x69f + {value: 0x0000, lo: 0x0a}, + {value: 0x3308, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x3308, lo: 0x88, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xa4}, + {value: 0x0040, lo: 0xa5, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xbf}, + // Block 0xe5, offset 0x6aa + {value: 0x0000, lo: 0x05}, + {value: 0x0808, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x86}, + {value: 0x0818, lo: 0x87, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0xe6, offset 0x6b0 + {value: 0x0000, lo: 0x07}, + {value: 0x0a08, lo: 0x80, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0818, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xe7, offset 0x6b8 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xe8, offset 0x6bc + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0xe9, offset 0x6c0 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0xea, offset 0x6c6 + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xeb, offset 0x6cc + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8f}, + {value: 0xc1c1, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xec, offset 0x6d1 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xbf}, + // Block 0xed, offset 0x6d4 + {value: 0x0000, lo: 0x0d}, + {value: 0xc7e9, lo: 0x80, hi: 0x80}, + {value: 0xc839, lo: 0x81, hi: 0x81}, + {value: 0xc889, lo: 0x82, hi: 0x82}, + {value: 0xc8d9, lo: 0x83, hi: 0x83}, + {value: 0xc929, lo: 0x84, hi: 0x84}, + {value: 0xc979, lo: 0x85, hi: 0x85}, + {value: 0xc9c9, lo: 0x86, hi: 0x86}, + {value: 0xca19, lo: 0x87, hi: 0x87}, + {value: 0xca69, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0xcab9, lo: 0x90, hi: 0x90}, + {value: 0xcad9, lo: 0x91, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0xbf}, + // Block 0xee, offset 0x6e2 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x92}, + {value: 0x0040, lo: 0x93, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xef, offset 0x6e9 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0xf0, offset 0x6ec + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0xbf}, + // Block 0xf1, offset 0x6ef + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0xf2, offset 0x6f3 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0xf3, offset 0x6f9 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xbf}, + // Block 0xf4, offset 0x6fe + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb2}, + {value: 0x0018, lo: 0xb3, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xf5, offset 0x708 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xbf}, + // Block 0xf6, offset 0x70d + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0xbf}, + // Block 0xf7, offset 0x710 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0xbf}, + // Block 0xf8, offset 0x713 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0xf9, offset 0x716 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xfa, offset 0x719 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0xfb, offset 0x71d + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xbf}, + // Block 0xfc, offset 0x720 + {value: 0x0020, lo: 0x0f}, + {value: 0xdeb9, lo: 0x80, hi: 0x89}, + {value: 0x8dfd, lo: 0x8a, hi: 0x8a}, + {value: 0xdff9, lo: 0x8b, hi: 0x9c}, + {value: 0x8e1d, lo: 0x9d, hi: 0x9d}, + {value: 0xe239, lo: 0x9e, hi: 0xa2}, + {value: 0x8e3d, lo: 0xa3, hi: 0xa3}, + {value: 0xe2d9, lo: 0xa4, hi: 0xab}, + {value: 0x7ed5, lo: 0xac, hi: 0xac}, + {value: 0xe3d9, lo: 0xad, hi: 0xaf}, + {value: 0x8e5d, lo: 0xb0, hi: 0xb0}, + {value: 0xe439, lo: 0xb1, hi: 0xb6}, + {value: 0x8e7d, lo: 0xb7, hi: 0xb9}, + {value: 0xe4f9, lo: 0xba, hi: 0xba}, + {value: 0x8edd, lo: 0xbb, hi: 0xbb}, + {value: 0xe519, lo: 0xbc, hi: 0xbf}, + // Block 0xfd, offset 0x730 + {value: 0x0020, lo: 0x10}, + {value: 0x937d, lo: 0x80, hi: 0x80}, + {value: 0xf099, lo: 0x81, hi: 0x86}, + {value: 0x939d, lo: 0x87, hi: 0x8a}, + {value: 0xd9f9, lo: 0x8b, hi: 0x8b}, + {value: 0xf159, lo: 0x8c, hi: 0x96}, + {value: 0x941d, lo: 0x97, hi: 0x97}, + {value: 0xf2b9, lo: 0x98, hi: 0xa3}, + {value: 0x943d, lo: 0xa4, hi: 0xa6}, + {value: 0xf439, lo: 0xa7, hi: 0xaa}, + {value: 0x949d, lo: 0xab, hi: 0xab}, + {value: 0xf4b9, lo: 0xac, hi: 0xac}, + {value: 0x94bd, lo: 0xad, hi: 0xad}, + {value: 0xf4d9, lo: 0xae, hi: 0xaf}, + {value: 0x94dd, lo: 0xb0, hi: 0xb1}, + {value: 0xf519, lo: 0xb2, hi: 0xbe}, + {value: 0x2040, lo: 0xbf, hi: 0xbf}, + // Block 0xfe, offset 0x741 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0340, lo: 0x81, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x9f}, + {value: 0x0340, lo: 0xa0, hi: 0xbf}, + // Block 0xff, offset 0x746 + {value: 0x0000, lo: 0x01}, + {value: 0x0340, lo: 0x80, hi: 0xbf}, + // Block 0x100, offset 0x748 + {value: 0x0000, lo: 0x01}, + {value: 0x33c0, lo: 0x80, hi: 0xbf}, + // Block 0x101, offset 0x74a + {value: 0x0000, lo: 0x02}, + {value: 0x33c0, lo: 0x80, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, +} + +// Total table size 41662 bytes (40KiB); checksum: 355A58A4 diff --git a/vendor/golang.org/x/net/internal/socket/cmsghdr.go b/vendor/golang.org/x/net/internal/socket/cmsghdr.go index 1eb07d26..0a73e277 100644 --- a/vendor/golang.org/x/net/internal/socket/cmsghdr.go +++ b/vendor/golang.org/x/net/internal/socket/cmsghdr.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build darwin dragonfly freebsd linux netbsd openbsd solaris +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris package socket diff --git a/vendor/golang.org/x/net/internal/socket/cmsghdr_bsd.go b/vendor/golang.org/x/net/internal/socket/cmsghdr_bsd.go index d1d0c2de..14dbb3ad 100644 --- a/vendor/golang.org/x/net/internal/socket/cmsghdr_bsd.go +++ b/vendor/golang.org/x/net/internal/socket/cmsghdr_bsd.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build darwin dragonfly freebsd netbsd openbsd +// +build aix darwin dragonfly freebsd netbsd openbsd package socket diff --git a/vendor/golang.org/x/net/internal/socket/cmsghdr_linux_64bit.go b/vendor/golang.org/x/net/internal/socket/cmsghdr_linux_64bit.go index 63f0534f..27be0efa 100644 --- a/vendor/golang.org/x/net/internal/socket/cmsghdr_linux_64bit.go +++ b/vendor/golang.org/x/net/internal/socket/cmsghdr_linux_64bit.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build arm64 amd64 ppc64 ppc64le mips64 mips64le s390x +// +build arm64 amd64 ppc64 ppc64le mips64 mips64le riscv64 s390x // +build linux package socket diff --git a/vendor/golang.org/x/net/internal/socket/cmsghdr_stub.go b/vendor/golang.org/x/net/internal/socket/cmsghdr_stub.go index a4e71226..e581011b 100644 --- a/vendor/golang.org/x/net/internal/socket/cmsghdr_stub.go +++ b/vendor/golang.org/x/net/internal/socket/cmsghdr_stub.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris +// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris package socket diff --git a/vendor/golang.org/x/net/internal/socket/defs_aix.go b/vendor/golang.org/x/net/internal/socket/defs_aix.go new file mode 100644 index 00000000..c9d05b26 --- /dev/null +++ b/vendor/golang.org/x/net/internal/socket/defs_aix.go @@ -0,0 +1,39 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +// +godefs map struct_in_addr [4]byte /* in_addr */ +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package socket + +/* +#include + +#include +*/ +import "C" + +type iovec C.struct_iovec + +type msghdr C.struct_msghdr + +type mmsghdr C.struct_mmsghdr + +type cmsghdr C.struct_cmsghdr + +type sockaddrInet C.struct_sockaddr_in + +type sockaddrInet6 C.struct_sockaddr_in6 + +const ( + sizeofIovec = C.sizeof_struct_iovec + sizeofMsghdr = C.sizeof_struct_msghdr + sizeofMmsghdr = C.sizeof_struct_mmsghdr + sizeofCmsghdr = C.sizeof_struct_cmsghdr + + sizeofSockaddrInet = C.sizeof_struct_sockaddr_in + sizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 +) diff --git a/vendor/golang.org/x/net/internal/socket/defs_darwin.go b/vendor/golang.org/x/net/internal/socket/defs_darwin.go index 14e28c0b..b780bc67 100644 --- a/vendor/golang.org/x/net/internal/socket/defs_darwin.go +++ b/vendor/golang.org/x/net/internal/socket/defs_darwin.go @@ -16,14 +16,6 @@ package socket */ import "C" -const ( - sysAF_UNSPEC = C.AF_UNSPEC - sysAF_INET = C.AF_INET - sysAF_INET6 = C.AF_INET6 - - sysSOCK_RAW = C.SOCK_RAW -) - type iovec C.struct_iovec type msghdr C.struct_msghdr diff --git a/vendor/golang.org/x/net/internal/socket/defs_dragonfly.go b/vendor/golang.org/x/net/internal/socket/defs_dragonfly.go index 14e28c0b..b780bc67 100644 --- a/vendor/golang.org/x/net/internal/socket/defs_dragonfly.go +++ b/vendor/golang.org/x/net/internal/socket/defs_dragonfly.go @@ -16,14 +16,6 @@ package socket */ import "C" -const ( - sysAF_UNSPEC = C.AF_UNSPEC - sysAF_INET = C.AF_INET - sysAF_INET6 = C.AF_INET6 - - sysSOCK_RAW = C.SOCK_RAW -) - type iovec C.struct_iovec type msghdr C.struct_msghdr diff --git a/vendor/golang.org/x/net/internal/socket/defs_freebsd.go b/vendor/golang.org/x/net/internal/socket/defs_freebsd.go index 14e28c0b..b780bc67 100644 --- a/vendor/golang.org/x/net/internal/socket/defs_freebsd.go +++ b/vendor/golang.org/x/net/internal/socket/defs_freebsd.go @@ -16,14 +16,6 @@ package socket */ import "C" -const ( - sysAF_UNSPEC = C.AF_UNSPEC - sysAF_INET = C.AF_INET - sysAF_INET6 = C.AF_INET6 - - sysSOCK_RAW = C.SOCK_RAW -) - type iovec C.struct_iovec type msghdr C.struct_msghdr diff --git a/vendor/golang.org/x/net/internal/socket/defs_linux.go b/vendor/golang.org/x/net/internal/socket/defs_linux.go index ce9ec2f6..6c5c11dc 100644 --- a/vendor/golang.org/x/net/internal/socket/defs_linux.go +++ b/vendor/golang.org/x/net/internal/socket/defs_linux.go @@ -18,14 +18,6 @@ package socket */ import "C" -const ( - sysAF_UNSPEC = C.AF_UNSPEC - sysAF_INET = C.AF_INET - sysAF_INET6 = C.AF_INET6 - - sysSOCK_RAW = C.SOCK_RAW -) - type iovec C.struct_iovec type msghdr C.struct_msghdr diff --git a/vendor/golang.org/x/net/internal/socket/defs_netbsd.go b/vendor/golang.org/x/net/internal/socket/defs_netbsd.go index 3f843356..3d3b7763 100644 --- a/vendor/golang.org/x/net/internal/socket/defs_netbsd.go +++ b/vendor/golang.org/x/net/internal/socket/defs_netbsd.go @@ -16,14 +16,6 @@ package socket */ import "C" -const ( - sysAF_UNSPEC = C.AF_UNSPEC - sysAF_INET = C.AF_INET - sysAF_INET6 = C.AF_INET6 - - sysSOCK_RAW = C.SOCK_RAW -) - type iovec C.struct_iovec type msghdr C.struct_msghdr diff --git a/vendor/golang.org/x/net/internal/socket/defs_openbsd.go b/vendor/golang.org/x/net/internal/socket/defs_openbsd.go index 14e28c0b..b780bc67 100644 --- a/vendor/golang.org/x/net/internal/socket/defs_openbsd.go +++ b/vendor/golang.org/x/net/internal/socket/defs_openbsd.go @@ -16,14 +16,6 @@ package socket */ import "C" -const ( - sysAF_UNSPEC = C.AF_UNSPEC - sysAF_INET = C.AF_INET - sysAF_INET6 = C.AF_INET6 - - sysSOCK_RAW = C.SOCK_RAW -) - type iovec C.struct_iovec type msghdr C.struct_msghdr diff --git a/vendor/golang.org/x/net/internal/socket/defs_solaris.go b/vendor/golang.org/x/net/internal/socket/defs_solaris.go index 14e28c0b..b780bc67 100644 --- a/vendor/golang.org/x/net/internal/socket/defs_solaris.go +++ b/vendor/golang.org/x/net/internal/socket/defs_solaris.go @@ -16,14 +16,6 @@ package socket */ import "C" -const ( - sysAF_UNSPEC = C.AF_UNSPEC - sysAF_INET = C.AF_INET - sysAF_INET6 = C.AF_INET6 - - sysSOCK_RAW = C.SOCK_RAW -) - type iovec C.struct_iovec type msghdr C.struct_msghdr diff --git a/vendor/golang.org/x/net/internal/socket/error_unix.go b/vendor/golang.org/x/net/internal/socket/error_unix.go index 93dff918..f14872d3 100644 --- a/vendor/golang.org/x/net/internal/socket/error_unix.go +++ b/vendor/golang.org/x/net/internal/socket/error_unix.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build darwin dragonfly freebsd linux netbsd openbsd solaris +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris package socket diff --git a/vendor/golang.org/x/net/internal/socket/iovec_64bit.go b/vendor/golang.org/x/net/internal/socket/iovec_64bit.go index afb34ad5..dfeda752 100644 --- a/vendor/golang.org/x/net/internal/socket/iovec_64bit.go +++ b/vendor/golang.org/x/net/internal/socket/iovec_64bit.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build arm64 amd64 ppc64 ppc64le mips64 mips64le s390x -// +build darwin dragonfly freebsd linux netbsd openbsd +// +build arm64 amd64 ppc64 ppc64le mips64 mips64le riscv64 s390x +// +build aix darwin dragonfly freebsd linux netbsd openbsd package socket diff --git a/vendor/golang.org/x/net/internal/socket/iovec_stub.go b/vendor/golang.org/x/net/internal/socket/iovec_stub.go index c87d2a93..a746e90e 100644 --- a/vendor/golang.org/x/net/internal/socket/iovec_stub.go +++ b/vendor/golang.org/x/net/internal/socket/iovec_stub.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris +// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris package socket diff --git a/vendor/golang.org/x/net/internal/socket/mmsghdr_stub.go b/vendor/golang.org/x/net/internal/socket/mmsghdr_stub.go index 2e80a9cb..1a7f2792 100644 --- a/vendor/golang.org/x/net/internal/socket/mmsghdr_stub.go +++ b/vendor/golang.org/x/net/internal/socket/mmsghdr_stub.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build !linux,!netbsd +// +build !aix,!linux,!netbsd package socket diff --git a/vendor/golang.org/x/net/internal/socket/mmsghdr_unix.go b/vendor/golang.org/x/net/internal/socket/mmsghdr_unix.go index 3c42ea7a..f1100683 100644 --- a/vendor/golang.org/x/net/internal/socket/mmsghdr_unix.go +++ b/vendor/golang.org/x/net/internal/socket/mmsghdr_unix.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build linux netbsd +// +build aix linux netbsd package socket diff --git a/vendor/golang.org/x/net/internal/socket/msghdr_bsd.go b/vendor/golang.org/x/net/internal/socket/msghdr_bsd.go index 5567afc8..77f44c1f 100644 --- a/vendor/golang.org/x/net/internal/socket/msghdr_bsd.go +++ b/vendor/golang.org/x/net/internal/socket/msghdr_bsd.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build darwin dragonfly freebsd netbsd openbsd +// +build aix darwin dragonfly freebsd netbsd openbsd package socket diff --git a/vendor/golang.org/x/net/internal/socket/msghdr_bsdvar.go b/vendor/golang.org/x/net/internal/socket/msghdr_bsdvar.go index b8c87b72..c5562dd6 100644 --- a/vendor/golang.org/x/net/internal/socket/msghdr_bsdvar.go +++ b/vendor/golang.org/x/net/internal/socket/msghdr_bsdvar.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build darwin dragonfly freebsd netbsd +// +build aix darwin dragonfly freebsd netbsd package socket diff --git a/vendor/golang.org/x/net/internal/socket/msghdr_linux_64bit.go b/vendor/golang.org/x/net/internal/socket/msghdr_linux_64bit.go index 610fc4f3..e731833a 100644 --- a/vendor/golang.org/x/net/internal/socket/msghdr_linux_64bit.go +++ b/vendor/golang.org/x/net/internal/socket/msghdr_linux_64bit.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build arm64 amd64 ppc64 ppc64le mips64 mips64le s390x +// +build arm64 amd64 ppc64 ppc64le mips64 mips64le riscv64 s390x // +build linux package socket diff --git a/vendor/golang.org/x/net/internal/socket/msghdr_stub.go b/vendor/golang.org/x/net/internal/socket/msghdr_stub.go index 64e81733..873490a7 100644 --- a/vendor/golang.org/x/net/internal/socket/msghdr_stub.go +++ b/vendor/golang.org/x/net/internal/socket/msghdr_stub.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris +// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris package socket diff --git a/vendor/golang.org/x/net/internal/socket/rawconn.go b/vendor/golang.org/x/net/internal/socket/rawconn.go index d6871d55..b07b8900 100644 --- a/vendor/golang.org/x/net/internal/socket/rawconn.go +++ b/vendor/golang.org/x/net/internal/socket/rawconn.go @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build go1.9 - package socket import ( diff --git a/vendor/golang.org/x/net/internal/socket/rawconn_mmsg.go b/vendor/golang.org/x/net/internal/socket/rawconn_mmsg.go index 499164a3..1f4cb3b3 100644 --- a/vendor/golang.org/x/net/internal/socket/rawconn_mmsg.go +++ b/vendor/golang.org/x/net/internal/socket/rawconn_mmsg.go @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build go1.9 // +build linux package socket diff --git a/vendor/golang.org/x/net/internal/socket/rawconn_msg.go b/vendor/golang.org/x/net/internal/socket/rawconn_msg.go index b21d2e64..a9720118 100644 --- a/vendor/golang.org/x/net/internal/socket/rawconn_msg.go +++ b/vendor/golang.org/x/net/internal/socket/rawconn_msg.go @@ -2,8 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build go1.9 -// +build darwin dragonfly freebsd linux netbsd openbsd solaris windows +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows package socket diff --git a/vendor/golang.org/x/net/internal/socket/rawconn_nommsg.go b/vendor/golang.org/x/net/internal/socket/rawconn_nommsg.go index f78832aa..fe5bb942 100644 --- a/vendor/golang.org/x/net/internal/socket/rawconn_nommsg.go +++ b/vendor/golang.org/x/net/internal/socket/rawconn_nommsg.go @@ -2,17 +2,14 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build go1.9 // +build !linux package socket -import "errors" - func (c *Conn) recvMsgs(ms []Message, flags int) (int, error) { - return 0, errors.New("not implemented") + return 0, errNotImplemented } func (c *Conn) sendMsgs(ms []Message, flags int) (int, error) { - return 0, errors.New("not implemented") + return 0, errNotImplemented } diff --git a/vendor/golang.org/x/net/internal/socket/rawconn_nomsg.go b/vendor/golang.org/x/net/internal/socket/rawconn_nomsg.go index 96733cbe..b8cea6fe 100644 --- a/vendor/golang.org/x/net/internal/socket/rawconn_nomsg.go +++ b/vendor/golang.org/x/net/internal/socket/rawconn_nomsg.go @@ -2,17 +2,14 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build go1.9 -// +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows +// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows package socket -import "errors" - func (c *Conn) recvMsg(m *Message, flags int) error { - return errors.New("not implemented") + return errNotImplemented } func (c *Conn) sendMsg(m *Message, flags int) error { - return errors.New("not implemented") + return errNotImplemented } diff --git a/vendor/golang.org/x/net/internal/socket/rawconn_stub.go b/vendor/golang.org/x/net/internal/socket/rawconn_stub.go deleted file mode 100644 index d2add1a0..00000000 --- a/vendor/golang.org/x/net/internal/socket/rawconn_stub.go +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2017 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build !go1.9 - -package socket - -import "errors" - -func (c *Conn) recvMsg(m *Message, flags int) error { - return errors.New("not implemented") -} - -func (c *Conn) sendMsg(m *Message, flags int) error { - return errors.New("not implemented") -} - -func (c *Conn) recvMsgs(ms []Message, flags int) (int, error) { - return 0, errors.New("not implemented") -} - -func (c *Conn) sendMsgs(ms []Message, flags int) (int, error) { - return 0, errors.New("not implemented") -} diff --git a/vendor/golang.org/x/net/internal/socket/reflect.go b/vendor/golang.org/x/net/internal/socket/reflect.go deleted file mode 100644 index bb179f11..00000000 --- a/vendor/golang.org/x/net/internal/socket/reflect.go +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2017 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build !go1.9 - -package socket - -import ( - "errors" - "net" - "os" - "reflect" - "runtime" -) - -// A Conn represents a raw connection. -type Conn struct { - c net.Conn -} - -// NewConn returns a new raw connection. -func NewConn(c net.Conn) (*Conn, error) { - return &Conn{c: c}, nil -} - -func (o *Option) get(c *Conn, b []byte) (int, error) { - s, err := socketOf(c.c) - if err != nil { - return 0, err - } - n, err := getsockopt(s, o.Level, o.Name, b) - return n, os.NewSyscallError("getsockopt", err) -} - -func (o *Option) set(c *Conn, b []byte) error { - s, err := socketOf(c.c) - if err != nil { - return err - } - return os.NewSyscallError("setsockopt", setsockopt(s, o.Level, o.Name, b)) -} - -func socketOf(c net.Conn) (uintptr, error) { - switch c.(type) { - case *net.TCPConn, *net.UDPConn, *net.IPConn: - v := reflect.ValueOf(c) - switch e := v.Elem(); e.Kind() { - case reflect.Struct: - fd := e.FieldByName("conn").FieldByName("fd") - switch e := fd.Elem(); e.Kind() { - case reflect.Struct: - sysfd := e.FieldByName("sysfd") - if runtime.GOOS == "windows" { - return uintptr(sysfd.Uint()), nil - } - return uintptr(sysfd.Int()), nil - } - } - } - return 0, errors.New("invalid type") -} diff --git a/vendor/golang.org/x/net/internal/socket/socket.go b/vendor/golang.org/x/net/internal/socket/socket.go index 5f9730e6..23571b8d 100644 --- a/vendor/golang.org/x/net/internal/socket/socket.go +++ b/vendor/golang.org/x/net/internal/socket/socket.go @@ -9,9 +9,12 @@ package socket // import "golang.org/x/net/internal/socket" import ( "errors" "net" + "runtime" "unsafe" ) +var errNotImplemented = errors.New("not implemented on " + runtime.GOOS + "/" + runtime.GOARCH) + // An Option represents a sticky socket option. type Option struct { Level int // level diff --git a/vendor/golang.org/x/net/internal/socket/sys.go b/vendor/golang.org/x/net/internal/socket/sys.go index 4f0eead1..ee492ba8 100644 --- a/vendor/golang.org/x/net/internal/socket/sys.go +++ b/vendor/golang.org/x/net/internal/socket/sys.go @@ -29,5 +29,5 @@ func init() { } func roundup(l int) int { - return (l + kernelAlign - 1) & ^(kernelAlign - 1) + return (l + kernelAlign - 1) &^ (kernelAlign - 1) } diff --git a/vendor/golang.org/x/net/internal/socket/sys_bsd.go b/vendor/golang.org/x/net/internal/socket/sys_bsd.go index f13e14ff..d432835b 100644 --- a/vendor/golang.org/x/net/internal/socket/sys_bsd.go +++ b/vendor/golang.org/x/net/internal/socket/sys_bsd.go @@ -2,16 +2,14 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build darwin dragonfly freebsd openbsd +// +build aix darwin dragonfly freebsd openbsd package socket -import "errors" - func recvmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) { - return 0, errors.New("not implemented") + return 0, errNotImplemented } func sendmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) { - return 0, errors.New("not implemented") + return 0, errNotImplemented } diff --git a/vendor/golang.org/x/net/internal/socket/sys_bsdvar.go b/vendor/golang.org/x/net/internal/socket/sys_bsdvar.go index 164ddfce..b4f41b55 100644 --- a/vendor/golang.org/x/net/internal/socket/sys_bsdvar.go +++ b/vendor/golang.org/x/net/internal/socket/sys_bsdvar.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build freebsd netbsd openbsd +// +build aix freebsd netbsd openbsd package socket @@ -12,9 +12,12 @@ import ( ) func probeProtocolStack() int { - if runtime.GOOS == "openbsd" && runtime.GOARCH == "arm" { + if (runtime.GOOS == "netbsd" || runtime.GOOS == "openbsd") && runtime.GOARCH == "arm" { return 8 } + if runtime.GOOS == "aix" { + return 1 + } var p uintptr return int(unsafe.Sizeof(p)) } diff --git a/vendor/golang.org/x/net/internal/socket/sys_const_unix.go b/vendor/golang.org/x/net/internal/socket/sys_const_unix.go new file mode 100644 index 00000000..43797d6e --- /dev/null +++ b/vendor/golang.org/x/net/internal/socket/sys_const_unix.go @@ -0,0 +1,17 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +package socket + +import "golang.org/x/sys/unix" + +const ( + sysAF_UNSPEC = unix.AF_UNSPEC + sysAF_INET = unix.AF_INET + sysAF_INET6 = unix.AF_INET6 + + sysSOCK_RAW = unix.SOCK_RAW +) diff --git a/vendor/golang.org/x/net/internal/socket/sys_go1_12_darwin.go b/vendor/golang.org/x/net/internal/socket/sys_linkname.go similarity index 98% rename from vendor/golang.org/x/net/internal/socket/sys_go1_12_darwin.go rename to vendor/golang.org/x/net/internal/socket/sys_linkname.go index 0999a19f..61c3f38a 100644 --- a/vendor/golang.org/x/net/internal/socket/sys_go1_12_darwin.go +++ b/vendor/golang.org/x/net/internal/socket/sys_linkname.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build go1.12 +// +build aix go1.12,darwin package socket diff --git a/vendor/golang.org/x/net/internal/socket/sys_linux_riscv64.go b/vendor/golang.org/x/net/internal/socket/sys_linux_riscv64.go new file mode 100644 index 00000000..64f69f1d --- /dev/null +++ b/vendor/golang.org/x/net/internal/socket/sys_linux_riscv64.go @@ -0,0 +1,12 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build riscv64 + +package socket + +const ( + sysRECVMMSG = 0xf3 + sysSENDMMSG = 0x10d +) diff --git a/vendor/golang.org/x/net/internal/socket/sys_posix.go b/vendor/golang.org/x/net/internal/socket/sys_posix.go index 9a9bc476..24fbb696 100644 --- a/vendor/golang.org/x/net/internal/socket/sys_posix.go +++ b/vendor/golang.org/x/net/internal/socket/sys_posix.go @@ -2,8 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build go1.9 -// +build darwin dragonfly freebsd linux netbsd openbsd solaris windows +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows package socket diff --git a/vendor/golang.org/x/net/internal/socket/sys_solaris.go b/vendor/golang.org/x/net/internal/socket/sys_solaris.go index cced74e6..66b55478 100644 --- a/vendor/golang.org/x/net/internal/socket/sys_solaris.go +++ b/vendor/golang.org/x/net/internal/socket/sys_solaris.go @@ -5,7 +5,6 @@ package socket import ( - "errors" "runtime" "syscall" "unsafe" @@ -63,9 +62,9 @@ func sendmsg(s uintptr, h *msghdr, flags int) (int, error) { } func recvmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) { - return 0, errors.New("not implemented") + return 0, errNotImplemented } func sendmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) { - return 0, errors.New("not implemented") + return 0, errNotImplemented } diff --git a/vendor/golang.org/x/net/internal/socket/sys_stub.go b/vendor/golang.org/x/net/internal/socket/sys_stub.go index d9f06d00..0f617426 100644 --- a/vendor/golang.org/x/net/internal/socket/sys_stub.go +++ b/vendor/golang.org/x/net/internal/socket/sys_stub.go @@ -2,12 +2,11 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows +// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows package socket import ( - "errors" "net" "runtime" "unsafe" @@ -36,29 +35,29 @@ func marshalInetAddr(ip net.IP, port int, zone string) []byte { } func parseInetAddr(b []byte, network string) (net.Addr, error) { - return nil, errors.New("not implemented") + return nil, errNotImplemented } func getsockopt(s uintptr, level, name int, b []byte) (int, error) { - return 0, errors.New("not implemented") + return 0, errNotImplemented } func setsockopt(s uintptr, level, name int, b []byte) error { - return errors.New("not implemented") + return errNotImplemented } func recvmsg(s uintptr, h *msghdr, flags int) (int, error) { - return 0, errors.New("not implemented") + return 0, errNotImplemented } func sendmsg(s uintptr, h *msghdr, flags int) (int, error) { - return 0, errors.New("not implemented") + return 0, errNotImplemented } func recvmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) { - return 0, errors.New("not implemented") + return 0, errNotImplemented } func sendmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) { - return 0, errors.New("not implemented") + return 0, errNotImplemented } diff --git a/vendor/golang.org/x/net/internal/socket/sys_windows.go b/vendor/golang.org/x/net/internal/socket/sys_windows.go index 54a470eb..d556a446 100644 --- a/vendor/golang.org/x/net/internal/socket/sys_windows.go +++ b/vendor/golang.org/x/net/internal/socket/sys_windows.go @@ -5,9 +5,10 @@ package socket import ( - "errors" "syscall" "unsafe" + + "golang.org/x/sys/windows" ) func probeProtocolStack() int { @@ -16,11 +17,11 @@ func probeProtocolStack() int { } const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0x17 + sysAF_UNSPEC = windows.AF_UNSPEC + sysAF_INET = windows.AF_INET + sysAF_INET6 = windows.AF_INET6 - sysSOCK_RAW = 0x3 + sysSOCK_RAW = windows.SOCK_RAW ) type sockaddrInet struct { @@ -54,17 +55,17 @@ func setsockopt(s uintptr, level, name int, b []byte) error { } func recvmsg(s uintptr, h *msghdr, flags int) (int, error) { - return 0, errors.New("not implemented") + return 0, errNotImplemented } func sendmsg(s uintptr, h *msghdr, flags int) (int, error) { - return 0, errors.New("not implemented") + return 0, errNotImplemented } func recvmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) { - return 0, errors.New("not implemented") + return 0, errNotImplemented } func sendmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) { - return 0, errors.New("not implemented") + return 0, errNotImplemented } diff --git a/vendor/golang.org/x/net/internal/socket/zsys_aix_ppc64.go b/vendor/golang.org/x/net/internal/socket/zsys_aix_ppc64.go new file mode 100644 index 00000000..813385a9 --- /dev/null +++ b/vendor/golang.org/x/net/internal/socket/zsys_aix_ppc64.go @@ -0,0 +1,61 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs defs_aix.go + +// Added for go1.11 compatibility +// +build aix + +package socket + +type iovec struct { + Base *byte + Len uint64 +} + +type msghdr struct { + Name *byte + Namelen uint32 + Iov *iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type mmsghdr struct { + Hdr msghdr + Len uint32 + Pad_cgo_0 [4]byte +} + +type cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type sockaddrInet struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type sockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +const ( + sizeofIovec = 0x10 + sizeofMsghdr = 0x30 + sizeofMmsghdr = 0x38 + sizeofCmsghdr = 0xc + + sizeofSockaddrInet = 0x10 + sizeofSockaddrInet6 = 0x1c +) diff --git a/vendor/golang.org/x/net/internal/socket/zsys_darwin_386.go b/vendor/golang.org/x/net/internal/socket/zsys_darwin_386.go index 26f8feff..9c96042f 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_darwin_386.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_darwin_386.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0x1e - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint32 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_darwin_amd64.go b/vendor/golang.org/x/net/internal/socket/zsys_darwin_amd64.go index e2987f7d..35641712 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_darwin_amd64.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_darwin_amd64.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0x1e - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint64 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_darwin_arm.go b/vendor/golang.org/x/net/internal/socket/zsys_darwin_arm.go index 26f8feff..9c96042f 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_darwin_arm.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_darwin_arm.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0x1e - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint32 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_darwin_arm64.go b/vendor/golang.org/x/net/internal/socket/zsys_darwin_arm64.go index e2987f7d..35641712 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_darwin_arm64.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_darwin_arm64.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0x1e - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint64 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_dragonfly_amd64.go b/vendor/golang.org/x/net/internal/socket/zsys_dragonfly_amd64.go index c582abd5..90a57f51 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_dragonfly_amd64.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_dragonfly_amd64.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0x1c - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint64 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_freebsd_386.go b/vendor/golang.org/x/net/internal/socket/zsys_freebsd_386.go index 04a24886..e5bc557e 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_freebsd_386.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_freebsd_386.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0x1c - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint32 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_freebsd_amd64.go b/vendor/golang.org/x/net/internal/socket/zsys_freebsd_amd64.go index 35c7cb9c..cbf85af9 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_freebsd_amd64.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_freebsd_amd64.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0x1c - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint64 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_freebsd_arm.go b/vendor/golang.org/x/net/internal/socket/zsys_freebsd_arm.go index 04a24886..e5bc557e 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_freebsd_arm.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_freebsd_arm.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0x1c - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint32 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_386.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_386.go index 43020693..b7db0f0b 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_linux_386.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_386.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0xa - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint32 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_amd64.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_amd64.go index 1502f6c5..87a4e0b2 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_linux_amd64.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_amd64.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0xa - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint64 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_arm.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_arm.go index 43020693..b7db0f0b 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_linux_arm.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_arm.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0xa - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint32 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_arm64.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_arm64.go index 1502f6c5..87a4e0b2 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_linux_arm64.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_arm64.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0xa - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint64 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_mips.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_mips.go index 43020693..b7db0f0b 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_linux_mips.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_mips.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0xa - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint32 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64.go index 1502f6c5..87a4e0b2 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0xa - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint64 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64le.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64le.go index 1502f6c5..87a4e0b2 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64le.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64le.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0xa - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint64 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_mipsle.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_mipsle.go index 43020693..b7db0f0b 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_linux_mipsle.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_mipsle.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0xa - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint32 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64.go index 1502f6c5..87a4e0b2 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0xa - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint64 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64le.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64le.go index 1502f6c5..87a4e0b2 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64le.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64le.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0xa - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint64 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_riscv64.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_riscv64.go new file mode 100644 index 00000000..dbff234f --- /dev/null +++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_riscv64.go @@ -0,0 +1,59 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs defs_linux.go + +// +build riscv64 + +package socket + +type iovec struct { + Base *byte + Len uint64 +} + +type msghdr struct { + Name *byte + Namelen uint32 + Iov *iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + Pad_cgo_0 [4]byte +} + +type mmsghdr struct { + Hdr msghdr + Len uint32 + Pad_cgo_0 [4]byte +} + +type cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type sockaddrInet struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + X__pad [8]uint8 +} + +type sockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +const ( + sizeofIovec = 0x10 + sizeofMsghdr = 0x38 + sizeofMmsghdr = 0x40 + sizeofCmsghdr = 0x10 + + sizeofSockaddrInet = 0x10 + sizeofSockaddrInet6 = 0x1c +) diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_s390x.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_s390x.go index 1502f6c5..87a4e0b2 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_linux_s390x.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_s390x.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0xa - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint64 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_netbsd_386.go b/vendor/golang.org/x/net/internal/socket/zsys_netbsd_386.go index db60491f..cd328440 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_netbsd_386.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_netbsd_386.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0x18 - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint32 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_netbsd_amd64.go b/vendor/golang.org/x/net/internal/socket/zsys_netbsd_amd64.go index 2a1a7998..fa88b666 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_netbsd_amd64.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_netbsd_amd64.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0x18 - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint64 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm.go b/vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm.go index db60491f..cd328440 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0x18 - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint32 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm64.go b/vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm64.go new file mode 100644 index 00000000..a46eff99 --- /dev/null +++ b/vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm64.go @@ -0,0 +1,60 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs defs_netbsd.go + +package socket + +type iovec struct { + Base *byte + Len uint64 +} + +type msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *iovec + Iovlen int32 + Pad_cgo_1 [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type mmsghdr struct { + Hdr msghdr + Len uint32 + Pad_cgo_0 [4]byte +} + +type cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type sockaddrInet struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type sockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +const ( + sizeofIovec = 0x10 + sizeofMsghdr = 0x30 + sizeofMmsghdr = 0x40 + sizeofCmsghdr = 0xc + + sizeofSockaddrInet = 0x10 + sizeofSockaddrInet6 = 0x1c +) diff --git a/vendor/golang.org/x/net/internal/socket/zsys_openbsd_386.go b/vendor/golang.org/x/net/internal/socket/zsys_openbsd_386.go index 1c836361..64e2ea87 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_openbsd_386.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_openbsd_386.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0x18 - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint32 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_openbsd_amd64.go b/vendor/golang.org/x/net/internal/socket/zsys_openbsd_amd64.go index a6c0bf46..13554bee 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_openbsd_amd64.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_openbsd_amd64.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0x18 - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint64 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_openbsd_arm.go b/vendor/golang.org/x/net/internal/socket/zsys_openbsd_arm.go index 1c836361..64e2ea87 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_openbsd_arm.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_openbsd_arm.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0x18 - - sysSOCK_RAW = 0x3 -) - type iovec struct { Base *byte Len uint32 diff --git a/vendor/golang.org/x/net/internal/socket/zsys_solaris_amd64.go b/vendor/golang.org/x/net/internal/socket/zsys_solaris_amd64.go index 327c6329..a27d73ce 100644 --- a/vendor/golang.org/x/net/internal/socket/zsys_solaris_amd64.go +++ b/vendor/golang.org/x/net/internal/socket/zsys_solaris_amd64.go @@ -3,14 +3,6 @@ package socket -const ( - sysAF_UNSPEC = 0x0 - sysAF_INET = 0x2 - sysAF_INET6 = 0x1a - - sysSOCK_RAW = 0x4 -) - type iovec struct { Base *int8 Len uint64 diff --git a/vendor/golang.org/x/net/ipv4/batch.go b/vendor/golang.org/x/net/ipv4/batch.go index 5ce9b358..1a3a4fc0 100644 --- a/vendor/golang.org/x/net/ipv4/batch.go +++ b/vendor/golang.org/x/net/ipv4/batch.go @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build go1.9 - package ipv4 import ( @@ -91,6 +89,9 @@ func (c *payloadHandler) ReadBatch(ms []Message, flags int) (int, error) { n = 0 err = &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: err} } + if compatFreeBSD32 && ms[0].NN > 0 { + adjustFreeBSD32(&ms[0]) + } return n, err } } @@ -154,6 +155,9 @@ func (c *packetHandler) ReadBatch(ms []Message, flags int) (int, error) { n = 0 err = &net.OpError{Op: "read", Net: c.IPConn.LocalAddr().Network(), Source: c.IPConn.LocalAddr(), Err: err} } + if compatFreeBSD32 && ms[0].NN > 0 { + adjustFreeBSD32(&ms[0]) + } return n, err } } diff --git a/vendor/golang.org/x/net/ipv4/control_bsd.go b/vendor/golang.org/x/net/ipv4/control_bsd.go index 77e7ad5b..19845c55 100644 --- a/vendor/golang.org/x/net/ipv4/control_bsd.go +++ b/vendor/golang.org/x/net/ipv4/control_bsd.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build darwin dragonfly freebsd netbsd openbsd +// +build aix darwin dragonfly freebsd netbsd openbsd package ipv4 diff --git a/vendor/golang.org/x/net/ipv4/control_stub.go b/vendor/golang.org/x/net/ipv4/control_stub.go index 5a2f7d8d..a0c049d6 100644 --- a/vendor/golang.org/x/net/ipv4/control_stub.go +++ b/vendor/golang.org/x/net/ipv4/control_stub.go @@ -2,12 +2,12 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows +// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows package ipv4 import "golang.org/x/net/internal/socket" func setControlMessage(c *socket.Conn, opt *rawOpt, cf ControlFlags, on bool) error { - return errOpNoSupport + return errNotImplemented } diff --git a/vendor/golang.org/x/net/ipv4/control_unix.go b/vendor/golang.org/x/net/ipv4/control_unix.go index e1ae8167..b27fa490 100644 --- a/vendor/golang.org/x/net/ipv4/control_unix.go +++ b/vendor/golang.org/x/net/ipv4/control_unix.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build darwin dragonfly freebsd linux netbsd openbsd solaris +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris package ipv4 diff --git a/vendor/golang.org/x/net/ipv4/control_windows.go b/vendor/golang.org/x/net/ipv4/control_windows.go index ce55c664..82c63064 100644 --- a/vendor/golang.org/x/net/ipv4/control_windows.go +++ b/vendor/golang.org/x/net/ipv4/control_windows.go @@ -4,13 +4,9 @@ package ipv4 -import ( - "syscall" - - "golang.org/x/net/internal/socket" -) +import "golang.org/x/net/internal/socket" func setControlMessage(c *socket.Conn, opt *rawOpt, cf ControlFlags, on bool) error { // TODO(mikio): implement this - return syscall.EWINDOWS + return errNotImplemented } diff --git a/vendor/golang.org/x/net/ipv4/defs_aix.go b/vendor/golang.org/x/net/ipv4/defs_aix.go new file mode 100644 index 00000000..0f37211c --- /dev/null +++ b/vendor/golang.org/x/net/ipv4/defs_aix.go @@ -0,0 +1,39 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +// +godefs map struct_in_addr [4]byte /* in_addr */ + +package ipv4 + +/* +#include +*/ +import "C" + +const ( + sysIP_OPTIONS = C.IP_OPTIONS + sysIP_HDRINCL = C.IP_HDRINCL + sysIP_TOS = C.IP_TOS + sysIP_TTL = C.IP_TTL + sysIP_RECVOPTS = C.IP_RECVOPTS + sysIP_RECVRETOPTS = C.IP_RECVRETOPTS + sysIP_RECVDSTADDR = C.IP_RECVDSTADDR + sysIP_RETOPTS = C.IP_RETOPTS + // IP_RECVIF is defined on AIX but doesn't work. + // IP_RECVINTERFACE must be used instead. + sysIP_RECVIF = C.IP_RECVINTERFACE + sysIP_RECVTTL = C.IP_RECVTTL + + sysIP_MULTICAST_IF = C.IP_MULTICAST_IF + sysIP_MULTICAST_TTL = C.IP_MULTICAST_TTL + sysIP_MULTICAST_LOOP = C.IP_MULTICAST_LOOP + sysIP_ADD_MEMBERSHIP = C.IP_ADD_MEMBERSHIP + sysIP_DROP_MEMBERSHIP = C.IP_DROP_MEMBERSHIP + + sizeofIPMreq = C.sizeof_struct_ip_mreq +) + +type ipMreq C.struct_ip_mreq diff --git a/vendor/golang.org/x/net/ipv4/dgramopt.go b/vendor/golang.org/x/net/ipv4/dgramopt.go index 36764492..c191c22a 100644 --- a/vendor/golang.org/x/net/ipv4/dgramopt.go +++ b/vendor/golang.org/x/net/ipv4/dgramopt.go @@ -18,7 +18,7 @@ func (c *dgramOpt) MulticastTTL() (int, error) { } so, ok := sockOpts[ssoMulticastTTL] if !ok { - return 0, errOpNoSupport + return 0, errNotImplemented } return so.GetInt(c.Conn) } @@ -31,7 +31,7 @@ func (c *dgramOpt) SetMulticastTTL(ttl int) error { } so, ok := sockOpts[ssoMulticastTTL] if !ok { - return errOpNoSupport + return errNotImplemented } return so.SetInt(c.Conn, ttl) } @@ -44,7 +44,7 @@ func (c *dgramOpt) MulticastInterface() (*net.Interface, error) { } so, ok := sockOpts[ssoMulticastInterface] if !ok { - return nil, errOpNoSupport + return nil, errNotImplemented } return so.getMulticastInterface(c.Conn) } @@ -57,7 +57,7 @@ func (c *dgramOpt) SetMulticastInterface(ifi *net.Interface) error { } so, ok := sockOpts[ssoMulticastInterface] if !ok { - return errOpNoSupport + return errNotImplemented } return so.setMulticastInterface(c.Conn, ifi) } @@ -70,7 +70,7 @@ func (c *dgramOpt) MulticastLoopback() (bool, error) { } so, ok := sockOpts[ssoMulticastLoopback] if !ok { - return false, errOpNoSupport + return false, errNotImplemented } on, err := so.GetInt(c.Conn) if err != nil { @@ -87,7 +87,7 @@ func (c *dgramOpt) SetMulticastLoopback(on bool) error { } so, ok := sockOpts[ssoMulticastLoopback] if !ok { - return errOpNoSupport + return errNotImplemented } return so.SetInt(c.Conn, boolint(on)) } @@ -107,7 +107,7 @@ func (c *dgramOpt) JoinGroup(ifi *net.Interface, group net.Addr) error { } so, ok := sockOpts[ssoJoinGroup] if !ok { - return errOpNoSupport + return errNotImplemented } grp := netAddrToIP4(group) if grp == nil { @@ -125,7 +125,7 @@ func (c *dgramOpt) LeaveGroup(ifi *net.Interface, group net.Addr) error { } so, ok := sockOpts[ssoLeaveGroup] if !ok { - return errOpNoSupport + return errNotImplemented } grp := netAddrToIP4(group) if grp == nil { @@ -146,7 +146,7 @@ func (c *dgramOpt) JoinSourceSpecificGroup(ifi *net.Interface, group, source net } so, ok := sockOpts[ssoJoinSourceGroup] if !ok { - return errOpNoSupport + return errNotImplemented } grp := netAddrToIP4(group) if grp == nil { @@ -167,7 +167,7 @@ func (c *dgramOpt) LeaveSourceSpecificGroup(ifi *net.Interface, group, source ne } so, ok := sockOpts[ssoLeaveSourceGroup] if !ok { - return errOpNoSupport + return errNotImplemented } grp := netAddrToIP4(group) if grp == nil { @@ -189,7 +189,7 @@ func (c *dgramOpt) ExcludeSourceSpecificGroup(ifi *net.Interface, group, source } so, ok := sockOpts[ssoBlockSourceGroup] if !ok { - return errOpNoSupport + return errNotImplemented } grp := netAddrToIP4(group) if grp == nil { @@ -210,7 +210,7 @@ func (c *dgramOpt) IncludeSourceSpecificGroup(ifi *net.Interface, group, source } so, ok := sockOpts[ssoUnblockSourceGroup] if !ok { - return errOpNoSupport + return errNotImplemented } grp := netAddrToIP4(group) if grp == nil { @@ -231,7 +231,7 @@ func (c *dgramOpt) ICMPFilter() (*ICMPFilter, error) { } so, ok := sockOpts[ssoICMPFilter] if !ok { - return nil, errOpNoSupport + return nil, errNotImplemented } return so.getICMPFilter(c.Conn) } @@ -244,7 +244,7 @@ func (c *dgramOpt) SetICMPFilter(f *ICMPFilter) error { } so, ok := sockOpts[ssoICMPFilter] if !ok { - return errOpNoSupport + return errNotImplemented } return so.setICMPFilter(c.Conn, f) } @@ -258,7 +258,7 @@ func (c *dgramOpt) SetBPF(filter []bpf.RawInstruction) error { } so, ok := sockOpts[ssoAttachFilter] if !ok { - return errOpNoSupport + return errNotImplemented } return so.setBPF(c.Conn, filter) } diff --git a/vendor/golang.org/x/net/ipv4/doc.go b/vendor/golang.org/x/net/ipv4/doc.go index 863d55b8..24583497 100644 --- a/vendor/golang.org/x/net/ipv4/doc.go +++ b/vendor/golang.org/x/net/ipv4/doc.go @@ -209,7 +209,7 @@ // LeaveSourceSpecificGroup for the operation known as "include" mode, // // ssmgroup := net.UDPAddr{IP: net.IPv4(232, 7, 8, 9)} -// ssmsource := net.UDPAddr{IP: net.IPv4(192, 168, 0, 1)}) +// ssmsource := net.UDPAddr{IP: net.IPv4(192, 168, 0, 1)} // if err := p.JoinSourceSpecificGroup(en0, &ssmgroup, &ssmsource); err != nil { // // error handling // } @@ -241,5 +241,4 @@ // IncludeSourceSpecificGroup may return an error. package ipv4 // import "golang.org/x/net/ipv4" -// BUG(mikio): This package is not implemented on AIX, JS, NaCl and -// Plan 9. +// BUG(mikio): This package is not implemented on JS, NaCl and Plan 9. diff --git a/vendor/golang.org/x/net/ipv4/endpoint.go b/vendor/golang.org/x/net/ipv4/endpoint.go index 50094637..4a6d7a85 100644 --- a/vendor/golang.org/x/net/ipv4/endpoint.go +++ b/vendor/golang.org/x/net/ipv4/endpoint.go @@ -177,7 +177,7 @@ func NewRawConn(c net.PacketConn) (*RawConn, error) { } so, ok := sockOpts[ssoHeaderPrepend] if !ok { - return nil, errOpNoSupport + return nil, errNotImplemented } if err := so.SetInt(r.dgramOpt.Conn, boolint(true)); err != nil { return nil, err diff --git a/vendor/golang.org/x/net/ipv4/genericopt.go b/vendor/golang.org/x/net/ipv4/genericopt.go index 587ae4a1..51c12371 100644 --- a/vendor/golang.org/x/net/ipv4/genericopt.go +++ b/vendor/golang.org/x/net/ipv4/genericopt.go @@ -11,7 +11,7 @@ func (c *genericOpt) TOS() (int, error) { } so, ok := sockOpts[ssoTOS] if !ok { - return 0, errOpNoSupport + return 0, errNotImplemented } return so.GetInt(c.Conn) } @@ -24,7 +24,7 @@ func (c *genericOpt) SetTOS(tos int) error { } so, ok := sockOpts[ssoTOS] if !ok { - return errOpNoSupport + return errNotImplemented } return so.SetInt(c.Conn, tos) } @@ -36,7 +36,7 @@ func (c *genericOpt) TTL() (int, error) { } so, ok := sockOpts[ssoTTL] if !ok { - return 0, errOpNoSupport + return 0, errNotImplemented } return so.GetInt(c.Conn) } @@ -49,7 +49,7 @@ func (c *genericOpt) SetTTL(ttl int) error { } so, ok := sockOpts[ssoTTL] if !ok { - return errOpNoSupport + return errNotImplemented } return so.SetInt(c.Conn, ttl) } diff --git a/vendor/golang.org/x/net/ipv4/header.go b/vendor/golang.org/x/net/ipv4/header.go index a8c8f7a6..701bd4b2 100644 --- a/vendor/golang.org/x/net/ipv4/header.go +++ b/vendor/golang.org/x/net/ipv4/header.go @@ -57,7 +57,7 @@ func (h *Header) String() string { // This may differ from the wire format, depending on the system. func (h *Header) Marshal() ([]byte, error) { if h == nil { - return nil, errInvalidConn + return nil, errNilHeader } if h.Len < HeaderLen { return nil, errHeaderTooShort @@ -107,12 +107,15 @@ func (h *Header) Marshal() ([]byte, error) { // local system. // This may differ from the wire format, depending on the system. func (h *Header) Parse(b []byte) error { - if h == nil || len(b) < HeaderLen { + if h == nil || b == nil { + return errNilHeader + } + if len(b) < HeaderLen { return errHeaderTooShort } hdrlen := int(b[0]&0x0f) << 2 - if hdrlen > len(b) { - return errBufferTooShort + if len(b) < hdrlen { + return errExtHeaderTooShort } h.Version = int(b[0] >> 4) h.Len = hdrlen diff --git a/vendor/golang.org/x/net/ipv4/helper.go b/vendor/golang.org/x/net/ipv4/helper.go index 8d8ff98e..b494a2cd 100644 --- a/vendor/golang.org/x/net/ipv4/helper.go +++ b/vendor/golang.org/x/net/ipv4/helper.go @@ -7,23 +7,39 @@ package ipv4 import ( "errors" "net" + "runtime" + + "golang.org/x/net/internal/socket" ) var ( errInvalidConn = errors.New("invalid connection") errMissingAddress = errors.New("missing address") errMissingHeader = errors.New("missing header") + errNilHeader = errors.New("nil header") errHeaderTooShort = errors.New("header too short") - errBufferTooShort = errors.New("buffer too short") + errExtHeaderTooShort = errors.New("extension header too short") errInvalidConnType = errors.New("invalid conn type") - errOpNoSupport = errors.New("operation not supported") errNoSuchInterface = errors.New("no such interface") errNoSuchMulticastInterface = errors.New("no such multicast interface") + errNotImplemented = errors.New("not implemented on " + runtime.GOOS + "/" + runtime.GOARCH) - // See http://www.freebsd.org/doc/en/books/porters-handbook/freebsd-versions.html. - freebsdVersion uint32 + // See https://www.freebsd.org/doc/en/books/porters-handbook/versions.html. + freebsdVersion uint32 + compatFreeBSD32 bool // 386 emulation on amd64 ) +// See golang.org/issue/30899. +func adjustFreeBSD32(m *socket.Message) { + // FreeBSD 12.0-RELEASE is affected by https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236737 + if 1200086 <= freebsdVersion && freebsdVersion < 1201000 { + l := (m.NN + 4 - 1) &^ (4 - 1) + if m.NN < l && l <= len(m.OOB) { + m.NN = l + } + } +} + func boolint(b bool) int { if b { return 1 diff --git a/vendor/golang.org/x/net/ipv4/packet.go b/vendor/golang.org/x/net/ipv4/packet.go index 966bb776..7d784e06 100644 --- a/vendor/golang.org/x/net/ipv4/packet.go +++ b/vendor/golang.org/x/net/ipv4/packet.go @@ -29,7 +29,35 @@ func (c *packetHandler) ReadFrom(b []byte) (h *Header, p []byte, cm *ControlMess if !c.ok() { return nil, nil, nil, errInvalidConn } - return c.readFrom(b) + c.rawOpt.RLock() + m := socket.Message{ + Buffers: [][]byte{b}, + OOB: NewControlMessage(c.rawOpt.cflags), + } + c.rawOpt.RUnlock() + if err := c.RecvMsg(&m, 0); err != nil { + return nil, nil, nil, &net.OpError{Op: "read", Net: c.IPConn.LocalAddr().Network(), Source: c.IPConn.LocalAddr(), Err: err} + } + var hs []byte + if hs, p, err = slicePacket(b[:m.N]); err != nil { + return nil, nil, nil, &net.OpError{Op: "read", Net: c.IPConn.LocalAddr().Network(), Source: c.IPConn.LocalAddr(), Err: err} + } + if h, err = ParseHeader(hs); err != nil { + return nil, nil, nil, &net.OpError{Op: "read", Net: c.IPConn.LocalAddr().Network(), Source: c.IPConn.LocalAddr(), Err: err} + } + if m.NN > 0 { + if compatFreeBSD32 { + adjustFreeBSD32(&m) + } + cm = new(ControlMessage) + if err := cm.Parse(m.OOB[:m.NN]); err != nil { + return nil, nil, nil, &net.OpError{Op: "read", Net: c.IPConn.LocalAddr().Network(), Source: c.IPConn.LocalAddr(), Err: err} + } + } + if src, ok := m.Addr.(*net.IPAddr); ok && cm != nil { + cm.Src = src.IP + } + return } func slicePacket(b []byte) (h, p []byte, err error) { @@ -64,5 +92,26 @@ func (c *packetHandler) WriteTo(h *Header, p []byte, cm *ControlMessage) error { if !c.ok() { return errInvalidConn } - return c.writeTo(h, p, cm) + m := socket.Message{ + OOB: cm.Marshal(), + } + wh, err := h.Marshal() + if err != nil { + return err + } + m.Buffers = [][]byte{wh, p} + dst := new(net.IPAddr) + if cm != nil { + if ip := cm.Dst.To4(); ip != nil { + dst.IP = ip + } + } + if dst.IP == nil { + dst.IP = h.Dst + } + m.Addr = dst + if err := c.SendMsg(&m, 0); err != nil { + return &net.OpError{Op: "write", Net: c.IPConn.LocalAddr().Network(), Source: c.IPConn.LocalAddr(), Addr: opAddr(dst), Err: err} + } + return nil } diff --git a/vendor/golang.org/x/net/ipv4/packet_go1_8.go b/vendor/golang.org/x/net/ipv4/packet_go1_8.go deleted file mode 100644 index b47d1868..00000000 --- a/vendor/golang.org/x/net/ipv4/packet_go1_8.go +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2012 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build !go1.9 - -package ipv4 - -import "net" - -func (c *packetHandler) readFrom(b []byte) (h *Header, p []byte, cm *ControlMessage, err error) { - c.rawOpt.RLock() - oob := NewControlMessage(c.rawOpt.cflags) - c.rawOpt.RUnlock() - n, nn, _, src, err := c.ReadMsgIP(b, oob) - if err != nil { - return nil, nil, nil, err - } - var hs []byte - if hs, p, err = slicePacket(b[:n]); err != nil { - return nil, nil, nil, err - } - if h, err = ParseHeader(hs); err != nil { - return nil, nil, nil, err - } - if nn > 0 { - cm = new(ControlMessage) - if err := cm.Parse(oob[:nn]); err != nil { - return nil, nil, nil, err - } - } - if src != nil && cm != nil { - cm.Src = src.IP - } - return -} - -func (c *packetHandler) writeTo(h *Header, p []byte, cm *ControlMessage) error { - oob := cm.Marshal() - wh, err := h.Marshal() - if err != nil { - return err - } - dst := new(net.IPAddr) - if cm != nil { - if ip := cm.Dst.To4(); ip != nil { - dst.IP = ip - } - } - if dst.IP == nil { - dst.IP = h.Dst - } - wh = append(wh, p...) - _, _, err = c.WriteMsgIP(wh, oob, dst) - return err -} diff --git a/vendor/golang.org/x/net/ipv4/packet_go1_9.go b/vendor/golang.org/x/net/ipv4/packet_go1_9.go deleted file mode 100644 index 082c36d7..00000000 --- a/vendor/golang.org/x/net/ipv4/packet_go1_9.go +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2017 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build go1.9 - -package ipv4 - -import ( - "net" - - "golang.org/x/net/internal/socket" -) - -func (c *packetHandler) readFrom(b []byte) (h *Header, p []byte, cm *ControlMessage, err error) { - c.rawOpt.RLock() - m := socket.Message{ - Buffers: [][]byte{b}, - OOB: NewControlMessage(c.rawOpt.cflags), - } - c.rawOpt.RUnlock() - if err := c.RecvMsg(&m, 0); err != nil { - return nil, nil, nil, &net.OpError{Op: "read", Net: c.IPConn.LocalAddr().Network(), Source: c.IPConn.LocalAddr(), Err: err} - } - var hs []byte - if hs, p, err = slicePacket(b[:m.N]); err != nil { - return nil, nil, nil, &net.OpError{Op: "read", Net: c.IPConn.LocalAddr().Network(), Source: c.IPConn.LocalAddr(), Err: err} - } - if h, err = ParseHeader(hs); err != nil { - return nil, nil, nil, &net.OpError{Op: "read", Net: c.IPConn.LocalAddr().Network(), Source: c.IPConn.LocalAddr(), Err: err} - } - if m.NN > 0 { - cm = new(ControlMessage) - if err := cm.Parse(m.OOB[:m.NN]); err != nil { - return nil, nil, nil, &net.OpError{Op: "read", Net: c.IPConn.LocalAddr().Network(), Source: c.IPConn.LocalAddr(), Err: err} - } - } - if src, ok := m.Addr.(*net.IPAddr); ok && cm != nil { - cm.Src = src.IP - } - return -} - -func (c *packetHandler) writeTo(h *Header, p []byte, cm *ControlMessage) error { - m := socket.Message{ - OOB: cm.Marshal(), - } - wh, err := h.Marshal() - if err != nil { - return err - } - m.Buffers = [][]byte{wh, p} - dst := new(net.IPAddr) - if cm != nil { - if ip := cm.Dst.To4(); ip != nil { - dst.IP = ip - } - } - if dst.IP == nil { - dst.IP = h.Dst - } - m.Addr = dst - if err := c.SendMsg(&m, 0); err != nil { - return &net.OpError{Op: "write", Net: c.IPConn.LocalAddr().Network(), Source: c.IPConn.LocalAddr(), Addr: opAddr(dst), Err: err} - } - return nil -} diff --git a/vendor/golang.org/x/net/ipv4/payload_cmsg.go b/vendor/golang.org/x/net/ipv4/payload_cmsg.go index a7c892dc..e7614661 100644 --- a/vendor/golang.org/x/net/ipv4/payload_cmsg.go +++ b/vendor/golang.org/x/net/ipv4/payload_cmsg.go @@ -2,11 +2,15 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build darwin dragonfly freebsd linux netbsd openbsd solaris +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris package ipv4 -import "net" +import ( + "net" + + "golang.org/x/net/internal/socket" +) // ReadFrom reads a payload of the received IPv4 datagram, from the // endpoint c, copying the payload into b. It returns the number of @@ -16,7 +20,45 @@ func (c *payloadHandler) ReadFrom(b []byte) (n int, cm *ControlMessage, src net. if !c.ok() { return 0, nil, nil, errInvalidConn } - return c.readFrom(b) + c.rawOpt.RLock() + m := socket.Message{ + OOB: NewControlMessage(c.rawOpt.cflags), + } + c.rawOpt.RUnlock() + switch c.PacketConn.(type) { + case *net.UDPConn: + m.Buffers = [][]byte{b} + if err := c.RecvMsg(&m, 0); err != nil { + return 0, nil, nil, &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: err} + } + case *net.IPConn: + h := make([]byte, HeaderLen) + m.Buffers = [][]byte{h, b} + if err := c.RecvMsg(&m, 0); err != nil { + return 0, nil, nil, &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: err} + } + hdrlen := int(h[0]&0x0f) << 2 + if hdrlen > len(h) { + d := hdrlen - len(h) + copy(b, b[d:]) + m.N -= d + } else { + m.N -= hdrlen + } + default: + return 0, nil, nil, &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: errInvalidConnType} + } + if m.NN > 0 { + if compatFreeBSD32 { + adjustFreeBSD32(&m) + } + cm = new(ControlMessage) + if err := cm.Parse(m.OOB[:m.NN]); err != nil { + return 0, nil, nil, &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: err} + } + cm.Src = netAddrToIP4(m.Addr) + } + return m.N, cm, m.Addr, nil } // WriteTo writes a payload of the IPv4 datagram, to the destination @@ -29,5 +71,14 @@ func (c *payloadHandler) WriteTo(b []byte, cm *ControlMessage, dst net.Addr) (n if !c.ok() { return 0, errInvalidConn } - return c.writeTo(b, cm, dst) + m := socket.Message{ + Buffers: [][]byte{b}, + OOB: cm.Marshal(), + Addr: dst, + } + err = c.SendMsg(&m, 0) + if err != nil { + err = &net.OpError{Op: "write", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Addr: opAddr(dst), Err: err} + } + return m.N, err } diff --git a/vendor/golang.org/x/net/ipv4/payload_cmsg_go1_8.go b/vendor/golang.org/x/net/ipv4/payload_cmsg_go1_8.go deleted file mode 100644 index 15a27b7a..00000000 --- a/vendor/golang.org/x/net/ipv4/payload_cmsg_go1_8.go +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2012 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build !go1.9 -// +build darwin dragonfly freebsd linux netbsd openbsd solaris - -package ipv4 - -import "net" - -func (c *payloadHandler) readFrom(b []byte) (n int, cm *ControlMessage, src net.Addr, err error) { - c.rawOpt.RLock() - oob := NewControlMessage(c.rawOpt.cflags) - c.rawOpt.RUnlock() - var nn int - switch c := c.PacketConn.(type) { - case *net.UDPConn: - if n, nn, _, src, err = c.ReadMsgUDP(b, oob); err != nil { - return 0, nil, nil, err - } - case *net.IPConn: - nb := make([]byte, maxHeaderLen+len(b)) - if n, nn, _, src, err = c.ReadMsgIP(nb, oob); err != nil { - return 0, nil, nil, err - } - hdrlen := int(nb[0]&0x0f) << 2 - copy(b, nb[hdrlen:]) - n -= hdrlen - default: - return 0, nil, nil, &net.OpError{Op: "read", Net: c.LocalAddr().Network(), Source: c.LocalAddr(), Err: errInvalidConnType} - } - if nn > 0 { - cm = new(ControlMessage) - if err = cm.Parse(oob[:nn]); err != nil { - return 0, nil, nil, &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: err} - } - } - if cm != nil { - cm.Src = netAddrToIP4(src) - } - return -} - -func (c *payloadHandler) writeTo(b []byte, cm *ControlMessage, dst net.Addr) (n int, err error) { - oob := cm.Marshal() - if dst == nil { - return 0, &net.OpError{Op: "write", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: errMissingAddress} - } - switch c := c.PacketConn.(type) { - case *net.UDPConn: - n, _, err = c.WriteMsgUDP(b, oob, dst.(*net.UDPAddr)) - case *net.IPConn: - n, _, err = c.WriteMsgIP(b, oob, dst.(*net.IPAddr)) - default: - return 0, &net.OpError{Op: "write", Net: c.LocalAddr().Network(), Source: c.LocalAddr(), Addr: opAddr(dst), Err: errInvalidConnType} - } - return -} diff --git a/vendor/golang.org/x/net/ipv4/payload_cmsg_go1_9.go b/vendor/golang.org/x/net/ipv4/payload_cmsg_go1_9.go deleted file mode 100644 index aab3b224..00000000 --- a/vendor/golang.org/x/net/ipv4/payload_cmsg_go1_9.go +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2017 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build go1.9 -// +build darwin dragonfly freebsd linux netbsd openbsd solaris - -package ipv4 - -import ( - "net" - - "golang.org/x/net/internal/socket" -) - -func (c *payloadHandler) readFrom(b []byte) (int, *ControlMessage, net.Addr, error) { - c.rawOpt.RLock() - m := socket.Message{ - OOB: NewControlMessage(c.rawOpt.cflags), - } - c.rawOpt.RUnlock() - switch c.PacketConn.(type) { - case *net.UDPConn: - m.Buffers = [][]byte{b} - if err := c.RecvMsg(&m, 0); err != nil { - return 0, nil, nil, &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: err} - } - case *net.IPConn: - h := make([]byte, HeaderLen) - m.Buffers = [][]byte{h, b} - if err := c.RecvMsg(&m, 0); err != nil { - return 0, nil, nil, &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: err} - } - hdrlen := int(h[0]&0x0f) << 2 - if hdrlen > len(h) { - d := hdrlen - len(h) - copy(b, b[d:]) - m.N -= d - } else { - m.N -= hdrlen - } - default: - return 0, nil, nil, &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: errInvalidConnType} - } - var cm *ControlMessage - if m.NN > 0 { - cm = new(ControlMessage) - if err := cm.Parse(m.OOB[:m.NN]); err != nil { - return 0, nil, nil, &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: err} - } - cm.Src = netAddrToIP4(m.Addr) - } - return m.N, cm, m.Addr, nil -} - -func (c *payloadHandler) writeTo(b []byte, cm *ControlMessage, dst net.Addr) (int, error) { - m := socket.Message{ - Buffers: [][]byte{b}, - OOB: cm.Marshal(), - Addr: dst, - } - err := c.SendMsg(&m, 0) - if err != nil { - err = &net.OpError{Op: "write", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Addr: opAddr(dst), Err: err} - } - return m.N, err -} diff --git a/vendor/golang.org/x/net/ipv4/payload_nocmsg.go b/vendor/golang.org/x/net/ipv4/payload_nocmsg.go index d57f05c1..1116256f 100644 --- a/vendor/golang.org/x/net/ipv4/payload_nocmsg.go +++ b/vendor/golang.org/x/net/ipv4/payload_nocmsg.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris +// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris package ipv4 diff --git a/vendor/golang.org/x/net/ipv4/sockopt_posix.go b/vendor/golang.org/x/net/ipv4/sockopt_posix.go index e96955bc..dea64519 100644 --- a/vendor/golang.org/x/net/ipv4/sockopt_posix.go +++ b/vendor/golang.org/x/net/ipv4/sockopt_posix.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build darwin dragonfly freebsd linux netbsd openbsd solaris windows +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows package ipv4 @@ -39,7 +39,7 @@ func (so *sockOpt) getICMPFilter(c *socket.Conn) (*ICMPFilter, error) { return nil, err } if n != sizeofICMPFilter { - return nil, errOpNoSupport + return nil, errNotImplemented } return (*ICMPFilter)(unsafe.Pointer(&b[0])), nil } @@ -58,7 +58,7 @@ func (so *sockOpt) setGroup(c *socket.Conn, ifi *net.Interface, grp net.IP) erro case ssoTypeGroupReq: return so.setGroupReq(c, ifi, grp) default: - return errOpNoSupport + return errNotImplemented } } diff --git a/vendor/golang.org/x/net/ipv4/sockopt_stub.go b/vendor/golang.org/x/net/ipv4/sockopt_stub.go index 23249b78..37d4806b 100644 --- a/vendor/golang.org/x/net/ipv4/sockopt_stub.go +++ b/vendor/golang.org/x/net/ipv4/sockopt_stub.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows +// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows package ipv4 @@ -14,29 +14,29 @@ import ( ) func (so *sockOpt) getMulticastInterface(c *socket.Conn) (*net.Interface, error) { - return nil, errOpNoSupport + return nil, errNotImplemented } func (so *sockOpt) setMulticastInterface(c *socket.Conn, ifi *net.Interface) error { - return errOpNoSupport + return errNotImplemented } func (so *sockOpt) getICMPFilter(c *socket.Conn) (*ICMPFilter, error) { - return nil, errOpNoSupport + return nil, errNotImplemented } func (so *sockOpt) setICMPFilter(c *socket.Conn, f *ICMPFilter) error { - return errOpNoSupport + return errNotImplemented } func (so *sockOpt) setGroup(c *socket.Conn, ifi *net.Interface, grp net.IP) error { - return errOpNoSupport + return errNotImplemented } func (so *sockOpt) setSourceGroup(c *socket.Conn, ifi *net.Interface, grp, src net.IP) error { - return errOpNoSupport + return errNotImplemented } func (so *sockOpt) setBPF(c *socket.Conn, f []bpf.RawInstruction) error { - return errOpNoSupport + return errNotImplemented } diff --git a/vendor/golang.org/x/net/ipv4/sys_aix.go b/vendor/golang.org/x/net/ipv4/sys_aix.go new file mode 100644 index 00000000..3d1201e6 --- /dev/null +++ b/vendor/golang.org/x/net/ipv4/sys_aix.go @@ -0,0 +1,38 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Added for go1.11 compatibility +// +build aix + +package ipv4 + +import ( + "net" + "syscall" + + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" +) + +var ( + ctlOpts = [ctlMax]ctlOpt{ + ctlTTL: {sysIP_RECVTTL, 1, marshalTTL, parseTTL}, + ctlDst: {sysIP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst}, + ctlInterface: {sysIP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface}, + } + + sockOpts = map[int]*sockOpt{ + ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TOS, Len: 4}}, + ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TTL, Len: 4}}, + ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_TTL, Len: 1}}, + ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: 4}}, + ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_LOOP, Len: 1}}, + ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVTTL, Len: 4}}, + ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVDSTADDR, Len: 4}}, + ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVIF, Len: 4}}, + ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_HDRINCL, Len: 4}}, + ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_ADD_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, + ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_DROP_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, + } +) diff --git a/vendor/golang.org/x/net/ipv4/sys_asmreq.go b/vendor/golang.org/x/net/ipv4/sys_asmreq.go index 0388cba0..c5eaafe9 100644 --- a/vendor/golang.org/x/net/ipv4/sys_asmreq.go +++ b/vendor/golang.org/x/net/ipv4/sys_asmreq.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build darwin dragonfly freebsd netbsd openbsd solaris windows +// +build aix darwin dragonfly freebsd netbsd openbsd solaris windows package ipv4 diff --git a/vendor/golang.org/x/net/ipv4/sys_asmreq_stub.go b/vendor/golang.org/x/net/ipv4/sys_asmreq_stub.go index f3919208..6dc339ce 100644 --- a/vendor/golang.org/x/net/ipv4/sys_asmreq_stub.go +++ b/vendor/golang.org/x/net/ipv4/sys_asmreq_stub.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build !darwin,!dragonfly,!freebsd,!netbsd,!openbsd,!solaris,!windows +// +build !aix,!darwin,!dragonfly,!freebsd,!netbsd,!openbsd,!solaris,!windows package ipv4 @@ -13,13 +13,13 @@ import ( ) func (so *sockOpt) setIPMreq(c *socket.Conn, ifi *net.Interface, grp net.IP) error { - return errOpNoSupport + return errNotImplemented } func (so *sockOpt) getMulticastIf(c *socket.Conn) (*net.Interface, error) { - return nil, errOpNoSupport + return nil, errNotImplemented } func (so *sockOpt) setMulticastIf(c *socket.Conn, ifi *net.Interface) error { - return errOpNoSupport + return errNotImplemented } diff --git a/vendor/golang.org/x/net/ipv4/sys_asmreqn_stub.go b/vendor/golang.org/x/net/ipv4/sys_asmreqn_stub.go index 0711d3d7..48ef5562 100644 --- a/vendor/golang.org/x/net/ipv4/sys_asmreqn_stub.go +++ b/vendor/golang.org/x/net/ipv4/sys_asmreqn_stub.go @@ -13,9 +13,9 @@ import ( ) func (so *sockOpt) getIPMreqn(c *socket.Conn) (*net.Interface, error) { - return nil, errOpNoSupport + return nil, errNotImplemented } func (so *sockOpt) setIPMreqn(c *socket.Conn, ifi *net.Interface, grp net.IP) error { - return errOpNoSupport + return errNotImplemented } diff --git a/vendor/golang.org/x/net/ipv4/sys_bpf_stub.go b/vendor/golang.org/x/net/ipv4/sys_bpf_stub.go index 9a213209..5c986427 100644 --- a/vendor/golang.org/x/net/ipv4/sys_bpf_stub.go +++ b/vendor/golang.org/x/net/ipv4/sys_bpf_stub.go @@ -12,5 +12,5 @@ import ( ) func (so *sockOpt) setAttachFilter(c *socket.Conn, f []bpf.RawInstruction) error { - return errOpNoSupport + return errNotImplemented } diff --git a/vendor/golang.org/x/net/ipv4/sys_freebsd.go b/vendor/golang.org/x/net/ipv4/sys_freebsd.go index b8003245..482873d9 100644 --- a/vendor/golang.org/x/net/ipv4/sys_freebsd.go +++ b/vendor/golang.org/x/net/ipv4/sys_freebsd.go @@ -50,7 +50,7 @@ func init() { archs, _ := syscall.Sysctl("kern.supported_archs") for _, s := range strings.Fields(archs) { if s == "amd64" { - freebsd32o64 = true + compatFreeBSD32 = true break } } diff --git a/vendor/golang.org/x/net/ipv4/sys_ssmreq.go b/vendor/golang.org/x/net/ipv4/sys_ssmreq.go index ae5704e7..eeced7f3 100644 --- a/vendor/golang.org/x/net/ipv4/sys_ssmreq.go +++ b/vendor/golang.org/x/net/ipv4/sys_ssmreq.go @@ -13,8 +13,6 @@ import ( "golang.org/x/net/internal/socket" ) -var freebsd32o64 bool - func (so *sockOpt) setGroupReq(c *socket.Conn, ifi *net.Interface, grp net.IP) error { var gr groupReq if ifi != nil { @@ -22,7 +20,7 @@ func (so *sockOpt) setGroupReq(c *socket.Conn, ifi *net.Interface, grp net.IP) e } gr.setGroup(grp) var b []byte - if freebsd32o64 { + if compatFreeBSD32 { var d [sizeofGroupReq + 4]byte s := (*[sizeofGroupReq]byte)(unsafe.Pointer(&gr)) copy(d[:4], s[:4]) @@ -41,7 +39,7 @@ func (so *sockOpt) setGroupSourceReq(c *socket.Conn, ifi *net.Interface, grp, sr } gsr.setSourceGroup(grp, src) var b []byte - if freebsd32o64 { + if compatFreeBSD32 { var d [sizeofGroupSourceReq + 4]byte s := (*[sizeofGroupSourceReq]byte)(unsafe.Pointer(&gsr)) copy(d[:4], s[:4]) diff --git a/vendor/golang.org/x/net/ipv4/sys_ssmreq_stub.go b/vendor/golang.org/x/net/ipv4/sys_ssmreq_stub.go index e6b7623d..c0921674 100644 --- a/vendor/golang.org/x/net/ipv4/sys_ssmreq_stub.go +++ b/vendor/golang.org/x/net/ipv4/sys_ssmreq_stub.go @@ -13,9 +13,9 @@ import ( ) func (so *sockOpt) setGroupReq(c *socket.Conn, ifi *net.Interface, grp net.IP) error { - return errOpNoSupport + return errNotImplemented } func (so *sockOpt) setGroupSourceReq(c *socket.Conn, ifi *net.Interface, grp, src net.IP) error { - return errOpNoSupport + return errNotImplemented } diff --git a/vendor/golang.org/x/net/ipv4/sys_stub.go b/vendor/golang.org/x/net/ipv4/sys_stub.go index 4f076473..b9c85b33 100644 --- a/vendor/golang.org/x/net/ipv4/sys_stub.go +++ b/vendor/golang.org/x/net/ipv4/sys_stub.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows +// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows package ipv4 diff --git a/vendor/golang.org/x/net/ipv4/zsys_aix_ppc64.go b/vendor/golang.org/x/net/ipv4/zsys_aix_ppc64.go new file mode 100644 index 00000000..c741d5c8 --- /dev/null +++ b/vendor/golang.org/x/net/ipv4/zsys_aix_ppc64.go @@ -0,0 +1,33 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs defs_aix.go + +// Added for go1.11 compatibility +// +build aix + +package ipv4 + +const ( + sysIP_OPTIONS = 0x1 + sysIP_HDRINCL = 0x2 + sysIP_TOS = 0x3 + sysIP_TTL = 0x4 + sysIP_RECVOPTS = 0x5 + sysIP_RECVRETOPTS = 0x6 + sysIP_RECVDSTADDR = 0x7 + sysIP_RETOPTS = 0x8 + sysIP_RECVIF = 0x20 + sysIP_RECVTTL = 0x22 + + sysIP_MULTICAST_IF = 0x9 + sysIP_MULTICAST_TTL = 0xa + sysIP_MULTICAST_LOOP = 0xb + sysIP_ADD_MEMBERSHIP = 0xc + sysIP_DROP_MEMBERSHIP = 0xd + + sizeofIPMreq = 0x8 +) + +type ipMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} diff --git a/vendor/golang.org/x/net/ipv4/zsys_linux_riscv64.go b/vendor/golang.org/x/net/ipv4/zsys_linux_riscv64.go new file mode 100644 index 00000000..0c0d4801 --- /dev/null +++ b/vendor/golang.org/x/net/ipv4/zsys_linux_riscv64.go @@ -0,0 +1,151 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs defs_linux.go + +// +build riscv64 + +package ipv4 + +const ( + sysIP_TOS = 0x1 + sysIP_TTL = 0x2 + sysIP_HDRINCL = 0x3 + sysIP_OPTIONS = 0x4 + sysIP_ROUTER_ALERT = 0x5 + sysIP_RECVOPTS = 0x6 + sysIP_RETOPTS = 0x7 + sysIP_PKTINFO = 0x8 + sysIP_PKTOPTIONS = 0x9 + sysIP_MTU_DISCOVER = 0xa + sysIP_RECVERR = 0xb + sysIP_RECVTTL = 0xc + sysIP_RECVTOS = 0xd + sysIP_MTU = 0xe + sysIP_FREEBIND = 0xf + sysIP_TRANSPARENT = 0x13 + sysIP_RECVRETOPTS = 0x7 + sysIP_ORIGDSTADDR = 0x14 + sysIP_RECVORIGDSTADDR = 0x14 + sysIP_MINTTL = 0x15 + sysIP_NODEFRAG = 0x16 + sysIP_UNICAST_IF = 0x32 + + sysIP_MULTICAST_IF = 0x20 + sysIP_MULTICAST_TTL = 0x21 + sysIP_MULTICAST_LOOP = 0x22 + sysIP_ADD_MEMBERSHIP = 0x23 + sysIP_DROP_MEMBERSHIP = 0x24 + sysIP_UNBLOCK_SOURCE = 0x25 + sysIP_BLOCK_SOURCE = 0x26 + sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 + sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 + sysIP_MSFILTER = 0x29 + sysMCAST_JOIN_GROUP = 0x2a + sysMCAST_LEAVE_GROUP = 0x2d + sysMCAST_JOIN_SOURCE_GROUP = 0x2e + sysMCAST_LEAVE_SOURCE_GROUP = 0x2f + sysMCAST_BLOCK_SOURCE = 0x2b + sysMCAST_UNBLOCK_SOURCE = 0x2c + sysMCAST_MSFILTER = 0x30 + sysIP_MULTICAST_ALL = 0x31 + + sysICMP_FILTER = 0x1 + + sysSO_EE_ORIGIN_NONE = 0x0 + sysSO_EE_ORIGIN_LOCAL = 0x1 + sysSO_EE_ORIGIN_ICMP = 0x2 + sysSO_EE_ORIGIN_ICMP6 = 0x3 + sysSO_EE_ORIGIN_TXSTATUS = 0x4 + sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 + + sysSOL_SOCKET = 0x1 + sysSO_ATTACH_FILTER = 0x1a + + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet = 0x10 + sizeofInetPktinfo = 0xc + sizeofSockExtendedErr = 0x10 + + sizeofIPMreq = 0x8 + sizeofIPMreqn = 0xc + sizeofIPMreqSource = 0xc + sizeofGroupReq = 0x88 + sizeofGroupSourceReq = 0x108 + + sizeofICMPFilter = 0x4 + + sizeofSockFprog = 0x10 +) + +type kernelSockaddrStorage struct { + Family uint16 + X__data [126]int8 +} + +type sockaddrInet struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + X__pad [8]uint8 +} + +type inetPktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type sockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type ipMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type ipMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type ipMreqSource struct { + Multiaddr uint32 + Interface uint32 + Sourceaddr uint32 +} + +type groupReq struct { + Interface uint32 + Pad_cgo_0 [4]byte + Group kernelSockaddrStorage +} + +type groupSourceReq struct { + Interface uint32 + Pad_cgo_0 [4]byte + Group kernelSockaddrStorage + Source kernelSockaddrStorage +} + +type icmpFilter struct { + Data uint32 +} + +type sockFProg struct { + Len uint16 + Filter *sockFilter +} + +type sockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} diff --git a/vendor/golang.org/x/net/ipv6/batch.go b/vendor/golang.org/x/net/ipv6/batch.go index 10d64924..2ccb9849 100644 --- a/vendor/golang.org/x/net/ipv6/batch.go +++ b/vendor/golang.org/x/net/ipv6/batch.go @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build go1.9 - package ipv6 import ( diff --git a/vendor/golang.org/x/net/ipv6/control_rfc3542_unix.go b/vendor/golang.org/x/net/ipv6/control_rfc3542_unix.go index eec529c2..8c221b59 100644 --- a/vendor/golang.org/x/net/ipv6/control_rfc3542_unix.go +++ b/vendor/golang.org/x/net/ipv6/control_rfc3542_unix.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build darwin dragonfly freebsd linux netbsd openbsd solaris +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris package ipv6 diff --git a/vendor/golang.org/x/net/ipv6/control_stub.go b/vendor/golang.org/x/net/ipv6/control_stub.go index a045f28f..1d773cbc 100644 --- a/vendor/golang.org/x/net/ipv6/control_stub.go +++ b/vendor/golang.org/x/net/ipv6/control_stub.go @@ -2,12 +2,12 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows +// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows package ipv6 import "golang.org/x/net/internal/socket" func setControlMessage(c *socket.Conn, opt *rawOpt, cf ControlFlags, on bool) error { - return errOpNoSupport + return errNotImplemented } diff --git a/vendor/golang.org/x/net/ipv6/control_unix.go b/vendor/golang.org/x/net/ipv6/control_unix.go index 66515060..0971a008 100644 --- a/vendor/golang.org/x/net/ipv6/control_unix.go +++ b/vendor/golang.org/x/net/ipv6/control_unix.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build darwin dragonfly freebsd linux netbsd openbsd solaris +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris package ipv6 diff --git a/vendor/golang.org/x/net/ipv6/control_windows.go b/vendor/golang.org/x/net/ipv6/control_windows.go index ef2563b3..8882d819 100644 --- a/vendor/golang.org/x/net/ipv6/control_windows.go +++ b/vendor/golang.org/x/net/ipv6/control_windows.go @@ -4,13 +4,9 @@ package ipv6 -import ( - "syscall" - - "golang.org/x/net/internal/socket" -) +import "golang.org/x/net/internal/socket" func setControlMessage(c *socket.Conn, opt *rawOpt, cf ControlFlags, on bool) error { // TODO(mikio): implement this - return syscall.EWINDOWS + return errNotImplemented } diff --git a/vendor/golang.org/x/net/ipv6/defs_aix.go b/vendor/golang.org/x/net/ipv6/defs_aix.go new file mode 100644 index 00000000..ea396a3c --- /dev/null +++ b/vendor/golang.org/x/net/ipv6/defs_aix.go @@ -0,0 +1,82 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package ipv6 + +/* +#include +#include + +#include +#include +*/ +import "C" + +const ( + sysIPV6_UNICAST_HOPS = C.IPV6_UNICAST_HOPS + sysIPV6_MULTICAST_IF = C.IPV6_MULTICAST_IF + sysIPV6_MULTICAST_HOPS = C.IPV6_MULTICAST_HOPS + sysIPV6_MULTICAST_LOOP = C.IPV6_MULTICAST_LOOP + sysIPV6_JOIN_GROUP = C.IPV6_JOIN_GROUP + sysIPV6_LEAVE_GROUP = C.IPV6_LEAVE_GROUP + sysICMP6_FILTER = C.ICMP6_FILTER + + sysIPV6_CHECKSUM = C.IPV6_CHECKSUM + sysIPV6_V6ONLY = C.IPV6_V6ONLY + + sysIPV6_RTHDRDSTOPTS = C.IPV6_RTHDRDSTOPTS + + sysIPV6_RECVPKTINFO = C.IPV6_RECVPKTINFO + sysIPV6_RECVHOPLIMIT = C.IPV6_RECVHOPLIMIT + sysIPV6_RECVRTHDR = C.IPV6_RECVRTHDR + sysIPV6_RECVHOPOPTS = C.IPV6_RECVHOPOPTS + sysIPV6_RECVDSTOPTS = C.IPV6_RECVDSTOPTS + + sysIPV6_USE_MIN_MTU = C.IPV6_USE_MIN_MTU + sysIPV6_RECVPATHMTU = C.IPV6_RECVPATHMTU + sysIPV6_PATHMTU = C.IPV6_PATHMTU + + sysIPV6_PKTINFO = C.IPV6_PKTINFO + sysIPV6_HOPLIMIT = C.IPV6_HOPLIMIT + sysIPV6_NEXTHOP = C.IPV6_NEXTHOP + sysIPV6_HOPOPTS = C.IPV6_HOPOPTS + sysIPV6_DSTOPTS = C.IPV6_DSTOPTS + sysIPV6_RTHDR = C.IPV6_RTHDR + + sysIPV6_RECVTCLASS = C.IPV6_RECVTCLASS + + sysIPV6_TCLASS = C.IPV6_TCLASS + sysIPV6_DONTFRAG = C.IPV6_DONTFRAG + + sizeofSockaddrStorage = C.sizeof_struct_sockaddr_storage + sizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + sizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo + sizeofIPv6Mtuinfo = C.sizeof_struct_ip6_mtuinfo + + sizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + sizeofGroupReq = C.sizeof_struct_group_req + sizeofGroupSourceReq = C.sizeof_struct_group_source_req + + sizeofICMPv6Filter = C.sizeof_struct_icmp6_filter +) + +type sockaddrStorage C.struct_sockaddr_storage + +type sockaddrInet6 C.struct_sockaddr_in6 + +type inet6Pktinfo C.struct_in6_pktinfo + +type ipv6Mtuinfo C.struct_ip6_mtuinfo + +type ipv6Mreq C.struct_ipv6_mreq + +type icmpv6Filter C.struct_icmp6_filter + +type groupReq C.struct_group_req + +type groupSourceReq C.struct_group_source_req diff --git a/vendor/golang.org/x/net/ipv6/dgramopt.go b/vendor/golang.org/x/net/ipv6/dgramopt.go index eea4fde2..1f422e71 100644 --- a/vendor/golang.org/x/net/ipv6/dgramopt.go +++ b/vendor/golang.org/x/net/ipv6/dgramopt.go @@ -18,7 +18,7 @@ func (c *dgramOpt) MulticastHopLimit() (int, error) { } so, ok := sockOpts[ssoMulticastHopLimit] if !ok { - return 0, errOpNoSupport + return 0, errNotImplemented } return so.GetInt(c.Conn) } @@ -31,7 +31,7 @@ func (c *dgramOpt) SetMulticastHopLimit(hoplim int) error { } so, ok := sockOpts[ssoMulticastHopLimit] if !ok { - return errOpNoSupport + return errNotImplemented } return so.SetInt(c.Conn, hoplim) } @@ -44,7 +44,7 @@ func (c *dgramOpt) MulticastInterface() (*net.Interface, error) { } so, ok := sockOpts[ssoMulticastInterface] if !ok { - return nil, errOpNoSupport + return nil, errNotImplemented } return so.getMulticastInterface(c.Conn) } @@ -57,7 +57,7 @@ func (c *dgramOpt) SetMulticastInterface(ifi *net.Interface) error { } so, ok := sockOpts[ssoMulticastInterface] if !ok { - return errOpNoSupport + return errNotImplemented } return so.setMulticastInterface(c.Conn, ifi) } @@ -70,7 +70,7 @@ func (c *dgramOpt) MulticastLoopback() (bool, error) { } so, ok := sockOpts[ssoMulticastLoopback] if !ok { - return false, errOpNoSupport + return false, errNotImplemented } on, err := so.GetInt(c.Conn) if err != nil { @@ -87,7 +87,7 @@ func (c *dgramOpt) SetMulticastLoopback(on bool) error { } so, ok := sockOpts[ssoMulticastLoopback] if !ok { - return errOpNoSupport + return errNotImplemented } return so.SetInt(c.Conn, boolint(on)) } @@ -107,7 +107,7 @@ func (c *dgramOpt) JoinGroup(ifi *net.Interface, group net.Addr) error { } so, ok := sockOpts[ssoJoinGroup] if !ok { - return errOpNoSupport + return errNotImplemented } grp := netAddrToIP16(group) if grp == nil { @@ -125,7 +125,7 @@ func (c *dgramOpt) LeaveGroup(ifi *net.Interface, group net.Addr) error { } so, ok := sockOpts[ssoLeaveGroup] if !ok { - return errOpNoSupport + return errNotImplemented } grp := netAddrToIP16(group) if grp == nil { @@ -146,7 +146,7 @@ func (c *dgramOpt) JoinSourceSpecificGroup(ifi *net.Interface, group, source net } so, ok := sockOpts[ssoJoinSourceGroup] if !ok { - return errOpNoSupport + return errNotImplemented } grp := netAddrToIP16(group) if grp == nil { @@ -167,7 +167,7 @@ func (c *dgramOpt) LeaveSourceSpecificGroup(ifi *net.Interface, group, source ne } so, ok := sockOpts[ssoLeaveSourceGroup] if !ok { - return errOpNoSupport + return errNotImplemented } grp := netAddrToIP16(group) if grp == nil { @@ -189,7 +189,7 @@ func (c *dgramOpt) ExcludeSourceSpecificGroup(ifi *net.Interface, group, source } so, ok := sockOpts[ssoBlockSourceGroup] if !ok { - return errOpNoSupport + return errNotImplemented } grp := netAddrToIP16(group) if grp == nil { @@ -210,7 +210,7 @@ func (c *dgramOpt) IncludeSourceSpecificGroup(ifi *net.Interface, group, source } so, ok := sockOpts[ssoUnblockSourceGroup] if !ok { - return errOpNoSupport + return errNotImplemented } grp := netAddrToIP16(group) if grp == nil { @@ -233,7 +233,7 @@ func (c *dgramOpt) Checksum() (on bool, offset int, err error) { } so, ok := sockOpts[ssoChecksum] if !ok { - return false, 0, errOpNoSupport + return false, 0, errNotImplemented } offset, err = so.GetInt(c.Conn) if err != nil { @@ -254,7 +254,7 @@ func (c *dgramOpt) SetChecksum(on bool, offset int) error { } so, ok := sockOpts[ssoChecksum] if !ok { - return errOpNoSupport + return errNotImplemented } if !on { offset = -1 @@ -269,7 +269,7 @@ func (c *dgramOpt) ICMPFilter() (*ICMPFilter, error) { } so, ok := sockOpts[ssoICMPFilter] if !ok { - return nil, errOpNoSupport + return nil, errNotImplemented } return so.getICMPFilter(c.Conn) } @@ -281,7 +281,7 @@ func (c *dgramOpt) SetICMPFilter(f *ICMPFilter) error { } so, ok := sockOpts[ssoICMPFilter] if !ok { - return errOpNoSupport + return errNotImplemented } return so.setICMPFilter(c.Conn, f) } @@ -295,7 +295,7 @@ func (c *dgramOpt) SetBPF(filter []bpf.RawInstruction) error { } so, ok := sockOpts[ssoAttachFilter] if !ok { - return errOpNoSupport + return errNotImplemented } return so.setBPF(c.Conn, filter) } diff --git a/vendor/golang.org/x/net/ipv6/doc.go b/vendor/golang.org/x/net/ipv6/doc.go index d38ea0da..e0be9d50 100644 --- a/vendor/golang.org/x/net/ipv6/doc.go +++ b/vendor/golang.org/x/net/ipv6/doc.go @@ -240,5 +240,4 @@ // IncludeSourceSpecificGroup may return an error. package ipv6 // import "golang.org/x/net/ipv6" -// BUG(mikio): This package is not implemented on AIX, JS, NaCl and -// Plan 9. +// BUG(mikio): This package is not implemented on JS, NaCl and Plan 9. diff --git a/vendor/golang.org/x/net/ipv6/endpoint.go b/vendor/golang.org/x/net/ipv6/endpoint.go index 93257563..f534a0bf 100644 --- a/vendor/golang.org/x/net/ipv6/endpoint.go +++ b/vendor/golang.org/x/net/ipv6/endpoint.go @@ -37,7 +37,7 @@ func (c *Conn) PathMTU() (int, error) { } so, ok := sockOpts[ssoPathMTU] if !ok { - return 0, errOpNoSupport + return 0, errNotImplemented } _, mtu, err := so.getMTUInfo(c.Conn) if err != nil { diff --git a/vendor/golang.org/x/net/ipv6/genericopt.go b/vendor/golang.org/x/net/ipv6/genericopt.go index 1a18f754..0326aed6 100644 --- a/vendor/golang.org/x/net/ipv6/genericopt.go +++ b/vendor/golang.org/x/net/ipv6/genericopt.go @@ -12,7 +12,7 @@ func (c *genericOpt) TrafficClass() (int, error) { } so, ok := sockOpts[ssoTrafficClass] if !ok { - return 0, errOpNoSupport + return 0, errNotImplemented } return so.GetInt(c.Conn) } @@ -25,7 +25,7 @@ func (c *genericOpt) SetTrafficClass(tclass int) error { } so, ok := sockOpts[ssoTrafficClass] if !ok { - return errOpNoSupport + return errNotImplemented } return so.SetInt(c.Conn, tclass) } @@ -37,7 +37,7 @@ func (c *genericOpt) HopLimit() (int, error) { } so, ok := sockOpts[ssoHopLimit] if !ok { - return 0, errOpNoSupport + return 0, errNotImplemented } return so.GetInt(c.Conn) } @@ -50,7 +50,7 @@ func (c *genericOpt) SetHopLimit(hoplim int) error { } so, ok := sockOpts[ssoHopLimit] if !ok { - return errOpNoSupport + return errNotImplemented } return so.SetInt(c.Conn, hoplim) } diff --git a/vendor/golang.org/x/net/ipv6/helper.go b/vendor/golang.org/x/net/ipv6/helper.go index 7ac53522..f767b1f5 100644 --- a/vendor/golang.org/x/net/ipv6/helper.go +++ b/vendor/golang.org/x/net/ipv6/helper.go @@ -7,6 +7,7 @@ package ipv6 import ( "errors" "net" + "runtime" ) var ( @@ -14,8 +15,8 @@ var ( errMissingAddress = errors.New("missing address") errHeaderTooShort = errors.New("header too short") errInvalidConnType = errors.New("invalid conn type") - errOpNoSupport = errors.New("operation not supported") errNoSuchInterface = errors.New("no such interface") + errNotImplemented = errors.New("not implemented on " + runtime.GOOS + "/" + runtime.GOARCH) ) func boolint(b bool) int { diff --git a/vendor/golang.org/x/net/ipv6/icmp_bsd.go b/vendor/golang.org/x/net/ipv6/icmp_bsd.go index e1a791de..b03025cd 100644 --- a/vendor/golang.org/x/net/ipv6/icmp_bsd.go +++ b/vendor/golang.org/x/net/ipv6/icmp_bsd.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build darwin dragonfly freebsd netbsd openbsd +// +build aix darwin dragonfly freebsd netbsd openbsd package ipv6 diff --git a/vendor/golang.org/x/net/ipv6/icmp_stub.go b/vendor/golang.org/x/net/ipv6/icmp_stub.go index c4b9be6d..370e51ac 100644 --- a/vendor/golang.org/x/net/ipv6/icmp_stub.go +++ b/vendor/golang.org/x/net/ipv6/icmp_stub.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows +// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows package ipv6 diff --git a/vendor/golang.org/x/net/ipv6/payload_cmsg.go b/vendor/golang.org/x/net/ipv6/payload_cmsg.go index e17847d0..284a0427 100644 --- a/vendor/golang.org/x/net/ipv6/payload_cmsg.go +++ b/vendor/golang.org/x/net/ipv6/payload_cmsg.go @@ -2,11 +2,15 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build darwin dragonfly freebsd linux netbsd openbsd solaris +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris package ipv6 -import "net" +import ( + "net" + + "golang.org/x/net/internal/socket" +) // ReadFrom reads a payload of the received IPv6 datagram, from the // endpoint c, copying the payload into b. It returns the number of @@ -16,7 +20,32 @@ func (c *payloadHandler) ReadFrom(b []byte) (n int, cm *ControlMessage, src net. if !c.ok() { return 0, nil, nil, errInvalidConn } - return c.readFrom(b) + c.rawOpt.RLock() + m := socket.Message{ + Buffers: [][]byte{b}, + OOB: NewControlMessage(c.rawOpt.cflags), + } + c.rawOpt.RUnlock() + switch c.PacketConn.(type) { + case *net.UDPConn: + if err := c.RecvMsg(&m, 0); err != nil { + return 0, nil, nil, &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: err} + } + case *net.IPConn: + if err := c.RecvMsg(&m, 0); err != nil { + return 0, nil, nil, &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: err} + } + default: + return 0, nil, nil, &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: errInvalidConnType} + } + if m.NN > 0 { + cm = new(ControlMessage) + if err := cm.Parse(m.OOB[:m.NN]); err != nil { + return 0, nil, nil, &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: err} + } + cm.Src = netAddrToIP16(m.Addr) + } + return m.N, cm, m.Addr, nil } // WriteTo writes a payload of the IPv6 datagram, to the destination @@ -28,5 +57,14 @@ func (c *payloadHandler) WriteTo(b []byte, cm *ControlMessage, dst net.Addr) (n if !c.ok() { return 0, errInvalidConn } - return c.writeTo(b, cm, dst) + m := socket.Message{ + Buffers: [][]byte{b}, + OOB: cm.Marshal(), + Addr: dst, + } + err = c.SendMsg(&m, 0) + if err != nil { + err = &net.OpError{Op: "write", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Addr: opAddr(dst), Err: err} + } + return m.N, err } diff --git a/vendor/golang.org/x/net/ipv6/payload_cmsg_go1_8.go b/vendor/golang.org/x/net/ipv6/payload_cmsg_go1_8.go deleted file mode 100644 index a48a6ed6..00000000 --- a/vendor/golang.org/x/net/ipv6/payload_cmsg_go1_8.go +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build !go1.9 -// +build darwin dragonfly freebsd linux netbsd openbsd solaris - -package ipv6 - -import "net" - -func (c *payloadHandler) readFrom(b []byte) (n int, cm *ControlMessage, src net.Addr, err error) { - c.rawOpt.RLock() - oob := NewControlMessage(c.rawOpt.cflags) - c.rawOpt.RUnlock() - var nn int - switch c := c.PacketConn.(type) { - case *net.UDPConn: - if n, nn, _, src, err = c.ReadMsgUDP(b, oob); err != nil { - return 0, nil, nil, err - } - case *net.IPConn: - if n, nn, _, src, err = c.ReadMsgIP(b, oob); err != nil { - return 0, nil, nil, err - } - default: - return 0, nil, nil, &net.OpError{Op: "read", Net: c.LocalAddr().Network(), Source: c.LocalAddr(), Err: errInvalidConnType} - } - if nn > 0 { - cm = new(ControlMessage) - if err = cm.Parse(oob[:nn]); err != nil { - return 0, nil, nil, &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: err} - } - } - if cm != nil { - cm.Src = netAddrToIP16(src) - } - return -} - -func (c *payloadHandler) writeTo(b []byte, cm *ControlMessage, dst net.Addr) (n int, err error) { - oob := cm.Marshal() - if dst == nil { - return 0, &net.OpError{Op: "write", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: errMissingAddress} - } - switch c := c.PacketConn.(type) { - case *net.UDPConn: - n, _, err = c.WriteMsgUDP(b, oob, dst.(*net.UDPAddr)) - case *net.IPConn: - n, _, err = c.WriteMsgIP(b, oob, dst.(*net.IPAddr)) - default: - return 0, &net.OpError{Op: "write", Net: c.LocalAddr().Network(), Source: c.LocalAddr(), Addr: opAddr(dst), Err: errInvalidConnType} - } - return -} diff --git a/vendor/golang.org/x/net/ipv6/payload_cmsg_go1_9.go b/vendor/golang.org/x/net/ipv6/payload_cmsg_go1_9.go deleted file mode 100644 index fb196ed8..00000000 --- a/vendor/golang.org/x/net/ipv6/payload_cmsg_go1_9.go +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2017 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build go1.9 -// +build darwin dragonfly freebsd linux netbsd openbsd solaris - -package ipv6 - -import ( - "net" - - "golang.org/x/net/internal/socket" -) - -func (c *payloadHandler) readFrom(b []byte) (int, *ControlMessage, net.Addr, error) { - c.rawOpt.RLock() - m := socket.Message{ - Buffers: [][]byte{b}, - OOB: NewControlMessage(c.rawOpt.cflags), - } - c.rawOpt.RUnlock() - switch c.PacketConn.(type) { - case *net.UDPConn: - if err := c.RecvMsg(&m, 0); err != nil { - return 0, nil, nil, &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: err} - } - case *net.IPConn: - if err := c.RecvMsg(&m, 0); err != nil { - return 0, nil, nil, &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: err} - } - default: - return 0, nil, nil, &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: errInvalidConnType} - } - var cm *ControlMessage - if m.NN > 0 { - cm = new(ControlMessage) - if err := cm.Parse(m.OOB[:m.NN]); err != nil { - return 0, nil, nil, &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: err} - } - cm.Src = netAddrToIP16(m.Addr) - } - return m.N, cm, m.Addr, nil -} - -func (c *payloadHandler) writeTo(b []byte, cm *ControlMessage, dst net.Addr) (int, error) { - m := socket.Message{ - Buffers: [][]byte{b}, - OOB: cm.Marshal(), - Addr: dst, - } - err := c.SendMsg(&m, 0) - if err != nil { - err = &net.OpError{Op: "write", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Addr: opAddr(dst), Err: err} - } - return m.N, err -} diff --git a/vendor/golang.org/x/net/ipv6/payload_nocmsg.go b/vendor/golang.org/x/net/ipv6/payload_nocmsg.go index bfb54478..c5a4c967 100644 --- a/vendor/golang.org/x/net/ipv6/payload_nocmsg.go +++ b/vendor/golang.org/x/net/ipv6/payload_nocmsg.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris +// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris package ipv6 diff --git a/vendor/golang.org/x/net/ipv6/sockopt_posix.go b/vendor/golang.org/x/net/ipv6/sockopt_posix.go index 0eac86eb..824c623c 100644 --- a/vendor/golang.org/x/net/ipv6/sockopt_posix.go +++ b/vendor/golang.org/x/net/ipv6/sockopt_posix.go @@ -2,12 +2,13 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build darwin dragonfly freebsd linux netbsd openbsd solaris windows +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows package ipv6 import ( "net" + "runtime" "unsafe" "golang.org/x/net/bpf" @@ -37,7 +38,7 @@ func (so *sockOpt) getICMPFilter(c *socket.Conn) (*ICMPFilter, error) { return nil, err } if n != sizeofICMPv6Filter { - return nil, errOpNoSupport + return nil, errNotImplemented } return (*ICMPFilter)(unsafe.Pointer(&b[0])), nil } @@ -54,10 +55,11 @@ func (so *sockOpt) getMTUInfo(c *socket.Conn) (*net.Interface, int, error) { return nil, 0, err } if n != sizeofIPv6Mtuinfo { - return nil, 0, errOpNoSupport + return nil, 0, errNotImplemented } mi := (*ipv6Mtuinfo)(unsafe.Pointer(&b[0])) - if mi.Addr.Scope_id == 0 { + if mi.Addr.Scope_id == 0 || runtime.GOOS == "aix" { + // AIX kernel might return a wrong address. return nil, int(mi.Mtu), nil } ifi, err := net.InterfaceByIndex(int(mi.Addr.Scope_id)) @@ -74,7 +76,7 @@ func (so *sockOpt) setGroup(c *socket.Conn, ifi *net.Interface, grp net.IP) erro case ssoTypeGroupReq: return so.setGroupReq(c, ifi, grp) default: - return errOpNoSupport + return errNotImplemented } } diff --git a/vendor/golang.org/x/net/ipv6/sockopt_stub.go b/vendor/golang.org/x/net/ipv6/sockopt_stub.go index 1f4a273e..0a87a93b 100644 --- a/vendor/golang.org/x/net/ipv6/sockopt_stub.go +++ b/vendor/golang.org/x/net/ipv6/sockopt_stub.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows +// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows package ipv6 @@ -14,33 +14,33 @@ import ( ) func (so *sockOpt) getMulticastInterface(c *socket.Conn) (*net.Interface, error) { - return nil, errOpNoSupport + return nil, errNotImplemented } func (so *sockOpt) setMulticastInterface(c *socket.Conn, ifi *net.Interface) error { - return errOpNoSupport + return errNotImplemented } func (so *sockOpt) getICMPFilter(c *socket.Conn) (*ICMPFilter, error) { - return nil, errOpNoSupport + return nil, errNotImplemented } func (so *sockOpt) setICMPFilter(c *socket.Conn, f *ICMPFilter) error { - return errOpNoSupport + return errNotImplemented } func (so *sockOpt) getMTUInfo(c *socket.Conn) (*net.Interface, int, error) { - return nil, 0, errOpNoSupport + return nil, 0, errNotImplemented } func (so *sockOpt) setGroup(c *socket.Conn, ifi *net.Interface, grp net.IP) error { - return errOpNoSupport + return errNotImplemented } func (so *sockOpt) setSourceGroup(c *socket.Conn, ifi *net.Interface, grp, src net.IP) error { - return errOpNoSupport + return errNotImplemented } func (so *sockOpt) setBPF(c *socket.Conn, f []bpf.RawInstruction) error { - return errOpNoSupport + return errNotImplemented } diff --git a/vendor/golang.org/x/net/ipv6/sys_aix.go b/vendor/golang.org/x/net/ipv6/sys_aix.go new file mode 100644 index 00000000..bce7091f --- /dev/null +++ b/vendor/golang.org/x/net/ipv6/sys_aix.go @@ -0,0 +1,77 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Added for go1.11 compatibility +// +build aix + +package ipv6 + +import ( + "net" + "syscall" + "unsafe" + + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" +) + +var ( + ctlOpts = [ctlMax]ctlOpt{ + ctlTrafficClass: {sysIPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, + ctlHopLimit: {sysIPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, + ctlPacketInfo: {sysIPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, + ctlNextHop: {sysIPV6_NEXTHOP, sizeofSockaddrInet6, marshalNextHop, parseNextHop}, + ctlPathMTU: {sysIPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, + } + + sockOpts = map[int]*sockOpt{ + ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_TCLASS, Len: 4}}, + ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_UNICAST_HOPS, Len: 4}}, + ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_IF, Len: 4}}, + ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_HOPS, Len: 4}}, + ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_LOOP, Len: 4}}, + ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVTCLASS, Len: 4}}, + ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVHOPLIMIT, Len: 4}}, + ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPKTINFO, Len: 4}}, + ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPATHMTU, Len: 4}}, + ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, + ssoChecksum: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_CHECKSUM, Len: 4}}, + ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: sysICMP6_FILTER, Len: sizeofICMPv6Filter}}, + ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_JOIN_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, + ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_LEAVE_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, + } +) + +func (sa *sockaddrInet6) setSockaddr(ip net.IP, i int) { + sa.Len = sizeofSockaddrInet6 + sa.Family = syscall.AF_INET6 + copy(sa.Addr[:], ip) + sa.Scope_id = uint32(i) +} + +func (pi *inet6Pktinfo) setIfindex(i int) { + pi.Ifindex = int32(i) +} + +func (mreq *ipv6Mreq) setIfindex(i int) { + mreq.Interface = uint32(i) +} + +func (gr *groupReq) setGroup(grp net.IP) { + sa := (*sockaddrInet6)(unsafe.Pointer(uintptr(unsafe.Pointer(gr)) + 4)) + sa.Len = sizeofSockaddrInet6 + sa.Family = syscall.AF_INET6 + copy(sa.Addr[:], grp) +} + +func (gsr *groupSourceReq) setSourceGroup(grp, src net.IP) { + sa := (*sockaddrInet6)(unsafe.Pointer(uintptr(unsafe.Pointer(gsr)) + 4)) + sa.Len = sizeofSockaddrInet6 + sa.Family = syscall.AF_INET6 + copy(sa.Addr[:], grp) + sa = (*sockaddrInet6)(unsafe.Pointer(uintptr(unsafe.Pointer(gsr)) + 132)) + sa.Len = sizeofSockaddrInet6 + sa.Family = syscall.AF_INET6 + copy(sa.Addr[:], src) +} diff --git a/vendor/golang.org/x/net/ipv6/sys_asmreq.go b/vendor/golang.org/x/net/ipv6/sys_asmreq.go index b0510c0b..8c3934c3 100644 --- a/vendor/golang.org/x/net/ipv6/sys_asmreq.go +++ b/vendor/golang.org/x/net/ipv6/sys_asmreq.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build darwin dragonfly freebsd linux netbsd openbsd solaris windows +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows package ipv6 diff --git a/vendor/golang.org/x/net/ipv6/sys_asmreq_stub.go b/vendor/golang.org/x/net/ipv6/sys_asmreq_stub.go index eece9618..87ae4818 100644 --- a/vendor/golang.org/x/net/ipv6/sys_asmreq_stub.go +++ b/vendor/golang.org/x/net/ipv6/sys_asmreq_stub.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows +// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows package ipv6 @@ -13,5 +13,5 @@ import ( ) func (so *sockOpt) setIPMreq(c *socket.Conn, ifi *net.Interface, grp net.IP) error { - return errOpNoSupport + return errNotImplemented } diff --git a/vendor/golang.org/x/net/ipv6/sys_bpf_stub.go b/vendor/golang.org/x/net/ipv6/sys_bpf_stub.go index 676bea55..eb9f8316 100644 --- a/vendor/golang.org/x/net/ipv6/sys_bpf_stub.go +++ b/vendor/golang.org/x/net/ipv6/sys_bpf_stub.go @@ -12,5 +12,5 @@ import ( ) func (so *sockOpt) setAttachFilter(c *socket.Conn, f []bpf.RawInstruction) error { - return errOpNoSupport + return errNotImplemented } diff --git a/vendor/golang.org/x/net/ipv6/sys_freebsd.go b/vendor/golang.org/x/net/ipv6/sys_freebsd.go index e9349dc2..85a9f5d0 100644 --- a/vendor/golang.org/x/net/ipv6/sys_freebsd.go +++ b/vendor/golang.org/x/net/ipv6/sys_freebsd.go @@ -51,7 +51,7 @@ func init() { archs, _ := syscall.Sysctl("kern.supported_archs") for _, s := range strings.Fields(archs) { if s == "amd64" { - freebsd32o64 = true + compatFreeBSD32 = true break } } diff --git a/vendor/golang.org/x/net/ipv6/sys_ssmreq.go b/vendor/golang.org/x/net/ipv6/sys_ssmreq.go index add8ccc0..9b52e978 100644 --- a/vendor/golang.org/x/net/ipv6/sys_ssmreq.go +++ b/vendor/golang.org/x/net/ipv6/sys_ssmreq.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build darwin freebsd linux solaris +// +build aix darwin freebsd linux solaris package ipv6 @@ -13,7 +13,7 @@ import ( "golang.org/x/net/internal/socket" ) -var freebsd32o64 bool +var compatFreeBSD32 bool // 386 emulation on amd64 func (so *sockOpt) setGroupReq(c *socket.Conn, ifi *net.Interface, grp net.IP) error { var gr groupReq @@ -22,7 +22,7 @@ func (so *sockOpt) setGroupReq(c *socket.Conn, ifi *net.Interface, grp net.IP) e } gr.setGroup(grp) var b []byte - if freebsd32o64 { + if compatFreeBSD32 { var d [sizeofGroupReq + 4]byte s := (*[sizeofGroupReq]byte)(unsafe.Pointer(&gr)) copy(d[:4], s[:4]) @@ -41,7 +41,7 @@ func (so *sockOpt) setGroupSourceReq(c *socket.Conn, ifi *net.Interface, grp, sr } gsr.setSourceGroup(grp, src) var b []byte - if freebsd32o64 { + if compatFreeBSD32 { var d [sizeofGroupSourceReq + 4]byte s := (*[sizeofGroupSourceReq]byte)(unsafe.Pointer(&gsr)) copy(d[:4], s[:4]) diff --git a/vendor/golang.org/x/net/ipv6/sys_ssmreq_stub.go b/vendor/golang.org/x/net/ipv6/sys_ssmreq_stub.go index 581ee490..d5bc1108 100644 --- a/vendor/golang.org/x/net/ipv6/sys_ssmreq_stub.go +++ b/vendor/golang.org/x/net/ipv6/sys_ssmreq_stub.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build !darwin,!freebsd,!linux,!solaris +// +build !aix,!darwin,!freebsd,!linux,!solaris package ipv6 @@ -13,9 +13,9 @@ import ( ) func (so *sockOpt) setGroupReq(c *socket.Conn, ifi *net.Interface, grp net.IP) error { - return errOpNoSupport + return errNotImplemented } func (so *sockOpt) setGroupSourceReq(c *socket.Conn, ifi *net.Interface, grp, src net.IP) error { - return errOpNoSupport + return errNotImplemented } diff --git a/vendor/golang.org/x/net/ipv6/sys_stub.go b/vendor/golang.org/x/net/ipv6/sys_stub.go index b845388e..4f252d09 100644 --- a/vendor/golang.org/x/net/ipv6/sys_stub.go +++ b/vendor/golang.org/x/net/ipv6/sys_stub.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows +// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows package ipv6 diff --git a/vendor/golang.org/x/net/ipv6/zsys_aix_ppc64.go b/vendor/golang.org/x/net/ipv6/zsys_aix_ppc64.go new file mode 100644 index 00000000..bf44e338 --- /dev/null +++ b/vendor/golang.org/x/net/ipv6/zsys_aix_ppc64.go @@ -0,0 +1,103 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs defs_aix.go + +// Added for go1.11 compatibility +// +build aix + +package ipv6 + +const ( + sysIPV6_UNICAST_HOPS = 0x4 + sysIPV6_MULTICAST_IF = 0x9 + sysIPV6_MULTICAST_HOPS = 0xa + sysIPV6_MULTICAST_LOOP = 0xb + sysIPV6_JOIN_GROUP = 0xc + sysIPV6_LEAVE_GROUP = 0xd + sysICMP6_FILTER = 0x26 + + sysIPV6_CHECKSUM = 0x27 + sysIPV6_V6ONLY = 0x25 + + sysIPV6_RTHDRDSTOPTS = 0x37 + + sysIPV6_RECVPKTINFO = 0x23 + sysIPV6_RECVHOPLIMIT = 0x29 + sysIPV6_RECVRTHDR = 0x33 + sysIPV6_RECVHOPOPTS = 0x35 + sysIPV6_RECVDSTOPTS = 0x38 + + sysIPV6_USE_MIN_MTU = 0x2c + sysIPV6_RECVPATHMTU = 0x2f + sysIPV6_PATHMTU = 0x2e + + sysIPV6_PKTINFO = 0x21 + sysIPV6_HOPLIMIT = 0x28 + sysIPV6_NEXTHOP = 0x30 + sysIPV6_HOPOPTS = 0x34 + sysIPV6_DSTOPTS = 0x36 + sysIPV6_RTHDR = 0x32 + + sysIPV6_RECVTCLASS = 0x2a + + sysIPV6_TCLASS = 0x2b + sysIPV6_DONTFRAG = 0x2d + + sizeofSockaddrStorage = 0x508 + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 + sizeofIPv6Mtuinfo = 0x20 + + sizeofIPv6Mreq = 0x14 + sizeofGroupReq = 0x510 + sizeofGroupSourceReq = 0xa18 + + sizeofICMPv6Filter = 0x20 +) + +type sockaddrStorage struct { + X__ss_len uint8 + Family uint8 + X__ss_pad1 [6]uint8 + X__ss_align int64 + X__ss_pad2 [1265]uint8 + Pad_cgo_0 [7]byte +} + +type sockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex int32 +} + +type ipv6Mtuinfo struct { + Addr sockaddrInet6 + Mtu uint32 +} + +type ipv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type icmpv6Filter struct { + Filt [8]uint32 +} + +type groupReq struct { + Interface uint32 + Group sockaddrStorage +} + +type groupSourceReq struct { + Interface uint32 + Group sockaddrStorage + Source sockaddrStorage +} diff --git a/vendor/golang.org/x/net/ipv6/zsys_linux_riscv64.go b/vendor/golang.org/x/net/ipv6/zsys_linux_riscv64.go new file mode 100644 index 00000000..1ee237b2 --- /dev/null +++ b/vendor/golang.org/x/net/ipv6/zsys_linux_riscv64.go @@ -0,0 +1,173 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs defs_linux.go + +// +build riscv64 + +package ipv6 + +const ( + sysIPV6_ADDRFORM = 0x1 + sysIPV6_2292PKTINFO = 0x2 + sysIPV6_2292HOPOPTS = 0x3 + sysIPV6_2292DSTOPTS = 0x4 + sysIPV6_2292RTHDR = 0x5 + sysIPV6_2292PKTOPTIONS = 0x6 + sysIPV6_CHECKSUM = 0x7 + sysIPV6_2292HOPLIMIT = 0x8 + sysIPV6_NEXTHOP = 0x9 + sysIPV6_FLOWINFO = 0xb + + sysIPV6_UNICAST_HOPS = 0x10 + sysIPV6_MULTICAST_IF = 0x11 + sysIPV6_MULTICAST_HOPS = 0x12 + sysIPV6_MULTICAST_LOOP = 0x13 + sysIPV6_ADD_MEMBERSHIP = 0x14 + sysIPV6_DROP_MEMBERSHIP = 0x15 + sysMCAST_JOIN_GROUP = 0x2a + sysMCAST_LEAVE_GROUP = 0x2d + sysMCAST_JOIN_SOURCE_GROUP = 0x2e + sysMCAST_LEAVE_SOURCE_GROUP = 0x2f + sysMCAST_BLOCK_SOURCE = 0x2b + sysMCAST_UNBLOCK_SOURCE = 0x2c + sysMCAST_MSFILTER = 0x30 + sysIPV6_ROUTER_ALERT = 0x16 + sysIPV6_MTU_DISCOVER = 0x17 + sysIPV6_MTU = 0x18 + sysIPV6_RECVERR = 0x19 + sysIPV6_V6ONLY = 0x1a + sysIPV6_JOIN_ANYCAST = 0x1b + sysIPV6_LEAVE_ANYCAST = 0x1c + + sysIPV6_FLOWLABEL_MGR = 0x20 + sysIPV6_FLOWINFO_SEND = 0x21 + + sysIPV6_IPSEC_POLICY = 0x22 + sysIPV6_XFRM_POLICY = 0x23 + + sysIPV6_RECVPKTINFO = 0x31 + sysIPV6_PKTINFO = 0x32 + sysIPV6_RECVHOPLIMIT = 0x33 + sysIPV6_HOPLIMIT = 0x34 + sysIPV6_RECVHOPOPTS = 0x35 + sysIPV6_HOPOPTS = 0x36 + sysIPV6_RTHDRDSTOPTS = 0x37 + sysIPV6_RECVRTHDR = 0x38 + sysIPV6_RTHDR = 0x39 + sysIPV6_RECVDSTOPTS = 0x3a + sysIPV6_DSTOPTS = 0x3b + sysIPV6_RECVPATHMTU = 0x3c + sysIPV6_PATHMTU = 0x3d + sysIPV6_DONTFRAG = 0x3e + + sysIPV6_RECVTCLASS = 0x42 + sysIPV6_TCLASS = 0x43 + + sysIPV6_ADDR_PREFERENCES = 0x48 + + sysIPV6_PREFER_SRC_TMP = 0x1 + sysIPV6_PREFER_SRC_PUBLIC = 0x2 + sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 + sysIPV6_PREFER_SRC_COA = 0x4 + sysIPV6_PREFER_SRC_HOME = 0x400 + sysIPV6_PREFER_SRC_CGA = 0x8 + sysIPV6_PREFER_SRC_NONCGA = 0x800 + + sysIPV6_MINHOPCOUNT = 0x49 + + sysIPV6_ORIGDSTADDR = 0x4a + sysIPV6_RECVORIGDSTADDR = 0x4a + sysIPV6_TRANSPARENT = 0x4b + sysIPV6_UNICAST_IF = 0x4c + + sysICMPV6_FILTER = 0x1 + + sysICMPV6_FILTER_BLOCK = 0x1 + sysICMPV6_FILTER_PASS = 0x2 + sysICMPV6_FILTER_BLOCKOTHERS = 0x3 + sysICMPV6_FILTER_PASSONLY = 0x4 + + sysSOL_SOCKET = 0x1 + sysSO_ATTACH_FILTER = 0x1a + + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 + sizeofIPv6Mtuinfo = 0x20 + sizeofIPv6FlowlabelReq = 0x20 + + sizeofIPv6Mreq = 0x14 + sizeofGroupReq = 0x88 + sizeofGroupSourceReq = 0x108 + + sizeofICMPv6Filter = 0x20 + + sizeofSockFprog = 0x10 +) + +type kernelSockaddrStorage struct { + Family uint16 + X__data [126]int8 +} + +type sockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex int32 +} + +type ipv6Mtuinfo struct { + Addr sockaddrInet6 + Mtu uint32 +} + +type ipv6FlowlabelReq struct { + Dst [16]byte /* in6_addr */ + Label uint32 + Action uint8 + Share uint8 + Flags uint16 + Expires uint16 + Linger uint16 + X__flr_pad uint32 +} + +type ipv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Ifindex int32 +} + +type groupReq struct { + Interface uint32 + Pad_cgo_0 [4]byte + Group kernelSockaddrStorage +} + +type groupSourceReq struct { + Interface uint32 + Pad_cgo_0 [4]byte + Group kernelSockaddrStorage + Source kernelSockaddrStorage +} + +type icmpv6Filter struct { + Data [8]uint32 +} + +type sockFProg struct { + Len uint16 + Filter *sockFilter +} + +type sockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} diff --git a/vendor/golang.org/x/sys/unix/README.md b/vendor/golang.org/x/sys/unix/README.md index 2bf415fb..eb2f78ae 100644 --- a/vendor/golang.org/x/sys/unix/README.md +++ b/vendor/golang.org/x/sys/unix/README.md @@ -32,7 +32,7 @@ To build the files for your current OS and architecture, make sure GOOS and GOARCH are set correctly and run `mkall.sh`. This will generate the files for your specific system. Running `mkall.sh -n` shows the commands that will be run. -Requirements: bash, perl, go +Requirements: bash, go ### New Build System (currently for `GOOS == "linux"`) @@ -52,14 +52,14 @@ system and have your GOOS and GOARCH set accordingly. Running `mkall.sh` will then generate all of the files for all of the GOOS/GOARCH pairs in the new build system. Running `mkall.sh -n` shows the commands that will be run. -Requirements: bash, perl, go, docker +Requirements: bash, go, docker ## Component files This section describes the various files used in the code generation process. It also contains instructions on how to modify these files to add a new architecture/OS or to add additional syscalls, types, or constants. Note that -if you are using the new build system, the scripts cannot be called normally. +if you are using the new build system, the scripts/programs cannot be called normally. They must be called from within the docker container. ### asm files @@ -81,8 +81,8 @@ each GOOS/GOARCH pair. ### mksysnum -Mksysnum is a script located at `${GOOS}/mksysnum.pl` (or `mksysnum_${GOOS}.pl` -for the old system). This script takes in a list of header files containing the +Mksysnum is a Go program located at `${GOOS}/mksysnum.go` (or `mksysnum_${GOOS}.go` +for the old system). This program takes in a list of header files containing the syscall number declarations and parses them to produce the corresponding list of Go numeric constants. See `zsysnum_${GOOS}_${GOARCH}.go` for the generated constants. @@ -92,14 +92,14 @@ new installation of the target OS (or updating the source checkouts for the new build system). However, depending on the OS, you make need to update the parsing in mksysnum. -### mksyscall.pl +### mksyscall.go The `syscall.go`, `syscall_${GOOS}.go`, `syscall_${GOOS}_${GOARCH}.go` are hand-written Go files which implement system calls (for unix, the specific OS, or the specific OS/Architecture pair respectively) that need special handling and list `//sys` comments giving prototypes for ones that can be generated. -The mksyscall.pl script takes the `//sys` and `//sysnb` comments and converts +The mksyscall.go program takes the `//sys` and `//sysnb` comments and converts them into syscalls. This requires the name of the prototype in the comment to match a syscall number in the `zsysnum_${GOOS}_${GOARCH}.go` file. The function prototype can be exported (capitalized) or not. @@ -160,7 +160,7 @@ signal numbers, and constants. Generated by `mkerrors.sh` (see above). ### `zsyscall_${GOOS}_${GOARCH}.go` A file containing all the generated syscalls for a specific GOOS and GOARCH. -Generated by `mksyscall.pl` (see above). +Generated by `mksyscall.go` (see above). ### `zsysnum_${GOOS}_${GOARCH}.go` diff --git a/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s b/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s new file mode 100644 index 00000000..6db717de --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s @@ -0,0 +1,54 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build riscv64,!gccgo + +#include "textflag.h" + +// +// System calls for linux/riscv64. +// +// Where available, just jump to package syscall's implementation of +// these functions. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 + CALL runtime·entersyscall(SB) + MOV a1+8(FP), A0 + MOV a2+16(FP), A1 + MOV a3+24(FP), A2 + MOV $0, A3 + MOV $0, A4 + MOV $0, A5 + MOV $0, A6 + MOV trap+0(FP), A7 // syscall entry + ECALL + MOV A0, r1+32(FP) // r1 + MOV A1, r2+40(FP) // r2 + CALL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 + MOV a1+8(FP), A0 + MOV a2+16(FP), A1 + MOV a3+24(FP), A2 + MOV ZERO, A3 + MOV ZERO, A4 + MOV ZERO, A5 + MOV trap+0(FP), A7 // syscall entry + ECALL + MOV A0, r1+32(FP) + MOV A1, r2+40(FP) + RET diff --git a/vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s b/vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s new file mode 100644 index 00000000..0cedea3d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s @@ -0,0 +1,29 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for arm64, OpenBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/mkall.sh b/vendor/golang.org/x/sys/unix/mkall.sh index d74115a8..80d00707 100644 --- a/vendor/golang.org/x/sys/unix/mkall.sh +++ b/vendor/golang.org/x/sys/unix/mkall.sh @@ -146,31 +146,46 @@ netbsd_arm) # API consistent across platforms. mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" ;; +netbsd_arm64) + mkerrors="$mkerrors -m64" + mksyscall="go run mksyscall.go -netbsd" + mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; openbsd_386) mkerrors="$mkerrors -m32" mksyscall="go run mksyscall.go -l32 -openbsd" - mksysctl="./mksysctl_openbsd.pl" + mksysctl="go run mksysctl_openbsd.go" mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" mktypes="GOARCH=$GOARCH go tool cgo -godefs" ;; openbsd_amd64) mkerrors="$mkerrors -m64" mksyscall="go run mksyscall.go -openbsd" - mksysctl="./mksysctl_openbsd.pl" + mksysctl="go run mksysctl_openbsd.go" mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" mktypes="GOARCH=$GOARCH go tool cgo -godefs" ;; openbsd_arm) mkerrors="$mkerrors" mksyscall="go run mksyscall.go -l32 -openbsd -arm" - mksysctl="./mksysctl_openbsd.pl" + mksysctl="go run mksysctl_openbsd.go" + mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" + # Let the type of C char be signed for making the bare syscall + # API consistent across platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; +openbsd_arm64) + mkerrors="$mkerrors -m64" + mksyscall="go run mksyscall.go -openbsd" + mksysctl="go run mksysctl_openbsd.go" mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" # Let the type of C char be signed for making the bare syscall # API consistent across platforms. mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" ;; solaris_amd64) - mksyscall="./mksyscall_solaris.pl" + mksyscall="go run mksyscall_solaris.go" mkerrors="$mkerrors -m64" mksysnum= mktypes="GOARCH=$GOARCH go tool cgo -godefs" @@ -207,8 +222,6 @@ esac esac if [ -n "$mksysctl" ]; then echo "$mksysctl |gofmt >$zsysctl"; fi if [ -n "$mksysnum" ]; then echo "$mksysnum |gofmt >zsysnum_$GOOSARCH.go"; fi - if [ -n "$mktypes" ]; then - echo "$mktypes types_$GOOS.go | go run mkpost.go > ztypes_$GOOSARCH.go"; + if [ -n "$mktypes" ]; then echo "$mktypes types_$GOOS.go | go run mkpost.go > ztypes_$GOOSARCH.go"; fi if [ -n "$mkasm" ]; then echo "$mkasm $GOARCH"; fi - fi ) | $run diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh index 6a23484e..4c91159c 100644 --- a/vendor/golang.org/x/sys/unix/mkerrors.sh +++ b/vendor/golang.org/x/sys/unix/mkerrors.sh @@ -182,6 +182,7 @@ struct ltchars { #include #include #include +#include #include #include #include @@ -192,6 +193,7 @@ struct ltchars { #include #include #include +#include #include #include #include @@ -221,6 +223,7 @@ struct ltchars { #include #include #include +#include #include #include @@ -431,7 +434,7 @@ ccflags="$@" $2 ~ /^TC[IO](ON|OFF)$/ || $2 ~ /^IN_/ || $2 ~ /^LOCK_(SH|EX|NB|UN)$/ || - $2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|EVFILT|NOTE|EV|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ || + $2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|MCAST|EVFILT|NOTE|EV|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ || $2 ~ /^TP_STATUS_/ || $2 ~ /^FALLOC_/ || $2 == "ICMPV6_FILTER" || @@ -464,7 +467,7 @@ ccflags="$@" $2 ~ /^RLIMIT_(AS|CORE|CPU|DATA|FSIZE|LOCKS|MEMLOCK|MSGQUEUE|NICE|NOFILE|NPROC|RSS|RTPRIO|RTTIME|SIGPENDING|STACK)|RLIM_INFINITY/ || $2 ~ /^PRIO_(PROCESS|PGRP|USER)/ || $2 ~ /^CLONE_[A-Z_]+/ || - $2 !~ /^(BPF_TIMEVAL)$/ && + $2 !~ /^(BPF_TIMEVAL|BPF_FIB_LOOKUP_[A-Z]+)$/ && $2 ~ /^(BPF|DLT)_/ || $2 ~ /^(CLOCK|TIMER)_/ || $2 ~ /^CAN_/ || @@ -498,9 +501,11 @@ ccflags="$@" $2 ~ /^NFN/ || $2 ~ /^XDP_/ || $2 ~ /^(HDIO|WIN|SMART)_/ || + $2 ~ /^CRYPTO_/ || $2 !~ "WMESGLEN" && $2 ~ /^W[A-Z0-9]+$/ || $2 ~/^PPPIOC/ || + $2 ~ /^FAN_|FANOTIFY_/ || $2 ~ /^BLK[A-Z]*(GET$|SET$|BUF$|PART$|SIZE)/ {printf("\t%s = C.%s\n", $2, $2)} $2 ~ /^__WCOREFLAG$/ {next} $2 ~ /^__W[A-Z0-9]+$/ {printf("\t%s = C.%s\n", substr($2,3), $2)} diff --git a/vendor/golang.org/x/sys/unix/mkpost.go b/vendor/golang.org/x/sys/unix/mkpost.go index 9feddd00..4d5b531b 100644 --- a/vendor/golang.org/x/sys/unix/mkpost.go +++ b/vendor/golang.org/x/sys/unix/mkpost.go @@ -42,6 +42,13 @@ func main() { log.Fatal(err) } + if goos == "aix" { + // Replace type of Atim, Mtim and Ctim by Timespec in Stat_t + // to avoid having both StTimespec and Timespec. + sttimespec := regexp.MustCompile(`_Ctype_struct_st_timespec`) + b = sttimespec.ReplaceAll(b, []byte("Timespec")) + } + // Intentionally export __val fields in Fsid and Sigset_t valRegex := regexp.MustCompile(`type (Fsid|Sigset_t) struct {(\s+)X__val(\s+\S+\s+)}`) b = valRegex.ReplaceAll(b, []byte("type $1 struct {${2}Val$3}")) @@ -96,6 +103,15 @@ func main() { cgoCommandRegex := regexp.MustCompile(`(cgo -godefs .*)`) b = cgoCommandRegex.ReplaceAll(b, []byte(replacement)) + // Rename Stat_t time fields + if goos == "freebsd" && goarch == "386" { + // Hide Stat_t.[AMCB]tim_ext fields + renameStatTimeExtFieldsRegex := regexp.MustCompile(`[AMCB]tim_ext`) + b = renameStatTimeExtFieldsRegex.ReplaceAll(b, []byte("_")) + } + renameStatTimeFieldsRegex := regexp.MustCompile(`([AMCB])(?:irth)?time?(?:spec)?\s+(Timespec|StTimespec)`) + b = renameStatTimeFieldsRegex.ReplaceAll(b, []byte("${1}tim ${2}")) + // gofmt b, err = format.Source(b) if err != nil { diff --git a/vendor/golang.org/x/sys/unix/mksyscall.go b/vendor/golang.org/x/sys/unix/mksyscall.go index 890652ca..e4af9424 100644 --- a/vendor/golang.org/x/sys/unix/mksyscall.go +++ b/vendor/golang.org/x/sys/unix/mksyscall.go @@ -88,6 +88,10 @@ func parseParam(p string) Param { func main() { // Get the OS and architecture (using GOARCH_TARGET if it exists) goos := os.Getenv("GOOS") + if goos == "" { + fmt.Fprintln(os.Stderr, "GOOS not defined in environment") + os.Exit(1) + } goarch := os.Getenv("GOARCH_TARGET") if goarch == "" { goarch = os.Getenv("GOARCH") @@ -149,6 +153,11 @@ func main() { } funct, inps, outps, sysname := f[2], f[3], f[4], f[5] + // ClockGettime doesn't have a syscall number on Darwin, only generate libc wrappers. + if goos == "darwin" && !libc && funct == "ClockGettime" { + continue + } + // Split argument lists on comma. in := parseParamList(inps) out := parseParamList(outps) @@ -224,7 +233,7 @@ func main() { } else { args = append(args, fmt.Sprintf("uintptr(%s)", p.Name)) } - } else if p.Type == "int64" && endianness != "" { + } else if (p.Type == "int64" || p.Type == "uint64") && endianness != "" { if len(args)%2 == 1 && *arm { // arm abi specifies 64-bit argument uses // (even, odd) pair diff --git a/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go index f2c58fb7..3be3cdfc 100644 --- a/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go +++ b/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go @@ -214,6 +214,11 @@ func main() { } if funct != "fcntl" && funct != "FcntlInt" && funct != "readlen" && funct != "writelen" { + if sysname == "select" { + // select is a keyword of Go. Its name is + // changed to c_select. + cExtern += "#define c_select select\n" + } // Imports of system calls from libc cExtern += fmt.Sprintf("%s %s", cRettype, sysname) cIn := strings.Join(cIn, ", ") @@ -328,7 +333,13 @@ func main() { } else { call += "" } - call += fmt.Sprintf("C.%s(%s)", sysname, arglist) + if sysname == "select" { + // select is a keyword of Go. Its name is + // changed to c_select. + call += fmt.Sprintf("C.c_%s(%s)", sysname, arglist) + } else { + call += fmt.Sprintf("C.%s(%s)", sysname, arglist) + } // Assign return values. body := "" diff --git a/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go index 45b44290..c9600995 100644 --- a/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go +++ b/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go @@ -282,6 +282,11 @@ func main() { if !onlyCommon { // GCCGO Prototype Generation // Imports of system calls from libc + if sysname == "select" { + // select is a keyword of Go. Its name is + // changed to c_select. + cExtern += "#define c_select select\n" + } cExtern += fmt.Sprintf("%s %s", cRettype, sysname) cIn := strings.Join(cIn, ", ") cExtern += fmt.Sprintf("(%s);\n", cIn) @@ -490,7 +495,14 @@ func main() { // GCCGO function generation argsgccgolist := strings.Join(argsgccgo, ", ") - callgccgo := fmt.Sprintf("C.%s(%s)", sysname, argsgccgolist) + var callgccgo string + if sysname == "select" { + // select is a keyword of Go. Its name is + // changed to c_select. + callgccgo = fmt.Sprintf("C.c_%s(%s)", sysname, argsgccgolist) + } else { + callgccgo = fmt.Sprintf("C.%s(%s)", sysname, argsgccgolist) + } textgccgo += callProto textgccgo += fmt.Sprintf("\tr1 = uintptr(%s)\n", callgccgo) textgccgo += "\te1 = syscall.GetErrno()\n" diff --git a/vendor/golang.org/x/sys/unix/mksyscall_solaris.go b/vendor/golang.org/x/sys/unix/mksyscall_solaris.go new file mode 100644 index 00000000..3d864738 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/mksyscall_solaris.go @@ -0,0 +1,335 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* + This program reads a file containing function prototypes + (like syscall_solaris.go) and generates system call bodies. + The prototypes are marked by lines beginning with "//sys" + and read like func declarations if //sys is replaced by func, but: + * The parameter lists must give a name for each argument. + This includes return parameters. + * The parameter lists must give a type for each argument: + the (x, y, z int) shorthand is not allowed. + * If the return parameter is an error number, it must be named err. + * If go func name needs to be different than its libc name, + * or the function is not in libc, name could be specified + * at the end, after "=" sign, like + //sys getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) = libsocket.getsockopt +*/ + +package main + +import ( + "bufio" + "flag" + "fmt" + "os" + "regexp" + "strings" +) + +var ( + b32 = flag.Bool("b32", false, "32bit big-endian") + l32 = flag.Bool("l32", false, "32bit little-endian") + tags = flag.String("tags", "", "build tags") +) + +// cmdLine returns this programs's commandline arguments +func cmdLine() string { + return "go run mksyscall_solaris.go " + strings.Join(os.Args[1:], " ") +} + +// buildTags returns build tags +func buildTags() string { + return *tags +} + +// Param is function parameter +type Param struct { + Name string + Type string +} + +// usage prints the program usage +func usage() { + fmt.Fprintf(os.Stderr, "usage: go run mksyscall_solaris.go [-b32 | -l32] [-tags x,y] [file ...]\n") + os.Exit(1) +} + +// parseParamList parses parameter list and returns a slice of parameters +func parseParamList(list string) []string { + list = strings.TrimSpace(list) + if list == "" { + return []string{} + } + return regexp.MustCompile(`\s*,\s*`).Split(list, -1) +} + +// parseParam splits a parameter into name and type +func parseParam(p string) Param { + ps := regexp.MustCompile(`^(\S*) (\S*)$`).FindStringSubmatch(p) + if ps == nil { + fmt.Fprintf(os.Stderr, "malformed parameter: %s\n", p) + os.Exit(1) + } + return Param{ps[1], ps[2]} +} + +func main() { + flag.Usage = usage + flag.Parse() + if len(flag.Args()) <= 0 { + fmt.Fprintf(os.Stderr, "no files to parse provided\n") + usage() + } + + endianness := "" + if *b32 { + endianness = "big-endian" + } else if *l32 { + endianness = "little-endian" + } + + pack := "" + text := "" + dynimports := "" + linknames := "" + var vars []string + for _, path := range flag.Args() { + file, err := os.Open(path) + if err != nil { + fmt.Fprintf(os.Stderr, err.Error()) + os.Exit(1) + } + s := bufio.NewScanner(file) + for s.Scan() { + t := s.Text() + t = strings.TrimSpace(t) + t = regexp.MustCompile(`\s+`).ReplaceAllString(t, ` `) + if p := regexp.MustCompile(`^package (\S+)$`).FindStringSubmatch(t); p != nil && pack == "" { + pack = p[1] + } + nonblock := regexp.MustCompile(`^\/\/sysnb `).FindStringSubmatch(t) + if regexp.MustCompile(`^\/\/sys `).FindStringSubmatch(t) == nil && nonblock == nil { + continue + } + + // Line must be of the form + // func Open(path string, mode int, perm int) (fd int, err error) + // Split into name, in params, out params. + f := regexp.MustCompile(`^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*(?:(\w*)\.)?(\w*))?$`).FindStringSubmatch(t) + if f == nil { + fmt.Fprintf(os.Stderr, "%s:%s\nmalformed //sys declaration\n", path, t) + os.Exit(1) + } + funct, inps, outps, modname, sysname := f[2], f[3], f[4], f[5], f[6] + + // Split argument lists on comma. + in := parseParamList(inps) + out := parseParamList(outps) + + inps = strings.Join(in, ", ") + outps = strings.Join(out, ", ") + + // Try in vain to keep people from editing this file. + // The theory is that they jump into the middle of the file + // without reading the header. + text += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n" + + // So file name. + if modname == "" { + modname = "libc" + } + + // System call name. + if sysname == "" { + sysname = funct + } + + // System call pointer variable name. + sysvarname := fmt.Sprintf("proc%s", sysname) + + strconvfunc := "BytePtrFromString" + strconvtype := "*byte" + + sysname = strings.ToLower(sysname) // All libc functions are lowercase. + + // Runtime import of function to allow cross-platform builds. + dynimports += fmt.Sprintf("//go:cgo_import_dynamic libc_%s %s \"%s.so\"\n", sysname, sysname, modname) + // Link symbol to proc address variable. + linknames += fmt.Sprintf("//go:linkname %s libc_%s\n", sysvarname, sysname) + // Library proc address variable. + vars = append(vars, sysvarname) + + // Go function header. + outlist := strings.Join(out, ", ") + if outlist != "" { + outlist = fmt.Sprintf(" (%s)", outlist) + } + if text != "" { + text += "\n" + } + text += fmt.Sprintf("func %s(%s)%s {\n", funct, strings.Join(in, ", "), outlist) + + // Check if err return available + errvar := "" + for _, param := range out { + p := parseParam(param) + if p.Type == "error" { + errvar = p.Name + continue + } + } + + // Prepare arguments to Syscall. + var args []string + n := 0 + for _, param := range in { + p := parseParam(param) + if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil { + args = append(args, "uintptr(unsafe.Pointer("+p.Name+"))") + } else if p.Type == "string" && errvar != "" { + text += fmt.Sprintf("\tvar _p%d %s\n", n, strconvtype) + text += fmt.Sprintf("\t_p%d, %s = %s(%s)\n", n, errvar, strconvfunc, p.Name) + text += fmt.Sprintf("\tif %s != nil {\n\t\treturn\n\t}\n", errvar) + args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) + n++ + } else if p.Type == "string" { + fmt.Fprintf(os.Stderr, path+":"+funct+" uses string arguments, but has no error return\n") + text += fmt.Sprintf("\tvar _p%d %s\n", n, strconvtype) + text += fmt.Sprintf("\t_p%d, _ = %s(%s)\n", n, strconvfunc, p.Name) + args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) + n++ + } else if s := regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type); s != nil { + // Convert slice into pointer, length. + // Have to be careful not to take address of &a[0] if len == 0: + // pass nil in that case. + text += fmt.Sprintf("\tvar _p%d *%s\n", n, s[1]) + text += fmt.Sprintf("\tif len(%s) > 0 {\n\t\t_p%d = &%s[0]\n\t}\n", p.Name, n, p.Name) + args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n), fmt.Sprintf("uintptr(len(%s))", p.Name)) + n++ + } else if p.Type == "int64" && endianness != "" { + if endianness == "big-endian" { + args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name)) + } else { + args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name)) + } + } else if p.Type == "bool" { + text += fmt.Sprintf("\tvar _p%d uint32\n", n) + text += fmt.Sprintf("\tif %s {\n\t\t_p%d = 1\n\t} else {\n\t\t_p%d = 0\n\t}\n", p.Name, n, n) + args = append(args, fmt.Sprintf("uintptr(_p%d)", n)) + n++ + } else { + args = append(args, fmt.Sprintf("uintptr(%s)", p.Name)) + } + } + nargs := len(args) + + // Determine which form to use; pad args with zeros. + asm := "sysvicall6" + if nonblock != nil { + asm = "rawSysvicall6" + } + if len(args) <= 6 { + for len(args) < 6 { + args = append(args, "0") + } + } else { + fmt.Fprintf(os.Stderr, "%s: too many arguments to system call\n", path) + os.Exit(1) + } + + // Actual call. + arglist := strings.Join(args, ", ") + call := fmt.Sprintf("%s(uintptr(unsafe.Pointer(&%s)), %d, %s)", asm, sysvarname, nargs, arglist) + + // Assign return values. + body := "" + ret := []string{"_", "_", "_"} + doErrno := false + for i := 0; i < len(out); i++ { + p := parseParam(out[i]) + reg := "" + if p.Name == "err" { + reg = "e1" + ret[2] = reg + doErrno = true + } else { + reg = fmt.Sprintf("r%d", i) + ret[i] = reg + } + if p.Type == "bool" { + reg = fmt.Sprintf("%d != 0", reg) + } + if p.Type == "int64" && endianness != "" { + // 64-bit number in r1:r0 or r0:r1. + if i+2 > len(out) { + fmt.Fprintf(os.Stderr, "%s: not enough registers for int64 return\n", path) + os.Exit(1) + } + if endianness == "big-endian" { + reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i, i+1) + } else { + reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i+1, i) + } + ret[i] = fmt.Sprintf("r%d", i) + ret[i+1] = fmt.Sprintf("r%d", i+1) + } + if reg != "e1" { + body += fmt.Sprintf("\t%s = %s(%s)\n", p.Name, p.Type, reg) + } + } + if ret[0] == "_" && ret[1] == "_" && ret[2] == "_" { + text += fmt.Sprintf("\t%s\n", call) + } else { + text += fmt.Sprintf("\t%s, %s, %s := %s\n", ret[0], ret[1], ret[2], call) + } + text += body + + if doErrno { + text += "\tif e1 != 0 {\n" + text += "\t\terr = e1\n" + text += "\t}\n" + } + text += "\treturn\n" + text += "}\n" + } + if err := s.Err(); err != nil { + fmt.Fprintf(os.Stderr, err.Error()) + os.Exit(1) + } + file.Close() + } + imp := "" + if pack != "unix" { + imp = "import \"golang.org/x/sys/unix\"\n" + + } + vardecls := "\t" + strings.Join(vars, ",\n\t") + vardecls += " syscallFunc" + fmt.Printf(srcTemplate, cmdLine(), buildTags(), pack, imp, dynimports, linknames, vardecls, text) +} + +const srcTemplate = `// %s +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build %s + +package %s + +import ( + "syscall" + "unsafe" +) +%s +%s +%s +var ( +%s +) + +%s +` diff --git a/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl b/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl deleted file mode 100644 index a354df5a..00000000 --- a/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl +++ /dev/null @@ -1,294 +0,0 @@ -#!/usr/bin/env perl -# Copyright 2009 The Go Authors. All rights reserved. -# Use of this source code is governed by a BSD-style -# license that can be found in the LICENSE file. - -# This program reads a file containing function prototypes -# (like syscall_solaris.go) and generates system call bodies. -# The prototypes are marked by lines beginning with "//sys" -# and read like func declarations if //sys is replaced by func, but: -# * The parameter lists must give a name for each argument. -# This includes return parameters. -# * The parameter lists must give a type for each argument: -# the (x, y, z int) shorthand is not allowed. -# * If the return parameter is an error number, it must be named err. -# * If go func name needs to be different than its libc name, -# * or the function is not in libc, name could be specified -# * at the end, after "=" sign, like -# //sys getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) = libsocket.getsockopt - -use strict; - -my $cmdline = "mksyscall_solaris.pl " . join(' ', @ARGV); -my $errors = 0; -my $_32bit = ""; -my $tags = ""; # build tags - -binmode STDOUT; - -if($ARGV[0] eq "-b32") { - $_32bit = "big-endian"; - shift; -} elsif($ARGV[0] eq "-l32") { - $_32bit = "little-endian"; - shift; -} -if($ARGV[0] eq "-tags") { - shift; - $tags = $ARGV[0]; - shift; -} - -if($ARGV[0] =~ /^-/) { - print STDERR "usage: mksyscall_solaris.pl [-b32 | -l32] [-tags x,y] [file ...]\n"; - exit 1; -} - -sub parseparamlist($) { - my ($list) = @_; - $list =~ s/^\s*//; - $list =~ s/\s*$//; - if($list eq "") { - return (); - } - return split(/\s*,\s*/, $list); -} - -sub parseparam($) { - my ($p) = @_; - if($p !~ /^(\S*) (\S*)$/) { - print STDERR "$ARGV:$.: malformed parameter: $p\n"; - $errors = 1; - return ("xx", "int"); - } - return ($1, $2); -} - -my $package = ""; -my $text = ""; -my $dynimports = ""; -my $linknames = ""; -my @vars = (); -while(<>) { - chomp; - s/\s+/ /g; - s/^\s+//; - s/\s+$//; - $package = $1 if !$package && /^package (\S+)$/; - my $nonblock = /^\/\/sysnb /; - next if !/^\/\/sys / && !$nonblock; - - # Line must be of the form - # func Open(path string, mode int, perm int) (fd int, err error) - # Split into name, in params, out params. - if(!/^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*(?:(\w*)\.)?(\w*))?$/) { - print STDERR "$ARGV:$.: malformed //sys declaration\n"; - $errors = 1; - next; - } - my ($nb, $func, $in, $out, $modname, $sysname) = ($1, $2, $3, $4, $5, $6); - - # Split argument lists on comma. - my @in = parseparamlist($in); - my @out = parseparamlist($out); - - # Try in vain to keep people from editing this file. - # The theory is that they jump into the middle of the file - # without reading the header. - $text .= "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n"; - - # So file name. - if($modname eq "") { - $modname = "libc"; - } - - # System call name. - if($sysname eq "") { - $sysname = "$func"; - } - - # System call pointer variable name. - my $sysvarname = "proc$sysname"; - - my $strconvfunc = "BytePtrFromString"; - my $strconvtype = "*byte"; - - $sysname =~ y/A-Z/a-z/; # All libc functions are lowercase. - - # Runtime import of function to allow cross-platform builds. - $dynimports .= "//go:cgo_import_dynamic libc_${sysname} ${sysname} \"$modname.so\"\n"; - # Link symbol to proc address variable. - $linknames .= "//go:linkname ${sysvarname} libc_${sysname}\n"; - # Library proc address variable. - push @vars, $sysvarname; - - # Go function header. - $out = join(', ', @out); - if($out ne "") { - $out = " ($out)"; - } - if($text ne "") { - $text .= "\n" - } - $text .= sprintf "func %s(%s)%s {\n", $func, join(', ', @in), $out; - - # Check if err return available - my $errvar = ""; - foreach my $p (@out) { - my ($name, $type) = parseparam($p); - if($type eq "error") { - $errvar = $name; - last; - } - } - - # Prepare arguments to Syscall. - my @args = (); - my $n = 0; - foreach my $p (@in) { - my ($name, $type) = parseparam($p); - if($type =~ /^\*/) { - push @args, "uintptr(unsafe.Pointer($name))"; - } elsif($type eq "string" && $errvar ne "") { - $text .= "\tvar _p$n $strconvtype\n"; - $text .= "\t_p$n, $errvar = $strconvfunc($name)\n"; - $text .= "\tif $errvar != nil {\n\t\treturn\n\t}\n"; - push @args, "uintptr(unsafe.Pointer(_p$n))"; - $n++; - } elsif($type eq "string") { - print STDERR "$ARGV:$.: $func uses string arguments, but has no error return\n"; - $text .= "\tvar _p$n $strconvtype\n"; - $text .= "\t_p$n, _ = $strconvfunc($name)\n"; - push @args, "uintptr(unsafe.Pointer(_p$n))"; - $n++; - } elsif($type =~ /^\[\](.*)/) { - # Convert slice into pointer, length. - # Have to be careful not to take address of &a[0] if len == 0: - # pass nil in that case. - $text .= "\tvar _p$n *$1\n"; - $text .= "\tif len($name) > 0 {\n\t\t_p$n = \&$name\[0]\n\t}\n"; - push @args, "uintptr(unsafe.Pointer(_p$n))", "uintptr(len($name))"; - $n++; - } elsif($type eq "int64" && $_32bit ne "") { - if($_32bit eq "big-endian") { - push @args, "uintptr($name >> 32)", "uintptr($name)"; - } else { - push @args, "uintptr($name)", "uintptr($name >> 32)"; - } - } elsif($type eq "bool") { - $text .= "\tvar _p$n uint32\n"; - $text .= "\tif $name {\n\t\t_p$n = 1\n\t} else {\n\t\t_p$n = 0\n\t}\n"; - push @args, "uintptr(_p$n)"; - $n++; - } else { - push @args, "uintptr($name)"; - } - } - my $nargs = @args; - - # Determine which form to use; pad args with zeros. - my $asm = "sysvicall6"; - if ($nonblock) { - $asm = "rawSysvicall6"; - } - if(@args <= 6) { - while(@args < 6) { - push @args, "0"; - } - } else { - print STDERR "$ARGV:$.: too many arguments to system call\n"; - } - - # Actual call. - my $args = join(', ', @args); - my $call = "$asm(uintptr(unsafe.Pointer(&$sysvarname)), $nargs, $args)"; - - # Assign return values. - my $body = ""; - my $failexpr = ""; - my @ret = ("_", "_", "_"); - my @pout= (); - my $do_errno = 0; - for(my $i=0; $i<@out; $i++) { - my $p = $out[$i]; - my ($name, $type) = parseparam($p); - my $reg = ""; - if($name eq "err") { - $reg = "e1"; - $ret[2] = $reg; - $do_errno = 1; - } else { - $reg = sprintf("r%d", $i); - $ret[$i] = $reg; - } - if($type eq "bool") { - $reg = "$reg != 0"; - } - if($type eq "int64" && $_32bit ne "") { - # 64-bit number in r1:r0 or r0:r1. - if($i+2 > @out) { - print STDERR "$ARGV:$.: not enough registers for int64 return\n"; - } - if($_32bit eq "big-endian") { - $reg = sprintf("int64(r%d)<<32 | int64(r%d)", $i, $i+1); - } else { - $reg = sprintf("int64(r%d)<<32 | int64(r%d)", $i+1, $i); - } - $ret[$i] = sprintf("r%d", $i); - $ret[$i+1] = sprintf("r%d", $i+1); - } - if($reg ne "e1") { - $body .= "\t$name = $type($reg)\n"; - } - } - if ($ret[0] eq "_" && $ret[1] eq "_" && $ret[2] eq "_") { - $text .= "\t$call\n"; - } else { - $text .= "\t$ret[0], $ret[1], $ret[2] := $call\n"; - } - $text .= $body; - - if ($do_errno) { - $text .= "\tif e1 != 0 {\n"; - $text .= "\t\terr = e1\n"; - $text .= "\t}\n"; - } - $text .= "\treturn\n"; - $text .= "}\n"; -} - -if($errors) { - exit 1; -} - -print < "net.inet", - "net.inet.ipproto" => "net.inet", - "net.inet6.ipv6proto" => "net.inet6", - "net.inet6.ipv6" => "net.inet6.ip6", - "net.inet.icmpv6" => "net.inet6.icmp6", - "net.inet6.divert6" => "net.inet6.divert", - "net.inet6.tcp6" => "net.inet.tcp", - "net.inet6.udp6" => "net.inet.udp", - "mpls" => "net.mpls", - "swpenc" => "vm.swapencrypt" -); - -# Node mappings -my %node_map = ( - "net.inet.ip.ifq" => "net.ifq", - "net.inet.pfsync" => "net.pfsync", - "net.mpls.ifq" => "net.ifq" -); - -my $ctlname; -my %mib = (); -my %sysctl = (); -my $node; - -sub debug() { - print STDERR "$_[0]\n" if $debug; -} - -# Walk the MIB and build a sysctl name to OID mapping. -sub build_sysctl() { - my ($node, $name, $oid) = @_; - my %node = %{$node}; - my @oid = @{$oid}; - - foreach my $key (sort keys %node) { - my @node = @{$node{$key}}; - my $nodename = $name.($name ne '' ? '.' : '').$key; - my @nodeoid = (@oid, $node[0]); - if ($node[1] eq 'CTLTYPE_NODE') { - if (exists $node_map{$nodename}) { - $node = \%mib; - $ctlname = $node_map{$nodename}; - foreach my $part (split /\./, $ctlname) { - $node = \%{@{$$node{$part}}[2]}; - } - } else { - $node = $node[2]; - } - &build_sysctl($node, $nodename, \@nodeoid); - } elsif ($node[1] ne '') { - $sysctl{$nodename} = \@nodeoid; - } - } -} - -foreach my $ctl (@ctls) { - $ctls{$ctl} = $ctl; -} - -# Build MIB -foreach my $header (@headers) { - &debug("Processing $header..."); - open HEADER, "/usr/include/$header" || - print STDERR "Failed to open $header\n"; - while (
) { - if ($_ =~ /^#define\s+(CTL_NAMES)\s+{/ || - $_ =~ /^#define\s+(CTL_(.*)_NAMES)\s+{/ || - $_ =~ /^#define\s+((.*)CTL_NAMES)\s+{/) { - if ($1 eq 'CTL_NAMES') { - # Top level. - $node = \%mib; - } else { - # Node. - my $nodename = lc($2); - if ($header =~ /^netinet\//) { - $ctlname = "net.inet.$nodename"; - } elsif ($header =~ /^netinet6\//) { - $ctlname = "net.inet6.$nodename"; - } elsif ($header =~ /^net\//) { - $ctlname = "net.$nodename"; - } else { - $ctlname = "$nodename"; - $ctlname =~ s/^(fs|net|kern)_/$1\./; - } - if (exists $ctl_map{$ctlname}) { - $ctlname = $ctl_map{$ctlname}; - } - if (not exists $ctls{$ctlname}) { - &debug("Ignoring $ctlname..."); - next; - } - - # Walk down from the top of the MIB. - $node = \%mib; - foreach my $part (split /\./, $ctlname) { - if (not exists $$node{$part}) { - &debug("Missing node $part"); - $$node{$part} = [ 0, '', {} ]; - } - $node = \%{@{$$node{$part}}[2]}; - } - } - - # Populate current node with entries. - my $i = -1; - while (defined($_) && $_ !~ /^}/) { - $_ =
; - $i++ if $_ =~ /{.*}/; - next if $_ !~ /{\s+"(\w+)",\s+(CTLTYPE_[A-Z]+)\s+}/; - $$node{$1} = [ $i, $2, {} ]; - } - } - } - close HEADER; -} - -&build_sysctl(\%mib, "", []); - -print <>= 32 + stat.Mtim.Nsec >>= 32 + stat.Ctim.Nsec >>= 32 +} + +func Fstat(fd int, stat *Stat_t) error { + err := fstat(fd, stat) + if err != nil { + return err + } + fixStatTimFields(stat) + return nil +} + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) error { + err := fstatat(dirfd, path, stat, flags) + if err != nil { + return err + } + fixStatTimFields(stat) + return nil +} + +func Lstat(path string, stat *Stat_t) error { + err := lstat(path, stat) + if err != nil { + return err + } + fixStatTimFields(stat) + return nil +} + +func Stat(path string, statptr *Stat_t) error { + err := stat(path, statptr) + if err != nil { + return err + } + fixStatTimFields(statptr) + return nil +} diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go index 04042e44..21200918 100644 --- a/vendor/golang.org/x/sys/unix/syscall_darwin.go +++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go @@ -144,6 +144,23 @@ func getAttrList(path string, attrList attrList, attrBuf []byte, options uint) ( //sys getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) +func SysctlClockinfo(name string) (*Clockinfo, error) { + mib, err := sysctlmib(name) + if err != nil { + return nil, err + } + + n := uintptr(SizeofClockinfo) + var ci Clockinfo + if err := sysctl(mib, (*byte)(unsafe.Pointer(&ci)), &n, nil, 0); err != nil { + return nil, err + } + if n != SizeofClockinfo { + return nil, EIO + } + return &ci, nil +} + //sysnb pipe() (r int, w int, err error) func Pipe(p []int) (err error) { @@ -416,6 +433,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e //sys Chmod(path string, mode uint32) (err error) //sys Chown(path string, uid int, gid int) (err error) //sys Chroot(path string) (err error) +//sys ClockGettime(clockid int32, time *Timespec) (err error) //sys Close(fd int) (err error) //sys Dup(fd int) (nfd int, err error) //sys Dup2(from int, to int) (err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd.go b/vendor/golang.org/x/sys/unix/syscall_freebsd.go index a7ca1ebe..f135812a 100644 --- a/vendor/golang.org/x/sys/unix/syscall_freebsd.go +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd.go @@ -404,22 +404,22 @@ func roundup(x, y int) int { func (s *Stat_t) convertFrom(old *stat_freebsd11_t) { *s = Stat_t{ - Dev: uint64(old.Dev), - Ino: uint64(old.Ino), - Nlink: uint64(old.Nlink), - Mode: old.Mode, - Uid: old.Uid, - Gid: old.Gid, - Rdev: uint64(old.Rdev), - Atim: old.Atim, - Mtim: old.Mtim, - Ctim: old.Ctim, - Birthtim: old.Birthtim, - Size: old.Size, - Blocks: old.Blocks, - Blksize: old.Blksize, - Flags: old.Flags, - Gen: uint64(old.Gen), + Dev: uint64(old.Dev), + Ino: uint64(old.Ino), + Nlink: uint64(old.Nlink), + Mode: old.Mode, + Uid: old.Uid, + Gid: old.Gid, + Rdev: uint64(old.Rdev), + Atim: old.Atim, + Mtim: old.Mtim, + Ctim: old.Ctim, + Btim: old.Btim, + Size: old.Size, + Blocks: old.Blocks, + Blksize: old.Blksize, + Flags: old.Flags, + Gen: uint64(old.Gen), } } diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go index a07ee49e..c92545ea 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux.go @@ -39,6 +39,20 @@ func Creat(path string, mode uint32) (fd int, err error) { return Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode) } +//sys FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) +//sys fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) + +func FanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname string) (err error) { + if pathname == "" { + return fanotifyMark(fd, flags, mask, dirFd, nil) + } + p, err := BytePtrFromString(pathname) + if err != nil { + return err + } + return fanotifyMark(fd, flags, mask, dirFd, p) +} + //sys fchmodat(dirfd int, path string, mode uint32) (err error) func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { @@ -95,6 +109,12 @@ func IoctlGetInt(fd int, req uint) (int, error) { return value, err } +func IoctlGetUint32(fd int, req uint) (uint32, error) { + var value uint32 + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { var value Winsize err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) @@ -990,10 +1010,50 @@ func GetsockoptString(fd, level, opt int) (string, error) { return string(buf[:vallen-1]), nil } +func GetsockoptTpacketStats(fd, level, opt int) (*TpacketStats, error) { + var value TpacketStats + vallen := _Socklen(SizeofTpacketStats) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptTpacketStatsV3(fd, level, opt int) (*TpacketStatsV3, error) { + var value TpacketStatsV3 + vallen := _Socklen(SizeofTpacketStatsV3) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) { return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) } +func SetsockoptPacketMreq(fd, level, opt int, mreq *PacketMreq) error { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) +} + +// SetsockoptSockFprog attaches a classic BPF or an extended BPF program to a +// socket to filter incoming packets. See 'man 7 socket' for usage information. +func SetsockoptSockFprog(fd, level, opt int, fprog *SockFprog) error { + return setsockopt(fd, level, opt, unsafe.Pointer(fprog), unsafe.Sizeof(*fprog)) +} + +func SetsockoptCanRawFilter(fd, level, opt int, filter []CanFilter) error { + var p unsafe.Pointer + if len(filter) > 0 { + p = unsafe.Pointer(&filter[0]) + } + return setsockopt(fd, level, opt, p, uintptr(len(filter)*SizeofCanFilter)) +} + +func SetsockoptTpacketReq(fd, level, opt int, tp *TpacketReq) error { + return setsockopt(fd, level, opt, unsafe.Pointer(tp), unsafe.Sizeof(*tp)) +} + +func SetsockoptTpacketReq3(fd, level, opt int, tp *TpacketReq3) error { + return setsockopt(fd, level, opt, unsafe.Pointer(tp), unsafe.Sizeof(*tp)) +} + // Keyctl Commands (http://man7.org/linux/man-pages/man2/keyctl.2.html) // KeyctlInt calls keyctl commands in which each argument is an int. @@ -1477,9 +1537,13 @@ func Setgid(uid int) (err error) { return EOPNOTSUPP } +func Signalfd(fd int, sigmask *Sigset_t, flags int) (newfd int, err error) { + return signalfd(fd, sigmask, _C__NSIG/8, flags) +} + //sys Setpriority(which int, who int, prio int) (err error) //sys Setxattr(path string, attr string, data []byte, flags int) (err error) -//sys Signalfd(fd int, mask *Sigset_t, flags int) = SYS_SIGNALFD4 +//sys signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) = SYS_SIGNALFD4 //sys Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) //sys Sync() //sys Syncfs(fd int) (err error) @@ -1608,6 +1672,82 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { return EACCES } +//sys nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) = SYS_NAME_TO_HANDLE_AT +//sys openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) = SYS_OPEN_BY_HANDLE_AT + +// fileHandle is the argument to nameToHandleAt and openByHandleAt. We +// originally tried to generate it via unix/linux/types.go with "type +// fileHandle C.struct_file_handle" but that generated empty structs +// for mips64 and mips64le. Instead, hard code it for now (it's the +// same everywhere else) until the mips64 generator issue is fixed. +type fileHandle struct { + Bytes uint32 + Type int32 +} + +// FileHandle represents the C struct file_handle used by +// name_to_handle_at (see NameToHandleAt) and open_by_handle_at (see +// OpenByHandleAt). +type FileHandle struct { + *fileHandle +} + +// NewFileHandle constructs a FileHandle. +func NewFileHandle(handleType int32, handle []byte) FileHandle { + const hdrSize = unsafe.Sizeof(fileHandle{}) + buf := make([]byte, hdrSize+uintptr(len(handle))) + copy(buf[hdrSize:], handle) + fh := (*fileHandle)(unsafe.Pointer(&buf[0])) + fh.Type = handleType + fh.Bytes = uint32(len(handle)) + return FileHandle{fh} +} + +func (fh *FileHandle) Size() int { return int(fh.fileHandle.Bytes) } +func (fh *FileHandle) Type() int32 { return fh.fileHandle.Type } +func (fh *FileHandle) Bytes() []byte { + n := fh.Size() + if n == 0 { + return nil + } + return (*[1 << 30]byte)(unsafe.Pointer(uintptr(unsafe.Pointer(&fh.fileHandle.Type)) + 4))[:n:n] +} + +// NameToHandleAt wraps the name_to_handle_at system call; it obtains +// a handle for a path name. +func NameToHandleAt(dirfd int, path string, flags int) (handle FileHandle, mountID int, err error) { + var mid _C_int + // Try first with a small buffer, assuming the handle will + // only be 32 bytes. + size := uint32(32 + unsafe.Sizeof(fileHandle{})) + didResize := false + for { + buf := make([]byte, size) + fh := (*fileHandle)(unsafe.Pointer(&buf[0])) + fh.Bytes = size - uint32(unsafe.Sizeof(fileHandle{})) + err = nameToHandleAt(dirfd, path, fh, &mid, flags) + if err == EOVERFLOW { + if didResize { + // We shouldn't need to resize more than once + return + } + didResize = true + size = fh.Bytes + uint32(unsafe.Sizeof(fileHandle{})) + continue + } + if err != nil { + return + } + return FileHandle{fh}, int(mid), nil + } +} + +// OpenByHandleAt wraps the open_by_handle_at system call; it opens a +// file via a handle as previously returned by NameToHandleAt. +func OpenByHandleAt(mountFD int, handle FileHandle, flags int) (fd int, err error) { + return openByHandleAt(mountFD, handle.fileHandle, flags) +} + /* * Unimplemented */ diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go index cda35594..f6267944 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go @@ -19,12 +19,18 @@ func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: int32(sec), Usec: int32(usec)} } +//sysnb pipe(p *[2]_C_int) (err error) + func Pipe(p []int) (err error) { if len(p) != 2 { return EINVAL } var pp [2]_C_int + // Try pipe2 first for Android O, then try pipe for kernel 2.6.23. err = pipe2(&pp, 0) + if err == ENOSYS { + err = pipe(&pp) + } p[0] = int(pp[0]) p[1] = int(pp[1]) return @@ -266,3 +272,16 @@ func SyncFileRange(fd int, off int64, n int64, flags int) error { // order of their arguments. return armSyncFileRange(fd, flags, off, n) } + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go index 6d567224..cb20b15d 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go @@ -208,3 +208,16 @@ func Poll(fds []PollFd, timeout int) (n int, err error) { } return ppoll(&fds[0], len(fds), ts, nil) } + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go index f23ca451..6230f640 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go @@ -211,3 +211,16 @@ func Poll(fds []PollFd, timeout int) (n int, err error) { func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { return Renameat2(olddirfd, oldpath, newdirfd, newpath, 0) } + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/vendor/golang.org/x/sys/unix/syscall_openbsd.go index 68799954..c8648ec0 100644 --- a/vendor/golang.org/x/sys/unix/syscall_openbsd.go +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd.go @@ -43,6 +43,23 @@ func nametomib(name string) (mib []_C_int, err error) { return nil, EINVAL } +func SysctlClockinfo(name string) (*Clockinfo, error) { + mib, err := sysctlmib(name) + if err != nil { + return nil, err + } + + n := uintptr(SizeofClockinfo) + var ci Clockinfo + if err := sysctl(mib, (*byte)(unsafe.Pointer(&ci)), &n, nil, 0); err != nil { + return nil, err + } + if n != SizeofClockinfo { + return nil, EIO + } + return &ci, nil +} + func SysctlUvmexp(name string) (*Uvmexp, error) { mib, err := sysctlmib(name) if err != nil { diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go new file mode 100644 index 00000000..0fb39cf5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go @@ -0,0 +1,37 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm64,openbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of openbsd/amd64 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL diff --git a/vendor/golang.org/x/sys/unix/syscall_unix.go b/vendor/golang.org/x/sys/unix/syscall_unix.go index 33583a22..3de37566 100644 --- a/vendor/golang.org/x/sys/unix/syscall_unix.go +++ b/vendor/golang.org/x/sys/unix/syscall_unix.go @@ -28,6 +28,11 @@ var ( errENOENT error = syscall.ENOENT ) +var ( + signalNameMapOnce sync.Once + signalNameMap map[string]syscall.Signal +) + // errnoErr returns common boxed Errno values, to prevent // allocations at runtime. func errnoErr(e syscall.Errno) error { @@ -66,6 +71,19 @@ func SignalName(s syscall.Signal) string { return "" } +// SignalNum returns the syscall.Signal for signal named s, +// or 0 if a signal with such name is not found. +// The signal name should start with "SIG". +func SignalNum(s string) syscall.Signal { + signalNameMapOnce.Do(func() { + signalNameMap = make(map[string]syscall.Signal) + for _, signal := range signalList { + signalNameMap[signal.name] = signal.num + } + }) + return signalNameMap[s] +} + // clen returns the index of the first NULL byte in n or len(n) if n contains no NULL byte. func clen(n []byte) int { i := bytes.IndexByte(n, 0) @@ -276,6 +294,13 @@ func GetsockoptTimeval(fd, level, opt int) (*Timeval, error) { return &tv, err } +func GetsockoptUint64(fd, level, opt int) (value uint64, err error) { + var n uint64 + vallen := _Socklen(8) + err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) + return n, err +} + func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) { var rsa RawSockaddrAny var len _Socklen = SizeofSockaddrAny @@ -326,13 +351,21 @@ func SetsockoptLinger(fd, level, opt int, l *Linger) (err error) { } func SetsockoptString(fd, level, opt int, s string) (err error) { - return setsockopt(fd, level, opt, unsafe.Pointer(&[]byte(s)[0]), uintptr(len(s))) + var p unsafe.Pointer + if len(s) > 0 { + p = unsafe.Pointer(&[]byte(s)[0]) + } + return setsockopt(fd, level, opt, p, uintptr(len(s))) } func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) { return setsockopt(fd, level, opt, unsafe.Pointer(tv), unsafe.Sizeof(*tv)) } +func SetsockoptUint64(fd, level, opt int, value uint64) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(&value), 8) +} + func Socket(domain, typ, proto int) (fd int, err error) { if domain == AF_INET6 && SocketDisableIPv6 { return -1, EAFNOSUPPORT @@ -377,3 +410,22 @@ func SetNonblock(fd int, nonblocking bool) (err error) { func Exec(argv0 string, argv []string, envv []string) error { return syscall.Exec(argv0, argv, envv) } + +// Lutimes sets the access and modification times tv on path. If path refers to +// a symlink, it is not dereferenced and the timestamps are set on the symlink. +// If tv is nil, the access and modification times are set to the current time. +// Otherwise tv must contain exactly 2 elements, with access time as the first +// element and modification time as the second element. +func Lutimes(path string, tv []Timeval) error { + if tv == nil { + return UtimesNanoAt(AT_FDCWD, path, nil, AT_SYMLINK_NOFOLLOW) + } + if len(tv) != 2 { + return EINVAL + } + ts := []Timespec{ + NsecToTimespec(TimevalToNsec(tv[0])), + NsecToTimespec(TimevalToNsec(tv[1])), + } + return UtimesNanoAt(AT_FDCWD, path, ts, AT_SYMLINK_NOFOLLOW) +} diff --git a/vendor/golang.org/x/sys/unix/types_aix.go b/vendor/golang.org/x/sys/unix/types_aix.go index 25e83494..40d2beed 100644 --- a/vendor/golang.org/x/sys/unix/types_aix.go +++ b/vendor/golang.org/x/sys/unix/types_aix.go @@ -87,8 +87,6 @@ type Mode_t C.mode_t type Timespec C.struct_timespec -type StTimespec C.struct_st_timespec - type Timeval C.struct_timeval type Timeval32 C.struct_timeval32 @@ -133,6 +131,8 @@ type RawSockaddrInet6 C.struct_sockaddr_in6 type RawSockaddrUnix C.struct_sockaddr_un +type RawSockaddrDatalink C.struct_sockaddr_dl + type RawSockaddr C.struct_sockaddr type RawSockaddrAny C.struct_sockaddr_any @@ -156,17 +156,18 @@ type Linger C.struct_linger type Msghdr C.struct_msghdr const ( - SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in - SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 - SizeofSockaddrAny = C.sizeof_struct_sockaddr_any - SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un - SizeofLinger = C.sizeof_struct_linger - SizeofIPMreq = C.sizeof_struct_ip_mreq - SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq - SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo - SizeofMsghdr = C.sizeof_struct_msghdr - SizeofCmsghdr = C.sizeof_struct_cmsghdr - SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter + SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in + SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + SizeofSockaddrAny = C.sizeof_struct_sockaddr_any + SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un + SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl + SizeofLinger = C.sizeof_struct_linger + SizeofIPMreq = C.sizeof_struct_ip_mreq + SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo + SizeofMsghdr = C.sizeof_struct_msghdr + SizeofCmsghdr = C.sizeof_struct_cmsghdr + SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter ) // Routing and interface messages diff --git a/vendor/golang.org/x/sys/unix/types_darwin.go b/vendor/golang.org/x/sys/unix/types_darwin.go index 9fd2aaa6..155c2e69 100644 --- a/vendor/golang.org/x/sys/unix/types_darwin.go +++ b/vendor/golang.org/x/sys/unix/types_darwin.go @@ -275,3 +275,9 @@ const ( // uname type Utsname C.struct_utsname + +// Clockinfo + +const SizeofClockinfo = C.sizeof_struct_clockinfo + +type Clockinfo C.struct_clockinfo diff --git a/vendor/golang.org/x/sys/unix/types_openbsd.go b/vendor/golang.org/x/sys/unix/types_openbsd.go index 4e5e57f9..8aafbe44 100644 --- a/vendor/golang.org/x/sys/unix/types_openbsd.go +++ b/vendor/golang.org/x/sys/unix/types_openbsd.go @@ -274,3 +274,9 @@ type Utsname C.struct_utsname const SizeofUvmexp = C.sizeof_struct_uvmexp type Uvmexp C.struct_uvmexp + +// Clockinfo + +const SizeofClockinfo = C.sizeof_struct_clockinfo + +type Clockinfo C.struct_clockinfo diff --git a/vendor/golang.org/x/sys/unix/openbsd_unveil.go b/vendor/golang.org/x/sys/unix/unveil_openbsd.go similarity index 98% rename from vendor/golang.org/x/sys/unix/openbsd_unveil.go rename to vendor/golang.org/x/sys/unix/unveil_openbsd.go index aebc2dc5..168d5ae7 100644 --- a/vendor/golang.org/x/sys/unix/openbsd_unveil.go +++ b/vendor/golang.org/x/sys/unix/unveil_openbsd.go @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build openbsd - package unix import ( diff --git a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go index 4b7b9650..1def8a58 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go +++ b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go @@ -926,6 +926,8 @@ const ( TCSETSF = 0x5404 TCSETSW = 0x5403 TCXONC = 0x540b + TIMER_ABSTIME = 0x3e7 + TIMER_MAX = 0x20 TIOC = 0x5400 TIOCCBRK = 0x2000747a TIOCCDTR = 0x20007478 diff --git a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go index ed04fd1b..03187dea 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go @@ -3,7 +3,7 @@ // +build ppc64,aix -// Created by cgo -godefs - DO NOT EDIT +// Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs -- -maix64 _const.go package unix @@ -926,6 +926,8 @@ const ( TCSETSF = 0x5404 TCSETSW = 0x5403 TCXONC = 0x540b + TIMER_ABSTIME = 0x3e7 + TIMER_MAX = 0x20 TIOC = 0x5400 TIOCCBRK = 0x2000747a TIOCCDTR = 0x20007478 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go index cb89df8f..881e69f1 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go @@ -174,6 +174,7 @@ const ( B9600 = 0xd BALLOON_KVM_MAGIC = 0x13661366 BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 BINFMTFS_MAGIC = 0x42494e4d BLKBSZGET = 0x80041270 BLKBSZSET = 0x40041271 @@ -196,10 +197,59 @@ const ( BPF_ABS = 0x20 BPF_ADD = 0x0 BPF_ALU = 0x4 + BPF_ALU64 = 0x7 BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 BPF_H = 0x8 BPF_IMM = 0x0 BPF_IND = 0x40 @@ -207,8 +257,16 @@ const ( BPF_JEQ = 0x10 BPF_JGE = 0x30 BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 BPF_K = 0x0 BPF_LD = 0x0 BPF_LDX = 0x1 @@ -222,20 +280,33 @@ const ( BPF_MINOR_VERSION = 0x1 BPF_MISC = 0x7 BPF_MOD = 0x90 + BPF_MOV = 0xb0 BPF_MSH = 0xa0 BPF_MUL = 0x20 BPF_NEG = 0x80 BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 BPF_RET = 0x6 BPF_RSH = 0x70 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 BPF_ST = 0x2 BPF_STX = 0x3 BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 BPF_TXA = 0x80 BPF_W = 0x0 BPF_X = 0x8 + BPF_XADD = 0xc0 BPF_XOR = 0xa0 BRKINT = 0x2 BS0 = 0x0 @@ -319,6 +390,10 @@ const ( CRDLY = 0x600 CREAD = 0x80 CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 CS5 = 0x0 CS6 = 0x10 CS7 = 0x20 @@ -486,6 +561,60 @@ const ( FALLOC_FL_PUNCH_HOLE = 0x2 FALLOC_FL_UNSHARE_RANGE = 0x40 FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 FD_CLOEXEC = 0x1 FD_SETSIZE = 0x400 FF0 = 0x0 @@ -493,6 +622,7 @@ const ( FFDLY = 0x8000 FLUSHO = 0x1000 FP_XSTATE_MAGIC2 = 0x46505845 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 @@ -514,7 +644,7 @@ const ( FS_POLICY_FLAGS_PAD_4 = 0x0 FS_POLICY_FLAGS_PAD_8 = 0x1 FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 FUTEXFS_SUPER_MAGIC = 0xbad1dea F_ADD_SEALS = 0x409 F_DUPFD = 0x0 @@ -1006,6 +1136,15 @@ const ( MAP_STACK = 0x20000 MAP_SYNC = 0x80000 MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MCL_ONFAULT = 0x4 @@ -1134,7 +1273,7 @@ const ( NETLINK_UNUSED = 0x1 NETLINK_USERSOCK = 0x2 NETLINK_XFRM = 0x6 - NETNSA_MAX = 0x3 + NETNSA_MAX = 0x5 NETNSA_NSID_NOT_ASSIGNED = -0x1 NFNETLINK_V0 = 0x0 NFNLGRP_ACCT_QUOTA = 0x8 @@ -1398,6 +1537,12 @@ const ( PR_MCE_KILL_SET = 0x1 PR_MPX_DISABLE_MANAGEMENT = 0x2c PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 PR_SET_CHILD_SUBREAPER = 0x24 PR_SET_DUMPABLE = 0x4 PR_SET_ENDIAN = 0x14 @@ -1435,6 +1580,7 @@ const ( PR_SET_TSC = 0x1a PR_SET_UNALIGN = 0x6 PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 PR_SPEC_ENABLE = 0x2 PR_SPEC_FORCE_DISABLE = 0x8 PR_SPEC_INDIRECT_BRANCH = 0x1 @@ -1905,6 +2051,7 @@ const ( SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe @@ -1953,6 +2100,8 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x12 SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 @@ -1964,9 +2113,17 @@ const ( SO_SNDBUFFORCE = 0x20 SO_SNDLOWAT = 0x13 SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 SO_TIMESTAMP = 0x1d SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d SO_TXTIME = 0x3d SO_TYPE = 0x3 SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 @@ -2059,6 +2216,8 @@ const ( TCOFLUSH = 0x1 TCOOFF = 0x0 TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea TCP_CC_INFO = 0x1a TCP_CM_INQ = 0x24 TCP_CONGESTION = 0xd @@ -2232,6 +2391,7 @@ const ( TUNGETVNETBE = 0x800454df TUNGETVNETHDRSZ = 0x800454d7 TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 TUNSETDEBUG = 0x400454c9 TUNSETFILTEREBPF = 0x800454e1 TUNSETGROUP = 0x400454ce @@ -2259,8 +2419,10 @@ const ( UBI_IOCMKVOL = 0x40986f00 UBI_IOCRMVOL = 0x40046f01 UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 UBI_IOCRSVOL = 0x400c6f02 UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 UBI_IOCVOLCRBLK = 0x40804f07 UBI_IOCVOLRMBLK = 0x4f08 UBI_IOCVOLUP = 0x40084f00 @@ -2409,6 +2571,7 @@ const ( XDP_FLAGS_SKB_MODE = 0x2 XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 XDP_PGOFF_RX_RING = 0x0 XDP_PGOFF_TX_RING = 0x80000000 XDP_RX_RING = 0x2 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go index 73c9b88c..039b007d 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go @@ -174,6 +174,7 @@ const ( B9600 = 0xd BALLOON_KVM_MAGIC = 0x13661366 BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 BINFMTFS_MAGIC = 0x42494e4d BLKBSZGET = 0x80081270 BLKBSZSET = 0x40081271 @@ -196,10 +197,59 @@ const ( BPF_ABS = 0x20 BPF_ADD = 0x0 BPF_ALU = 0x4 + BPF_ALU64 = 0x7 BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 BPF_H = 0x8 BPF_IMM = 0x0 BPF_IND = 0x40 @@ -207,8 +257,16 @@ const ( BPF_JEQ = 0x10 BPF_JGE = 0x30 BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 BPF_K = 0x0 BPF_LD = 0x0 BPF_LDX = 0x1 @@ -222,20 +280,33 @@ const ( BPF_MINOR_VERSION = 0x1 BPF_MISC = 0x7 BPF_MOD = 0x90 + BPF_MOV = 0xb0 BPF_MSH = 0xa0 BPF_MUL = 0x20 BPF_NEG = 0x80 BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 BPF_RET = 0x6 BPF_RSH = 0x70 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 BPF_ST = 0x2 BPF_STX = 0x3 BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 BPF_TXA = 0x80 BPF_W = 0x0 BPF_X = 0x8 + BPF_XADD = 0xc0 BPF_XOR = 0xa0 BRKINT = 0x2 BS0 = 0x0 @@ -319,6 +390,10 @@ const ( CRDLY = 0x600 CREAD = 0x80 CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 CS5 = 0x0 CS6 = 0x10 CS7 = 0x20 @@ -486,6 +561,60 @@ const ( FALLOC_FL_PUNCH_HOLE = 0x2 FALLOC_FL_UNSHARE_RANGE = 0x40 FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 FD_CLOEXEC = 0x1 FD_SETSIZE = 0x400 FF0 = 0x0 @@ -493,6 +622,7 @@ const ( FFDLY = 0x8000 FLUSHO = 0x1000 FP_XSTATE_MAGIC2 = 0x46505845 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 @@ -514,7 +644,7 @@ const ( FS_POLICY_FLAGS_PAD_4 = 0x0 FS_POLICY_FLAGS_PAD_8 = 0x1 FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 FUTEXFS_SUPER_MAGIC = 0xbad1dea F_ADD_SEALS = 0x409 F_DUPFD = 0x0 @@ -1006,6 +1136,15 @@ const ( MAP_STACK = 0x20000 MAP_SYNC = 0x80000 MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MCL_ONFAULT = 0x4 @@ -1134,7 +1273,7 @@ const ( NETLINK_UNUSED = 0x1 NETLINK_USERSOCK = 0x2 NETLINK_XFRM = 0x6 - NETNSA_MAX = 0x3 + NETNSA_MAX = 0x5 NETNSA_NSID_NOT_ASSIGNED = -0x1 NFNETLINK_V0 = 0x0 NFNLGRP_ACCT_QUOTA = 0x8 @@ -1398,6 +1537,12 @@ const ( PR_MCE_KILL_SET = 0x1 PR_MPX_DISABLE_MANAGEMENT = 0x2c PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 PR_SET_CHILD_SUBREAPER = 0x24 PR_SET_DUMPABLE = 0x4 PR_SET_ENDIAN = 0x14 @@ -1435,6 +1580,7 @@ const ( PR_SET_TSC = 0x1a PR_SET_UNALIGN = 0x6 PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 PR_SPEC_ENABLE = 0x2 PR_SPEC_FORCE_DISABLE = 0x8 PR_SPEC_INDIRECT_BRANCH = 0x1 @@ -1906,6 +2052,7 @@ const ( SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe @@ -1954,6 +2101,8 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x12 SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 @@ -1965,9 +2114,17 @@ const ( SO_SNDBUFFORCE = 0x20 SO_SNDLOWAT = 0x13 SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 SO_TIMESTAMP = 0x1d SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d SO_TXTIME = 0x3d SO_TYPE = 0x3 SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 @@ -2060,6 +2217,8 @@ const ( TCOFLUSH = 0x1 TCOOFF = 0x0 TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea TCP_CC_INFO = 0x1a TCP_CM_INQ = 0x24 TCP_CONGESTION = 0xd @@ -2233,6 +2392,7 @@ const ( TUNGETVNETBE = 0x800454df TUNGETVNETHDRSZ = 0x800454d7 TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 TUNSETDEBUG = 0x400454c9 TUNSETFILTEREBPF = 0x800454e1 TUNSETGROUP = 0x400454ce @@ -2260,8 +2420,10 @@ const ( UBI_IOCMKVOL = 0x40986f00 UBI_IOCRMVOL = 0x40046f01 UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 UBI_IOCRSVOL = 0x400c6f02 UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 UBI_IOCVOLCRBLK = 0x40804f07 UBI_IOCVOLRMBLK = 0x4f08 UBI_IOCVOLUP = 0x40084f00 @@ -2409,6 +2571,7 @@ const ( XDP_FLAGS_SKB_MODE = 0x2 XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 XDP_PGOFF_RX_RING = 0x0 XDP_PGOFF_TX_RING = 0x80000000 XDP_RX_RING = 0x2 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go index f1ef82f5..97ed569a 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go @@ -174,6 +174,7 @@ const ( B9600 = 0xd BALLOON_KVM_MAGIC = 0x13661366 BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 BINFMTFS_MAGIC = 0x42494e4d BLKBSZGET = 0x80041270 BLKBSZSET = 0x40041271 @@ -196,10 +197,59 @@ const ( BPF_ABS = 0x20 BPF_ADD = 0x0 BPF_ALU = 0x4 + BPF_ALU64 = 0x7 BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 BPF_H = 0x8 BPF_IMM = 0x0 BPF_IND = 0x40 @@ -207,8 +257,16 @@ const ( BPF_JEQ = 0x10 BPF_JGE = 0x30 BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 BPF_K = 0x0 BPF_LD = 0x0 BPF_LDX = 0x1 @@ -222,20 +280,33 @@ const ( BPF_MINOR_VERSION = 0x1 BPF_MISC = 0x7 BPF_MOD = 0x90 + BPF_MOV = 0xb0 BPF_MSH = 0xa0 BPF_MUL = 0x20 BPF_NEG = 0x80 BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 BPF_RET = 0x6 BPF_RSH = 0x70 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 BPF_ST = 0x2 BPF_STX = 0x3 BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 BPF_TXA = 0x80 BPF_W = 0x0 BPF_X = 0x8 + BPF_XADD = 0xc0 BPF_XOR = 0xa0 BRKINT = 0x2 BS0 = 0x0 @@ -319,6 +390,10 @@ const ( CRDLY = 0x600 CREAD = 0x80 CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 CS5 = 0x0 CS6 = 0x10 CS7 = 0x20 @@ -486,12 +561,67 @@ const ( FALLOC_FL_PUNCH_HOLE = 0x2 FALLOC_FL_UNSHARE_RANGE = 0x40 FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 FD_CLOEXEC = 0x1 FD_SETSIZE = 0x400 FF0 = 0x0 FF1 = 0x8000 FFDLY = 0x8000 FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 @@ -513,7 +643,7 @@ const ( FS_POLICY_FLAGS_PAD_4 = 0x0 FS_POLICY_FLAGS_PAD_8 = 0x1 FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 FUTEXFS_SUPER_MAGIC = 0xbad1dea F_ADD_SEALS = 0x409 F_DUPFD = 0x0 @@ -1004,6 +1134,15 @@ const ( MAP_STACK = 0x20000 MAP_SYNC = 0x80000 MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MCL_ONFAULT = 0x4 @@ -1132,7 +1271,7 @@ const ( NETLINK_UNUSED = 0x1 NETLINK_USERSOCK = 0x2 NETLINK_XFRM = 0x6 - NETNSA_MAX = 0x3 + NETNSA_MAX = 0x5 NETNSA_NSID_NOT_ASSIGNED = -0x1 NFNETLINK_V0 = 0x0 NFNLGRP_ACCT_QUOTA = 0x8 @@ -1396,6 +1535,12 @@ const ( PR_MCE_KILL_SET = 0x1 PR_MPX_DISABLE_MANAGEMENT = 0x2c PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 PR_SET_CHILD_SUBREAPER = 0x24 PR_SET_DUMPABLE = 0x4 PR_SET_ENDIAN = 0x14 @@ -1433,6 +1578,7 @@ const ( PR_SET_TSC = 0x1a PR_SET_UNALIGN = 0x6 PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 PR_SPEC_ENABLE = 0x2 PR_SPEC_FORCE_DISABLE = 0x8 PR_SPEC_INDIRECT_BRANCH = 0x1 @@ -1912,6 +2058,7 @@ const ( SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe @@ -1960,6 +2107,8 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x12 SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 @@ -1971,9 +2120,17 @@ const ( SO_SNDBUFFORCE = 0x20 SO_SNDLOWAT = 0x13 SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 SO_TIMESTAMP = 0x1d SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d SO_TXTIME = 0x3d SO_TYPE = 0x3 SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 @@ -2066,6 +2223,8 @@ const ( TCOFLUSH = 0x1 TCOOFF = 0x0 TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea TCP_CC_INFO = 0x1a TCP_CM_INQ = 0x24 TCP_CONGESTION = 0xd @@ -2239,6 +2398,7 @@ const ( TUNGETVNETBE = 0x800454df TUNGETVNETHDRSZ = 0x800454d7 TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 TUNSETDEBUG = 0x400454c9 TUNSETFILTEREBPF = 0x800454e1 TUNSETGROUP = 0x400454ce @@ -2266,8 +2426,10 @@ const ( UBI_IOCMKVOL = 0x40986f00 UBI_IOCRMVOL = 0x40046f01 UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 UBI_IOCRSVOL = 0x400c6f02 UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 UBI_IOCVOLCRBLK = 0x40804f07 UBI_IOCVOLRMBLK = 0x4f08 UBI_IOCVOLUP = 0x40084f00 @@ -2415,6 +2577,7 @@ const ( XDP_FLAGS_SKB_MODE = 0x2 XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 XDP_PGOFF_RX_RING = 0x0 XDP_PGOFF_TX_RING = 0x80000000 XDP_RX_RING = 0x2 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go index cf17c990..d47f3ba6 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go @@ -174,6 +174,7 @@ const ( B9600 = 0xd BALLOON_KVM_MAGIC = 0x13661366 BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 BINFMTFS_MAGIC = 0x42494e4d BLKBSZGET = 0x80081270 BLKBSZSET = 0x40081271 @@ -196,10 +197,59 @@ const ( BPF_ABS = 0x20 BPF_ADD = 0x0 BPF_ALU = 0x4 + BPF_ALU64 = 0x7 BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 BPF_H = 0x8 BPF_IMM = 0x0 BPF_IND = 0x40 @@ -207,8 +257,16 @@ const ( BPF_JEQ = 0x10 BPF_JGE = 0x30 BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 BPF_K = 0x0 BPF_LD = 0x0 BPF_LDX = 0x1 @@ -222,20 +280,33 @@ const ( BPF_MINOR_VERSION = 0x1 BPF_MISC = 0x7 BPF_MOD = 0x90 + BPF_MOV = 0xb0 BPF_MSH = 0xa0 BPF_MUL = 0x20 BPF_NEG = 0x80 BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 BPF_RET = 0x6 BPF_RSH = 0x70 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 BPF_ST = 0x2 BPF_STX = 0x3 BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 BPF_TXA = 0x80 BPF_W = 0x0 BPF_X = 0x8 + BPF_XADD = 0xc0 BPF_XOR = 0xa0 BRKINT = 0x2 BS0 = 0x0 @@ -319,6 +390,10 @@ const ( CRDLY = 0x600 CREAD = 0x80 CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 CS5 = 0x0 CS6 = 0x10 CS7 = 0x20 @@ -488,6 +563,60 @@ const ( FALLOC_FL_PUNCH_HOLE = 0x2 FALLOC_FL_UNSHARE_RANGE = 0x40 FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 FD_CLOEXEC = 0x1 FD_SETSIZE = 0x400 FF0 = 0x0 @@ -495,6 +624,7 @@ const ( FFDLY = 0x8000 FLUSHO = 0x1000 FPSIMD_MAGIC = 0x46508001 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 @@ -516,7 +646,7 @@ const ( FS_POLICY_FLAGS_PAD_4 = 0x0 FS_POLICY_FLAGS_PAD_8 = 0x1 FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 FUTEXFS_SUPER_MAGIC = 0xbad1dea F_ADD_SEALS = 0x409 F_DUPFD = 0x0 @@ -1007,6 +1137,15 @@ const ( MAP_STACK = 0x20000 MAP_SYNC = 0x80000 MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MCL_ONFAULT = 0x4 @@ -1135,7 +1274,7 @@ const ( NETLINK_UNUSED = 0x1 NETLINK_USERSOCK = 0x2 NETLINK_XFRM = 0x6 - NETNSA_MAX = 0x3 + NETNSA_MAX = 0x5 NETNSA_NSID_NOT_ASSIGNED = -0x1 NFNETLINK_V0 = 0x0 NFNLGRP_ACCT_QUOTA = 0x8 @@ -1399,6 +1538,12 @@ const ( PR_MCE_KILL_SET = 0x1 PR_MPX_DISABLE_MANAGEMENT = 0x2c PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 PR_SET_CHILD_SUBREAPER = 0x24 PR_SET_DUMPABLE = 0x4 PR_SET_ENDIAN = 0x14 @@ -1436,6 +1581,7 @@ const ( PR_SET_TSC = 0x1a PR_SET_UNALIGN = 0x6 PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 PR_SPEC_ENABLE = 0x2 PR_SPEC_FORCE_DISABLE = 0x8 PR_SPEC_INDIRECT_BRANCH = 0x1 @@ -1896,6 +2042,7 @@ const ( SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe @@ -1944,6 +2091,8 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x12 SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 @@ -1955,9 +2104,17 @@ const ( SO_SNDBUFFORCE = 0x20 SO_SNDLOWAT = 0x13 SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 SO_TIMESTAMP = 0x1d SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d SO_TXTIME = 0x3d SO_TYPE = 0x3 SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 @@ -2051,6 +2208,8 @@ const ( TCOFLUSH = 0x1 TCOOFF = 0x0 TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea TCP_CC_INFO = 0x1a TCP_CM_INQ = 0x24 TCP_CONGESTION = 0xd @@ -2224,6 +2383,7 @@ const ( TUNGETVNETBE = 0x800454df TUNGETVNETHDRSZ = 0x800454d7 TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 TUNSETDEBUG = 0x400454c9 TUNSETFILTEREBPF = 0x800454e1 TUNSETGROUP = 0x400454ce @@ -2251,8 +2411,10 @@ const ( UBI_IOCMKVOL = 0x40986f00 UBI_IOCRMVOL = 0x40046f01 UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 UBI_IOCRSVOL = 0x400c6f02 UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 UBI_IOCVOLCRBLK = 0x40804f07 UBI_IOCVOLRMBLK = 0x4f08 UBI_IOCVOLUP = 0x40084f00 @@ -2400,6 +2562,7 @@ const ( XDP_FLAGS_SKB_MODE = 0x2 XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 XDP_PGOFF_RX_RING = 0x0 XDP_PGOFF_TX_RING = 0x80000000 XDP_RX_RING = 0x2 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go index 380913c4..0ae030ee 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go @@ -174,6 +174,7 @@ const ( B9600 = 0xd BALLOON_KVM_MAGIC = 0x13661366 BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 BINFMTFS_MAGIC = 0x42494e4d BLKBSZGET = 0x40041270 BLKBSZSET = 0x80041271 @@ -196,10 +197,59 @@ const ( BPF_ABS = 0x20 BPF_ADD = 0x0 BPF_ALU = 0x4 + BPF_ALU64 = 0x7 BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 BPF_H = 0x8 BPF_IMM = 0x0 BPF_IND = 0x40 @@ -207,8 +257,16 @@ const ( BPF_JEQ = 0x10 BPF_JGE = 0x30 BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 BPF_K = 0x0 BPF_LD = 0x0 BPF_LDX = 0x1 @@ -222,20 +280,33 @@ const ( BPF_MINOR_VERSION = 0x1 BPF_MISC = 0x7 BPF_MOD = 0x90 + BPF_MOV = 0xb0 BPF_MSH = 0xa0 BPF_MUL = 0x20 BPF_NEG = 0x80 BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 BPF_RET = 0x6 BPF_RSH = 0x70 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 BPF_ST = 0x2 BPF_STX = 0x3 BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 BPF_TXA = 0x80 BPF_W = 0x0 BPF_X = 0x8 + BPF_XADD = 0xc0 BPF_XOR = 0xa0 BRKINT = 0x2 BS0 = 0x0 @@ -319,6 +390,10 @@ const ( CRDLY = 0x600 CREAD = 0x80 CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 CS5 = 0x0 CS6 = 0x10 CS7 = 0x20 @@ -486,12 +561,67 @@ const ( FALLOC_FL_PUNCH_HOLE = 0x2 FALLOC_FL_UNSHARE_RANGE = 0x40 FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 FD_CLOEXEC = 0x1 FD_SETSIZE = 0x400 FF0 = 0x0 FF1 = 0x8000 FFDLY = 0x8000 FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 @@ -513,7 +643,7 @@ const ( FS_POLICY_FLAGS_PAD_4 = 0x0 FS_POLICY_FLAGS_PAD_8 = 0x1 FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 FUTEXFS_SUPER_MAGIC = 0xbad1dea F_ADD_SEALS = 0x409 F_DUPFD = 0x0 @@ -1004,6 +1134,15 @@ const ( MAP_SHARED_VALIDATE = 0x3 MAP_STACK = 0x40000 MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MCL_ONFAULT = 0x4 @@ -1132,7 +1271,7 @@ const ( NETLINK_UNUSED = 0x1 NETLINK_USERSOCK = 0x2 NETLINK_XFRM = 0x6 - NETNSA_MAX = 0x3 + NETNSA_MAX = 0x5 NETNSA_NSID_NOT_ASSIGNED = -0x1 NFNETLINK_V0 = 0x0 NFNLGRP_ACCT_QUOTA = 0x8 @@ -1396,6 +1535,12 @@ const ( PR_MCE_KILL_SET = 0x1 PR_MPX_DISABLE_MANAGEMENT = 0x2c PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 PR_SET_CHILD_SUBREAPER = 0x24 PR_SET_DUMPABLE = 0x4 PR_SET_ENDIAN = 0x14 @@ -1433,6 +1578,7 @@ const ( PR_SET_TSC = 0x1a PR_SET_UNALIGN = 0x6 PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 PR_SPEC_ENABLE = 0x2 PR_SPEC_FORCE_DISABLE = 0x8 PR_SPEC_INDIRECT_BRANCH = 0x1 @@ -1905,6 +2051,7 @@ const ( SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x20 SO_BSDCOMPAT = 0xe @@ -1953,6 +2100,8 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x1004 SO_RCVTIMEO = 0x1006 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x1006 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_RXQ_OVFL = 0x28 @@ -1964,10 +2113,18 @@ const ( SO_SNDBUFFORCE = 0x1f SO_SNDLOWAT = 0x1003 SO_SNDTIMEO = 0x1005 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x1005 SO_STYLE = 0x1008 SO_TIMESTAMP = 0x1d SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d SO_TXTIME = 0x3d SO_TYPE = 0x1008 SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 @@ -2059,6 +2216,8 @@ const ( TCOFLUSH = 0x1 TCOOFF = 0x0 TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea TCP_CC_INFO = 0x1a TCP_CM_INQ = 0x24 TCP_CONGESTION = 0xd @@ -2234,6 +2393,7 @@ const ( TUNGETVNETBE = 0x400454df TUNGETVNETHDRSZ = 0x400454d7 TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 TUNSETDEBUG = 0x800454c9 TUNSETFILTEREBPF = 0x400454e1 TUNSETGROUP = 0x800454ce @@ -2261,8 +2421,10 @@ const ( UBI_IOCMKVOL = 0x80986f00 UBI_IOCRMVOL = 0x80046f01 UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 UBI_IOCRSVOL = 0x800c6f02 UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 UBI_IOCVOLCRBLK = 0x80804f07 UBI_IOCVOLRMBLK = 0x20004f08 UBI_IOCVOLUP = 0x80084f00 @@ -2411,6 +2573,7 @@ const ( XDP_FLAGS_SKB_MODE = 0x2 XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 XDP_PGOFF_RX_RING = 0x0 XDP_PGOFF_TX_RING = 0x80000000 XDP_RX_RING = 0x2 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go index fb82529a..91b49ddd 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go @@ -174,6 +174,7 @@ const ( B9600 = 0xd BALLOON_KVM_MAGIC = 0x13661366 BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 BINFMTFS_MAGIC = 0x42494e4d BLKBSZGET = 0x40081270 BLKBSZSET = 0x80081271 @@ -196,10 +197,59 @@ const ( BPF_ABS = 0x20 BPF_ADD = 0x0 BPF_ALU = 0x4 + BPF_ALU64 = 0x7 BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 BPF_H = 0x8 BPF_IMM = 0x0 BPF_IND = 0x40 @@ -207,8 +257,16 @@ const ( BPF_JEQ = 0x10 BPF_JGE = 0x30 BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 BPF_K = 0x0 BPF_LD = 0x0 BPF_LDX = 0x1 @@ -222,20 +280,33 @@ const ( BPF_MINOR_VERSION = 0x1 BPF_MISC = 0x7 BPF_MOD = 0x90 + BPF_MOV = 0xb0 BPF_MSH = 0xa0 BPF_MUL = 0x20 BPF_NEG = 0x80 BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 BPF_RET = 0x6 BPF_RSH = 0x70 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 BPF_ST = 0x2 BPF_STX = 0x3 BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 BPF_TXA = 0x80 BPF_W = 0x0 BPF_X = 0x8 + BPF_XADD = 0xc0 BPF_XOR = 0xa0 BRKINT = 0x2 BS0 = 0x0 @@ -319,6 +390,10 @@ const ( CRDLY = 0x600 CREAD = 0x80 CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 CS5 = 0x0 CS6 = 0x10 CS7 = 0x20 @@ -486,12 +561,67 @@ const ( FALLOC_FL_PUNCH_HOLE = 0x2 FALLOC_FL_UNSHARE_RANGE = 0x40 FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 FD_CLOEXEC = 0x1 FD_SETSIZE = 0x400 FF0 = 0x0 FF1 = 0x8000 FFDLY = 0x8000 FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 @@ -513,7 +643,7 @@ const ( FS_POLICY_FLAGS_PAD_4 = 0x0 FS_POLICY_FLAGS_PAD_8 = 0x1 FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 FUTEXFS_SUPER_MAGIC = 0xbad1dea F_ADD_SEALS = 0x409 F_DUPFD = 0x0 @@ -1004,6 +1134,15 @@ const ( MAP_SHARED_VALIDATE = 0x3 MAP_STACK = 0x40000 MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MCL_ONFAULT = 0x4 @@ -1132,7 +1271,7 @@ const ( NETLINK_UNUSED = 0x1 NETLINK_USERSOCK = 0x2 NETLINK_XFRM = 0x6 - NETNSA_MAX = 0x3 + NETNSA_MAX = 0x5 NETNSA_NSID_NOT_ASSIGNED = -0x1 NFNETLINK_V0 = 0x0 NFNLGRP_ACCT_QUOTA = 0x8 @@ -1396,6 +1535,12 @@ const ( PR_MCE_KILL_SET = 0x1 PR_MPX_DISABLE_MANAGEMENT = 0x2c PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 PR_SET_CHILD_SUBREAPER = 0x24 PR_SET_DUMPABLE = 0x4 PR_SET_ENDIAN = 0x14 @@ -1433,6 +1578,7 @@ const ( PR_SET_TSC = 0x1a PR_SET_UNALIGN = 0x6 PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 PR_SPEC_ENABLE = 0x2 PR_SPEC_FORCE_DISABLE = 0x8 PR_SPEC_INDIRECT_BRANCH = 0x1 @@ -1905,6 +2051,7 @@ const ( SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x20 SO_BSDCOMPAT = 0xe @@ -1953,6 +2100,8 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x1004 SO_RCVTIMEO = 0x1006 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x1006 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_RXQ_OVFL = 0x28 @@ -1964,10 +2113,18 @@ const ( SO_SNDBUFFORCE = 0x1f SO_SNDLOWAT = 0x1003 SO_SNDTIMEO = 0x1005 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x1005 SO_STYLE = 0x1008 SO_TIMESTAMP = 0x1d SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d SO_TXTIME = 0x3d SO_TYPE = 0x1008 SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 @@ -2059,6 +2216,8 @@ const ( TCOFLUSH = 0x1 TCOOFF = 0x0 TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea TCP_CC_INFO = 0x1a TCP_CM_INQ = 0x24 TCP_CONGESTION = 0xd @@ -2234,6 +2393,7 @@ const ( TUNGETVNETBE = 0x400454df TUNGETVNETHDRSZ = 0x400454d7 TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 TUNSETDEBUG = 0x800454c9 TUNSETFILTEREBPF = 0x400454e1 TUNSETGROUP = 0x800454ce @@ -2261,8 +2421,10 @@ const ( UBI_IOCMKVOL = 0x80986f00 UBI_IOCRMVOL = 0x80046f01 UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 UBI_IOCRSVOL = 0x800c6f02 UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 UBI_IOCVOLCRBLK = 0x80804f07 UBI_IOCVOLRMBLK = 0x20004f08 UBI_IOCVOLUP = 0x80084f00 @@ -2411,6 +2573,7 @@ const ( XDP_FLAGS_SKB_MODE = 0x2 XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 XDP_PGOFF_RX_RING = 0x0 XDP_PGOFF_TX_RING = 0x80000000 XDP_RX_RING = 0x2 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go index 677d9045..7f1ef04e 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go @@ -174,6 +174,7 @@ const ( B9600 = 0xd BALLOON_KVM_MAGIC = 0x13661366 BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 BINFMTFS_MAGIC = 0x42494e4d BLKBSZGET = 0x40081270 BLKBSZSET = 0x80081271 @@ -196,10 +197,59 @@ const ( BPF_ABS = 0x20 BPF_ADD = 0x0 BPF_ALU = 0x4 + BPF_ALU64 = 0x7 BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 BPF_H = 0x8 BPF_IMM = 0x0 BPF_IND = 0x40 @@ -207,8 +257,16 @@ const ( BPF_JEQ = 0x10 BPF_JGE = 0x30 BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 BPF_K = 0x0 BPF_LD = 0x0 BPF_LDX = 0x1 @@ -222,20 +280,33 @@ const ( BPF_MINOR_VERSION = 0x1 BPF_MISC = 0x7 BPF_MOD = 0x90 + BPF_MOV = 0xb0 BPF_MSH = 0xa0 BPF_MUL = 0x20 BPF_NEG = 0x80 BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 BPF_RET = 0x6 BPF_RSH = 0x70 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 BPF_ST = 0x2 BPF_STX = 0x3 BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 BPF_TXA = 0x80 BPF_W = 0x0 BPF_X = 0x8 + BPF_XADD = 0xc0 BPF_XOR = 0xa0 BRKINT = 0x2 BS0 = 0x0 @@ -319,6 +390,10 @@ const ( CRDLY = 0x600 CREAD = 0x80 CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 CS5 = 0x0 CS6 = 0x10 CS7 = 0x20 @@ -486,12 +561,67 @@ const ( FALLOC_FL_PUNCH_HOLE = 0x2 FALLOC_FL_UNSHARE_RANGE = 0x40 FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 FD_CLOEXEC = 0x1 FD_SETSIZE = 0x400 FF0 = 0x0 FF1 = 0x8000 FFDLY = 0x8000 FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 @@ -513,7 +643,7 @@ const ( FS_POLICY_FLAGS_PAD_4 = 0x0 FS_POLICY_FLAGS_PAD_8 = 0x1 FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 FUTEXFS_SUPER_MAGIC = 0xbad1dea F_ADD_SEALS = 0x409 F_DUPFD = 0x0 @@ -1004,6 +1134,15 @@ const ( MAP_SHARED_VALIDATE = 0x3 MAP_STACK = 0x40000 MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MCL_ONFAULT = 0x4 @@ -1132,7 +1271,7 @@ const ( NETLINK_UNUSED = 0x1 NETLINK_USERSOCK = 0x2 NETLINK_XFRM = 0x6 - NETNSA_MAX = 0x3 + NETNSA_MAX = 0x5 NETNSA_NSID_NOT_ASSIGNED = -0x1 NFNETLINK_V0 = 0x0 NFNLGRP_ACCT_QUOTA = 0x8 @@ -1396,6 +1535,12 @@ const ( PR_MCE_KILL_SET = 0x1 PR_MPX_DISABLE_MANAGEMENT = 0x2c PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 PR_SET_CHILD_SUBREAPER = 0x24 PR_SET_DUMPABLE = 0x4 PR_SET_ENDIAN = 0x14 @@ -1433,6 +1578,7 @@ const ( PR_SET_TSC = 0x1a PR_SET_UNALIGN = 0x6 PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 PR_SPEC_ENABLE = 0x2 PR_SPEC_FORCE_DISABLE = 0x8 PR_SPEC_INDIRECT_BRANCH = 0x1 @@ -1905,6 +2051,7 @@ const ( SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x20 SO_BSDCOMPAT = 0xe @@ -1953,6 +2100,8 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x1004 SO_RCVTIMEO = 0x1006 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x1006 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_RXQ_OVFL = 0x28 @@ -1964,10 +2113,18 @@ const ( SO_SNDBUFFORCE = 0x1f SO_SNDLOWAT = 0x1003 SO_SNDTIMEO = 0x1005 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x1005 SO_STYLE = 0x1008 SO_TIMESTAMP = 0x1d SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d SO_TXTIME = 0x3d SO_TYPE = 0x1008 SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 @@ -2059,6 +2216,8 @@ const ( TCOFLUSH = 0x1 TCOOFF = 0x0 TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea TCP_CC_INFO = 0x1a TCP_CM_INQ = 0x24 TCP_CONGESTION = 0xd @@ -2234,6 +2393,7 @@ const ( TUNGETVNETBE = 0x400454df TUNGETVNETHDRSZ = 0x400454d7 TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 TUNSETDEBUG = 0x800454c9 TUNSETFILTEREBPF = 0x400454e1 TUNSETGROUP = 0x800454ce @@ -2261,8 +2421,10 @@ const ( UBI_IOCMKVOL = 0x80986f00 UBI_IOCRMVOL = 0x80046f01 UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 UBI_IOCRSVOL = 0x800c6f02 UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 UBI_IOCVOLCRBLK = 0x80804f07 UBI_IOCVOLRMBLK = 0x20004f08 UBI_IOCVOLUP = 0x80084f00 @@ -2411,6 +2573,7 @@ const ( XDP_FLAGS_SKB_MODE = 0x2 XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 XDP_PGOFF_RX_RING = 0x0 XDP_PGOFF_TX_RING = 0x80000000 XDP_RX_RING = 0x2 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go index 7ddd09d7..724a244f 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go @@ -174,6 +174,7 @@ const ( B9600 = 0xd BALLOON_KVM_MAGIC = 0x13661366 BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 BINFMTFS_MAGIC = 0x42494e4d BLKBSZGET = 0x40041270 BLKBSZSET = 0x80041271 @@ -196,10 +197,59 @@ const ( BPF_ABS = 0x20 BPF_ADD = 0x0 BPF_ALU = 0x4 + BPF_ALU64 = 0x7 BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 BPF_H = 0x8 BPF_IMM = 0x0 BPF_IND = 0x40 @@ -207,8 +257,16 @@ const ( BPF_JEQ = 0x10 BPF_JGE = 0x30 BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 BPF_K = 0x0 BPF_LD = 0x0 BPF_LDX = 0x1 @@ -222,20 +280,33 @@ const ( BPF_MINOR_VERSION = 0x1 BPF_MISC = 0x7 BPF_MOD = 0x90 + BPF_MOV = 0xb0 BPF_MSH = 0xa0 BPF_MUL = 0x20 BPF_NEG = 0x80 BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 BPF_RET = 0x6 BPF_RSH = 0x70 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 BPF_ST = 0x2 BPF_STX = 0x3 BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 BPF_TXA = 0x80 BPF_W = 0x0 BPF_X = 0x8 + BPF_XADD = 0xc0 BPF_XOR = 0xa0 BRKINT = 0x2 BS0 = 0x0 @@ -319,6 +390,10 @@ const ( CRDLY = 0x600 CREAD = 0x80 CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 CS5 = 0x0 CS6 = 0x10 CS7 = 0x20 @@ -486,12 +561,67 @@ const ( FALLOC_FL_PUNCH_HOLE = 0x2 FALLOC_FL_UNSHARE_RANGE = 0x40 FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 FD_CLOEXEC = 0x1 FD_SETSIZE = 0x400 FF0 = 0x0 FF1 = 0x8000 FFDLY = 0x8000 FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 @@ -513,7 +643,7 @@ const ( FS_POLICY_FLAGS_PAD_4 = 0x0 FS_POLICY_FLAGS_PAD_8 = 0x1 FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 FUTEXFS_SUPER_MAGIC = 0xbad1dea F_ADD_SEALS = 0x409 F_DUPFD = 0x0 @@ -1004,6 +1134,15 @@ const ( MAP_SHARED_VALIDATE = 0x3 MAP_STACK = 0x40000 MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MCL_ONFAULT = 0x4 @@ -1132,7 +1271,7 @@ const ( NETLINK_UNUSED = 0x1 NETLINK_USERSOCK = 0x2 NETLINK_XFRM = 0x6 - NETNSA_MAX = 0x3 + NETNSA_MAX = 0x5 NETNSA_NSID_NOT_ASSIGNED = -0x1 NFNETLINK_V0 = 0x0 NFNLGRP_ACCT_QUOTA = 0x8 @@ -1396,6 +1535,12 @@ const ( PR_MCE_KILL_SET = 0x1 PR_MPX_DISABLE_MANAGEMENT = 0x2c PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 PR_SET_CHILD_SUBREAPER = 0x24 PR_SET_DUMPABLE = 0x4 PR_SET_ENDIAN = 0x14 @@ -1433,6 +1578,7 @@ const ( PR_SET_TSC = 0x1a PR_SET_UNALIGN = 0x6 PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 PR_SPEC_ENABLE = 0x2 PR_SPEC_FORCE_DISABLE = 0x8 PR_SPEC_INDIRECT_BRANCH = 0x1 @@ -1905,6 +2051,7 @@ const ( SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x20 SO_BSDCOMPAT = 0xe @@ -1953,6 +2100,8 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x1004 SO_RCVTIMEO = 0x1006 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x1006 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_RXQ_OVFL = 0x28 @@ -1964,10 +2113,18 @@ const ( SO_SNDBUFFORCE = 0x1f SO_SNDLOWAT = 0x1003 SO_SNDTIMEO = 0x1005 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x1005 SO_STYLE = 0x1008 SO_TIMESTAMP = 0x1d SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d SO_TXTIME = 0x3d SO_TYPE = 0x1008 SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 @@ -2059,6 +2216,8 @@ const ( TCOFLUSH = 0x1 TCOOFF = 0x0 TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea TCP_CC_INFO = 0x1a TCP_CM_INQ = 0x24 TCP_CONGESTION = 0xd @@ -2234,6 +2393,7 @@ const ( TUNGETVNETBE = 0x400454df TUNGETVNETHDRSZ = 0x400454d7 TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 TUNSETDEBUG = 0x800454c9 TUNSETFILTEREBPF = 0x400454e1 TUNSETGROUP = 0x800454ce @@ -2261,8 +2421,10 @@ const ( UBI_IOCMKVOL = 0x80986f00 UBI_IOCRMVOL = 0x80046f01 UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 UBI_IOCRSVOL = 0x800c6f02 UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 UBI_IOCVOLCRBLK = 0x80804f07 UBI_IOCVOLRMBLK = 0x20004f08 UBI_IOCVOLUP = 0x80084f00 @@ -2411,6 +2573,7 @@ const ( XDP_FLAGS_SKB_MODE = 0x2 XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 XDP_PGOFF_RX_RING = 0x0 XDP_PGOFF_TX_RING = 0x80000000 XDP_RX_RING = 0x2 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go index ebaca417..25044629 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go @@ -174,6 +174,7 @@ const ( B9600 = 0xd BALLOON_KVM_MAGIC = 0x13661366 BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 BINFMTFS_MAGIC = 0x42494e4d BLKBSZGET = 0x40081270 BLKBSZSET = 0x80081271 @@ -196,10 +197,59 @@ const ( BPF_ABS = 0x20 BPF_ADD = 0x0 BPF_ALU = 0x4 + BPF_ALU64 = 0x7 BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 BPF_H = 0x8 BPF_IMM = 0x0 BPF_IND = 0x40 @@ -207,8 +257,16 @@ const ( BPF_JEQ = 0x10 BPF_JGE = 0x30 BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 BPF_K = 0x0 BPF_LD = 0x0 BPF_LDX = 0x1 @@ -222,20 +280,33 @@ const ( BPF_MINOR_VERSION = 0x1 BPF_MISC = 0x7 BPF_MOD = 0x90 + BPF_MOV = 0xb0 BPF_MSH = 0xa0 BPF_MUL = 0x20 BPF_NEG = 0x80 BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 BPF_RET = 0x6 BPF_RSH = 0x70 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 BPF_ST = 0x2 BPF_STX = 0x3 BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 BPF_TXA = 0x80 BPF_W = 0x0 BPF_X = 0x8 + BPF_XADD = 0xc0 BPF_XOR = 0xa0 BRKINT = 0x2 BS0 = 0x0 @@ -319,6 +390,10 @@ const ( CRDLY = 0x3000 CREAD = 0x800 CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 CS5 = 0x0 CS6 = 0x100 CS7 = 0x200 @@ -486,12 +561,67 @@ const ( FALLOC_FL_PUNCH_HOLE = 0x2 FALLOC_FL_UNSHARE_RANGE = 0x40 FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 FD_CLOEXEC = 0x1 FD_SETSIZE = 0x400 FF0 = 0x0 FF1 = 0x4000 FFDLY = 0x4000 FLUSHO = 0x800000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 @@ -513,7 +643,7 @@ const ( FS_POLICY_FLAGS_PAD_4 = 0x0 FS_POLICY_FLAGS_PAD_8 = 0x1 FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 FUTEXFS_SUPER_MAGIC = 0xbad1dea F_ADD_SEALS = 0x409 F_DUPFD = 0x0 @@ -1003,6 +1133,15 @@ const ( MAP_SHARED_VALIDATE = 0x3 MAP_STACK = 0x20000 MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c MCL_CURRENT = 0x2000 MCL_FUTURE = 0x4000 MCL_ONFAULT = 0x8000 @@ -1131,7 +1270,7 @@ const ( NETLINK_UNUSED = 0x1 NETLINK_USERSOCK = 0x2 NETLINK_XFRM = 0x6 - NETNSA_MAX = 0x3 + NETNSA_MAX = 0x5 NETNSA_NSID_NOT_ASSIGNED = -0x1 NFNETLINK_V0 = 0x0 NFNLGRP_ACCT_QUOTA = 0x8 @@ -1398,6 +1537,12 @@ const ( PR_MCE_KILL_SET = 0x1 PR_MPX_DISABLE_MANAGEMENT = 0x2c PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 PR_SET_CHILD_SUBREAPER = 0x24 PR_SET_DUMPABLE = 0x4 PR_SET_ENDIAN = 0x14 @@ -1435,6 +1580,7 @@ const ( PR_SET_TSC = 0x1a PR_SET_UNALIGN = 0x6 PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 PR_SPEC_ENABLE = 0x2 PR_SPEC_FORCE_DISABLE = 0x8 PR_SPEC_INDIRECT_BRANCH = 0x1 @@ -1963,6 +2109,7 @@ const ( SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe @@ -2011,6 +2158,8 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x10 SO_RCVTIMEO = 0x12 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x12 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 @@ -2022,9 +2171,17 @@ const ( SO_SNDBUFFORCE = 0x20 SO_SNDLOWAT = 0x11 SO_SNDTIMEO = 0x13 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x13 SO_TIMESTAMP = 0x1d SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d SO_TXTIME = 0x3d SO_TYPE = 0x3 SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 @@ -2115,6 +2272,8 @@ const ( TCOFLUSH = 0x1 TCOOFF = 0x0 TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea TCP_CC_INFO = 0x1a TCP_CM_INQ = 0x24 TCP_CONGESTION = 0xd @@ -2294,6 +2453,7 @@ const ( TUNGETVNETBE = 0x400454df TUNGETVNETHDRSZ = 0x400454d7 TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 TUNSETDEBUG = 0x800454c9 TUNSETFILTEREBPF = 0x400454e1 TUNSETGROUP = 0x800454ce @@ -2321,8 +2481,10 @@ const ( UBI_IOCMKVOL = 0x80986f00 UBI_IOCRMVOL = 0x80046f01 UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 UBI_IOCRSVOL = 0x800c6f02 UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 UBI_IOCVOLCRBLK = 0x80804f07 UBI_IOCVOLRMBLK = 0x20004f08 UBI_IOCVOLUP = 0x80084f00 @@ -2470,6 +2632,7 @@ const ( XDP_FLAGS_SKB_MODE = 0x2 XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 XDP_PGOFF_RX_RING = 0x0 XDP_PGOFF_TX_RING = 0x80000000 XDP_RX_RING = 0x2 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go index 02938cb6..e7c49911 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go @@ -174,6 +174,7 @@ const ( B9600 = 0xd BALLOON_KVM_MAGIC = 0x13661366 BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 BINFMTFS_MAGIC = 0x42494e4d BLKBSZGET = 0x40081270 BLKBSZSET = 0x80081271 @@ -196,10 +197,59 @@ const ( BPF_ABS = 0x20 BPF_ADD = 0x0 BPF_ALU = 0x4 + BPF_ALU64 = 0x7 BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 BPF_H = 0x8 BPF_IMM = 0x0 BPF_IND = 0x40 @@ -207,8 +257,16 @@ const ( BPF_JEQ = 0x10 BPF_JGE = 0x30 BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 BPF_K = 0x0 BPF_LD = 0x0 BPF_LDX = 0x1 @@ -222,20 +280,33 @@ const ( BPF_MINOR_VERSION = 0x1 BPF_MISC = 0x7 BPF_MOD = 0x90 + BPF_MOV = 0xb0 BPF_MSH = 0xa0 BPF_MUL = 0x20 BPF_NEG = 0x80 BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 BPF_RET = 0x6 BPF_RSH = 0x70 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 BPF_ST = 0x2 BPF_STX = 0x3 BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 BPF_TXA = 0x80 BPF_W = 0x0 BPF_X = 0x8 + BPF_XADD = 0xc0 BPF_XOR = 0xa0 BRKINT = 0x2 BS0 = 0x0 @@ -319,6 +390,10 @@ const ( CRDLY = 0x3000 CREAD = 0x800 CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 CS5 = 0x0 CS6 = 0x100 CS7 = 0x200 @@ -486,12 +561,67 @@ const ( FALLOC_FL_PUNCH_HOLE = 0x2 FALLOC_FL_UNSHARE_RANGE = 0x40 FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 FD_CLOEXEC = 0x1 FD_SETSIZE = 0x400 FF0 = 0x0 FF1 = 0x4000 FFDLY = 0x4000 FLUSHO = 0x800000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 @@ -513,7 +643,7 @@ const ( FS_POLICY_FLAGS_PAD_4 = 0x0 FS_POLICY_FLAGS_PAD_8 = 0x1 FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 FUTEXFS_SUPER_MAGIC = 0xbad1dea F_ADD_SEALS = 0x409 F_DUPFD = 0x0 @@ -1003,6 +1133,15 @@ const ( MAP_SHARED_VALIDATE = 0x3 MAP_STACK = 0x20000 MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c MCL_CURRENT = 0x2000 MCL_FUTURE = 0x4000 MCL_ONFAULT = 0x8000 @@ -1131,7 +1270,7 @@ const ( NETLINK_UNUSED = 0x1 NETLINK_USERSOCK = 0x2 NETLINK_XFRM = 0x6 - NETNSA_MAX = 0x3 + NETNSA_MAX = 0x5 NETNSA_NSID_NOT_ASSIGNED = -0x1 NFNETLINK_V0 = 0x0 NFNLGRP_ACCT_QUOTA = 0x8 @@ -1398,6 +1537,12 @@ const ( PR_MCE_KILL_SET = 0x1 PR_MPX_DISABLE_MANAGEMENT = 0x2c PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 PR_SET_CHILD_SUBREAPER = 0x24 PR_SET_DUMPABLE = 0x4 PR_SET_ENDIAN = 0x14 @@ -1435,6 +1580,7 @@ const ( PR_SET_TSC = 0x1a PR_SET_UNALIGN = 0x6 PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 PR_SPEC_ENABLE = 0x2 PR_SPEC_FORCE_DISABLE = 0x8 PR_SPEC_INDIRECT_BRANCH = 0x1 @@ -1963,6 +2109,7 @@ const ( SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe @@ -2011,6 +2158,8 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x10 SO_RCVTIMEO = 0x12 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x12 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 @@ -2022,9 +2171,17 @@ const ( SO_SNDBUFFORCE = 0x20 SO_SNDLOWAT = 0x11 SO_SNDTIMEO = 0x13 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x13 SO_TIMESTAMP = 0x1d SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d SO_TXTIME = 0x3d SO_TYPE = 0x3 SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 @@ -2115,6 +2272,8 @@ const ( TCOFLUSH = 0x1 TCOOFF = 0x0 TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea TCP_CC_INFO = 0x1a TCP_CM_INQ = 0x24 TCP_CONGESTION = 0xd @@ -2294,6 +2453,7 @@ const ( TUNGETVNETBE = 0x400454df TUNGETVNETHDRSZ = 0x400454d7 TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 TUNSETDEBUG = 0x800454c9 TUNSETFILTEREBPF = 0x400454e1 TUNSETGROUP = 0x800454ce @@ -2321,8 +2481,10 @@ const ( UBI_IOCMKVOL = 0x80986f00 UBI_IOCRMVOL = 0x80046f01 UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 UBI_IOCRSVOL = 0x800c6f02 UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 UBI_IOCVOLCRBLK = 0x80804f07 UBI_IOCVOLRMBLK = 0x20004f08 UBI_IOCVOLUP = 0x80084f00 @@ -2470,6 +2632,7 @@ const ( XDP_FLAGS_SKB_MODE = 0x2 XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 XDP_PGOFF_RX_RING = 0x0 XDP_PGOFF_TX_RING = 0x80000000 XDP_RX_RING = 0x2 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go index 5aea4b90..0373d65a 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go @@ -174,6 +174,7 @@ const ( B9600 = 0xd BALLOON_KVM_MAGIC = 0x13661366 BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 BINFMTFS_MAGIC = 0x42494e4d BLKBSZGET = 0x80081270 BLKBSZSET = 0x40081271 @@ -196,10 +197,59 @@ const ( BPF_ABS = 0x20 BPF_ADD = 0x0 BPF_ALU = 0x4 + BPF_ALU64 = 0x7 BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 BPF_H = 0x8 BPF_IMM = 0x0 BPF_IND = 0x40 @@ -207,8 +257,16 @@ const ( BPF_JEQ = 0x10 BPF_JGE = 0x30 BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 BPF_K = 0x0 BPF_LD = 0x0 BPF_LDX = 0x1 @@ -222,20 +280,33 @@ const ( BPF_MINOR_VERSION = 0x1 BPF_MISC = 0x7 BPF_MOD = 0x90 + BPF_MOV = 0xb0 BPF_MSH = 0xa0 BPF_MUL = 0x20 BPF_NEG = 0x80 BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 BPF_RET = 0x6 BPF_RSH = 0x70 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 BPF_ST = 0x2 BPF_STX = 0x3 BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 BPF_TXA = 0x80 BPF_W = 0x0 BPF_X = 0x8 + BPF_XADD = 0xc0 BPF_XOR = 0xa0 BRKINT = 0x2 BS0 = 0x0 @@ -319,6 +390,10 @@ const ( CRDLY = 0x600 CREAD = 0x80 CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 CS5 = 0x0 CS6 = 0x10 CS7 = 0x20 @@ -486,12 +561,67 @@ const ( FALLOC_FL_PUNCH_HOLE = 0x2 FALLOC_FL_UNSHARE_RANGE = 0x40 FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 FD_CLOEXEC = 0x1 FD_SETSIZE = 0x400 FF0 = 0x0 FF1 = 0x8000 FFDLY = 0x8000 FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 @@ -513,7 +643,7 @@ const ( FS_POLICY_FLAGS_PAD_4 = 0x0 FS_POLICY_FLAGS_PAD_8 = 0x1 FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 FUTEXFS_SUPER_MAGIC = 0xbad1dea F_ADD_SEALS = 0x409 F_DUPFD = 0x0 @@ -1004,6 +1134,15 @@ const ( MAP_STACK = 0x20000 MAP_SYNC = 0x80000 MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MCL_ONFAULT = 0x4 @@ -1132,7 +1271,7 @@ const ( NETLINK_UNUSED = 0x1 NETLINK_USERSOCK = 0x2 NETLINK_XFRM = 0x6 - NETNSA_MAX = 0x3 + NETNSA_MAX = 0x5 NETNSA_NSID_NOT_ASSIGNED = -0x1 NFNETLINK_V0 = 0x0 NFNLGRP_ACCT_QUOTA = 0x8 @@ -1396,6 +1535,12 @@ const ( PR_MCE_KILL_SET = 0x1 PR_MPX_DISABLE_MANAGEMENT = 0x2c PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 PR_SET_CHILD_SUBREAPER = 0x24 PR_SET_DUMPABLE = 0x4 PR_SET_ENDIAN = 0x14 @@ -1433,6 +1578,7 @@ const ( PR_SET_TSC = 0x1a PR_SET_UNALIGN = 0x6 PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 PR_SPEC_ENABLE = 0x2 PR_SPEC_FORCE_DISABLE = 0x8 PR_SPEC_INDIRECT_BRANCH = 0x1 @@ -1893,6 +2039,7 @@ const ( SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe @@ -1941,6 +2088,8 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x12 SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 @@ -1952,9 +2101,17 @@ const ( SO_SNDBUFFORCE = 0x20 SO_SNDLOWAT = 0x13 SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 SO_TIMESTAMP = 0x1d SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d SO_TXTIME = 0x3d SO_TYPE = 0x3 SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 @@ -2047,6 +2204,8 @@ const ( TCOFLUSH = 0x1 TCOOFF = 0x0 TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea TCP_CC_INFO = 0x1a TCP_CM_INQ = 0x24 TCP_CONGESTION = 0xd @@ -2220,6 +2379,7 @@ const ( TUNGETVNETBE = 0x800454df TUNGETVNETHDRSZ = 0x800454d7 TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 TUNSETDEBUG = 0x400454c9 TUNSETFILTEREBPF = 0x800454e1 TUNSETGROUP = 0x400454ce @@ -2247,8 +2407,10 @@ const ( UBI_IOCMKVOL = 0x40986f00 UBI_IOCRMVOL = 0x40046f01 UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 UBI_IOCRSVOL = 0x400c6f02 UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 UBI_IOCVOLCRBLK = 0x40804f07 UBI_IOCVOLRMBLK = 0x4f08 UBI_IOCVOLUP = 0x40084f00 @@ -2396,6 +2558,7 @@ const ( XDP_FLAGS_SKB_MODE = 0x2 XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 XDP_PGOFF_RX_RING = 0x0 XDP_PGOFF_TX_RING = 0x80000000 XDP_RX_RING = 0x2 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go index 7f7c2e3e..b2ed7ee6 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go @@ -174,6 +174,7 @@ const ( B9600 = 0xd BALLOON_KVM_MAGIC = 0x13661366 BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 BINFMTFS_MAGIC = 0x42494e4d BLKBSZGET = 0x80081270 BLKBSZSET = 0x40081271 @@ -196,10 +197,59 @@ const ( BPF_ABS = 0x20 BPF_ADD = 0x0 BPF_ALU = 0x4 + BPF_ALU64 = 0x7 BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 BPF_H = 0x8 BPF_IMM = 0x0 BPF_IND = 0x40 @@ -207,8 +257,16 @@ const ( BPF_JEQ = 0x10 BPF_JGE = 0x30 BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 BPF_K = 0x0 BPF_LD = 0x0 BPF_LDX = 0x1 @@ -222,20 +280,33 @@ const ( BPF_MINOR_VERSION = 0x1 BPF_MISC = 0x7 BPF_MOD = 0x90 + BPF_MOV = 0xb0 BPF_MSH = 0xa0 BPF_MUL = 0x20 BPF_NEG = 0x80 BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 BPF_RET = 0x6 BPF_RSH = 0x70 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 BPF_ST = 0x2 BPF_STX = 0x3 BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 BPF_TXA = 0x80 BPF_W = 0x0 BPF_X = 0x8 + BPF_XADD = 0xc0 BPF_XOR = 0xa0 BRKINT = 0x2 BS0 = 0x0 @@ -319,6 +390,10 @@ const ( CRDLY = 0x600 CREAD = 0x80 CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 CS5 = 0x0 CS6 = 0x10 CS7 = 0x20 @@ -486,12 +561,67 @@ const ( FALLOC_FL_PUNCH_HOLE = 0x2 FALLOC_FL_UNSHARE_RANGE = 0x40 FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 FD_CLOEXEC = 0x1 FD_SETSIZE = 0x400 FF0 = 0x0 FF1 = 0x8000 FFDLY = 0x8000 FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 @@ -513,7 +643,7 @@ const ( FS_POLICY_FLAGS_PAD_4 = 0x0 FS_POLICY_FLAGS_PAD_8 = 0x1 FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 FUTEXFS_SUPER_MAGIC = 0xbad1dea F_ADD_SEALS = 0x409 F_DUPFD = 0x0 @@ -1004,6 +1134,15 @@ const ( MAP_STACK = 0x20000 MAP_SYNC = 0x80000 MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MCL_ONFAULT = 0x4 @@ -1132,7 +1271,7 @@ const ( NETLINK_UNUSED = 0x1 NETLINK_USERSOCK = 0x2 NETLINK_XFRM = 0x6 - NETNSA_MAX = 0x3 + NETNSA_MAX = 0x5 NETNSA_NSID_NOT_ASSIGNED = -0x1 NFNETLINK_V0 = 0x0 NFNLGRP_ACCT_QUOTA = 0x8 @@ -1396,6 +1535,12 @@ const ( PR_MCE_KILL_SET = 0x1 PR_MPX_DISABLE_MANAGEMENT = 0x2c PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 PR_SET_CHILD_SUBREAPER = 0x24 PR_SET_DUMPABLE = 0x4 PR_SET_ENDIAN = 0x14 @@ -1433,6 +1578,7 @@ const ( PR_SET_TSC = 0x1a PR_SET_UNALIGN = 0x6 PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 PR_SPEC_ENABLE = 0x2 PR_SPEC_FORCE_DISABLE = 0x8 PR_SPEC_INDIRECT_BRANCH = 0x1 @@ -1966,6 +2112,7 @@ const ( SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe @@ -2014,6 +2161,8 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x12 SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 @@ -2025,9 +2174,17 @@ const ( SO_SNDBUFFORCE = 0x20 SO_SNDLOWAT = 0x13 SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 SO_TIMESTAMP = 0x1d SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d SO_TXTIME = 0x3d SO_TYPE = 0x3 SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 @@ -2120,6 +2277,8 @@ const ( TCOFLUSH = 0x1 TCOOFF = 0x0 TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea TCP_CC_INFO = 0x1a TCP_CM_INQ = 0x24 TCP_CONGESTION = 0xd @@ -2293,6 +2452,7 @@ const ( TUNGETVNETBE = 0x800454df TUNGETVNETHDRSZ = 0x800454d7 TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 TUNSETDEBUG = 0x400454c9 TUNSETFILTEREBPF = 0x800454e1 TUNSETGROUP = 0x400454ce @@ -2320,8 +2480,10 @@ const ( UBI_IOCMKVOL = 0x40986f00 UBI_IOCRMVOL = 0x40046f01 UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 UBI_IOCRSVOL = 0x400c6f02 UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 UBI_IOCVOLCRBLK = 0x40804f07 UBI_IOCVOLRMBLK = 0x4f08 UBI_IOCVOLUP = 0x40084f00 @@ -2469,6 +2631,7 @@ const ( XDP_FLAGS_SKB_MODE = 0x2 XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 XDP_PGOFF_RX_RING = 0x0 XDP_PGOFF_TX_RING = 0x80000000 XDP_RX_RING = 0x2 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go index 968e21fd..58067c52 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go @@ -177,6 +177,7 @@ const ( B9600 = 0xd BALLOON_KVM_MAGIC = 0x13661366 BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 BINFMTFS_MAGIC = 0x42494e4d BLKBSZGET = 0x40081270 BLKBSZSET = 0x80081271 @@ -199,10 +200,59 @@ const ( BPF_ABS = 0x20 BPF_ADD = 0x0 BPF_ALU = 0x4 + BPF_ALU64 = 0x7 BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 BPF_H = 0x8 BPF_IMM = 0x0 BPF_IND = 0x40 @@ -210,8 +260,16 @@ const ( BPF_JEQ = 0x10 BPF_JGE = 0x30 BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 BPF_K = 0x0 BPF_LD = 0x0 BPF_LDX = 0x1 @@ -225,20 +283,33 @@ const ( BPF_MINOR_VERSION = 0x1 BPF_MISC = 0x7 BPF_MOD = 0x90 + BPF_MOV = 0xb0 BPF_MSH = 0xa0 BPF_MUL = 0x20 BPF_NEG = 0x80 BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 BPF_RET = 0x6 BPF_RSH = 0x70 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 BPF_ST = 0x2 BPF_STX = 0x3 BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 BPF_TXA = 0x80 BPF_W = 0x0 BPF_X = 0x8 + BPF_XADD = 0xc0 BPF_XOR = 0xa0 BRKINT = 0x2 BS0 = 0x0 @@ -322,6 +393,10 @@ const ( CRDLY = 0x600 CREAD = 0x80 CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 CS5 = 0x0 CS6 = 0x10 CS7 = 0x20 @@ -490,12 +565,67 @@ const ( FALLOC_FL_PUNCH_HOLE = 0x2 FALLOC_FL_UNSHARE_RANGE = 0x40 FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 FD_CLOEXEC = 0x1 FD_SETSIZE = 0x400 FF0 = 0x0 FF1 = 0x8000 FFDLY = 0x8000 FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 @@ -517,7 +647,7 @@ const ( FS_POLICY_FLAGS_PAD_4 = 0x0 FS_POLICY_FLAGS_PAD_8 = 0x1 FS_POLICY_FLAGS_PAD_MASK = 0x3 - FS_POLICY_FLAGS_VALID = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 FUTEXFS_SUPER_MAGIC = 0xbad1dea F_ADD_SEALS = 0x409 F_DUPFD = 0x0 @@ -1008,6 +1138,15 @@ const ( MAP_SHARED_VALIDATE = 0x3 MAP_STACK = 0x20000 MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c MCL_CURRENT = 0x2000 MCL_FUTURE = 0x4000 MCL_ONFAULT = 0x8000 @@ -1136,7 +1275,7 @@ const ( NETLINK_UNUSED = 0x1 NETLINK_USERSOCK = 0x2 NETLINK_XFRM = 0x6 - NETNSA_MAX = 0x3 + NETNSA_MAX = 0x5 NETNSA_NSID_NOT_ASSIGNED = -0x1 NFNETLINK_V0 = 0x0 NFNLGRP_ACCT_QUOTA = 0x8 @@ -1400,6 +1539,12 @@ const ( PR_MCE_KILL_SET = 0x1 PR_MPX_DISABLE_MANAGEMENT = 0x2c PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 PR_SET_CHILD_SUBREAPER = 0x24 PR_SET_DUMPABLE = 0x4 PR_SET_ENDIAN = 0x14 @@ -1437,6 +1582,7 @@ const ( PR_SET_TSC = 0x1a PR_SET_UNALIGN = 0x6 PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 PR_SPEC_ENABLE = 0x2 PR_SPEC_FORCE_DISABLE = 0x8 PR_SPEC_INDIRECT_BRANCH = 0x1 @@ -1958,6 +2104,7 @@ const ( SO_ATTACH_REUSEPORT_CBPF = 0x35 SO_ATTACH_REUSEPORT_EBPF = 0x36 SO_BINDTODEVICE = 0xd + SO_BINDTOIFINDEX = 0x41 SO_BPF_EXTENSIONS = 0x32 SO_BROADCAST = 0x20 SO_BSDCOMPAT = 0x400 @@ -2006,6 +2153,8 @@ const ( SO_RCVBUFFORCE = 0x100b SO_RCVLOWAT = 0x800 SO_RCVTIMEO = 0x2000 + SO_RCVTIMEO_NEW = 0x44 + SO_RCVTIMEO_OLD = 0x2000 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_RXQ_OVFL = 0x24 @@ -2017,9 +2166,17 @@ const ( SO_SNDBUFFORCE = 0x100a SO_SNDLOWAT = 0x1000 SO_SNDTIMEO = 0x4000 + SO_SNDTIMEO_NEW = 0x45 + SO_SNDTIMEO_OLD = 0x4000 SO_TIMESTAMP = 0x1d SO_TIMESTAMPING = 0x23 + SO_TIMESTAMPING_NEW = 0x43 + SO_TIMESTAMPING_OLD = 0x23 SO_TIMESTAMPNS = 0x21 + SO_TIMESTAMPNS_NEW = 0x42 + SO_TIMESTAMPNS_OLD = 0x21 + SO_TIMESTAMP_NEW = 0x46 + SO_TIMESTAMP_OLD = 0x1d SO_TXTIME = 0x3f SO_TYPE = 0x1008 SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 @@ -2111,6 +2268,8 @@ const ( TCOFLUSH = 0x1 TCOOFF = 0x0 TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea TCP_CC_INFO = 0x1a TCP_CM_INQ = 0x24 TCP_CONGESTION = 0xd @@ -2282,6 +2441,7 @@ const ( TUNGETVNETBE = 0x400454df TUNGETVNETHDRSZ = 0x400454d7 TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 TUNSETDEBUG = 0x800454c9 TUNSETFILTEREBPF = 0x400454e1 TUNSETGROUP = 0x800454ce @@ -2309,8 +2469,10 @@ const ( UBI_IOCMKVOL = 0x80986f00 UBI_IOCRMVOL = 0x80046f01 UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 UBI_IOCRSVOL = 0x800c6f02 UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 UBI_IOCVOLCRBLK = 0x80804f07 UBI_IOCVOLRMBLK = 0x20004f08 UBI_IOCVOLUP = 0x80084f00 @@ -2458,6 +2620,7 @@ const ( XDP_FLAGS_SKB_MODE = 0x2 XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 XDP_PGOFF_RX_RING = 0x0 XDP_PGOFF_TX_RING = 0x80000000 XDP_RX_RING = 0x2 diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go new file mode 100644 index 00000000..ec5f92de --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go @@ -0,0 +1,1789 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,openbsd + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BLUETOOTH = 0x20 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_ENCAP = 0x1c + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_KEY = 0x1e + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x1d + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x200 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRFILT = 0x4004427c + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc010427b + BIOCGETIF = 0x4020426b + BIOCGFILDROP = 0x40044278 + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044273 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x20004276 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDIRFILT = 0x8004427d + BIOCSDLT = 0x8004427a + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x80104277 + BIOCSFILDROP = 0x80044279 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044272 + BIOCSRTIMEOUT = 0x8010426d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIRECTION_IN = 0x1 + BPF_DIRECTION_OUT = 0x2 + BPF_DIV = 0x30 + BPF_FILDROP_CAPTURE = 0x1 + BPF_FILDROP_DROP = 0x2 + BPF_FILDROP_PASS = 0x0 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x200000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_BOOTTIME = 0x6 + CLOCK_MONOTONIC = 0x3 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x4 + CLOCK_UPTIME = 0x5 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DIOCOSFPFLUSH = 0x2000444e + DLT_ARCNET = 0x7 + DLT_ATM_RFC1483 = 0xb + DLT_AX25 = 0x3 + DLT_CHAOS = 0x5 + DLT_C_HDLC = 0x68 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0xd + DLT_FDDI = 0xa + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_LOOP = 0xc + DLT_MPLS = 0xdb + DLT_NULL = 0x0 + DLT_OPENFLOW = 0x10b + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_SERIAL = 0x32 + DLT_PRONET = 0x4 + DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_USBPCAP = 0xf9 + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMT_TAGOVF = 0x1 + EMUL_ENABLED = 0x1 + EMUL_NATIVE = 0x2 + ENDRUNDISC = 0x9 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_AOE = 0x88a2 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LLDP = 0x88cc + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PBB = 0x88e7 + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_QINQ = 0x88a8 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOW = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_ALIGN = 0x2 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_DIX_LEN = 0x600 + ETHER_MAX_HARDMTU_LEN = 0xff9b + ETHER_MAX_LEN = 0x5ee + ETHER_MIN_LEN = 0x40 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 + EVFILT_DEVICE = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x8 + EVFILT_TIMER = -0x7 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EVL_ENCAPLEN = 0x4 + EVL_PRIO_BITS = 0xd + EVL_PRIO_MAX = 0x7 + EVL_VLID_MASK = 0xfff + EVL_VLID_MAX = 0xffe + EVL_VLID_MIN = 0x1 + EVL_VLID_NULL = 0x0 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_ISATTY = 0xb + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x20 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf7 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DUMMY = 0xf1 + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf3 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MBIM = 0xfa + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf2 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_HOST = 0x1 + IN_RFC3021_NET = 0xfffffffe + IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x103 + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_AUTH_LEVEL = 0x35 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_ESP_NETWORK_LEVEL = 0x37 + IPV6_ESP_TRANS_LEVEL = 0x36 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MINHOPCOUNT = 0x41 + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_OPTIONS = 0x1 + IPV6_PATHMTU = 0x2c + IPV6_PIPEX = 0x3f + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVDSTPORT = 0x40 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTABLE = 0x1021 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_ESP_NETWORK_LEVEL = 0x16 + IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 + IP_IPCOMP_LEVEL = 0x1d + IP_IPDEFTTL = 0x25 + IP_IPSECFLOWINFO = 0x24 + IP_IPSEC_LOCAL_AUTH = 0x1b + IP_IPSEC_LOCAL_CRED = 0x19 + IP_IPSEC_LOCAL_ID = 0x17 + IP_IPSEC_REMOTE_AUTH = 0x1c + IP_IPSEC_REMOTE_CRED = 0x1a + IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0xfff + IP_MF = 0x2000 + IP_MINTTL = 0x20 + IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVDSTPORT = 0x21 + IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRTABLE = 0x23 + IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RTABLE = 0x1021 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IUCLC = 0x1000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_CONCEAL = 0x8000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FLAGMASK = 0xfff7 + MAP_HASSEMAPHORE = 0x0 + MAP_INHERIT = 0x0 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_INHERIT_ZERO = 0x3 + MAP_NOEXTEND = 0x0 + MAP_NORESERVE = 0x0 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x0 + MAP_SHARED = 0x1 + MAP_STACK = 0x4000 + MAP_TRYFIXED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_DOOMED = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_NOATIME = 0x8000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOPERM = 0x20 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x4000000 + MNT_STALLED = 0x100000 + MNT_SWAPPABLE = 0x200000 + MNT_SYNCHRONOUS = 0x2 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x400ffff + MNT_WAIT = 0x1 + MNT_WANTRDWR = 0x2000000 + MNT_WXALLOWED = 0x800 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_MCAST = 0x200 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x4 + MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFNAMES = 0x6 + NET_RT_MAXID = 0x7 + NET_RT_STATS = 0x4 + NET_RT_TABLE = 0x5 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHANGE = 0x1 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OLCUC = 0x20 + ONLCR = 0x2 + ONLRET = 0x80 + ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x10000 + O_CREAT = 0x200 + O_DIRECTORY = 0x20000 + O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x80 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BFD = 0xb + RTAX_BRD = 0x7 + RTAX_DNS = 0xc + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_LABEL = 0xa + RTAX_MAX = 0xf + RTAX_NETMASK = 0x2 + RTAX_SEARCH = 0xe + RTAX_SRC = 0x8 + RTAX_SRCMASK = 0x9 + RTAX_STATIC = 0xd + RTA_AUTHOR = 0x40 + RTA_BFD = 0x800 + RTA_BRD = 0x80 + RTA_DNS = 0x1000 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 + RTA_SEARCH = 0x4000 + RTA_SRC = 0x100 + RTA_SRCMASK = 0x200 + RTA_STATIC = 0x2000 + RTF_ANNOUNCE = 0x4000 + RTF_BFD = 0x1000000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CACHED = 0x20000 + RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 + RTF_CONNECTED = 0x800000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FMASK = 0x110fc08 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MPATH = 0x40000 + RTF_MPLS = 0x100000 + RTF_MULTICAST = 0x200 + RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_USETRAILERS = 0x8000 + RTM_80211INFO = 0x15 + RTM_ADD = 0x1 + RTM_BFD = 0x12 + RTM_CHANGE = 0x3 + RTM_CHGADDRATTR = 0x14 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DESYNC = 0x10 + RTM_GET = 0x4 + RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe + RTM_INVALIDATE = 0x11 + RTM_LOSING = 0x5 + RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_PROPOSAL = 0x13 + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_TABLEID_BITS = 0x8 + RT_TABLEID_MASK = 0xff + RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80286987 + SIOCATMARK = 0x40047307 + SIOCBRDGADD = 0x8060693c + SIOCBRDGADDL = 0x80606949 + SIOCBRDGADDS = 0x80606941 + SIOCBRDGARL = 0x808c694d + SIOCBRDGDADDR = 0x81286947 + SIOCBRDGDEL = 0x8060693d + SIOCBRDGDELS = 0x80606942 + SIOCBRDGFLUSH = 0x80606948 + SIOCBRDGFRL = 0x808c694e + SIOCBRDGGCACHE = 0xc0186941 + SIOCBRDGGFD = 0xc0186952 + SIOCBRDGGHT = 0xc0186951 + SIOCBRDGGIFFLGS = 0xc060693e + SIOCBRDGGMA = 0xc0186953 + SIOCBRDGGPARAM = 0xc0406958 + SIOCBRDGGPRI = 0xc0186950 + SIOCBRDGGRL = 0xc030694f + SIOCBRDGGTO = 0xc0186946 + SIOCBRDGIFS = 0xc0606942 + SIOCBRDGRTS = 0xc0206943 + SIOCBRDGSADDR = 0xc1286944 + SIOCBRDGSCACHE = 0x80186940 + SIOCBRDGSFD = 0x80186952 + SIOCBRDGSHT = 0x80186951 + SIOCBRDGSIFCOST = 0x80606955 + SIOCBRDGSIFFLGS = 0x8060693f + SIOCBRDGSIFPRIO = 0x80606954 + SIOCBRDGSIFPROT = 0x8060694a + SIOCBRDGSMA = 0x80186953 + SIOCBRDGSPRI = 0x80186950 + SIOCBRDGSPROTO = 0x8018695a + SIOCBRDGSTO = 0x80186945 + SIOCBRDGSTXHC = 0x80186959 + SIOCDELLABEL = 0x80206997 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80286989 + SIOCDIFPARENT = 0x802069b4 + SIOCDIFPHYADDR = 0x80206949 + SIOCDPWE3NEIGHBOR = 0x802069de + SIOCDVNETID = 0x802069af + SIOCGETKALIVE = 0xc01869a4 + SIOCGETLABEL = 0x8020699a + SIOCGETMPWCFG = 0xc02069ae + SIOCGETPFLOW = 0xc02069fe + SIOCGETPFSYNC = 0xc02069f8 + SIOCGETSGCNT = 0xc0207534 + SIOCGETVIFCNT = 0xc0287533 + SIOCGETVLAN = 0xc0206990 + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCONF = 0xc0106924 + SIOCGIFDATA = 0xc020691b + SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGATTR = 0xc028698b + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGLIST = 0xc028698d + SIOCGIFGMEMB = 0xc028698a + SIOCGIFGROUP = 0xc0286988 + SIOCGIFHARDMTU = 0xc02069a5 + SIOCGIFLLPRIO = 0xc02069b6 + SIOCGIFMEDIA = 0xc0406938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPAIR = 0xc02069b1 + SIOCGIFPARENT = 0xc02069b3 + SIOCGIFPRIORITY = 0xc020699c + SIOCGIFRDOMAIN = 0xc02069a0 + SIOCGIFRTLABEL = 0xc0206983 + SIOCGIFRXR = 0x802069aa + SIOCGIFSFFPAGE = 0xc1126939 + SIOCGIFXFLAGS = 0xc020699e + SIOCGLIFPHYADDR = 0xc218694b + SIOCGLIFPHYDF = 0xc02069c2 + SIOCGLIFPHYECN = 0xc02069c8 + SIOCGLIFPHYRTABLE = 0xc02069a2 + SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGPGRP = 0x40047309 + SIOCGPWE3 = 0xc0206998 + SIOCGPWE3CTRLWORD = 0xc02069dc + SIOCGPWE3FAT = 0xc02069dd + SIOCGPWE3NEIGHBOR = 0xc21869de + SIOCGSPPPPARAMS = 0xc0206994 + SIOCGTXHPRIO = 0xc02069c6 + SIOCGUMBINFO = 0xc02069be + SIOCGUMBPARAM = 0xc02069c0 + SIOCGVH = 0xc02069f6 + SIOCGVNETFLOWID = 0xc02069c4 + SIOCGVNETID = 0xc02069a7 + SIOCIFAFATTACH = 0x801169ab + SIOCIFAFDETACH = 0x801169ac + SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSETKALIVE = 0x801869a3 + SIOCSETLABEL = 0x80206999 + SIOCSETMPWCFG = 0x802069ad + SIOCSETPFLOW = 0x802069fd + SIOCSETPFSYNC = 0x802069f7 + SIOCSETVLAN = 0x8020698f + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGATTR = 0x8028698c + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020691f + SIOCSIFLLPRIO = 0x802069b5 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPAIR = 0x802069b0 + SIOCSIFPARENT = 0x802069b2 + SIOCSIFPRIORITY = 0x8020699b + SIOCSIFRDOMAIN = 0x8020699f + SIOCSIFRTLABEL = 0x80206982 + SIOCSIFXFLAGS = 0x8020699d + SIOCSLIFPHYADDR = 0x8218694a + SIOCSLIFPHYDF = 0x802069c1 + SIOCSLIFPHYECN = 0x802069c7 + SIOCSLIFPHYRTABLE = 0x802069a1 + SIOCSLIFPHYTTL = 0x802069a8 + SIOCSPGRP = 0x80047308 + SIOCSPWE3CTRLWORD = 0x802069dc + SIOCSPWE3FAT = 0x802069dd + SIOCSPWE3NEIGHBOR = 0x821869de + SIOCSSPPPPARAMS = 0x80206993 + SIOCSTXHPRIO = 0x802069c5 + SIOCSUMBPARAM = 0x802069bf + SIOCSVH = 0xc02069f5 + SIOCSVNETFLOWID = 0x802069c3 + SIOCSVNETID = 0x802069a6 + SIOCSWGDPID = 0xc018695b + SIOCSWGMAXFLOW = 0xc0186960 + SIOCSWGMAXGROUP = 0xc018695d + SIOCSWSDPID = 0x8018695c + SIOCSWSPORTNO = 0xc060695f + SOCK_CLOEXEC = 0x8000 + SOCK_DGRAM = 0x2 + SOCK_DNS = 0x1000 + SOCK_NONBLOCK = 0x4000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 + SO_PEERCRED = 0x1022 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SPLICE = 0x1023 + SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_ZEROIZE = 0x2000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOPUSH = 0x10 + TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 + TIMER_ABSTIME = 0x1 + TIMER_RELTIME = 0x0 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCHKVERAUTH = 0x2000741e + TIOCCLRVERAUTH = 0x2000741d + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_PPS = 0x10 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGTSTAMP = 0x4010745b + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMODG = 0x4004746a + TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSETVERAUTH = 0x8004741c + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTOP = 0x2000746f + TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCUCNTL_CBRK = 0x7a + TIOCUCNTL_SBRK = 0x7b + TOSTOP = 0x400000 + UTIME_NOW = -0x2 + UTIME_OMIT = -0x1 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_ANONMIN = 0x7 + VM_LOADAVG = 0x2 + VM_MALLOC_CONF = 0xc + VM_MAXID = 0xd + VM_MAXSLP = 0xa + VM_METER = 0x1 + VM_NKMEMPAGES = 0x6 + VM_PSSTRINGS = 0x3 + VM_SWAPENCRYPT = 0x5 + VM_USPACE = 0xb + VM_UVMEXP = 0x4 + VM_VNODEMIN = 0x9 + VM_VTEXTMIN = 0x8 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALTSIG = 0x4 + WCONTINUED = 0x8 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WUNTRACED = 0x2 + XCASE = 0x1000000 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x5c) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x59) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x5f) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5d) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x57) + EOWNERDEAD = syscall.Errno(0x5e) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5f) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC program not available"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIPSEC", "IPsec processing failure"}, + {83, "ENOATTR", "attribute not found"}, + {84, "EILSEQ", "illegal byte sequence"}, + {85, "ENOMEDIUM", "no medium found"}, + {86, "EMEDIUMTYPE", "wrong medium type"}, + {87, "EOVERFLOW", "value too large to be stored in data type"}, + {88, "ECANCELED", "operation canceled"}, + {89, "EIDRM", "identifier removed"}, + {90, "ENOMSG", "no message of desired type"}, + {91, "ENOTSUP", "not supported"}, + {92, "EBADMSG", "bad message"}, + {93, "ENOTRECOVERABLE", "state not recoverable"}, + {94, "EOWNERDEAD", "previous owner died"}, + {95, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "thread AST"}, +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go index 79f6e056..ed657ff1 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go @@ -83,6 +83,8 @@ int lstat(uintptr_t, uintptr_t); int pause(); int pread64(int, uintptr_t, size_t, long long); int pwrite64(int, uintptr_t, size_t, long long); +#define c_select select +int select(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t); int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t); int setregid(int, int); int setreuid(int, int); @@ -103,8 +105,8 @@ int getpeername(int, uintptr_t, uintptr_t); int getsockname(int, uintptr_t, uintptr_t); int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); -int recvmsg(int, uintptr_t, int); -int sendmsg(int, uintptr_t, int); +int nrecvmsg(int, uintptr_t, int); +int nsendmsg(int, uintptr_t, int); int munmap(uintptr_t, uintptr_t); int madvise(uintptr_t, size_t, int); int mprotect(uintptr_t, size_t, int); @@ -118,6 +120,8 @@ int poll(uintptr_t, int, int); int gettimeofday(uintptr_t, uintptr_t); int time(uintptr_t); int utime(uintptr_t, uintptr_t); +unsigned long long getsystemcfg(int); +int umount(uintptr_t); int getrlimit64(int, uintptr_t); int setrlimit64(int, uintptr_t); long long lseek64(int, long long, int); @@ -855,7 +859,7 @@ func Fchown(fd int, uid int, gid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Fstat(fd int, stat *Stat_t) (err error) { +func fstat(fd int, stat *Stat_t) (err error) { r0, er := C.fstat(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(stat)))) if r0 == -1 && er != nil { err = er @@ -865,7 +869,7 @@ func Fstat(fd int, stat *Stat_t) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { +func fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.fstatat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat))), C.int(flags)) if r0 == -1 && er != nil { @@ -949,7 +953,7 @@ func Listen(s int, n int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Lstat(path string, stat *Stat_t) (err error) { +func lstat(path string, stat *Stat_t) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.lstat(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat)))) if r0 == -1 && er != nil { @@ -1004,6 +1008,17 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, er := C.c_select(C.int(nfd), C.uintptr_t(uintptr(unsafe.Pointer(r))), C.uintptr_t(uintptr(unsafe.Pointer(w))), C.uintptr_t(uintptr(unsafe.Pointer(e))), C.uintptr_t(uintptr(unsafe.Pointer(timeout)))) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { r0, er := C.pselect(C.int(nfd), C.uintptr_t(uintptr(unsafe.Pointer(r))), C.uintptr_t(uintptr(unsafe.Pointer(w))), C.uintptr_t(uintptr(unsafe.Pointer(e))), C.uintptr_t(uintptr(unsafe.Pointer(timeout))), C.uintptr_t(uintptr(unsafe.Pointer(sigmask)))) n = int(r0) @@ -1056,9 +1071,9 @@ func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n i // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Stat(path string, stat *Stat_t) (err error) { +func stat(path string, statptr *Stat_t) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) - r0, er := C.stat(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat)))) + r0, er := C.stat(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(statptr)))) if r0 == -1 && er != nil { err = er } @@ -1225,7 +1240,7 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) ( // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, er := C.recvmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags)) + r0, er := C.nrecvmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags)) n = int(r0) if r0 == -1 && er != nil { err = er @@ -1236,7 +1251,7 @@ func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, er := C.sendmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags)) + r0, er := C.nsendmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags)) n = int(r0) if r0 == -1 && er != nil { err = er @@ -1409,6 +1424,25 @@ func Utime(path string, buf *Utimbuf) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Getsystemcfg(label int) (n uint64) { + r0, _ := C.getsystemcfg(C.int(label)) + n = uint64(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func umount(target string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(target))) + r0, er := C.umount(C.uintptr_t(_p0)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Getrlimit(resource int, rlim *Rlimit) (err error) { r0, er := C.getrlimit64(C.int(resource), C.uintptr_t(uintptr(unsafe.Pointer(rlim)))) if r0 == -1 && er != nil { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go index e645a05c..664b293b 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go @@ -803,7 +803,7 @@ func Fchown(fd int, uid int, gid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Fstat(fd int, stat *Stat_t) (err error) { +func fstat(fd int, stat *Stat_t) (err error) { _, e1 := callfstat(fd, uintptr(unsafe.Pointer(stat))) if e1 != 0 { err = errnoErr(e1) @@ -813,7 +813,7 @@ func Fstat(fd int, stat *Stat_t) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { +func fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { @@ -905,7 +905,7 @@ func Listen(s int, n int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Lstat(path string, stat *Stat_t) (err error) { +func lstat(path string, stat *Stat_t) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { @@ -960,6 +960,17 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, e1 := callselect(nfd, uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { r0, e1 := callpselect(nfd, uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) n = int(r0) @@ -1012,13 +1023,13 @@ func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n i // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Stat(path string, stat *Stat_t) (err error) { +func stat(path string, statptr *Stat_t) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } - _, e1 := callstat(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat))) + _, e1 := callstat(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(statptr))) if e1 != 0 { err = errnoErr(e1) } @@ -1189,7 +1200,7 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) ( // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, e1 := callrecvmsg(s, uintptr(unsafe.Pointer(msg)), flags) + r0, e1 := callnrecvmsg(s, uintptr(unsafe.Pointer(msg)), flags) n = int(r0) if e1 != 0 { err = errnoErr(e1) @@ -1200,7 +1211,7 @@ func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, e1 := callsendmsg(s, uintptr(unsafe.Pointer(msg)), flags) + r0, e1 := callnsendmsg(s, uintptr(unsafe.Pointer(msg)), flags) n = int(r0) if e1 != 0 { err = errnoErr(e1) @@ -1367,6 +1378,29 @@ func Utime(path string, buf *Utimbuf) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Getsystemcfg(label int) (n uint64) { + r0, _ := callgetsystemcfg(label) + n = uint64(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func umount(target string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, e1 := callumount(uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Getrlimit(resource int, rlim *Rlimit) (err error) { _, e1 := callgetrlimit(resource, uintptr(unsafe.Pointer(rlim))) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go index 0b8eb721..4b3a8ad7 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go @@ -85,6 +85,7 @@ import ( //go:cgo_import_dynamic libc_pause pause "libc.a/shr_64.o" //go:cgo_import_dynamic libc_pread64 pread64 "libc.a/shr_64.o" //go:cgo_import_dynamic libc_pwrite64 pwrite64 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_select select "libc.a/shr_64.o" //go:cgo_import_dynamic libc_pselect pselect "libc.a/shr_64.o" //go:cgo_import_dynamic libc_setregid setregid "libc.a/shr_64.o" //go:cgo_import_dynamic libc_setreuid setreuid "libc.a/shr_64.o" @@ -105,8 +106,8 @@ import ( //go:cgo_import_dynamic libc_getsockname getsockname "libc.a/shr_64.o" //go:cgo_import_dynamic libc_recvfrom recvfrom "libc.a/shr_64.o" //go:cgo_import_dynamic libc_sendto sendto "libc.a/shr_64.o" -//go:cgo_import_dynamic libc_recvmsg recvmsg "libc.a/shr_64.o" -//go:cgo_import_dynamic libc_sendmsg sendmsg "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_nrecvmsg nrecvmsg "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_nsendmsg nsendmsg "libc.a/shr_64.o" //go:cgo_import_dynamic libc_munmap munmap "libc.a/shr_64.o" //go:cgo_import_dynamic libc_madvise madvise "libc.a/shr_64.o" //go:cgo_import_dynamic libc_mprotect mprotect "libc.a/shr_64.o" @@ -120,6 +121,8 @@ import ( //go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.a/shr_64.o" //go:cgo_import_dynamic libc_time time "libc.a/shr_64.o" //go:cgo_import_dynamic libc_utime utime "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getsystemcfg getsystemcfg "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_umount umount "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getrlimit getrlimit "libc.a/shr_64.o" //go:cgo_import_dynamic libc_setrlimit setrlimit "libc.a/shr_64.o" //go:cgo_import_dynamic libc_lseek lseek "libc.a/shr_64.o" @@ -200,6 +203,7 @@ import ( //go:linkname libc_pause libc_pause //go:linkname libc_pread64 libc_pread64 //go:linkname libc_pwrite64 libc_pwrite64 +//go:linkname libc_select libc_select //go:linkname libc_pselect libc_pselect //go:linkname libc_setregid libc_setregid //go:linkname libc_setreuid libc_setreuid @@ -220,8 +224,8 @@ import ( //go:linkname libc_getsockname libc_getsockname //go:linkname libc_recvfrom libc_recvfrom //go:linkname libc_sendto libc_sendto -//go:linkname libc_recvmsg libc_recvmsg -//go:linkname libc_sendmsg libc_sendmsg +//go:linkname libc_nrecvmsg libc_nrecvmsg +//go:linkname libc_nsendmsg libc_nsendmsg //go:linkname libc_munmap libc_munmap //go:linkname libc_madvise libc_madvise //go:linkname libc_mprotect libc_mprotect @@ -235,6 +239,8 @@ import ( //go:linkname libc_gettimeofday libc_gettimeofday //go:linkname libc_time libc_time //go:linkname libc_utime libc_utime +//go:linkname libc_getsystemcfg libc_getsystemcfg +//go:linkname libc_umount libc_umount //go:linkname libc_getrlimit libc_getrlimit //go:linkname libc_setrlimit libc_setrlimit //go:linkname libc_lseek libc_lseek @@ -318,6 +324,7 @@ var ( libc_pause, libc_pread64, libc_pwrite64, + libc_select, libc_pselect, libc_setregid, libc_setreuid, @@ -338,8 +345,8 @@ var ( libc_getsockname, libc_recvfrom, libc_sendto, - libc_recvmsg, - libc_sendmsg, + libc_nrecvmsg, + libc_nsendmsg, libc_munmap, libc_madvise, libc_mprotect, @@ -353,6 +360,8 @@ var ( libc_gettimeofday, libc_time, libc_utime, + libc_getsystemcfg, + libc_umount, libc_getrlimit, libc_setrlimit, libc_lseek, @@ -890,6 +899,13 @@ func callpwrite64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func callselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_select)), 5, uintptr(nfd), r, w, e, timeout, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pselect)), 6, uintptr(nfd), r, w, e, timeout, sigmask) return @@ -925,8 +941,8 @@ func callsplice(rfd int, roff uintptr, wfd int, woff uintptr, len int, flags int // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func callstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) { - r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_stat)), 2, _p0, stat, 0, 0, 0, 0) +func callstat(_p0 uintptr, statptr uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_stat)), 2, _p0, statptr, 0, 0, 0, 0) return } @@ -1030,15 +1046,15 @@ func callsendto(s int, _p0 uintptr, _lenp0 int, flags int, to uintptr, addrlen u // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func callrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { - r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_recvmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0) +func callnrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nrecvmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func callsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { - r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sendmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0) +func callnsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nsendmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0) return } @@ -1135,6 +1151,20 @@ func callutime(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func callgetsystemcfg(label int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getsystemcfg)), 1, uintptr(label), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callumount(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_umount)), 1, _p0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getrlimit)), 2, uintptr(resource), rlim, 0, 0, 0, 0) return diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go index e88a4427..cde4dbc5 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go @@ -83,6 +83,8 @@ int lstat(uintptr_t, uintptr_t); int pause(); int pread64(int, uintptr_t, size_t, long long); int pwrite64(int, uintptr_t, size_t, long long); +#define c_select select +int select(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t); int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t); int setregid(int, int); int setreuid(int, int); @@ -103,8 +105,8 @@ int getpeername(int, uintptr_t, uintptr_t); int getsockname(int, uintptr_t, uintptr_t); int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); -int recvmsg(int, uintptr_t, int); -int sendmsg(int, uintptr_t, int); +int nrecvmsg(int, uintptr_t, int); +int nsendmsg(int, uintptr_t, int); int munmap(uintptr_t, uintptr_t); int madvise(uintptr_t, size_t, int); int mprotect(uintptr_t, size_t, int); @@ -118,6 +120,8 @@ int poll(uintptr_t, int, int); int gettimeofday(uintptr_t, uintptr_t); int time(uintptr_t); int utime(uintptr_t, uintptr_t); +unsigned long long getsystemcfg(int); +int umount(uintptr_t); int getrlimit(int, uintptr_t); int setrlimit(int, uintptr_t); long long lseek(int, long long, int); @@ -731,6 +735,14 @@ func callpwrite64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func callselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.c_select(C.int(nfd), C.uintptr_t(r), C.uintptr_t(w), C.uintptr_t(e), C.uintptr_t(timeout))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.pselect(C.int(nfd), C.uintptr_t(r), C.uintptr_t(w), C.uintptr_t(e), C.uintptr_t(timeout), C.uintptr_t(sigmask))) e1 = syscall.GetErrno() @@ -771,8 +783,8 @@ func callsplice(rfd int, roff uintptr, wfd int, woff uintptr, len int, flags int // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func callstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) { - r1 = uintptr(C.stat(C.uintptr_t(_p0), C.uintptr_t(stat))) +func callstat(_p0 uintptr, statptr uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.stat(C.uintptr_t(_p0), C.uintptr_t(statptr))) e1 = syscall.GetErrno() return } @@ -891,16 +903,16 @@ func callsendto(s int, _p0 uintptr, _lenp0 int, flags int, to uintptr, addrlen u // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func callrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { - r1 = uintptr(C.recvmsg(C.int(s), C.uintptr_t(msg), C.int(flags))) +func callnrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.nrecvmsg(C.int(s), C.uintptr_t(msg), C.int(flags))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func callsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { - r1 = uintptr(C.sendmsg(C.int(s), C.uintptr_t(msg), C.int(flags))) +func callnsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.nsendmsg(C.int(s), C.uintptr_t(msg), C.int(flags))) e1 = syscall.GetErrno() return } @@ -1011,6 +1023,22 @@ func callutime(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func callgetsystemcfg(label int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getsystemcfg(C.int(label))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callumount(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.umount(C.uintptr_t(_p0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.getrlimit(C.int(resource), C.uintptr_t(rlim))) e1 = syscall.GetErrno() diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go index b50178d6..c142e33e 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go @@ -943,6 +943,21 @@ func libc_chroot_trampoline() // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_clock_gettime_trampoline), uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_clock_gettime_trampoline() + +//go:linkname libc_clock_gettime libc_clock_gettime +//go:cgo_import_dynamic libc_clock_gettime clock_gettime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Close(fd int) (err error) { _, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s index da9b900a..1a391519 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s @@ -108,6 +108,8 @@ TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0 JMP libc_chown(SB) TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0 JMP libc_chroot(SB) +TEXT ·libc_clock_gettime_trampoline(SB),NOSPLIT,$0-0 + JMP libc_clock_gettime(SB) TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0 JMP libc_close(SB) TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go index c8b45100..81d90a27 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go @@ -14,6 +14,27 @@ var _ syscall.Errno // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(mask>>32), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func fchmodat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1360,8 +1381,12 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Signalfd(fd int, mask *Sigset_t, flags int) { - SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } return } @@ -1658,6 +1683,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func pipe(p *[2]_C_int) (err error) { _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go index 2aac3184..0c184586 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go @@ -14,6 +14,27 @@ var _ syscall.Errno // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func fchmodat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1360,8 +1381,12 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Signalfd(fd int, mask *Sigset_t, flags int) { - SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } return } @@ -1658,6 +1683,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Dup2(oldfd int, newfd int) (err error) { _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go index 13c06c28..18ef8a62 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go @@ -14,6 +14,27 @@ var _ syscall.Errno // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(mask>>32), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func fchmodat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1360,8 +1381,12 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Signalfd(fd int, mask *Sigset_t, flags int) { - SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } return } @@ -1658,6 +1683,42 @@ func faccessat(dirfd int, path string, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func pipe2(p *[2]_C_int, flags int) (err error) { _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) if e1 != 0 { @@ -2309,3 +2370,18 @@ func armSyncFileRange(fd int, flags int, off int64, n int64) (err error) { } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go index 737fa8d1..2fba25d0 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go @@ -14,6 +14,27 @@ var _ syscall.Errno // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func fchmodat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1360,8 +1381,12 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Signalfd(fd int, mask *Sigset_t, flags int) { - SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } return } @@ -1658,6 +1683,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { var _p0 unsafe.Pointer if len(events) > 0 { @@ -2206,3 +2257,18 @@ func pipe2(p *[2]_C_int, flags int) (err error) { } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go index 0a85f3f8..c330f4ff 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go @@ -14,6 +14,27 @@ var _ syscall.Errno // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask>>32), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func fchmodat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1360,8 +1381,12 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Signalfd(fd int, mask *Sigset_t, flags int) { - SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } return } @@ -1658,6 +1683,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Dup2(oldfd int, newfd int) (err error) { _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go index ec7007e7..8e9e0098 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go @@ -14,6 +14,27 @@ var _ syscall.Errno // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func fchmodat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1360,8 +1381,12 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Signalfd(fd int, mask *Sigset_t, flags int) { - SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } return } @@ -1658,6 +1683,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Dup2(oldfd int, newfd int) (err error) { _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go index c5bb25d9..c22d6260 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go @@ -14,6 +14,27 @@ var _ syscall.Errno // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func fchmodat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1360,8 +1381,12 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Signalfd(fd int, mask *Sigset_t, flags int) { - SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } return } @@ -1658,6 +1683,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Dup2(oldfd int, newfd int) (err error) { _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go index 26ada047..700a99e9 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go @@ -14,6 +14,27 @@ var _ syscall.Errno // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(mask>>32), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func fchmodat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1360,8 +1381,12 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Signalfd(fd int, mask *Sigset_t, flags int) { - SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } return } @@ -1658,6 +1683,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Dup2(oldfd int, newfd int) (err error) { _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go index 2da9cb70..cec4c106 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go @@ -14,6 +14,27 @@ var _ syscall.Errno // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func fchmodat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1360,8 +1381,12 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Signalfd(fd int, mask *Sigset_t, flags int) { - SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } return } @@ -1658,6 +1683,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Dup2(oldfd int, newfd int) (err error) { _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go index 772733d8..677ef5a6 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go @@ -14,6 +14,27 @@ var _ syscall.Errno // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func fchmodat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1360,8 +1381,12 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Signalfd(fd int, mask *Sigset_t, flags int) { - SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } return } @@ -1658,6 +1683,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Dup2(oldfd int, newfd int) (err error) { _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go index 996eba51..565034c5 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go @@ -14,6 +14,27 @@ var _ syscall.Errno // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func fchmodat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1360,8 +1381,12 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Signalfd(fd int, mask *Sigset_t, flags int) { - SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } return } @@ -1658,6 +1683,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { var _p0 unsafe.Pointer if len(events) > 0 { @@ -2186,3 +2237,18 @@ func pipe2(p *[2]_C_int, flags int) (err error) { } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go index cb9072a3..7feb2c6b 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go @@ -14,6 +14,27 @@ var _ syscall.Errno // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func fchmodat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1360,8 +1381,12 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Signalfd(fd int, mask *Sigset_t, flags int) { - SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } return } @@ -1658,6 +1683,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Dup2(oldfd int, newfd int) (err error) { _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go index 5e48a100..07655c45 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go @@ -14,6 +14,27 @@ var _ syscall.Errno // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func fchmodat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1360,8 +1381,12 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Signalfd(fd int, mask *Sigset_t, flags int) { - SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } return } @@ -1658,6 +1683,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { var _p0 unsafe.Pointer if len(events) > 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go new file mode 100644 index 00000000..eb589904 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go @@ -0,0 +1,1692 @@ +// go run mksyscall.go -openbsd -tags openbsd,arm64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build openbsd,arm64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrtable() (rtable int, err error) { + r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) + rtable = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrtable(rtable int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go index 97b22a49..5f614760 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go @@ -1,4 +1,4 @@ -// mksyscall_solaris.pl -tags solaris,amd64 syscall_solaris.go syscall_solaris_amd64.go +// go run mksyscall_solaris.go -tags solaris,amd64 syscall_solaris.go syscall_solaris_amd64.go // Code generated by the command above; see README.md. DO NOT EDIT. // +build solaris,amd64 diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go index b005031a..37dcc74c 100644 --- a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go +++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go @@ -1,6 +1,8 @@ // mksysctl_openbsd.pl // Code generated by the command above; DO NOT EDIT. +// +build 386,openbsd + package unix type mibentry struct { diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go index d014451c..fe6caa6e 100644 --- a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go @@ -1,4 +1,4 @@ -// mksysctl_openbsd.pl +// go run mksysctl_openbsd.go // Code generated by the command above; DO NOT EDIT. // +build amd64,openbsd diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go index b005031a..6eb8c0b0 100644 --- a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go +++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go @@ -1,6 +1,8 @@ -// mksysctl_openbsd.pl +// go run mksysctl_openbsd.go // Code generated by the command above; DO NOT EDIT. +// +build arm,openbsd + package unix type mibentry struct { diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go new file mode 100644 index 00000000..ba4304fd --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go @@ -0,0 +1,275 @@ +// go run mksysctl_openbsd.go +// Code generated by the command above; DO NOT EDIT. + +// +build arm64,openbsd + +package unix + +type mibentry struct { + ctlname string + ctloid []_C_int +} + +var sysctlMib = []mibentry{ + {"ddb.console", []_C_int{9, 6}}, + {"ddb.log", []_C_int{9, 7}}, + {"ddb.max_line", []_C_int{9, 3}}, + {"ddb.max_width", []_C_int{9, 2}}, + {"ddb.panic", []_C_int{9, 5}}, + {"ddb.profile", []_C_int{9, 9}}, + {"ddb.radix", []_C_int{9, 1}}, + {"ddb.tab_stop_width", []_C_int{9, 4}}, + {"ddb.trigger", []_C_int{9, 8}}, + {"fs.posix.setuid", []_C_int{3, 1, 1}}, + {"hw.allowpowerdown", []_C_int{6, 22}}, + {"hw.byteorder", []_C_int{6, 4}}, + {"hw.cpuspeed", []_C_int{6, 12}}, + {"hw.diskcount", []_C_int{6, 10}}, + {"hw.disknames", []_C_int{6, 8}}, + {"hw.diskstats", []_C_int{6, 9}}, + {"hw.machine", []_C_int{6, 1}}, + {"hw.model", []_C_int{6, 2}}, + {"hw.ncpu", []_C_int{6, 3}}, + {"hw.ncpufound", []_C_int{6, 21}}, + {"hw.ncpuonline", []_C_int{6, 25}}, + {"hw.pagesize", []_C_int{6, 7}}, + {"hw.perfpolicy", []_C_int{6, 23}}, + {"hw.physmem", []_C_int{6, 19}}, + {"hw.product", []_C_int{6, 15}}, + {"hw.serialno", []_C_int{6, 17}}, + {"hw.setperf", []_C_int{6, 13}}, + {"hw.smt", []_C_int{6, 24}}, + {"hw.usermem", []_C_int{6, 20}}, + {"hw.uuid", []_C_int{6, 18}}, + {"hw.vendor", []_C_int{6, 14}}, + {"hw.version", []_C_int{6, 16}}, + {"kern.allowkmem", []_C_int{1, 52}}, + {"kern.argmax", []_C_int{1, 8}}, + {"kern.audio", []_C_int{1, 84}}, + {"kern.boottime", []_C_int{1, 21}}, + {"kern.bufcachepercent", []_C_int{1, 72}}, + {"kern.ccpu", []_C_int{1, 45}}, + {"kern.clockrate", []_C_int{1, 12}}, + {"kern.consdev", []_C_int{1, 75}}, + {"kern.cp_time", []_C_int{1, 40}}, + {"kern.cp_time2", []_C_int{1, 71}}, + {"kern.cpustats", []_C_int{1, 85}}, + {"kern.domainname", []_C_int{1, 22}}, + {"kern.file", []_C_int{1, 73}}, + {"kern.forkstat", []_C_int{1, 42}}, + {"kern.fscale", []_C_int{1, 46}}, + {"kern.fsync", []_C_int{1, 33}}, + {"kern.global_ptrace", []_C_int{1, 81}}, + {"kern.hostid", []_C_int{1, 11}}, + {"kern.hostname", []_C_int{1, 10}}, + {"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}}, + {"kern.job_control", []_C_int{1, 19}}, + {"kern.malloc.buckets", []_C_int{1, 39, 1}}, + {"kern.malloc.kmemnames", []_C_int{1, 39, 3}}, + {"kern.maxclusters", []_C_int{1, 67}}, + {"kern.maxfiles", []_C_int{1, 7}}, + {"kern.maxlocksperuid", []_C_int{1, 70}}, + {"kern.maxpartitions", []_C_int{1, 23}}, + {"kern.maxproc", []_C_int{1, 6}}, + {"kern.maxthread", []_C_int{1, 25}}, + {"kern.maxvnodes", []_C_int{1, 5}}, + {"kern.mbstat", []_C_int{1, 59}}, + {"kern.msgbuf", []_C_int{1, 48}}, + {"kern.msgbufsize", []_C_int{1, 38}}, + {"kern.nchstats", []_C_int{1, 41}}, + {"kern.netlivelocks", []_C_int{1, 76}}, + {"kern.nfiles", []_C_int{1, 56}}, + {"kern.ngroups", []_C_int{1, 18}}, + {"kern.nosuidcoredump", []_C_int{1, 32}}, + {"kern.nprocs", []_C_int{1, 47}}, + {"kern.nselcoll", []_C_int{1, 43}}, + {"kern.nthreads", []_C_int{1, 26}}, + {"kern.numvnodes", []_C_int{1, 58}}, + {"kern.osrelease", []_C_int{1, 2}}, + {"kern.osrevision", []_C_int{1, 3}}, + {"kern.ostype", []_C_int{1, 1}}, + {"kern.osversion", []_C_int{1, 27}}, + {"kern.pool_debug", []_C_int{1, 77}}, + {"kern.posix1version", []_C_int{1, 17}}, + {"kern.proc", []_C_int{1, 66}}, + {"kern.rawpartition", []_C_int{1, 24}}, + {"kern.saved_ids", []_C_int{1, 20}}, + {"kern.securelevel", []_C_int{1, 9}}, + {"kern.seminfo", []_C_int{1, 61}}, + {"kern.shminfo", []_C_int{1, 62}}, + {"kern.somaxconn", []_C_int{1, 28}}, + {"kern.sominconn", []_C_int{1, 29}}, + {"kern.splassert", []_C_int{1, 54}}, + {"kern.stackgap_random", []_C_int{1, 50}}, + {"kern.sysvipc_info", []_C_int{1, 51}}, + {"kern.sysvmsg", []_C_int{1, 34}}, + {"kern.sysvsem", []_C_int{1, 35}}, + {"kern.sysvshm", []_C_int{1, 36}}, + {"kern.timecounter.choice", []_C_int{1, 69, 4}}, + {"kern.timecounter.hardware", []_C_int{1, 69, 3}}, + {"kern.timecounter.tick", []_C_int{1, 69, 1}}, + {"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}}, + {"kern.tty.tk_cancc", []_C_int{1, 44, 4}}, + {"kern.tty.tk_nin", []_C_int{1, 44, 1}}, + {"kern.tty.tk_nout", []_C_int{1, 44, 2}}, + {"kern.tty.tk_rawcc", []_C_int{1, 44, 3}}, + {"kern.tty.ttyinfo", []_C_int{1, 44, 5}}, + {"kern.ttycount", []_C_int{1, 57}}, + {"kern.version", []_C_int{1, 4}}, + {"kern.watchdog.auto", []_C_int{1, 64, 2}}, + {"kern.watchdog.period", []_C_int{1, 64, 1}}, + {"kern.witnesswatch", []_C_int{1, 53}}, + {"kern.wxabort", []_C_int{1, 74}}, + {"net.bpf.bufsize", []_C_int{4, 31, 1}}, + {"net.bpf.maxbufsize", []_C_int{4, 31, 2}}, + {"net.inet.ah.enable", []_C_int{4, 2, 51, 1}}, + {"net.inet.ah.stats", []_C_int{4, 2, 51, 2}}, + {"net.inet.carp.allow", []_C_int{4, 2, 112, 1}}, + {"net.inet.carp.log", []_C_int{4, 2, 112, 3}}, + {"net.inet.carp.preempt", []_C_int{4, 2, 112, 2}}, + {"net.inet.carp.stats", []_C_int{4, 2, 112, 4}}, + {"net.inet.divert.recvspace", []_C_int{4, 2, 258, 1}}, + {"net.inet.divert.sendspace", []_C_int{4, 2, 258, 2}}, + {"net.inet.divert.stats", []_C_int{4, 2, 258, 3}}, + {"net.inet.esp.enable", []_C_int{4, 2, 50, 1}}, + {"net.inet.esp.stats", []_C_int{4, 2, 50, 4}}, + {"net.inet.esp.udpencap", []_C_int{4, 2, 50, 2}}, + {"net.inet.esp.udpencap_port", []_C_int{4, 2, 50, 3}}, + {"net.inet.etherip.allow", []_C_int{4, 2, 97, 1}}, + {"net.inet.etherip.stats", []_C_int{4, 2, 97, 2}}, + {"net.inet.gre.allow", []_C_int{4, 2, 47, 1}}, + {"net.inet.gre.wccp", []_C_int{4, 2, 47, 2}}, + {"net.inet.icmp.bmcastecho", []_C_int{4, 2, 1, 2}}, + {"net.inet.icmp.errppslimit", []_C_int{4, 2, 1, 3}}, + {"net.inet.icmp.maskrepl", []_C_int{4, 2, 1, 1}}, + {"net.inet.icmp.rediraccept", []_C_int{4, 2, 1, 4}}, + {"net.inet.icmp.redirtimeout", []_C_int{4, 2, 1, 5}}, + {"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}}, + {"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}}, + {"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}}, + {"net.inet.ip.arpdown", []_C_int{4, 2, 0, 40}}, + {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, + {"net.inet.ip.arptimeout", []_C_int{4, 2, 0, 39}}, + {"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}}, + {"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}}, + {"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}}, + {"net.inet.ip.ifq.drops", []_C_int{4, 2, 0, 30, 3}}, + {"net.inet.ip.ifq.len", []_C_int{4, 2, 0, 30, 1}}, + {"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}}, + {"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}}, + {"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}}, + {"net.inet.ip.mrtmfc", []_C_int{4, 2, 0, 37}}, + {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, + {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, + {"net.inet.ip.mrtvif", []_C_int{4, 2, 0, 38}}, + {"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}}, + {"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}}, + {"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}}, + {"net.inet.ip.multipath", []_C_int{4, 2, 0, 32}}, + {"net.inet.ip.portfirst", []_C_int{4, 2, 0, 7}}, + {"net.inet.ip.porthifirst", []_C_int{4, 2, 0, 9}}, + {"net.inet.ip.porthilast", []_C_int{4, 2, 0, 10}}, + {"net.inet.ip.portlast", []_C_int{4, 2, 0, 8}}, + {"net.inet.ip.redirect", []_C_int{4, 2, 0, 2}}, + {"net.inet.ip.sourceroute", []_C_int{4, 2, 0, 5}}, + {"net.inet.ip.stats", []_C_int{4, 2, 0, 33}}, + {"net.inet.ip.ttl", []_C_int{4, 2, 0, 3}}, + {"net.inet.ipcomp.enable", []_C_int{4, 2, 108, 1}}, + {"net.inet.ipcomp.stats", []_C_int{4, 2, 108, 2}}, + {"net.inet.ipip.allow", []_C_int{4, 2, 4, 1}}, + {"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}}, + {"net.inet.mobileip.allow", []_C_int{4, 2, 55, 1}}, + {"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}}, + {"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}}, + {"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}}, + {"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}}, + {"net.inet.tcp.drop", []_C_int{4, 2, 6, 19}}, + {"net.inet.tcp.ecn", []_C_int{4, 2, 6, 14}}, + {"net.inet.tcp.ident", []_C_int{4, 2, 6, 9}}, + {"net.inet.tcp.keepidle", []_C_int{4, 2, 6, 3}}, + {"net.inet.tcp.keepinittime", []_C_int{4, 2, 6, 2}}, + {"net.inet.tcp.keepintvl", []_C_int{4, 2, 6, 4}}, + {"net.inet.tcp.mssdflt", []_C_int{4, 2, 6, 11}}, + {"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}}, + {"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}}, + {"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}}, + {"net.inet.tcp.rootonly", []_C_int{4, 2, 6, 24}}, + {"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}}, + {"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}}, + {"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}}, + {"net.inet.tcp.slowhz", []_C_int{4, 2, 6, 5}}, + {"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}}, + {"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}}, + {"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}}, + {"net.inet.tcp.synhashsize", []_C_int{4, 2, 6, 25}}, + {"net.inet.tcp.synuselimit", []_C_int{4, 2, 6, 23}}, + {"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}}, + {"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}}, + {"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}}, + {"net.inet.udp.rootonly", []_C_int{4, 2, 17, 6}}, + {"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}}, + {"net.inet.udp.stats", []_C_int{4, 2, 17, 5}}, + {"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}}, + {"net.inet6.divert.sendspace", []_C_int{4, 24, 86, 2}}, + {"net.inet6.divert.stats", []_C_int{4, 24, 86, 3}}, + {"net.inet6.icmp6.errppslimit", []_C_int{4, 24, 30, 14}}, + {"net.inet6.icmp6.mtudisc_hiwat", []_C_int{4, 24, 30, 16}}, + {"net.inet6.icmp6.mtudisc_lowat", []_C_int{4, 24, 30, 17}}, + {"net.inet6.icmp6.nd6_debug", []_C_int{4, 24, 30, 18}}, + {"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}}, + {"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}}, + {"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}}, + {"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}}, + {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, + {"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}}, + {"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}}, + {"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}}, + {"net.inet6.ip6.defmcasthlim", []_C_int{4, 24, 17, 18}}, + {"net.inet6.ip6.forwarding", []_C_int{4, 24, 17, 1}}, + {"net.inet6.ip6.forwsrcrt", []_C_int{4, 24, 17, 5}}, + {"net.inet6.ip6.hdrnestlimit", []_C_int{4, 24, 17, 15}}, + {"net.inet6.ip6.hlim", []_C_int{4, 24, 17, 3}}, + {"net.inet6.ip6.log_interval", []_C_int{4, 24, 17, 14}}, + {"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}}, + {"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}}, + {"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}}, + {"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}}, + {"net.inet6.ip6.mrtmfc", []_C_int{4, 24, 17, 53}}, + {"net.inet6.ip6.mrtmif", []_C_int{4, 24, 17, 52}}, + {"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}}, + {"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}}, + {"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}}, + {"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}}, + {"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}}, + {"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}}, + {"net.inet6.ip6.soiikey", []_C_int{4, 24, 17, 54}}, + {"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}}, + {"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}}, + {"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}}, + {"net.key.sadb_dump", []_C_int{4, 30, 1}}, + {"net.key.spd_dump", []_C_int{4, 30, 2}}, + {"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}}, + {"net.mpls.ifq.drops", []_C_int{4, 33, 3, 3}}, + {"net.mpls.ifq.len", []_C_int{4, 33, 3, 1}}, + {"net.mpls.ifq.maxlen", []_C_int{4, 33, 3, 2}}, + {"net.mpls.mapttl_ip", []_C_int{4, 33, 5}}, + {"net.mpls.mapttl_ip6", []_C_int{4, 33, 6}}, + {"net.mpls.maxloop_inkernel", []_C_int{4, 33, 4}}, + {"net.mpls.ttl", []_C_int{4, 33, 2}}, + {"net.pflow.stats", []_C_int{4, 34, 1}}, + {"net.pipex.enable", []_C_int{4, 35, 1}}, + {"vm.anonmin", []_C_int{2, 7}}, + {"vm.loadavg", []_C_int{2, 2}}, + {"vm.malloc_conf", []_C_int{2, 12}}, + {"vm.maxslp", []_C_int{2, 10}}, + {"vm.nkmempages", []_C_int{2, 6}}, + {"vm.psstrings", []_C_int{2, 3}}, + {"vm.swapencrypt.enable", []_C_int{2, 5, 0}}, + {"vm.swapencrypt.keyscreated", []_C_int{2, 5, 1}}, + {"vm.swapencrypt.keysdeleted", []_C_int{2, 5, 2}}, + {"vm.uspace", []_C_int{2, 11}}, + {"vm.uvmexp", []_C_int{2, 4}}, + {"vm.vmmeter", []_C_int{2, 1}}, + {"vm.vnodemin", []_C_int{2, 9}}, + {"vm.vtextmin", []_C_int{2, 8}}, +} diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go index 9e2837e0..654dd3da 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go @@ -1,4 +1,4 @@ -// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/syscall.h +// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/syscall.h // Code generated by the command above; see README.md. DO NOT EDIT. // +build amd64,darwin @@ -431,6 +431,8 @@ const ( SYS_NTP_ADJTIME = 527 SYS_NTP_GETTIME = 528 SYS_OS_FAULT_WITH_PAYLOAD = 529 - SYS_MAXSYSCALL = 530 + SYS_KQUEUE_WORKLOOP_CTL = 530 + SYS___MACH_BRIDGE_REMOTE_TIME = 531 + SYS_MAXSYSCALL = 532 SYS_INVALID = 63 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go index 8d17873d..33b6e4d1 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go @@ -6,387 +6,421 @@ package unix const ( - SYS_RESTART_SYSCALL = 0 - SYS_EXIT = 1 - SYS_FORK = 2 - SYS_READ = 3 - SYS_WRITE = 4 - SYS_OPEN = 5 - SYS_CLOSE = 6 - SYS_WAITPID = 7 - SYS_CREAT = 8 - SYS_LINK = 9 - SYS_UNLINK = 10 - SYS_EXECVE = 11 - SYS_CHDIR = 12 - SYS_TIME = 13 - SYS_MKNOD = 14 - SYS_CHMOD = 15 - SYS_LCHOWN = 16 - SYS_BREAK = 17 - SYS_OLDSTAT = 18 - SYS_LSEEK = 19 - SYS_GETPID = 20 - SYS_MOUNT = 21 - SYS_UMOUNT = 22 - SYS_SETUID = 23 - SYS_GETUID = 24 - SYS_STIME = 25 - SYS_PTRACE = 26 - SYS_ALARM = 27 - SYS_OLDFSTAT = 28 - SYS_PAUSE = 29 - SYS_UTIME = 30 - SYS_STTY = 31 - SYS_GTTY = 32 - SYS_ACCESS = 33 - SYS_NICE = 34 - SYS_FTIME = 35 - SYS_SYNC = 36 - SYS_KILL = 37 - SYS_RENAME = 38 - SYS_MKDIR = 39 - SYS_RMDIR = 40 - SYS_DUP = 41 - SYS_PIPE = 42 - SYS_TIMES = 43 - SYS_PROF = 44 - SYS_BRK = 45 - SYS_SETGID = 46 - SYS_GETGID = 47 - SYS_SIGNAL = 48 - SYS_GETEUID = 49 - SYS_GETEGID = 50 - SYS_ACCT = 51 - SYS_UMOUNT2 = 52 - SYS_LOCK = 53 - SYS_IOCTL = 54 - SYS_FCNTL = 55 - SYS_MPX = 56 - SYS_SETPGID = 57 - SYS_ULIMIT = 58 - SYS_OLDOLDUNAME = 59 - SYS_UMASK = 60 - SYS_CHROOT = 61 - SYS_USTAT = 62 - SYS_DUP2 = 63 - SYS_GETPPID = 64 - SYS_GETPGRP = 65 - SYS_SETSID = 66 - SYS_SIGACTION = 67 - SYS_SGETMASK = 68 - SYS_SSETMASK = 69 - SYS_SETREUID = 70 - SYS_SETREGID = 71 - SYS_SIGSUSPEND = 72 - SYS_SIGPENDING = 73 - SYS_SETHOSTNAME = 74 - SYS_SETRLIMIT = 75 - SYS_GETRLIMIT = 76 - SYS_GETRUSAGE = 77 - SYS_GETTIMEOFDAY = 78 - SYS_SETTIMEOFDAY = 79 - SYS_GETGROUPS = 80 - SYS_SETGROUPS = 81 - SYS_SELECT = 82 - SYS_SYMLINK = 83 - SYS_OLDLSTAT = 84 - SYS_READLINK = 85 - SYS_USELIB = 86 - SYS_SWAPON = 87 - SYS_REBOOT = 88 - SYS_READDIR = 89 - SYS_MMAP = 90 - SYS_MUNMAP = 91 - SYS_TRUNCATE = 92 - SYS_FTRUNCATE = 93 - SYS_FCHMOD = 94 - SYS_FCHOWN = 95 - SYS_GETPRIORITY = 96 - SYS_SETPRIORITY = 97 - SYS_PROFIL = 98 - SYS_STATFS = 99 - SYS_FSTATFS = 100 - SYS_IOPERM = 101 - SYS_SOCKETCALL = 102 - SYS_SYSLOG = 103 - SYS_SETITIMER = 104 - SYS_GETITIMER = 105 - SYS_STAT = 106 - SYS_LSTAT = 107 - SYS_FSTAT = 108 - SYS_OLDUNAME = 109 - SYS_IOPL = 110 - SYS_VHANGUP = 111 - SYS_IDLE = 112 - SYS_VM86OLD = 113 - SYS_WAIT4 = 114 - SYS_SWAPOFF = 115 - SYS_SYSINFO = 116 - SYS_IPC = 117 - SYS_FSYNC = 118 - SYS_SIGRETURN = 119 - SYS_CLONE = 120 - SYS_SETDOMAINNAME = 121 - SYS_UNAME = 122 - SYS_MODIFY_LDT = 123 - SYS_ADJTIMEX = 124 - SYS_MPROTECT = 125 - SYS_SIGPROCMASK = 126 - SYS_CREATE_MODULE = 127 - SYS_INIT_MODULE = 128 - SYS_DELETE_MODULE = 129 - SYS_GET_KERNEL_SYMS = 130 - SYS_QUOTACTL = 131 - SYS_GETPGID = 132 - SYS_FCHDIR = 133 - SYS_BDFLUSH = 134 - SYS_SYSFS = 135 - SYS_PERSONALITY = 136 - SYS_AFS_SYSCALL = 137 - SYS_SETFSUID = 138 - SYS_SETFSGID = 139 - SYS__LLSEEK = 140 - SYS_GETDENTS = 141 - SYS__NEWSELECT = 142 - SYS_FLOCK = 143 - SYS_MSYNC = 144 - SYS_READV = 145 - SYS_WRITEV = 146 - SYS_GETSID = 147 - SYS_FDATASYNC = 148 - SYS__SYSCTL = 149 - SYS_MLOCK = 150 - SYS_MUNLOCK = 151 - SYS_MLOCKALL = 152 - SYS_MUNLOCKALL = 153 - SYS_SCHED_SETPARAM = 154 - SYS_SCHED_GETPARAM = 155 - SYS_SCHED_SETSCHEDULER = 156 - SYS_SCHED_GETSCHEDULER = 157 - SYS_SCHED_YIELD = 158 - SYS_SCHED_GET_PRIORITY_MAX = 159 - SYS_SCHED_GET_PRIORITY_MIN = 160 - SYS_SCHED_RR_GET_INTERVAL = 161 - SYS_NANOSLEEP = 162 - SYS_MREMAP = 163 - SYS_SETRESUID = 164 - SYS_GETRESUID = 165 - SYS_VM86 = 166 - SYS_QUERY_MODULE = 167 - SYS_POLL = 168 - SYS_NFSSERVCTL = 169 - SYS_SETRESGID = 170 - SYS_GETRESGID = 171 - SYS_PRCTL = 172 - SYS_RT_SIGRETURN = 173 - SYS_RT_SIGACTION = 174 - SYS_RT_SIGPROCMASK = 175 - SYS_RT_SIGPENDING = 176 - SYS_RT_SIGTIMEDWAIT = 177 - SYS_RT_SIGQUEUEINFO = 178 - SYS_RT_SIGSUSPEND = 179 - SYS_PREAD64 = 180 - SYS_PWRITE64 = 181 - SYS_CHOWN = 182 - SYS_GETCWD = 183 - SYS_CAPGET = 184 - SYS_CAPSET = 185 - SYS_SIGALTSTACK = 186 - SYS_SENDFILE = 187 - SYS_GETPMSG = 188 - SYS_PUTPMSG = 189 - SYS_VFORK = 190 - SYS_UGETRLIMIT = 191 - SYS_MMAP2 = 192 - SYS_TRUNCATE64 = 193 - SYS_FTRUNCATE64 = 194 - SYS_STAT64 = 195 - SYS_LSTAT64 = 196 - SYS_FSTAT64 = 197 - SYS_LCHOWN32 = 198 - SYS_GETUID32 = 199 - SYS_GETGID32 = 200 - SYS_GETEUID32 = 201 - SYS_GETEGID32 = 202 - SYS_SETREUID32 = 203 - SYS_SETREGID32 = 204 - SYS_GETGROUPS32 = 205 - SYS_SETGROUPS32 = 206 - SYS_FCHOWN32 = 207 - SYS_SETRESUID32 = 208 - SYS_GETRESUID32 = 209 - SYS_SETRESGID32 = 210 - SYS_GETRESGID32 = 211 - SYS_CHOWN32 = 212 - SYS_SETUID32 = 213 - SYS_SETGID32 = 214 - SYS_SETFSUID32 = 215 - SYS_SETFSGID32 = 216 - SYS_PIVOT_ROOT = 217 - SYS_MINCORE = 218 - SYS_MADVISE = 219 - SYS_GETDENTS64 = 220 - SYS_FCNTL64 = 221 - SYS_GETTID = 224 - SYS_READAHEAD = 225 - SYS_SETXATTR = 226 - SYS_LSETXATTR = 227 - SYS_FSETXATTR = 228 - SYS_GETXATTR = 229 - SYS_LGETXATTR = 230 - SYS_FGETXATTR = 231 - SYS_LISTXATTR = 232 - SYS_LLISTXATTR = 233 - SYS_FLISTXATTR = 234 - SYS_REMOVEXATTR = 235 - SYS_LREMOVEXATTR = 236 - SYS_FREMOVEXATTR = 237 - SYS_TKILL = 238 - SYS_SENDFILE64 = 239 - SYS_FUTEX = 240 - SYS_SCHED_SETAFFINITY = 241 - SYS_SCHED_GETAFFINITY = 242 - SYS_SET_THREAD_AREA = 243 - SYS_GET_THREAD_AREA = 244 - SYS_IO_SETUP = 245 - SYS_IO_DESTROY = 246 - SYS_IO_GETEVENTS = 247 - SYS_IO_SUBMIT = 248 - SYS_IO_CANCEL = 249 - SYS_FADVISE64 = 250 - SYS_EXIT_GROUP = 252 - SYS_LOOKUP_DCOOKIE = 253 - SYS_EPOLL_CREATE = 254 - SYS_EPOLL_CTL = 255 - SYS_EPOLL_WAIT = 256 - SYS_REMAP_FILE_PAGES = 257 - SYS_SET_TID_ADDRESS = 258 - SYS_TIMER_CREATE = 259 - SYS_TIMER_SETTIME = 260 - SYS_TIMER_GETTIME = 261 - SYS_TIMER_GETOVERRUN = 262 - SYS_TIMER_DELETE = 263 - SYS_CLOCK_SETTIME = 264 - SYS_CLOCK_GETTIME = 265 - SYS_CLOCK_GETRES = 266 - SYS_CLOCK_NANOSLEEP = 267 - SYS_STATFS64 = 268 - SYS_FSTATFS64 = 269 - SYS_TGKILL = 270 - SYS_UTIMES = 271 - SYS_FADVISE64_64 = 272 - SYS_VSERVER = 273 - SYS_MBIND = 274 - SYS_GET_MEMPOLICY = 275 - SYS_SET_MEMPOLICY = 276 - SYS_MQ_OPEN = 277 - SYS_MQ_UNLINK = 278 - SYS_MQ_TIMEDSEND = 279 - SYS_MQ_TIMEDRECEIVE = 280 - SYS_MQ_NOTIFY = 281 - SYS_MQ_GETSETATTR = 282 - SYS_KEXEC_LOAD = 283 - SYS_WAITID = 284 - SYS_ADD_KEY = 286 - SYS_REQUEST_KEY = 287 - SYS_KEYCTL = 288 - SYS_IOPRIO_SET = 289 - SYS_IOPRIO_GET = 290 - SYS_INOTIFY_INIT = 291 - SYS_INOTIFY_ADD_WATCH = 292 - SYS_INOTIFY_RM_WATCH = 293 - SYS_MIGRATE_PAGES = 294 - SYS_OPENAT = 295 - SYS_MKDIRAT = 296 - SYS_MKNODAT = 297 - SYS_FCHOWNAT = 298 - SYS_FUTIMESAT = 299 - SYS_FSTATAT64 = 300 - SYS_UNLINKAT = 301 - SYS_RENAMEAT = 302 - SYS_LINKAT = 303 - SYS_SYMLINKAT = 304 - SYS_READLINKAT = 305 - SYS_FCHMODAT = 306 - SYS_FACCESSAT = 307 - SYS_PSELECT6 = 308 - SYS_PPOLL = 309 - SYS_UNSHARE = 310 - SYS_SET_ROBUST_LIST = 311 - SYS_GET_ROBUST_LIST = 312 - SYS_SPLICE = 313 - SYS_SYNC_FILE_RANGE = 314 - SYS_TEE = 315 - SYS_VMSPLICE = 316 - SYS_MOVE_PAGES = 317 - SYS_GETCPU = 318 - SYS_EPOLL_PWAIT = 319 - SYS_UTIMENSAT = 320 - SYS_SIGNALFD = 321 - SYS_TIMERFD_CREATE = 322 - SYS_EVENTFD = 323 - SYS_FALLOCATE = 324 - SYS_TIMERFD_SETTIME = 325 - SYS_TIMERFD_GETTIME = 326 - SYS_SIGNALFD4 = 327 - SYS_EVENTFD2 = 328 - SYS_EPOLL_CREATE1 = 329 - SYS_DUP3 = 330 - SYS_PIPE2 = 331 - SYS_INOTIFY_INIT1 = 332 - SYS_PREADV = 333 - SYS_PWRITEV = 334 - SYS_RT_TGSIGQUEUEINFO = 335 - SYS_PERF_EVENT_OPEN = 336 - SYS_RECVMMSG = 337 - SYS_FANOTIFY_INIT = 338 - SYS_FANOTIFY_MARK = 339 - SYS_PRLIMIT64 = 340 - SYS_NAME_TO_HANDLE_AT = 341 - SYS_OPEN_BY_HANDLE_AT = 342 - SYS_CLOCK_ADJTIME = 343 - SYS_SYNCFS = 344 - SYS_SENDMMSG = 345 - SYS_SETNS = 346 - SYS_PROCESS_VM_READV = 347 - SYS_PROCESS_VM_WRITEV = 348 - SYS_KCMP = 349 - SYS_FINIT_MODULE = 350 - SYS_SCHED_SETATTR = 351 - SYS_SCHED_GETATTR = 352 - SYS_RENAMEAT2 = 353 - SYS_SECCOMP = 354 - SYS_GETRANDOM = 355 - SYS_MEMFD_CREATE = 356 - SYS_BPF = 357 - SYS_EXECVEAT = 358 - SYS_SOCKET = 359 - SYS_SOCKETPAIR = 360 - SYS_BIND = 361 - SYS_CONNECT = 362 - SYS_LISTEN = 363 - SYS_ACCEPT4 = 364 - SYS_GETSOCKOPT = 365 - SYS_SETSOCKOPT = 366 - SYS_GETSOCKNAME = 367 - SYS_GETPEERNAME = 368 - SYS_SENDTO = 369 - SYS_SENDMSG = 370 - SYS_RECVFROM = 371 - SYS_RECVMSG = 372 - SYS_SHUTDOWN = 373 - SYS_USERFAULTFD = 374 - SYS_MEMBARRIER = 375 - SYS_MLOCK2 = 376 - SYS_COPY_FILE_RANGE = 377 - SYS_PREADV2 = 378 - SYS_PWRITEV2 = 379 - SYS_PKEY_MPROTECT = 380 - SYS_PKEY_ALLOC = 381 - SYS_PKEY_FREE = 382 - SYS_STATX = 383 - SYS_ARCH_PRCTL = 384 - SYS_IO_PGETEVENTS = 385 - SYS_RSEQ = 386 + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAITPID = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_TIME = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BREAK = 17 + SYS_OLDSTAT = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_STIME = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_OLDFSTAT = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_STTY = 31 + SYS_GTTY = 32 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_FTIME = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_PROF = 44 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_LOCK = 53 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_MPX = 56 + SYS_SETPGID = 57 + SYS_ULIMIT = 58 + SYS_OLDOLDUNAME = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SGETMASK = 68 + SYS_SSETMASK = 69 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRLIMIT = 76 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SELECT = 82 + SYS_SYMLINK = 83 + SYS_OLDLSTAT = 84 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_PROFIL = 98 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_IOPERM = 101 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_OLDUNAME = 109 + SYS_IOPL = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_VM86OLD = 113 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_MODIFY_LDT = 123 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_VM86 = 166 + SYS_QUERY_MODULE = 167 + SYS_POLL = 168 + SYS_NFSSERVCTL = 169 + SYS_SETRESGID = 170 + SYS_GETRESGID = 171 + SYS_PRCTL = 172 + SYS_RT_SIGRETURN = 173 + SYS_RT_SIGACTION = 174 + SYS_RT_SIGPROCMASK = 175 + SYS_RT_SIGPENDING = 176 + SYS_RT_SIGTIMEDWAIT = 177 + SYS_RT_SIGQUEUEINFO = 178 + SYS_RT_SIGSUSPEND = 179 + SYS_PREAD64 = 180 + SYS_PWRITE64 = 181 + SYS_CHOWN = 182 + SYS_GETCWD = 183 + SYS_CAPGET = 184 + SYS_CAPSET = 185 + SYS_SIGALTSTACK = 186 + SYS_SENDFILE = 187 + SYS_GETPMSG = 188 + SYS_PUTPMSG = 189 + SYS_VFORK = 190 + SYS_UGETRLIMIT = 191 + SYS_MMAP2 = 192 + SYS_TRUNCATE64 = 193 + SYS_FTRUNCATE64 = 194 + SYS_STAT64 = 195 + SYS_LSTAT64 = 196 + SYS_FSTAT64 = 197 + SYS_LCHOWN32 = 198 + SYS_GETUID32 = 199 + SYS_GETGID32 = 200 + SYS_GETEUID32 = 201 + SYS_GETEGID32 = 202 + SYS_SETREUID32 = 203 + SYS_SETREGID32 = 204 + SYS_GETGROUPS32 = 205 + SYS_SETGROUPS32 = 206 + SYS_FCHOWN32 = 207 + SYS_SETRESUID32 = 208 + SYS_GETRESUID32 = 209 + SYS_SETRESGID32 = 210 + SYS_GETRESGID32 = 211 + SYS_CHOWN32 = 212 + SYS_SETUID32 = 213 + SYS_SETGID32 = 214 + SYS_SETFSUID32 = 215 + SYS_SETFSGID32 = 216 + SYS_PIVOT_ROOT = 217 + SYS_MINCORE = 218 + SYS_MADVISE = 219 + SYS_GETDENTS64 = 220 + SYS_FCNTL64 = 221 + SYS_GETTID = 224 + SYS_READAHEAD = 225 + SYS_SETXATTR = 226 + SYS_LSETXATTR = 227 + SYS_FSETXATTR = 228 + SYS_GETXATTR = 229 + SYS_LGETXATTR = 230 + SYS_FGETXATTR = 231 + SYS_LISTXATTR = 232 + SYS_LLISTXATTR = 233 + SYS_FLISTXATTR = 234 + SYS_REMOVEXATTR = 235 + SYS_LREMOVEXATTR = 236 + SYS_FREMOVEXATTR = 237 + SYS_TKILL = 238 + SYS_SENDFILE64 = 239 + SYS_FUTEX = 240 + SYS_SCHED_SETAFFINITY = 241 + SYS_SCHED_GETAFFINITY = 242 + SYS_SET_THREAD_AREA = 243 + SYS_GET_THREAD_AREA = 244 + SYS_IO_SETUP = 245 + SYS_IO_DESTROY = 246 + SYS_IO_GETEVENTS = 247 + SYS_IO_SUBMIT = 248 + SYS_IO_CANCEL = 249 + SYS_FADVISE64 = 250 + SYS_EXIT_GROUP = 252 + SYS_LOOKUP_DCOOKIE = 253 + SYS_EPOLL_CREATE = 254 + SYS_EPOLL_CTL = 255 + SYS_EPOLL_WAIT = 256 + SYS_REMAP_FILE_PAGES = 257 + SYS_SET_TID_ADDRESS = 258 + SYS_TIMER_CREATE = 259 + SYS_TIMER_SETTIME = 260 + SYS_TIMER_GETTIME = 261 + SYS_TIMER_GETOVERRUN = 262 + SYS_TIMER_DELETE = 263 + SYS_CLOCK_SETTIME = 264 + SYS_CLOCK_GETTIME = 265 + SYS_CLOCK_GETRES = 266 + SYS_CLOCK_NANOSLEEP = 267 + SYS_STATFS64 = 268 + SYS_FSTATFS64 = 269 + SYS_TGKILL = 270 + SYS_UTIMES = 271 + SYS_FADVISE64_64 = 272 + SYS_VSERVER = 273 + SYS_MBIND = 274 + SYS_GET_MEMPOLICY = 275 + SYS_SET_MEMPOLICY = 276 + SYS_MQ_OPEN = 277 + SYS_MQ_UNLINK = 278 + SYS_MQ_TIMEDSEND = 279 + SYS_MQ_TIMEDRECEIVE = 280 + SYS_MQ_NOTIFY = 281 + SYS_MQ_GETSETATTR = 282 + SYS_KEXEC_LOAD = 283 + SYS_WAITID = 284 + SYS_ADD_KEY = 286 + SYS_REQUEST_KEY = 287 + SYS_KEYCTL = 288 + SYS_IOPRIO_SET = 289 + SYS_IOPRIO_GET = 290 + SYS_INOTIFY_INIT = 291 + SYS_INOTIFY_ADD_WATCH = 292 + SYS_INOTIFY_RM_WATCH = 293 + SYS_MIGRATE_PAGES = 294 + SYS_OPENAT = 295 + SYS_MKDIRAT = 296 + SYS_MKNODAT = 297 + SYS_FCHOWNAT = 298 + SYS_FUTIMESAT = 299 + SYS_FSTATAT64 = 300 + SYS_UNLINKAT = 301 + SYS_RENAMEAT = 302 + SYS_LINKAT = 303 + SYS_SYMLINKAT = 304 + SYS_READLINKAT = 305 + SYS_FCHMODAT = 306 + SYS_FACCESSAT = 307 + SYS_PSELECT6 = 308 + SYS_PPOLL = 309 + SYS_UNSHARE = 310 + SYS_SET_ROBUST_LIST = 311 + SYS_GET_ROBUST_LIST = 312 + SYS_SPLICE = 313 + SYS_SYNC_FILE_RANGE = 314 + SYS_TEE = 315 + SYS_VMSPLICE = 316 + SYS_MOVE_PAGES = 317 + SYS_GETCPU = 318 + SYS_EPOLL_PWAIT = 319 + SYS_UTIMENSAT = 320 + SYS_SIGNALFD = 321 + SYS_TIMERFD_CREATE = 322 + SYS_EVENTFD = 323 + SYS_FALLOCATE = 324 + SYS_TIMERFD_SETTIME = 325 + SYS_TIMERFD_GETTIME = 326 + SYS_SIGNALFD4 = 327 + SYS_EVENTFD2 = 328 + SYS_EPOLL_CREATE1 = 329 + SYS_DUP3 = 330 + SYS_PIPE2 = 331 + SYS_INOTIFY_INIT1 = 332 + SYS_PREADV = 333 + SYS_PWRITEV = 334 + SYS_RT_TGSIGQUEUEINFO = 335 + SYS_PERF_EVENT_OPEN = 336 + SYS_RECVMMSG = 337 + SYS_FANOTIFY_INIT = 338 + SYS_FANOTIFY_MARK = 339 + SYS_PRLIMIT64 = 340 + SYS_NAME_TO_HANDLE_AT = 341 + SYS_OPEN_BY_HANDLE_AT = 342 + SYS_CLOCK_ADJTIME = 343 + SYS_SYNCFS = 344 + SYS_SENDMMSG = 345 + SYS_SETNS = 346 + SYS_PROCESS_VM_READV = 347 + SYS_PROCESS_VM_WRITEV = 348 + SYS_KCMP = 349 + SYS_FINIT_MODULE = 350 + SYS_SCHED_SETATTR = 351 + SYS_SCHED_GETATTR = 352 + SYS_RENAMEAT2 = 353 + SYS_SECCOMP = 354 + SYS_GETRANDOM = 355 + SYS_MEMFD_CREATE = 356 + SYS_BPF = 357 + SYS_EXECVEAT = 358 + SYS_SOCKET = 359 + SYS_SOCKETPAIR = 360 + SYS_BIND = 361 + SYS_CONNECT = 362 + SYS_LISTEN = 363 + SYS_ACCEPT4 = 364 + SYS_GETSOCKOPT = 365 + SYS_SETSOCKOPT = 366 + SYS_GETSOCKNAME = 367 + SYS_GETPEERNAME = 368 + SYS_SENDTO = 369 + SYS_SENDMSG = 370 + SYS_RECVFROM = 371 + SYS_RECVMSG = 372 + SYS_SHUTDOWN = 373 + SYS_USERFAULTFD = 374 + SYS_MEMBARRIER = 375 + SYS_MLOCK2 = 376 + SYS_COPY_FILE_RANGE = 377 + SYS_PREADV2 = 378 + SYS_PWRITEV2 = 379 + SYS_PKEY_MPROTECT = 380 + SYS_PKEY_ALLOC = 381 + SYS_PKEY_FREE = 382 + SYS_STATX = 383 + SYS_ARCH_PRCTL = 384 + SYS_IO_PGETEVENTS = 385 + SYS_RSEQ = 386 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_CLOCK_GETTIME64 = 403 + SYS_CLOCK_SETTIME64 = 404 + SYS_CLOCK_ADJTIME64 = 405 + SYS_CLOCK_GETRES_TIME64 = 406 + SYS_CLOCK_NANOSLEEP_TIME64 = 407 + SYS_TIMER_GETTIME64 = 408 + SYS_TIMER_SETTIME64 = 409 + SYS_TIMERFD_GETTIME64 = 410 + SYS_TIMERFD_SETTIME64 = 411 + SYS_UTIMENSAT_TIME64 = 412 + SYS_PSELECT6_TIME64 = 413 + SYS_PPOLL_TIME64 = 414 + SYS_IO_PGETEVENTS_TIME64 = 416 + SYS_RECVMMSG_TIME64 = 417 + SYS_MQ_TIMEDSEND_TIME64 = 418 + SYS_MQ_TIMEDRECEIVE_TIME64 = 419 + SYS_SEMTIMEDOP_TIME64 = 420 + SYS_RT_SIGTIMEDWAIT_TIME64 = 421 + SYS_FUTEX_TIME64 = 422 + SYS_SCHED_RR_GET_INTERVAL_TIME64 = 423 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go index b3d8ad79..9ba20784 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go @@ -341,4 +341,8 @@ const ( SYS_STATX = 332 SYS_IO_PGETEVENTS = 333 SYS_RSEQ = 334 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go index e092822f..94f68f10 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go @@ -6,359 +6,385 @@ package unix const ( - SYS_RESTART_SYSCALL = 0 - SYS_EXIT = 1 - SYS_FORK = 2 - SYS_READ = 3 - SYS_WRITE = 4 - SYS_OPEN = 5 - SYS_CLOSE = 6 - SYS_CREAT = 8 - SYS_LINK = 9 - SYS_UNLINK = 10 - SYS_EXECVE = 11 - SYS_CHDIR = 12 - SYS_MKNOD = 14 - SYS_CHMOD = 15 - SYS_LCHOWN = 16 - SYS_LSEEK = 19 - SYS_GETPID = 20 - SYS_MOUNT = 21 - SYS_SETUID = 23 - SYS_GETUID = 24 - SYS_PTRACE = 26 - SYS_PAUSE = 29 - SYS_ACCESS = 33 - SYS_NICE = 34 - SYS_SYNC = 36 - SYS_KILL = 37 - SYS_RENAME = 38 - SYS_MKDIR = 39 - SYS_RMDIR = 40 - SYS_DUP = 41 - SYS_PIPE = 42 - SYS_TIMES = 43 - SYS_BRK = 45 - SYS_SETGID = 46 - SYS_GETGID = 47 - SYS_GETEUID = 49 - SYS_GETEGID = 50 - SYS_ACCT = 51 - SYS_UMOUNT2 = 52 - SYS_IOCTL = 54 - SYS_FCNTL = 55 - SYS_SETPGID = 57 - SYS_UMASK = 60 - SYS_CHROOT = 61 - SYS_USTAT = 62 - SYS_DUP2 = 63 - SYS_GETPPID = 64 - SYS_GETPGRP = 65 - SYS_SETSID = 66 - SYS_SIGACTION = 67 - SYS_SETREUID = 70 - SYS_SETREGID = 71 - SYS_SIGSUSPEND = 72 - SYS_SIGPENDING = 73 - SYS_SETHOSTNAME = 74 - SYS_SETRLIMIT = 75 - SYS_GETRUSAGE = 77 - SYS_GETTIMEOFDAY = 78 - SYS_SETTIMEOFDAY = 79 - SYS_GETGROUPS = 80 - SYS_SETGROUPS = 81 - SYS_SYMLINK = 83 - SYS_READLINK = 85 - SYS_USELIB = 86 - SYS_SWAPON = 87 - SYS_REBOOT = 88 - SYS_MUNMAP = 91 - SYS_TRUNCATE = 92 - SYS_FTRUNCATE = 93 - SYS_FCHMOD = 94 - SYS_FCHOWN = 95 - SYS_GETPRIORITY = 96 - SYS_SETPRIORITY = 97 - SYS_STATFS = 99 - SYS_FSTATFS = 100 - SYS_SYSLOG = 103 - SYS_SETITIMER = 104 - SYS_GETITIMER = 105 - SYS_STAT = 106 - SYS_LSTAT = 107 - SYS_FSTAT = 108 - SYS_VHANGUP = 111 - SYS_WAIT4 = 114 - SYS_SWAPOFF = 115 - SYS_SYSINFO = 116 - SYS_FSYNC = 118 - SYS_SIGRETURN = 119 - SYS_CLONE = 120 - SYS_SETDOMAINNAME = 121 - SYS_UNAME = 122 - SYS_ADJTIMEX = 124 - SYS_MPROTECT = 125 - SYS_SIGPROCMASK = 126 - SYS_INIT_MODULE = 128 - SYS_DELETE_MODULE = 129 - SYS_QUOTACTL = 131 - SYS_GETPGID = 132 - SYS_FCHDIR = 133 - SYS_BDFLUSH = 134 - SYS_SYSFS = 135 - SYS_PERSONALITY = 136 - SYS_SETFSUID = 138 - SYS_SETFSGID = 139 - SYS__LLSEEK = 140 - SYS_GETDENTS = 141 - SYS__NEWSELECT = 142 - SYS_FLOCK = 143 - SYS_MSYNC = 144 - SYS_READV = 145 - SYS_WRITEV = 146 - SYS_GETSID = 147 - SYS_FDATASYNC = 148 - SYS__SYSCTL = 149 - SYS_MLOCK = 150 - SYS_MUNLOCK = 151 - SYS_MLOCKALL = 152 - SYS_MUNLOCKALL = 153 - SYS_SCHED_SETPARAM = 154 - SYS_SCHED_GETPARAM = 155 - SYS_SCHED_SETSCHEDULER = 156 - SYS_SCHED_GETSCHEDULER = 157 - SYS_SCHED_YIELD = 158 - SYS_SCHED_GET_PRIORITY_MAX = 159 - SYS_SCHED_GET_PRIORITY_MIN = 160 - SYS_SCHED_RR_GET_INTERVAL = 161 - SYS_NANOSLEEP = 162 - SYS_MREMAP = 163 - SYS_SETRESUID = 164 - SYS_GETRESUID = 165 - SYS_POLL = 168 - SYS_NFSSERVCTL = 169 - SYS_SETRESGID = 170 - SYS_GETRESGID = 171 - SYS_PRCTL = 172 - SYS_RT_SIGRETURN = 173 - SYS_RT_SIGACTION = 174 - SYS_RT_SIGPROCMASK = 175 - SYS_RT_SIGPENDING = 176 - SYS_RT_SIGTIMEDWAIT = 177 - SYS_RT_SIGQUEUEINFO = 178 - SYS_RT_SIGSUSPEND = 179 - SYS_PREAD64 = 180 - SYS_PWRITE64 = 181 - SYS_CHOWN = 182 - SYS_GETCWD = 183 - SYS_CAPGET = 184 - SYS_CAPSET = 185 - SYS_SIGALTSTACK = 186 - SYS_SENDFILE = 187 - SYS_VFORK = 190 - SYS_UGETRLIMIT = 191 - SYS_MMAP2 = 192 - SYS_TRUNCATE64 = 193 - SYS_FTRUNCATE64 = 194 - SYS_STAT64 = 195 - SYS_LSTAT64 = 196 - SYS_FSTAT64 = 197 - SYS_LCHOWN32 = 198 - SYS_GETUID32 = 199 - SYS_GETGID32 = 200 - SYS_GETEUID32 = 201 - SYS_GETEGID32 = 202 - SYS_SETREUID32 = 203 - SYS_SETREGID32 = 204 - SYS_GETGROUPS32 = 205 - SYS_SETGROUPS32 = 206 - SYS_FCHOWN32 = 207 - SYS_SETRESUID32 = 208 - SYS_GETRESUID32 = 209 - SYS_SETRESGID32 = 210 - SYS_GETRESGID32 = 211 - SYS_CHOWN32 = 212 - SYS_SETUID32 = 213 - SYS_SETGID32 = 214 - SYS_SETFSUID32 = 215 - SYS_SETFSGID32 = 216 - SYS_GETDENTS64 = 217 - SYS_PIVOT_ROOT = 218 - SYS_MINCORE = 219 - SYS_MADVISE = 220 - SYS_FCNTL64 = 221 - SYS_GETTID = 224 - SYS_READAHEAD = 225 - SYS_SETXATTR = 226 - SYS_LSETXATTR = 227 - SYS_FSETXATTR = 228 - SYS_GETXATTR = 229 - SYS_LGETXATTR = 230 - SYS_FGETXATTR = 231 - SYS_LISTXATTR = 232 - SYS_LLISTXATTR = 233 - SYS_FLISTXATTR = 234 - SYS_REMOVEXATTR = 235 - SYS_LREMOVEXATTR = 236 - SYS_FREMOVEXATTR = 237 - SYS_TKILL = 238 - SYS_SENDFILE64 = 239 - SYS_FUTEX = 240 - SYS_SCHED_SETAFFINITY = 241 - SYS_SCHED_GETAFFINITY = 242 - SYS_IO_SETUP = 243 - SYS_IO_DESTROY = 244 - SYS_IO_GETEVENTS = 245 - SYS_IO_SUBMIT = 246 - SYS_IO_CANCEL = 247 - SYS_EXIT_GROUP = 248 - SYS_LOOKUP_DCOOKIE = 249 - SYS_EPOLL_CREATE = 250 - SYS_EPOLL_CTL = 251 - SYS_EPOLL_WAIT = 252 - SYS_REMAP_FILE_PAGES = 253 - SYS_SET_TID_ADDRESS = 256 - SYS_TIMER_CREATE = 257 - SYS_TIMER_SETTIME = 258 - SYS_TIMER_GETTIME = 259 - SYS_TIMER_GETOVERRUN = 260 - SYS_TIMER_DELETE = 261 - SYS_CLOCK_SETTIME = 262 - SYS_CLOCK_GETTIME = 263 - SYS_CLOCK_GETRES = 264 - SYS_CLOCK_NANOSLEEP = 265 - SYS_STATFS64 = 266 - SYS_FSTATFS64 = 267 - SYS_TGKILL = 268 - SYS_UTIMES = 269 - SYS_ARM_FADVISE64_64 = 270 - SYS_PCICONFIG_IOBASE = 271 - SYS_PCICONFIG_READ = 272 - SYS_PCICONFIG_WRITE = 273 - SYS_MQ_OPEN = 274 - SYS_MQ_UNLINK = 275 - SYS_MQ_TIMEDSEND = 276 - SYS_MQ_TIMEDRECEIVE = 277 - SYS_MQ_NOTIFY = 278 - SYS_MQ_GETSETATTR = 279 - SYS_WAITID = 280 - SYS_SOCKET = 281 - SYS_BIND = 282 - SYS_CONNECT = 283 - SYS_LISTEN = 284 - SYS_ACCEPT = 285 - SYS_GETSOCKNAME = 286 - SYS_GETPEERNAME = 287 - SYS_SOCKETPAIR = 288 - SYS_SEND = 289 - SYS_SENDTO = 290 - SYS_RECV = 291 - SYS_RECVFROM = 292 - SYS_SHUTDOWN = 293 - SYS_SETSOCKOPT = 294 - SYS_GETSOCKOPT = 295 - SYS_SENDMSG = 296 - SYS_RECVMSG = 297 - SYS_SEMOP = 298 - SYS_SEMGET = 299 - SYS_SEMCTL = 300 - SYS_MSGSND = 301 - SYS_MSGRCV = 302 - SYS_MSGGET = 303 - SYS_MSGCTL = 304 - SYS_SHMAT = 305 - SYS_SHMDT = 306 - SYS_SHMGET = 307 - SYS_SHMCTL = 308 - SYS_ADD_KEY = 309 - SYS_REQUEST_KEY = 310 - SYS_KEYCTL = 311 - SYS_SEMTIMEDOP = 312 - SYS_VSERVER = 313 - SYS_IOPRIO_SET = 314 - SYS_IOPRIO_GET = 315 - SYS_INOTIFY_INIT = 316 - SYS_INOTIFY_ADD_WATCH = 317 - SYS_INOTIFY_RM_WATCH = 318 - SYS_MBIND = 319 - SYS_GET_MEMPOLICY = 320 - SYS_SET_MEMPOLICY = 321 - SYS_OPENAT = 322 - SYS_MKDIRAT = 323 - SYS_MKNODAT = 324 - SYS_FCHOWNAT = 325 - SYS_FUTIMESAT = 326 - SYS_FSTATAT64 = 327 - SYS_UNLINKAT = 328 - SYS_RENAMEAT = 329 - SYS_LINKAT = 330 - SYS_SYMLINKAT = 331 - SYS_READLINKAT = 332 - SYS_FCHMODAT = 333 - SYS_FACCESSAT = 334 - SYS_PSELECT6 = 335 - SYS_PPOLL = 336 - SYS_UNSHARE = 337 - SYS_SET_ROBUST_LIST = 338 - SYS_GET_ROBUST_LIST = 339 - SYS_SPLICE = 340 - SYS_ARM_SYNC_FILE_RANGE = 341 - SYS_TEE = 342 - SYS_VMSPLICE = 343 - SYS_MOVE_PAGES = 344 - SYS_GETCPU = 345 - SYS_EPOLL_PWAIT = 346 - SYS_KEXEC_LOAD = 347 - SYS_UTIMENSAT = 348 - SYS_SIGNALFD = 349 - SYS_TIMERFD_CREATE = 350 - SYS_EVENTFD = 351 - SYS_FALLOCATE = 352 - SYS_TIMERFD_SETTIME = 353 - SYS_TIMERFD_GETTIME = 354 - SYS_SIGNALFD4 = 355 - SYS_EVENTFD2 = 356 - SYS_EPOLL_CREATE1 = 357 - SYS_DUP3 = 358 - SYS_PIPE2 = 359 - SYS_INOTIFY_INIT1 = 360 - SYS_PREADV = 361 - SYS_PWRITEV = 362 - SYS_RT_TGSIGQUEUEINFO = 363 - SYS_PERF_EVENT_OPEN = 364 - SYS_RECVMMSG = 365 - SYS_ACCEPT4 = 366 - SYS_FANOTIFY_INIT = 367 - SYS_FANOTIFY_MARK = 368 - SYS_PRLIMIT64 = 369 - SYS_NAME_TO_HANDLE_AT = 370 - SYS_OPEN_BY_HANDLE_AT = 371 - SYS_CLOCK_ADJTIME = 372 - SYS_SYNCFS = 373 - SYS_SENDMMSG = 374 - SYS_SETNS = 375 - SYS_PROCESS_VM_READV = 376 - SYS_PROCESS_VM_WRITEV = 377 - SYS_KCMP = 378 - SYS_FINIT_MODULE = 379 - SYS_SCHED_SETATTR = 380 - SYS_SCHED_GETATTR = 381 - SYS_RENAMEAT2 = 382 - SYS_SECCOMP = 383 - SYS_GETRANDOM = 384 - SYS_MEMFD_CREATE = 385 - SYS_BPF = 386 - SYS_EXECVEAT = 387 - SYS_USERFAULTFD = 388 - SYS_MEMBARRIER = 389 - SYS_MLOCK2 = 390 - SYS_COPY_FILE_RANGE = 391 - SYS_PREADV2 = 392 - SYS_PWRITEV2 = 393 - SYS_PKEY_MPROTECT = 394 - SYS_PKEY_ALLOC = 395 - SYS_PKEY_FREE = 396 - SYS_STATX = 397 - SYS_RSEQ = 398 - SYS_IO_PGETEVENTS = 399 + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_PTRACE = 26 + SYS_PAUSE = 29 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_SETPGID = 57 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SYMLINK = 83 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_VHANGUP = 111 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_POLL = 168 + SYS_NFSSERVCTL = 169 + SYS_SETRESGID = 170 + SYS_GETRESGID = 171 + SYS_PRCTL = 172 + SYS_RT_SIGRETURN = 173 + SYS_RT_SIGACTION = 174 + SYS_RT_SIGPROCMASK = 175 + SYS_RT_SIGPENDING = 176 + SYS_RT_SIGTIMEDWAIT = 177 + SYS_RT_SIGQUEUEINFO = 178 + SYS_RT_SIGSUSPEND = 179 + SYS_PREAD64 = 180 + SYS_PWRITE64 = 181 + SYS_CHOWN = 182 + SYS_GETCWD = 183 + SYS_CAPGET = 184 + SYS_CAPSET = 185 + SYS_SIGALTSTACK = 186 + SYS_SENDFILE = 187 + SYS_VFORK = 190 + SYS_UGETRLIMIT = 191 + SYS_MMAP2 = 192 + SYS_TRUNCATE64 = 193 + SYS_FTRUNCATE64 = 194 + SYS_STAT64 = 195 + SYS_LSTAT64 = 196 + SYS_FSTAT64 = 197 + SYS_LCHOWN32 = 198 + SYS_GETUID32 = 199 + SYS_GETGID32 = 200 + SYS_GETEUID32 = 201 + SYS_GETEGID32 = 202 + SYS_SETREUID32 = 203 + SYS_SETREGID32 = 204 + SYS_GETGROUPS32 = 205 + SYS_SETGROUPS32 = 206 + SYS_FCHOWN32 = 207 + SYS_SETRESUID32 = 208 + SYS_GETRESUID32 = 209 + SYS_SETRESGID32 = 210 + SYS_GETRESGID32 = 211 + SYS_CHOWN32 = 212 + SYS_SETUID32 = 213 + SYS_SETGID32 = 214 + SYS_SETFSUID32 = 215 + SYS_SETFSGID32 = 216 + SYS_GETDENTS64 = 217 + SYS_PIVOT_ROOT = 218 + SYS_MINCORE = 219 + SYS_MADVISE = 220 + SYS_FCNTL64 = 221 + SYS_GETTID = 224 + SYS_READAHEAD = 225 + SYS_SETXATTR = 226 + SYS_LSETXATTR = 227 + SYS_FSETXATTR = 228 + SYS_GETXATTR = 229 + SYS_LGETXATTR = 230 + SYS_FGETXATTR = 231 + SYS_LISTXATTR = 232 + SYS_LLISTXATTR = 233 + SYS_FLISTXATTR = 234 + SYS_REMOVEXATTR = 235 + SYS_LREMOVEXATTR = 236 + SYS_FREMOVEXATTR = 237 + SYS_TKILL = 238 + SYS_SENDFILE64 = 239 + SYS_FUTEX = 240 + SYS_SCHED_SETAFFINITY = 241 + SYS_SCHED_GETAFFINITY = 242 + SYS_IO_SETUP = 243 + SYS_IO_DESTROY = 244 + SYS_IO_GETEVENTS = 245 + SYS_IO_SUBMIT = 246 + SYS_IO_CANCEL = 247 + SYS_EXIT_GROUP = 248 + SYS_LOOKUP_DCOOKIE = 249 + SYS_EPOLL_CREATE = 250 + SYS_EPOLL_CTL = 251 + SYS_EPOLL_WAIT = 252 + SYS_REMAP_FILE_PAGES = 253 + SYS_SET_TID_ADDRESS = 256 + SYS_TIMER_CREATE = 257 + SYS_TIMER_SETTIME = 258 + SYS_TIMER_GETTIME = 259 + SYS_TIMER_GETOVERRUN = 260 + SYS_TIMER_DELETE = 261 + SYS_CLOCK_SETTIME = 262 + SYS_CLOCK_GETTIME = 263 + SYS_CLOCK_GETRES = 264 + SYS_CLOCK_NANOSLEEP = 265 + SYS_STATFS64 = 266 + SYS_FSTATFS64 = 267 + SYS_TGKILL = 268 + SYS_UTIMES = 269 + SYS_ARM_FADVISE64_64 = 270 + SYS_PCICONFIG_IOBASE = 271 + SYS_PCICONFIG_READ = 272 + SYS_PCICONFIG_WRITE = 273 + SYS_MQ_OPEN = 274 + SYS_MQ_UNLINK = 275 + SYS_MQ_TIMEDSEND = 276 + SYS_MQ_TIMEDRECEIVE = 277 + SYS_MQ_NOTIFY = 278 + SYS_MQ_GETSETATTR = 279 + SYS_WAITID = 280 + SYS_SOCKET = 281 + SYS_BIND = 282 + SYS_CONNECT = 283 + SYS_LISTEN = 284 + SYS_ACCEPT = 285 + SYS_GETSOCKNAME = 286 + SYS_GETPEERNAME = 287 + SYS_SOCKETPAIR = 288 + SYS_SEND = 289 + SYS_SENDTO = 290 + SYS_RECV = 291 + SYS_RECVFROM = 292 + SYS_SHUTDOWN = 293 + SYS_SETSOCKOPT = 294 + SYS_GETSOCKOPT = 295 + SYS_SENDMSG = 296 + SYS_RECVMSG = 297 + SYS_SEMOP = 298 + SYS_SEMGET = 299 + SYS_SEMCTL = 300 + SYS_MSGSND = 301 + SYS_MSGRCV = 302 + SYS_MSGGET = 303 + SYS_MSGCTL = 304 + SYS_SHMAT = 305 + SYS_SHMDT = 306 + SYS_SHMGET = 307 + SYS_SHMCTL = 308 + SYS_ADD_KEY = 309 + SYS_REQUEST_KEY = 310 + SYS_KEYCTL = 311 + SYS_SEMTIMEDOP = 312 + SYS_VSERVER = 313 + SYS_IOPRIO_SET = 314 + SYS_IOPRIO_GET = 315 + SYS_INOTIFY_INIT = 316 + SYS_INOTIFY_ADD_WATCH = 317 + SYS_INOTIFY_RM_WATCH = 318 + SYS_MBIND = 319 + SYS_GET_MEMPOLICY = 320 + SYS_SET_MEMPOLICY = 321 + SYS_OPENAT = 322 + SYS_MKDIRAT = 323 + SYS_MKNODAT = 324 + SYS_FCHOWNAT = 325 + SYS_FUTIMESAT = 326 + SYS_FSTATAT64 = 327 + SYS_UNLINKAT = 328 + SYS_RENAMEAT = 329 + SYS_LINKAT = 330 + SYS_SYMLINKAT = 331 + SYS_READLINKAT = 332 + SYS_FCHMODAT = 333 + SYS_FACCESSAT = 334 + SYS_PSELECT6 = 335 + SYS_PPOLL = 336 + SYS_UNSHARE = 337 + SYS_SET_ROBUST_LIST = 338 + SYS_GET_ROBUST_LIST = 339 + SYS_SPLICE = 340 + SYS_ARM_SYNC_FILE_RANGE = 341 + SYS_TEE = 342 + SYS_VMSPLICE = 343 + SYS_MOVE_PAGES = 344 + SYS_GETCPU = 345 + SYS_EPOLL_PWAIT = 346 + SYS_KEXEC_LOAD = 347 + SYS_UTIMENSAT = 348 + SYS_SIGNALFD = 349 + SYS_TIMERFD_CREATE = 350 + SYS_EVENTFD = 351 + SYS_FALLOCATE = 352 + SYS_TIMERFD_SETTIME = 353 + SYS_TIMERFD_GETTIME = 354 + SYS_SIGNALFD4 = 355 + SYS_EVENTFD2 = 356 + SYS_EPOLL_CREATE1 = 357 + SYS_DUP3 = 358 + SYS_PIPE2 = 359 + SYS_INOTIFY_INIT1 = 360 + SYS_PREADV = 361 + SYS_PWRITEV = 362 + SYS_RT_TGSIGQUEUEINFO = 363 + SYS_PERF_EVENT_OPEN = 364 + SYS_RECVMMSG = 365 + SYS_ACCEPT4 = 366 + SYS_FANOTIFY_INIT = 367 + SYS_FANOTIFY_MARK = 368 + SYS_PRLIMIT64 = 369 + SYS_NAME_TO_HANDLE_AT = 370 + SYS_OPEN_BY_HANDLE_AT = 371 + SYS_CLOCK_ADJTIME = 372 + SYS_SYNCFS = 373 + SYS_SENDMMSG = 374 + SYS_SETNS = 375 + SYS_PROCESS_VM_READV = 376 + SYS_PROCESS_VM_WRITEV = 377 + SYS_KCMP = 378 + SYS_FINIT_MODULE = 379 + SYS_SCHED_SETATTR = 380 + SYS_SCHED_GETATTR = 381 + SYS_RENAMEAT2 = 382 + SYS_SECCOMP = 383 + SYS_GETRANDOM = 384 + SYS_MEMFD_CREATE = 385 + SYS_BPF = 386 + SYS_EXECVEAT = 387 + SYS_USERFAULTFD = 388 + SYS_MEMBARRIER = 389 + SYS_MLOCK2 = 390 + SYS_COPY_FILE_RANGE = 391 + SYS_PREADV2 = 392 + SYS_PWRITEV2 = 393 + SYS_PKEY_MPROTECT = 394 + SYS_PKEY_ALLOC = 395 + SYS_PKEY_FREE = 396 + SYS_STATX = 397 + SYS_RSEQ = 398 + SYS_IO_PGETEVENTS = 399 + SYS_MIGRATE_PAGES = 400 + SYS_KEXEC_FILE_LOAD = 401 + SYS_CLOCK_GETTIME64 = 403 + SYS_CLOCK_SETTIME64 = 404 + SYS_CLOCK_ADJTIME64 = 405 + SYS_CLOCK_GETRES_TIME64 = 406 + SYS_CLOCK_NANOSLEEP_TIME64 = 407 + SYS_TIMER_GETTIME64 = 408 + SYS_TIMER_SETTIME64 = 409 + SYS_TIMERFD_GETTIME64 = 410 + SYS_TIMERFD_SETTIME64 = 411 + SYS_UTIMENSAT_TIME64 = 412 + SYS_PSELECT6_TIME64 = 413 + SYS_PPOLL_TIME64 = 414 + SYS_IO_PGETEVENTS_TIME64 = 416 + SYS_RECVMMSG_TIME64 = 417 + SYS_MQ_TIMEDSEND_TIME64 = 418 + SYS_MQ_TIMEDRECEIVE_TIME64 = 419 + SYS_SEMTIMEDOP_TIME64 = 420 + SYS_RT_SIGTIMEDWAIT_TIME64 = 421 + SYS_FUTEX_TIME64 = 422 + SYS_SCHED_RR_GET_INTERVAL_TIME64 = 423 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go index 32069678..15c41351 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go @@ -285,4 +285,9 @@ const ( SYS_STATX = 291 SYS_IO_PGETEVENTS = 292 SYS_RSEQ = 293 + SYS_KEXEC_FILE_LOAD = 294 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go index 6893a5bd..638465b1 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go @@ -6,372 +6,406 @@ package unix const ( - SYS_SYSCALL = 4000 - SYS_EXIT = 4001 - SYS_FORK = 4002 - SYS_READ = 4003 - SYS_WRITE = 4004 - SYS_OPEN = 4005 - SYS_CLOSE = 4006 - SYS_WAITPID = 4007 - SYS_CREAT = 4008 - SYS_LINK = 4009 - SYS_UNLINK = 4010 - SYS_EXECVE = 4011 - SYS_CHDIR = 4012 - SYS_TIME = 4013 - SYS_MKNOD = 4014 - SYS_CHMOD = 4015 - SYS_LCHOWN = 4016 - SYS_BREAK = 4017 - SYS_UNUSED18 = 4018 - SYS_LSEEK = 4019 - SYS_GETPID = 4020 - SYS_MOUNT = 4021 - SYS_UMOUNT = 4022 - SYS_SETUID = 4023 - SYS_GETUID = 4024 - SYS_STIME = 4025 - SYS_PTRACE = 4026 - SYS_ALARM = 4027 - SYS_UNUSED28 = 4028 - SYS_PAUSE = 4029 - SYS_UTIME = 4030 - SYS_STTY = 4031 - SYS_GTTY = 4032 - SYS_ACCESS = 4033 - SYS_NICE = 4034 - SYS_FTIME = 4035 - SYS_SYNC = 4036 - SYS_KILL = 4037 - SYS_RENAME = 4038 - SYS_MKDIR = 4039 - SYS_RMDIR = 4040 - SYS_DUP = 4041 - SYS_PIPE = 4042 - SYS_TIMES = 4043 - SYS_PROF = 4044 - SYS_BRK = 4045 - SYS_SETGID = 4046 - SYS_GETGID = 4047 - SYS_SIGNAL = 4048 - SYS_GETEUID = 4049 - SYS_GETEGID = 4050 - SYS_ACCT = 4051 - SYS_UMOUNT2 = 4052 - SYS_LOCK = 4053 - SYS_IOCTL = 4054 - SYS_FCNTL = 4055 - SYS_MPX = 4056 - SYS_SETPGID = 4057 - SYS_ULIMIT = 4058 - SYS_UNUSED59 = 4059 - SYS_UMASK = 4060 - SYS_CHROOT = 4061 - SYS_USTAT = 4062 - SYS_DUP2 = 4063 - SYS_GETPPID = 4064 - SYS_GETPGRP = 4065 - SYS_SETSID = 4066 - SYS_SIGACTION = 4067 - SYS_SGETMASK = 4068 - SYS_SSETMASK = 4069 - SYS_SETREUID = 4070 - SYS_SETREGID = 4071 - SYS_SIGSUSPEND = 4072 - SYS_SIGPENDING = 4073 - SYS_SETHOSTNAME = 4074 - SYS_SETRLIMIT = 4075 - SYS_GETRLIMIT = 4076 - SYS_GETRUSAGE = 4077 - SYS_GETTIMEOFDAY = 4078 - SYS_SETTIMEOFDAY = 4079 - SYS_GETGROUPS = 4080 - SYS_SETGROUPS = 4081 - SYS_RESERVED82 = 4082 - SYS_SYMLINK = 4083 - SYS_UNUSED84 = 4084 - SYS_READLINK = 4085 - SYS_USELIB = 4086 - SYS_SWAPON = 4087 - SYS_REBOOT = 4088 - SYS_READDIR = 4089 - SYS_MMAP = 4090 - SYS_MUNMAP = 4091 - SYS_TRUNCATE = 4092 - SYS_FTRUNCATE = 4093 - SYS_FCHMOD = 4094 - SYS_FCHOWN = 4095 - SYS_GETPRIORITY = 4096 - SYS_SETPRIORITY = 4097 - SYS_PROFIL = 4098 - SYS_STATFS = 4099 - SYS_FSTATFS = 4100 - SYS_IOPERM = 4101 - SYS_SOCKETCALL = 4102 - SYS_SYSLOG = 4103 - SYS_SETITIMER = 4104 - SYS_GETITIMER = 4105 - SYS_STAT = 4106 - SYS_LSTAT = 4107 - SYS_FSTAT = 4108 - SYS_UNUSED109 = 4109 - SYS_IOPL = 4110 - SYS_VHANGUP = 4111 - SYS_IDLE = 4112 - SYS_VM86 = 4113 - SYS_WAIT4 = 4114 - SYS_SWAPOFF = 4115 - SYS_SYSINFO = 4116 - SYS_IPC = 4117 - SYS_FSYNC = 4118 - SYS_SIGRETURN = 4119 - SYS_CLONE = 4120 - SYS_SETDOMAINNAME = 4121 - SYS_UNAME = 4122 - SYS_MODIFY_LDT = 4123 - SYS_ADJTIMEX = 4124 - SYS_MPROTECT = 4125 - SYS_SIGPROCMASK = 4126 - SYS_CREATE_MODULE = 4127 - SYS_INIT_MODULE = 4128 - SYS_DELETE_MODULE = 4129 - SYS_GET_KERNEL_SYMS = 4130 - SYS_QUOTACTL = 4131 - SYS_GETPGID = 4132 - SYS_FCHDIR = 4133 - SYS_BDFLUSH = 4134 - SYS_SYSFS = 4135 - SYS_PERSONALITY = 4136 - SYS_AFS_SYSCALL = 4137 - SYS_SETFSUID = 4138 - SYS_SETFSGID = 4139 - SYS__LLSEEK = 4140 - SYS_GETDENTS = 4141 - SYS__NEWSELECT = 4142 - SYS_FLOCK = 4143 - SYS_MSYNC = 4144 - SYS_READV = 4145 - SYS_WRITEV = 4146 - SYS_CACHEFLUSH = 4147 - SYS_CACHECTL = 4148 - SYS_SYSMIPS = 4149 - SYS_UNUSED150 = 4150 - SYS_GETSID = 4151 - SYS_FDATASYNC = 4152 - SYS__SYSCTL = 4153 - SYS_MLOCK = 4154 - SYS_MUNLOCK = 4155 - SYS_MLOCKALL = 4156 - SYS_MUNLOCKALL = 4157 - SYS_SCHED_SETPARAM = 4158 - SYS_SCHED_GETPARAM = 4159 - SYS_SCHED_SETSCHEDULER = 4160 - SYS_SCHED_GETSCHEDULER = 4161 - SYS_SCHED_YIELD = 4162 - SYS_SCHED_GET_PRIORITY_MAX = 4163 - SYS_SCHED_GET_PRIORITY_MIN = 4164 - SYS_SCHED_RR_GET_INTERVAL = 4165 - SYS_NANOSLEEP = 4166 - SYS_MREMAP = 4167 - SYS_ACCEPT = 4168 - SYS_BIND = 4169 - SYS_CONNECT = 4170 - SYS_GETPEERNAME = 4171 - SYS_GETSOCKNAME = 4172 - SYS_GETSOCKOPT = 4173 - SYS_LISTEN = 4174 - SYS_RECV = 4175 - SYS_RECVFROM = 4176 - SYS_RECVMSG = 4177 - SYS_SEND = 4178 - SYS_SENDMSG = 4179 - SYS_SENDTO = 4180 - SYS_SETSOCKOPT = 4181 - SYS_SHUTDOWN = 4182 - SYS_SOCKET = 4183 - SYS_SOCKETPAIR = 4184 - SYS_SETRESUID = 4185 - SYS_GETRESUID = 4186 - SYS_QUERY_MODULE = 4187 - SYS_POLL = 4188 - SYS_NFSSERVCTL = 4189 - SYS_SETRESGID = 4190 - SYS_GETRESGID = 4191 - SYS_PRCTL = 4192 - SYS_RT_SIGRETURN = 4193 - SYS_RT_SIGACTION = 4194 - SYS_RT_SIGPROCMASK = 4195 - SYS_RT_SIGPENDING = 4196 - SYS_RT_SIGTIMEDWAIT = 4197 - SYS_RT_SIGQUEUEINFO = 4198 - SYS_RT_SIGSUSPEND = 4199 - SYS_PREAD64 = 4200 - SYS_PWRITE64 = 4201 - SYS_CHOWN = 4202 - SYS_GETCWD = 4203 - SYS_CAPGET = 4204 - SYS_CAPSET = 4205 - SYS_SIGALTSTACK = 4206 - SYS_SENDFILE = 4207 - SYS_GETPMSG = 4208 - SYS_PUTPMSG = 4209 - SYS_MMAP2 = 4210 - SYS_TRUNCATE64 = 4211 - SYS_FTRUNCATE64 = 4212 - SYS_STAT64 = 4213 - SYS_LSTAT64 = 4214 - SYS_FSTAT64 = 4215 - SYS_PIVOT_ROOT = 4216 - SYS_MINCORE = 4217 - SYS_MADVISE = 4218 - SYS_GETDENTS64 = 4219 - SYS_FCNTL64 = 4220 - SYS_RESERVED221 = 4221 - SYS_GETTID = 4222 - SYS_READAHEAD = 4223 - SYS_SETXATTR = 4224 - SYS_LSETXATTR = 4225 - SYS_FSETXATTR = 4226 - SYS_GETXATTR = 4227 - SYS_LGETXATTR = 4228 - SYS_FGETXATTR = 4229 - SYS_LISTXATTR = 4230 - SYS_LLISTXATTR = 4231 - SYS_FLISTXATTR = 4232 - SYS_REMOVEXATTR = 4233 - SYS_LREMOVEXATTR = 4234 - SYS_FREMOVEXATTR = 4235 - SYS_TKILL = 4236 - SYS_SENDFILE64 = 4237 - SYS_FUTEX = 4238 - SYS_SCHED_SETAFFINITY = 4239 - SYS_SCHED_GETAFFINITY = 4240 - SYS_IO_SETUP = 4241 - SYS_IO_DESTROY = 4242 - SYS_IO_GETEVENTS = 4243 - SYS_IO_SUBMIT = 4244 - SYS_IO_CANCEL = 4245 - SYS_EXIT_GROUP = 4246 - SYS_LOOKUP_DCOOKIE = 4247 - SYS_EPOLL_CREATE = 4248 - SYS_EPOLL_CTL = 4249 - SYS_EPOLL_WAIT = 4250 - SYS_REMAP_FILE_PAGES = 4251 - SYS_SET_TID_ADDRESS = 4252 - SYS_RESTART_SYSCALL = 4253 - SYS_FADVISE64 = 4254 - SYS_STATFS64 = 4255 - SYS_FSTATFS64 = 4256 - SYS_TIMER_CREATE = 4257 - SYS_TIMER_SETTIME = 4258 - SYS_TIMER_GETTIME = 4259 - SYS_TIMER_GETOVERRUN = 4260 - SYS_TIMER_DELETE = 4261 - SYS_CLOCK_SETTIME = 4262 - SYS_CLOCK_GETTIME = 4263 - SYS_CLOCK_GETRES = 4264 - SYS_CLOCK_NANOSLEEP = 4265 - SYS_TGKILL = 4266 - SYS_UTIMES = 4267 - SYS_MBIND = 4268 - SYS_GET_MEMPOLICY = 4269 - SYS_SET_MEMPOLICY = 4270 - SYS_MQ_OPEN = 4271 - SYS_MQ_UNLINK = 4272 - SYS_MQ_TIMEDSEND = 4273 - SYS_MQ_TIMEDRECEIVE = 4274 - SYS_MQ_NOTIFY = 4275 - SYS_MQ_GETSETATTR = 4276 - SYS_VSERVER = 4277 - SYS_WAITID = 4278 - SYS_ADD_KEY = 4280 - SYS_REQUEST_KEY = 4281 - SYS_KEYCTL = 4282 - SYS_SET_THREAD_AREA = 4283 - SYS_INOTIFY_INIT = 4284 - SYS_INOTIFY_ADD_WATCH = 4285 - SYS_INOTIFY_RM_WATCH = 4286 - SYS_MIGRATE_PAGES = 4287 - SYS_OPENAT = 4288 - SYS_MKDIRAT = 4289 - SYS_MKNODAT = 4290 - SYS_FCHOWNAT = 4291 - SYS_FUTIMESAT = 4292 - SYS_FSTATAT64 = 4293 - SYS_UNLINKAT = 4294 - SYS_RENAMEAT = 4295 - SYS_LINKAT = 4296 - SYS_SYMLINKAT = 4297 - SYS_READLINKAT = 4298 - SYS_FCHMODAT = 4299 - SYS_FACCESSAT = 4300 - SYS_PSELECT6 = 4301 - SYS_PPOLL = 4302 - SYS_UNSHARE = 4303 - SYS_SPLICE = 4304 - SYS_SYNC_FILE_RANGE = 4305 - SYS_TEE = 4306 - SYS_VMSPLICE = 4307 - SYS_MOVE_PAGES = 4308 - SYS_SET_ROBUST_LIST = 4309 - SYS_GET_ROBUST_LIST = 4310 - SYS_KEXEC_LOAD = 4311 - SYS_GETCPU = 4312 - SYS_EPOLL_PWAIT = 4313 - SYS_IOPRIO_SET = 4314 - SYS_IOPRIO_GET = 4315 - SYS_UTIMENSAT = 4316 - SYS_SIGNALFD = 4317 - SYS_TIMERFD = 4318 - SYS_EVENTFD = 4319 - SYS_FALLOCATE = 4320 - SYS_TIMERFD_CREATE = 4321 - SYS_TIMERFD_GETTIME = 4322 - SYS_TIMERFD_SETTIME = 4323 - SYS_SIGNALFD4 = 4324 - SYS_EVENTFD2 = 4325 - SYS_EPOLL_CREATE1 = 4326 - SYS_DUP3 = 4327 - SYS_PIPE2 = 4328 - SYS_INOTIFY_INIT1 = 4329 - SYS_PREADV = 4330 - SYS_PWRITEV = 4331 - SYS_RT_TGSIGQUEUEINFO = 4332 - SYS_PERF_EVENT_OPEN = 4333 - SYS_ACCEPT4 = 4334 - SYS_RECVMMSG = 4335 - SYS_FANOTIFY_INIT = 4336 - SYS_FANOTIFY_MARK = 4337 - SYS_PRLIMIT64 = 4338 - SYS_NAME_TO_HANDLE_AT = 4339 - SYS_OPEN_BY_HANDLE_AT = 4340 - SYS_CLOCK_ADJTIME = 4341 - SYS_SYNCFS = 4342 - SYS_SENDMMSG = 4343 - SYS_SETNS = 4344 - SYS_PROCESS_VM_READV = 4345 - SYS_PROCESS_VM_WRITEV = 4346 - SYS_KCMP = 4347 - SYS_FINIT_MODULE = 4348 - SYS_SCHED_SETATTR = 4349 - SYS_SCHED_GETATTR = 4350 - SYS_RENAMEAT2 = 4351 - SYS_SECCOMP = 4352 - SYS_GETRANDOM = 4353 - SYS_MEMFD_CREATE = 4354 - SYS_BPF = 4355 - SYS_EXECVEAT = 4356 - SYS_USERFAULTFD = 4357 - SYS_MEMBARRIER = 4358 - SYS_MLOCK2 = 4359 - SYS_COPY_FILE_RANGE = 4360 - SYS_PREADV2 = 4361 - SYS_PWRITEV2 = 4362 - SYS_PKEY_MPROTECT = 4363 - SYS_PKEY_ALLOC = 4364 - SYS_PKEY_FREE = 4365 - SYS_STATX = 4366 - SYS_RSEQ = 4367 - SYS_IO_PGETEVENTS = 4368 + SYS_SYSCALL = 4000 + SYS_EXIT = 4001 + SYS_FORK = 4002 + SYS_READ = 4003 + SYS_WRITE = 4004 + SYS_OPEN = 4005 + SYS_CLOSE = 4006 + SYS_WAITPID = 4007 + SYS_CREAT = 4008 + SYS_LINK = 4009 + SYS_UNLINK = 4010 + SYS_EXECVE = 4011 + SYS_CHDIR = 4012 + SYS_TIME = 4013 + SYS_MKNOD = 4014 + SYS_CHMOD = 4015 + SYS_LCHOWN = 4016 + SYS_BREAK = 4017 + SYS_UNUSED18 = 4018 + SYS_LSEEK = 4019 + SYS_GETPID = 4020 + SYS_MOUNT = 4021 + SYS_UMOUNT = 4022 + SYS_SETUID = 4023 + SYS_GETUID = 4024 + SYS_STIME = 4025 + SYS_PTRACE = 4026 + SYS_ALARM = 4027 + SYS_UNUSED28 = 4028 + SYS_PAUSE = 4029 + SYS_UTIME = 4030 + SYS_STTY = 4031 + SYS_GTTY = 4032 + SYS_ACCESS = 4033 + SYS_NICE = 4034 + SYS_FTIME = 4035 + SYS_SYNC = 4036 + SYS_KILL = 4037 + SYS_RENAME = 4038 + SYS_MKDIR = 4039 + SYS_RMDIR = 4040 + SYS_DUP = 4041 + SYS_PIPE = 4042 + SYS_TIMES = 4043 + SYS_PROF = 4044 + SYS_BRK = 4045 + SYS_SETGID = 4046 + SYS_GETGID = 4047 + SYS_SIGNAL = 4048 + SYS_GETEUID = 4049 + SYS_GETEGID = 4050 + SYS_ACCT = 4051 + SYS_UMOUNT2 = 4052 + SYS_LOCK = 4053 + SYS_IOCTL = 4054 + SYS_FCNTL = 4055 + SYS_MPX = 4056 + SYS_SETPGID = 4057 + SYS_ULIMIT = 4058 + SYS_UNUSED59 = 4059 + SYS_UMASK = 4060 + SYS_CHROOT = 4061 + SYS_USTAT = 4062 + SYS_DUP2 = 4063 + SYS_GETPPID = 4064 + SYS_GETPGRP = 4065 + SYS_SETSID = 4066 + SYS_SIGACTION = 4067 + SYS_SGETMASK = 4068 + SYS_SSETMASK = 4069 + SYS_SETREUID = 4070 + SYS_SETREGID = 4071 + SYS_SIGSUSPEND = 4072 + SYS_SIGPENDING = 4073 + SYS_SETHOSTNAME = 4074 + SYS_SETRLIMIT = 4075 + SYS_GETRLIMIT = 4076 + SYS_GETRUSAGE = 4077 + SYS_GETTIMEOFDAY = 4078 + SYS_SETTIMEOFDAY = 4079 + SYS_GETGROUPS = 4080 + SYS_SETGROUPS = 4081 + SYS_RESERVED82 = 4082 + SYS_SYMLINK = 4083 + SYS_UNUSED84 = 4084 + SYS_READLINK = 4085 + SYS_USELIB = 4086 + SYS_SWAPON = 4087 + SYS_REBOOT = 4088 + SYS_READDIR = 4089 + SYS_MMAP = 4090 + SYS_MUNMAP = 4091 + SYS_TRUNCATE = 4092 + SYS_FTRUNCATE = 4093 + SYS_FCHMOD = 4094 + SYS_FCHOWN = 4095 + SYS_GETPRIORITY = 4096 + SYS_SETPRIORITY = 4097 + SYS_PROFIL = 4098 + SYS_STATFS = 4099 + SYS_FSTATFS = 4100 + SYS_IOPERM = 4101 + SYS_SOCKETCALL = 4102 + SYS_SYSLOG = 4103 + SYS_SETITIMER = 4104 + SYS_GETITIMER = 4105 + SYS_STAT = 4106 + SYS_LSTAT = 4107 + SYS_FSTAT = 4108 + SYS_UNUSED109 = 4109 + SYS_IOPL = 4110 + SYS_VHANGUP = 4111 + SYS_IDLE = 4112 + SYS_VM86 = 4113 + SYS_WAIT4 = 4114 + SYS_SWAPOFF = 4115 + SYS_SYSINFO = 4116 + SYS_IPC = 4117 + SYS_FSYNC = 4118 + SYS_SIGRETURN = 4119 + SYS_CLONE = 4120 + SYS_SETDOMAINNAME = 4121 + SYS_UNAME = 4122 + SYS_MODIFY_LDT = 4123 + SYS_ADJTIMEX = 4124 + SYS_MPROTECT = 4125 + SYS_SIGPROCMASK = 4126 + SYS_CREATE_MODULE = 4127 + SYS_INIT_MODULE = 4128 + SYS_DELETE_MODULE = 4129 + SYS_GET_KERNEL_SYMS = 4130 + SYS_QUOTACTL = 4131 + SYS_GETPGID = 4132 + SYS_FCHDIR = 4133 + SYS_BDFLUSH = 4134 + SYS_SYSFS = 4135 + SYS_PERSONALITY = 4136 + SYS_AFS_SYSCALL = 4137 + SYS_SETFSUID = 4138 + SYS_SETFSGID = 4139 + SYS__LLSEEK = 4140 + SYS_GETDENTS = 4141 + SYS__NEWSELECT = 4142 + SYS_FLOCK = 4143 + SYS_MSYNC = 4144 + SYS_READV = 4145 + SYS_WRITEV = 4146 + SYS_CACHEFLUSH = 4147 + SYS_CACHECTL = 4148 + SYS_SYSMIPS = 4149 + SYS_UNUSED150 = 4150 + SYS_GETSID = 4151 + SYS_FDATASYNC = 4152 + SYS__SYSCTL = 4153 + SYS_MLOCK = 4154 + SYS_MUNLOCK = 4155 + SYS_MLOCKALL = 4156 + SYS_MUNLOCKALL = 4157 + SYS_SCHED_SETPARAM = 4158 + SYS_SCHED_GETPARAM = 4159 + SYS_SCHED_SETSCHEDULER = 4160 + SYS_SCHED_GETSCHEDULER = 4161 + SYS_SCHED_YIELD = 4162 + SYS_SCHED_GET_PRIORITY_MAX = 4163 + SYS_SCHED_GET_PRIORITY_MIN = 4164 + SYS_SCHED_RR_GET_INTERVAL = 4165 + SYS_NANOSLEEP = 4166 + SYS_MREMAP = 4167 + SYS_ACCEPT = 4168 + SYS_BIND = 4169 + SYS_CONNECT = 4170 + SYS_GETPEERNAME = 4171 + SYS_GETSOCKNAME = 4172 + SYS_GETSOCKOPT = 4173 + SYS_LISTEN = 4174 + SYS_RECV = 4175 + SYS_RECVFROM = 4176 + SYS_RECVMSG = 4177 + SYS_SEND = 4178 + SYS_SENDMSG = 4179 + SYS_SENDTO = 4180 + SYS_SETSOCKOPT = 4181 + SYS_SHUTDOWN = 4182 + SYS_SOCKET = 4183 + SYS_SOCKETPAIR = 4184 + SYS_SETRESUID = 4185 + SYS_GETRESUID = 4186 + SYS_QUERY_MODULE = 4187 + SYS_POLL = 4188 + SYS_NFSSERVCTL = 4189 + SYS_SETRESGID = 4190 + SYS_GETRESGID = 4191 + SYS_PRCTL = 4192 + SYS_RT_SIGRETURN = 4193 + SYS_RT_SIGACTION = 4194 + SYS_RT_SIGPROCMASK = 4195 + SYS_RT_SIGPENDING = 4196 + SYS_RT_SIGTIMEDWAIT = 4197 + SYS_RT_SIGQUEUEINFO = 4198 + SYS_RT_SIGSUSPEND = 4199 + SYS_PREAD64 = 4200 + SYS_PWRITE64 = 4201 + SYS_CHOWN = 4202 + SYS_GETCWD = 4203 + SYS_CAPGET = 4204 + SYS_CAPSET = 4205 + SYS_SIGALTSTACK = 4206 + SYS_SENDFILE = 4207 + SYS_GETPMSG = 4208 + SYS_PUTPMSG = 4209 + SYS_MMAP2 = 4210 + SYS_TRUNCATE64 = 4211 + SYS_FTRUNCATE64 = 4212 + SYS_STAT64 = 4213 + SYS_LSTAT64 = 4214 + SYS_FSTAT64 = 4215 + SYS_PIVOT_ROOT = 4216 + SYS_MINCORE = 4217 + SYS_MADVISE = 4218 + SYS_GETDENTS64 = 4219 + SYS_FCNTL64 = 4220 + SYS_RESERVED221 = 4221 + SYS_GETTID = 4222 + SYS_READAHEAD = 4223 + SYS_SETXATTR = 4224 + SYS_LSETXATTR = 4225 + SYS_FSETXATTR = 4226 + SYS_GETXATTR = 4227 + SYS_LGETXATTR = 4228 + SYS_FGETXATTR = 4229 + SYS_LISTXATTR = 4230 + SYS_LLISTXATTR = 4231 + SYS_FLISTXATTR = 4232 + SYS_REMOVEXATTR = 4233 + SYS_LREMOVEXATTR = 4234 + SYS_FREMOVEXATTR = 4235 + SYS_TKILL = 4236 + SYS_SENDFILE64 = 4237 + SYS_FUTEX = 4238 + SYS_SCHED_SETAFFINITY = 4239 + SYS_SCHED_GETAFFINITY = 4240 + SYS_IO_SETUP = 4241 + SYS_IO_DESTROY = 4242 + SYS_IO_GETEVENTS = 4243 + SYS_IO_SUBMIT = 4244 + SYS_IO_CANCEL = 4245 + SYS_EXIT_GROUP = 4246 + SYS_LOOKUP_DCOOKIE = 4247 + SYS_EPOLL_CREATE = 4248 + SYS_EPOLL_CTL = 4249 + SYS_EPOLL_WAIT = 4250 + SYS_REMAP_FILE_PAGES = 4251 + SYS_SET_TID_ADDRESS = 4252 + SYS_RESTART_SYSCALL = 4253 + SYS_FADVISE64 = 4254 + SYS_STATFS64 = 4255 + SYS_FSTATFS64 = 4256 + SYS_TIMER_CREATE = 4257 + SYS_TIMER_SETTIME = 4258 + SYS_TIMER_GETTIME = 4259 + SYS_TIMER_GETOVERRUN = 4260 + SYS_TIMER_DELETE = 4261 + SYS_CLOCK_SETTIME = 4262 + SYS_CLOCK_GETTIME = 4263 + SYS_CLOCK_GETRES = 4264 + SYS_CLOCK_NANOSLEEP = 4265 + SYS_TGKILL = 4266 + SYS_UTIMES = 4267 + SYS_MBIND = 4268 + SYS_GET_MEMPOLICY = 4269 + SYS_SET_MEMPOLICY = 4270 + SYS_MQ_OPEN = 4271 + SYS_MQ_UNLINK = 4272 + SYS_MQ_TIMEDSEND = 4273 + SYS_MQ_TIMEDRECEIVE = 4274 + SYS_MQ_NOTIFY = 4275 + SYS_MQ_GETSETATTR = 4276 + SYS_VSERVER = 4277 + SYS_WAITID = 4278 + SYS_ADD_KEY = 4280 + SYS_REQUEST_KEY = 4281 + SYS_KEYCTL = 4282 + SYS_SET_THREAD_AREA = 4283 + SYS_INOTIFY_INIT = 4284 + SYS_INOTIFY_ADD_WATCH = 4285 + SYS_INOTIFY_RM_WATCH = 4286 + SYS_MIGRATE_PAGES = 4287 + SYS_OPENAT = 4288 + SYS_MKDIRAT = 4289 + SYS_MKNODAT = 4290 + SYS_FCHOWNAT = 4291 + SYS_FUTIMESAT = 4292 + SYS_FSTATAT64 = 4293 + SYS_UNLINKAT = 4294 + SYS_RENAMEAT = 4295 + SYS_LINKAT = 4296 + SYS_SYMLINKAT = 4297 + SYS_READLINKAT = 4298 + SYS_FCHMODAT = 4299 + SYS_FACCESSAT = 4300 + SYS_PSELECT6 = 4301 + SYS_PPOLL = 4302 + SYS_UNSHARE = 4303 + SYS_SPLICE = 4304 + SYS_SYNC_FILE_RANGE = 4305 + SYS_TEE = 4306 + SYS_VMSPLICE = 4307 + SYS_MOVE_PAGES = 4308 + SYS_SET_ROBUST_LIST = 4309 + SYS_GET_ROBUST_LIST = 4310 + SYS_KEXEC_LOAD = 4311 + SYS_GETCPU = 4312 + SYS_EPOLL_PWAIT = 4313 + SYS_IOPRIO_SET = 4314 + SYS_IOPRIO_GET = 4315 + SYS_UTIMENSAT = 4316 + SYS_SIGNALFD = 4317 + SYS_TIMERFD = 4318 + SYS_EVENTFD = 4319 + SYS_FALLOCATE = 4320 + SYS_TIMERFD_CREATE = 4321 + SYS_TIMERFD_GETTIME = 4322 + SYS_TIMERFD_SETTIME = 4323 + SYS_SIGNALFD4 = 4324 + SYS_EVENTFD2 = 4325 + SYS_EPOLL_CREATE1 = 4326 + SYS_DUP3 = 4327 + SYS_PIPE2 = 4328 + SYS_INOTIFY_INIT1 = 4329 + SYS_PREADV = 4330 + SYS_PWRITEV = 4331 + SYS_RT_TGSIGQUEUEINFO = 4332 + SYS_PERF_EVENT_OPEN = 4333 + SYS_ACCEPT4 = 4334 + SYS_RECVMMSG = 4335 + SYS_FANOTIFY_INIT = 4336 + SYS_FANOTIFY_MARK = 4337 + SYS_PRLIMIT64 = 4338 + SYS_NAME_TO_HANDLE_AT = 4339 + SYS_OPEN_BY_HANDLE_AT = 4340 + SYS_CLOCK_ADJTIME = 4341 + SYS_SYNCFS = 4342 + SYS_SENDMMSG = 4343 + SYS_SETNS = 4344 + SYS_PROCESS_VM_READV = 4345 + SYS_PROCESS_VM_WRITEV = 4346 + SYS_KCMP = 4347 + SYS_FINIT_MODULE = 4348 + SYS_SCHED_SETATTR = 4349 + SYS_SCHED_GETATTR = 4350 + SYS_RENAMEAT2 = 4351 + SYS_SECCOMP = 4352 + SYS_GETRANDOM = 4353 + SYS_MEMFD_CREATE = 4354 + SYS_BPF = 4355 + SYS_EXECVEAT = 4356 + SYS_USERFAULTFD = 4357 + SYS_MEMBARRIER = 4358 + SYS_MLOCK2 = 4359 + SYS_COPY_FILE_RANGE = 4360 + SYS_PREADV2 = 4361 + SYS_PWRITEV2 = 4362 + SYS_PKEY_MPROTECT = 4363 + SYS_PKEY_ALLOC = 4364 + SYS_PKEY_FREE = 4365 + SYS_STATX = 4366 + SYS_RSEQ = 4367 + SYS_IO_PGETEVENTS = 4368 + SYS_SEMGET = 4393 + SYS_SEMCTL = 4394 + SYS_SHMGET = 4395 + SYS_SHMCTL = 4396 + SYS_SHMAT = 4397 + SYS_SHMDT = 4398 + SYS_MSGGET = 4399 + SYS_MSGSND = 4400 + SYS_MSGRCV = 4401 + SYS_MSGCTL = 4402 + SYS_CLOCK_GETTIME64 = 4403 + SYS_CLOCK_SETTIME64 = 4404 + SYS_CLOCK_ADJTIME64 = 4405 + SYS_CLOCK_GETRES_TIME64 = 4406 + SYS_CLOCK_NANOSLEEP_TIME64 = 4407 + SYS_TIMER_GETTIME64 = 4408 + SYS_TIMER_SETTIME64 = 4409 + SYS_TIMERFD_GETTIME64 = 4410 + SYS_TIMERFD_SETTIME64 = 4411 + SYS_UTIMENSAT_TIME64 = 4412 + SYS_PSELECT6_TIME64 = 4413 + SYS_PPOLL_TIME64 = 4414 + SYS_IO_PGETEVENTS_TIME64 = 4416 + SYS_RECVMMSG_TIME64 = 4417 + SYS_MQ_TIMEDSEND_TIME64 = 4418 + SYS_MQ_TIMEDRECEIVE_TIME64 = 4419 + SYS_SEMTIMEDOP_TIME64 = 4420 + SYS_RT_SIGTIMEDWAIT_TIME64 = 4421 + SYS_FUTEX_TIME64 = 4422 + SYS_SCHED_RR_GET_INTERVAL_TIME64 = 4423 + SYS_PIDFD_SEND_SIGNAL = 4424 + SYS_IO_URING_SETUP = 4425 + SYS_IO_URING_ENTER = 4426 + SYS_IO_URING_REGISTER = 4427 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go index 40164cac..57ec82aa 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go @@ -334,4 +334,8 @@ const ( SYS_STATX = 5326 SYS_RSEQ = 5327 SYS_IO_PGETEVENTS = 5328 + SYS_PIDFD_SEND_SIGNAL = 5424 + SYS_IO_URING_SETUP = 5425 + SYS_IO_URING_ENTER = 5426 + SYS_IO_URING_REGISTER = 5427 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go index 8a909738..825a3e3b 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go @@ -334,4 +334,8 @@ const ( SYS_STATX = 5326 SYS_RSEQ = 5327 SYS_IO_PGETEVENTS = 5328 + SYS_PIDFD_SEND_SIGNAL = 5424 + SYS_IO_URING_SETUP = 5425 + SYS_IO_URING_ENTER = 5426 + SYS_IO_URING_REGISTER = 5427 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go index 8d781842..f152dfdd 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go @@ -6,372 +6,406 @@ package unix const ( - SYS_SYSCALL = 4000 - SYS_EXIT = 4001 - SYS_FORK = 4002 - SYS_READ = 4003 - SYS_WRITE = 4004 - SYS_OPEN = 4005 - SYS_CLOSE = 4006 - SYS_WAITPID = 4007 - SYS_CREAT = 4008 - SYS_LINK = 4009 - SYS_UNLINK = 4010 - SYS_EXECVE = 4011 - SYS_CHDIR = 4012 - SYS_TIME = 4013 - SYS_MKNOD = 4014 - SYS_CHMOD = 4015 - SYS_LCHOWN = 4016 - SYS_BREAK = 4017 - SYS_UNUSED18 = 4018 - SYS_LSEEK = 4019 - SYS_GETPID = 4020 - SYS_MOUNT = 4021 - SYS_UMOUNT = 4022 - SYS_SETUID = 4023 - SYS_GETUID = 4024 - SYS_STIME = 4025 - SYS_PTRACE = 4026 - SYS_ALARM = 4027 - SYS_UNUSED28 = 4028 - SYS_PAUSE = 4029 - SYS_UTIME = 4030 - SYS_STTY = 4031 - SYS_GTTY = 4032 - SYS_ACCESS = 4033 - SYS_NICE = 4034 - SYS_FTIME = 4035 - SYS_SYNC = 4036 - SYS_KILL = 4037 - SYS_RENAME = 4038 - SYS_MKDIR = 4039 - SYS_RMDIR = 4040 - SYS_DUP = 4041 - SYS_PIPE = 4042 - SYS_TIMES = 4043 - SYS_PROF = 4044 - SYS_BRK = 4045 - SYS_SETGID = 4046 - SYS_GETGID = 4047 - SYS_SIGNAL = 4048 - SYS_GETEUID = 4049 - SYS_GETEGID = 4050 - SYS_ACCT = 4051 - SYS_UMOUNT2 = 4052 - SYS_LOCK = 4053 - SYS_IOCTL = 4054 - SYS_FCNTL = 4055 - SYS_MPX = 4056 - SYS_SETPGID = 4057 - SYS_ULIMIT = 4058 - SYS_UNUSED59 = 4059 - SYS_UMASK = 4060 - SYS_CHROOT = 4061 - SYS_USTAT = 4062 - SYS_DUP2 = 4063 - SYS_GETPPID = 4064 - SYS_GETPGRP = 4065 - SYS_SETSID = 4066 - SYS_SIGACTION = 4067 - SYS_SGETMASK = 4068 - SYS_SSETMASK = 4069 - SYS_SETREUID = 4070 - SYS_SETREGID = 4071 - SYS_SIGSUSPEND = 4072 - SYS_SIGPENDING = 4073 - SYS_SETHOSTNAME = 4074 - SYS_SETRLIMIT = 4075 - SYS_GETRLIMIT = 4076 - SYS_GETRUSAGE = 4077 - SYS_GETTIMEOFDAY = 4078 - SYS_SETTIMEOFDAY = 4079 - SYS_GETGROUPS = 4080 - SYS_SETGROUPS = 4081 - SYS_RESERVED82 = 4082 - SYS_SYMLINK = 4083 - SYS_UNUSED84 = 4084 - SYS_READLINK = 4085 - SYS_USELIB = 4086 - SYS_SWAPON = 4087 - SYS_REBOOT = 4088 - SYS_READDIR = 4089 - SYS_MMAP = 4090 - SYS_MUNMAP = 4091 - SYS_TRUNCATE = 4092 - SYS_FTRUNCATE = 4093 - SYS_FCHMOD = 4094 - SYS_FCHOWN = 4095 - SYS_GETPRIORITY = 4096 - SYS_SETPRIORITY = 4097 - SYS_PROFIL = 4098 - SYS_STATFS = 4099 - SYS_FSTATFS = 4100 - SYS_IOPERM = 4101 - SYS_SOCKETCALL = 4102 - SYS_SYSLOG = 4103 - SYS_SETITIMER = 4104 - SYS_GETITIMER = 4105 - SYS_STAT = 4106 - SYS_LSTAT = 4107 - SYS_FSTAT = 4108 - SYS_UNUSED109 = 4109 - SYS_IOPL = 4110 - SYS_VHANGUP = 4111 - SYS_IDLE = 4112 - SYS_VM86 = 4113 - SYS_WAIT4 = 4114 - SYS_SWAPOFF = 4115 - SYS_SYSINFO = 4116 - SYS_IPC = 4117 - SYS_FSYNC = 4118 - SYS_SIGRETURN = 4119 - SYS_CLONE = 4120 - SYS_SETDOMAINNAME = 4121 - SYS_UNAME = 4122 - SYS_MODIFY_LDT = 4123 - SYS_ADJTIMEX = 4124 - SYS_MPROTECT = 4125 - SYS_SIGPROCMASK = 4126 - SYS_CREATE_MODULE = 4127 - SYS_INIT_MODULE = 4128 - SYS_DELETE_MODULE = 4129 - SYS_GET_KERNEL_SYMS = 4130 - SYS_QUOTACTL = 4131 - SYS_GETPGID = 4132 - SYS_FCHDIR = 4133 - SYS_BDFLUSH = 4134 - SYS_SYSFS = 4135 - SYS_PERSONALITY = 4136 - SYS_AFS_SYSCALL = 4137 - SYS_SETFSUID = 4138 - SYS_SETFSGID = 4139 - SYS__LLSEEK = 4140 - SYS_GETDENTS = 4141 - SYS__NEWSELECT = 4142 - SYS_FLOCK = 4143 - SYS_MSYNC = 4144 - SYS_READV = 4145 - SYS_WRITEV = 4146 - SYS_CACHEFLUSH = 4147 - SYS_CACHECTL = 4148 - SYS_SYSMIPS = 4149 - SYS_UNUSED150 = 4150 - SYS_GETSID = 4151 - SYS_FDATASYNC = 4152 - SYS__SYSCTL = 4153 - SYS_MLOCK = 4154 - SYS_MUNLOCK = 4155 - SYS_MLOCKALL = 4156 - SYS_MUNLOCKALL = 4157 - SYS_SCHED_SETPARAM = 4158 - SYS_SCHED_GETPARAM = 4159 - SYS_SCHED_SETSCHEDULER = 4160 - SYS_SCHED_GETSCHEDULER = 4161 - SYS_SCHED_YIELD = 4162 - SYS_SCHED_GET_PRIORITY_MAX = 4163 - SYS_SCHED_GET_PRIORITY_MIN = 4164 - SYS_SCHED_RR_GET_INTERVAL = 4165 - SYS_NANOSLEEP = 4166 - SYS_MREMAP = 4167 - SYS_ACCEPT = 4168 - SYS_BIND = 4169 - SYS_CONNECT = 4170 - SYS_GETPEERNAME = 4171 - SYS_GETSOCKNAME = 4172 - SYS_GETSOCKOPT = 4173 - SYS_LISTEN = 4174 - SYS_RECV = 4175 - SYS_RECVFROM = 4176 - SYS_RECVMSG = 4177 - SYS_SEND = 4178 - SYS_SENDMSG = 4179 - SYS_SENDTO = 4180 - SYS_SETSOCKOPT = 4181 - SYS_SHUTDOWN = 4182 - SYS_SOCKET = 4183 - SYS_SOCKETPAIR = 4184 - SYS_SETRESUID = 4185 - SYS_GETRESUID = 4186 - SYS_QUERY_MODULE = 4187 - SYS_POLL = 4188 - SYS_NFSSERVCTL = 4189 - SYS_SETRESGID = 4190 - SYS_GETRESGID = 4191 - SYS_PRCTL = 4192 - SYS_RT_SIGRETURN = 4193 - SYS_RT_SIGACTION = 4194 - SYS_RT_SIGPROCMASK = 4195 - SYS_RT_SIGPENDING = 4196 - SYS_RT_SIGTIMEDWAIT = 4197 - SYS_RT_SIGQUEUEINFO = 4198 - SYS_RT_SIGSUSPEND = 4199 - SYS_PREAD64 = 4200 - SYS_PWRITE64 = 4201 - SYS_CHOWN = 4202 - SYS_GETCWD = 4203 - SYS_CAPGET = 4204 - SYS_CAPSET = 4205 - SYS_SIGALTSTACK = 4206 - SYS_SENDFILE = 4207 - SYS_GETPMSG = 4208 - SYS_PUTPMSG = 4209 - SYS_MMAP2 = 4210 - SYS_TRUNCATE64 = 4211 - SYS_FTRUNCATE64 = 4212 - SYS_STAT64 = 4213 - SYS_LSTAT64 = 4214 - SYS_FSTAT64 = 4215 - SYS_PIVOT_ROOT = 4216 - SYS_MINCORE = 4217 - SYS_MADVISE = 4218 - SYS_GETDENTS64 = 4219 - SYS_FCNTL64 = 4220 - SYS_RESERVED221 = 4221 - SYS_GETTID = 4222 - SYS_READAHEAD = 4223 - SYS_SETXATTR = 4224 - SYS_LSETXATTR = 4225 - SYS_FSETXATTR = 4226 - SYS_GETXATTR = 4227 - SYS_LGETXATTR = 4228 - SYS_FGETXATTR = 4229 - SYS_LISTXATTR = 4230 - SYS_LLISTXATTR = 4231 - SYS_FLISTXATTR = 4232 - SYS_REMOVEXATTR = 4233 - SYS_LREMOVEXATTR = 4234 - SYS_FREMOVEXATTR = 4235 - SYS_TKILL = 4236 - SYS_SENDFILE64 = 4237 - SYS_FUTEX = 4238 - SYS_SCHED_SETAFFINITY = 4239 - SYS_SCHED_GETAFFINITY = 4240 - SYS_IO_SETUP = 4241 - SYS_IO_DESTROY = 4242 - SYS_IO_GETEVENTS = 4243 - SYS_IO_SUBMIT = 4244 - SYS_IO_CANCEL = 4245 - SYS_EXIT_GROUP = 4246 - SYS_LOOKUP_DCOOKIE = 4247 - SYS_EPOLL_CREATE = 4248 - SYS_EPOLL_CTL = 4249 - SYS_EPOLL_WAIT = 4250 - SYS_REMAP_FILE_PAGES = 4251 - SYS_SET_TID_ADDRESS = 4252 - SYS_RESTART_SYSCALL = 4253 - SYS_FADVISE64 = 4254 - SYS_STATFS64 = 4255 - SYS_FSTATFS64 = 4256 - SYS_TIMER_CREATE = 4257 - SYS_TIMER_SETTIME = 4258 - SYS_TIMER_GETTIME = 4259 - SYS_TIMER_GETOVERRUN = 4260 - SYS_TIMER_DELETE = 4261 - SYS_CLOCK_SETTIME = 4262 - SYS_CLOCK_GETTIME = 4263 - SYS_CLOCK_GETRES = 4264 - SYS_CLOCK_NANOSLEEP = 4265 - SYS_TGKILL = 4266 - SYS_UTIMES = 4267 - SYS_MBIND = 4268 - SYS_GET_MEMPOLICY = 4269 - SYS_SET_MEMPOLICY = 4270 - SYS_MQ_OPEN = 4271 - SYS_MQ_UNLINK = 4272 - SYS_MQ_TIMEDSEND = 4273 - SYS_MQ_TIMEDRECEIVE = 4274 - SYS_MQ_NOTIFY = 4275 - SYS_MQ_GETSETATTR = 4276 - SYS_VSERVER = 4277 - SYS_WAITID = 4278 - SYS_ADD_KEY = 4280 - SYS_REQUEST_KEY = 4281 - SYS_KEYCTL = 4282 - SYS_SET_THREAD_AREA = 4283 - SYS_INOTIFY_INIT = 4284 - SYS_INOTIFY_ADD_WATCH = 4285 - SYS_INOTIFY_RM_WATCH = 4286 - SYS_MIGRATE_PAGES = 4287 - SYS_OPENAT = 4288 - SYS_MKDIRAT = 4289 - SYS_MKNODAT = 4290 - SYS_FCHOWNAT = 4291 - SYS_FUTIMESAT = 4292 - SYS_FSTATAT64 = 4293 - SYS_UNLINKAT = 4294 - SYS_RENAMEAT = 4295 - SYS_LINKAT = 4296 - SYS_SYMLINKAT = 4297 - SYS_READLINKAT = 4298 - SYS_FCHMODAT = 4299 - SYS_FACCESSAT = 4300 - SYS_PSELECT6 = 4301 - SYS_PPOLL = 4302 - SYS_UNSHARE = 4303 - SYS_SPLICE = 4304 - SYS_SYNC_FILE_RANGE = 4305 - SYS_TEE = 4306 - SYS_VMSPLICE = 4307 - SYS_MOVE_PAGES = 4308 - SYS_SET_ROBUST_LIST = 4309 - SYS_GET_ROBUST_LIST = 4310 - SYS_KEXEC_LOAD = 4311 - SYS_GETCPU = 4312 - SYS_EPOLL_PWAIT = 4313 - SYS_IOPRIO_SET = 4314 - SYS_IOPRIO_GET = 4315 - SYS_UTIMENSAT = 4316 - SYS_SIGNALFD = 4317 - SYS_TIMERFD = 4318 - SYS_EVENTFD = 4319 - SYS_FALLOCATE = 4320 - SYS_TIMERFD_CREATE = 4321 - SYS_TIMERFD_GETTIME = 4322 - SYS_TIMERFD_SETTIME = 4323 - SYS_SIGNALFD4 = 4324 - SYS_EVENTFD2 = 4325 - SYS_EPOLL_CREATE1 = 4326 - SYS_DUP3 = 4327 - SYS_PIPE2 = 4328 - SYS_INOTIFY_INIT1 = 4329 - SYS_PREADV = 4330 - SYS_PWRITEV = 4331 - SYS_RT_TGSIGQUEUEINFO = 4332 - SYS_PERF_EVENT_OPEN = 4333 - SYS_ACCEPT4 = 4334 - SYS_RECVMMSG = 4335 - SYS_FANOTIFY_INIT = 4336 - SYS_FANOTIFY_MARK = 4337 - SYS_PRLIMIT64 = 4338 - SYS_NAME_TO_HANDLE_AT = 4339 - SYS_OPEN_BY_HANDLE_AT = 4340 - SYS_CLOCK_ADJTIME = 4341 - SYS_SYNCFS = 4342 - SYS_SENDMMSG = 4343 - SYS_SETNS = 4344 - SYS_PROCESS_VM_READV = 4345 - SYS_PROCESS_VM_WRITEV = 4346 - SYS_KCMP = 4347 - SYS_FINIT_MODULE = 4348 - SYS_SCHED_SETATTR = 4349 - SYS_SCHED_GETATTR = 4350 - SYS_RENAMEAT2 = 4351 - SYS_SECCOMP = 4352 - SYS_GETRANDOM = 4353 - SYS_MEMFD_CREATE = 4354 - SYS_BPF = 4355 - SYS_EXECVEAT = 4356 - SYS_USERFAULTFD = 4357 - SYS_MEMBARRIER = 4358 - SYS_MLOCK2 = 4359 - SYS_COPY_FILE_RANGE = 4360 - SYS_PREADV2 = 4361 - SYS_PWRITEV2 = 4362 - SYS_PKEY_MPROTECT = 4363 - SYS_PKEY_ALLOC = 4364 - SYS_PKEY_FREE = 4365 - SYS_STATX = 4366 - SYS_RSEQ = 4367 - SYS_IO_PGETEVENTS = 4368 + SYS_SYSCALL = 4000 + SYS_EXIT = 4001 + SYS_FORK = 4002 + SYS_READ = 4003 + SYS_WRITE = 4004 + SYS_OPEN = 4005 + SYS_CLOSE = 4006 + SYS_WAITPID = 4007 + SYS_CREAT = 4008 + SYS_LINK = 4009 + SYS_UNLINK = 4010 + SYS_EXECVE = 4011 + SYS_CHDIR = 4012 + SYS_TIME = 4013 + SYS_MKNOD = 4014 + SYS_CHMOD = 4015 + SYS_LCHOWN = 4016 + SYS_BREAK = 4017 + SYS_UNUSED18 = 4018 + SYS_LSEEK = 4019 + SYS_GETPID = 4020 + SYS_MOUNT = 4021 + SYS_UMOUNT = 4022 + SYS_SETUID = 4023 + SYS_GETUID = 4024 + SYS_STIME = 4025 + SYS_PTRACE = 4026 + SYS_ALARM = 4027 + SYS_UNUSED28 = 4028 + SYS_PAUSE = 4029 + SYS_UTIME = 4030 + SYS_STTY = 4031 + SYS_GTTY = 4032 + SYS_ACCESS = 4033 + SYS_NICE = 4034 + SYS_FTIME = 4035 + SYS_SYNC = 4036 + SYS_KILL = 4037 + SYS_RENAME = 4038 + SYS_MKDIR = 4039 + SYS_RMDIR = 4040 + SYS_DUP = 4041 + SYS_PIPE = 4042 + SYS_TIMES = 4043 + SYS_PROF = 4044 + SYS_BRK = 4045 + SYS_SETGID = 4046 + SYS_GETGID = 4047 + SYS_SIGNAL = 4048 + SYS_GETEUID = 4049 + SYS_GETEGID = 4050 + SYS_ACCT = 4051 + SYS_UMOUNT2 = 4052 + SYS_LOCK = 4053 + SYS_IOCTL = 4054 + SYS_FCNTL = 4055 + SYS_MPX = 4056 + SYS_SETPGID = 4057 + SYS_ULIMIT = 4058 + SYS_UNUSED59 = 4059 + SYS_UMASK = 4060 + SYS_CHROOT = 4061 + SYS_USTAT = 4062 + SYS_DUP2 = 4063 + SYS_GETPPID = 4064 + SYS_GETPGRP = 4065 + SYS_SETSID = 4066 + SYS_SIGACTION = 4067 + SYS_SGETMASK = 4068 + SYS_SSETMASK = 4069 + SYS_SETREUID = 4070 + SYS_SETREGID = 4071 + SYS_SIGSUSPEND = 4072 + SYS_SIGPENDING = 4073 + SYS_SETHOSTNAME = 4074 + SYS_SETRLIMIT = 4075 + SYS_GETRLIMIT = 4076 + SYS_GETRUSAGE = 4077 + SYS_GETTIMEOFDAY = 4078 + SYS_SETTIMEOFDAY = 4079 + SYS_GETGROUPS = 4080 + SYS_SETGROUPS = 4081 + SYS_RESERVED82 = 4082 + SYS_SYMLINK = 4083 + SYS_UNUSED84 = 4084 + SYS_READLINK = 4085 + SYS_USELIB = 4086 + SYS_SWAPON = 4087 + SYS_REBOOT = 4088 + SYS_READDIR = 4089 + SYS_MMAP = 4090 + SYS_MUNMAP = 4091 + SYS_TRUNCATE = 4092 + SYS_FTRUNCATE = 4093 + SYS_FCHMOD = 4094 + SYS_FCHOWN = 4095 + SYS_GETPRIORITY = 4096 + SYS_SETPRIORITY = 4097 + SYS_PROFIL = 4098 + SYS_STATFS = 4099 + SYS_FSTATFS = 4100 + SYS_IOPERM = 4101 + SYS_SOCKETCALL = 4102 + SYS_SYSLOG = 4103 + SYS_SETITIMER = 4104 + SYS_GETITIMER = 4105 + SYS_STAT = 4106 + SYS_LSTAT = 4107 + SYS_FSTAT = 4108 + SYS_UNUSED109 = 4109 + SYS_IOPL = 4110 + SYS_VHANGUP = 4111 + SYS_IDLE = 4112 + SYS_VM86 = 4113 + SYS_WAIT4 = 4114 + SYS_SWAPOFF = 4115 + SYS_SYSINFO = 4116 + SYS_IPC = 4117 + SYS_FSYNC = 4118 + SYS_SIGRETURN = 4119 + SYS_CLONE = 4120 + SYS_SETDOMAINNAME = 4121 + SYS_UNAME = 4122 + SYS_MODIFY_LDT = 4123 + SYS_ADJTIMEX = 4124 + SYS_MPROTECT = 4125 + SYS_SIGPROCMASK = 4126 + SYS_CREATE_MODULE = 4127 + SYS_INIT_MODULE = 4128 + SYS_DELETE_MODULE = 4129 + SYS_GET_KERNEL_SYMS = 4130 + SYS_QUOTACTL = 4131 + SYS_GETPGID = 4132 + SYS_FCHDIR = 4133 + SYS_BDFLUSH = 4134 + SYS_SYSFS = 4135 + SYS_PERSONALITY = 4136 + SYS_AFS_SYSCALL = 4137 + SYS_SETFSUID = 4138 + SYS_SETFSGID = 4139 + SYS__LLSEEK = 4140 + SYS_GETDENTS = 4141 + SYS__NEWSELECT = 4142 + SYS_FLOCK = 4143 + SYS_MSYNC = 4144 + SYS_READV = 4145 + SYS_WRITEV = 4146 + SYS_CACHEFLUSH = 4147 + SYS_CACHECTL = 4148 + SYS_SYSMIPS = 4149 + SYS_UNUSED150 = 4150 + SYS_GETSID = 4151 + SYS_FDATASYNC = 4152 + SYS__SYSCTL = 4153 + SYS_MLOCK = 4154 + SYS_MUNLOCK = 4155 + SYS_MLOCKALL = 4156 + SYS_MUNLOCKALL = 4157 + SYS_SCHED_SETPARAM = 4158 + SYS_SCHED_GETPARAM = 4159 + SYS_SCHED_SETSCHEDULER = 4160 + SYS_SCHED_GETSCHEDULER = 4161 + SYS_SCHED_YIELD = 4162 + SYS_SCHED_GET_PRIORITY_MAX = 4163 + SYS_SCHED_GET_PRIORITY_MIN = 4164 + SYS_SCHED_RR_GET_INTERVAL = 4165 + SYS_NANOSLEEP = 4166 + SYS_MREMAP = 4167 + SYS_ACCEPT = 4168 + SYS_BIND = 4169 + SYS_CONNECT = 4170 + SYS_GETPEERNAME = 4171 + SYS_GETSOCKNAME = 4172 + SYS_GETSOCKOPT = 4173 + SYS_LISTEN = 4174 + SYS_RECV = 4175 + SYS_RECVFROM = 4176 + SYS_RECVMSG = 4177 + SYS_SEND = 4178 + SYS_SENDMSG = 4179 + SYS_SENDTO = 4180 + SYS_SETSOCKOPT = 4181 + SYS_SHUTDOWN = 4182 + SYS_SOCKET = 4183 + SYS_SOCKETPAIR = 4184 + SYS_SETRESUID = 4185 + SYS_GETRESUID = 4186 + SYS_QUERY_MODULE = 4187 + SYS_POLL = 4188 + SYS_NFSSERVCTL = 4189 + SYS_SETRESGID = 4190 + SYS_GETRESGID = 4191 + SYS_PRCTL = 4192 + SYS_RT_SIGRETURN = 4193 + SYS_RT_SIGACTION = 4194 + SYS_RT_SIGPROCMASK = 4195 + SYS_RT_SIGPENDING = 4196 + SYS_RT_SIGTIMEDWAIT = 4197 + SYS_RT_SIGQUEUEINFO = 4198 + SYS_RT_SIGSUSPEND = 4199 + SYS_PREAD64 = 4200 + SYS_PWRITE64 = 4201 + SYS_CHOWN = 4202 + SYS_GETCWD = 4203 + SYS_CAPGET = 4204 + SYS_CAPSET = 4205 + SYS_SIGALTSTACK = 4206 + SYS_SENDFILE = 4207 + SYS_GETPMSG = 4208 + SYS_PUTPMSG = 4209 + SYS_MMAP2 = 4210 + SYS_TRUNCATE64 = 4211 + SYS_FTRUNCATE64 = 4212 + SYS_STAT64 = 4213 + SYS_LSTAT64 = 4214 + SYS_FSTAT64 = 4215 + SYS_PIVOT_ROOT = 4216 + SYS_MINCORE = 4217 + SYS_MADVISE = 4218 + SYS_GETDENTS64 = 4219 + SYS_FCNTL64 = 4220 + SYS_RESERVED221 = 4221 + SYS_GETTID = 4222 + SYS_READAHEAD = 4223 + SYS_SETXATTR = 4224 + SYS_LSETXATTR = 4225 + SYS_FSETXATTR = 4226 + SYS_GETXATTR = 4227 + SYS_LGETXATTR = 4228 + SYS_FGETXATTR = 4229 + SYS_LISTXATTR = 4230 + SYS_LLISTXATTR = 4231 + SYS_FLISTXATTR = 4232 + SYS_REMOVEXATTR = 4233 + SYS_LREMOVEXATTR = 4234 + SYS_FREMOVEXATTR = 4235 + SYS_TKILL = 4236 + SYS_SENDFILE64 = 4237 + SYS_FUTEX = 4238 + SYS_SCHED_SETAFFINITY = 4239 + SYS_SCHED_GETAFFINITY = 4240 + SYS_IO_SETUP = 4241 + SYS_IO_DESTROY = 4242 + SYS_IO_GETEVENTS = 4243 + SYS_IO_SUBMIT = 4244 + SYS_IO_CANCEL = 4245 + SYS_EXIT_GROUP = 4246 + SYS_LOOKUP_DCOOKIE = 4247 + SYS_EPOLL_CREATE = 4248 + SYS_EPOLL_CTL = 4249 + SYS_EPOLL_WAIT = 4250 + SYS_REMAP_FILE_PAGES = 4251 + SYS_SET_TID_ADDRESS = 4252 + SYS_RESTART_SYSCALL = 4253 + SYS_FADVISE64 = 4254 + SYS_STATFS64 = 4255 + SYS_FSTATFS64 = 4256 + SYS_TIMER_CREATE = 4257 + SYS_TIMER_SETTIME = 4258 + SYS_TIMER_GETTIME = 4259 + SYS_TIMER_GETOVERRUN = 4260 + SYS_TIMER_DELETE = 4261 + SYS_CLOCK_SETTIME = 4262 + SYS_CLOCK_GETTIME = 4263 + SYS_CLOCK_GETRES = 4264 + SYS_CLOCK_NANOSLEEP = 4265 + SYS_TGKILL = 4266 + SYS_UTIMES = 4267 + SYS_MBIND = 4268 + SYS_GET_MEMPOLICY = 4269 + SYS_SET_MEMPOLICY = 4270 + SYS_MQ_OPEN = 4271 + SYS_MQ_UNLINK = 4272 + SYS_MQ_TIMEDSEND = 4273 + SYS_MQ_TIMEDRECEIVE = 4274 + SYS_MQ_NOTIFY = 4275 + SYS_MQ_GETSETATTR = 4276 + SYS_VSERVER = 4277 + SYS_WAITID = 4278 + SYS_ADD_KEY = 4280 + SYS_REQUEST_KEY = 4281 + SYS_KEYCTL = 4282 + SYS_SET_THREAD_AREA = 4283 + SYS_INOTIFY_INIT = 4284 + SYS_INOTIFY_ADD_WATCH = 4285 + SYS_INOTIFY_RM_WATCH = 4286 + SYS_MIGRATE_PAGES = 4287 + SYS_OPENAT = 4288 + SYS_MKDIRAT = 4289 + SYS_MKNODAT = 4290 + SYS_FCHOWNAT = 4291 + SYS_FUTIMESAT = 4292 + SYS_FSTATAT64 = 4293 + SYS_UNLINKAT = 4294 + SYS_RENAMEAT = 4295 + SYS_LINKAT = 4296 + SYS_SYMLINKAT = 4297 + SYS_READLINKAT = 4298 + SYS_FCHMODAT = 4299 + SYS_FACCESSAT = 4300 + SYS_PSELECT6 = 4301 + SYS_PPOLL = 4302 + SYS_UNSHARE = 4303 + SYS_SPLICE = 4304 + SYS_SYNC_FILE_RANGE = 4305 + SYS_TEE = 4306 + SYS_VMSPLICE = 4307 + SYS_MOVE_PAGES = 4308 + SYS_SET_ROBUST_LIST = 4309 + SYS_GET_ROBUST_LIST = 4310 + SYS_KEXEC_LOAD = 4311 + SYS_GETCPU = 4312 + SYS_EPOLL_PWAIT = 4313 + SYS_IOPRIO_SET = 4314 + SYS_IOPRIO_GET = 4315 + SYS_UTIMENSAT = 4316 + SYS_SIGNALFD = 4317 + SYS_TIMERFD = 4318 + SYS_EVENTFD = 4319 + SYS_FALLOCATE = 4320 + SYS_TIMERFD_CREATE = 4321 + SYS_TIMERFD_GETTIME = 4322 + SYS_TIMERFD_SETTIME = 4323 + SYS_SIGNALFD4 = 4324 + SYS_EVENTFD2 = 4325 + SYS_EPOLL_CREATE1 = 4326 + SYS_DUP3 = 4327 + SYS_PIPE2 = 4328 + SYS_INOTIFY_INIT1 = 4329 + SYS_PREADV = 4330 + SYS_PWRITEV = 4331 + SYS_RT_TGSIGQUEUEINFO = 4332 + SYS_PERF_EVENT_OPEN = 4333 + SYS_ACCEPT4 = 4334 + SYS_RECVMMSG = 4335 + SYS_FANOTIFY_INIT = 4336 + SYS_FANOTIFY_MARK = 4337 + SYS_PRLIMIT64 = 4338 + SYS_NAME_TO_HANDLE_AT = 4339 + SYS_OPEN_BY_HANDLE_AT = 4340 + SYS_CLOCK_ADJTIME = 4341 + SYS_SYNCFS = 4342 + SYS_SENDMMSG = 4343 + SYS_SETNS = 4344 + SYS_PROCESS_VM_READV = 4345 + SYS_PROCESS_VM_WRITEV = 4346 + SYS_KCMP = 4347 + SYS_FINIT_MODULE = 4348 + SYS_SCHED_SETATTR = 4349 + SYS_SCHED_GETATTR = 4350 + SYS_RENAMEAT2 = 4351 + SYS_SECCOMP = 4352 + SYS_GETRANDOM = 4353 + SYS_MEMFD_CREATE = 4354 + SYS_BPF = 4355 + SYS_EXECVEAT = 4356 + SYS_USERFAULTFD = 4357 + SYS_MEMBARRIER = 4358 + SYS_MLOCK2 = 4359 + SYS_COPY_FILE_RANGE = 4360 + SYS_PREADV2 = 4361 + SYS_PWRITEV2 = 4362 + SYS_PKEY_MPROTECT = 4363 + SYS_PKEY_ALLOC = 4364 + SYS_PKEY_FREE = 4365 + SYS_STATX = 4366 + SYS_RSEQ = 4367 + SYS_IO_PGETEVENTS = 4368 + SYS_SEMGET = 4393 + SYS_SEMCTL = 4394 + SYS_SHMGET = 4395 + SYS_SHMCTL = 4396 + SYS_SHMAT = 4397 + SYS_SHMDT = 4398 + SYS_MSGGET = 4399 + SYS_MSGSND = 4400 + SYS_MSGRCV = 4401 + SYS_MSGCTL = 4402 + SYS_CLOCK_GETTIME64 = 4403 + SYS_CLOCK_SETTIME64 = 4404 + SYS_CLOCK_ADJTIME64 = 4405 + SYS_CLOCK_GETRES_TIME64 = 4406 + SYS_CLOCK_NANOSLEEP_TIME64 = 4407 + SYS_TIMER_GETTIME64 = 4408 + SYS_TIMER_SETTIME64 = 4409 + SYS_TIMERFD_GETTIME64 = 4410 + SYS_TIMERFD_SETTIME64 = 4411 + SYS_UTIMENSAT_TIME64 = 4412 + SYS_PSELECT6_TIME64 = 4413 + SYS_PPOLL_TIME64 = 4414 + SYS_IO_PGETEVENTS_TIME64 = 4416 + SYS_RECVMMSG_TIME64 = 4417 + SYS_MQ_TIMEDSEND_TIME64 = 4418 + SYS_MQ_TIMEDRECEIVE_TIME64 = 4419 + SYS_SEMTIMEDOP_TIME64 = 4420 + SYS_RT_SIGTIMEDWAIT_TIME64 = 4421 + SYS_FUTEX_TIME64 = 4422 + SYS_SCHED_RR_GET_INTERVAL_TIME64 = 4423 + SYS_PIDFD_SEND_SIGNAL = 4424 + SYS_IO_URING_SETUP = 4425 + SYS_IO_URING_ENTER = 4426 + SYS_IO_URING_REGISTER = 4427 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go index ec5bde3d..7cbe78b1 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go @@ -372,4 +372,19 @@ const ( SYS_PKEY_MPROTECT = 386 SYS_RSEQ = 387 SYS_IO_PGETEVENTS = 388 + SYS_SEMTIMEDOP = 392 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go index bdbabdbc..51a2f123 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go @@ -372,4 +372,19 @@ const ( SYS_PKEY_MPROTECT = 386 SYS_RSEQ = 387 SYS_IO_PGETEVENTS = 388 + SYS_SEMTIMEDOP = 392 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go index 473c7461..323432ae 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go @@ -284,4 +284,9 @@ const ( SYS_STATX = 291 SYS_IO_PGETEVENTS = 292 SYS_RSEQ = 293 + SYS_KEXEC_FILE_LOAD = 294 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go index 6eb7c257..9dca9748 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go @@ -334,4 +334,22 @@ const ( SYS_KEXEC_FILE_LOAD = 381 SYS_IO_PGETEVENTS = 382 SYS_RSEQ = 383 + SYS_PKEY_MPROTECT = 384 + SYS_PKEY_ALLOC = 385 + SYS_PKEY_FREE = 386 + SYS_SEMTIMEDOP = 392 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go index 93480fcb..d3da46f0 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go @@ -253,6 +253,7 @@ const ( SYS_TIMER_GETOVERRUN = 264 SYS_TIMER_DELETE = 265 SYS_TIMER_CREATE = 266 + SYS_VSERVER = 267 SYS_IO_SETUP = 268 SYS_IO_DESTROY = 269 SYS_IO_SUBMIT = 270 @@ -347,4 +348,23 @@ const ( SYS_PWRITEV2 = 359 SYS_STATX = 360 SYS_IO_PGETEVENTS = 361 + SYS_PKEY_MPROTECT = 362 + SYS_PKEY_ALLOC = 363 + SYS_PKEY_FREE = 364 + SYS_RSEQ = 365 + SYS_SEMTIMEDOP = 392 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go new file mode 100644 index 00000000..fe2b689b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go @@ -0,0 +1,217 @@ +// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,openbsd + +package unix + +const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } + SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int sys_open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int sys_close(int fd); } + SYS_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } + SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } + SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int sys_unlink(const char *path); } + SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_CHDIR = 12 // { int sys_chdir(const char *path); } + SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } + SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, dev_t dev); } + SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, gid_t gid); } + SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break + SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } + SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } + SYS_GETPID = 20 // { pid_t sys_getpid(void); } + SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } + SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t sys_getuid(void); } + SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } + SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int sys_access(const char *path, int amode); } + SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } + SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } + SYS_SYNC = 36 // { void sys_sync(void); } + SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } + SYS_GETPPID = 39 // { pid_t sys_getppid(void); } + SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } + SYS_DUP = 41 // { int sys_dup(int fd); } + SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_GETEGID = 43 // { gid_t sys_getegid(void); } + SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } + SYS_GETGID = 47 // { gid_t sys_getgid(void); } + SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } + SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int sys_acct(const char *path); } + SYS_SIGPENDING = 52 // { int sys_sigpending(void); } + SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } + SYS_IOCTL = 54 // { int sys_ioctl(int fd, u_long com, ... void *data); } + SYS_REBOOT = 55 // { int sys_reboot(int opt); } + SYS_REVOKE = 56 // { int sys_revoke(const char *path); } + SYS_SYMLINK = 57 // { int sys_symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int sys_execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } + SYS_CHROOT = 61 // { int sys_chroot(const char *path); } + SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } + SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } + SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } + SYS_VFORK = 66 // { int sys_vfork(void); } + SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } + SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } + SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, int behav); } + SYS_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } + SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } + SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int sys_getpgrp(void); } + SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); } + SYS_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } + SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } + SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } + SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } + SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } + SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } + SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } + SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } + SYS_FSYNC = 95 // { int sys_fsync(int fd); } + SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } + SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } + SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } + SYS_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } + SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } + SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } + SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } + SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } + SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } + SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } + SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } + SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } + SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } + SYS_READV = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_KILL = 122 // { int sys_kill(int pid, int signum); } + SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } + SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } + SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } + SYS_SETSID = 147 // { int sys_setsid(void); } + SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } + SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } + SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } + SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); } + SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); } + SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } + SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } + SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } + SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } + SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } + SYS_SYSCTL = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } + SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } + SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } + SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } + SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } + SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } + SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } + SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int sys_issetugid(void); } + SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } + SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } + SYS_PIPE = 263 // { int sys_pipe(int *fdp); } + SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } + SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_KQUEUE = 269 // { int sys_kqueue(void); } + SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } + SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } + SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } + SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } + SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } + SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } + SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } + SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } + SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, int n); } + SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } + SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } + SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } + SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } + SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } + SYS_GETRTABLE = 311 // { int sys_getrtable(void); } + SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } + SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } + SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } + SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } + SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } + SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } + SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } + SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } + SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go index cedc9b0f..2c1f815e 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go +++ b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go @@ -30,11 +30,6 @@ type Timespec struct { Nsec int32 } -type StTimespec struct { - Sec int32 - Nsec int32 -} - type Timeval struct { Sec int32 Usec int32 @@ -101,9 +96,9 @@ type Stat_t struct { Gid uint32 Rdev uint32 Size int32 - Atim StTimespec - Mtim StTimespec - Ctim StTimespec + Atim Timespec + Mtim Timespec + Ctim Timespec Blksize int32 Blocks int32 Vfstype int32 @@ -148,6 +143,17 @@ type RawSockaddrUnix struct { Path [1023]uint8 } +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [120]uint8 +} + type RawSockaddr struct { Len uint8 Family uint8 @@ -207,17 +213,18 @@ type Msghdr struct { } const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x404 - SizeofSockaddrUnix = 0x401 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPv6Mreq = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofMsghdr = 0x1c - SizeofCmsghdr = 0xc - SizeofICMPv6Filter = 0x20 + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x404 + SizeofSockaddrUnix = 0x401 + SizeofSockaddrDatalink = 0x80 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofICMPv6Filter = 0x20 ) const ( diff --git a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go index f46482d2..b4a069ec 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go @@ -30,12 +30,6 @@ type Timespec struct { Nsec int64 } -type StTimespec struct { - Sec int64 - Nsec int32 - _ [4]byte -} - type Timeval struct { Sec int64 Usec int32 @@ -103,10 +97,9 @@ type Stat_t struct { Gid uint32 Rdev uint64 Ssize int32 - _ [4]byte - Atim StTimespec - Mtim StTimespec - Ctim StTimespec + Atim Timespec + Mtim Timespec + Ctim Timespec Blksize int64 Blocks int64 Vfstype int32 @@ -154,6 +147,17 @@ type RawSockaddrUnix struct { Path [1023]uint8 } +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [120]uint8 +} + type RawSockaddr struct { Len uint8 Family uint8 @@ -205,27 +209,26 @@ type Linger struct { type Msghdr struct { Name *byte Namelen uint32 - _ [4]byte Iov *Iovec Iovlen int32 - _ [4]byte Control *byte Controllen uint32 Flags int32 } const ( - SizeofSockaddrInet4 = 0x10 - SizeofSockaddrInet6 = 0x1c - SizeofSockaddrAny = 0x404 - SizeofSockaddrUnix = 0x401 - SizeofLinger = 0x8 - SizeofIPMreq = 0x8 - SizeofIPv6Mreq = 0x14 - SizeofIPv6MTUInfo = 0x20 - SizeofMsghdr = 0x30 - SizeofCmsghdr = 0xc - SizeofICMPv6Filter = 0x20 + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x404 + SizeofSockaddrUnix = 0x401 + SizeofSockaddrDatalink = 0x80 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofICMPv6Filter = 0x20 ) const ( @@ -339,7 +342,6 @@ type Statfs_t struct { Ffree uint64 Fsid Fsid64_t Vfstype int32 - _ [4]byte Fsize uint64 Vfsnumber int32 Vfsoff int32 diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go index 2aeb52a8..9f47b87c 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go @@ -59,24 +59,24 @@ type Rlimit struct { type _Gid_t uint32 type Stat_t struct { - Dev int32 - Mode uint16 - Nlink uint16 - Ino uint64 - Uid uint32 - Gid uint32 - Rdev int32 - Atimespec Timespec - Mtimespec Timespec - Ctimespec Timespec - Birthtimespec Timespec - Size int64 - Blocks int64 - Blksize int32 - Flags uint32 - Gen uint32 - Lspare int32 - Qspare [2]int64 + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 } type Statfs_t struct { @@ -487,3 +487,13 @@ type Utsname struct { Version [256]byte Machine [256]byte } + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go index 0d0d9f2c..966798a8 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go @@ -63,25 +63,25 @@ type Rlimit struct { type _Gid_t uint32 type Stat_t struct { - Dev int32 - Mode uint16 - Nlink uint16 - Ino uint64 - Uid uint32 - Gid uint32 - Rdev int32 - _ [4]byte - Atimespec Timespec - Mtimespec Timespec - Ctimespec Timespec - Birthtimespec Timespec - Size int64 - Blocks int64 - Blksize int32 - Flags uint32 - Gen uint32 - Lspare int32 - Qspare [2]int64 + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + _ [4]byte + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 } type Statfs_t struct { @@ -497,3 +497,13 @@ type Utsname struct { Version [256]byte Machine [256]byte } + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go index 04e344b7..4fe4c9cd 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go @@ -60,24 +60,24 @@ type Rlimit struct { type _Gid_t uint32 type Stat_t struct { - Dev int32 - Mode uint16 - Nlink uint16 - Ino uint64 - Uid uint32 - Gid uint32 - Rdev int32 - Atimespec Timespec - Mtimespec Timespec - Ctimespec Timespec - Birthtimespec Timespec - Size int64 - Blocks int64 - Blksize int32 - Flags uint32 - Gen uint32 - Lspare int32 - Qspare [2]int64 + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 } type Statfs_t struct { @@ -488,3 +488,13 @@ type Utsname struct { Version [256]byte Machine [256]byte } + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go index 9fec185c..21999e4b 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go @@ -63,25 +63,25 @@ type Rlimit struct { type _Gid_t uint32 type Stat_t struct { - Dev int32 - Mode uint16 - Nlink uint16 - Ino uint64 - Uid uint32 - Gid uint32 - Rdev int32 - _ [4]byte - Atimespec Timespec - Mtimespec Timespec - Ctimespec Timespec - Birthtimespec Timespec - Size int64 - Blocks int64 - Blksize int32 - Flags uint32 - Gen uint32 - Lspare int32 - Qspare [2]int64 + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + _ [4]byte + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 } type Statfs_t struct { @@ -497,3 +497,13 @@ type Utsname struct { Version [256]byte Machine [256]byte } + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go index 7b34e2e2..c206f2b0 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go @@ -57,25 +57,25 @@ type Rlimit struct { type _Gid_t uint32 type Stat_t struct { - Ino uint64 - Nlink uint32 - Dev uint32 - Mode uint16 - Padding1 uint16 - Uid uint32 - Gid uint32 - Rdev uint32 - Atim Timespec - Mtim Timespec - Ctim Timespec - Size int64 - Blocks int64 - Blksize uint32 - Flags uint32 - Gen uint32 - Lspare int32 - Qspare1 int64 - Qspare2 int64 + Ino uint64 + Nlink uint32 + Dev uint32 + Mode uint16 + _1 uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare1 int64 + Qspare2 int64 } type Statfs_t struct { diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go index c146c1ad..0edc5409 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go @@ -62,50 +62,50 @@ const ( ) type Stat_t struct { - Dev uint64 - Ino uint64 - Nlink uint64 - Mode uint16 - _0 int16 - Uid uint32 - Gid uint32 - _1 int32 - Rdev uint64 - Atim_ext int32 - Atim Timespec - Mtim_ext int32 - Mtim Timespec - Ctim_ext int32 - Ctim Timespec - Btim_ext int32 - Birthtim Timespec - Size int64 - Blocks int64 - Blksize int32 - Flags uint32 - Gen uint64 - Spare [10]uint64 + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint16 + _0 int16 + Uid uint32 + Gid uint32 + _1 int32 + Rdev uint64 + _ int32 + Atim Timespec + _ int32 + Mtim Timespec + _ int32 + Ctim Timespec + _ int32 + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint64 + Spare [10]uint64 } type stat_freebsd11_t struct { - Dev uint32 - Ino uint32 - Mode uint16 - Nlink uint16 - Uid uint32 - Gid uint32 - Rdev uint32 - Atim Timespec - Mtim Timespec - Ctim Timespec - Size int64 - Blocks int64 - Blksize int32 - Flags uint32 - Gen uint32 - Lspare int32 - Birthtim Timespec - _ [8]byte + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Btim Timespec + _ [8]byte } type Statfs_t struct { diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go index ac33a8dd..8881ce84 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go @@ -62,45 +62,45 @@ const ( ) type Stat_t struct { - Dev uint64 - Ino uint64 - Nlink uint64 - Mode uint16 - _0 int16 - Uid uint32 - Gid uint32 - _1 int32 - Rdev uint64 - Atim Timespec - Mtim Timespec - Ctim Timespec - Birthtim Timespec - Size int64 - Blocks int64 - Blksize int32 - Flags uint32 - Gen uint64 - Spare [10]uint64 + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint16 + _0 int16 + Uid uint32 + Gid uint32 + _1 int32 + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint64 + Spare [10]uint64 } type stat_freebsd11_t struct { - Dev uint32 - Ino uint32 - Mode uint16 - Nlink uint16 - Uid uint32 - Gid uint32 - Rdev uint32 - Atim Timespec - Mtim Timespec - Ctim Timespec - Size int64 - Blocks int64 - Blksize int32 - Flags uint32 - Gen uint32 - Lspare int32 - Birthtim Timespec + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Btim Timespec } type Statfs_t struct { diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go index e27511a6..fc713999 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go @@ -64,45 +64,45 @@ const ( ) type Stat_t struct { - Dev uint64 - Ino uint64 - Nlink uint64 - Mode uint16 - _0 int16 - Uid uint32 - Gid uint32 - _1 int32 - Rdev uint64 - Atim Timespec - Mtim Timespec - Ctim Timespec - Birthtim Timespec - Size int64 - Blocks int64 - Blksize int32 - Flags uint32 - Gen uint64 - Spare [10]uint64 + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint16 + _0 int16 + Uid uint32 + Gid uint32 + _1 int32 + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint64 + Spare [10]uint64 } type stat_freebsd11_t struct { - Dev uint32 - Ino uint32 - Mode uint16 - Nlink uint16 - Uid uint32 - Gid uint32 - Rdev uint32 - Atim Timespec - Mtim Timespec - Ctim Timespec - Size int64 - Blocks int64 - Blksize int32 - Flags uint32 - Gen uint32 - Lspare int32 - Birthtim Timespec + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Btim Timespec } type Statfs_t struct { diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go index 2aadc1a4..5a0753ee 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go @@ -62,45 +62,45 @@ const ( ) type Stat_t struct { - Dev uint64 - Ino uint64 - Nlink uint64 - Mode uint16 - _0 int16 - Uid uint32 - Gid uint32 - _1 int32 - Rdev uint64 - Atim Timespec - Mtim Timespec - Ctim Timespec - Birthtim Timespec - Size int64 - Blocks int64 - Blksize int32 - Flags uint32 - Gen uint64 - Spare [10]uint64 + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint16 + _0 int16 + Uid uint32 + Gid uint32 + _1 int32 + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint64 + Spare [10]uint64 } type stat_freebsd11_t struct { - Dev uint32 - Ino uint32 - Mode uint16 - Nlink uint16 - Uid uint32 - Gid uint32 - Rdev uint32 - Atim Timespec - Mtim Timespec - Ctim Timespec - Size int64 - Blocks int64 - Blksize int32 - Flags uint32 - Gen uint32 - Lspare int32 - Birthtim Timespec + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Btim Timespec } type Statfs_t struct { diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go index d262150c..06e3a3f4 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go @@ -405,6 +405,11 @@ type TCPInfo struct { Total_retrans uint32 } +type CanFilter struct { + Id uint32 + Mask uint32 +} + const ( SizeofSockaddrInet4 = 0x10 SizeofSockaddrInet6 = 0x1c @@ -434,141 +439,185 @@ const ( SizeofICMPv6Filter = 0x20 SizeofUcred = 0xc SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 ) const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_INFO_KIND = 0x1 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_NUM_VF = 0x15 - IFLA_VFINFO_LIST = 0x16 - IFLA_STATS64 = 0x17 - IFLA_VF_PORTS = 0x18 - IFLA_PORT_SELF = 0x19 - IFLA_AF_SPEC = 0x1a - IFLA_GROUP = 0x1b - IFLA_NET_NS_FD = 0x1c - IFLA_EXT_MASK = 0x1d - IFLA_PROMISCUITY = 0x1e - IFLA_NUM_TX_QUEUES = 0x1f - IFLA_NUM_RX_QUEUES = 0x20 - IFLA_CARRIER = 0x21 - IFLA_PHYS_PORT_ID = 0x22 - IFLA_CARRIER_CHANGES = 0x23 - IFLA_PHYS_SWITCH_ID = 0x24 - IFLA_LINK_NETNSID = 0x25 - IFLA_PHYS_PORT_NAME = 0x26 - IFLA_PROTO_DOWN = 0x27 - IFLA_GSO_MAX_SEGS = 0x28 - IFLA_GSO_MAX_SIZE = 0x29 - IFLA_PAD = 0x2a - IFLA_XDP = 0x2b - IFLA_EVENT = 0x2c - IFLA_NEW_NETNSID = 0x2d - IFLA_IF_NETNSID = 0x2e - IFLA_MAX = 0x33 - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTA_MARK = 0x10 - RTA_MFC_STATS = 0x11 - RTA_VIA = 0x12 - RTA_NEWDST = 0x13 - RTA_PREF = 0x14 - RTA_ENCAP_TYPE = 0x15 - RTA_ENCAP = 0x16 - RTA_EXPIRES = 0x17 - RTA_PAD = 0x18 - RTA_UID = 0x19 - RTA_TTL_PROPAGATE = 0x1a - RTA_IP_PROTO = 0x1b - RTA_SPORT = 0x1c - RTA_DPORT = 0x1d - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc ) type NlMsghdr struct { @@ -634,6 +683,27 @@ type RtNexthop struct { Ifindex int32 } +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + const ( SizeofSockFilter = 0x8 SizeofSockFprog = 0x8 @@ -759,6 +829,8 @@ type Sigset_t struct { Val [32]uint32 } +const _C__NSIG = 0x41 + type SignalfdSiginfo struct { Signo uint32 Errno int32 @@ -955,7 +1027,8 @@ type PerfEventAttr struct { Clockid int32 Sample_regs_intr uint64 Aux_watermark uint32 - _ uint32 + Sample_max_stack uint16 + _ uint16 } type PerfEventMmapPage struct { @@ -1058,6 +1131,7 @@ const ( PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 PERF_COUNT_SW_EMULATION_FAULTS = 0x8 PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa PERF_SAMPLE_IP = 0x1 PERF_SAMPLE_TID = 0x2 @@ -1079,21 +1153,38 @@ const ( PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 PERF_FORMAT_ID = 0x4 PERF_FORMAT_GROUP = 0x8 - PERF_RECORD_MMAP = 0x1 - PERF_RECORD_LOST = 0x2 - PERF_RECORD_COMM = 0x3 - PERF_RECORD_EXIT = 0x4 - PERF_RECORD_THROTTLE = 0x5 - PERF_RECORD_UNTHROTTLE = 0x6 - PERF_RECORD_FORK = 0x7 - PERF_RECORD_READ = 0x8 - PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 PERF_CONTEXT_HV = -0x20 PERF_CONTEXT_KERNEL = -0x80 @@ -1106,6 +1197,7 @@ const ( PERF_FLAG_FD_NO_GROUP = 0x1 PERF_FLAG_FD_OUTPUT = 0x2 PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 ) const ( @@ -1362,6 +1454,21 @@ type TpacketBlockDesc struct { Hdr [40]byte } +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + type TpacketReq struct { Block_size uint32 Block_nr uint32 @@ -1410,6 +1517,9 @@ const ( SizeofTpacketHdr = 0x18 SizeofTpacket2Hdr = 0x20 SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc ) const ( @@ -2025,3 +2135,335 @@ type SockExtendedErr struct { Info uint32 Data uint32 } + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go index e492caac..cef25e73 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go @@ -406,6 +406,11 @@ type TCPInfo struct { Total_retrans uint32 } +type CanFilter struct { + Id uint32 + Mask uint32 +} + const ( SizeofSockaddrInet4 = 0x10 SizeofSockaddrInet6 = 0x1c @@ -435,141 +440,185 @@ const ( SizeofICMPv6Filter = 0x20 SizeofUcred = 0xc SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 ) const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_INFO_KIND = 0x1 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_NUM_VF = 0x15 - IFLA_VFINFO_LIST = 0x16 - IFLA_STATS64 = 0x17 - IFLA_VF_PORTS = 0x18 - IFLA_PORT_SELF = 0x19 - IFLA_AF_SPEC = 0x1a - IFLA_GROUP = 0x1b - IFLA_NET_NS_FD = 0x1c - IFLA_EXT_MASK = 0x1d - IFLA_PROMISCUITY = 0x1e - IFLA_NUM_TX_QUEUES = 0x1f - IFLA_NUM_RX_QUEUES = 0x20 - IFLA_CARRIER = 0x21 - IFLA_PHYS_PORT_ID = 0x22 - IFLA_CARRIER_CHANGES = 0x23 - IFLA_PHYS_SWITCH_ID = 0x24 - IFLA_LINK_NETNSID = 0x25 - IFLA_PHYS_PORT_NAME = 0x26 - IFLA_PROTO_DOWN = 0x27 - IFLA_GSO_MAX_SEGS = 0x28 - IFLA_GSO_MAX_SIZE = 0x29 - IFLA_PAD = 0x2a - IFLA_XDP = 0x2b - IFLA_EVENT = 0x2c - IFLA_NEW_NETNSID = 0x2d - IFLA_IF_NETNSID = 0x2e - IFLA_MAX = 0x33 - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTA_MARK = 0x10 - RTA_MFC_STATS = 0x11 - RTA_VIA = 0x12 - RTA_NEWDST = 0x13 - RTA_PREF = 0x14 - RTA_ENCAP_TYPE = 0x15 - RTA_ENCAP = 0x16 - RTA_EXPIRES = 0x17 - RTA_PAD = 0x18 - RTA_UID = 0x19 - RTA_TTL_PROPAGATE = 0x1a - RTA_IP_PROTO = 0x1b - RTA_SPORT = 0x1c - RTA_DPORT = 0x1d - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc ) type NlMsghdr struct { @@ -635,6 +684,27 @@ type RtNexthop struct { Ifindex int32 } +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + const ( SizeofSockFilter = 0x8 SizeofSockFprog = 0x10 @@ -772,6 +842,8 @@ type Sigset_t struct { Val [16]uint64 } +const _C__NSIG = 0x41 + type SignalfdSiginfo struct { Signo uint32 Errno int32 @@ -966,7 +1038,8 @@ type PerfEventAttr struct { Clockid int32 Sample_regs_intr uint64 Aux_watermark uint32 - _ uint32 + Sample_max_stack uint16 + _ uint16 } type PerfEventMmapPage struct { @@ -1069,6 +1142,7 @@ const ( PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 PERF_COUNT_SW_EMULATION_FAULTS = 0x8 PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa PERF_SAMPLE_IP = 0x1 PERF_SAMPLE_TID = 0x2 @@ -1090,21 +1164,38 @@ const ( PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 PERF_FORMAT_ID = 0x4 PERF_FORMAT_GROUP = 0x8 - PERF_RECORD_MMAP = 0x1 - PERF_RECORD_LOST = 0x2 - PERF_RECORD_COMM = 0x3 - PERF_RECORD_EXIT = 0x4 - PERF_RECORD_THROTTLE = 0x5 - PERF_RECORD_UNTHROTTLE = 0x6 - PERF_RECORD_FORK = 0x7 - PERF_RECORD_READ = 0x8 - PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 PERF_CONTEXT_HV = -0x20 PERF_CONTEXT_KERNEL = -0x80 @@ -1117,6 +1208,7 @@ const ( PERF_FLAG_FD_NO_GROUP = 0x1 PERF_FLAG_FD_OUTPUT = 0x2 PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 ) const ( @@ -1374,6 +1466,21 @@ type TpacketBlockDesc struct { Hdr [40]byte } +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + type TpacketReq struct { Block_size uint32 Block_nr uint32 @@ -1422,6 +1529,9 @@ const ( SizeofTpacketHdr = 0x20 SizeofTpacket2Hdr = 0x20 SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc ) const ( @@ -2038,3 +2148,335 @@ type SockExtendedErr struct { Info uint32 Data uint32 } + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go index ad434215..c4369361 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go @@ -409,6 +409,11 @@ type TCPInfo struct { Total_retrans uint32 } +type CanFilter struct { + Id uint32 + Mask uint32 +} + const ( SizeofSockaddrInet4 = 0x10 SizeofSockaddrInet6 = 0x1c @@ -438,141 +443,185 @@ const ( SizeofICMPv6Filter = 0x20 SizeofUcred = 0xc SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 ) const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_INFO_KIND = 0x1 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_NUM_VF = 0x15 - IFLA_VFINFO_LIST = 0x16 - IFLA_STATS64 = 0x17 - IFLA_VF_PORTS = 0x18 - IFLA_PORT_SELF = 0x19 - IFLA_AF_SPEC = 0x1a - IFLA_GROUP = 0x1b - IFLA_NET_NS_FD = 0x1c - IFLA_EXT_MASK = 0x1d - IFLA_PROMISCUITY = 0x1e - IFLA_NUM_TX_QUEUES = 0x1f - IFLA_NUM_RX_QUEUES = 0x20 - IFLA_CARRIER = 0x21 - IFLA_PHYS_PORT_ID = 0x22 - IFLA_CARRIER_CHANGES = 0x23 - IFLA_PHYS_SWITCH_ID = 0x24 - IFLA_LINK_NETNSID = 0x25 - IFLA_PHYS_PORT_NAME = 0x26 - IFLA_PROTO_DOWN = 0x27 - IFLA_GSO_MAX_SEGS = 0x28 - IFLA_GSO_MAX_SIZE = 0x29 - IFLA_PAD = 0x2a - IFLA_XDP = 0x2b - IFLA_EVENT = 0x2c - IFLA_NEW_NETNSID = 0x2d - IFLA_IF_NETNSID = 0x2e - IFLA_MAX = 0x33 - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTA_MARK = 0x10 - RTA_MFC_STATS = 0x11 - RTA_VIA = 0x12 - RTA_NEWDST = 0x13 - RTA_PREF = 0x14 - RTA_ENCAP_TYPE = 0x15 - RTA_ENCAP = 0x16 - RTA_EXPIRES = 0x17 - RTA_PAD = 0x18 - RTA_UID = 0x19 - RTA_TTL_PROPAGATE = 0x1a - RTA_IP_PROTO = 0x1b - RTA_SPORT = 0x1c - RTA_DPORT = 0x1d - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc ) type NlMsghdr struct { @@ -638,6 +687,27 @@ type RtNexthop struct { Ifindex int32 } +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + const ( SizeofSockFilter = 0x8 SizeofSockFprog = 0x8 @@ -748,6 +818,8 @@ type Sigset_t struct { Val [32]uint32 } +const _C__NSIG = 0x41 + type SignalfdSiginfo struct { Signo uint32 Errno int32 @@ -944,7 +1016,8 @@ type PerfEventAttr struct { Clockid int32 Sample_regs_intr uint64 Aux_watermark uint32 - _ uint32 + Sample_max_stack uint16 + _ uint16 } type PerfEventMmapPage struct { @@ -1047,6 +1120,7 @@ const ( PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 PERF_COUNT_SW_EMULATION_FAULTS = 0x8 PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa PERF_SAMPLE_IP = 0x1 PERF_SAMPLE_TID = 0x2 @@ -1068,21 +1142,38 @@ const ( PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 PERF_FORMAT_ID = 0x4 PERF_FORMAT_GROUP = 0x8 - PERF_RECORD_MMAP = 0x1 - PERF_RECORD_LOST = 0x2 - PERF_RECORD_COMM = 0x3 - PERF_RECORD_EXIT = 0x4 - PERF_RECORD_THROTTLE = 0x5 - PERF_RECORD_UNTHROTTLE = 0x6 - PERF_RECORD_FORK = 0x7 - PERF_RECORD_READ = 0x8 - PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 PERF_CONTEXT_HV = -0x20 PERF_CONTEXT_KERNEL = -0x80 @@ -1095,6 +1186,7 @@ const ( PERF_FLAG_FD_NO_GROUP = 0x1 PERF_FLAG_FD_OUTPUT = 0x2 PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 ) const ( @@ -1352,6 +1444,21 @@ type TpacketBlockDesc struct { Hdr [40]byte } +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + type TpacketReq struct { Block_size uint32 Block_nr uint32 @@ -1400,6 +1507,9 @@ const ( SizeofTpacketHdr = 0x18 SizeofTpacket2Hdr = 0x20 SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc ) const ( @@ -2016,3 +2126,335 @@ type SockExtendedErr struct { Info uint32 Data uint32 } + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]uint8 + Driver_name [64]uint8 + Module_name [64]uint8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]uint8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]uint8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]uint8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]uint8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]uint8 +} + +type CryptoReportLarval struct { + Type [64]uint8 +} + +type CryptoReportHash struct { + Type [64]uint8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]uint8 +} + +type CryptoReportRNG struct { + Type [64]uint8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]uint8 +} + +type CryptoReportKPP struct { + Type [64]uint8 +} + +type CryptoReportAcomp struct { + Type [64]uint8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go index ef76a362..76c55e05 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go @@ -407,6 +407,11 @@ type TCPInfo struct { Total_retrans uint32 } +type CanFilter struct { + Id uint32 + Mask uint32 +} + const ( SizeofSockaddrInet4 = 0x10 SizeofSockaddrInet6 = 0x1c @@ -436,141 +441,185 @@ const ( SizeofICMPv6Filter = 0x20 SizeofUcred = 0xc SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 ) const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_INFO_KIND = 0x1 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_NUM_VF = 0x15 - IFLA_VFINFO_LIST = 0x16 - IFLA_STATS64 = 0x17 - IFLA_VF_PORTS = 0x18 - IFLA_PORT_SELF = 0x19 - IFLA_AF_SPEC = 0x1a - IFLA_GROUP = 0x1b - IFLA_NET_NS_FD = 0x1c - IFLA_EXT_MASK = 0x1d - IFLA_PROMISCUITY = 0x1e - IFLA_NUM_TX_QUEUES = 0x1f - IFLA_NUM_RX_QUEUES = 0x20 - IFLA_CARRIER = 0x21 - IFLA_PHYS_PORT_ID = 0x22 - IFLA_CARRIER_CHANGES = 0x23 - IFLA_PHYS_SWITCH_ID = 0x24 - IFLA_LINK_NETNSID = 0x25 - IFLA_PHYS_PORT_NAME = 0x26 - IFLA_PROTO_DOWN = 0x27 - IFLA_GSO_MAX_SEGS = 0x28 - IFLA_GSO_MAX_SIZE = 0x29 - IFLA_PAD = 0x2a - IFLA_XDP = 0x2b - IFLA_EVENT = 0x2c - IFLA_NEW_NETNSID = 0x2d - IFLA_IF_NETNSID = 0x2e - IFLA_MAX = 0x33 - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTA_MARK = 0x10 - RTA_MFC_STATS = 0x11 - RTA_VIA = 0x12 - RTA_NEWDST = 0x13 - RTA_PREF = 0x14 - RTA_ENCAP_TYPE = 0x15 - RTA_ENCAP = 0x16 - RTA_EXPIRES = 0x17 - RTA_PAD = 0x18 - RTA_UID = 0x19 - RTA_TTL_PROPAGATE = 0x1a - RTA_IP_PROTO = 0x1b - RTA_SPORT = 0x1c - RTA_DPORT = 0x1d - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc ) type NlMsghdr struct { @@ -636,6 +685,27 @@ type RtNexthop struct { Ifindex int32 } +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + const ( SizeofSockFilter = 0x8 SizeofSockFprog = 0x10 @@ -751,6 +821,8 @@ type Sigset_t struct { Val [16]uint64 } +const _C__NSIG = 0x41 + type SignalfdSiginfo struct { Signo uint32 Errno int32 @@ -945,7 +1017,8 @@ type PerfEventAttr struct { Clockid int32 Sample_regs_intr uint64 Aux_watermark uint32 - _ uint32 + Sample_max_stack uint16 + _ uint16 } type PerfEventMmapPage struct { @@ -1048,6 +1121,7 @@ const ( PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 PERF_COUNT_SW_EMULATION_FAULTS = 0x8 PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa PERF_SAMPLE_IP = 0x1 PERF_SAMPLE_TID = 0x2 @@ -1069,21 +1143,38 @@ const ( PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 PERF_FORMAT_ID = 0x4 PERF_FORMAT_GROUP = 0x8 - PERF_RECORD_MMAP = 0x1 - PERF_RECORD_LOST = 0x2 - PERF_RECORD_COMM = 0x3 - PERF_RECORD_EXIT = 0x4 - PERF_RECORD_THROTTLE = 0x5 - PERF_RECORD_UNTHROTTLE = 0x6 - PERF_RECORD_FORK = 0x7 - PERF_RECORD_READ = 0x8 - PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 PERF_CONTEXT_HV = -0x20 PERF_CONTEXT_KERNEL = -0x80 @@ -1096,6 +1187,7 @@ const ( PERF_FLAG_FD_NO_GROUP = 0x1 PERF_FLAG_FD_OUTPUT = 0x2 PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 ) const ( @@ -1353,6 +1445,21 @@ type TpacketBlockDesc struct { Hdr [40]byte } +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + type TpacketReq struct { Block_size uint32 Block_nr uint32 @@ -1401,6 +1508,9 @@ const ( SizeofTpacketHdr = 0x20 SizeofTpacket2Hdr = 0x20 SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc ) const ( @@ -2017,3 +2127,335 @@ type SockExtendedErr struct { Info uint32 Data uint32 } + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go index dbf05903..4302d574 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go @@ -408,6 +408,11 @@ type TCPInfo struct { Total_retrans uint32 } +type CanFilter struct { + Id uint32 + Mask uint32 +} + const ( SizeofSockaddrInet4 = 0x10 SizeofSockaddrInet6 = 0x1c @@ -437,141 +442,185 @@ const ( SizeofICMPv6Filter = 0x20 SizeofUcred = 0xc SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 ) const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_INFO_KIND = 0x1 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_NUM_VF = 0x15 - IFLA_VFINFO_LIST = 0x16 - IFLA_STATS64 = 0x17 - IFLA_VF_PORTS = 0x18 - IFLA_PORT_SELF = 0x19 - IFLA_AF_SPEC = 0x1a - IFLA_GROUP = 0x1b - IFLA_NET_NS_FD = 0x1c - IFLA_EXT_MASK = 0x1d - IFLA_PROMISCUITY = 0x1e - IFLA_NUM_TX_QUEUES = 0x1f - IFLA_NUM_RX_QUEUES = 0x20 - IFLA_CARRIER = 0x21 - IFLA_PHYS_PORT_ID = 0x22 - IFLA_CARRIER_CHANGES = 0x23 - IFLA_PHYS_SWITCH_ID = 0x24 - IFLA_LINK_NETNSID = 0x25 - IFLA_PHYS_PORT_NAME = 0x26 - IFLA_PROTO_DOWN = 0x27 - IFLA_GSO_MAX_SEGS = 0x28 - IFLA_GSO_MAX_SIZE = 0x29 - IFLA_PAD = 0x2a - IFLA_XDP = 0x2b - IFLA_EVENT = 0x2c - IFLA_NEW_NETNSID = 0x2d - IFLA_IF_NETNSID = 0x2e - IFLA_MAX = 0x33 - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTA_MARK = 0x10 - RTA_MFC_STATS = 0x11 - RTA_VIA = 0x12 - RTA_NEWDST = 0x13 - RTA_PREF = 0x14 - RTA_ENCAP_TYPE = 0x15 - RTA_ENCAP = 0x16 - RTA_EXPIRES = 0x17 - RTA_PAD = 0x18 - RTA_UID = 0x19 - RTA_TTL_PROPAGATE = 0x1a - RTA_IP_PROTO = 0x1b - RTA_SPORT = 0x1c - RTA_DPORT = 0x1d - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc ) type NlMsghdr struct { @@ -637,6 +686,27 @@ type RtNexthop struct { Ifindex int32 } +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + const ( SizeofSockFilter = 0x8 SizeofSockFprog = 0x8 @@ -753,6 +823,8 @@ type Sigset_t struct { Val [32]uint32 } +const _C__NSIG = 0x80 + type SignalfdSiginfo struct { Signo uint32 Errno int32 @@ -949,7 +1021,8 @@ type PerfEventAttr struct { Clockid int32 Sample_regs_intr uint64 Aux_watermark uint32 - _ uint32 + Sample_max_stack uint16 + _ uint16 } type PerfEventMmapPage struct { @@ -1052,6 +1125,7 @@ const ( PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 PERF_COUNT_SW_EMULATION_FAULTS = 0x8 PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa PERF_SAMPLE_IP = 0x1 PERF_SAMPLE_TID = 0x2 @@ -1073,21 +1147,38 @@ const ( PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 PERF_FORMAT_ID = 0x4 PERF_FORMAT_GROUP = 0x8 - PERF_RECORD_MMAP = 0x1 - PERF_RECORD_LOST = 0x2 - PERF_RECORD_COMM = 0x3 - PERF_RECORD_EXIT = 0x4 - PERF_RECORD_THROTTLE = 0x5 - PERF_RECORD_UNTHROTTLE = 0x6 - PERF_RECORD_FORK = 0x7 - PERF_RECORD_READ = 0x8 - PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 PERF_CONTEXT_HV = -0x20 PERF_CONTEXT_KERNEL = -0x80 @@ -1100,6 +1191,7 @@ const ( PERF_FLAG_FD_NO_GROUP = 0x1 PERF_FLAG_FD_OUTPUT = 0x2 PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 ) const ( @@ -1358,6 +1450,21 @@ type TpacketBlockDesc struct { Hdr [40]byte } +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + type TpacketReq struct { Block_size uint32 Block_nr uint32 @@ -1406,6 +1513,9 @@ const ( SizeofTpacketHdr = 0x18 SizeofTpacket2Hdr = 0x20 SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc ) const ( @@ -2022,3 +2132,335 @@ type SockExtendedErr struct { Info uint32 Data uint32 } + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go index 1b7e6707..7ea742be 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go @@ -407,6 +407,11 @@ type TCPInfo struct { Total_retrans uint32 } +type CanFilter struct { + Id uint32 + Mask uint32 +} + const ( SizeofSockaddrInet4 = 0x10 SizeofSockaddrInet6 = 0x1c @@ -436,141 +441,185 @@ const ( SizeofICMPv6Filter = 0x20 SizeofUcred = 0xc SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 ) const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_INFO_KIND = 0x1 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_NUM_VF = 0x15 - IFLA_VFINFO_LIST = 0x16 - IFLA_STATS64 = 0x17 - IFLA_VF_PORTS = 0x18 - IFLA_PORT_SELF = 0x19 - IFLA_AF_SPEC = 0x1a - IFLA_GROUP = 0x1b - IFLA_NET_NS_FD = 0x1c - IFLA_EXT_MASK = 0x1d - IFLA_PROMISCUITY = 0x1e - IFLA_NUM_TX_QUEUES = 0x1f - IFLA_NUM_RX_QUEUES = 0x20 - IFLA_CARRIER = 0x21 - IFLA_PHYS_PORT_ID = 0x22 - IFLA_CARRIER_CHANGES = 0x23 - IFLA_PHYS_SWITCH_ID = 0x24 - IFLA_LINK_NETNSID = 0x25 - IFLA_PHYS_PORT_NAME = 0x26 - IFLA_PROTO_DOWN = 0x27 - IFLA_GSO_MAX_SEGS = 0x28 - IFLA_GSO_MAX_SIZE = 0x29 - IFLA_PAD = 0x2a - IFLA_XDP = 0x2b - IFLA_EVENT = 0x2c - IFLA_NEW_NETNSID = 0x2d - IFLA_IF_NETNSID = 0x2e - IFLA_MAX = 0x33 - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTA_MARK = 0x10 - RTA_MFC_STATS = 0x11 - RTA_VIA = 0x12 - RTA_NEWDST = 0x13 - RTA_PREF = 0x14 - RTA_ENCAP_TYPE = 0x15 - RTA_ENCAP = 0x16 - RTA_EXPIRES = 0x17 - RTA_PAD = 0x18 - RTA_UID = 0x19 - RTA_TTL_PROPAGATE = 0x1a - RTA_IP_PROTO = 0x1b - RTA_SPORT = 0x1c - RTA_DPORT = 0x1d - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc ) type NlMsghdr struct { @@ -636,6 +685,27 @@ type RtNexthop struct { Ifindex int32 } +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + const ( SizeofSockFilter = 0x8 SizeofSockFprog = 0x10 @@ -753,6 +823,8 @@ type Sigset_t struct { Val [16]uint64 } +const _C__NSIG = 0x80 + type SignalfdSiginfo struct { Signo uint32 Errno int32 @@ -947,7 +1019,8 @@ type PerfEventAttr struct { Clockid int32 Sample_regs_intr uint64 Aux_watermark uint32 - _ uint32 + Sample_max_stack uint16 + _ uint16 } type PerfEventMmapPage struct { @@ -1050,6 +1123,7 @@ const ( PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 PERF_COUNT_SW_EMULATION_FAULTS = 0x8 PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa PERF_SAMPLE_IP = 0x1 PERF_SAMPLE_TID = 0x2 @@ -1071,21 +1145,38 @@ const ( PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 PERF_FORMAT_ID = 0x4 PERF_FORMAT_GROUP = 0x8 - PERF_RECORD_MMAP = 0x1 - PERF_RECORD_LOST = 0x2 - PERF_RECORD_COMM = 0x3 - PERF_RECORD_EXIT = 0x4 - PERF_RECORD_THROTTLE = 0x5 - PERF_RECORD_UNTHROTTLE = 0x6 - PERF_RECORD_FORK = 0x7 - PERF_RECORD_READ = 0x8 - PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 PERF_CONTEXT_HV = -0x20 PERF_CONTEXT_KERNEL = -0x80 @@ -1098,6 +1189,7 @@ const ( PERF_FLAG_FD_NO_GROUP = 0x1 PERF_FLAG_FD_OUTPUT = 0x2 PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 ) const ( @@ -1355,6 +1447,21 @@ type TpacketBlockDesc struct { Hdr [40]byte } +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + type TpacketReq struct { Block_size uint32 Block_nr uint32 @@ -1403,6 +1510,9 @@ const ( SizeofTpacketHdr = 0x20 SizeofTpacket2Hdr = 0x20 SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc ) const ( @@ -2019,3 +2129,335 @@ type SockExtendedErr struct { Info uint32 Data uint32 } + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go index 57379005..8f2b8ad4 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go @@ -407,6 +407,11 @@ type TCPInfo struct { Total_retrans uint32 } +type CanFilter struct { + Id uint32 + Mask uint32 +} + const ( SizeofSockaddrInet4 = 0x10 SizeofSockaddrInet6 = 0x1c @@ -436,141 +441,185 @@ const ( SizeofICMPv6Filter = 0x20 SizeofUcred = 0xc SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 ) const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_INFO_KIND = 0x1 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_NUM_VF = 0x15 - IFLA_VFINFO_LIST = 0x16 - IFLA_STATS64 = 0x17 - IFLA_VF_PORTS = 0x18 - IFLA_PORT_SELF = 0x19 - IFLA_AF_SPEC = 0x1a - IFLA_GROUP = 0x1b - IFLA_NET_NS_FD = 0x1c - IFLA_EXT_MASK = 0x1d - IFLA_PROMISCUITY = 0x1e - IFLA_NUM_TX_QUEUES = 0x1f - IFLA_NUM_RX_QUEUES = 0x20 - IFLA_CARRIER = 0x21 - IFLA_PHYS_PORT_ID = 0x22 - IFLA_CARRIER_CHANGES = 0x23 - IFLA_PHYS_SWITCH_ID = 0x24 - IFLA_LINK_NETNSID = 0x25 - IFLA_PHYS_PORT_NAME = 0x26 - IFLA_PROTO_DOWN = 0x27 - IFLA_GSO_MAX_SEGS = 0x28 - IFLA_GSO_MAX_SIZE = 0x29 - IFLA_PAD = 0x2a - IFLA_XDP = 0x2b - IFLA_EVENT = 0x2c - IFLA_NEW_NETNSID = 0x2d - IFLA_IF_NETNSID = 0x2e - IFLA_MAX = 0x33 - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTA_MARK = 0x10 - RTA_MFC_STATS = 0x11 - RTA_VIA = 0x12 - RTA_NEWDST = 0x13 - RTA_PREF = 0x14 - RTA_ENCAP_TYPE = 0x15 - RTA_ENCAP = 0x16 - RTA_EXPIRES = 0x17 - RTA_PAD = 0x18 - RTA_UID = 0x19 - RTA_TTL_PROPAGATE = 0x1a - RTA_IP_PROTO = 0x1b - RTA_SPORT = 0x1c - RTA_DPORT = 0x1d - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc ) type NlMsghdr struct { @@ -636,6 +685,27 @@ type RtNexthop struct { Ifindex int32 } +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + const ( SizeofSockFilter = 0x8 SizeofSockFprog = 0x10 @@ -753,6 +823,8 @@ type Sigset_t struct { Val [16]uint64 } +const _C__NSIG = 0x80 + type SignalfdSiginfo struct { Signo uint32 Errno int32 @@ -947,7 +1019,8 @@ type PerfEventAttr struct { Clockid int32 Sample_regs_intr uint64 Aux_watermark uint32 - _ uint32 + Sample_max_stack uint16 + _ uint16 } type PerfEventMmapPage struct { @@ -1050,6 +1123,7 @@ const ( PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 PERF_COUNT_SW_EMULATION_FAULTS = 0x8 PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa PERF_SAMPLE_IP = 0x1 PERF_SAMPLE_TID = 0x2 @@ -1071,21 +1145,38 @@ const ( PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 PERF_FORMAT_ID = 0x4 PERF_FORMAT_GROUP = 0x8 - PERF_RECORD_MMAP = 0x1 - PERF_RECORD_LOST = 0x2 - PERF_RECORD_COMM = 0x3 - PERF_RECORD_EXIT = 0x4 - PERF_RECORD_THROTTLE = 0x5 - PERF_RECORD_UNTHROTTLE = 0x6 - PERF_RECORD_FORK = 0x7 - PERF_RECORD_READ = 0x8 - PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 PERF_CONTEXT_HV = -0x20 PERF_CONTEXT_KERNEL = -0x80 @@ -1098,6 +1189,7 @@ const ( PERF_FLAG_FD_NO_GROUP = 0x1 PERF_FLAG_FD_OUTPUT = 0x2 PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 ) const ( @@ -1355,6 +1447,21 @@ type TpacketBlockDesc struct { Hdr [40]byte } +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + type TpacketReq struct { Block_size uint32 Block_nr uint32 @@ -1403,6 +1510,9 @@ const ( SizeofTpacketHdr = 0x20 SizeofTpacket2Hdr = 0x20 SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc ) const ( @@ -2019,3 +2129,335 @@ type SockExtendedErr struct { Info uint32 Data uint32 } + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go index 0e88bf47..865bf57d 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go @@ -408,6 +408,11 @@ type TCPInfo struct { Total_retrans uint32 } +type CanFilter struct { + Id uint32 + Mask uint32 +} + const ( SizeofSockaddrInet4 = 0x10 SizeofSockaddrInet6 = 0x1c @@ -437,141 +442,185 @@ const ( SizeofICMPv6Filter = 0x20 SizeofUcred = 0xc SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 ) const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_INFO_KIND = 0x1 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_NUM_VF = 0x15 - IFLA_VFINFO_LIST = 0x16 - IFLA_STATS64 = 0x17 - IFLA_VF_PORTS = 0x18 - IFLA_PORT_SELF = 0x19 - IFLA_AF_SPEC = 0x1a - IFLA_GROUP = 0x1b - IFLA_NET_NS_FD = 0x1c - IFLA_EXT_MASK = 0x1d - IFLA_PROMISCUITY = 0x1e - IFLA_NUM_TX_QUEUES = 0x1f - IFLA_NUM_RX_QUEUES = 0x20 - IFLA_CARRIER = 0x21 - IFLA_PHYS_PORT_ID = 0x22 - IFLA_CARRIER_CHANGES = 0x23 - IFLA_PHYS_SWITCH_ID = 0x24 - IFLA_LINK_NETNSID = 0x25 - IFLA_PHYS_PORT_NAME = 0x26 - IFLA_PROTO_DOWN = 0x27 - IFLA_GSO_MAX_SEGS = 0x28 - IFLA_GSO_MAX_SIZE = 0x29 - IFLA_PAD = 0x2a - IFLA_XDP = 0x2b - IFLA_EVENT = 0x2c - IFLA_NEW_NETNSID = 0x2d - IFLA_IF_NETNSID = 0x2e - IFLA_MAX = 0x33 - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTA_MARK = 0x10 - RTA_MFC_STATS = 0x11 - RTA_VIA = 0x12 - RTA_NEWDST = 0x13 - RTA_PREF = 0x14 - RTA_ENCAP_TYPE = 0x15 - RTA_ENCAP = 0x16 - RTA_EXPIRES = 0x17 - RTA_PAD = 0x18 - RTA_UID = 0x19 - RTA_TTL_PROPAGATE = 0x1a - RTA_IP_PROTO = 0x1b - RTA_SPORT = 0x1c - RTA_DPORT = 0x1d - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc ) type NlMsghdr struct { @@ -637,6 +686,27 @@ type RtNexthop struct { Ifindex int32 } +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + const ( SizeofSockFilter = 0x8 SizeofSockFprog = 0x8 @@ -753,6 +823,8 @@ type Sigset_t struct { Val [32]uint32 } +const _C__NSIG = 0x80 + type SignalfdSiginfo struct { Signo uint32 Errno int32 @@ -949,7 +1021,8 @@ type PerfEventAttr struct { Clockid int32 Sample_regs_intr uint64 Aux_watermark uint32 - _ uint32 + Sample_max_stack uint16 + _ uint16 } type PerfEventMmapPage struct { @@ -1052,6 +1125,7 @@ const ( PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 PERF_COUNT_SW_EMULATION_FAULTS = 0x8 PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa PERF_SAMPLE_IP = 0x1 PERF_SAMPLE_TID = 0x2 @@ -1073,21 +1147,38 @@ const ( PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 PERF_FORMAT_ID = 0x4 PERF_FORMAT_GROUP = 0x8 - PERF_RECORD_MMAP = 0x1 - PERF_RECORD_LOST = 0x2 - PERF_RECORD_COMM = 0x3 - PERF_RECORD_EXIT = 0x4 - PERF_RECORD_THROTTLE = 0x5 - PERF_RECORD_UNTHROTTLE = 0x6 - PERF_RECORD_FORK = 0x7 - PERF_RECORD_READ = 0x8 - PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 PERF_CONTEXT_HV = -0x20 PERF_CONTEXT_KERNEL = -0x80 @@ -1100,6 +1191,7 @@ const ( PERF_FLAG_FD_NO_GROUP = 0x1 PERF_FLAG_FD_OUTPUT = 0x2 PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 ) const ( @@ -1358,6 +1450,21 @@ type TpacketBlockDesc struct { Hdr [40]byte } +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + type TpacketReq struct { Block_size uint32 Block_nr uint32 @@ -1406,6 +1513,9 @@ const ( SizeofTpacketHdr = 0x18 SizeofTpacket2Hdr = 0x20 SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc ) const ( @@ -2022,3 +2132,335 @@ type SockExtendedErr struct { Info uint32 Data uint32 } + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go index 5ac91b3f..2b68027d 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go @@ -408,6 +408,11 @@ type TCPInfo struct { Total_retrans uint32 } +type CanFilter struct { + Id uint32 + Mask uint32 +} + const ( SizeofSockaddrInet4 = 0x10 SizeofSockaddrInet6 = 0x1c @@ -437,141 +442,185 @@ const ( SizeofICMPv6Filter = 0x20 SizeofUcred = 0xc SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 ) const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_INFO_KIND = 0x1 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_NUM_VF = 0x15 - IFLA_VFINFO_LIST = 0x16 - IFLA_STATS64 = 0x17 - IFLA_VF_PORTS = 0x18 - IFLA_PORT_SELF = 0x19 - IFLA_AF_SPEC = 0x1a - IFLA_GROUP = 0x1b - IFLA_NET_NS_FD = 0x1c - IFLA_EXT_MASK = 0x1d - IFLA_PROMISCUITY = 0x1e - IFLA_NUM_TX_QUEUES = 0x1f - IFLA_NUM_RX_QUEUES = 0x20 - IFLA_CARRIER = 0x21 - IFLA_PHYS_PORT_ID = 0x22 - IFLA_CARRIER_CHANGES = 0x23 - IFLA_PHYS_SWITCH_ID = 0x24 - IFLA_LINK_NETNSID = 0x25 - IFLA_PHYS_PORT_NAME = 0x26 - IFLA_PROTO_DOWN = 0x27 - IFLA_GSO_MAX_SEGS = 0x28 - IFLA_GSO_MAX_SIZE = 0x29 - IFLA_PAD = 0x2a - IFLA_XDP = 0x2b - IFLA_EVENT = 0x2c - IFLA_NEW_NETNSID = 0x2d - IFLA_IF_NETNSID = 0x2e - IFLA_MAX = 0x33 - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTA_MARK = 0x10 - RTA_MFC_STATS = 0x11 - RTA_VIA = 0x12 - RTA_NEWDST = 0x13 - RTA_PREF = 0x14 - RTA_ENCAP_TYPE = 0x15 - RTA_ENCAP = 0x16 - RTA_EXPIRES = 0x17 - RTA_PAD = 0x18 - RTA_UID = 0x19 - RTA_TTL_PROPAGATE = 0x1a - RTA_IP_PROTO = 0x1b - RTA_SPORT = 0x1c - RTA_DPORT = 0x1d - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc ) type NlMsghdr struct { @@ -637,6 +686,27 @@ type RtNexthop struct { Ifindex int32 } +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + const ( SizeofSockFilter = 0x8 SizeofSockFprog = 0x10 @@ -761,6 +831,8 @@ type Sigset_t struct { Val [16]uint64 } +const _C__NSIG = 0x41 + type SignalfdSiginfo struct { Signo uint32 Errno int32 @@ -955,7 +1027,8 @@ type PerfEventAttr struct { Clockid int32 Sample_regs_intr uint64 Aux_watermark uint32 - _ uint32 + Sample_max_stack uint16 + _ uint16 } type PerfEventMmapPage struct { @@ -1058,6 +1131,7 @@ const ( PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 PERF_COUNT_SW_EMULATION_FAULTS = 0x8 PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa PERF_SAMPLE_IP = 0x1 PERF_SAMPLE_TID = 0x2 @@ -1079,21 +1153,38 @@ const ( PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 PERF_FORMAT_ID = 0x4 PERF_FORMAT_GROUP = 0x8 - PERF_RECORD_MMAP = 0x1 - PERF_RECORD_LOST = 0x2 - PERF_RECORD_COMM = 0x3 - PERF_RECORD_EXIT = 0x4 - PERF_RECORD_THROTTLE = 0x5 - PERF_RECORD_UNTHROTTLE = 0x6 - PERF_RECORD_FORK = 0x7 - PERF_RECORD_READ = 0x8 - PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 PERF_CONTEXT_HV = -0x20 PERF_CONTEXT_KERNEL = -0x80 @@ -1106,6 +1197,7 @@ const ( PERF_FLAG_FD_NO_GROUP = 0x1 PERF_FLAG_FD_OUTPUT = 0x2 PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 ) const ( @@ -1363,6 +1455,21 @@ type TpacketBlockDesc struct { Hdr [40]byte } +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + type TpacketReq struct { Block_size uint32 Block_nr uint32 @@ -1411,6 +1518,9 @@ const ( SizeofTpacketHdr = 0x20 SizeofTpacket2Hdr = 0x20 SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc ) const ( @@ -2027,3 +2137,335 @@ type SockExtendedErr struct { Info uint32 Data uint32 } + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]uint8 + Driver_name [64]uint8 + Module_name [64]uint8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]uint8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]uint8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]uint8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]uint8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]uint8 +} + +type CryptoReportLarval struct { + Type [64]uint8 +} + +type CryptoReportHash struct { + Type [64]uint8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]uint8 +} + +type CryptoReportRNG struct { + Type [64]uint8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]uint8 +} + +type CryptoReportKPP struct { + Type [64]uint8 +} + +type CryptoReportAcomp struct { + Type [64]uint8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go index 1e59b450..76cd7e64 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go @@ -408,6 +408,11 @@ type TCPInfo struct { Total_retrans uint32 } +type CanFilter struct { + Id uint32 + Mask uint32 +} + const ( SizeofSockaddrInet4 = 0x10 SizeofSockaddrInet6 = 0x1c @@ -437,141 +442,185 @@ const ( SizeofICMPv6Filter = 0x20 SizeofUcred = 0xc SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 ) const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_INFO_KIND = 0x1 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_NUM_VF = 0x15 - IFLA_VFINFO_LIST = 0x16 - IFLA_STATS64 = 0x17 - IFLA_VF_PORTS = 0x18 - IFLA_PORT_SELF = 0x19 - IFLA_AF_SPEC = 0x1a - IFLA_GROUP = 0x1b - IFLA_NET_NS_FD = 0x1c - IFLA_EXT_MASK = 0x1d - IFLA_PROMISCUITY = 0x1e - IFLA_NUM_TX_QUEUES = 0x1f - IFLA_NUM_RX_QUEUES = 0x20 - IFLA_CARRIER = 0x21 - IFLA_PHYS_PORT_ID = 0x22 - IFLA_CARRIER_CHANGES = 0x23 - IFLA_PHYS_SWITCH_ID = 0x24 - IFLA_LINK_NETNSID = 0x25 - IFLA_PHYS_PORT_NAME = 0x26 - IFLA_PROTO_DOWN = 0x27 - IFLA_GSO_MAX_SEGS = 0x28 - IFLA_GSO_MAX_SIZE = 0x29 - IFLA_PAD = 0x2a - IFLA_XDP = 0x2b - IFLA_EVENT = 0x2c - IFLA_NEW_NETNSID = 0x2d - IFLA_IF_NETNSID = 0x2e - IFLA_MAX = 0x33 - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTA_MARK = 0x10 - RTA_MFC_STATS = 0x11 - RTA_VIA = 0x12 - RTA_NEWDST = 0x13 - RTA_PREF = 0x14 - RTA_ENCAP_TYPE = 0x15 - RTA_ENCAP = 0x16 - RTA_EXPIRES = 0x17 - RTA_PAD = 0x18 - RTA_UID = 0x19 - RTA_TTL_PROPAGATE = 0x1a - RTA_IP_PROTO = 0x1b - RTA_SPORT = 0x1c - RTA_DPORT = 0x1d - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc ) type NlMsghdr struct { @@ -637,6 +686,27 @@ type RtNexthop struct { Ifindex int32 } +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + const ( SizeofSockFilter = 0x8 SizeofSockFprog = 0x10 @@ -761,6 +831,8 @@ type Sigset_t struct { Val [16]uint64 } +const _C__NSIG = 0x41 + type SignalfdSiginfo struct { Signo uint32 Errno int32 @@ -955,7 +1027,8 @@ type PerfEventAttr struct { Clockid int32 Sample_regs_intr uint64 Aux_watermark uint32 - _ uint32 + Sample_max_stack uint16 + _ uint16 } type PerfEventMmapPage struct { @@ -1058,6 +1131,7 @@ const ( PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 PERF_COUNT_SW_EMULATION_FAULTS = 0x8 PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa PERF_SAMPLE_IP = 0x1 PERF_SAMPLE_TID = 0x2 @@ -1079,21 +1153,38 @@ const ( PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 PERF_FORMAT_ID = 0x4 PERF_FORMAT_GROUP = 0x8 - PERF_RECORD_MMAP = 0x1 - PERF_RECORD_LOST = 0x2 - PERF_RECORD_COMM = 0x3 - PERF_RECORD_EXIT = 0x4 - PERF_RECORD_THROTTLE = 0x5 - PERF_RECORD_UNTHROTTLE = 0x6 - PERF_RECORD_FORK = 0x7 - PERF_RECORD_READ = 0x8 - PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 PERF_CONTEXT_HV = -0x20 PERF_CONTEXT_KERNEL = -0x80 @@ -1106,6 +1197,7 @@ const ( PERF_FLAG_FD_NO_GROUP = 0x1 PERF_FLAG_FD_OUTPUT = 0x2 PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 ) const ( @@ -1363,6 +1455,21 @@ type TpacketBlockDesc struct { Hdr [40]byte } +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + type TpacketReq struct { Block_size uint32 Block_nr uint32 @@ -1411,6 +1518,9 @@ const ( SizeofTpacketHdr = 0x20 SizeofTpacket2Hdr = 0x20 SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc ) const ( @@ -2027,3 +2137,335 @@ type SockExtendedErr struct { Info uint32 Data uint32 } + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]uint8 + Driver_name [64]uint8 + Module_name [64]uint8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]uint8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]uint8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]uint8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]uint8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]uint8 +} + +type CryptoReportLarval struct { + Type [64]uint8 +} + +type CryptoReportHash struct { + Type [64]uint8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]uint8 +} + +type CryptoReportRNG struct { + Type [64]uint8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]uint8 +} + +type CryptoReportKPP struct { + Type [64]uint8 +} + +type CryptoReportAcomp struct { + Type [64]uint8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go index 508885f1..f99f0615 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go @@ -407,6 +407,11 @@ type TCPInfo struct { Total_retrans uint32 } +type CanFilter struct { + Id uint32 + Mask uint32 +} + const ( SizeofSockaddrInet4 = 0x10 SizeofSockaddrInet6 = 0x1c @@ -436,141 +441,185 @@ const ( SizeofICMPv6Filter = 0x20 SizeofUcred = 0xc SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 ) const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_INFO_KIND = 0x1 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_NUM_VF = 0x15 - IFLA_VFINFO_LIST = 0x16 - IFLA_STATS64 = 0x17 - IFLA_VF_PORTS = 0x18 - IFLA_PORT_SELF = 0x19 - IFLA_AF_SPEC = 0x1a - IFLA_GROUP = 0x1b - IFLA_NET_NS_FD = 0x1c - IFLA_EXT_MASK = 0x1d - IFLA_PROMISCUITY = 0x1e - IFLA_NUM_TX_QUEUES = 0x1f - IFLA_NUM_RX_QUEUES = 0x20 - IFLA_CARRIER = 0x21 - IFLA_PHYS_PORT_ID = 0x22 - IFLA_CARRIER_CHANGES = 0x23 - IFLA_PHYS_SWITCH_ID = 0x24 - IFLA_LINK_NETNSID = 0x25 - IFLA_PHYS_PORT_NAME = 0x26 - IFLA_PROTO_DOWN = 0x27 - IFLA_GSO_MAX_SEGS = 0x28 - IFLA_GSO_MAX_SIZE = 0x29 - IFLA_PAD = 0x2a - IFLA_XDP = 0x2b - IFLA_EVENT = 0x2c - IFLA_NEW_NETNSID = 0x2d - IFLA_IF_NETNSID = 0x2e - IFLA_MAX = 0x33 - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTA_MARK = 0x10 - RTA_MFC_STATS = 0x11 - RTA_VIA = 0x12 - RTA_NEWDST = 0x13 - RTA_PREF = 0x14 - RTA_ENCAP_TYPE = 0x15 - RTA_ENCAP = 0x16 - RTA_EXPIRES = 0x17 - RTA_PAD = 0x18 - RTA_UID = 0x19 - RTA_TTL_PROPAGATE = 0x1a - RTA_IP_PROTO = 0x1b - RTA_SPORT = 0x1c - RTA_DPORT = 0x1d - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc ) type NlMsghdr struct { @@ -636,6 +685,27 @@ type RtNexthop struct { Ifindex int32 } +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + const ( SizeofSockFilter = 0x8 SizeofSockFprog = 0x10 @@ -778,6 +848,8 @@ type Sigset_t struct { Val [16]uint64 } +const _C__NSIG = 0x41 + type SignalfdSiginfo struct { Signo uint32 Errno int32 @@ -972,7 +1044,8 @@ type PerfEventAttr struct { Clockid int32 Sample_regs_intr uint64 Aux_watermark uint32 - _ uint32 + Sample_max_stack uint16 + _ uint16 } type PerfEventMmapPage struct { @@ -1075,6 +1148,7 @@ const ( PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 PERF_COUNT_SW_EMULATION_FAULTS = 0x8 PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa PERF_SAMPLE_IP = 0x1 PERF_SAMPLE_TID = 0x2 @@ -1096,21 +1170,38 @@ const ( PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 PERF_FORMAT_ID = 0x4 PERF_FORMAT_GROUP = 0x8 - PERF_RECORD_MMAP = 0x1 - PERF_RECORD_LOST = 0x2 - PERF_RECORD_COMM = 0x3 - PERF_RECORD_EXIT = 0x4 - PERF_RECORD_THROTTLE = 0x5 - PERF_RECORD_UNTHROTTLE = 0x6 - PERF_RECORD_FORK = 0x7 - PERF_RECORD_READ = 0x8 - PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 PERF_CONTEXT_HV = -0x20 PERF_CONTEXT_KERNEL = -0x80 @@ -1123,6 +1214,7 @@ const ( PERF_FLAG_FD_NO_GROUP = 0x1 PERF_FLAG_FD_OUTPUT = 0x2 PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 ) const ( @@ -1380,6 +1472,21 @@ type TpacketBlockDesc struct { Hdr [40]byte } +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + type TpacketReq struct { Block_size uint32 Block_nr uint32 @@ -1428,6 +1535,9 @@ const ( SizeofTpacketHdr = 0x20 SizeofTpacket2Hdr = 0x20 SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc ) const ( @@ -2044,3 +2154,335 @@ type SockExtendedErr struct { Info uint32 Data uint32 } + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]uint8 + Driver_name [64]uint8 + Module_name [64]uint8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]uint8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]uint8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]uint8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]uint8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]uint8 +} + +type CryptoReportLarval struct { + Type [64]uint8 +} + +type CryptoReportHash struct { + Type [64]uint8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]uint8 +} + +type CryptoReportRNG struct { + Type [64]uint8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]uint8 +} + +type CryptoReportKPP struct { + Type [64]uint8 +} + +type CryptoReportAcomp struct { + Type [64]uint8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go index d315f2c3..d9d03ae4 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go @@ -406,6 +406,11 @@ type TCPInfo struct { Total_retrans uint32 } +type CanFilter struct { + Id uint32 + Mask uint32 +} + const ( SizeofSockaddrInet4 = 0x10 SizeofSockaddrInet6 = 0x1c @@ -435,141 +440,185 @@ const ( SizeofICMPv6Filter = 0x20 SizeofUcred = 0xc SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 ) const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_INFO_KIND = 0x1 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_NUM_VF = 0x15 - IFLA_VFINFO_LIST = 0x16 - IFLA_STATS64 = 0x17 - IFLA_VF_PORTS = 0x18 - IFLA_PORT_SELF = 0x19 - IFLA_AF_SPEC = 0x1a - IFLA_GROUP = 0x1b - IFLA_NET_NS_FD = 0x1c - IFLA_EXT_MASK = 0x1d - IFLA_PROMISCUITY = 0x1e - IFLA_NUM_TX_QUEUES = 0x1f - IFLA_NUM_RX_QUEUES = 0x20 - IFLA_CARRIER = 0x21 - IFLA_PHYS_PORT_ID = 0x22 - IFLA_CARRIER_CHANGES = 0x23 - IFLA_PHYS_SWITCH_ID = 0x24 - IFLA_LINK_NETNSID = 0x25 - IFLA_PHYS_PORT_NAME = 0x26 - IFLA_PROTO_DOWN = 0x27 - IFLA_GSO_MAX_SEGS = 0x28 - IFLA_GSO_MAX_SIZE = 0x29 - IFLA_PAD = 0x2a - IFLA_XDP = 0x2b - IFLA_EVENT = 0x2c - IFLA_NEW_NETNSID = 0x2d - IFLA_IF_NETNSID = 0x2e - IFLA_MAX = 0x33 - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTA_MARK = 0x10 - RTA_MFC_STATS = 0x11 - RTA_VIA = 0x12 - RTA_NEWDST = 0x13 - RTA_PREF = 0x14 - RTA_ENCAP_TYPE = 0x15 - RTA_ENCAP = 0x16 - RTA_EXPIRES = 0x17 - RTA_PAD = 0x18 - RTA_UID = 0x19 - RTA_TTL_PROPAGATE = 0x1a - RTA_IP_PROTO = 0x1b - RTA_SPORT = 0x1c - RTA_DPORT = 0x1d - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc ) type NlMsghdr struct { @@ -635,6 +684,27 @@ type RtNexthop struct { Ifindex int32 } +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + const ( SizeofSockFilter = 0x8 SizeofSockFprog = 0x10 @@ -774,6 +844,8 @@ type Sigset_t struct { Val [16]uint64 } +const _C__NSIG = 0x41 + type SignalfdSiginfo struct { Signo uint32 Errno int32 @@ -968,7 +1040,8 @@ type PerfEventAttr struct { Clockid int32 Sample_regs_intr uint64 Aux_watermark uint32 - _ uint32 + Sample_max_stack uint16 + _ uint16 } type PerfEventMmapPage struct { @@ -1071,6 +1144,7 @@ const ( PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 PERF_COUNT_SW_EMULATION_FAULTS = 0x8 PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa PERF_SAMPLE_IP = 0x1 PERF_SAMPLE_TID = 0x2 @@ -1092,21 +1166,38 @@ const ( PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 PERF_FORMAT_ID = 0x4 PERF_FORMAT_GROUP = 0x8 - PERF_RECORD_MMAP = 0x1 - PERF_RECORD_LOST = 0x2 - PERF_RECORD_COMM = 0x3 - PERF_RECORD_EXIT = 0x4 - PERF_RECORD_THROTTLE = 0x5 - PERF_RECORD_UNTHROTTLE = 0x6 - PERF_RECORD_FORK = 0x7 - PERF_RECORD_READ = 0x8 - PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 PERF_CONTEXT_HV = -0x20 PERF_CONTEXT_KERNEL = -0x80 @@ -1119,6 +1210,7 @@ const ( PERF_FLAG_FD_NO_GROUP = 0x1 PERF_FLAG_FD_OUTPUT = 0x2 PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 ) const ( @@ -1377,6 +1469,21 @@ type TpacketBlockDesc struct { Hdr [40]byte } +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + type TpacketReq struct { Block_size uint32 Block_nr uint32 @@ -1425,6 +1532,9 @@ const ( SizeofTpacketHdr = 0x20 SizeofTpacket2Hdr = 0x20 SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc ) const ( @@ -2041,3 +2151,335 @@ type SockExtendedErr struct { Info uint32 Data uint32 } + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go index a1a9279c..b247fe94 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go @@ -410,6 +410,11 @@ type TCPInfo struct { Total_retrans uint32 } +type CanFilter struct { + Id uint32 + Mask uint32 +} + const ( SizeofSockaddrInet4 = 0x10 SizeofSockaddrInet6 = 0x1c @@ -439,141 +444,185 @@ const ( SizeofICMPv6Filter = 0x20 SizeofUcred = 0xc SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 ) const ( - IFA_UNSPEC = 0x0 - IFA_ADDRESS = 0x1 - IFA_LOCAL = 0x2 - IFA_LABEL = 0x3 - IFA_BROADCAST = 0x4 - IFA_ANYCAST = 0x5 - IFA_CACHEINFO = 0x6 - IFA_MULTICAST = 0x7 - IFLA_UNSPEC = 0x0 - IFLA_ADDRESS = 0x1 - IFLA_BROADCAST = 0x2 - IFLA_IFNAME = 0x3 - IFLA_INFO_KIND = 0x1 - IFLA_MTU = 0x4 - IFLA_LINK = 0x5 - IFLA_QDISC = 0x6 - IFLA_STATS = 0x7 - IFLA_COST = 0x8 - IFLA_PRIORITY = 0x9 - IFLA_MASTER = 0xa - IFLA_WIRELESS = 0xb - IFLA_PROTINFO = 0xc - IFLA_TXQLEN = 0xd - IFLA_MAP = 0xe - IFLA_WEIGHT = 0xf - IFLA_OPERSTATE = 0x10 - IFLA_LINKMODE = 0x11 - IFLA_LINKINFO = 0x12 - IFLA_NET_NS_PID = 0x13 - IFLA_IFALIAS = 0x14 - IFLA_NUM_VF = 0x15 - IFLA_VFINFO_LIST = 0x16 - IFLA_STATS64 = 0x17 - IFLA_VF_PORTS = 0x18 - IFLA_PORT_SELF = 0x19 - IFLA_AF_SPEC = 0x1a - IFLA_GROUP = 0x1b - IFLA_NET_NS_FD = 0x1c - IFLA_EXT_MASK = 0x1d - IFLA_PROMISCUITY = 0x1e - IFLA_NUM_TX_QUEUES = 0x1f - IFLA_NUM_RX_QUEUES = 0x20 - IFLA_CARRIER = 0x21 - IFLA_PHYS_PORT_ID = 0x22 - IFLA_CARRIER_CHANGES = 0x23 - IFLA_PHYS_SWITCH_ID = 0x24 - IFLA_LINK_NETNSID = 0x25 - IFLA_PHYS_PORT_NAME = 0x26 - IFLA_PROTO_DOWN = 0x27 - IFLA_GSO_MAX_SEGS = 0x28 - IFLA_GSO_MAX_SIZE = 0x29 - IFLA_PAD = 0x2a - IFLA_XDP = 0x2b - IFLA_EVENT = 0x2c - IFLA_NEW_NETNSID = 0x2d - IFLA_IF_NETNSID = 0x2e - IFLA_MAX = 0x33 - RT_SCOPE_UNIVERSE = 0x0 - RT_SCOPE_SITE = 0xc8 - RT_SCOPE_LINK = 0xfd - RT_SCOPE_HOST = 0xfe - RT_SCOPE_NOWHERE = 0xff - RT_TABLE_UNSPEC = 0x0 - RT_TABLE_COMPAT = 0xfc - RT_TABLE_DEFAULT = 0xfd - RT_TABLE_MAIN = 0xfe - RT_TABLE_LOCAL = 0xff - RT_TABLE_MAX = 0xffffffff - RTA_UNSPEC = 0x0 - RTA_DST = 0x1 - RTA_SRC = 0x2 - RTA_IIF = 0x3 - RTA_OIF = 0x4 - RTA_GATEWAY = 0x5 - RTA_PRIORITY = 0x6 - RTA_PREFSRC = 0x7 - RTA_METRICS = 0x8 - RTA_MULTIPATH = 0x9 - RTA_FLOW = 0xb - RTA_CACHEINFO = 0xc - RTA_TABLE = 0xf - RTA_MARK = 0x10 - RTA_MFC_STATS = 0x11 - RTA_VIA = 0x12 - RTA_NEWDST = 0x13 - RTA_PREF = 0x14 - RTA_ENCAP_TYPE = 0x15 - RTA_ENCAP = 0x16 - RTA_EXPIRES = 0x17 - RTA_PAD = 0x18 - RTA_UID = 0x19 - RTA_TTL_PROPAGATE = 0x1a - RTA_IP_PROTO = 0x1b - RTA_SPORT = 0x1c - RTA_DPORT = 0x1d - RTN_UNSPEC = 0x0 - RTN_UNICAST = 0x1 - RTN_LOCAL = 0x2 - RTN_BROADCAST = 0x3 - RTN_ANYCAST = 0x4 - RTN_MULTICAST = 0x5 - RTN_BLACKHOLE = 0x6 - RTN_UNREACHABLE = 0x7 - RTN_PROHIBIT = 0x8 - RTN_THROW = 0x9 - RTN_NAT = 0xa - RTN_XRESOLVE = 0xb - RTNLGRP_NONE = 0x0 - RTNLGRP_LINK = 0x1 - RTNLGRP_NOTIFY = 0x2 - RTNLGRP_NEIGH = 0x3 - RTNLGRP_TC = 0x4 - RTNLGRP_IPV4_IFADDR = 0x5 - RTNLGRP_IPV4_MROUTE = 0x6 - RTNLGRP_IPV4_ROUTE = 0x7 - RTNLGRP_IPV4_RULE = 0x8 - RTNLGRP_IPV6_IFADDR = 0x9 - RTNLGRP_IPV6_MROUTE = 0xa - RTNLGRP_IPV6_ROUTE = 0xb - RTNLGRP_IPV6_IFINFO = 0xc - RTNLGRP_IPV6_PREFIX = 0x12 - RTNLGRP_IPV6_RULE = 0x13 - RTNLGRP_ND_USEROPT = 0x14 - SizeofNlMsghdr = 0x10 - SizeofNlMsgerr = 0x14 - SizeofRtGenmsg = 0x1 - SizeofNlAttr = 0x4 - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc ) type NlMsghdr struct { @@ -639,6 +688,27 @@ type RtNexthop struct { Ifindex int32 } +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + const ( SizeofSockFilter = 0x8 SizeofSockFprog = 0x10 @@ -756,6 +826,8 @@ type Sigset_t struct { Val [16]uint64 } +const _C__NSIG = 0x41 + type SignalfdSiginfo struct { Signo uint32 Errno int32 @@ -950,7 +1022,8 @@ type PerfEventAttr struct { Clockid int32 Sample_regs_intr uint64 Aux_watermark uint32 - _ uint32 + Sample_max_stack uint16 + _ uint16 } type PerfEventMmapPage struct { @@ -1053,6 +1126,7 @@ const ( PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 PERF_COUNT_SW_EMULATION_FAULTS = 0x8 PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa PERF_SAMPLE_IP = 0x1 PERF_SAMPLE_TID = 0x2 @@ -1074,21 +1148,38 @@ const ( PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 PERF_FORMAT_ID = 0x4 PERF_FORMAT_GROUP = 0x8 - PERF_RECORD_MMAP = 0x1 - PERF_RECORD_LOST = 0x2 - PERF_RECORD_COMM = 0x3 - PERF_RECORD_EXIT = 0x4 - PERF_RECORD_THROTTLE = 0x5 - PERF_RECORD_UNTHROTTLE = 0x6 - PERF_RECORD_FORK = 0x7 - PERF_RECORD_READ = 0x8 - PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 PERF_CONTEXT_HV = -0x20 PERF_CONTEXT_KERNEL = -0x80 @@ -1101,6 +1192,7 @@ const ( PERF_FLAG_FD_NO_GROUP = 0x1 PERF_FLAG_FD_OUTPUT = 0x2 PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 ) const ( @@ -1358,6 +1450,21 @@ type TpacketBlockDesc struct { Hdr [40]byte } +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + type TpacketReq struct { Block_size uint32 Block_nr uint32 @@ -1406,6 +1513,9 @@ const ( SizeofTpacketHdr = 0x20 SizeofTpacket2Hdr = 0x20 SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc ) const ( @@ -2022,3 +2132,335 @@ type SockExtendedErr struct { Info uint32 Data uint32 } + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go index 2dae0c17..a2268b4f 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go @@ -57,23 +57,23 @@ type Rlimit struct { type _Gid_t uint32 type Stat_t struct { - Dev uint64 - Mode uint32 - Ino uint64 - Nlink uint32 - Uid uint32 - Gid uint32 - Rdev uint64 - Atimespec Timespec - Mtimespec Timespec - Ctimespec Timespec - Birthtimespec Timespec - Size int64 - Blocks int64 - Blksize uint32 - Flags uint32 - Gen uint32 - Spare [2]uint32 + Dev uint64 + Mode uint32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 } type Statfs_t [0]byte diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go index 1f0e76c0..59e1da0a 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go @@ -58,26 +58,26 @@ type Rlimit struct { type _Gid_t uint32 type Stat_t struct { - Dev uint64 - Mode uint32 - Pad_cgo_0 [4]byte - Ino uint64 - Nlink uint32 - Uid uint32 - Gid uint32 - Pad_cgo_1 [4]byte - Rdev uint64 - Atimespec Timespec - Mtimespec Timespec - Ctimespec Timespec - Birthtimespec Timespec - Size int64 - Blocks int64 - Blksize uint32 - Flags uint32 - Gen uint32 - Spare [2]uint32 - Pad_cgo_2 [4]byte + Dev uint64 + Mode uint32 + _ [4]byte + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + _ [4]byte + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 + _ [4]byte } type Statfs_t [0]byte diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go index 53f2159c..1f1f0f38 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go @@ -59,26 +59,26 @@ type Rlimit struct { type _Gid_t uint32 type Stat_t struct { - Dev uint64 - Mode uint32 - Pad_cgo_0 [4]byte - Ino uint64 - Nlink uint32 - Uid uint32 - Gid uint32 - Pad_cgo_1 [4]byte - Rdev uint64 - Atimespec Timespec - Mtimespec Timespec - Ctimespec Timespec - Birthtimespec Timespec - Size int64 - Blocks int64 - Blksize uint32 - Flags uint32 - Gen uint32 - Spare [2]uint32 - Pad_cgo_2 [4]byte + Dev uint64 + Mode uint32 + _ [4]byte + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + _ [4]byte + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 + _ [4]byte } type Statfs_t [0]byte diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go index 43da2c41..8dca204a 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go @@ -58,26 +58,26 @@ type Rlimit struct { type _Gid_t uint32 type Stat_t struct { - Dev uint64 - Mode uint32 - Pad_cgo_0 [4]byte - Ino uint64 - Nlink uint32 - Uid uint32 - Gid uint32 - Pad_cgo_1 [4]byte - Rdev uint64 - Atimespec Timespec - Mtimespec Timespec - Ctimespec Timespec - Birthtimespec Timespec - Size int64 - Blocks int64 - Blksize uint32 - Flags uint32 - Gen uint32 - Spare [2]uint32 - Pad_cgo_2 [4]byte + Dev uint64 + Mode uint32 + _ [4]byte + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + _ [4]byte + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 + _ [4]byte } type Statfs_t [0]byte diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go index 8b37d839..900fb446 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go @@ -558,3 +558,13 @@ type Uvmexp struct { Fpswtch int32 Kmapent int32 } + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go index 6efea463..028fa78d 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go @@ -558,3 +558,13 @@ type Uvmexp struct { Fpswtch int32 Kmapent int32 } + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go index 510efc3e..b45d5eed 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go @@ -559,3 +559,13 @@ type Uvmexp struct { Fpswtch int32 Kmapent int32 } + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go new file mode 100644 index 00000000..fa369a32 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go @@ -0,0 +1,564 @@ +// cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,openbsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Mode uint32 + Dev int32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + _ Timespec +} + +type Statfs_t struct { + F_flags uint32 + F_bsize uint32 + F_iosize uint32 + F_blocks uint64 + F_bfree uint64 + F_bavail int64 + F_files uint64 + F_ffree uint64 + F_favail int64 + F_syncwrites uint64 + F_syncreads uint64 + F_asyncwrites uint64 + F_asyncreads uint64 + F_fsid Fsid + F_namemax uint32 + F_owner uint32 + F_ctime uint64 + F_fstypename [16]int8 + F_mntonname [90]int8 + F_mntfromname [90]int8 + F_mntfromspec [90]int8 + _ [2]byte + Mount_info [160]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Namlen uint8 + _ [4]uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + SizeofIfMsghdr = 0xa8 + SizeofIfData = 0x90 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x1a + SizeofRtMsghdr = 0x60 + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Xflags int32 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Mtu uint32 + Metric uint32 + Rdomain uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Capabilities uint32 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Metric int32 +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + What uint16 + Name [16]int8 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Priority uint8 + Mpls uint8 + Addrs int32 + Flags int32 + Fmask int32 + Pid int32 + Seq int32 + Errno int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Pksent uint64 + Expire int64 + Locks uint32 + Mtu uint32 + Refcnt uint32 + Hopcount uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pad uint32 +} + +type Mclpool struct{} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type BpfTimeval struct { + Sec uint32 + Usec uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_NOFOLLOW = 0x2 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sigset_t uint32 + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofUvmexp = 0x158 + +type Uvmexp struct { + Pagesize int32 + Pagemask int32 + Pageshift int32 + Npages int32 + Free int32 + Active int32 + Inactive int32 + Paging int32 + Wired int32 + Zeropages int32 + Reserve_pagedaemon int32 + Reserve_kernel int32 + Unused01 int32 + Vnodepages int32 + Vtextpages int32 + Freemin int32 + Freetarg int32 + Inactarg int32 + Wiredmax int32 + Anonmin int32 + Vtextmin int32 + Vnodemin int32 + Anonminpct int32 + Vtextminpct int32 + Vnodeminpct int32 + Nswapdev int32 + Swpages int32 + Swpginuse int32 + Swpgonly int32 + Nswget int32 + Nanon int32 + Unused05 int32 + Unused06 int32 + Faults int32 + Traps int32 + Intrs int32 + Swtch int32 + Softs int32 + Syscalls int32 + Pageins int32 + Unused07 int32 + Unused08 int32 + Pgswapin int32 + Pgswapout int32 + Forks int32 + Forks_ppwait int32 + Forks_sharevm int32 + Pga_zerohit int32 + Pga_zeromiss int32 + Unused09 int32 + Fltnoram int32 + Fltnoanon int32 + Fltnoamap int32 + Fltpgwait int32 + Fltpgrele int32 + Fltrelck int32 + Fltrelckok int32 + Fltanget int32 + Fltanretry int32 + Fltamcopy int32 + Fltnamap int32 + Fltnomap int32 + Fltlget int32 + Fltget int32 + Flt_anon int32 + Flt_acow int32 + Flt_obj int32 + Flt_prcopy int32 + Flt_przero int32 + Pdwoke int32 + Pdrevs int32 + Pdswout int32 + Pdfreed int32 + Pdscans int32 + Pdanscan int32 + Pdobscan int32 + Pdreact int32 + Pdbusy int32 + Pdpageouts int32 + Pdpending int32 + Pddeact int32 + Unused11 int32 + Unused12 int32 + Unused13 int32 + Fpswtch int32 + Kmapent int32 +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/windows/dll_windows.go b/vendor/golang.org/x/sys/windows/dll_windows.go index e92c05b2..ba67658d 100644 --- a/vendor/golang.org/x/sys/windows/dll_windows.go +++ b/vendor/golang.org/x/sys/windows/dll_windows.go @@ -359,11 +359,11 @@ func loadLibraryEx(name string, system bool) (*DLL, error) { // trying to load "foo.dll" out of the system // folder, but LoadLibraryEx doesn't support // that yet on their system, so emulate it. - windir, _ := Getenv("WINDIR") // old var; apparently works on XP - if windir == "" { - return nil, errString("%WINDIR% not defined") + systemdir, err := GetSystemDirectory() + if err != nil { + return nil, err } - loadDLL = windir + "\\System32\\" + name + loadDLL = systemdir + "\\" + name } } h, err := LoadLibraryEx(loadDLL, 0, flags) diff --git a/vendor/golang.org/x/sys/windows/env_windows.go b/vendor/golang.org/x/sys/windows/env_windows.go index bdc71e24..f482a9fa 100644 --- a/vendor/golang.org/x/sys/windows/env_windows.go +++ b/vendor/golang.org/x/sys/windows/env_windows.go @@ -6,7 +6,11 @@ package windows -import "syscall" +import ( + "syscall" + "unicode/utf16" + "unsafe" +) func Getenv(key string) (value string, found bool) { return syscall.Getenv(key) @@ -24,6 +28,34 @@ func Environ() []string { return syscall.Environ() } +// Returns a default environment associated with the token, rather than the current +// process. If inheritExisting is true, then this environment also inherits the +// environment of the current process. +func (token Token) Environ(inheritExisting bool) (env []string, err error) { + var block *uint16 + err = CreateEnvironmentBlock(&block, token, inheritExisting) + if err != nil { + return nil, err + } + defer DestroyEnvironmentBlock(block) + blockp := uintptr(unsafe.Pointer(block)) + for { + entry := (*[(1 << 30) - 1]uint16)(unsafe.Pointer(blockp))[:] + for i, v := range entry { + if v == 0 { + entry = entry[:i] + break + } + } + if len(entry) == 0 { + break + } + env = append(env, string(utf16.Decode(entry))) + blockp += 2 * (uintptr(len(entry)) + 1) + } + return env, nil +} + func Unsetenv(key string) error { return syscall.Unsetenv(key) } diff --git a/vendor/golang.org/x/sys/windows/mkerrors.bash b/vendor/golang.org/x/sys/windows/mkerrors.bash new file mode 100644 index 00000000..f5c6888b --- /dev/null +++ b/vendor/golang.org/x/sys/windows/mkerrors.bash @@ -0,0 +1,63 @@ +#!/bin/bash + +# Copyright 2019 The Go Authors. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +set -e +shopt -s nullglob + +winerror="$(printf '%s\n' "/mnt/c/Program Files (x86)/Windows Kits/"/*/Include/*/shared/winerror.h | sort -Vr | head -n 1)" +[[ -n $winerror ]] || { echo "Unable to find winerror.h" >&2; exit 1; } + +declare -A errors + +{ + echo "// Code generated by 'go generate'; DO NOT EDIT." + echo + echo "package windows" + echo "import \"syscall\"" + echo "const (" + + while read -r line; do + unset vtype + if [[ $line =~ ^#define\ +([A-Z0-9_]+k?)\ +([A-Z0-9_]+\()?([A-Z][A-Z0-9_]+k?)\)? ]]; then + key="${BASH_REMATCH[1]}" + value="${BASH_REMATCH[3]}" + elif [[ $line =~ ^#define\ +([A-Z0-9_]+k?)\ +([A-Z0-9_]+\()?((0x)?[0-9A-Fa-f]+)L?\)? ]]; then + key="${BASH_REMATCH[1]}" + value="${BASH_REMATCH[3]}" + vtype="${BASH_REMATCH[2]}" + elif [[ $line =~ ^#define\ +([A-Z0-9_]+k?)\ +\(\(([A-Z]+)\)((0x)?[0-9A-Fa-f]+)L?\) ]]; then + key="${BASH_REMATCH[1]}" + value="${BASH_REMATCH[3]}" + vtype="${BASH_REMATCH[2]}" + else + continue + fi + [[ -n $key && -n $value ]] || continue + [[ -z ${errors["$key"]} ]] || continue + errors["$key"]="$value" + if [[ -v vtype ]]; then + if [[ $key == FACILITY_* || $key == NO_ERROR ]]; then + vtype="" + elif [[ $vtype == *HANDLE* || $vtype == *HRESULT* ]]; then + vtype="Handle" + else + vtype="syscall.Errno" + fi + last_vtype="$vtype" + else + vtype="" + if [[ $last_vtype == Handle && $value == NO_ERROR ]]; then + value="S_OK" + elif [[ $last_vtype == syscall.Errno && $value == NO_ERROR ]]; then + value="ERROR_SUCCESS" + fi + fi + + echo "$key $vtype = $value" + done < "$winerror" + + echo ")" +} | gofmt > "zerrors_windows.go" diff --git a/vendor/golang.org/x/sys/windows/mksyscall.go b/vendor/golang.org/x/sys/windows/mksyscall.go index fb7db0ef..62770572 100644 --- a/vendor/golang.org/x/sys/windows/mksyscall.go +++ b/vendor/golang.org/x/sys/windows/mksyscall.go @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +// +build generate + package windows //go:generate go run $GOROOT/src/syscall/mksyscall_windows.go -output zsyscall_windows.go eventlog.go service.go syscall_windows.go security_windows.go diff --git a/vendor/golang.org/x/sys/windows/security_windows.go b/vendor/golang.org/x/sys/windows/security_windows.go index 4f17a333..61b49647 100644 --- a/vendor/golang.org/x/sys/windows/security_windows.go +++ b/vendor/golang.org/x/sys/windows/security_windows.go @@ -149,7 +149,7 @@ const ( DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS = 0x22b DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS = 0x22c DOMAIN_ALIAS_RID_INCOMING_FOREST_TRUST_BUILDERS = 0x22d - DOMAIN_ALIAS_RID_MONITORING_USERS = 0X22e + DOMAIN_ALIAS_RID_MONITORING_USERS = 0x22e DOMAIN_ALIAS_RID_LOGGING_USERS = 0x22f DOMAIN_ALIAS_RID_AUTHORIZATIONACCESS = 0x230 DOMAIN_ALIAS_RID_TS_LICENSE_SERVERS = 0x231 @@ -169,15 +169,21 @@ const ( //sys GetLengthSid(sid *SID) (len uint32) = advapi32.GetLengthSid //sys CopySid(destSidLen uint32, destSid *SID, srcSid *SID) (err error) = advapi32.CopySid //sys AllocateAndInitializeSid(identAuth *SidIdentifierAuthority, subAuth byte, subAuth0 uint32, subAuth1 uint32, subAuth2 uint32, subAuth3 uint32, subAuth4 uint32, subAuth5 uint32, subAuth6 uint32, subAuth7 uint32, sid **SID) (err error) = advapi32.AllocateAndInitializeSid +//sys createWellKnownSid(sidType WELL_KNOWN_SID_TYPE, domainSid *SID, sid *SID, sizeSid *uint32) (err error) = advapi32.CreateWellKnownSid +//sys isWellKnownSid(sid *SID, sidType WELL_KNOWN_SID_TYPE) (isWellKnown bool) = advapi32.IsWellKnownSid //sys FreeSid(sid *SID) (err error) [failretval!=0] = advapi32.FreeSid //sys EqualSid(sid1 *SID, sid2 *SID) (isEqual bool) = advapi32.EqualSid +//sys getSidIdentifierAuthority(sid *SID) (authority *SidIdentifierAuthority) = advapi32.GetSidIdentifierAuthority +//sys getSidSubAuthorityCount(sid *SID) (count *uint8) = advapi32.GetSidSubAuthorityCount +//sys getSidSubAuthority(sid *SID, index uint32) (subAuthority *uint32) = advapi32.GetSidSubAuthority +//sys isValidSid(sid *SID) (isValid bool) = advapi32.IsValidSid // The security identifier (SID) structure is a variable-length // structure used to uniquely identify users or groups. type SID struct{} // StringToSid converts a string-format security identifier -// sid into a valid, functional sid. +// SID into a valid, functional SID. func StringToSid(s string) (*SID, error) { var sid *SID p, e := UTF16PtrFromString(s) @@ -192,7 +198,7 @@ func StringToSid(s string) (*SID, error) { return sid.Copy() } -// LookupSID retrieves a security identifier sid for the account +// LookupSID retrieves a security identifier SID for the account // and the name of the domain on which the account was found. // System specify target computer to search. func LookupSID(system, account string) (sid *SID, domain string, accType uint32, err error) { @@ -229,7 +235,7 @@ func LookupSID(system, account string) (sid *SID, domain string, accType uint32, } } -// String converts sid to a string format +// String converts SID to a string format // suitable for display, storage, or transmission. func (sid *SID) String() (string, error) { var s *uint16 @@ -241,12 +247,12 @@ func (sid *SID) String() (string, error) { return UTF16ToString((*[256]uint16)(unsafe.Pointer(s))[:]), nil } -// Len returns the length, in bytes, of a valid security identifier sid. +// Len returns the length, in bytes, of a valid security identifier SID. func (sid *SID) Len() int { return int(GetLengthSid(sid)) } -// Copy creates a duplicate of security identifier sid. +// Copy creates a duplicate of security identifier SID. func (sid *SID) Copy() (*SID, error) { b := make([]byte, sid.Len()) sid2 := (*SID)(unsafe.Pointer(&b[0])) @@ -257,8 +263,42 @@ func (sid *SID) Copy() (*SID, error) { return sid2, nil } -// LookupAccount retrieves the name of the account for this sid -// and the name of the first domain on which this sid is found. +// IdentifierAuthority returns the identifier authority of the SID. +func (sid *SID) IdentifierAuthority() SidIdentifierAuthority { + return *getSidIdentifierAuthority(sid) +} + +// SubAuthorityCount returns the number of sub-authorities in the SID. +func (sid *SID) SubAuthorityCount() uint8 { + return *getSidSubAuthorityCount(sid) +} + +// SubAuthority returns the sub-authority of the SID as specified by +// the index, which must be less than sid.SubAuthorityCount(). +func (sid *SID) SubAuthority(idx uint32) uint32 { + if idx >= uint32(sid.SubAuthorityCount()) { + panic("sub-authority index out of range") + } + return *getSidSubAuthority(sid, idx) +} + +// IsValid returns whether the SID has a valid revision and length. +func (sid *SID) IsValid() bool { + return isValidSid(sid) +} + +// Equals compares two SIDs for equality. +func (sid *SID) Equals(sid2 *SID) bool { + return EqualSid(sid, sid2) +} + +// IsWellKnown determines whether the SID matches the well-known sidType. +func (sid *SID) IsWellKnown(sidType WELL_KNOWN_SID_TYPE) bool { + return isWellKnownSid(sid, sidType) +} + +// LookupAccount retrieves the name of the account for this SID +// and the name of the first domain on which this SID is found. // System specify target computer to search for. func (sid *SID) LookupAccount(system string) (account, domain string, accType uint32, err error) { var sys *uint16 @@ -286,6 +326,158 @@ func (sid *SID) LookupAccount(system string) (account, domain string, accType ui } } +// Various types of pre-specified SIDs that can be synthesized and compared at runtime. +type WELL_KNOWN_SID_TYPE uint32 + +const ( + WinNullSid = 0 + WinWorldSid = 1 + WinLocalSid = 2 + WinCreatorOwnerSid = 3 + WinCreatorGroupSid = 4 + WinCreatorOwnerServerSid = 5 + WinCreatorGroupServerSid = 6 + WinNtAuthoritySid = 7 + WinDialupSid = 8 + WinNetworkSid = 9 + WinBatchSid = 10 + WinInteractiveSid = 11 + WinServiceSid = 12 + WinAnonymousSid = 13 + WinProxySid = 14 + WinEnterpriseControllersSid = 15 + WinSelfSid = 16 + WinAuthenticatedUserSid = 17 + WinRestrictedCodeSid = 18 + WinTerminalServerSid = 19 + WinRemoteLogonIdSid = 20 + WinLogonIdsSid = 21 + WinLocalSystemSid = 22 + WinLocalServiceSid = 23 + WinNetworkServiceSid = 24 + WinBuiltinDomainSid = 25 + WinBuiltinAdministratorsSid = 26 + WinBuiltinUsersSid = 27 + WinBuiltinGuestsSid = 28 + WinBuiltinPowerUsersSid = 29 + WinBuiltinAccountOperatorsSid = 30 + WinBuiltinSystemOperatorsSid = 31 + WinBuiltinPrintOperatorsSid = 32 + WinBuiltinBackupOperatorsSid = 33 + WinBuiltinReplicatorSid = 34 + WinBuiltinPreWindows2000CompatibleAccessSid = 35 + WinBuiltinRemoteDesktopUsersSid = 36 + WinBuiltinNetworkConfigurationOperatorsSid = 37 + WinAccountAdministratorSid = 38 + WinAccountGuestSid = 39 + WinAccountKrbtgtSid = 40 + WinAccountDomainAdminsSid = 41 + WinAccountDomainUsersSid = 42 + WinAccountDomainGuestsSid = 43 + WinAccountComputersSid = 44 + WinAccountControllersSid = 45 + WinAccountCertAdminsSid = 46 + WinAccountSchemaAdminsSid = 47 + WinAccountEnterpriseAdminsSid = 48 + WinAccountPolicyAdminsSid = 49 + WinAccountRasAndIasServersSid = 50 + WinNTLMAuthenticationSid = 51 + WinDigestAuthenticationSid = 52 + WinSChannelAuthenticationSid = 53 + WinThisOrganizationSid = 54 + WinOtherOrganizationSid = 55 + WinBuiltinIncomingForestTrustBuildersSid = 56 + WinBuiltinPerfMonitoringUsersSid = 57 + WinBuiltinPerfLoggingUsersSid = 58 + WinBuiltinAuthorizationAccessSid = 59 + WinBuiltinTerminalServerLicenseServersSid = 60 + WinBuiltinDCOMUsersSid = 61 + WinBuiltinIUsersSid = 62 + WinIUserSid = 63 + WinBuiltinCryptoOperatorsSid = 64 + WinUntrustedLabelSid = 65 + WinLowLabelSid = 66 + WinMediumLabelSid = 67 + WinHighLabelSid = 68 + WinSystemLabelSid = 69 + WinWriteRestrictedCodeSid = 70 + WinCreatorOwnerRightsSid = 71 + WinCacheablePrincipalsGroupSid = 72 + WinNonCacheablePrincipalsGroupSid = 73 + WinEnterpriseReadonlyControllersSid = 74 + WinAccountReadonlyControllersSid = 75 + WinBuiltinEventLogReadersGroup = 76 + WinNewEnterpriseReadonlyControllersSid = 77 + WinBuiltinCertSvcDComAccessGroup = 78 + WinMediumPlusLabelSid = 79 + WinLocalLogonSid = 80 + WinConsoleLogonSid = 81 + WinThisOrganizationCertificateSid = 82 + WinApplicationPackageAuthoritySid = 83 + WinBuiltinAnyPackageSid = 84 + WinCapabilityInternetClientSid = 85 + WinCapabilityInternetClientServerSid = 86 + WinCapabilityPrivateNetworkClientServerSid = 87 + WinCapabilityPicturesLibrarySid = 88 + WinCapabilityVideosLibrarySid = 89 + WinCapabilityMusicLibrarySid = 90 + WinCapabilityDocumentsLibrarySid = 91 + WinCapabilitySharedUserCertificatesSid = 92 + WinCapabilityEnterpriseAuthenticationSid = 93 + WinCapabilityRemovableStorageSid = 94 + WinBuiltinRDSRemoteAccessServersSid = 95 + WinBuiltinRDSEndpointServersSid = 96 + WinBuiltinRDSManagementServersSid = 97 + WinUserModeDriversSid = 98 + WinBuiltinHyperVAdminsSid = 99 + WinAccountCloneableControllersSid = 100 + WinBuiltinAccessControlAssistanceOperatorsSid = 101 + WinBuiltinRemoteManagementUsersSid = 102 + WinAuthenticationAuthorityAssertedSid = 103 + WinAuthenticationServiceAssertedSid = 104 + WinLocalAccountSid = 105 + WinLocalAccountAndAdministratorSid = 106 + WinAccountProtectedUsersSid = 107 + WinCapabilityAppointmentsSid = 108 + WinCapabilityContactsSid = 109 + WinAccountDefaultSystemManagedSid = 110 + WinBuiltinDefaultSystemManagedGroupSid = 111 + WinBuiltinStorageReplicaAdminsSid = 112 + WinAccountKeyAdminsSid = 113 + WinAccountEnterpriseKeyAdminsSid = 114 + WinAuthenticationKeyTrustSid = 115 + WinAuthenticationKeyPropertyMFASid = 116 + WinAuthenticationKeyPropertyAttestationSid = 117 + WinAuthenticationFreshKeyAuthSid = 118 + WinBuiltinDeviceOwnersSid = 119 +) + +// Creates a SID for a well-known predefined alias, generally using the constants of the form +// Win*Sid, for the local machine. +func CreateWellKnownSid(sidType WELL_KNOWN_SID_TYPE) (*SID, error) { + return CreateWellKnownDomainSid(sidType, nil) +} + +// Creates a SID for a well-known predefined alias, generally using the constants of the form +// Win*Sid, for the domain specified by the domainSid parameter. +func CreateWellKnownDomainSid(sidType WELL_KNOWN_SID_TYPE, domainSid *SID) (*SID, error) { + n := uint32(50) + for { + b := make([]byte, n) + sid := (*SID)(unsafe.Pointer(&b[0])) + err := createWellKnownSid(sidType, domainSid, sid, &n) + if err == nil { + return sid, nil + } + if err != ERROR_INSUFFICIENT_BUFFER { + return nil, err + } + if n <= uint32(len(b)) { + return nil, err + } + } +} + const ( // do not reorder TOKEN_ASSIGN_PRIMARY = 1 << iota @@ -349,6 +541,53 @@ const ( MaxTokenInfoClass ) +// Group attributes inside of Tokengroups.Groups[i].Attributes +const ( + SE_GROUP_MANDATORY = 0x00000001 + SE_GROUP_ENABLED_BY_DEFAULT = 0x00000002 + SE_GROUP_ENABLED = 0x00000004 + SE_GROUP_OWNER = 0x00000008 + SE_GROUP_USE_FOR_DENY_ONLY = 0x00000010 + SE_GROUP_INTEGRITY = 0x00000020 + SE_GROUP_INTEGRITY_ENABLED = 0x00000040 + SE_GROUP_LOGON_ID = 0xC0000000 + SE_GROUP_RESOURCE = 0x20000000 + SE_GROUP_VALID_ATTRIBUTES = SE_GROUP_MANDATORY | SE_GROUP_ENABLED_BY_DEFAULT | SE_GROUP_ENABLED | SE_GROUP_OWNER | SE_GROUP_USE_FOR_DENY_ONLY | SE_GROUP_LOGON_ID | SE_GROUP_RESOURCE | SE_GROUP_INTEGRITY | SE_GROUP_INTEGRITY_ENABLED +) + +// Privilege attributes +const ( + SE_PRIVILEGE_ENABLED_BY_DEFAULT = 0x00000001 + SE_PRIVILEGE_ENABLED = 0x00000002 + SE_PRIVILEGE_REMOVED = 0x00000004 + SE_PRIVILEGE_USED_FOR_ACCESS = 0x80000000 + SE_PRIVILEGE_VALID_ATTRIBUTES = SE_PRIVILEGE_ENABLED_BY_DEFAULT | SE_PRIVILEGE_ENABLED | SE_PRIVILEGE_REMOVED | SE_PRIVILEGE_USED_FOR_ACCESS +) + +// Token types +const ( + TokenPrimary = 1 + TokenImpersonation = 2 +) + +// Impersonation levels +const ( + SecurityAnonymous = 0 + SecurityIdentification = 1 + SecurityImpersonation = 2 + SecurityDelegation = 3 +) + +type LUID struct { + LowPart uint32 + HighPart int32 +} + +type LUIDAndAttributes struct { + Luid LUID + Attributes uint32 +} + type SIDAndAttributes struct { Sid *SID Attributes uint32 @@ -364,14 +603,47 @@ type Tokenprimarygroup struct { type Tokengroups struct { GroupCount uint32 - Groups [1]SIDAndAttributes + Groups [1]SIDAndAttributes // Use AllGroups() for iterating. +} + +// AllGroups returns a slice that can be used to iterate over the groups in g. +func (g *Tokengroups) AllGroups() []SIDAndAttributes { + return (*[(1 << 28) - 1]SIDAndAttributes)(unsafe.Pointer(&g.Groups[0]))[:g.GroupCount:g.GroupCount] +} + +type Tokenprivileges struct { + PrivilegeCount uint32 + Privileges [1]LUIDAndAttributes // Use AllPrivileges() for iterating. +} + +// AllPrivileges returns a slice that can be used to iterate over the privileges in p. +func (p *Tokenprivileges) AllPrivileges() []LUIDAndAttributes { + return (*[(1 << 27) - 1]LUIDAndAttributes)(unsafe.Pointer(&p.Privileges[0]))[:p.PrivilegeCount:p.PrivilegeCount] +} + +type Tokenmandatorylabel struct { + Label SIDAndAttributes +} + +func (tml *Tokenmandatorylabel) Size() uint32 { + return uint32(unsafe.Sizeof(Tokenmandatorylabel{})) + GetLengthSid(tml.Label.Sid) } // Authorization Functions -//sys checkTokenMembership(tokenHandle Token, sidToCheck *SID, isMember *int32) (err error) = advapi32.CheckTokenMembership -//sys OpenProcessToken(h Handle, access uint32, token *Token) (err error) = advapi32.OpenProcessToken -//sys GetTokenInformation(t Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) = advapi32.GetTokenInformation +//sys checkTokenMembership(tokenHandle Token, sidToCheck *SID, isMember *int32) (err error) = advapi32.CheckTokenMembership +//sys OpenProcessToken(process Handle, access uint32, token *Token) (err error) = advapi32.OpenProcessToken +//sys OpenThreadToken(thread Handle, access uint32, openAsSelf bool, token *Token) (err error) = advapi32.OpenThreadToken +//sys ImpersonateSelf(impersonationlevel uint32) (err error) = advapi32.ImpersonateSelf +//sys RevertToSelf() (err error) = advapi32.RevertToSelf +//sys SetThreadToken(thread *Handle, token Token) (err error) = advapi32.SetThreadToken +//sys LookupPrivilegeValue(systemname *uint16, name *uint16, luid *LUID) (err error) = advapi32.LookupPrivilegeValueW +//sys AdjustTokenPrivileges(token Token, disableAllPrivileges bool, newstate *Tokenprivileges, buflen uint32, prevstate *Tokenprivileges, returnlen *uint32) (err error) = advapi32.AdjustTokenPrivileges +//sys AdjustTokenGroups(token Token, resetToDefault bool, newstate *Tokengroups, buflen uint32, prevstate *Tokengroups, returnlen *uint32) (err error) = advapi32.AdjustTokenGroups +//sys GetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) = advapi32.GetTokenInformation +//sys SetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32) (err error) = advapi32.SetTokenInformation +//sys DuplicateTokenEx(existingToken Token, desiredAccess uint32, tokenAttributes *SecurityAttributes, impersonationLevel uint32, tokenType uint32, newToken *Token) (err error) = advapi32.DuplicateTokenEx //sys GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) = userenv.GetUserProfileDirectoryW +//sys getSystemDirectory(dir *uint16, dirLen uint32) (len uint32, err error) = kernel32.GetSystemDirectoryW // An access token contains the security information for a logon session. // The system creates an access token when a user logs on, and every @@ -383,7 +655,9 @@ type Tokengroups struct { type Token Handle // OpenCurrentProcessToken opens the access token -// associated with current process. +// associated with current process. It is a real +// token that needs to be closed, unlike +// GetCurrentProcessToken. func OpenCurrentProcessToken() (Token, error) { p, e := GetCurrentProcess() if e != nil { @@ -397,6 +671,27 @@ func OpenCurrentProcessToken() (Token, error) { return t, nil } +// GetCurrentProcessToken returns the access token associated with +// the current process. It is a pseudo token that does not need +// to be closed. +func GetCurrentProcessToken() Token { + return Token(^uintptr(4 - 1)) +} + +// GetCurrentThreadToken return the access token associated with +// the current thread. It is a pseudo token that does not need +// to be closed. +func GetCurrentThreadToken() Token { + return Token(^uintptr(5 - 1)) +} + +// GetCurrentThreadEffectiveToken returns the effective access token +// associated with the current thread. It is a pseudo token that does +// not need to be closed. +func GetCurrentThreadEffectiveToken() Token { + return Token(^uintptr(6 - 1)) +} + // Close releases access to access token. func (t Token) Close() error { return CloseHandle(Handle(t)) @@ -468,6 +763,45 @@ func (t Token) GetUserProfileDirectory() (string, error) { } } +// IsElevated returns whether the current token is elevated from a UAC perspective. +func (token Token) IsElevated() bool { + var isElevated uint32 + var outLen uint32 + err := GetTokenInformation(token, TokenElevation, (*byte)(unsafe.Pointer(&isElevated)), uint32(unsafe.Sizeof(isElevated)), &outLen) + if err != nil { + return false + } + return outLen == uint32(unsafe.Sizeof(isElevated)) && isElevated != 0 +} + +// GetLinkedToken returns the linked token, which may be an elevated UAC token. +func (token Token) GetLinkedToken() (Token, error) { + var linkedToken Token + var outLen uint32 + err := GetTokenInformation(token, TokenLinkedToken, (*byte)(unsafe.Pointer(&linkedToken)), uint32(unsafe.Sizeof(linkedToken)), &outLen) + if err != nil { + return Token(0), err + } + return linkedToken, nil +} + +// GetSystemDirectory retrieves path to current location of the system +// directory, which is typically, though not always, C:\Windows\System32. +func GetSystemDirectory() (string, error) { + n := uint32(MAX_PATH) + for { + b := make([]uint16, n) + l, e := getSystemDirectory(&b[0], n) + if e != nil { + return "", e + } + if l <= n { + return UTF16ToString(b[:l]), nil + } + n = l + } +} + // IsMember reports whether the access token t is a member of the provided SID. func (t Token) IsMember(sid *SID) (bool, error) { var b int32 @@ -476,3 +810,45 @@ func (t Token) IsMember(sid *SID) (bool, error) { } return b != 0, nil } + +const ( + WTS_CONSOLE_CONNECT = 0x1 + WTS_CONSOLE_DISCONNECT = 0x2 + WTS_REMOTE_CONNECT = 0x3 + WTS_REMOTE_DISCONNECT = 0x4 + WTS_SESSION_LOGON = 0x5 + WTS_SESSION_LOGOFF = 0x6 + WTS_SESSION_LOCK = 0x7 + WTS_SESSION_UNLOCK = 0x8 + WTS_SESSION_REMOTE_CONTROL = 0x9 + WTS_SESSION_CREATE = 0xa + WTS_SESSION_TERMINATE = 0xb +) + +const ( + WTSActive = 0 + WTSConnected = 1 + WTSConnectQuery = 2 + WTSShadow = 3 + WTSDisconnected = 4 + WTSIdle = 5 + WTSListen = 6 + WTSReset = 7 + WTSDown = 8 + WTSInit = 9 +) + +type WTSSESSION_NOTIFICATION struct { + Size uint32 + SessionID uint32 +} + +type WTS_SESSION_INFO struct { + SessionID uint32 + WindowStationName *uint16 + State uint32 +} + +//sys WTSQueryUserToken(session uint32, token *Token) (err error) = wtsapi32.WTSQueryUserToken +//sys WTSEnumerateSessions(handle Handle, reserved uint32, version uint32, sessions **WTS_SESSION_INFO, count *uint32) (err error) = wtsapi32.WTSEnumerateSessionsW +//sys WTSFreeMemory(ptr uintptr) = wtsapi32.WTSFreeMemory diff --git a/vendor/golang.org/x/sys/windows/service.go b/vendor/golang.org/x/sys/windows/service.go index 62fc31b4..9a59b42f 100644 --- a/vendor/golang.org/x/sys/windows/service.go +++ b/vendor/golang.org/x/sys/windows/service.go @@ -85,23 +85,47 @@ const ( SERVICE_INACTIVE = 2 SERVICE_STATE_ALL = 3 - SERVICE_QUERY_CONFIG = 1 - SERVICE_CHANGE_CONFIG = 2 - SERVICE_QUERY_STATUS = 4 - SERVICE_ENUMERATE_DEPENDENTS = 8 - SERVICE_START = 16 - SERVICE_STOP = 32 - SERVICE_PAUSE_CONTINUE = 64 - SERVICE_INTERROGATE = 128 - SERVICE_USER_DEFINED_CONTROL = 256 - SERVICE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SERVICE_QUERY_CONFIG | SERVICE_CHANGE_CONFIG | SERVICE_QUERY_STATUS | SERVICE_ENUMERATE_DEPENDENTS | SERVICE_START | SERVICE_STOP | SERVICE_PAUSE_CONTINUE | SERVICE_INTERROGATE | SERVICE_USER_DEFINED_CONTROL - SERVICE_RUNS_IN_SYSTEM_PROCESS = 1 - SERVICE_CONFIG_DESCRIPTION = 1 - SERVICE_CONFIG_FAILURE_ACTIONS = 2 + SERVICE_QUERY_CONFIG = 1 + SERVICE_CHANGE_CONFIG = 2 + SERVICE_QUERY_STATUS = 4 + SERVICE_ENUMERATE_DEPENDENTS = 8 + SERVICE_START = 16 + SERVICE_STOP = 32 + SERVICE_PAUSE_CONTINUE = 64 + SERVICE_INTERROGATE = 128 + SERVICE_USER_DEFINED_CONTROL = 256 + SERVICE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SERVICE_QUERY_CONFIG | SERVICE_CHANGE_CONFIG | SERVICE_QUERY_STATUS | SERVICE_ENUMERATE_DEPENDENTS | SERVICE_START | SERVICE_STOP | SERVICE_PAUSE_CONTINUE | SERVICE_INTERROGATE | SERVICE_USER_DEFINED_CONTROL - NO_ERROR = 0 + SERVICE_RUNS_IN_SYSTEM_PROCESS = 1 + + SERVICE_CONFIG_DESCRIPTION = 1 + SERVICE_CONFIG_FAILURE_ACTIONS = 2 + SERVICE_CONFIG_DELAYED_AUTO_START_INFO = 3 + SERVICE_CONFIG_FAILURE_ACTIONS_FLAG = 4 + SERVICE_CONFIG_SERVICE_SID_INFO = 5 + SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO = 6 + SERVICE_CONFIG_PRESHUTDOWN_INFO = 7 + SERVICE_CONFIG_TRIGGER_INFO = 8 + SERVICE_CONFIG_PREFERRED_NODE = 9 + SERVICE_CONFIG_LAUNCH_PROTECTED = 12 + + SERVICE_SID_TYPE_NONE = 0 + SERVICE_SID_TYPE_UNRESTRICTED = 1 + SERVICE_SID_TYPE_RESTRICTED = 2 | SERVICE_SID_TYPE_UNRESTRICTED SC_ENUM_PROCESS_INFO = 0 + + SERVICE_NOTIFY_STATUS_CHANGE = 2 + SERVICE_NOTIFY_STOPPED = 0x00000001 + SERVICE_NOTIFY_START_PENDING = 0x00000002 + SERVICE_NOTIFY_STOP_PENDING = 0x00000004 + SERVICE_NOTIFY_RUNNING = 0x00000008 + SERVICE_NOTIFY_CONTINUE_PENDING = 0x00000010 + SERVICE_NOTIFY_PAUSE_PENDING = 0x00000020 + SERVICE_NOTIFY_PAUSED = 0x00000040 + SERVICE_NOTIFY_CREATED = 0x00000080 + SERVICE_NOTIFY_DELETED = 0x00000100 + SERVICE_NOTIFY_DELETE_PENDING = 0x00000200 ) type SERVICE_STATUS struct { @@ -153,6 +177,16 @@ type ENUM_SERVICE_STATUS_PROCESS struct { ServiceStatusProcess SERVICE_STATUS_PROCESS } +type SERVICE_NOTIFY struct { + Version uint32 + NotifyCallback uintptr + Context uintptr + NotificationStatus uint32 + ServiceStatus SERVICE_STATUS_PROCESS + NotificationTriggered uint32 + ServiceNames *uint16 +} + type SERVICE_FAILURE_ACTIONS struct { ResetPeriod uint32 RebootMsg *uint16 @@ -180,4 +214,5 @@ type SC_ACTION struct { //sys ChangeServiceConfig2(service Handle, infoLevel uint32, info *byte) (err error) = advapi32.ChangeServiceConfig2W //sys QueryServiceConfig2(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) = advapi32.QueryServiceConfig2W //sys EnumServicesStatusEx(mgr Handle, infoLevel uint32, serviceType uint32, serviceState uint32, services *byte, bufSize uint32, bytesNeeded *uint32, servicesReturned *uint32, resumeHandle *uint32, groupName *uint16) (err error) = advapi32.EnumServicesStatusExW -//sys QueryServiceStatusEx(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) = advapi32.QueryServiceStatusEx +//sys QueryServiceStatusEx(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) = advapi32.QueryServiceStatusEx +//sys NotifyServiceStatusChange(service Handle, notifyMask uint32, notifier *SERVICE_NOTIFY) (ret error) = advapi32.NotifyServiceStatusChangeW diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go index f72fa55f..74b72a0b 100644 --- a/vendor/golang.org/x/sys/windows/syscall_windows.go +++ b/vendor/golang.org/x/sys/windows/syscall_windows.go @@ -10,6 +10,7 @@ import ( errorspkg "errors" "sync" "syscall" + "time" "unicode/utf16" "unsafe" ) @@ -55,6 +56,10 @@ const ( FILE_UNICODE_ON_DISK = 0x00000004 FILE_VOLUME_IS_COMPRESSED = 0x00008000 FILE_VOLUME_QUOTAS = 0x00000020 + + // Return values of SleepEx and other APC functions + STATUS_USER_APC = 0x000000C0 + WAIT_IO_COMPLETION = STATUS_USER_APC ) // StringToUTF16 is deprecated. Use UTF16FromString instead. @@ -134,9 +139,11 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys GetVersion() (ver uint32, err error) //sys FormatMessage(flags uint32, msgsrc uintptr, msgid uint32, langid uint32, buf []uint16, args *byte) (n uint32, err error) = FormatMessageW //sys ExitProcess(exitcode uint32) -//sys CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile int32) (handle Handle, err error) [failretval==InvalidHandle] = CreateFileW +//sys IsWow64Process(handle Handle, isWow64 *bool) (err error) = IsWow64Process +//sys CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile Handle) (handle Handle, err error) [failretval==InvalidHandle] = CreateFileW //sys ReadFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) //sys WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) +//sys GetOverlappedResult(handle Handle, overlapped *Overlapped, done *uint32, wait bool) (err error) //sys SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) [failretval==0xffffffff] //sys CloseHandle(handle Handle) (err error) //sys GetStdHandle(stdhandle uint32) (handle Handle, err error) [failretval==InvalidHandle] @@ -145,6 +152,7 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys findNextFile1(handle Handle, data *win32finddata1) (err error) = FindNextFileW //sys FindClose(handle Handle) (err error) //sys GetFileInformationByHandle(handle Handle, data *ByHandleFileInformation) (err error) +//sys GetFileInformationByHandleEx(handle Handle, class uint32, outBuffer *byte, outBufferLen uint32) (err error) //sys GetCurrentDirectory(buflen uint32, buf *uint16) (n uint32, err error) = GetCurrentDirectoryW //sys SetCurrentDirectory(path *uint16) (err error) = SetCurrentDirectoryW //sys CreateDirectory(path *uint16, sa *SecurityAttributes) (err error) = CreateDirectoryW @@ -165,10 +173,12 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys CancelIoEx(s Handle, o *Overlapped) (err error) //sys CreateProcess(appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) = CreateProcessW //sys OpenProcess(da uint32, inheritHandle bool, pid uint32) (handle Handle, err error) +//sys ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) = shell32.ShellExecuteW //sys TerminateProcess(handle Handle, exitcode uint32) (err error) //sys GetExitCodeProcess(handle Handle, exitcode *uint32) (err error) //sys GetStartupInfo(startupInfo *StartupInfo) (err error) = GetStartupInfoW //sys GetCurrentProcess() (pseudoHandle Handle, err error) +//sys GetCurrentThread() (pseudoHandle Handle, err error) //sys GetProcessTimes(handle Handle, creationTime *Filetime, exitTime *Filetime, kernelTime *Filetime, userTime *Filetime) (err error) //sys DuplicateHandle(hSourceProcessHandle Handle, hSourceHandle Handle, hTargetProcessHandle Handle, lpTargetHandle *Handle, dwDesiredAccess uint32, bInheritHandle bool, dwOptions uint32) (err error) //sys WaitForSingleObject(handle Handle, waitMilliseconds uint32) (event uint32, err error) [failretval==0xffffffff] @@ -183,6 +193,9 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys FreeEnvironmentStrings(envs *uint16) (err error) = kernel32.FreeEnvironmentStringsW //sys GetEnvironmentVariable(name *uint16, buffer *uint16, size uint32) (n uint32, err error) = kernel32.GetEnvironmentVariableW //sys SetEnvironmentVariable(name *uint16, value *uint16) (err error) = kernel32.SetEnvironmentVariableW +//sys CreateEnvironmentBlock(block **uint16, token Token, inheritExisting bool) (err error) = userenv.CreateEnvironmentBlock +//sys DestroyEnvironmentBlock(block *uint16) (err error) = userenv.DestroyEnvironmentBlock +//sys getTickCount64() (ms uint64) = kernel32.GetTickCount64 //sys SetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) //sys GetFileAttributes(name *uint16) (attrs uint32, err error) [failretval==INVALID_FILE_ATTRIBUTES] = kernel32.GetFileAttributesW //sys SetFileAttributes(name *uint16, attrs uint32) (err error) = kernel32.SetFileAttributesW @@ -230,6 +243,8 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys CreateToolhelp32Snapshot(flags uint32, processId uint32) (handle Handle, err error) [failretval==InvalidHandle] = kernel32.CreateToolhelp32Snapshot //sys Process32First(snapshot Handle, procEntry *ProcessEntry32) (err error) = kernel32.Process32FirstW //sys Process32Next(snapshot Handle, procEntry *ProcessEntry32) (err error) = kernel32.Process32NextW +//sys Thread32First(snapshot Handle, threadEntry *ThreadEntry32) (err error) +//sys Thread32Next(snapshot Handle, threadEntry *ThreadEntry32) (err error) //sys DeviceIoControl(handle Handle, ioControlCode uint32, inBuffer *byte, inBufferSize uint32, outBuffer *byte, outBufferSize uint32, bytesReturned *uint32, overlapped *Overlapped) (err error) // This function returns 1 byte BOOLEAN rather than the 4 byte BOOL. //sys CreateSymbolicLink(symlinkfilename *uint16, targetfilename *uint16, flags uint32) (err error) [failretval&0xff==0] = CreateSymbolicLinkW @@ -241,6 +256,16 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys SetEvent(event Handle) (err error) = kernel32.SetEvent //sys ResetEvent(event Handle) (err error) = kernel32.ResetEvent //sys PulseEvent(event Handle) (err error) = kernel32.PulseEvent +//sys SleepEx(milliseconds uint32, alertable bool) (ret uint32) = kernel32.SleepEx +//sys CreateJobObject(jobAttr *SecurityAttributes, name *uint16) (handle Handle, err error) = kernel32.CreateJobObjectW +//sys AssignProcessToJobObject(job Handle, process Handle) (err error) = kernel32.AssignProcessToJobObject +//sys TerminateJobObject(job Handle, exitCode uint32) (err error) = kernel32.TerminateJobObject +//sys SetErrorMode(mode uint32) (ret uint32) = kernel32.SetErrorMode +//sys ResumeThread(thread Handle) (ret uint32, err error) [failretval==0xffffffff] = kernel32.ResumeThread +//sys SetPriorityClass(process Handle, priorityClass uint32) (err error) = kernel32.SetPriorityClass +//sys GetPriorityClass(process Handle) (ret uint32, err error) = kernel32.GetPriorityClass +//sys SetInformationJobObject(job Handle, JobObjectInformationClass uint32, JobObjectInformation uintptr, JobObjectInformationLength uint32) (ret int, err error) +//sys GenerateConsoleCtrlEvent(ctrlEvent uint32, processGroupID uint32) (err error) // Volume Management Functions //sys DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) = DefineDosDeviceW @@ -262,6 +287,10 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys QueryDosDevice(deviceName *uint16, targetPath *uint16, max uint32) (n uint32, err error) [failretval==0] = QueryDosDeviceW //sys SetVolumeLabel(rootPathName *uint16, volumeName *uint16) (err error) = SetVolumeLabelW //sys SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err error) = SetVolumeMountPointW +//sys MessageBox(hwnd Handle, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) [failretval==0] = user32.MessageBoxW +//sys clsidFromString(lpsz *uint16, pclsid *GUID) (err error) [failretval!=0] = ole32.CLSIDFromString +//sys stringFromGUID2(rguid *GUID, lpsz *uint16, cchMax int) (chars int) = ole32.StringFromGUID2 +//sys coCreateGuid(pguid *GUID) (ret error) = ole32.CoCreateGuid // syscall interface implementation for other packages @@ -476,6 +505,10 @@ func ComputerName() (name string, err error) { return string(utf16.Decode(b[0:n])), nil } +func DurationSinceBoot() time.Duration { + return time.Duration(getTickCount64()) * time.Millisecond +} + func Ftruncate(fd Handle, length int64) (err error) { curoffset, e := Seek(fd, 0, 1) if e != nil { @@ -559,9 +592,6 @@ func Fsync(fd Handle) (err error) { } func Chmod(path string, mode uint32) (err error) { - if mode == 0 { - return syscall.EINVAL - } p, e := UTF16PtrFromString(path) if e != nil { return e @@ -1216,3 +1246,39 @@ func Readlink(path string, buf []byte) (n int, err error) { return n, nil } + +// GUIDFromString parses a string in the form of +// "{XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" into a GUID. +func GUIDFromString(str string) (GUID, error) { + guid := GUID{} + str16, err := syscall.UTF16PtrFromString(str) + if err != nil { + return guid, err + } + err = clsidFromString(str16, &guid) + if err != nil { + return guid, err + } + return guid, nil +} + +// GenerateGUID creates a new random GUID. +func GenerateGUID() (GUID, error) { + guid := GUID{} + err := coCreateGuid(&guid) + if err != nil { + return guid, err + } + return guid, nil +} + +// String returns the canonical string form of the GUID, +// in the form of "{XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}". +func (guid GUID) String() string { + var str [100]uint16 + chars := stringFromGUID2(&guid, &str[0], len(str)) + if chars <= 1 { + return "" + } + return string(utf16.Decode(str[:chars-1])) +} diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go index 141ca81b..8d207eaf 100644 --- a/vendor/golang.org/x/sys/windows/types_windows.go +++ b/vendor/golang.org/x/sys/windows/types_windows.go @@ -4,33 +4,10 @@ package windows -import "syscall" - -const ( - // Windows errors. - ERROR_FILE_NOT_FOUND syscall.Errno = 2 - ERROR_PATH_NOT_FOUND syscall.Errno = 3 - ERROR_ACCESS_DENIED syscall.Errno = 5 - ERROR_NO_MORE_FILES syscall.Errno = 18 - ERROR_HANDLE_EOF syscall.Errno = 38 - ERROR_NETNAME_DELETED syscall.Errno = 64 - ERROR_FILE_EXISTS syscall.Errno = 80 - ERROR_BROKEN_PIPE syscall.Errno = 109 - ERROR_BUFFER_OVERFLOW syscall.Errno = 111 - ERROR_INSUFFICIENT_BUFFER syscall.Errno = 122 - ERROR_MOD_NOT_FOUND syscall.Errno = 126 - ERROR_PROC_NOT_FOUND syscall.Errno = 127 - ERROR_ALREADY_EXISTS syscall.Errno = 183 - ERROR_ENVVAR_NOT_FOUND syscall.Errno = 203 - ERROR_MORE_DATA syscall.Errno = 234 - ERROR_OPERATION_ABORTED syscall.Errno = 995 - ERROR_IO_PENDING syscall.Errno = 997 - ERROR_SERVICE_SPECIFIC_ERROR syscall.Errno = 1066 - ERROR_NOT_FOUND syscall.Errno = 1168 - ERROR_PRIVILEGE_NOT_HELD syscall.Errno = 1314 - WSAEACCES syscall.Errno = 10013 - WSAEMSGSIZE syscall.Errno = 10040 - WSAECONNRESET syscall.Errno = 10054 +import ( + "net" + "syscall" + "unsafe" ) const ( @@ -126,9 +103,19 @@ const ( OPEN_ALWAYS = 4 TRUNCATE_EXISTING = 5 - FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000 - FILE_FLAG_BACKUP_SEMANTICS = 0x02000000 - FILE_FLAG_OVERLAPPED = 0x40000000 + FILE_FLAG_OPEN_REQUIRING_OPLOCK = 0x00040000 + FILE_FLAG_FIRST_PIPE_INSTANCE = 0x00080000 + FILE_FLAG_OPEN_NO_RECALL = 0x00100000 + FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000 + FILE_FLAG_SESSION_AWARE = 0x00800000 + FILE_FLAG_POSIX_SEMANTICS = 0x01000000 + FILE_FLAG_BACKUP_SEMANTICS = 0x02000000 + FILE_FLAG_DELETE_ON_CLOSE = 0x04000000 + FILE_FLAG_SEQUENTIAL_SCAN = 0x08000000 + FILE_FLAG_RANDOM_ACCESS = 0x10000000 + FILE_FLAG_NO_BUFFERING = 0x20000000 + FILE_FLAG_OVERLAPPED = 0x40000000 + FILE_FLAG_WRITE_THROUGH = 0x80000000 HANDLE_FLAG_INHERIT = 0x00000001 STARTF_USESTDHANDLES = 0x00000100 @@ -167,14 +154,43 @@ const ( IGNORE = 0 INFINITE = 0xffffffff - WAIT_TIMEOUT = 258 WAIT_ABANDONED = 0x00000080 WAIT_OBJECT_0 = 0x00000000 WAIT_FAILED = 0xFFFFFFFF - PROCESS_TERMINATE = 1 - PROCESS_QUERY_INFORMATION = 0x00000400 - SYNCHRONIZE = 0x00100000 + // Standard access rights. + DELETE = 0x00010000 + READ_CONTROL = 0x00020000 + SYNCHRONIZE = 0x00100000 + WRITE_DAC = 0x00040000 + WRITE_OWNER = 0x00080000 + + // Access rights for process. + PROCESS_CREATE_PROCESS = 0x0080 + PROCESS_CREATE_THREAD = 0x0002 + PROCESS_DUP_HANDLE = 0x0040 + PROCESS_QUERY_INFORMATION = 0x0400 + PROCESS_QUERY_LIMITED_INFORMATION = 0x1000 + PROCESS_SET_INFORMATION = 0x0200 + PROCESS_SET_QUOTA = 0x0100 + PROCESS_SUSPEND_RESUME = 0x0800 + PROCESS_TERMINATE = 0x0001 + PROCESS_VM_OPERATION = 0x0008 + PROCESS_VM_READ = 0x0010 + PROCESS_VM_WRITE = 0x0020 + + // Access rights for thread. + THREAD_DIRECT_IMPERSONATION = 0x0200 + THREAD_GET_CONTEXT = 0x0008 + THREAD_IMPERSONATE = 0x0100 + THREAD_QUERY_INFORMATION = 0x0040 + THREAD_QUERY_LIMITED_INFORMATION = 0x0800 + THREAD_SET_CONTEXT = 0x0010 + THREAD_SET_INFORMATION = 0x0020 + THREAD_SET_LIMITED_INFORMATION = 0x0400 + THREAD_SET_THREAD_TOKEN = 0x0080 + THREAD_SUSPEND_RESUME = 0x0002 + THREAD_TERMINATE = 0x0001 FILE_MAP_COPY = 0x01 FILE_MAP_WRITE = 0x02 @@ -402,12 +418,6 @@ const ( CERT_CHAIN_POLICY_EV = 8 CERT_CHAIN_POLICY_SSL_F12 = 9 - CERT_E_EXPIRED = 0x800B0101 - CERT_E_ROLE = 0x800B0103 - CERT_E_PURPOSE = 0x800B0106 - CERT_E_UNTRUSTEDROOT = 0x800B0109 - CERT_E_CN_NO_MATCH = 0x800B010F - /* AuthType values for SSLExtraCertChainPolicyPara struct */ AUTHTYPE_CLIENT = 1 AUTHTYPE_SERVER = 2 @@ -420,6 +430,26 @@ const ( SECURITY_FLAG_IGNORE_CERT_DATE_INVALID = 0x00002000 ) +const ( + // flags for SetErrorMode + SEM_FAILCRITICALERRORS = 0x0001 + SEM_NOALIGNMENTFAULTEXCEPT = 0x0004 + SEM_NOGPFAULTERRORBOX = 0x0002 + SEM_NOOPENFILEERRORBOX = 0x8000 +) + +const ( + // Priority class. + ABOVE_NORMAL_PRIORITY_CLASS = 0x00008000 + BELOW_NORMAL_PRIORITY_CLASS = 0x00004000 + HIGH_PRIORITY_CLASS = 0x00000080 + IDLE_PRIORITY_CLASS = 0x00000040 + NORMAL_PRIORITY_CLASS = 0x00000020 + PROCESS_MODE_BACKGROUND_BEGIN = 0x00100000 + PROCESS_MODE_BACKGROUND_END = 0x00200000 + REALTIME_PRIORITY_CLASS = 0x00000100 +) + var ( OID_PKIX_KP_SERVER_AUTH = []byte("1.3.6.1.5.5.7.3.1\x00") OID_SERVER_GATED_CRYPTO = []byte("1.3.6.1.4.1.311.10.3.3\x00") @@ -629,6 +659,16 @@ type ProcessEntry32 struct { ExeFile [MAX_PATH]uint16 } +type ThreadEntry32 struct { + Size uint32 + Usage uint32 + ThreadID uint32 + OwnerProcessID uint32 + BasePri int32 + DeltaPri int32 + Flags uint32 +} + type Systemtime struct { Year uint16 Month uint16 @@ -849,10 +889,6 @@ const ( DNS_TYPE_NBSTAT = 0xff01 ) -const ( - DNS_INFO_NO_RECORDS = 0x251D -) - const ( // flags inside DNSRecord.Dw DnsSectionQuestion = 0x0000 @@ -1314,6 +1350,41 @@ const ( ComputerNameMax = 8 ) +// For MessageBox() +const ( + MB_OK = 0x00000000 + MB_OKCANCEL = 0x00000001 + MB_ABORTRETRYIGNORE = 0x00000002 + MB_YESNOCANCEL = 0x00000003 + MB_YESNO = 0x00000004 + MB_RETRYCANCEL = 0x00000005 + MB_CANCELTRYCONTINUE = 0x00000006 + MB_ICONHAND = 0x00000010 + MB_ICONQUESTION = 0x00000020 + MB_ICONEXCLAMATION = 0x00000030 + MB_ICONASTERISK = 0x00000040 + MB_USERICON = 0x00000080 + MB_ICONWARNING = MB_ICONEXCLAMATION + MB_ICONERROR = MB_ICONHAND + MB_ICONINFORMATION = MB_ICONASTERISK + MB_ICONSTOP = MB_ICONHAND + MB_DEFBUTTON1 = 0x00000000 + MB_DEFBUTTON2 = 0x00000100 + MB_DEFBUTTON3 = 0x00000200 + MB_DEFBUTTON4 = 0x00000300 + MB_APPLMODAL = 0x00000000 + MB_SYSTEMMODAL = 0x00001000 + MB_TASKMODAL = 0x00002000 + MB_HELP = 0x00004000 + MB_NOFOCUS = 0x00008000 + MB_SETFOREGROUND = 0x00010000 + MB_DEFAULT_DESKTOP_ONLY = 0x00020000 + MB_TOPMOST = 0x00040000 + MB_RIGHT = 0x00080000 + MB_RTLREADING = 0x00100000 + MB_SERVICE_NOTIFICATION = 0x00200000 +) + const ( MOVEFILE_REPLACE_EXISTING = 0x1 MOVEFILE_COPY_ALLOWED = 0x2 @@ -1342,6 +1413,16 @@ type SocketAddress struct { SockaddrLength int32 } +// IP returns an IPv4 or IPv6 address, or nil if the underlying SocketAddress is neither. +func (addr *SocketAddress) IP() net.IP { + if uintptr(addr.SockaddrLength) >= unsafe.Sizeof(RawSockaddrInet4{}) && addr.Sockaddr.Addr.Family == AF_INET { + return (*RawSockaddrInet4)(unsafe.Pointer(addr.Sockaddr)).Addr[:] + } else if uintptr(addr.SockaddrLength) >= unsafe.Sizeof(RawSockaddrInet6{}) && addr.Sockaddr.Addr.Family == AF_INET6 { + return (*RawSockaddrInet6)(unsafe.Pointer(addr.Sockaddr)).Addr[:] + } + return nil +} + type IpAdapterUnicastAddress struct { Length uint32 Flags uint32 @@ -1467,3 +1548,85 @@ type ConsoleScreenBufferInfo struct { } const UNIX_PATH_MAX = 108 // defined in afunix.h + +const ( + // flags for JOBOBJECT_BASIC_LIMIT_INFORMATION.LimitFlags + JOB_OBJECT_LIMIT_ACTIVE_PROCESS = 0x00000008 + JOB_OBJECT_LIMIT_AFFINITY = 0x00000010 + JOB_OBJECT_LIMIT_BREAKAWAY_OK = 0x00000800 + JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION = 0x00000400 + JOB_OBJECT_LIMIT_JOB_MEMORY = 0x00000200 + JOB_OBJECT_LIMIT_JOB_TIME = 0x00000004 + JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE = 0x00002000 + JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME = 0x00000040 + JOB_OBJECT_LIMIT_PRIORITY_CLASS = 0x00000020 + JOB_OBJECT_LIMIT_PROCESS_MEMORY = 0x00000100 + JOB_OBJECT_LIMIT_PROCESS_TIME = 0x00000002 + JOB_OBJECT_LIMIT_SCHEDULING_CLASS = 0x00000080 + JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK = 0x00001000 + JOB_OBJECT_LIMIT_SUBSET_AFFINITY = 0x00004000 + JOB_OBJECT_LIMIT_WORKINGSET = 0x00000001 +) + +type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { + PerProcessUserTimeLimit int64 + PerJobUserTimeLimit int64 + LimitFlags uint32 + MinimumWorkingSetSize uintptr + MaximumWorkingSetSize uintptr + ActiveProcessLimit uint32 + Affinity uintptr + PriorityClass uint32 + SchedulingClass uint32 +} + +type IO_COUNTERS struct { + ReadOperationCount uint64 + WriteOperationCount uint64 + OtherOperationCount uint64 + ReadTransferCount uint64 + WriteTransferCount uint64 + OtherTransferCount uint64 +} + +type JOBOBJECT_EXTENDED_LIMIT_INFORMATION struct { + BasicLimitInformation JOBOBJECT_BASIC_LIMIT_INFORMATION + IoInfo IO_COUNTERS + ProcessMemoryLimit uintptr + JobMemoryLimit uintptr + PeakProcessMemoryUsed uintptr + PeakJobMemoryUsed uintptr +} + +const ( + // UIRestrictionsClass + JOB_OBJECT_UILIMIT_DESKTOP = 0x00000040 + JOB_OBJECT_UILIMIT_DISPLAYSETTINGS = 0x00000010 + JOB_OBJECT_UILIMIT_EXITWINDOWS = 0x00000080 + JOB_OBJECT_UILIMIT_GLOBALATOMS = 0x00000020 + JOB_OBJECT_UILIMIT_HANDLES = 0x00000001 + JOB_OBJECT_UILIMIT_READCLIPBOARD = 0x00000002 + JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS = 0x00000008 + JOB_OBJECT_UILIMIT_WRITECLIPBOARD = 0x00000004 +) + +type JOBOBJECT_BASIC_UI_RESTRICTIONS struct { + UIRestrictionsClass uint32 +} + +const ( + // JobObjectInformationClass + JobObjectAssociateCompletionPortInformation = 7 + JobObjectBasicLimitInformation = 2 + JobObjectBasicUIRestrictions = 4 + JobObjectCpuRateControlInformation = 15 + JobObjectEndOfJobTimeInformation = 6 + JobObjectExtendedLimitInformation = 9 + JobObjectGroupInformation = 11 + JobObjectGroupInformationEx = 14 + JobObjectLimitViolationInformation2 = 35 + JobObjectNetRateControlInformation = 32 + JobObjectNotificationLimitInformation = 12 + JobObjectNotificationLimitInformation2 = 34 + JobObjectSecurityLimitInformation = 5 +) diff --git a/vendor/golang.org/x/sys/windows/zerrors_windows.go b/vendor/golang.org/x/sys/windows/zerrors_windows.go new file mode 100644 index 00000000..2b4cea5b --- /dev/null +++ b/vendor/golang.org/x/sys/windows/zerrors_windows.go @@ -0,0 +1,6853 @@ +// Code generated by 'go generate'; DO NOT EDIT. + +package windows + +import "syscall" + +const ( + FACILITY_NULL = 0 + FACILITY_RPC = 1 + FACILITY_DISPATCH = 2 + FACILITY_STORAGE = 3 + FACILITY_ITF = 4 + FACILITY_WIN32 = 7 + FACILITY_WINDOWS = 8 + FACILITY_SSPI = 9 + FACILITY_SECURITY = 9 + FACILITY_CONTROL = 10 + FACILITY_CERT = 11 + FACILITY_INTERNET = 12 + FACILITY_MEDIASERVER = 13 + FACILITY_MSMQ = 14 + FACILITY_SETUPAPI = 15 + FACILITY_SCARD = 16 + FACILITY_COMPLUS = 17 + FACILITY_AAF = 18 + FACILITY_URT = 19 + FACILITY_ACS = 20 + FACILITY_DPLAY = 21 + FACILITY_UMI = 22 + FACILITY_SXS = 23 + FACILITY_WINDOWS_CE = 24 + FACILITY_HTTP = 25 + FACILITY_USERMODE_COMMONLOG = 26 + FACILITY_WER = 27 + FACILITY_USERMODE_FILTER_MANAGER = 31 + FACILITY_BACKGROUNDCOPY = 32 + FACILITY_CONFIGURATION = 33 + FACILITY_WIA = 33 + FACILITY_STATE_MANAGEMENT = 34 + FACILITY_METADIRECTORY = 35 + FACILITY_WINDOWSUPDATE = 36 + FACILITY_DIRECTORYSERVICE = 37 + FACILITY_GRAPHICS = 38 + FACILITY_SHELL = 39 + FACILITY_NAP = 39 + FACILITY_TPM_SERVICES = 40 + FACILITY_TPM_SOFTWARE = 41 + FACILITY_UI = 42 + FACILITY_XAML = 43 + FACILITY_ACTION_QUEUE = 44 + FACILITY_PLA = 48 + FACILITY_WINDOWS_SETUP = 48 + FACILITY_FVE = 49 + FACILITY_FWP = 50 + FACILITY_WINRM = 51 + FACILITY_NDIS = 52 + FACILITY_USERMODE_HYPERVISOR = 53 + FACILITY_CMI = 54 + FACILITY_USERMODE_VIRTUALIZATION = 55 + FACILITY_USERMODE_VOLMGR = 56 + FACILITY_BCD = 57 + FACILITY_USERMODE_VHD = 58 + FACILITY_USERMODE_HNS = 59 + FACILITY_SDIAG = 60 + FACILITY_WEBSERVICES = 61 + FACILITY_WINPE = 61 + FACILITY_WPN = 62 + FACILITY_WINDOWS_STORE = 63 + FACILITY_INPUT = 64 + FACILITY_EAP = 66 + FACILITY_WINDOWS_DEFENDER = 80 + FACILITY_OPC = 81 + FACILITY_XPS = 82 + FACILITY_MBN = 84 + FACILITY_POWERSHELL = 84 + FACILITY_RAS = 83 + FACILITY_P2P_INT = 98 + FACILITY_P2P = 99 + FACILITY_DAF = 100 + FACILITY_BLUETOOTH_ATT = 101 + FACILITY_AUDIO = 102 + FACILITY_STATEREPOSITORY = 103 + FACILITY_VISUALCPP = 109 + FACILITY_SCRIPT = 112 + FACILITY_PARSE = 113 + FACILITY_BLB = 120 + FACILITY_BLB_CLI = 121 + FACILITY_WSBAPP = 122 + FACILITY_BLBUI = 128 + FACILITY_USN = 129 + FACILITY_USERMODE_VOLSNAP = 130 + FACILITY_TIERING = 131 + FACILITY_WSB_ONLINE = 133 + FACILITY_ONLINE_ID = 134 + FACILITY_DEVICE_UPDATE_AGENT = 135 + FACILITY_DRVSERVICING = 136 + FACILITY_DLS = 153 + FACILITY_DELIVERY_OPTIMIZATION = 208 + FACILITY_USERMODE_SPACES = 231 + FACILITY_USER_MODE_SECURITY_CORE = 232 + FACILITY_USERMODE_LICENSING = 234 + FACILITY_SOS = 160 + FACILITY_DEBUGGERS = 176 + FACILITY_SPP = 256 + FACILITY_RESTORE = 256 + FACILITY_DMSERVER = 256 + FACILITY_DEPLOYMENT_SERVICES_SERVER = 257 + FACILITY_DEPLOYMENT_SERVICES_IMAGING = 258 + FACILITY_DEPLOYMENT_SERVICES_MANAGEMENT = 259 + FACILITY_DEPLOYMENT_SERVICES_UTIL = 260 + FACILITY_DEPLOYMENT_SERVICES_BINLSVC = 261 + FACILITY_DEPLOYMENT_SERVICES_PXE = 263 + FACILITY_DEPLOYMENT_SERVICES_TFTP = 264 + FACILITY_DEPLOYMENT_SERVICES_TRANSPORT_MANAGEMENT = 272 + FACILITY_DEPLOYMENT_SERVICES_DRIVER_PROVISIONING = 278 + FACILITY_DEPLOYMENT_SERVICES_MULTICAST_SERVER = 289 + FACILITY_DEPLOYMENT_SERVICES_MULTICAST_CLIENT = 290 + FACILITY_DEPLOYMENT_SERVICES_CONTENT_PROVIDER = 293 + FACILITY_LINGUISTIC_SERVICES = 305 + FACILITY_AUDIOSTREAMING = 1094 + FACILITY_ACCELERATOR = 1536 + FACILITY_WMAAECMA = 1996 + FACILITY_DIRECTMUSIC = 2168 + FACILITY_DIRECT3D10 = 2169 + FACILITY_DXGI = 2170 + FACILITY_DXGI_DDI = 2171 + FACILITY_DIRECT3D11 = 2172 + FACILITY_DIRECT3D11_DEBUG = 2173 + FACILITY_DIRECT3D12 = 2174 + FACILITY_DIRECT3D12_DEBUG = 2175 + FACILITY_LEAP = 2184 + FACILITY_AUDCLNT = 2185 + FACILITY_WINCODEC_DWRITE_DWM = 2200 + FACILITY_WINML = 2192 + FACILITY_DIRECT2D = 2201 + FACILITY_DEFRAG = 2304 + FACILITY_USERMODE_SDBUS = 2305 + FACILITY_JSCRIPT = 2306 + FACILITY_PIDGENX = 2561 + FACILITY_EAS = 85 + FACILITY_WEB = 885 + FACILITY_WEB_SOCKET = 886 + FACILITY_MOBILE = 1793 + FACILITY_SQLITE = 1967 + FACILITY_UTC = 1989 + FACILITY_WEP = 2049 + FACILITY_SYNCENGINE = 2050 + FACILITY_XBOX = 2339 + FACILITY_PIX = 2748 + ERROR_SUCCESS syscall.Errno = 0 + NO_ERROR = 0 + SEC_E_OK Handle = 0x00000000 + ERROR_INVALID_FUNCTION syscall.Errno = 1 + ERROR_FILE_NOT_FOUND syscall.Errno = 2 + ERROR_PATH_NOT_FOUND syscall.Errno = 3 + ERROR_TOO_MANY_OPEN_FILES syscall.Errno = 4 + ERROR_ACCESS_DENIED syscall.Errno = 5 + ERROR_INVALID_HANDLE syscall.Errno = 6 + ERROR_ARENA_TRASHED syscall.Errno = 7 + ERROR_NOT_ENOUGH_MEMORY syscall.Errno = 8 + ERROR_INVALID_BLOCK syscall.Errno = 9 + ERROR_BAD_ENVIRONMENT syscall.Errno = 10 + ERROR_BAD_FORMAT syscall.Errno = 11 + ERROR_INVALID_ACCESS syscall.Errno = 12 + ERROR_INVALID_DATA syscall.Errno = 13 + ERROR_OUTOFMEMORY syscall.Errno = 14 + ERROR_INVALID_DRIVE syscall.Errno = 15 + ERROR_CURRENT_DIRECTORY syscall.Errno = 16 + ERROR_NOT_SAME_DEVICE syscall.Errno = 17 + ERROR_NO_MORE_FILES syscall.Errno = 18 + ERROR_WRITE_PROTECT syscall.Errno = 19 + ERROR_BAD_UNIT syscall.Errno = 20 + ERROR_NOT_READY syscall.Errno = 21 + ERROR_BAD_COMMAND syscall.Errno = 22 + ERROR_CRC syscall.Errno = 23 + ERROR_BAD_LENGTH syscall.Errno = 24 + ERROR_SEEK syscall.Errno = 25 + ERROR_NOT_DOS_DISK syscall.Errno = 26 + ERROR_SECTOR_NOT_FOUND syscall.Errno = 27 + ERROR_OUT_OF_PAPER syscall.Errno = 28 + ERROR_WRITE_FAULT syscall.Errno = 29 + ERROR_READ_FAULT syscall.Errno = 30 + ERROR_GEN_FAILURE syscall.Errno = 31 + ERROR_SHARING_VIOLATION syscall.Errno = 32 + ERROR_LOCK_VIOLATION syscall.Errno = 33 + ERROR_WRONG_DISK syscall.Errno = 34 + ERROR_SHARING_BUFFER_EXCEEDED syscall.Errno = 36 + ERROR_HANDLE_EOF syscall.Errno = 38 + ERROR_HANDLE_DISK_FULL syscall.Errno = 39 + ERROR_NOT_SUPPORTED syscall.Errno = 50 + ERROR_REM_NOT_LIST syscall.Errno = 51 + ERROR_DUP_NAME syscall.Errno = 52 + ERROR_BAD_NETPATH syscall.Errno = 53 + ERROR_NETWORK_BUSY syscall.Errno = 54 + ERROR_DEV_NOT_EXIST syscall.Errno = 55 + ERROR_TOO_MANY_CMDS syscall.Errno = 56 + ERROR_ADAP_HDW_ERR syscall.Errno = 57 + ERROR_BAD_NET_RESP syscall.Errno = 58 + ERROR_UNEXP_NET_ERR syscall.Errno = 59 + ERROR_BAD_REM_ADAP syscall.Errno = 60 + ERROR_PRINTQ_FULL syscall.Errno = 61 + ERROR_NO_SPOOL_SPACE syscall.Errno = 62 + ERROR_PRINT_CANCELLED syscall.Errno = 63 + ERROR_NETNAME_DELETED syscall.Errno = 64 + ERROR_NETWORK_ACCESS_DENIED syscall.Errno = 65 + ERROR_BAD_DEV_TYPE syscall.Errno = 66 + ERROR_BAD_NET_NAME syscall.Errno = 67 + ERROR_TOO_MANY_NAMES syscall.Errno = 68 + ERROR_TOO_MANY_SESS syscall.Errno = 69 + ERROR_SHARING_PAUSED syscall.Errno = 70 + ERROR_REQ_NOT_ACCEP syscall.Errno = 71 + ERROR_REDIR_PAUSED syscall.Errno = 72 + ERROR_FILE_EXISTS syscall.Errno = 80 + ERROR_CANNOT_MAKE syscall.Errno = 82 + ERROR_FAIL_I24 syscall.Errno = 83 + ERROR_OUT_OF_STRUCTURES syscall.Errno = 84 + ERROR_ALREADY_ASSIGNED syscall.Errno = 85 + ERROR_INVALID_PASSWORD syscall.Errno = 86 + ERROR_INVALID_PARAMETER syscall.Errno = 87 + ERROR_NET_WRITE_FAULT syscall.Errno = 88 + ERROR_NO_PROC_SLOTS syscall.Errno = 89 + ERROR_TOO_MANY_SEMAPHORES syscall.Errno = 100 + ERROR_EXCL_SEM_ALREADY_OWNED syscall.Errno = 101 + ERROR_SEM_IS_SET syscall.Errno = 102 + ERROR_TOO_MANY_SEM_REQUESTS syscall.Errno = 103 + ERROR_INVALID_AT_INTERRUPT_TIME syscall.Errno = 104 + ERROR_SEM_OWNER_DIED syscall.Errno = 105 + ERROR_SEM_USER_LIMIT syscall.Errno = 106 + ERROR_DISK_CHANGE syscall.Errno = 107 + ERROR_DRIVE_LOCKED syscall.Errno = 108 + ERROR_BROKEN_PIPE syscall.Errno = 109 + ERROR_OPEN_FAILED syscall.Errno = 110 + ERROR_BUFFER_OVERFLOW syscall.Errno = 111 + ERROR_DISK_FULL syscall.Errno = 112 + ERROR_NO_MORE_SEARCH_HANDLES syscall.Errno = 113 + ERROR_INVALID_TARGET_HANDLE syscall.Errno = 114 + ERROR_INVALID_CATEGORY syscall.Errno = 117 + ERROR_INVALID_VERIFY_SWITCH syscall.Errno = 118 + ERROR_BAD_DRIVER_LEVEL syscall.Errno = 119 + ERROR_CALL_NOT_IMPLEMENTED syscall.Errno = 120 + ERROR_SEM_TIMEOUT syscall.Errno = 121 + ERROR_INSUFFICIENT_BUFFER syscall.Errno = 122 + ERROR_INVALID_NAME syscall.Errno = 123 + ERROR_INVALID_LEVEL syscall.Errno = 124 + ERROR_NO_VOLUME_LABEL syscall.Errno = 125 + ERROR_MOD_NOT_FOUND syscall.Errno = 126 + ERROR_PROC_NOT_FOUND syscall.Errno = 127 + ERROR_WAIT_NO_CHILDREN syscall.Errno = 128 + ERROR_CHILD_NOT_COMPLETE syscall.Errno = 129 + ERROR_DIRECT_ACCESS_HANDLE syscall.Errno = 130 + ERROR_NEGATIVE_SEEK syscall.Errno = 131 + ERROR_SEEK_ON_DEVICE syscall.Errno = 132 + ERROR_IS_JOIN_TARGET syscall.Errno = 133 + ERROR_IS_JOINED syscall.Errno = 134 + ERROR_IS_SUBSTED syscall.Errno = 135 + ERROR_NOT_JOINED syscall.Errno = 136 + ERROR_NOT_SUBSTED syscall.Errno = 137 + ERROR_JOIN_TO_JOIN syscall.Errno = 138 + ERROR_SUBST_TO_SUBST syscall.Errno = 139 + ERROR_JOIN_TO_SUBST syscall.Errno = 140 + ERROR_SUBST_TO_JOIN syscall.Errno = 141 + ERROR_BUSY_DRIVE syscall.Errno = 142 + ERROR_SAME_DRIVE syscall.Errno = 143 + ERROR_DIR_NOT_ROOT syscall.Errno = 144 + ERROR_DIR_NOT_EMPTY syscall.Errno = 145 + ERROR_IS_SUBST_PATH syscall.Errno = 146 + ERROR_IS_JOIN_PATH syscall.Errno = 147 + ERROR_PATH_BUSY syscall.Errno = 148 + ERROR_IS_SUBST_TARGET syscall.Errno = 149 + ERROR_SYSTEM_TRACE syscall.Errno = 150 + ERROR_INVALID_EVENT_COUNT syscall.Errno = 151 + ERROR_TOO_MANY_MUXWAITERS syscall.Errno = 152 + ERROR_INVALID_LIST_FORMAT syscall.Errno = 153 + ERROR_LABEL_TOO_LONG syscall.Errno = 154 + ERROR_TOO_MANY_TCBS syscall.Errno = 155 + ERROR_SIGNAL_REFUSED syscall.Errno = 156 + ERROR_DISCARDED syscall.Errno = 157 + ERROR_NOT_LOCKED syscall.Errno = 158 + ERROR_BAD_THREADID_ADDR syscall.Errno = 159 + ERROR_BAD_ARGUMENTS syscall.Errno = 160 + ERROR_BAD_PATHNAME syscall.Errno = 161 + ERROR_SIGNAL_PENDING syscall.Errno = 162 + ERROR_MAX_THRDS_REACHED syscall.Errno = 164 + ERROR_LOCK_FAILED syscall.Errno = 167 + ERROR_BUSY syscall.Errno = 170 + ERROR_DEVICE_SUPPORT_IN_PROGRESS syscall.Errno = 171 + ERROR_CANCEL_VIOLATION syscall.Errno = 173 + ERROR_ATOMIC_LOCKS_NOT_SUPPORTED syscall.Errno = 174 + ERROR_INVALID_SEGMENT_NUMBER syscall.Errno = 180 + ERROR_INVALID_ORDINAL syscall.Errno = 182 + ERROR_ALREADY_EXISTS syscall.Errno = 183 + ERROR_INVALID_FLAG_NUMBER syscall.Errno = 186 + ERROR_SEM_NOT_FOUND syscall.Errno = 187 + ERROR_INVALID_STARTING_CODESEG syscall.Errno = 188 + ERROR_INVALID_STACKSEG syscall.Errno = 189 + ERROR_INVALID_MODULETYPE syscall.Errno = 190 + ERROR_INVALID_EXE_SIGNATURE syscall.Errno = 191 + ERROR_EXE_MARKED_INVALID syscall.Errno = 192 + ERROR_BAD_EXE_FORMAT syscall.Errno = 193 + ERROR_ITERATED_DATA_EXCEEDS_64k syscall.Errno = 194 + ERROR_INVALID_MINALLOCSIZE syscall.Errno = 195 + ERROR_DYNLINK_FROM_INVALID_RING syscall.Errno = 196 + ERROR_IOPL_NOT_ENABLED syscall.Errno = 197 + ERROR_INVALID_SEGDPL syscall.Errno = 198 + ERROR_AUTODATASEG_EXCEEDS_64k syscall.Errno = 199 + ERROR_RING2SEG_MUST_BE_MOVABLE syscall.Errno = 200 + ERROR_RELOC_CHAIN_XEEDS_SEGLIM syscall.Errno = 201 + ERROR_INFLOOP_IN_RELOC_CHAIN syscall.Errno = 202 + ERROR_ENVVAR_NOT_FOUND syscall.Errno = 203 + ERROR_NO_SIGNAL_SENT syscall.Errno = 205 + ERROR_FILENAME_EXCED_RANGE syscall.Errno = 206 + ERROR_RING2_STACK_IN_USE syscall.Errno = 207 + ERROR_META_EXPANSION_TOO_LONG syscall.Errno = 208 + ERROR_INVALID_SIGNAL_NUMBER syscall.Errno = 209 + ERROR_THREAD_1_INACTIVE syscall.Errno = 210 + ERROR_LOCKED syscall.Errno = 212 + ERROR_TOO_MANY_MODULES syscall.Errno = 214 + ERROR_NESTING_NOT_ALLOWED syscall.Errno = 215 + ERROR_EXE_MACHINE_TYPE_MISMATCH syscall.Errno = 216 + ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY syscall.Errno = 217 + ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY syscall.Errno = 218 + ERROR_FILE_CHECKED_OUT syscall.Errno = 220 + ERROR_CHECKOUT_REQUIRED syscall.Errno = 221 + ERROR_BAD_FILE_TYPE syscall.Errno = 222 + ERROR_FILE_TOO_LARGE syscall.Errno = 223 + ERROR_FORMS_AUTH_REQUIRED syscall.Errno = 224 + ERROR_VIRUS_INFECTED syscall.Errno = 225 + ERROR_VIRUS_DELETED syscall.Errno = 226 + ERROR_PIPE_LOCAL syscall.Errno = 229 + ERROR_BAD_PIPE syscall.Errno = 230 + ERROR_PIPE_BUSY syscall.Errno = 231 + ERROR_NO_DATA syscall.Errno = 232 + ERROR_PIPE_NOT_CONNECTED syscall.Errno = 233 + ERROR_MORE_DATA syscall.Errno = 234 + ERROR_NO_WORK_DONE syscall.Errno = 235 + ERROR_VC_DISCONNECTED syscall.Errno = 240 + ERROR_INVALID_EA_NAME syscall.Errno = 254 + ERROR_EA_LIST_INCONSISTENT syscall.Errno = 255 + WAIT_TIMEOUT syscall.Errno = 258 + ERROR_NO_MORE_ITEMS syscall.Errno = 259 + ERROR_CANNOT_COPY syscall.Errno = 266 + ERROR_DIRECTORY syscall.Errno = 267 + ERROR_EAS_DIDNT_FIT syscall.Errno = 275 + ERROR_EA_FILE_CORRUPT syscall.Errno = 276 + ERROR_EA_TABLE_FULL syscall.Errno = 277 + ERROR_INVALID_EA_HANDLE syscall.Errno = 278 + ERROR_EAS_NOT_SUPPORTED syscall.Errno = 282 + ERROR_NOT_OWNER syscall.Errno = 288 + ERROR_TOO_MANY_POSTS syscall.Errno = 298 + ERROR_PARTIAL_COPY syscall.Errno = 299 + ERROR_OPLOCK_NOT_GRANTED syscall.Errno = 300 + ERROR_INVALID_OPLOCK_PROTOCOL syscall.Errno = 301 + ERROR_DISK_TOO_FRAGMENTED syscall.Errno = 302 + ERROR_DELETE_PENDING syscall.Errno = 303 + ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING syscall.Errno = 304 + ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME syscall.Errno = 305 + ERROR_SECURITY_STREAM_IS_INCONSISTENT syscall.Errno = 306 + ERROR_INVALID_LOCK_RANGE syscall.Errno = 307 + ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT syscall.Errno = 308 + ERROR_NOTIFICATION_GUID_ALREADY_DEFINED syscall.Errno = 309 + ERROR_INVALID_EXCEPTION_HANDLER syscall.Errno = 310 + ERROR_DUPLICATE_PRIVILEGES syscall.Errno = 311 + ERROR_NO_RANGES_PROCESSED syscall.Errno = 312 + ERROR_NOT_ALLOWED_ON_SYSTEM_FILE syscall.Errno = 313 + ERROR_DISK_RESOURCES_EXHAUSTED syscall.Errno = 314 + ERROR_INVALID_TOKEN syscall.Errno = 315 + ERROR_DEVICE_FEATURE_NOT_SUPPORTED syscall.Errno = 316 + ERROR_MR_MID_NOT_FOUND syscall.Errno = 317 + ERROR_SCOPE_NOT_FOUND syscall.Errno = 318 + ERROR_UNDEFINED_SCOPE syscall.Errno = 319 + ERROR_INVALID_CAP syscall.Errno = 320 + ERROR_DEVICE_UNREACHABLE syscall.Errno = 321 + ERROR_DEVICE_NO_RESOURCES syscall.Errno = 322 + ERROR_DATA_CHECKSUM_ERROR syscall.Errno = 323 + ERROR_INTERMIXED_KERNEL_EA_OPERATION syscall.Errno = 324 + ERROR_FILE_LEVEL_TRIM_NOT_SUPPORTED syscall.Errno = 326 + ERROR_OFFSET_ALIGNMENT_VIOLATION syscall.Errno = 327 + ERROR_INVALID_FIELD_IN_PARAMETER_LIST syscall.Errno = 328 + ERROR_OPERATION_IN_PROGRESS syscall.Errno = 329 + ERROR_BAD_DEVICE_PATH syscall.Errno = 330 + ERROR_TOO_MANY_DESCRIPTORS syscall.Errno = 331 + ERROR_SCRUB_DATA_DISABLED syscall.Errno = 332 + ERROR_NOT_REDUNDANT_STORAGE syscall.Errno = 333 + ERROR_RESIDENT_FILE_NOT_SUPPORTED syscall.Errno = 334 + ERROR_COMPRESSED_FILE_NOT_SUPPORTED syscall.Errno = 335 + ERROR_DIRECTORY_NOT_SUPPORTED syscall.Errno = 336 + ERROR_NOT_READ_FROM_COPY syscall.Errno = 337 + ERROR_FT_WRITE_FAILURE syscall.Errno = 338 + ERROR_FT_DI_SCAN_REQUIRED syscall.Errno = 339 + ERROR_INVALID_KERNEL_INFO_VERSION syscall.Errno = 340 + ERROR_INVALID_PEP_INFO_VERSION syscall.Errno = 341 + ERROR_OBJECT_NOT_EXTERNALLY_BACKED syscall.Errno = 342 + ERROR_EXTERNAL_BACKING_PROVIDER_UNKNOWN syscall.Errno = 343 + ERROR_COMPRESSION_NOT_BENEFICIAL syscall.Errno = 344 + ERROR_STORAGE_TOPOLOGY_ID_MISMATCH syscall.Errno = 345 + ERROR_BLOCKED_BY_PARENTAL_CONTROLS syscall.Errno = 346 + ERROR_BLOCK_TOO_MANY_REFERENCES syscall.Errno = 347 + ERROR_MARKED_TO_DISALLOW_WRITES syscall.Errno = 348 + ERROR_ENCLAVE_FAILURE syscall.Errno = 349 + ERROR_FAIL_NOACTION_REBOOT syscall.Errno = 350 + ERROR_FAIL_SHUTDOWN syscall.Errno = 351 + ERROR_FAIL_RESTART syscall.Errno = 352 + ERROR_MAX_SESSIONS_REACHED syscall.Errno = 353 + ERROR_NETWORK_ACCESS_DENIED_EDP syscall.Errno = 354 + ERROR_DEVICE_HINT_NAME_BUFFER_TOO_SMALL syscall.Errno = 355 + ERROR_EDP_POLICY_DENIES_OPERATION syscall.Errno = 356 + ERROR_EDP_DPL_POLICY_CANT_BE_SATISFIED syscall.Errno = 357 + ERROR_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT syscall.Errno = 358 + ERROR_DEVICE_IN_MAINTENANCE syscall.Errno = 359 + ERROR_NOT_SUPPORTED_ON_DAX syscall.Errno = 360 + ERROR_DAX_MAPPING_EXISTS syscall.Errno = 361 + ERROR_CLOUD_FILE_PROVIDER_NOT_RUNNING syscall.Errno = 362 + ERROR_CLOUD_FILE_METADATA_CORRUPT syscall.Errno = 363 + ERROR_CLOUD_FILE_METADATA_TOO_LARGE syscall.Errno = 364 + ERROR_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE syscall.Errno = 365 + ERROR_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH syscall.Errno = 366 + ERROR_CHILD_PROCESS_BLOCKED syscall.Errno = 367 + ERROR_STORAGE_LOST_DATA_PERSISTENCE syscall.Errno = 368 + ERROR_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE syscall.Errno = 369 + ERROR_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT syscall.Errno = 370 + ERROR_FILE_SYSTEM_VIRTUALIZATION_BUSY syscall.Errno = 371 + ERROR_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN syscall.Errno = 372 + ERROR_GDI_HANDLE_LEAK syscall.Errno = 373 + ERROR_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS syscall.Errno = 374 + ERROR_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED syscall.Errno = 375 + ERROR_NOT_A_CLOUD_FILE syscall.Errno = 376 + ERROR_CLOUD_FILE_NOT_IN_SYNC syscall.Errno = 377 + ERROR_CLOUD_FILE_ALREADY_CONNECTED syscall.Errno = 378 + ERROR_CLOUD_FILE_NOT_SUPPORTED syscall.Errno = 379 + ERROR_CLOUD_FILE_INVALID_REQUEST syscall.Errno = 380 + ERROR_CLOUD_FILE_READ_ONLY_VOLUME syscall.Errno = 381 + ERROR_CLOUD_FILE_CONNECTED_PROVIDER_ONLY syscall.Errno = 382 + ERROR_CLOUD_FILE_VALIDATION_FAILED syscall.Errno = 383 + ERROR_SMB1_NOT_AVAILABLE syscall.Errno = 384 + ERROR_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION syscall.Errno = 385 + ERROR_CLOUD_FILE_AUTHENTICATION_FAILED syscall.Errno = 386 + ERROR_CLOUD_FILE_INSUFFICIENT_RESOURCES syscall.Errno = 387 + ERROR_CLOUD_FILE_NETWORK_UNAVAILABLE syscall.Errno = 388 + ERROR_CLOUD_FILE_UNSUCCESSFUL syscall.Errno = 389 + ERROR_CLOUD_FILE_NOT_UNDER_SYNC_ROOT syscall.Errno = 390 + ERROR_CLOUD_FILE_IN_USE syscall.Errno = 391 + ERROR_CLOUD_FILE_PINNED syscall.Errno = 392 + ERROR_CLOUD_FILE_REQUEST_ABORTED syscall.Errno = 393 + ERROR_CLOUD_FILE_PROPERTY_CORRUPT syscall.Errno = 394 + ERROR_CLOUD_FILE_ACCESS_DENIED syscall.Errno = 395 + ERROR_CLOUD_FILE_INCOMPATIBLE_HARDLINKS syscall.Errno = 396 + ERROR_CLOUD_FILE_PROPERTY_LOCK_CONFLICT syscall.Errno = 397 + ERROR_CLOUD_FILE_REQUEST_CANCELED syscall.Errno = 398 + ERROR_EXTERNAL_SYSKEY_NOT_SUPPORTED syscall.Errno = 399 + ERROR_THREAD_MODE_ALREADY_BACKGROUND syscall.Errno = 400 + ERROR_THREAD_MODE_NOT_BACKGROUND syscall.Errno = 401 + ERROR_PROCESS_MODE_ALREADY_BACKGROUND syscall.Errno = 402 + ERROR_PROCESS_MODE_NOT_BACKGROUND syscall.Errno = 403 + ERROR_CLOUD_FILE_PROVIDER_TERMINATED syscall.Errno = 404 + ERROR_NOT_A_CLOUD_SYNC_ROOT syscall.Errno = 405 + ERROR_FILE_PROTECTED_UNDER_DPL syscall.Errno = 406 + ERROR_VOLUME_NOT_CLUSTER_ALIGNED syscall.Errno = 407 + ERROR_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND syscall.Errno = 408 + ERROR_APPX_FILE_NOT_ENCRYPTED syscall.Errno = 409 + ERROR_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED syscall.Errno = 410 + ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET syscall.Errno = 411 + ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE syscall.Errno = 412 + ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER syscall.Errno = 413 + ERROR_LINUX_SUBSYSTEM_NOT_PRESENT syscall.Errno = 414 + ERROR_FT_READ_FAILURE syscall.Errno = 415 + ERROR_STORAGE_RESERVE_ID_INVALID syscall.Errno = 416 + ERROR_STORAGE_RESERVE_DOES_NOT_EXIST syscall.Errno = 417 + ERROR_STORAGE_RESERVE_ALREADY_EXISTS syscall.Errno = 418 + ERROR_STORAGE_RESERVE_NOT_EMPTY syscall.Errno = 419 + ERROR_NOT_A_DAX_VOLUME syscall.Errno = 420 + ERROR_NOT_DAX_MAPPABLE syscall.Errno = 421 + ERROR_TIME_CRITICAL_THREAD syscall.Errno = 422 + ERROR_DPL_NOT_SUPPORTED_FOR_USER syscall.Errno = 423 + ERROR_CASE_DIFFERING_NAMES_IN_DIR syscall.Errno = 424 + ERROR_CAPAUTHZ_NOT_DEVUNLOCKED syscall.Errno = 450 + ERROR_CAPAUTHZ_CHANGE_TYPE syscall.Errno = 451 + ERROR_CAPAUTHZ_NOT_PROVISIONED syscall.Errno = 452 + ERROR_CAPAUTHZ_NOT_AUTHORIZED syscall.Errno = 453 + ERROR_CAPAUTHZ_NO_POLICY syscall.Errno = 454 + ERROR_CAPAUTHZ_DB_CORRUPTED syscall.Errno = 455 + ERROR_CAPAUTHZ_SCCD_INVALID_CATALOG syscall.Errno = 456 + ERROR_CAPAUTHZ_SCCD_NO_AUTH_ENTITY syscall.Errno = 457 + ERROR_CAPAUTHZ_SCCD_PARSE_ERROR syscall.Errno = 458 + ERROR_CAPAUTHZ_SCCD_DEV_MODE_REQUIRED syscall.Errno = 459 + ERROR_CAPAUTHZ_SCCD_NO_CAPABILITY_MATCH syscall.Errno = 460 + ERROR_PNP_QUERY_REMOVE_DEVICE_TIMEOUT syscall.Errno = 480 + ERROR_PNP_QUERY_REMOVE_RELATED_DEVICE_TIMEOUT syscall.Errno = 481 + ERROR_PNP_QUERY_REMOVE_UNRELATED_DEVICE_TIMEOUT syscall.Errno = 482 + ERROR_DEVICE_HARDWARE_ERROR syscall.Errno = 483 + ERROR_INVALID_ADDRESS syscall.Errno = 487 + ERROR_VRF_CFG_ENABLED syscall.Errno = 1183 + ERROR_PARTITION_TERMINATING syscall.Errno = 1184 + ERROR_USER_PROFILE_LOAD syscall.Errno = 500 + ERROR_ARITHMETIC_OVERFLOW syscall.Errno = 534 + ERROR_PIPE_CONNECTED syscall.Errno = 535 + ERROR_PIPE_LISTENING syscall.Errno = 536 + ERROR_VERIFIER_STOP syscall.Errno = 537 + ERROR_ABIOS_ERROR syscall.Errno = 538 + ERROR_WX86_WARNING syscall.Errno = 539 + ERROR_WX86_ERROR syscall.Errno = 540 + ERROR_TIMER_NOT_CANCELED syscall.Errno = 541 + ERROR_UNWIND syscall.Errno = 542 + ERROR_BAD_STACK syscall.Errno = 543 + ERROR_INVALID_UNWIND_TARGET syscall.Errno = 544 + ERROR_INVALID_PORT_ATTRIBUTES syscall.Errno = 545 + ERROR_PORT_MESSAGE_TOO_LONG syscall.Errno = 546 + ERROR_INVALID_QUOTA_LOWER syscall.Errno = 547 + ERROR_DEVICE_ALREADY_ATTACHED syscall.Errno = 548 + ERROR_INSTRUCTION_MISALIGNMENT syscall.Errno = 549 + ERROR_PROFILING_NOT_STARTED syscall.Errno = 550 + ERROR_PROFILING_NOT_STOPPED syscall.Errno = 551 + ERROR_COULD_NOT_INTERPRET syscall.Errno = 552 + ERROR_PROFILING_AT_LIMIT syscall.Errno = 553 + ERROR_CANT_WAIT syscall.Errno = 554 + ERROR_CANT_TERMINATE_SELF syscall.Errno = 555 + ERROR_UNEXPECTED_MM_CREATE_ERR syscall.Errno = 556 + ERROR_UNEXPECTED_MM_MAP_ERROR syscall.Errno = 557 + ERROR_UNEXPECTED_MM_EXTEND_ERR syscall.Errno = 558 + ERROR_BAD_FUNCTION_TABLE syscall.Errno = 559 + ERROR_NO_GUID_TRANSLATION syscall.Errno = 560 + ERROR_INVALID_LDT_SIZE syscall.Errno = 561 + ERROR_INVALID_LDT_OFFSET syscall.Errno = 563 + ERROR_INVALID_LDT_DESCRIPTOR syscall.Errno = 564 + ERROR_TOO_MANY_THREADS syscall.Errno = 565 + ERROR_THREAD_NOT_IN_PROCESS syscall.Errno = 566 + ERROR_PAGEFILE_QUOTA_EXCEEDED syscall.Errno = 567 + ERROR_LOGON_SERVER_CONFLICT syscall.Errno = 568 + ERROR_SYNCHRONIZATION_REQUIRED syscall.Errno = 569 + ERROR_NET_OPEN_FAILED syscall.Errno = 570 + ERROR_IO_PRIVILEGE_FAILED syscall.Errno = 571 + ERROR_CONTROL_C_EXIT syscall.Errno = 572 + ERROR_MISSING_SYSTEMFILE syscall.Errno = 573 + ERROR_UNHANDLED_EXCEPTION syscall.Errno = 574 + ERROR_APP_INIT_FAILURE syscall.Errno = 575 + ERROR_PAGEFILE_CREATE_FAILED syscall.Errno = 576 + ERROR_INVALID_IMAGE_HASH syscall.Errno = 577 + ERROR_NO_PAGEFILE syscall.Errno = 578 + ERROR_ILLEGAL_FLOAT_CONTEXT syscall.Errno = 579 + ERROR_NO_EVENT_PAIR syscall.Errno = 580 + ERROR_DOMAIN_CTRLR_CONFIG_ERROR syscall.Errno = 581 + ERROR_ILLEGAL_CHARACTER syscall.Errno = 582 + ERROR_UNDEFINED_CHARACTER syscall.Errno = 583 + ERROR_FLOPPY_VOLUME syscall.Errno = 584 + ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT syscall.Errno = 585 + ERROR_BACKUP_CONTROLLER syscall.Errno = 586 + ERROR_MUTANT_LIMIT_EXCEEDED syscall.Errno = 587 + ERROR_FS_DRIVER_REQUIRED syscall.Errno = 588 + ERROR_CANNOT_LOAD_REGISTRY_FILE syscall.Errno = 589 + ERROR_DEBUG_ATTACH_FAILED syscall.Errno = 590 + ERROR_SYSTEM_PROCESS_TERMINATED syscall.Errno = 591 + ERROR_DATA_NOT_ACCEPTED syscall.Errno = 592 + ERROR_VDM_HARD_ERROR syscall.Errno = 593 + ERROR_DRIVER_CANCEL_TIMEOUT syscall.Errno = 594 + ERROR_REPLY_MESSAGE_MISMATCH syscall.Errno = 595 + ERROR_LOST_WRITEBEHIND_DATA syscall.Errno = 596 + ERROR_CLIENT_SERVER_PARAMETERS_INVALID syscall.Errno = 597 + ERROR_NOT_TINY_STREAM syscall.Errno = 598 + ERROR_STACK_OVERFLOW_READ syscall.Errno = 599 + ERROR_CONVERT_TO_LARGE syscall.Errno = 600 + ERROR_FOUND_OUT_OF_SCOPE syscall.Errno = 601 + ERROR_ALLOCATE_BUCKET syscall.Errno = 602 + ERROR_MARSHALL_OVERFLOW syscall.Errno = 603 + ERROR_INVALID_VARIANT syscall.Errno = 604 + ERROR_BAD_COMPRESSION_BUFFER syscall.Errno = 605 + ERROR_AUDIT_FAILED syscall.Errno = 606 + ERROR_TIMER_RESOLUTION_NOT_SET syscall.Errno = 607 + ERROR_INSUFFICIENT_LOGON_INFO syscall.Errno = 608 + ERROR_BAD_DLL_ENTRYPOINT syscall.Errno = 609 + ERROR_BAD_SERVICE_ENTRYPOINT syscall.Errno = 610 + ERROR_IP_ADDRESS_CONFLICT1 syscall.Errno = 611 + ERROR_IP_ADDRESS_CONFLICT2 syscall.Errno = 612 + ERROR_REGISTRY_QUOTA_LIMIT syscall.Errno = 613 + ERROR_NO_CALLBACK_ACTIVE syscall.Errno = 614 + ERROR_PWD_TOO_SHORT syscall.Errno = 615 + ERROR_PWD_TOO_RECENT syscall.Errno = 616 + ERROR_PWD_HISTORY_CONFLICT syscall.Errno = 617 + ERROR_UNSUPPORTED_COMPRESSION syscall.Errno = 618 + ERROR_INVALID_HW_PROFILE syscall.Errno = 619 + ERROR_INVALID_PLUGPLAY_DEVICE_PATH syscall.Errno = 620 + ERROR_QUOTA_LIST_INCONSISTENT syscall.Errno = 621 + ERROR_EVALUATION_EXPIRATION syscall.Errno = 622 + ERROR_ILLEGAL_DLL_RELOCATION syscall.Errno = 623 + ERROR_DLL_INIT_FAILED_LOGOFF syscall.Errno = 624 + ERROR_VALIDATE_CONTINUE syscall.Errno = 625 + ERROR_NO_MORE_MATCHES syscall.Errno = 626 + ERROR_RANGE_LIST_CONFLICT syscall.Errno = 627 + ERROR_SERVER_SID_MISMATCH syscall.Errno = 628 + ERROR_CANT_ENABLE_DENY_ONLY syscall.Errno = 629 + ERROR_FLOAT_MULTIPLE_FAULTS syscall.Errno = 630 + ERROR_FLOAT_MULTIPLE_TRAPS syscall.Errno = 631 + ERROR_NOINTERFACE syscall.Errno = 632 + ERROR_DRIVER_FAILED_SLEEP syscall.Errno = 633 + ERROR_CORRUPT_SYSTEM_FILE syscall.Errno = 634 + ERROR_COMMITMENT_MINIMUM syscall.Errno = 635 + ERROR_PNP_RESTART_ENUMERATION syscall.Errno = 636 + ERROR_SYSTEM_IMAGE_BAD_SIGNATURE syscall.Errno = 637 + ERROR_PNP_REBOOT_REQUIRED syscall.Errno = 638 + ERROR_INSUFFICIENT_POWER syscall.Errno = 639 + ERROR_MULTIPLE_FAULT_VIOLATION syscall.Errno = 640 + ERROR_SYSTEM_SHUTDOWN syscall.Errno = 641 + ERROR_PORT_NOT_SET syscall.Errno = 642 + ERROR_DS_VERSION_CHECK_FAILURE syscall.Errno = 643 + ERROR_RANGE_NOT_FOUND syscall.Errno = 644 + ERROR_NOT_SAFE_MODE_DRIVER syscall.Errno = 646 + ERROR_FAILED_DRIVER_ENTRY syscall.Errno = 647 + ERROR_DEVICE_ENUMERATION_ERROR syscall.Errno = 648 + ERROR_MOUNT_POINT_NOT_RESOLVED syscall.Errno = 649 + ERROR_INVALID_DEVICE_OBJECT_PARAMETER syscall.Errno = 650 + ERROR_MCA_OCCURED syscall.Errno = 651 + ERROR_DRIVER_DATABASE_ERROR syscall.Errno = 652 + ERROR_SYSTEM_HIVE_TOO_LARGE syscall.Errno = 653 + ERROR_DRIVER_FAILED_PRIOR_UNLOAD syscall.Errno = 654 + ERROR_VOLSNAP_PREPARE_HIBERNATE syscall.Errno = 655 + ERROR_HIBERNATION_FAILURE syscall.Errno = 656 + ERROR_PWD_TOO_LONG syscall.Errno = 657 + ERROR_FILE_SYSTEM_LIMITATION syscall.Errno = 665 + ERROR_ASSERTION_FAILURE syscall.Errno = 668 + ERROR_ACPI_ERROR syscall.Errno = 669 + ERROR_WOW_ASSERTION syscall.Errno = 670 + ERROR_PNP_BAD_MPS_TABLE syscall.Errno = 671 + ERROR_PNP_TRANSLATION_FAILED syscall.Errno = 672 + ERROR_PNP_IRQ_TRANSLATION_FAILED syscall.Errno = 673 + ERROR_PNP_INVALID_ID syscall.Errno = 674 + ERROR_WAKE_SYSTEM_DEBUGGER syscall.Errno = 675 + ERROR_HANDLES_CLOSED syscall.Errno = 676 + ERROR_EXTRANEOUS_INFORMATION syscall.Errno = 677 + ERROR_RXACT_COMMIT_NECESSARY syscall.Errno = 678 + ERROR_MEDIA_CHECK syscall.Errno = 679 + ERROR_GUID_SUBSTITUTION_MADE syscall.Errno = 680 + ERROR_STOPPED_ON_SYMLINK syscall.Errno = 681 + ERROR_LONGJUMP syscall.Errno = 682 + ERROR_PLUGPLAY_QUERY_VETOED syscall.Errno = 683 + ERROR_UNWIND_CONSOLIDATE syscall.Errno = 684 + ERROR_REGISTRY_HIVE_RECOVERED syscall.Errno = 685 + ERROR_DLL_MIGHT_BE_INSECURE syscall.Errno = 686 + ERROR_DLL_MIGHT_BE_INCOMPATIBLE syscall.Errno = 687 + ERROR_DBG_EXCEPTION_NOT_HANDLED syscall.Errno = 688 + ERROR_DBG_REPLY_LATER syscall.Errno = 689 + ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE syscall.Errno = 690 + ERROR_DBG_TERMINATE_THREAD syscall.Errno = 691 + ERROR_DBG_TERMINATE_PROCESS syscall.Errno = 692 + ERROR_DBG_CONTROL_C syscall.Errno = 693 + ERROR_DBG_PRINTEXCEPTION_C syscall.Errno = 694 + ERROR_DBG_RIPEXCEPTION syscall.Errno = 695 + ERROR_DBG_CONTROL_BREAK syscall.Errno = 696 + ERROR_DBG_COMMAND_EXCEPTION syscall.Errno = 697 + ERROR_OBJECT_NAME_EXISTS syscall.Errno = 698 + ERROR_THREAD_WAS_SUSPENDED syscall.Errno = 699 + ERROR_IMAGE_NOT_AT_BASE syscall.Errno = 700 + ERROR_RXACT_STATE_CREATED syscall.Errno = 701 + ERROR_SEGMENT_NOTIFICATION syscall.Errno = 702 + ERROR_BAD_CURRENT_DIRECTORY syscall.Errno = 703 + ERROR_FT_READ_RECOVERY_FROM_BACKUP syscall.Errno = 704 + ERROR_FT_WRITE_RECOVERY syscall.Errno = 705 + ERROR_IMAGE_MACHINE_TYPE_MISMATCH syscall.Errno = 706 + ERROR_RECEIVE_PARTIAL syscall.Errno = 707 + ERROR_RECEIVE_EXPEDITED syscall.Errno = 708 + ERROR_RECEIVE_PARTIAL_EXPEDITED syscall.Errno = 709 + ERROR_EVENT_DONE syscall.Errno = 710 + ERROR_EVENT_PENDING syscall.Errno = 711 + ERROR_CHECKING_FILE_SYSTEM syscall.Errno = 712 + ERROR_FATAL_APP_EXIT syscall.Errno = 713 + ERROR_PREDEFINED_HANDLE syscall.Errno = 714 + ERROR_WAS_UNLOCKED syscall.Errno = 715 + ERROR_SERVICE_NOTIFICATION syscall.Errno = 716 + ERROR_WAS_LOCKED syscall.Errno = 717 + ERROR_LOG_HARD_ERROR syscall.Errno = 718 + ERROR_ALREADY_WIN32 syscall.Errno = 719 + ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE syscall.Errno = 720 + ERROR_NO_YIELD_PERFORMED syscall.Errno = 721 + ERROR_TIMER_RESUME_IGNORED syscall.Errno = 722 + ERROR_ARBITRATION_UNHANDLED syscall.Errno = 723 + ERROR_CARDBUS_NOT_SUPPORTED syscall.Errno = 724 + ERROR_MP_PROCESSOR_MISMATCH syscall.Errno = 725 + ERROR_HIBERNATED syscall.Errno = 726 + ERROR_RESUME_HIBERNATION syscall.Errno = 727 + ERROR_FIRMWARE_UPDATED syscall.Errno = 728 + ERROR_DRIVERS_LEAKING_LOCKED_PAGES syscall.Errno = 729 + ERROR_WAKE_SYSTEM syscall.Errno = 730 + ERROR_WAIT_1 syscall.Errno = 731 + ERROR_WAIT_2 syscall.Errno = 732 + ERROR_WAIT_3 syscall.Errno = 733 + ERROR_WAIT_63 syscall.Errno = 734 + ERROR_ABANDONED_WAIT_0 syscall.Errno = 735 + ERROR_ABANDONED_WAIT_63 syscall.Errno = 736 + ERROR_USER_APC syscall.Errno = 737 + ERROR_KERNEL_APC syscall.Errno = 738 + ERROR_ALERTED syscall.Errno = 739 + ERROR_ELEVATION_REQUIRED syscall.Errno = 740 + ERROR_REPARSE syscall.Errno = 741 + ERROR_OPLOCK_BREAK_IN_PROGRESS syscall.Errno = 742 + ERROR_VOLUME_MOUNTED syscall.Errno = 743 + ERROR_RXACT_COMMITTED syscall.Errno = 744 + ERROR_NOTIFY_CLEANUP syscall.Errno = 745 + ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED syscall.Errno = 746 + ERROR_PAGE_FAULT_TRANSITION syscall.Errno = 747 + ERROR_PAGE_FAULT_DEMAND_ZERO syscall.Errno = 748 + ERROR_PAGE_FAULT_COPY_ON_WRITE syscall.Errno = 749 + ERROR_PAGE_FAULT_GUARD_PAGE syscall.Errno = 750 + ERROR_PAGE_FAULT_PAGING_FILE syscall.Errno = 751 + ERROR_CACHE_PAGE_LOCKED syscall.Errno = 752 + ERROR_CRASH_DUMP syscall.Errno = 753 + ERROR_BUFFER_ALL_ZEROS syscall.Errno = 754 + ERROR_REPARSE_OBJECT syscall.Errno = 755 + ERROR_RESOURCE_REQUIREMENTS_CHANGED syscall.Errno = 756 + ERROR_TRANSLATION_COMPLETE syscall.Errno = 757 + ERROR_NOTHING_TO_TERMINATE syscall.Errno = 758 + ERROR_PROCESS_NOT_IN_JOB syscall.Errno = 759 + ERROR_PROCESS_IN_JOB syscall.Errno = 760 + ERROR_VOLSNAP_HIBERNATE_READY syscall.Errno = 761 + ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY syscall.Errno = 762 + ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED syscall.Errno = 763 + ERROR_INTERRUPT_STILL_CONNECTED syscall.Errno = 764 + ERROR_WAIT_FOR_OPLOCK syscall.Errno = 765 + ERROR_DBG_EXCEPTION_HANDLED syscall.Errno = 766 + ERROR_DBG_CONTINUE syscall.Errno = 767 + ERROR_CALLBACK_POP_STACK syscall.Errno = 768 + ERROR_COMPRESSION_DISABLED syscall.Errno = 769 + ERROR_CANTFETCHBACKWARDS syscall.Errno = 770 + ERROR_CANTSCROLLBACKWARDS syscall.Errno = 771 + ERROR_ROWSNOTRELEASED syscall.Errno = 772 + ERROR_BAD_ACCESSOR_FLAGS syscall.Errno = 773 + ERROR_ERRORS_ENCOUNTERED syscall.Errno = 774 + ERROR_NOT_CAPABLE syscall.Errno = 775 + ERROR_REQUEST_OUT_OF_SEQUENCE syscall.Errno = 776 + ERROR_VERSION_PARSE_ERROR syscall.Errno = 777 + ERROR_BADSTARTPOSITION syscall.Errno = 778 + ERROR_MEMORY_HARDWARE syscall.Errno = 779 + ERROR_DISK_REPAIR_DISABLED syscall.Errno = 780 + ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE syscall.Errno = 781 + ERROR_SYSTEM_POWERSTATE_TRANSITION syscall.Errno = 782 + ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION syscall.Errno = 783 + ERROR_MCA_EXCEPTION syscall.Errno = 784 + ERROR_ACCESS_AUDIT_BY_POLICY syscall.Errno = 785 + ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY syscall.Errno = 786 + ERROR_ABANDON_HIBERFILE syscall.Errno = 787 + ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED syscall.Errno = 788 + ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR syscall.Errno = 789 + ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR syscall.Errno = 790 + ERROR_BAD_MCFG_TABLE syscall.Errno = 791 + ERROR_DISK_REPAIR_REDIRECTED syscall.Errno = 792 + ERROR_DISK_REPAIR_UNSUCCESSFUL syscall.Errno = 793 + ERROR_CORRUPT_LOG_OVERFULL syscall.Errno = 794 + ERROR_CORRUPT_LOG_CORRUPTED syscall.Errno = 795 + ERROR_CORRUPT_LOG_UNAVAILABLE syscall.Errno = 796 + ERROR_CORRUPT_LOG_DELETED_FULL syscall.Errno = 797 + ERROR_CORRUPT_LOG_CLEARED syscall.Errno = 798 + ERROR_ORPHAN_NAME_EXHAUSTED syscall.Errno = 799 + ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE syscall.Errno = 800 + ERROR_CANNOT_GRANT_REQUESTED_OPLOCK syscall.Errno = 801 + ERROR_CANNOT_BREAK_OPLOCK syscall.Errno = 802 + ERROR_OPLOCK_HANDLE_CLOSED syscall.Errno = 803 + ERROR_NO_ACE_CONDITION syscall.Errno = 804 + ERROR_INVALID_ACE_CONDITION syscall.Errno = 805 + ERROR_FILE_HANDLE_REVOKED syscall.Errno = 806 + ERROR_IMAGE_AT_DIFFERENT_BASE syscall.Errno = 807 + ERROR_ENCRYPTED_IO_NOT_POSSIBLE syscall.Errno = 808 + ERROR_FILE_METADATA_OPTIMIZATION_IN_PROGRESS syscall.Errno = 809 + ERROR_QUOTA_ACTIVITY syscall.Errno = 810 + ERROR_HANDLE_REVOKED syscall.Errno = 811 + ERROR_CALLBACK_INVOKE_INLINE syscall.Errno = 812 + ERROR_CPU_SET_INVALID syscall.Errno = 813 + ERROR_ENCLAVE_NOT_TERMINATED syscall.Errno = 814 + ERROR_ENCLAVE_VIOLATION syscall.Errno = 815 + ERROR_EA_ACCESS_DENIED syscall.Errno = 994 + ERROR_OPERATION_ABORTED syscall.Errno = 995 + ERROR_IO_INCOMPLETE syscall.Errno = 996 + ERROR_IO_PENDING syscall.Errno = 997 + ERROR_NOACCESS syscall.Errno = 998 + ERROR_SWAPERROR syscall.Errno = 999 + ERROR_STACK_OVERFLOW syscall.Errno = 1001 + ERROR_INVALID_MESSAGE syscall.Errno = 1002 + ERROR_CAN_NOT_COMPLETE syscall.Errno = 1003 + ERROR_INVALID_FLAGS syscall.Errno = 1004 + ERROR_UNRECOGNIZED_VOLUME syscall.Errno = 1005 + ERROR_FILE_INVALID syscall.Errno = 1006 + ERROR_FULLSCREEN_MODE syscall.Errno = 1007 + ERROR_NO_TOKEN syscall.Errno = 1008 + ERROR_BADDB syscall.Errno = 1009 + ERROR_BADKEY syscall.Errno = 1010 + ERROR_CANTOPEN syscall.Errno = 1011 + ERROR_CANTREAD syscall.Errno = 1012 + ERROR_CANTWRITE syscall.Errno = 1013 + ERROR_REGISTRY_RECOVERED syscall.Errno = 1014 + ERROR_REGISTRY_CORRUPT syscall.Errno = 1015 + ERROR_REGISTRY_IO_FAILED syscall.Errno = 1016 + ERROR_NOT_REGISTRY_FILE syscall.Errno = 1017 + ERROR_KEY_DELETED syscall.Errno = 1018 + ERROR_NO_LOG_SPACE syscall.Errno = 1019 + ERROR_KEY_HAS_CHILDREN syscall.Errno = 1020 + ERROR_CHILD_MUST_BE_VOLATILE syscall.Errno = 1021 + ERROR_NOTIFY_ENUM_DIR syscall.Errno = 1022 + ERROR_DEPENDENT_SERVICES_RUNNING syscall.Errno = 1051 + ERROR_INVALID_SERVICE_CONTROL syscall.Errno = 1052 + ERROR_SERVICE_REQUEST_TIMEOUT syscall.Errno = 1053 + ERROR_SERVICE_NO_THREAD syscall.Errno = 1054 + ERROR_SERVICE_DATABASE_LOCKED syscall.Errno = 1055 + ERROR_SERVICE_ALREADY_RUNNING syscall.Errno = 1056 + ERROR_INVALID_SERVICE_ACCOUNT syscall.Errno = 1057 + ERROR_SERVICE_DISABLED syscall.Errno = 1058 + ERROR_CIRCULAR_DEPENDENCY syscall.Errno = 1059 + ERROR_SERVICE_DOES_NOT_EXIST syscall.Errno = 1060 + ERROR_SERVICE_CANNOT_ACCEPT_CTRL syscall.Errno = 1061 + ERROR_SERVICE_NOT_ACTIVE syscall.Errno = 1062 + ERROR_FAILED_SERVICE_CONTROLLER_CONNECT syscall.Errno = 1063 + ERROR_EXCEPTION_IN_SERVICE syscall.Errno = 1064 + ERROR_DATABASE_DOES_NOT_EXIST syscall.Errno = 1065 + ERROR_SERVICE_SPECIFIC_ERROR syscall.Errno = 1066 + ERROR_PROCESS_ABORTED syscall.Errno = 1067 + ERROR_SERVICE_DEPENDENCY_FAIL syscall.Errno = 1068 + ERROR_SERVICE_LOGON_FAILED syscall.Errno = 1069 + ERROR_SERVICE_START_HANG syscall.Errno = 1070 + ERROR_INVALID_SERVICE_LOCK syscall.Errno = 1071 + ERROR_SERVICE_MARKED_FOR_DELETE syscall.Errno = 1072 + ERROR_SERVICE_EXISTS syscall.Errno = 1073 + ERROR_ALREADY_RUNNING_LKG syscall.Errno = 1074 + ERROR_SERVICE_DEPENDENCY_DELETED syscall.Errno = 1075 + ERROR_BOOT_ALREADY_ACCEPTED syscall.Errno = 1076 + ERROR_SERVICE_NEVER_STARTED syscall.Errno = 1077 + ERROR_DUPLICATE_SERVICE_NAME syscall.Errno = 1078 + ERROR_DIFFERENT_SERVICE_ACCOUNT syscall.Errno = 1079 + ERROR_CANNOT_DETECT_DRIVER_FAILURE syscall.Errno = 1080 + ERROR_CANNOT_DETECT_PROCESS_ABORT syscall.Errno = 1081 + ERROR_NO_RECOVERY_PROGRAM syscall.Errno = 1082 + ERROR_SERVICE_NOT_IN_EXE syscall.Errno = 1083 + ERROR_NOT_SAFEBOOT_SERVICE syscall.Errno = 1084 + ERROR_END_OF_MEDIA syscall.Errno = 1100 + ERROR_FILEMARK_DETECTED syscall.Errno = 1101 + ERROR_BEGINNING_OF_MEDIA syscall.Errno = 1102 + ERROR_SETMARK_DETECTED syscall.Errno = 1103 + ERROR_NO_DATA_DETECTED syscall.Errno = 1104 + ERROR_PARTITION_FAILURE syscall.Errno = 1105 + ERROR_INVALID_BLOCK_LENGTH syscall.Errno = 1106 + ERROR_DEVICE_NOT_PARTITIONED syscall.Errno = 1107 + ERROR_UNABLE_TO_LOCK_MEDIA syscall.Errno = 1108 + ERROR_UNABLE_TO_UNLOAD_MEDIA syscall.Errno = 1109 + ERROR_MEDIA_CHANGED syscall.Errno = 1110 + ERROR_BUS_RESET syscall.Errno = 1111 + ERROR_NO_MEDIA_IN_DRIVE syscall.Errno = 1112 + ERROR_NO_UNICODE_TRANSLATION syscall.Errno = 1113 + ERROR_DLL_INIT_FAILED syscall.Errno = 1114 + ERROR_SHUTDOWN_IN_PROGRESS syscall.Errno = 1115 + ERROR_NO_SHUTDOWN_IN_PROGRESS syscall.Errno = 1116 + ERROR_IO_DEVICE syscall.Errno = 1117 + ERROR_SERIAL_NO_DEVICE syscall.Errno = 1118 + ERROR_IRQ_BUSY syscall.Errno = 1119 + ERROR_MORE_WRITES syscall.Errno = 1120 + ERROR_COUNTER_TIMEOUT syscall.Errno = 1121 + ERROR_FLOPPY_ID_MARK_NOT_FOUND syscall.Errno = 1122 + ERROR_FLOPPY_WRONG_CYLINDER syscall.Errno = 1123 + ERROR_FLOPPY_UNKNOWN_ERROR syscall.Errno = 1124 + ERROR_FLOPPY_BAD_REGISTERS syscall.Errno = 1125 + ERROR_DISK_RECALIBRATE_FAILED syscall.Errno = 1126 + ERROR_DISK_OPERATION_FAILED syscall.Errno = 1127 + ERROR_DISK_RESET_FAILED syscall.Errno = 1128 + ERROR_EOM_OVERFLOW syscall.Errno = 1129 + ERROR_NOT_ENOUGH_SERVER_MEMORY syscall.Errno = 1130 + ERROR_POSSIBLE_DEADLOCK syscall.Errno = 1131 + ERROR_MAPPED_ALIGNMENT syscall.Errno = 1132 + ERROR_SET_POWER_STATE_VETOED syscall.Errno = 1140 + ERROR_SET_POWER_STATE_FAILED syscall.Errno = 1141 + ERROR_TOO_MANY_LINKS syscall.Errno = 1142 + ERROR_OLD_WIN_VERSION syscall.Errno = 1150 + ERROR_APP_WRONG_OS syscall.Errno = 1151 + ERROR_SINGLE_INSTANCE_APP syscall.Errno = 1152 + ERROR_RMODE_APP syscall.Errno = 1153 + ERROR_INVALID_DLL syscall.Errno = 1154 + ERROR_NO_ASSOCIATION syscall.Errno = 1155 + ERROR_DDE_FAIL syscall.Errno = 1156 + ERROR_DLL_NOT_FOUND syscall.Errno = 1157 + ERROR_NO_MORE_USER_HANDLES syscall.Errno = 1158 + ERROR_MESSAGE_SYNC_ONLY syscall.Errno = 1159 + ERROR_SOURCE_ELEMENT_EMPTY syscall.Errno = 1160 + ERROR_DESTINATION_ELEMENT_FULL syscall.Errno = 1161 + ERROR_ILLEGAL_ELEMENT_ADDRESS syscall.Errno = 1162 + ERROR_MAGAZINE_NOT_PRESENT syscall.Errno = 1163 + ERROR_DEVICE_REINITIALIZATION_NEEDED syscall.Errno = 1164 + ERROR_DEVICE_REQUIRES_CLEANING syscall.Errno = 1165 + ERROR_DEVICE_DOOR_OPEN syscall.Errno = 1166 + ERROR_DEVICE_NOT_CONNECTED syscall.Errno = 1167 + ERROR_NOT_FOUND syscall.Errno = 1168 + ERROR_NO_MATCH syscall.Errno = 1169 + ERROR_SET_NOT_FOUND syscall.Errno = 1170 + ERROR_POINT_NOT_FOUND syscall.Errno = 1171 + ERROR_NO_TRACKING_SERVICE syscall.Errno = 1172 + ERROR_NO_VOLUME_ID syscall.Errno = 1173 + ERROR_UNABLE_TO_REMOVE_REPLACED syscall.Errno = 1175 + ERROR_UNABLE_TO_MOVE_REPLACEMENT syscall.Errno = 1176 + ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 syscall.Errno = 1177 + ERROR_JOURNAL_DELETE_IN_PROGRESS syscall.Errno = 1178 + ERROR_JOURNAL_NOT_ACTIVE syscall.Errno = 1179 + ERROR_POTENTIAL_FILE_FOUND syscall.Errno = 1180 + ERROR_JOURNAL_ENTRY_DELETED syscall.Errno = 1181 + ERROR_SHUTDOWN_IS_SCHEDULED syscall.Errno = 1190 + ERROR_SHUTDOWN_USERS_LOGGED_ON syscall.Errno = 1191 + ERROR_BAD_DEVICE syscall.Errno = 1200 + ERROR_CONNECTION_UNAVAIL syscall.Errno = 1201 + ERROR_DEVICE_ALREADY_REMEMBERED syscall.Errno = 1202 + ERROR_NO_NET_OR_BAD_PATH syscall.Errno = 1203 + ERROR_BAD_PROVIDER syscall.Errno = 1204 + ERROR_CANNOT_OPEN_PROFILE syscall.Errno = 1205 + ERROR_BAD_PROFILE syscall.Errno = 1206 + ERROR_NOT_CONTAINER syscall.Errno = 1207 + ERROR_EXTENDED_ERROR syscall.Errno = 1208 + ERROR_INVALID_GROUPNAME syscall.Errno = 1209 + ERROR_INVALID_COMPUTERNAME syscall.Errno = 1210 + ERROR_INVALID_EVENTNAME syscall.Errno = 1211 + ERROR_INVALID_DOMAINNAME syscall.Errno = 1212 + ERROR_INVALID_SERVICENAME syscall.Errno = 1213 + ERROR_INVALID_NETNAME syscall.Errno = 1214 + ERROR_INVALID_SHARENAME syscall.Errno = 1215 + ERROR_INVALID_PASSWORDNAME syscall.Errno = 1216 + ERROR_INVALID_MESSAGENAME syscall.Errno = 1217 + ERROR_INVALID_MESSAGEDEST syscall.Errno = 1218 + ERROR_SESSION_CREDENTIAL_CONFLICT syscall.Errno = 1219 + ERROR_REMOTE_SESSION_LIMIT_EXCEEDED syscall.Errno = 1220 + ERROR_DUP_DOMAINNAME syscall.Errno = 1221 + ERROR_NO_NETWORK syscall.Errno = 1222 + ERROR_CANCELLED syscall.Errno = 1223 + ERROR_USER_MAPPED_FILE syscall.Errno = 1224 + ERROR_CONNECTION_REFUSED syscall.Errno = 1225 + ERROR_GRACEFUL_DISCONNECT syscall.Errno = 1226 + ERROR_ADDRESS_ALREADY_ASSOCIATED syscall.Errno = 1227 + ERROR_ADDRESS_NOT_ASSOCIATED syscall.Errno = 1228 + ERROR_CONNECTION_INVALID syscall.Errno = 1229 + ERROR_CONNECTION_ACTIVE syscall.Errno = 1230 + ERROR_NETWORK_UNREACHABLE syscall.Errno = 1231 + ERROR_HOST_UNREACHABLE syscall.Errno = 1232 + ERROR_PROTOCOL_UNREACHABLE syscall.Errno = 1233 + ERROR_PORT_UNREACHABLE syscall.Errno = 1234 + ERROR_REQUEST_ABORTED syscall.Errno = 1235 + ERROR_CONNECTION_ABORTED syscall.Errno = 1236 + ERROR_RETRY syscall.Errno = 1237 + ERROR_CONNECTION_COUNT_LIMIT syscall.Errno = 1238 + ERROR_LOGIN_TIME_RESTRICTION syscall.Errno = 1239 + ERROR_LOGIN_WKSTA_RESTRICTION syscall.Errno = 1240 + ERROR_INCORRECT_ADDRESS syscall.Errno = 1241 + ERROR_ALREADY_REGISTERED syscall.Errno = 1242 + ERROR_SERVICE_NOT_FOUND syscall.Errno = 1243 + ERROR_NOT_AUTHENTICATED syscall.Errno = 1244 + ERROR_NOT_LOGGED_ON syscall.Errno = 1245 + ERROR_CONTINUE syscall.Errno = 1246 + ERROR_ALREADY_INITIALIZED syscall.Errno = 1247 + ERROR_NO_MORE_DEVICES syscall.Errno = 1248 + ERROR_NO_SUCH_SITE syscall.Errno = 1249 + ERROR_DOMAIN_CONTROLLER_EXISTS syscall.Errno = 1250 + ERROR_ONLY_IF_CONNECTED syscall.Errno = 1251 + ERROR_OVERRIDE_NOCHANGES syscall.Errno = 1252 + ERROR_BAD_USER_PROFILE syscall.Errno = 1253 + ERROR_NOT_SUPPORTED_ON_SBS syscall.Errno = 1254 + ERROR_SERVER_SHUTDOWN_IN_PROGRESS syscall.Errno = 1255 + ERROR_HOST_DOWN syscall.Errno = 1256 + ERROR_NON_ACCOUNT_SID syscall.Errno = 1257 + ERROR_NON_DOMAIN_SID syscall.Errno = 1258 + ERROR_APPHELP_BLOCK syscall.Errno = 1259 + ERROR_ACCESS_DISABLED_BY_POLICY syscall.Errno = 1260 + ERROR_REG_NAT_CONSUMPTION syscall.Errno = 1261 + ERROR_CSCSHARE_OFFLINE syscall.Errno = 1262 + ERROR_PKINIT_FAILURE syscall.Errno = 1263 + ERROR_SMARTCARD_SUBSYSTEM_FAILURE syscall.Errno = 1264 + ERROR_DOWNGRADE_DETECTED syscall.Errno = 1265 + ERROR_MACHINE_LOCKED syscall.Errno = 1271 + ERROR_SMB_GUEST_LOGON_BLOCKED syscall.Errno = 1272 + ERROR_CALLBACK_SUPPLIED_INVALID_DATA syscall.Errno = 1273 + ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED syscall.Errno = 1274 + ERROR_DRIVER_BLOCKED syscall.Errno = 1275 + ERROR_INVALID_IMPORT_OF_NON_DLL syscall.Errno = 1276 + ERROR_ACCESS_DISABLED_WEBBLADE syscall.Errno = 1277 + ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER syscall.Errno = 1278 + ERROR_RECOVERY_FAILURE syscall.Errno = 1279 + ERROR_ALREADY_FIBER syscall.Errno = 1280 + ERROR_ALREADY_THREAD syscall.Errno = 1281 + ERROR_STACK_BUFFER_OVERRUN syscall.Errno = 1282 + ERROR_PARAMETER_QUOTA_EXCEEDED syscall.Errno = 1283 + ERROR_DEBUGGER_INACTIVE syscall.Errno = 1284 + ERROR_DELAY_LOAD_FAILED syscall.Errno = 1285 + ERROR_VDM_DISALLOWED syscall.Errno = 1286 + ERROR_UNIDENTIFIED_ERROR syscall.Errno = 1287 + ERROR_INVALID_CRUNTIME_PARAMETER syscall.Errno = 1288 + ERROR_BEYOND_VDL syscall.Errno = 1289 + ERROR_INCOMPATIBLE_SERVICE_SID_TYPE syscall.Errno = 1290 + ERROR_DRIVER_PROCESS_TERMINATED syscall.Errno = 1291 + ERROR_IMPLEMENTATION_LIMIT syscall.Errno = 1292 + ERROR_PROCESS_IS_PROTECTED syscall.Errno = 1293 + ERROR_SERVICE_NOTIFY_CLIENT_LAGGING syscall.Errno = 1294 + ERROR_DISK_QUOTA_EXCEEDED syscall.Errno = 1295 + ERROR_CONTENT_BLOCKED syscall.Errno = 1296 + ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE syscall.Errno = 1297 + ERROR_APP_HANG syscall.Errno = 1298 + ERROR_INVALID_LABEL syscall.Errno = 1299 + ERROR_NOT_ALL_ASSIGNED syscall.Errno = 1300 + ERROR_SOME_NOT_MAPPED syscall.Errno = 1301 + ERROR_NO_QUOTAS_FOR_ACCOUNT syscall.Errno = 1302 + ERROR_LOCAL_USER_SESSION_KEY syscall.Errno = 1303 + ERROR_NULL_LM_PASSWORD syscall.Errno = 1304 + ERROR_UNKNOWN_REVISION syscall.Errno = 1305 + ERROR_REVISION_MISMATCH syscall.Errno = 1306 + ERROR_INVALID_OWNER syscall.Errno = 1307 + ERROR_INVALID_PRIMARY_GROUP syscall.Errno = 1308 + ERROR_NO_IMPERSONATION_TOKEN syscall.Errno = 1309 + ERROR_CANT_DISABLE_MANDATORY syscall.Errno = 1310 + ERROR_NO_LOGON_SERVERS syscall.Errno = 1311 + ERROR_NO_SUCH_LOGON_SESSION syscall.Errno = 1312 + ERROR_NO_SUCH_PRIVILEGE syscall.Errno = 1313 + ERROR_PRIVILEGE_NOT_HELD syscall.Errno = 1314 + ERROR_INVALID_ACCOUNT_NAME syscall.Errno = 1315 + ERROR_USER_EXISTS syscall.Errno = 1316 + ERROR_NO_SUCH_USER syscall.Errno = 1317 + ERROR_GROUP_EXISTS syscall.Errno = 1318 + ERROR_NO_SUCH_GROUP syscall.Errno = 1319 + ERROR_MEMBER_IN_GROUP syscall.Errno = 1320 + ERROR_MEMBER_NOT_IN_GROUP syscall.Errno = 1321 + ERROR_LAST_ADMIN syscall.Errno = 1322 + ERROR_WRONG_PASSWORD syscall.Errno = 1323 + ERROR_ILL_FORMED_PASSWORD syscall.Errno = 1324 + ERROR_PASSWORD_RESTRICTION syscall.Errno = 1325 + ERROR_LOGON_FAILURE syscall.Errno = 1326 + ERROR_ACCOUNT_RESTRICTION syscall.Errno = 1327 + ERROR_INVALID_LOGON_HOURS syscall.Errno = 1328 + ERROR_INVALID_WORKSTATION syscall.Errno = 1329 + ERROR_PASSWORD_EXPIRED syscall.Errno = 1330 + ERROR_ACCOUNT_DISABLED syscall.Errno = 1331 + ERROR_NONE_MAPPED syscall.Errno = 1332 + ERROR_TOO_MANY_LUIDS_REQUESTED syscall.Errno = 1333 + ERROR_LUIDS_EXHAUSTED syscall.Errno = 1334 + ERROR_INVALID_SUB_AUTHORITY syscall.Errno = 1335 + ERROR_INVALID_ACL syscall.Errno = 1336 + ERROR_INVALID_SID syscall.Errno = 1337 + ERROR_INVALID_SECURITY_DESCR syscall.Errno = 1338 + ERROR_BAD_INHERITANCE_ACL syscall.Errno = 1340 + ERROR_SERVER_DISABLED syscall.Errno = 1341 + ERROR_SERVER_NOT_DISABLED syscall.Errno = 1342 + ERROR_INVALID_ID_AUTHORITY syscall.Errno = 1343 + ERROR_ALLOTTED_SPACE_EXCEEDED syscall.Errno = 1344 + ERROR_INVALID_GROUP_ATTRIBUTES syscall.Errno = 1345 + ERROR_BAD_IMPERSONATION_LEVEL syscall.Errno = 1346 + ERROR_CANT_OPEN_ANONYMOUS syscall.Errno = 1347 + ERROR_BAD_VALIDATION_CLASS syscall.Errno = 1348 + ERROR_BAD_TOKEN_TYPE syscall.Errno = 1349 + ERROR_NO_SECURITY_ON_OBJECT syscall.Errno = 1350 + ERROR_CANT_ACCESS_DOMAIN_INFO syscall.Errno = 1351 + ERROR_INVALID_SERVER_STATE syscall.Errno = 1352 + ERROR_INVALID_DOMAIN_STATE syscall.Errno = 1353 + ERROR_INVALID_DOMAIN_ROLE syscall.Errno = 1354 + ERROR_NO_SUCH_DOMAIN syscall.Errno = 1355 + ERROR_DOMAIN_EXISTS syscall.Errno = 1356 + ERROR_DOMAIN_LIMIT_EXCEEDED syscall.Errno = 1357 + ERROR_INTERNAL_DB_CORRUPTION syscall.Errno = 1358 + ERROR_INTERNAL_ERROR syscall.Errno = 1359 + ERROR_GENERIC_NOT_MAPPED syscall.Errno = 1360 + ERROR_BAD_DESCRIPTOR_FORMAT syscall.Errno = 1361 + ERROR_NOT_LOGON_PROCESS syscall.Errno = 1362 + ERROR_LOGON_SESSION_EXISTS syscall.Errno = 1363 + ERROR_NO_SUCH_PACKAGE syscall.Errno = 1364 + ERROR_BAD_LOGON_SESSION_STATE syscall.Errno = 1365 + ERROR_LOGON_SESSION_COLLISION syscall.Errno = 1366 + ERROR_INVALID_LOGON_TYPE syscall.Errno = 1367 + ERROR_CANNOT_IMPERSONATE syscall.Errno = 1368 + ERROR_RXACT_INVALID_STATE syscall.Errno = 1369 + ERROR_RXACT_COMMIT_FAILURE syscall.Errno = 1370 + ERROR_SPECIAL_ACCOUNT syscall.Errno = 1371 + ERROR_SPECIAL_GROUP syscall.Errno = 1372 + ERROR_SPECIAL_USER syscall.Errno = 1373 + ERROR_MEMBERS_PRIMARY_GROUP syscall.Errno = 1374 + ERROR_TOKEN_ALREADY_IN_USE syscall.Errno = 1375 + ERROR_NO_SUCH_ALIAS syscall.Errno = 1376 + ERROR_MEMBER_NOT_IN_ALIAS syscall.Errno = 1377 + ERROR_MEMBER_IN_ALIAS syscall.Errno = 1378 + ERROR_ALIAS_EXISTS syscall.Errno = 1379 + ERROR_LOGON_NOT_GRANTED syscall.Errno = 1380 + ERROR_TOO_MANY_SECRETS syscall.Errno = 1381 + ERROR_SECRET_TOO_LONG syscall.Errno = 1382 + ERROR_INTERNAL_DB_ERROR syscall.Errno = 1383 + ERROR_TOO_MANY_CONTEXT_IDS syscall.Errno = 1384 + ERROR_LOGON_TYPE_NOT_GRANTED syscall.Errno = 1385 + ERROR_NT_CROSS_ENCRYPTION_REQUIRED syscall.Errno = 1386 + ERROR_NO_SUCH_MEMBER syscall.Errno = 1387 + ERROR_INVALID_MEMBER syscall.Errno = 1388 + ERROR_TOO_MANY_SIDS syscall.Errno = 1389 + ERROR_LM_CROSS_ENCRYPTION_REQUIRED syscall.Errno = 1390 + ERROR_NO_INHERITANCE syscall.Errno = 1391 + ERROR_FILE_CORRUPT syscall.Errno = 1392 + ERROR_DISK_CORRUPT syscall.Errno = 1393 + ERROR_NO_USER_SESSION_KEY syscall.Errno = 1394 + ERROR_LICENSE_QUOTA_EXCEEDED syscall.Errno = 1395 + ERROR_WRONG_TARGET_NAME syscall.Errno = 1396 + ERROR_MUTUAL_AUTH_FAILED syscall.Errno = 1397 + ERROR_TIME_SKEW syscall.Errno = 1398 + ERROR_CURRENT_DOMAIN_NOT_ALLOWED syscall.Errno = 1399 + ERROR_INVALID_WINDOW_HANDLE syscall.Errno = 1400 + ERROR_INVALID_MENU_HANDLE syscall.Errno = 1401 + ERROR_INVALID_CURSOR_HANDLE syscall.Errno = 1402 + ERROR_INVALID_ACCEL_HANDLE syscall.Errno = 1403 + ERROR_INVALID_HOOK_HANDLE syscall.Errno = 1404 + ERROR_INVALID_DWP_HANDLE syscall.Errno = 1405 + ERROR_TLW_WITH_WSCHILD syscall.Errno = 1406 + ERROR_CANNOT_FIND_WND_CLASS syscall.Errno = 1407 + ERROR_WINDOW_OF_OTHER_THREAD syscall.Errno = 1408 + ERROR_HOTKEY_ALREADY_REGISTERED syscall.Errno = 1409 + ERROR_CLASS_ALREADY_EXISTS syscall.Errno = 1410 + ERROR_CLASS_DOES_NOT_EXIST syscall.Errno = 1411 + ERROR_CLASS_HAS_WINDOWS syscall.Errno = 1412 + ERROR_INVALID_INDEX syscall.Errno = 1413 + ERROR_INVALID_ICON_HANDLE syscall.Errno = 1414 + ERROR_PRIVATE_DIALOG_INDEX syscall.Errno = 1415 + ERROR_LISTBOX_ID_NOT_FOUND syscall.Errno = 1416 + ERROR_NO_WILDCARD_CHARACTERS syscall.Errno = 1417 + ERROR_CLIPBOARD_NOT_OPEN syscall.Errno = 1418 + ERROR_HOTKEY_NOT_REGISTERED syscall.Errno = 1419 + ERROR_WINDOW_NOT_DIALOG syscall.Errno = 1420 + ERROR_CONTROL_ID_NOT_FOUND syscall.Errno = 1421 + ERROR_INVALID_COMBOBOX_MESSAGE syscall.Errno = 1422 + ERROR_WINDOW_NOT_COMBOBOX syscall.Errno = 1423 + ERROR_INVALID_EDIT_HEIGHT syscall.Errno = 1424 + ERROR_DC_NOT_FOUND syscall.Errno = 1425 + ERROR_INVALID_HOOK_FILTER syscall.Errno = 1426 + ERROR_INVALID_FILTER_PROC syscall.Errno = 1427 + ERROR_HOOK_NEEDS_HMOD syscall.Errno = 1428 + ERROR_GLOBAL_ONLY_HOOK syscall.Errno = 1429 + ERROR_JOURNAL_HOOK_SET syscall.Errno = 1430 + ERROR_HOOK_NOT_INSTALLED syscall.Errno = 1431 + ERROR_INVALID_LB_MESSAGE syscall.Errno = 1432 + ERROR_SETCOUNT_ON_BAD_LB syscall.Errno = 1433 + ERROR_LB_WITHOUT_TABSTOPS syscall.Errno = 1434 + ERROR_DESTROY_OBJECT_OF_OTHER_THREAD syscall.Errno = 1435 + ERROR_CHILD_WINDOW_MENU syscall.Errno = 1436 + ERROR_NO_SYSTEM_MENU syscall.Errno = 1437 + ERROR_INVALID_MSGBOX_STYLE syscall.Errno = 1438 + ERROR_INVALID_SPI_VALUE syscall.Errno = 1439 + ERROR_SCREEN_ALREADY_LOCKED syscall.Errno = 1440 + ERROR_HWNDS_HAVE_DIFF_PARENT syscall.Errno = 1441 + ERROR_NOT_CHILD_WINDOW syscall.Errno = 1442 + ERROR_INVALID_GW_COMMAND syscall.Errno = 1443 + ERROR_INVALID_THREAD_ID syscall.Errno = 1444 + ERROR_NON_MDICHILD_WINDOW syscall.Errno = 1445 + ERROR_POPUP_ALREADY_ACTIVE syscall.Errno = 1446 + ERROR_NO_SCROLLBARS syscall.Errno = 1447 + ERROR_INVALID_SCROLLBAR_RANGE syscall.Errno = 1448 + ERROR_INVALID_SHOWWIN_COMMAND syscall.Errno = 1449 + ERROR_NO_SYSTEM_RESOURCES syscall.Errno = 1450 + ERROR_NONPAGED_SYSTEM_RESOURCES syscall.Errno = 1451 + ERROR_PAGED_SYSTEM_RESOURCES syscall.Errno = 1452 + ERROR_WORKING_SET_QUOTA syscall.Errno = 1453 + ERROR_PAGEFILE_QUOTA syscall.Errno = 1454 + ERROR_COMMITMENT_LIMIT syscall.Errno = 1455 + ERROR_MENU_ITEM_NOT_FOUND syscall.Errno = 1456 + ERROR_INVALID_KEYBOARD_HANDLE syscall.Errno = 1457 + ERROR_HOOK_TYPE_NOT_ALLOWED syscall.Errno = 1458 + ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION syscall.Errno = 1459 + ERROR_TIMEOUT syscall.Errno = 1460 + ERROR_INVALID_MONITOR_HANDLE syscall.Errno = 1461 + ERROR_INCORRECT_SIZE syscall.Errno = 1462 + ERROR_SYMLINK_CLASS_DISABLED syscall.Errno = 1463 + ERROR_SYMLINK_NOT_SUPPORTED syscall.Errno = 1464 + ERROR_XML_PARSE_ERROR syscall.Errno = 1465 + ERROR_XMLDSIG_ERROR syscall.Errno = 1466 + ERROR_RESTART_APPLICATION syscall.Errno = 1467 + ERROR_WRONG_COMPARTMENT syscall.Errno = 1468 + ERROR_AUTHIP_FAILURE syscall.Errno = 1469 + ERROR_NO_NVRAM_RESOURCES syscall.Errno = 1470 + ERROR_NOT_GUI_PROCESS syscall.Errno = 1471 + ERROR_EVENTLOG_FILE_CORRUPT syscall.Errno = 1500 + ERROR_EVENTLOG_CANT_START syscall.Errno = 1501 + ERROR_LOG_FILE_FULL syscall.Errno = 1502 + ERROR_EVENTLOG_FILE_CHANGED syscall.Errno = 1503 + ERROR_CONTAINER_ASSIGNED syscall.Errno = 1504 + ERROR_JOB_NO_CONTAINER syscall.Errno = 1505 + ERROR_INVALID_TASK_NAME syscall.Errno = 1550 + ERROR_INVALID_TASK_INDEX syscall.Errno = 1551 + ERROR_THREAD_ALREADY_IN_TASK syscall.Errno = 1552 + ERROR_INSTALL_SERVICE_FAILURE syscall.Errno = 1601 + ERROR_INSTALL_USEREXIT syscall.Errno = 1602 + ERROR_INSTALL_FAILURE syscall.Errno = 1603 + ERROR_INSTALL_SUSPEND syscall.Errno = 1604 + ERROR_UNKNOWN_PRODUCT syscall.Errno = 1605 + ERROR_UNKNOWN_FEATURE syscall.Errno = 1606 + ERROR_UNKNOWN_COMPONENT syscall.Errno = 1607 + ERROR_UNKNOWN_PROPERTY syscall.Errno = 1608 + ERROR_INVALID_HANDLE_STATE syscall.Errno = 1609 + ERROR_BAD_CONFIGURATION syscall.Errno = 1610 + ERROR_INDEX_ABSENT syscall.Errno = 1611 + ERROR_INSTALL_SOURCE_ABSENT syscall.Errno = 1612 + ERROR_INSTALL_PACKAGE_VERSION syscall.Errno = 1613 + ERROR_PRODUCT_UNINSTALLED syscall.Errno = 1614 + ERROR_BAD_QUERY_SYNTAX syscall.Errno = 1615 + ERROR_INVALID_FIELD syscall.Errno = 1616 + ERROR_DEVICE_REMOVED syscall.Errno = 1617 + ERROR_INSTALL_ALREADY_RUNNING syscall.Errno = 1618 + ERROR_INSTALL_PACKAGE_OPEN_FAILED syscall.Errno = 1619 + ERROR_INSTALL_PACKAGE_INVALID syscall.Errno = 1620 + ERROR_INSTALL_UI_FAILURE syscall.Errno = 1621 + ERROR_INSTALL_LOG_FAILURE syscall.Errno = 1622 + ERROR_INSTALL_LANGUAGE_UNSUPPORTED syscall.Errno = 1623 + ERROR_INSTALL_TRANSFORM_FAILURE syscall.Errno = 1624 + ERROR_INSTALL_PACKAGE_REJECTED syscall.Errno = 1625 + ERROR_FUNCTION_NOT_CALLED syscall.Errno = 1626 + ERROR_FUNCTION_FAILED syscall.Errno = 1627 + ERROR_INVALID_TABLE syscall.Errno = 1628 + ERROR_DATATYPE_MISMATCH syscall.Errno = 1629 + ERROR_UNSUPPORTED_TYPE syscall.Errno = 1630 + ERROR_CREATE_FAILED syscall.Errno = 1631 + ERROR_INSTALL_TEMP_UNWRITABLE syscall.Errno = 1632 + ERROR_INSTALL_PLATFORM_UNSUPPORTED syscall.Errno = 1633 + ERROR_INSTALL_NOTUSED syscall.Errno = 1634 + ERROR_PATCH_PACKAGE_OPEN_FAILED syscall.Errno = 1635 + ERROR_PATCH_PACKAGE_INVALID syscall.Errno = 1636 + ERROR_PATCH_PACKAGE_UNSUPPORTED syscall.Errno = 1637 + ERROR_PRODUCT_VERSION syscall.Errno = 1638 + ERROR_INVALID_COMMAND_LINE syscall.Errno = 1639 + ERROR_INSTALL_REMOTE_DISALLOWED syscall.Errno = 1640 + ERROR_SUCCESS_REBOOT_INITIATED syscall.Errno = 1641 + ERROR_PATCH_TARGET_NOT_FOUND syscall.Errno = 1642 + ERROR_PATCH_PACKAGE_REJECTED syscall.Errno = 1643 + ERROR_INSTALL_TRANSFORM_REJECTED syscall.Errno = 1644 + ERROR_INSTALL_REMOTE_PROHIBITED syscall.Errno = 1645 + ERROR_PATCH_REMOVAL_UNSUPPORTED syscall.Errno = 1646 + ERROR_UNKNOWN_PATCH syscall.Errno = 1647 + ERROR_PATCH_NO_SEQUENCE syscall.Errno = 1648 + ERROR_PATCH_REMOVAL_DISALLOWED syscall.Errno = 1649 + ERROR_INVALID_PATCH_XML syscall.Errno = 1650 + ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT syscall.Errno = 1651 + ERROR_INSTALL_SERVICE_SAFEBOOT syscall.Errno = 1652 + ERROR_FAIL_FAST_EXCEPTION syscall.Errno = 1653 + ERROR_INSTALL_REJECTED syscall.Errno = 1654 + ERROR_DYNAMIC_CODE_BLOCKED syscall.Errno = 1655 + ERROR_NOT_SAME_OBJECT syscall.Errno = 1656 + ERROR_STRICT_CFG_VIOLATION syscall.Errno = 1657 + ERROR_SET_CONTEXT_DENIED syscall.Errno = 1660 + ERROR_CROSS_PARTITION_VIOLATION syscall.Errno = 1661 + RPC_S_INVALID_STRING_BINDING syscall.Errno = 1700 + RPC_S_WRONG_KIND_OF_BINDING syscall.Errno = 1701 + RPC_S_INVALID_BINDING syscall.Errno = 1702 + RPC_S_PROTSEQ_NOT_SUPPORTED syscall.Errno = 1703 + RPC_S_INVALID_RPC_PROTSEQ syscall.Errno = 1704 + RPC_S_INVALID_STRING_UUID syscall.Errno = 1705 + RPC_S_INVALID_ENDPOINT_FORMAT syscall.Errno = 1706 + RPC_S_INVALID_NET_ADDR syscall.Errno = 1707 + RPC_S_NO_ENDPOINT_FOUND syscall.Errno = 1708 + RPC_S_INVALID_TIMEOUT syscall.Errno = 1709 + RPC_S_OBJECT_NOT_FOUND syscall.Errno = 1710 + RPC_S_ALREADY_REGISTERED syscall.Errno = 1711 + RPC_S_TYPE_ALREADY_REGISTERED syscall.Errno = 1712 + RPC_S_ALREADY_LISTENING syscall.Errno = 1713 + RPC_S_NO_PROTSEQS_REGISTERED syscall.Errno = 1714 + RPC_S_NOT_LISTENING syscall.Errno = 1715 + RPC_S_UNKNOWN_MGR_TYPE syscall.Errno = 1716 + RPC_S_UNKNOWN_IF syscall.Errno = 1717 + RPC_S_NO_BINDINGS syscall.Errno = 1718 + RPC_S_NO_PROTSEQS syscall.Errno = 1719 + RPC_S_CANT_CREATE_ENDPOINT syscall.Errno = 1720 + RPC_S_OUT_OF_RESOURCES syscall.Errno = 1721 + RPC_S_SERVER_UNAVAILABLE syscall.Errno = 1722 + RPC_S_SERVER_TOO_BUSY syscall.Errno = 1723 + RPC_S_INVALID_NETWORK_OPTIONS syscall.Errno = 1724 + RPC_S_NO_CALL_ACTIVE syscall.Errno = 1725 + RPC_S_CALL_FAILED syscall.Errno = 1726 + RPC_S_CALL_FAILED_DNE syscall.Errno = 1727 + RPC_S_PROTOCOL_ERROR syscall.Errno = 1728 + RPC_S_PROXY_ACCESS_DENIED syscall.Errno = 1729 + RPC_S_UNSUPPORTED_TRANS_SYN syscall.Errno = 1730 + RPC_S_UNSUPPORTED_TYPE syscall.Errno = 1732 + RPC_S_INVALID_TAG syscall.Errno = 1733 + RPC_S_INVALID_BOUND syscall.Errno = 1734 + RPC_S_NO_ENTRY_NAME syscall.Errno = 1735 + RPC_S_INVALID_NAME_SYNTAX syscall.Errno = 1736 + RPC_S_UNSUPPORTED_NAME_SYNTAX syscall.Errno = 1737 + RPC_S_UUID_NO_ADDRESS syscall.Errno = 1739 + RPC_S_DUPLICATE_ENDPOINT syscall.Errno = 1740 + RPC_S_UNKNOWN_AUTHN_TYPE syscall.Errno = 1741 + RPC_S_MAX_CALLS_TOO_SMALL syscall.Errno = 1742 + RPC_S_STRING_TOO_LONG syscall.Errno = 1743 + RPC_S_PROTSEQ_NOT_FOUND syscall.Errno = 1744 + RPC_S_PROCNUM_OUT_OF_RANGE syscall.Errno = 1745 + RPC_S_BINDING_HAS_NO_AUTH syscall.Errno = 1746 + RPC_S_UNKNOWN_AUTHN_SERVICE syscall.Errno = 1747 + RPC_S_UNKNOWN_AUTHN_LEVEL syscall.Errno = 1748 + RPC_S_INVALID_AUTH_IDENTITY syscall.Errno = 1749 + RPC_S_UNKNOWN_AUTHZ_SERVICE syscall.Errno = 1750 + EPT_S_INVALID_ENTRY syscall.Errno = 1751 + EPT_S_CANT_PERFORM_OP syscall.Errno = 1752 + EPT_S_NOT_REGISTERED syscall.Errno = 1753 + RPC_S_NOTHING_TO_EXPORT syscall.Errno = 1754 + RPC_S_INCOMPLETE_NAME syscall.Errno = 1755 + RPC_S_INVALID_VERS_OPTION syscall.Errno = 1756 + RPC_S_NO_MORE_MEMBERS syscall.Errno = 1757 + RPC_S_NOT_ALL_OBJS_UNEXPORTED syscall.Errno = 1758 + RPC_S_INTERFACE_NOT_FOUND syscall.Errno = 1759 + RPC_S_ENTRY_ALREADY_EXISTS syscall.Errno = 1760 + RPC_S_ENTRY_NOT_FOUND syscall.Errno = 1761 + RPC_S_NAME_SERVICE_UNAVAILABLE syscall.Errno = 1762 + RPC_S_INVALID_NAF_ID syscall.Errno = 1763 + RPC_S_CANNOT_SUPPORT syscall.Errno = 1764 + RPC_S_NO_CONTEXT_AVAILABLE syscall.Errno = 1765 + RPC_S_INTERNAL_ERROR syscall.Errno = 1766 + RPC_S_ZERO_DIVIDE syscall.Errno = 1767 + RPC_S_ADDRESS_ERROR syscall.Errno = 1768 + RPC_S_FP_DIV_ZERO syscall.Errno = 1769 + RPC_S_FP_UNDERFLOW syscall.Errno = 1770 + RPC_S_FP_OVERFLOW syscall.Errno = 1771 + RPC_X_NO_MORE_ENTRIES syscall.Errno = 1772 + RPC_X_SS_CHAR_TRANS_OPEN_FAIL syscall.Errno = 1773 + RPC_X_SS_CHAR_TRANS_SHORT_FILE syscall.Errno = 1774 + RPC_X_SS_IN_NULL_CONTEXT syscall.Errno = 1775 + RPC_X_SS_CONTEXT_DAMAGED syscall.Errno = 1777 + RPC_X_SS_HANDLES_MISMATCH syscall.Errno = 1778 + RPC_X_SS_CANNOT_GET_CALL_HANDLE syscall.Errno = 1779 + RPC_X_NULL_REF_POINTER syscall.Errno = 1780 + RPC_X_ENUM_VALUE_OUT_OF_RANGE syscall.Errno = 1781 + RPC_X_BYTE_COUNT_TOO_SMALL syscall.Errno = 1782 + RPC_X_BAD_STUB_DATA syscall.Errno = 1783 + ERROR_INVALID_USER_BUFFER syscall.Errno = 1784 + ERROR_UNRECOGNIZED_MEDIA syscall.Errno = 1785 + ERROR_NO_TRUST_LSA_SECRET syscall.Errno = 1786 + ERROR_NO_TRUST_SAM_ACCOUNT syscall.Errno = 1787 + ERROR_TRUSTED_DOMAIN_FAILURE syscall.Errno = 1788 + ERROR_TRUSTED_RELATIONSHIP_FAILURE syscall.Errno = 1789 + ERROR_TRUST_FAILURE syscall.Errno = 1790 + RPC_S_CALL_IN_PROGRESS syscall.Errno = 1791 + ERROR_NETLOGON_NOT_STARTED syscall.Errno = 1792 + ERROR_ACCOUNT_EXPIRED syscall.Errno = 1793 + ERROR_REDIRECTOR_HAS_OPEN_HANDLES syscall.Errno = 1794 + ERROR_PRINTER_DRIVER_ALREADY_INSTALLED syscall.Errno = 1795 + ERROR_UNKNOWN_PORT syscall.Errno = 1796 + ERROR_UNKNOWN_PRINTER_DRIVER syscall.Errno = 1797 + ERROR_UNKNOWN_PRINTPROCESSOR syscall.Errno = 1798 + ERROR_INVALID_SEPARATOR_FILE syscall.Errno = 1799 + ERROR_INVALID_PRIORITY syscall.Errno = 1800 + ERROR_INVALID_PRINTER_NAME syscall.Errno = 1801 + ERROR_PRINTER_ALREADY_EXISTS syscall.Errno = 1802 + ERROR_INVALID_PRINTER_COMMAND syscall.Errno = 1803 + ERROR_INVALID_DATATYPE syscall.Errno = 1804 + ERROR_INVALID_ENVIRONMENT syscall.Errno = 1805 + RPC_S_NO_MORE_BINDINGS syscall.Errno = 1806 + ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT syscall.Errno = 1807 + ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT syscall.Errno = 1808 + ERROR_NOLOGON_SERVER_TRUST_ACCOUNT syscall.Errno = 1809 + ERROR_DOMAIN_TRUST_INCONSISTENT syscall.Errno = 1810 + ERROR_SERVER_HAS_OPEN_HANDLES syscall.Errno = 1811 + ERROR_RESOURCE_DATA_NOT_FOUND syscall.Errno = 1812 + ERROR_RESOURCE_TYPE_NOT_FOUND syscall.Errno = 1813 + ERROR_RESOURCE_NAME_NOT_FOUND syscall.Errno = 1814 + ERROR_RESOURCE_LANG_NOT_FOUND syscall.Errno = 1815 + ERROR_NOT_ENOUGH_QUOTA syscall.Errno = 1816 + RPC_S_NO_INTERFACES syscall.Errno = 1817 + RPC_S_CALL_CANCELLED syscall.Errno = 1818 + RPC_S_BINDING_INCOMPLETE syscall.Errno = 1819 + RPC_S_COMM_FAILURE syscall.Errno = 1820 + RPC_S_UNSUPPORTED_AUTHN_LEVEL syscall.Errno = 1821 + RPC_S_NO_PRINC_NAME syscall.Errno = 1822 + RPC_S_NOT_RPC_ERROR syscall.Errno = 1823 + RPC_S_UUID_LOCAL_ONLY syscall.Errno = 1824 + RPC_S_SEC_PKG_ERROR syscall.Errno = 1825 + RPC_S_NOT_CANCELLED syscall.Errno = 1826 + RPC_X_INVALID_ES_ACTION syscall.Errno = 1827 + RPC_X_WRONG_ES_VERSION syscall.Errno = 1828 + RPC_X_WRONG_STUB_VERSION syscall.Errno = 1829 + RPC_X_INVALID_PIPE_OBJECT syscall.Errno = 1830 + RPC_X_WRONG_PIPE_ORDER syscall.Errno = 1831 + RPC_X_WRONG_PIPE_VERSION syscall.Errno = 1832 + RPC_S_COOKIE_AUTH_FAILED syscall.Errno = 1833 + RPC_S_DO_NOT_DISTURB syscall.Errno = 1834 + RPC_S_SYSTEM_HANDLE_COUNT_EXCEEDED syscall.Errno = 1835 + RPC_S_SYSTEM_HANDLE_TYPE_MISMATCH syscall.Errno = 1836 + RPC_S_GROUP_MEMBER_NOT_FOUND syscall.Errno = 1898 + EPT_S_CANT_CREATE syscall.Errno = 1899 + RPC_S_INVALID_OBJECT syscall.Errno = 1900 + ERROR_INVALID_TIME syscall.Errno = 1901 + ERROR_INVALID_FORM_NAME syscall.Errno = 1902 + ERROR_INVALID_FORM_SIZE syscall.Errno = 1903 + ERROR_ALREADY_WAITING syscall.Errno = 1904 + ERROR_PRINTER_DELETED syscall.Errno = 1905 + ERROR_INVALID_PRINTER_STATE syscall.Errno = 1906 + ERROR_PASSWORD_MUST_CHANGE syscall.Errno = 1907 + ERROR_DOMAIN_CONTROLLER_NOT_FOUND syscall.Errno = 1908 + ERROR_ACCOUNT_LOCKED_OUT syscall.Errno = 1909 + OR_INVALID_OXID syscall.Errno = 1910 + OR_INVALID_OID syscall.Errno = 1911 + OR_INVALID_SET syscall.Errno = 1912 + RPC_S_SEND_INCOMPLETE syscall.Errno = 1913 + RPC_S_INVALID_ASYNC_HANDLE syscall.Errno = 1914 + RPC_S_INVALID_ASYNC_CALL syscall.Errno = 1915 + RPC_X_PIPE_CLOSED syscall.Errno = 1916 + RPC_X_PIPE_DISCIPLINE_ERROR syscall.Errno = 1917 + RPC_X_PIPE_EMPTY syscall.Errno = 1918 + ERROR_NO_SITENAME syscall.Errno = 1919 + ERROR_CANT_ACCESS_FILE syscall.Errno = 1920 + ERROR_CANT_RESOLVE_FILENAME syscall.Errno = 1921 + RPC_S_ENTRY_TYPE_MISMATCH syscall.Errno = 1922 + RPC_S_NOT_ALL_OBJS_EXPORTED syscall.Errno = 1923 + RPC_S_INTERFACE_NOT_EXPORTED syscall.Errno = 1924 + RPC_S_PROFILE_NOT_ADDED syscall.Errno = 1925 + RPC_S_PRF_ELT_NOT_ADDED syscall.Errno = 1926 + RPC_S_PRF_ELT_NOT_REMOVED syscall.Errno = 1927 + RPC_S_GRP_ELT_NOT_ADDED syscall.Errno = 1928 + RPC_S_GRP_ELT_NOT_REMOVED syscall.Errno = 1929 + ERROR_KM_DRIVER_BLOCKED syscall.Errno = 1930 + ERROR_CONTEXT_EXPIRED syscall.Errno = 1931 + ERROR_PER_USER_TRUST_QUOTA_EXCEEDED syscall.Errno = 1932 + ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED syscall.Errno = 1933 + ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED syscall.Errno = 1934 + ERROR_AUTHENTICATION_FIREWALL_FAILED syscall.Errno = 1935 + ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED syscall.Errno = 1936 + ERROR_NTLM_BLOCKED syscall.Errno = 1937 + ERROR_PASSWORD_CHANGE_REQUIRED syscall.Errno = 1938 + ERROR_LOST_MODE_LOGON_RESTRICTION syscall.Errno = 1939 + ERROR_INVALID_PIXEL_FORMAT syscall.Errno = 2000 + ERROR_BAD_DRIVER syscall.Errno = 2001 + ERROR_INVALID_WINDOW_STYLE syscall.Errno = 2002 + ERROR_METAFILE_NOT_SUPPORTED syscall.Errno = 2003 + ERROR_TRANSFORM_NOT_SUPPORTED syscall.Errno = 2004 + ERROR_CLIPPING_NOT_SUPPORTED syscall.Errno = 2005 + ERROR_INVALID_CMM syscall.Errno = 2010 + ERROR_INVALID_PROFILE syscall.Errno = 2011 + ERROR_TAG_NOT_FOUND syscall.Errno = 2012 + ERROR_TAG_NOT_PRESENT syscall.Errno = 2013 + ERROR_DUPLICATE_TAG syscall.Errno = 2014 + ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE syscall.Errno = 2015 + ERROR_PROFILE_NOT_FOUND syscall.Errno = 2016 + ERROR_INVALID_COLORSPACE syscall.Errno = 2017 + ERROR_ICM_NOT_ENABLED syscall.Errno = 2018 + ERROR_DELETING_ICM_XFORM syscall.Errno = 2019 + ERROR_INVALID_TRANSFORM syscall.Errno = 2020 + ERROR_COLORSPACE_MISMATCH syscall.Errno = 2021 + ERROR_INVALID_COLORINDEX syscall.Errno = 2022 + ERROR_PROFILE_DOES_NOT_MATCH_DEVICE syscall.Errno = 2023 + ERROR_CONNECTED_OTHER_PASSWORD syscall.Errno = 2108 + ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT syscall.Errno = 2109 + ERROR_BAD_USERNAME syscall.Errno = 2202 + ERROR_NOT_CONNECTED syscall.Errno = 2250 + ERROR_OPEN_FILES syscall.Errno = 2401 + ERROR_ACTIVE_CONNECTIONS syscall.Errno = 2402 + ERROR_DEVICE_IN_USE syscall.Errno = 2404 + ERROR_UNKNOWN_PRINT_MONITOR syscall.Errno = 3000 + ERROR_PRINTER_DRIVER_IN_USE syscall.Errno = 3001 + ERROR_SPOOL_FILE_NOT_FOUND syscall.Errno = 3002 + ERROR_SPL_NO_STARTDOC syscall.Errno = 3003 + ERROR_SPL_NO_ADDJOB syscall.Errno = 3004 + ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED syscall.Errno = 3005 + ERROR_PRINT_MONITOR_ALREADY_INSTALLED syscall.Errno = 3006 + ERROR_INVALID_PRINT_MONITOR syscall.Errno = 3007 + ERROR_PRINT_MONITOR_IN_USE syscall.Errno = 3008 + ERROR_PRINTER_HAS_JOBS_QUEUED syscall.Errno = 3009 + ERROR_SUCCESS_REBOOT_REQUIRED syscall.Errno = 3010 + ERROR_SUCCESS_RESTART_REQUIRED syscall.Errno = 3011 + ERROR_PRINTER_NOT_FOUND syscall.Errno = 3012 + ERROR_PRINTER_DRIVER_WARNED syscall.Errno = 3013 + ERROR_PRINTER_DRIVER_BLOCKED syscall.Errno = 3014 + ERROR_PRINTER_DRIVER_PACKAGE_IN_USE syscall.Errno = 3015 + ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND syscall.Errno = 3016 + ERROR_FAIL_REBOOT_REQUIRED syscall.Errno = 3017 + ERROR_FAIL_REBOOT_INITIATED syscall.Errno = 3018 + ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED syscall.Errno = 3019 + ERROR_PRINT_JOB_RESTART_REQUIRED syscall.Errno = 3020 + ERROR_INVALID_PRINTER_DRIVER_MANIFEST syscall.Errno = 3021 + ERROR_PRINTER_NOT_SHAREABLE syscall.Errno = 3022 + ERROR_REQUEST_PAUSED syscall.Errno = 3050 + ERROR_APPEXEC_CONDITION_NOT_SATISFIED syscall.Errno = 3060 + ERROR_APPEXEC_HANDLE_INVALIDATED syscall.Errno = 3061 + ERROR_APPEXEC_INVALID_HOST_GENERATION syscall.Errno = 3062 + ERROR_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION syscall.Errno = 3063 + ERROR_APPEXEC_INVALID_HOST_STATE syscall.Errno = 3064 + ERROR_APPEXEC_NO_DONOR syscall.Errno = 3065 + ERROR_APPEXEC_HOST_ID_MISMATCH syscall.Errno = 3066 + ERROR_APPEXEC_UNKNOWN_USER syscall.Errno = 3067 + ERROR_IO_REISSUE_AS_CACHED syscall.Errno = 3950 + ERROR_WINS_INTERNAL syscall.Errno = 4000 + ERROR_CAN_NOT_DEL_LOCAL_WINS syscall.Errno = 4001 + ERROR_STATIC_INIT syscall.Errno = 4002 + ERROR_INC_BACKUP syscall.Errno = 4003 + ERROR_FULL_BACKUP syscall.Errno = 4004 + ERROR_REC_NON_EXISTENT syscall.Errno = 4005 + ERROR_RPL_NOT_ALLOWED syscall.Errno = 4006 + PEERDIST_ERROR_CONTENTINFO_VERSION_UNSUPPORTED syscall.Errno = 4050 + PEERDIST_ERROR_CANNOT_PARSE_CONTENTINFO syscall.Errno = 4051 + PEERDIST_ERROR_MISSING_DATA syscall.Errno = 4052 + PEERDIST_ERROR_NO_MORE syscall.Errno = 4053 + PEERDIST_ERROR_NOT_INITIALIZED syscall.Errno = 4054 + PEERDIST_ERROR_ALREADY_INITIALIZED syscall.Errno = 4055 + PEERDIST_ERROR_SHUTDOWN_IN_PROGRESS syscall.Errno = 4056 + PEERDIST_ERROR_INVALIDATED syscall.Errno = 4057 + PEERDIST_ERROR_ALREADY_EXISTS syscall.Errno = 4058 + PEERDIST_ERROR_OPERATION_NOTFOUND syscall.Errno = 4059 + PEERDIST_ERROR_ALREADY_COMPLETED syscall.Errno = 4060 + PEERDIST_ERROR_OUT_OF_BOUNDS syscall.Errno = 4061 + PEERDIST_ERROR_VERSION_UNSUPPORTED syscall.Errno = 4062 + PEERDIST_ERROR_INVALID_CONFIGURATION syscall.Errno = 4063 + PEERDIST_ERROR_NOT_LICENSED syscall.Errno = 4064 + PEERDIST_ERROR_SERVICE_UNAVAILABLE syscall.Errno = 4065 + PEERDIST_ERROR_TRUST_FAILURE syscall.Errno = 4066 + ERROR_DHCP_ADDRESS_CONFLICT syscall.Errno = 4100 + ERROR_WMI_GUID_NOT_FOUND syscall.Errno = 4200 + ERROR_WMI_INSTANCE_NOT_FOUND syscall.Errno = 4201 + ERROR_WMI_ITEMID_NOT_FOUND syscall.Errno = 4202 + ERROR_WMI_TRY_AGAIN syscall.Errno = 4203 + ERROR_WMI_DP_NOT_FOUND syscall.Errno = 4204 + ERROR_WMI_UNRESOLVED_INSTANCE_REF syscall.Errno = 4205 + ERROR_WMI_ALREADY_ENABLED syscall.Errno = 4206 + ERROR_WMI_GUID_DISCONNECTED syscall.Errno = 4207 + ERROR_WMI_SERVER_UNAVAILABLE syscall.Errno = 4208 + ERROR_WMI_DP_FAILED syscall.Errno = 4209 + ERROR_WMI_INVALID_MOF syscall.Errno = 4210 + ERROR_WMI_INVALID_REGINFO syscall.Errno = 4211 + ERROR_WMI_ALREADY_DISABLED syscall.Errno = 4212 + ERROR_WMI_READ_ONLY syscall.Errno = 4213 + ERROR_WMI_SET_FAILURE syscall.Errno = 4214 + ERROR_NOT_APPCONTAINER syscall.Errno = 4250 + ERROR_APPCONTAINER_REQUIRED syscall.Errno = 4251 + ERROR_NOT_SUPPORTED_IN_APPCONTAINER syscall.Errno = 4252 + ERROR_INVALID_PACKAGE_SID_LENGTH syscall.Errno = 4253 + ERROR_INVALID_MEDIA syscall.Errno = 4300 + ERROR_INVALID_LIBRARY syscall.Errno = 4301 + ERROR_INVALID_MEDIA_POOL syscall.Errno = 4302 + ERROR_DRIVE_MEDIA_MISMATCH syscall.Errno = 4303 + ERROR_MEDIA_OFFLINE syscall.Errno = 4304 + ERROR_LIBRARY_OFFLINE syscall.Errno = 4305 + ERROR_EMPTY syscall.Errno = 4306 + ERROR_NOT_EMPTY syscall.Errno = 4307 + ERROR_MEDIA_UNAVAILABLE syscall.Errno = 4308 + ERROR_RESOURCE_DISABLED syscall.Errno = 4309 + ERROR_INVALID_CLEANER syscall.Errno = 4310 + ERROR_UNABLE_TO_CLEAN syscall.Errno = 4311 + ERROR_OBJECT_NOT_FOUND syscall.Errno = 4312 + ERROR_DATABASE_FAILURE syscall.Errno = 4313 + ERROR_DATABASE_FULL syscall.Errno = 4314 + ERROR_MEDIA_INCOMPATIBLE syscall.Errno = 4315 + ERROR_RESOURCE_NOT_PRESENT syscall.Errno = 4316 + ERROR_INVALID_OPERATION syscall.Errno = 4317 + ERROR_MEDIA_NOT_AVAILABLE syscall.Errno = 4318 + ERROR_DEVICE_NOT_AVAILABLE syscall.Errno = 4319 + ERROR_REQUEST_REFUSED syscall.Errno = 4320 + ERROR_INVALID_DRIVE_OBJECT syscall.Errno = 4321 + ERROR_LIBRARY_FULL syscall.Errno = 4322 + ERROR_MEDIUM_NOT_ACCESSIBLE syscall.Errno = 4323 + ERROR_UNABLE_TO_LOAD_MEDIUM syscall.Errno = 4324 + ERROR_UNABLE_TO_INVENTORY_DRIVE syscall.Errno = 4325 + ERROR_UNABLE_TO_INVENTORY_SLOT syscall.Errno = 4326 + ERROR_UNABLE_TO_INVENTORY_TRANSPORT syscall.Errno = 4327 + ERROR_TRANSPORT_FULL syscall.Errno = 4328 + ERROR_CONTROLLING_IEPORT syscall.Errno = 4329 + ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA syscall.Errno = 4330 + ERROR_CLEANER_SLOT_SET syscall.Errno = 4331 + ERROR_CLEANER_SLOT_NOT_SET syscall.Errno = 4332 + ERROR_CLEANER_CARTRIDGE_SPENT syscall.Errno = 4333 + ERROR_UNEXPECTED_OMID syscall.Errno = 4334 + ERROR_CANT_DELETE_LAST_ITEM syscall.Errno = 4335 + ERROR_MESSAGE_EXCEEDS_MAX_SIZE syscall.Errno = 4336 + ERROR_VOLUME_CONTAINS_SYS_FILES syscall.Errno = 4337 + ERROR_INDIGENOUS_TYPE syscall.Errno = 4338 + ERROR_NO_SUPPORTING_DRIVES syscall.Errno = 4339 + ERROR_CLEANER_CARTRIDGE_INSTALLED syscall.Errno = 4340 + ERROR_IEPORT_FULL syscall.Errno = 4341 + ERROR_FILE_OFFLINE syscall.Errno = 4350 + ERROR_REMOTE_STORAGE_NOT_ACTIVE syscall.Errno = 4351 + ERROR_REMOTE_STORAGE_MEDIA_ERROR syscall.Errno = 4352 + ERROR_NOT_A_REPARSE_POINT syscall.Errno = 4390 + ERROR_REPARSE_ATTRIBUTE_CONFLICT syscall.Errno = 4391 + ERROR_INVALID_REPARSE_DATA syscall.Errno = 4392 + ERROR_REPARSE_TAG_INVALID syscall.Errno = 4393 + ERROR_REPARSE_TAG_MISMATCH syscall.Errno = 4394 + ERROR_REPARSE_POINT_ENCOUNTERED syscall.Errno = 4395 + ERROR_APP_DATA_NOT_FOUND syscall.Errno = 4400 + ERROR_APP_DATA_EXPIRED syscall.Errno = 4401 + ERROR_APP_DATA_CORRUPT syscall.Errno = 4402 + ERROR_APP_DATA_LIMIT_EXCEEDED syscall.Errno = 4403 + ERROR_APP_DATA_REBOOT_REQUIRED syscall.Errno = 4404 + ERROR_SECUREBOOT_ROLLBACK_DETECTED syscall.Errno = 4420 + ERROR_SECUREBOOT_POLICY_VIOLATION syscall.Errno = 4421 + ERROR_SECUREBOOT_INVALID_POLICY syscall.Errno = 4422 + ERROR_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND syscall.Errno = 4423 + ERROR_SECUREBOOT_POLICY_NOT_SIGNED syscall.Errno = 4424 + ERROR_SECUREBOOT_NOT_ENABLED syscall.Errno = 4425 + ERROR_SECUREBOOT_FILE_REPLACED syscall.Errno = 4426 + ERROR_SECUREBOOT_POLICY_NOT_AUTHORIZED syscall.Errno = 4427 + ERROR_SECUREBOOT_POLICY_UNKNOWN syscall.Errno = 4428 + ERROR_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION syscall.Errno = 4429 + ERROR_SECUREBOOT_PLATFORM_ID_MISMATCH syscall.Errno = 4430 + ERROR_SECUREBOOT_POLICY_ROLLBACK_DETECTED syscall.Errno = 4431 + ERROR_SECUREBOOT_POLICY_UPGRADE_MISMATCH syscall.Errno = 4432 + ERROR_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING syscall.Errno = 4433 + ERROR_SECUREBOOT_NOT_BASE_POLICY syscall.Errno = 4434 + ERROR_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY syscall.Errno = 4435 + ERROR_OFFLOAD_READ_FLT_NOT_SUPPORTED syscall.Errno = 4440 + ERROR_OFFLOAD_WRITE_FLT_NOT_SUPPORTED syscall.Errno = 4441 + ERROR_OFFLOAD_READ_FILE_NOT_SUPPORTED syscall.Errno = 4442 + ERROR_OFFLOAD_WRITE_FILE_NOT_SUPPORTED syscall.Errno = 4443 + ERROR_ALREADY_HAS_STREAM_ID syscall.Errno = 4444 + ERROR_SMR_GARBAGE_COLLECTION_REQUIRED syscall.Errno = 4445 + ERROR_WOF_WIM_HEADER_CORRUPT syscall.Errno = 4446 + ERROR_WOF_WIM_RESOURCE_TABLE_CORRUPT syscall.Errno = 4447 + ERROR_WOF_FILE_RESOURCE_TABLE_CORRUPT syscall.Errno = 4448 + ERROR_VOLUME_NOT_SIS_ENABLED syscall.Errno = 4500 + ERROR_SYSTEM_INTEGRITY_ROLLBACK_DETECTED syscall.Errno = 4550 + ERROR_SYSTEM_INTEGRITY_POLICY_VIOLATION syscall.Errno = 4551 + ERROR_SYSTEM_INTEGRITY_INVALID_POLICY syscall.Errno = 4552 + ERROR_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED syscall.Errno = 4553 + ERROR_VSM_NOT_INITIALIZED syscall.Errno = 4560 + ERROR_VSM_DMA_PROTECTION_NOT_IN_USE syscall.Errno = 4561 + ERROR_PLATFORM_MANIFEST_NOT_AUTHORIZED syscall.Errno = 4570 + ERROR_PLATFORM_MANIFEST_INVALID syscall.Errno = 4571 + ERROR_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED syscall.Errno = 4572 + ERROR_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED syscall.Errno = 4573 + ERROR_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND syscall.Errno = 4574 + ERROR_PLATFORM_MANIFEST_NOT_ACTIVE syscall.Errno = 4575 + ERROR_PLATFORM_MANIFEST_NOT_SIGNED syscall.Errno = 4576 + ERROR_DEPENDENT_RESOURCE_EXISTS syscall.Errno = 5001 + ERROR_DEPENDENCY_NOT_FOUND syscall.Errno = 5002 + ERROR_DEPENDENCY_ALREADY_EXISTS syscall.Errno = 5003 + ERROR_RESOURCE_NOT_ONLINE syscall.Errno = 5004 + ERROR_HOST_NODE_NOT_AVAILABLE syscall.Errno = 5005 + ERROR_RESOURCE_NOT_AVAILABLE syscall.Errno = 5006 + ERROR_RESOURCE_NOT_FOUND syscall.Errno = 5007 + ERROR_SHUTDOWN_CLUSTER syscall.Errno = 5008 + ERROR_CANT_EVICT_ACTIVE_NODE syscall.Errno = 5009 + ERROR_OBJECT_ALREADY_EXISTS syscall.Errno = 5010 + ERROR_OBJECT_IN_LIST syscall.Errno = 5011 + ERROR_GROUP_NOT_AVAILABLE syscall.Errno = 5012 + ERROR_GROUP_NOT_FOUND syscall.Errno = 5013 + ERROR_GROUP_NOT_ONLINE syscall.Errno = 5014 + ERROR_HOST_NODE_NOT_RESOURCE_OWNER syscall.Errno = 5015 + ERROR_HOST_NODE_NOT_GROUP_OWNER syscall.Errno = 5016 + ERROR_RESMON_CREATE_FAILED syscall.Errno = 5017 + ERROR_RESMON_ONLINE_FAILED syscall.Errno = 5018 + ERROR_RESOURCE_ONLINE syscall.Errno = 5019 + ERROR_QUORUM_RESOURCE syscall.Errno = 5020 + ERROR_NOT_QUORUM_CAPABLE syscall.Errno = 5021 + ERROR_CLUSTER_SHUTTING_DOWN syscall.Errno = 5022 + ERROR_INVALID_STATE syscall.Errno = 5023 + ERROR_RESOURCE_PROPERTIES_STORED syscall.Errno = 5024 + ERROR_NOT_QUORUM_CLASS syscall.Errno = 5025 + ERROR_CORE_RESOURCE syscall.Errno = 5026 + ERROR_QUORUM_RESOURCE_ONLINE_FAILED syscall.Errno = 5027 + ERROR_QUORUMLOG_OPEN_FAILED syscall.Errno = 5028 + ERROR_CLUSTERLOG_CORRUPT syscall.Errno = 5029 + ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE syscall.Errno = 5030 + ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE syscall.Errno = 5031 + ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND syscall.Errno = 5032 + ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE syscall.Errno = 5033 + ERROR_QUORUM_OWNER_ALIVE syscall.Errno = 5034 + ERROR_NETWORK_NOT_AVAILABLE syscall.Errno = 5035 + ERROR_NODE_NOT_AVAILABLE syscall.Errno = 5036 + ERROR_ALL_NODES_NOT_AVAILABLE syscall.Errno = 5037 + ERROR_RESOURCE_FAILED syscall.Errno = 5038 + ERROR_CLUSTER_INVALID_NODE syscall.Errno = 5039 + ERROR_CLUSTER_NODE_EXISTS syscall.Errno = 5040 + ERROR_CLUSTER_JOIN_IN_PROGRESS syscall.Errno = 5041 + ERROR_CLUSTER_NODE_NOT_FOUND syscall.Errno = 5042 + ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND syscall.Errno = 5043 + ERROR_CLUSTER_NETWORK_EXISTS syscall.Errno = 5044 + ERROR_CLUSTER_NETWORK_NOT_FOUND syscall.Errno = 5045 + ERROR_CLUSTER_NETINTERFACE_EXISTS syscall.Errno = 5046 + ERROR_CLUSTER_NETINTERFACE_NOT_FOUND syscall.Errno = 5047 + ERROR_CLUSTER_INVALID_REQUEST syscall.Errno = 5048 + ERROR_CLUSTER_INVALID_NETWORK_PROVIDER syscall.Errno = 5049 + ERROR_CLUSTER_NODE_DOWN syscall.Errno = 5050 + ERROR_CLUSTER_NODE_UNREACHABLE syscall.Errno = 5051 + ERROR_CLUSTER_NODE_NOT_MEMBER syscall.Errno = 5052 + ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS syscall.Errno = 5053 + ERROR_CLUSTER_INVALID_NETWORK syscall.Errno = 5054 + ERROR_CLUSTER_NODE_UP syscall.Errno = 5056 + ERROR_CLUSTER_IPADDR_IN_USE syscall.Errno = 5057 + ERROR_CLUSTER_NODE_NOT_PAUSED syscall.Errno = 5058 + ERROR_CLUSTER_NO_SECURITY_CONTEXT syscall.Errno = 5059 + ERROR_CLUSTER_NETWORK_NOT_INTERNAL syscall.Errno = 5060 + ERROR_CLUSTER_NODE_ALREADY_UP syscall.Errno = 5061 + ERROR_CLUSTER_NODE_ALREADY_DOWN syscall.Errno = 5062 + ERROR_CLUSTER_NETWORK_ALREADY_ONLINE syscall.Errno = 5063 + ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE syscall.Errno = 5064 + ERROR_CLUSTER_NODE_ALREADY_MEMBER syscall.Errno = 5065 + ERROR_CLUSTER_LAST_INTERNAL_NETWORK syscall.Errno = 5066 + ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS syscall.Errno = 5067 + ERROR_INVALID_OPERATION_ON_QUORUM syscall.Errno = 5068 + ERROR_DEPENDENCY_NOT_ALLOWED syscall.Errno = 5069 + ERROR_CLUSTER_NODE_PAUSED syscall.Errno = 5070 + ERROR_NODE_CANT_HOST_RESOURCE syscall.Errno = 5071 + ERROR_CLUSTER_NODE_NOT_READY syscall.Errno = 5072 + ERROR_CLUSTER_NODE_SHUTTING_DOWN syscall.Errno = 5073 + ERROR_CLUSTER_JOIN_ABORTED syscall.Errno = 5074 + ERROR_CLUSTER_INCOMPATIBLE_VERSIONS syscall.Errno = 5075 + ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED syscall.Errno = 5076 + ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED syscall.Errno = 5077 + ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND syscall.Errno = 5078 + ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED syscall.Errno = 5079 + ERROR_CLUSTER_RESNAME_NOT_FOUND syscall.Errno = 5080 + ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED syscall.Errno = 5081 + ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST syscall.Errno = 5082 + ERROR_CLUSTER_DATABASE_SEQMISMATCH syscall.Errno = 5083 + ERROR_RESMON_INVALID_STATE syscall.Errno = 5084 + ERROR_CLUSTER_GUM_NOT_LOCKER syscall.Errno = 5085 + ERROR_QUORUM_DISK_NOT_FOUND syscall.Errno = 5086 + ERROR_DATABASE_BACKUP_CORRUPT syscall.Errno = 5087 + ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT syscall.Errno = 5088 + ERROR_RESOURCE_PROPERTY_UNCHANGEABLE syscall.Errno = 5089 + ERROR_NO_ADMIN_ACCESS_POINT syscall.Errno = 5090 + ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE syscall.Errno = 5890 + ERROR_CLUSTER_QUORUMLOG_NOT_FOUND syscall.Errno = 5891 + ERROR_CLUSTER_MEMBERSHIP_HALT syscall.Errno = 5892 + ERROR_CLUSTER_INSTANCE_ID_MISMATCH syscall.Errno = 5893 + ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP syscall.Errno = 5894 + ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH syscall.Errno = 5895 + ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP syscall.Errno = 5896 + ERROR_CLUSTER_PARAMETER_MISMATCH syscall.Errno = 5897 + ERROR_NODE_CANNOT_BE_CLUSTERED syscall.Errno = 5898 + ERROR_CLUSTER_WRONG_OS_VERSION syscall.Errno = 5899 + ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME syscall.Errno = 5900 + ERROR_CLUSCFG_ALREADY_COMMITTED syscall.Errno = 5901 + ERROR_CLUSCFG_ROLLBACK_FAILED syscall.Errno = 5902 + ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT syscall.Errno = 5903 + ERROR_CLUSTER_OLD_VERSION syscall.Errno = 5904 + ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME syscall.Errno = 5905 + ERROR_CLUSTER_NO_NET_ADAPTERS syscall.Errno = 5906 + ERROR_CLUSTER_POISONED syscall.Errno = 5907 + ERROR_CLUSTER_GROUP_MOVING syscall.Errno = 5908 + ERROR_CLUSTER_RESOURCE_TYPE_BUSY syscall.Errno = 5909 + ERROR_RESOURCE_CALL_TIMED_OUT syscall.Errno = 5910 + ERROR_INVALID_CLUSTER_IPV6_ADDRESS syscall.Errno = 5911 + ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION syscall.Errno = 5912 + ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS syscall.Errno = 5913 + ERROR_CLUSTER_PARTIAL_SEND syscall.Errno = 5914 + ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION syscall.Errno = 5915 + ERROR_CLUSTER_INVALID_STRING_TERMINATION syscall.Errno = 5916 + ERROR_CLUSTER_INVALID_STRING_FORMAT syscall.Errno = 5917 + ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS syscall.Errno = 5918 + ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS syscall.Errno = 5919 + ERROR_CLUSTER_NULL_DATA syscall.Errno = 5920 + ERROR_CLUSTER_PARTIAL_READ syscall.Errno = 5921 + ERROR_CLUSTER_PARTIAL_WRITE syscall.Errno = 5922 + ERROR_CLUSTER_CANT_DESERIALIZE_DATA syscall.Errno = 5923 + ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT syscall.Errno = 5924 + ERROR_CLUSTER_NO_QUORUM syscall.Errno = 5925 + ERROR_CLUSTER_INVALID_IPV6_NETWORK syscall.Errno = 5926 + ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK syscall.Errno = 5927 + ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP syscall.Errno = 5928 + ERROR_DEPENDENCY_TREE_TOO_COMPLEX syscall.Errno = 5929 + ERROR_EXCEPTION_IN_RESOURCE_CALL syscall.Errno = 5930 + ERROR_CLUSTER_RHS_FAILED_INITIALIZATION syscall.Errno = 5931 + ERROR_CLUSTER_NOT_INSTALLED syscall.Errno = 5932 + ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE syscall.Errno = 5933 + ERROR_CLUSTER_MAX_NODES_IN_CLUSTER syscall.Errno = 5934 + ERROR_CLUSTER_TOO_MANY_NODES syscall.Errno = 5935 + ERROR_CLUSTER_OBJECT_ALREADY_USED syscall.Errno = 5936 + ERROR_NONCORE_GROUPS_FOUND syscall.Errno = 5937 + ERROR_FILE_SHARE_RESOURCE_CONFLICT syscall.Errno = 5938 + ERROR_CLUSTER_EVICT_INVALID_REQUEST syscall.Errno = 5939 + ERROR_CLUSTER_SINGLETON_RESOURCE syscall.Errno = 5940 + ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE syscall.Errno = 5941 + ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED syscall.Errno = 5942 + ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR syscall.Errno = 5943 + ERROR_CLUSTER_GROUP_BUSY syscall.Errno = 5944 + ERROR_CLUSTER_NOT_SHARED_VOLUME syscall.Errno = 5945 + ERROR_CLUSTER_INVALID_SECURITY_DESCRIPTOR syscall.Errno = 5946 + ERROR_CLUSTER_SHARED_VOLUMES_IN_USE syscall.Errno = 5947 + ERROR_CLUSTER_USE_SHARED_VOLUMES_API syscall.Errno = 5948 + ERROR_CLUSTER_BACKUP_IN_PROGRESS syscall.Errno = 5949 + ERROR_NON_CSV_PATH syscall.Errno = 5950 + ERROR_CSV_VOLUME_NOT_LOCAL syscall.Errno = 5951 + ERROR_CLUSTER_WATCHDOG_TERMINATING syscall.Errno = 5952 + ERROR_CLUSTER_RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES syscall.Errno = 5953 + ERROR_CLUSTER_INVALID_NODE_WEIGHT syscall.Errno = 5954 + ERROR_CLUSTER_RESOURCE_VETOED_CALL syscall.Errno = 5955 + ERROR_RESMON_SYSTEM_RESOURCES_LACKING syscall.Errno = 5956 + ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_DESTINATION syscall.Errno = 5957 + ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_SOURCE syscall.Errno = 5958 + ERROR_CLUSTER_GROUP_QUEUED syscall.Errno = 5959 + ERROR_CLUSTER_RESOURCE_LOCKED_STATUS syscall.Errno = 5960 + ERROR_CLUSTER_SHARED_VOLUME_FAILOVER_NOT_ALLOWED syscall.Errno = 5961 + ERROR_CLUSTER_NODE_DRAIN_IN_PROGRESS syscall.Errno = 5962 + ERROR_CLUSTER_DISK_NOT_CONNECTED syscall.Errno = 5963 + ERROR_DISK_NOT_CSV_CAPABLE syscall.Errno = 5964 + ERROR_RESOURCE_NOT_IN_AVAILABLE_STORAGE syscall.Errno = 5965 + ERROR_CLUSTER_SHARED_VOLUME_REDIRECTED syscall.Errno = 5966 + ERROR_CLUSTER_SHARED_VOLUME_NOT_REDIRECTED syscall.Errno = 5967 + ERROR_CLUSTER_CANNOT_RETURN_PROPERTIES syscall.Errno = 5968 + ERROR_CLUSTER_RESOURCE_CONTAINS_UNSUPPORTED_DIFF_AREA_FOR_SHARED_VOLUMES syscall.Errno = 5969 + ERROR_CLUSTER_RESOURCE_IS_IN_MAINTENANCE_MODE syscall.Errno = 5970 + ERROR_CLUSTER_AFFINITY_CONFLICT syscall.Errno = 5971 + ERROR_CLUSTER_RESOURCE_IS_REPLICA_VIRTUAL_MACHINE syscall.Errno = 5972 + ERROR_CLUSTER_UPGRADE_INCOMPATIBLE_VERSIONS syscall.Errno = 5973 + ERROR_CLUSTER_UPGRADE_FIX_QUORUM_NOT_SUPPORTED syscall.Errno = 5974 + ERROR_CLUSTER_UPGRADE_RESTART_REQUIRED syscall.Errno = 5975 + ERROR_CLUSTER_UPGRADE_IN_PROGRESS syscall.Errno = 5976 + ERROR_CLUSTER_UPGRADE_INCOMPLETE syscall.Errno = 5977 + ERROR_CLUSTER_NODE_IN_GRACE_PERIOD syscall.Errno = 5978 + ERROR_CLUSTER_CSV_IO_PAUSE_TIMEOUT syscall.Errno = 5979 + ERROR_NODE_NOT_ACTIVE_CLUSTER_MEMBER syscall.Errno = 5980 + ERROR_CLUSTER_RESOURCE_NOT_MONITORED syscall.Errno = 5981 + ERROR_CLUSTER_RESOURCE_DOES_NOT_SUPPORT_UNMONITORED syscall.Errno = 5982 + ERROR_CLUSTER_RESOURCE_IS_REPLICATED syscall.Errno = 5983 + ERROR_CLUSTER_NODE_ISOLATED syscall.Errno = 5984 + ERROR_CLUSTER_NODE_QUARANTINED syscall.Errno = 5985 + ERROR_CLUSTER_DATABASE_UPDATE_CONDITION_FAILED syscall.Errno = 5986 + ERROR_CLUSTER_SPACE_DEGRADED syscall.Errno = 5987 + ERROR_CLUSTER_TOKEN_DELEGATION_NOT_SUPPORTED syscall.Errno = 5988 + ERROR_CLUSTER_CSV_INVALID_HANDLE syscall.Errno = 5989 + ERROR_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR syscall.Errno = 5990 + ERROR_GROUPSET_NOT_AVAILABLE syscall.Errno = 5991 + ERROR_GROUPSET_NOT_FOUND syscall.Errno = 5992 + ERROR_GROUPSET_CANT_PROVIDE syscall.Errno = 5993 + ERROR_CLUSTER_FAULT_DOMAIN_PARENT_NOT_FOUND syscall.Errno = 5994 + ERROR_CLUSTER_FAULT_DOMAIN_INVALID_HIERARCHY syscall.Errno = 5995 + ERROR_CLUSTER_FAULT_DOMAIN_FAILED_S2D_VALIDATION syscall.Errno = 5996 + ERROR_CLUSTER_FAULT_DOMAIN_S2D_CONNECTIVITY_LOSS syscall.Errno = 5997 + ERROR_CLUSTER_INVALID_INFRASTRUCTURE_FILESERVER_NAME syscall.Errno = 5998 + ERROR_CLUSTERSET_MANAGEMENT_CLUSTER_UNREACHABLE syscall.Errno = 5999 + ERROR_ENCRYPTION_FAILED syscall.Errno = 6000 + ERROR_DECRYPTION_FAILED syscall.Errno = 6001 + ERROR_FILE_ENCRYPTED syscall.Errno = 6002 + ERROR_NO_RECOVERY_POLICY syscall.Errno = 6003 + ERROR_NO_EFS syscall.Errno = 6004 + ERROR_WRONG_EFS syscall.Errno = 6005 + ERROR_NO_USER_KEYS syscall.Errno = 6006 + ERROR_FILE_NOT_ENCRYPTED syscall.Errno = 6007 + ERROR_NOT_EXPORT_FORMAT syscall.Errno = 6008 + ERROR_FILE_READ_ONLY syscall.Errno = 6009 + ERROR_DIR_EFS_DISALLOWED syscall.Errno = 6010 + ERROR_EFS_SERVER_NOT_TRUSTED syscall.Errno = 6011 + ERROR_BAD_RECOVERY_POLICY syscall.Errno = 6012 + ERROR_EFS_ALG_BLOB_TOO_BIG syscall.Errno = 6013 + ERROR_VOLUME_NOT_SUPPORT_EFS syscall.Errno = 6014 + ERROR_EFS_DISABLED syscall.Errno = 6015 + ERROR_EFS_VERSION_NOT_SUPPORT syscall.Errno = 6016 + ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE syscall.Errno = 6017 + ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER syscall.Errno = 6018 + ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE syscall.Errno = 6019 + ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE syscall.Errno = 6020 + ERROR_CS_ENCRYPTION_FILE_NOT_CSE syscall.Errno = 6021 + ERROR_ENCRYPTION_POLICY_DENIES_OPERATION syscall.Errno = 6022 + ERROR_NO_BROWSER_SERVERS_FOUND syscall.Errno = 6118 + SCHED_E_SERVICE_NOT_LOCALSYSTEM syscall.Errno = 6200 + ERROR_LOG_SECTOR_INVALID syscall.Errno = 6600 + ERROR_LOG_SECTOR_PARITY_INVALID syscall.Errno = 6601 + ERROR_LOG_SECTOR_REMAPPED syscall.Errno = 6602 + ERROR_LOG_BLOCK_INCOMPLETE syscall.Errno = 6603 + ERROR_LOG_INVALID_RANGE syscall.Errno = 6604 + ERROR_LOG_BLOCKS_EXHAUSTED syscall.Errno = 6605 + ERROR_LOG_READ_CONTEXT_INVALID syscall.Errno = 6606 + ERROR_LOG_RESTART_INVALID syscall.Errno = 6607 + ERROR_LOG_BLOCK_VERSION syscall.Errno = 6608 + ERROR_LOG_BLOCK_INVALID syscall.Errno = 6609 + ERROR_LOG_READ_MODE_INVALID syscall.Errno = 6610 + ERROR_LOG_NO_RESTART syscall.Errno = 6611 + ERROR_LOG_METADATA_CORRUPT syscall.Errno = 6612 + ERROR_LOG_METADATA_INVALID syscall.Errno = 6613 + ERROR_LOG_METADATA_INCONSISTENT syscall.Errno = 6614 + ERROR_LOG_RESERVATION_INVALID syscall.Errno = 6615 + ERROR_LOG_CANT_DELETE syscall.Errno = 6616 + ERROR_LOG_CONTAINER_LIMIT_EXCEEDED syscall.Errno = 6617 + ERROR_LOG_START_OF_LOG syscall.Errno = 6618 + ERROR_LOG_POLICY_ALREADY_INSTALLED syscall.Errno = 6619 + ERROR_LOG_POLICY_NOT_INSTALLED syscall.Errno = 6620 + ERROR_LOG_POLICY_INVALID syscall.Errno = 6621 + ERROR_LOG_POLICY_CONFLICT syscall.Errno = 6622 + ERROR_LOG_PINNED_ARCHIVE_TAIL syscall.Errno = 6623 + ERROR_LOG_RECORD_NONEXISTENT syscall.Errno = 6624 + ERROR_LOG_RECORDS_RESERVED_INVALID syscall.Errno = 6625 + ERROR_LOG_SPACE_RESERVED_INVALID syscall.Errno = 6626 + ERROR_LOG_TAIL_INVALID syscall.Errno = 6627 + ERROR_LOG_FULL syscall.Errno = 6628 + ERROR_COULD_NOT_RESIZE_LOG syscall.Errno = 6629 + ERROR_LOG_MULTIPLEXED syscall.Errno = 6630 + ERROR_LOG_DEDICATED syscall.Errno = 6631 + ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS syscall.Errno = 6632 + ERROR_LOG_ARCHIVE_IN_PROGRESS syscall.Errno = 6633 + ERROR_LOG_EPHEMERAL syscall.Errno = 6634 + ERROR_LOG_NOT_ENOUGH_CONTAINERS syscall.Errno = 6635 + ERROR_LOG_CLIENT_ALREADY_REGISTERED syscall.Errno = 6636 + ERROR_LOG_CLIENT_NOT_REGISTERED syscall.Errno = 6637 + ERROR_LOG_FULL_HANDLER_IN_PROGRESS syscall.Errno = 6638 + ERROR_LOG_CONTAINER_READ_FAILED syscall.Errno = 6639 + ERROR_LOG_CONTAINER_WRITE_FAILED syscall.Errno = 6640 + ERROR_LOG_CONTAINER_OPEN_FAILED syscall.Errno = 6641 + ERROR_LOG_CONTAINER_STATE_INVALID syscall.Errno = 6642 + ERROR_LOG_STATE_INVALID syscall.Errno = 6643 + ERROR_LOG_PINNED syscall.Errno = 6644 + ERROR_LOG_METADATA_FLUSH_FAILED syscall.Errno = 6645 + ERROR_LOG_INCONSISTENT_SECURITY syscall.Errno = 6646 + ERROR_LOG_APPENDED_FLUSH_FAILED syscall.Errno = 6647 + ERROR_LOG_PINNED_RESERVATION syscall.Errno = 6648 + ERROR_INVALID_TRANSACTION syscall.Errno = 6700 + ERROR_TRANSACTION_NOT_ACTIVE syscall.Errno = 6701 + ERROR_TRANSACTION_REQUEST_NOT_VALID syscall.Errno = 6702 + ERROR_TRANSACTION_NOT_REQUESTED syscall.Errno = 6703 + ERROR_TRANSACTION_ALREADY_ABORTED syscall.Errno = 6704 + ERROR_TRANSACTION_ALREADY_COMMITTED syscall.Errno = 6705 + ERROR_TM_INITIALIZATION_FAILED syscall.Errno = 6706 + ERROR_RESOURCEMANAGER_READ_ONLY syscall.Errno = 6707 + ERROR_TRANSACTION_NOT_JOINED syscall.Errno = 6708 + ERROR_TRANSACTION_SUPERIOR_EXISTS syscall.Errno = 6709 + ERROR_CRM_PROTOCOL_ALREADY_EXISTS syscall.Errno = 6710 + ERROR_TRANSACTION_PROPAGATION_FAILED syscall.Errno = 6711 + ERROR_CRM_PROTOCOL_NOT_FOUND syscall.Errno = 6712 + ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER syscall.Errno = 6713 + ERROR_CURRENT_TRANSACTION_NOT_VALID syscall.Errno = 6714 + ERROR_TRANSACTION_NOT_FOUND syscall.Errno = 6715 + ERROR_RESOURCEMANAGER_NOT_FOUND syscall.Errno = 6716 + ERROR_ENLISTMENT_NOT_FOUND syscall.Errno = 6717 + ERROR_TRANSACTIONMANAGER_NOT_FOUND syscall.Errno = 6718 + ERROR_TRANSACTIONMANAGER_NOT_ONLINE syscall.Errno = 6719 + ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION syscall.Errno = 6720 + ERROR_TRANSACTION_NOT_ROOT syscall.Errno = 6721 + ERROR_TRANSACTION_OBJECT_EXPIRED syscall.Errno = 6722 + ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED syscall.Errno = 6723 + ERROR_TRANSACTION_RECORD_TOO_LONG syscall.Errno = 6724 + ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED syscall.Errno = 6725 + ERROR_TRANSACTION_INTEGRITY_VIOLATED syscall.Errno = 6726 + ERROR_TRANSACTIONMANAGER_IDENTITY_MISMATCH syscall.Errno = 6727 + ERROR_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT syscall.Errno = 6728 + ERROR_TRANSACTION_MUST_WRITETHROUGH syscall.Errno = 6729 + ERROR_TRANSACTION_NO_SUPERIOR syscall.Errno = 6730 + ERROR_HEURISTIC_DAMAGE_POSSIBLE syscall.Errno = 6731 + ERROR_TRANSACTIONAL_CONFLICT syscall.Errno = 6800 + ERROR_RM_NOT_ACTIVE syscall.Errno = 6801 + ERROR_RM_METADATA_CORRUPT syscall.Errno = 6802 + ERROR_DIRECTORY_NOT_RM syscall.Errno = 6803 + ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE syscall.Errno = 6805 + ERROR_LOG_RESIZE_INVALID_SIZE syscall.Errno = 6806 + ERROR_OBJECT_NO_LONGER_EXISTS syscall.Errno = 6807 + ERROR_STREAM_MINIVERSION_NOT_FOUND syscall.Errno = 6808 + ERROR_STREAM_MINIVERSION_NOT_VALID syscall.Errno = 6809 + ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION syscall.Errno = 6810 + ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT syscall.Errno = 6811 + ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS syscall.Errno = 6812 + ERROR_REMOTE_FILE_VERSION_MISMATCH syscall.Errno = 6814 + ERROR_HANDLE_NO_LONGER_VALID syscall.Errno = 6815 + ERROR_NO_TXF_METADATA syscall.Errno = 6816 + ERROR_LOG_CORRUPTION_DETECTED syscall.Errno = 6817 + ERROR_CANT_RECOVER_WITH_HANDLE_OPEN syscall.Errno = 6818 + ERROR_RM_DISCONNECTED syscall.Errno = 6819 + ERROR_ENLISTMENT_NOT_SUPERIOR syscall.Errno = 6820 + ERROR_RECOVERY_NOT_NEEDED syscall.Errno = 6821 + ERROR_RM_ALREADY_STARTED syscall.Errno = 6822 + ERROR_FILE_IDENTITY_NOT_PERSISTENT syscall.Errno = 6823 + ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY syscall.Errno = 6824 + ERROR_CANT_CROSS_RM_BOUNDARY syscall.Errno = 6825 + ERROR_TXF_DIR_NOT_EMPTY syscall.Errno = 6826 + ERROR_INDOUBT_TRANSACTIONS_EXIST syscall.Errno = 6827 + ERROR_TM_VOLATILE syscall.Errno = 6828 + ERROR_ROLLBACK_TIMER_EXPIRED syscall.Errno = 6829 + ERROR_TXF_ATTRIBUTE_CORRUPT syscall.Errno = 6830 + ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION syscall.Errno = 6831 + ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED syscall.Errno = 6832 + ERROR_LOG_GROWTH_FAILED syscall.Errno = 6833 + ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE syscall.Errno = 6834 + ERROR_TXF_METADATA_ALREADY_PRESENT syscall.Errno = 6835 + ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET syscall.Errno = 6836 + ERROR_TRANSACTION_REQUIRED_PROMOTION syscall.Errno = 6837 + ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION syscall.Errno = 6838 + ERROR_TRANSACTIONS_NOT_FROZEN syscall.Errno = 6839 + ERROR_TRANSACTION_FREEZE_IN_PROGRESS syscall.Errno = 6840 + ERROR_NOT_SNAPSHOT_VOLUME syscall.Errno = 6841 + ERROR_NO_SAVEPOINT_WITH_OPEN_FILES syscall.Errno = 6842 + ERROR_DATA_LOST_REPAIR syscall.Errno = 6843 + ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION syscall.Errno = 6844 + ERROR_TM_IDENTITY_MISMATCH syscall.Errno = 6845 + ERROR_FLOATED_SECTION syscall.Errno = 6846 + ERROR_CANNOT_ACCEPT_TRANSACTED_WORK syscall.Errno = 6847 + ERROR_CANNOT_ABORT_TRANSACTIONS syscall.Errno = 6848 + ERROR_BAD_CLUSTERS syscall.Errno = 6849 + ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION syscall.Errno = 6850 + ERROR_VOLUME_DIRTY syscall.Errno = 6851 + ERROR_NO_LINK_TRACKING_IN_TRANSACTION syscall.Errno = 6852 + ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION syscall.Errno = 6853 + ERROR_EXPIRED_HANDLE syscall.Errno = 6854 + ERROR_TRANSACTION_NOT_ENLISTED syscall.Errno = 6855 + ERROR_CTX_WINSTATION_NAME_INVALID syscall.Errno = 7001 + ERROR_CTX_INVALID_PD syscall.Errno = 7002 + ERROR_CTX_PD_NOT_FOUND syscall.Errno = 7003 + ERROR_CTX_WD_NOT_FOUND syscall.Errno = 7004 + ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY syscall.Errno = 7005 + ERROR_CTX_SERVICE_NAME_COLLISION syscall.Errno = 7006 + ERROR_CTX_CLOSE_PENDING syscall.Errno = 7007 + ERROR_CTX_NO_OUTBUF syscall.Errno = 7008 + ERROR_CTX_MODEM_INF_NOT_FOUND syscall.Errno = 7009 + ERROR_CTX_INVALID_MODEMNAME syscall.Errno = 7010 + ERROR_CTX_MODEM_RESPONSE_ERROR syscall.Errno = 7011 + ERROR_CTX_MODEM_RESPONSE_TIMEOUT syscall.Errno = 7012 + ERROR_CTX_MODEM_RESPONSE_NO_CARRIER syscall.Errno = 7013 + ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE syscall.Errno = 7014 + ERROR_CTX_MODEM_RESPONSE_BUSY syscall.Errno = 7015 + ERROR_CTX_MODEM_RESPONSE_VOICE syscall.Errno = 7016 + ERROR_CTX_TD_ERROR syscall.Errno = 7017 + ERROR_CTX_WINSTATION_NOT_FOUND syscall.Errno = 7022 + ERROR_CTX_WINSTATION_ALREADY_EXISTS syscall.Errno = 7023 + ERROR_CTX_WINSTATION_BUSY syscall.Errno = 7024 + ERROR_CTX_BAD_VIDEO_MODE syscall.Errno = 7025 + ERROR_CTX_GRAPHICS_INVALID syscall.Errno = 7035 + ERROR_CTX_LOGON_DISABLED syscall.Errno = 7037 + ERROR_CTX_NOT_CONSOLE syscall.Errno = 7038 + ERROR_CTX_CLIENT_QUERY_TIMEOUT syscall.Errno = 7040 + ERROR_CTX_CONSOLE_DISCONNECT syscall.Errno = 7041 + ERROR_CTX_CONSOLE_CONNECT syscall.Errno = 7042 + ERROR_CTX_SHADOW_DENIED syscall.Errno = 7044 + ERROR_CTX_WINSTATION_ACCESS_DENIED syscall.Errno = 7045 + ERROR_CTX_INVALID_WD syscall.Errno = 7049 + ERROR_CTX_SHADOW_INVALID syscall.Errno = 7050 + ERROR_CTX_SHADOW_DISABLED syscall.Errno = 7051 + ERROR_CTX_CLIENT_LICENSE_IN_USE syscall.Errno = 7052 + ERROR_CTX_CLIENT_LICENSE_NOT_SET syscall.Errno = 7053 + ERROR_CTX_LICENSE_NOT_AVAILABLE syscall.Errno = 7054 + ERROR_CTX_LICENSE_CLIENT_INVALID syscall.Errno = 7055 + ERROR_CTX_LICENSE_EXPIRED syscall.Errno = 7056 + ERROR_CTX_SHADOW_NOT_RUNNING syscall.Errno = 7057 + ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE syscall.Errno = 7058 + ERROR_ACTIVATION_COUNT_EXCEEDED syscall.Errno = 7059 + ERROR_CTX_WINSTATIONS_DISABLED syscall.Errno = 7060 + ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED syscall.Errno = 7061 + ERROR_CTX_SESSION_IN_USE syscall.Errno = 7062 + ERROR_CTX_NO_FORCE_LOGOFF syscall.Errno = 7063 + ERROR_CTX_ACCOUNT_RESTRICTION syscall.Errno = 7064 + ERROR_RDP_PROTOCOL_ERROR syscall.Errno = 7065 + ERROR_CTX_CDM_CONNECT syscall.Errno = 7066 + ERROR_CTX_CDM_DISCONNECT syscall.Errno = 7067 + ERROR_CTX_SECURITY_LAYER_ERROR syscall.Errno = 7068 + ERROR_TS_INCOMPATIBLE_SESSIONS syscall.Errno = 7069 + ERROR_TS_VIDEO_SUBSYSTEM_ERROR syscall.Errno = 7070 + FRS_ERR_INVALID_API_SEQUENCE syscall.Errno = 8001 + FRS_ERR_STARTING_SERVICE syscall.Errno = 8002 + FRS_ERR_STOPPING_SERVICE syscall.Errno = 8003 + FRS_ERR_INTERNAL_API syscall.Errno = 8004 + FRS_ERR_INTERNAL syscall.Errno = 8005 + FRS_ERR_SERVICE_COMM syscall.Errno = 8006 + FRS_ERR_INSUFFICIENT_PRIV syscall.Errno = 8007 + FRS_ERR_AUTHENTICATION syscall.Errno = 8008 + FRS_ERR_PARENT_INSUFFICIENT_PRIV syscall.Errno = 8009 + FRS_ERR_PARENT_AUTHENTICATION syscall.Errno = 8010 + FRS_ERR_CHILD_TO_PARENT_COMM syscall.Errno = 8011 + FRS_ERR_PARENT_TO_CHILD_COMM syscall.Errno = 8012 + FRS_ERR_SYSVOL_POPULATE syscall.Errno = 8013 + FRS_ERR_SYSVOL_POPULATE_TIMEOUT syscall.Errno = 8014 + FRS_ERR_SYSVOL_IS_BUSY syscall.Errno = 8015 + FRS_ERR_SYSVOL_DEMOTE syscall.Errno = 8016 + FRS_ERR_INVALID_SERVICE_PARAMETER syscall.Errno = 8017 + DS_S_SUCCESS = ERROR_SUCCESS + ERROR_DS_NOT_INSTALLED syscall.Errno = 8200 + ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY syscall.Errno = 8201 + ERROR_DS_NO_ATTRIBUTE_OR_VALUE syscall.Errno = 8202 + ERROR_DS_INVALID_ATTRIBUTE_SYNTAX syscall.Errno = 8203 + ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED syscall.Errno = 8204 + ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS syscall.Errno = 8205 + ERROR_DS_BUSY syscall.Errno = 8206 + ERROR_DS_UNAVAILABLE syscall.Errno = 8207 + ERROR_DS_NO_RIDS_ALLOCATED syscall.Errno = 8208 + ERROR_DS_NO_MORE_RIDS syscall.Errno = 8209 + ERROR_DS_INCORRECT_ROLE_OWNER syscall.Errno = 8210 + ERROR_DS_RIDMGR_INIT_ERROR syscall.Errno = 8211 + ERROR_DS_OBJ_CLASS_VIOLATION syscall.Errno = 8212 + ERROR_DS_CANT_ON_NON_LEAF syscall.Errno = 8213 + ERROR_DS_CANT_ON_RDN syscall.Errno = 8214 + ERROR_DS_CANT_MOD_OBJ_CLASS syscall.Errno = 8215 + ERROR_DS_CROSS_DOM_MOVE_ERROR syscall.Errno = 8216 + ERROR_DS_GC_NOT_AVAILABLE syscall.Errno = 8217 + ERROR_SHARED_POLICY syscall.Errno = 8218 + ERROR_POLICY_OBJECT_NOT_FOUND syscall.Errno = 8219 + ERROR_POLICY_ONLY_IN_DS syscall.Errno = 8220 + ERROR_PROMOTION_ACTIVE syscall.Errno = 8221 + ERROR_NO_PROMOTION_ACTIVE syscall.Errno = 8222 + ERROR_DS_OPERATIONS_ERROR syscall.Errno = 8224 + ERROR_DS_PROTOCOL_ERROR syscall.Errno = 8225 + ERROR_DS_TIMELIMIT_EXCEEDED syscall.Errno = 8226 + ERROR_DS_SIZELIMIT_EXCEEDED syscall.Errno = 8227 + ERROR_DS_ADMIN_LIMIT_EXCEEDED syscall.Errno = 8228 + ERROR_DS_COMPARE_FALSE syscall.Errno = 8229 + ERROR_DS_COMPARE_TRUE syscall.Errno = 8230 + ERROR_DS_AUTH_METHOD_NOT_SUPPORTED syscall.Errno = 8231 + ERROR_DS_STRONG_AUTH_REQUIRED syscall.Errno = 8232 + ERROR_DS_INAPPROPRIATE_AUTH syscall.Errno = 8233 + ERROR_DS_AUTH_UNKNOWN syscall.Errno = 8234 + ERROR_DS_REFERRAL syscall.Errno = 8235 + ERROR_DS_UNAVAILABLE_CRIT_EXTENSION syscall.Errno = 8236 + ERROR_DS_CONFIDENTIALITY_REQUIRED syscall.Errno = 8237 + ERROR_DS_INAPPROPRIATE_MATCHING syscall.Errno = 8238 + ERROR_DS_CONSTRAINT_VIOLATION syscall.Errno = 8239 + ERROR_DS_NO_SUCH_OBJECT syscall.Errno = 8240 + ERROR_DS_ALIAS_PROBLEM syscall.Errno = 8241 + ERROR_DS_INVALID_DN_SYNTAX syscall.Errno = 8242 + ERROR_DS_IS_LEAF syscall.Errno = 8243 + ERROR_DS_ALIAS_DEREF_PROBLEM syscall.Errno = 8244 + ERROR_DS_UNWILLING_TO_PERFORM syscall.Errno = 8245 + ERROR_DS_LOOP_DETECT syscall.Errno = 8246 + ERROR_DS_NAMING_VIOLATION syscall.Errno = 8247 + ERROR_DS_OBJECT_RESULTS_TOO_LARGE syscall.Errno = 8248 + ERROR_DS_AFFECTS_MULTIPLE_DSAS syscall.Errno = 8249 + ERROR_DS_SERVER_DOWN syscall.Errno = 8250 + ERROR_DS_LOCAL_ERROR syscall.Errno = 8251 + ERROR_DS_ENCODING_ERROR syscall.Errno = 8252 + ERROR_DS_DECODING_ERROR syscall.Errno = 8253 + ERROR_DS_FILTER_UNKNOWN syscall.Errno = 8254 + ERROR_DS_PARAM_ERROR syscall.Errno = 8255 + ERROR_DS_NOT_SUPPORTED syscall.Errno = 8256 + ERROR_DS_NO_RESULTS_RETURNED syscall.Errno = 8257 + ERROR_DS_CONTROL_NOT_FOUND syscall.Errno = 8258 + ERROR_DS_CLIENT_LOOP syscall.Errno = 8259 + ERROR_DS_REFERRAL_LIMIT_EXCEEDED syscall.Errno = 8260 + ERROR_DS_SORT_CONTROL_MISSING syscall.Errno = 8261 + ERROR_DS_OFFSET_RANGE_ERROR syscall.Errno = 8262 + ERROR_DS_RIDMGR_DISABLED syscall.Errno = 8263 + ERROR_DS_ROOT_MUST_BE_NC syscall.Errno = 8301 + ERROR_DS_ADD_REPLICA_INHIBITED syscall.Errno = 8302 + ERROR_DS_ATT_NOT_DEF_IN_SCHEMA syscall.Errno = 8303 + ERROR_DS_MAX_OBJ_SIZE_EXCEEDED syscall.Errno = 8304 + ERROR_DS_OBJ_STRING_NAME_EXISTS syscall.Errno = 8305 + ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA syscall.Errno = 8306 + ERROR_DS_RDN_DOESNT_MATCH_SCHEMA syscall.Errno = 8307 + ERROR_DS_NO_REQUESTED_ATTS_FOUND syscall.Errno = 8308 + ERROR_DS_USER_BUFFER_TO_SMALL syscall.Errno = 8309 + ERROR_DS_ATT_IS_NOT_ON_OBJ syscall.Errno = 8310 + ERROR_DS_ILLEGAL_MOD_OPERATION syscall.Errno = 8311 + ERROR_DS_OBJ_TOO_LARGE syscall.Errno = 8312 + ERROR_DS_BAD_INSTANCE_TYPE syscall.Errno = 8313 + ERROR_DS_MASTERDSA_REQUIRED syscall.Errno = 8314 + ERROR_DS_OBJECT_CLASS_REQUIRED syscall.Errno = 8315 + ERROR_DS_MISSING_REQUIRED_ATT syscall.Errno = 8316 + ERROR_DS_ATT_NOT_DEF_FOR_CLASS syscall.Errno = 8317 + ERROR_DS_ATT_ALREADY_EXISTS syscall.Errno = 8318 + ERROR_DS_CANT_ADD_ATT_VALUES syscall.Errno = 8320 + ERROR_DS_SINGLE_VALUE_CONSTRAINT syscall.Errno = 8321 + ERROR_DS_RANGE_CONSTRAINT syscall.Errno = 8322 + ERROR_DS_ATT_VAL_ALREADY_EXISTS syscall.Errno = 8323 + ERROR_DS_CANT_REM_MISSING_ATT syscall.Errno = 8324 + ERROR_DS_CANT_REM_MISSING_ATT_VAL syscall.Errno = 8325 + ERROR_DS_ROOT_CANT_BE_SUBREF syscall.Errno = 8326 + ERROR_DS_NO_CHAINING syscall.Errno = 8327 + ERROR_DS_NO_CHAINED_EVAL syscall.Errno = 8328 + ERROR_DS_NO_PARENT_OBJECT syscall.Errno = 8329 + ERROR_DS_PARENT_IS_AN_ALIAS syscall.Errno = 8330 + ERROR_DS_CANT_MIX_MASTER_AND_REPS syscall.Errno = 8331 + ERROR_DS_CHILDREN_EXIST syscall.Errno = 8332 + ERROR_DS_OBJ_NOT_FOUND syscall.Errno = 8333 + ERROR_DS_ALIASED_OBJ_MISSING syscall.Errno = 8334 + ERROR_DS_BAD_NAME_SYNTAX syscall.Errno = 8335 + ERROR_DS_ALIAS_POINTS_TO_ALIAS syscall.Errno = 8336 + ERROR_DS_CANT_DEREF_ALIAS syscall.Errno = 8337 + ERROR_DS_OUT_OF_SCOPE syscall.Errno = 8338 + ERROR_DS_OBJECT_BEING_REMOVED syscall.Errno = 8339 + ERROR_DS_CANT_DELETE_DSA_OBJ syscall.Errno = 8340 + ERROR_DS_GENERIC_ERROR syscall.Errno = 8341 + ERROR_DS_DSA_MUST_BE_INT_MASTER syscall.Errno = 8342 + ERROR_DS_CLASS_NOT_DSA syscall.Errno = 8343 + ERROR_DS_INSUFF_ACCESS_RIGHTS syscall.Errno = 8344 + ERROR_DS_ILLEGAL_SUPERIOR syscall.Errno = 8345 + ERROR_DS_ATTRIBUTE_OWNED_BY_SAM syscall.Errno = 8346 + ERROR_DS_NAME_TOO_MANY_PARTS syscall.Errno = 8347 + ERROR_DS_NAME_TOO_LONG syscall.Errno = 8348 + ERROR_DS_NAME_VALUE_TOO_LONG syscall.Errno = 8349 + ERROR_DS_NAME_UNPARSEABLE syscall.Errno = 8350 + ERROR_DS_NAME_TYPE_UNKNOWN syscall.Errno = 8351 + ERROR_DS_NOT_AN_OBJECT syscall.Errno = 8352 + ERROR_DS_SEC_DESC_TOO_SHORT syscall.Errno = 8353 + ERROR_DS_SEC_DESC_INVALID syscall.Errno = 8354 + ERROR_DS_NO_DELETED_NAME syscall.Errno = 8355 + ERROR_DS_SUBREF_MUST_HAVE_PARENT syscall.Errno = 8356 + ERROR_DS_NCNAME_MUST_BE_NC syscall.Errno = 8357 + ERROR_DS_CANT_ADD_SYSTEM_ONLY syscall.Errno = 8358 + ERROR_DS_CLASS_MUST_BE_CONCRETE syscall.Errno = 8359 + ERROR_DS_INVALID_DMD syscall.Errno = 8360 + ERROR_DS_OBJ_GUID_EXISTS syscall.Errno = 8361 + ERROR_DS_NOT_ON_BACKLINK syscall.Errno = 8362 + ERROR_DS_NO_CROSSREF_FOR_NC syscall.Errno = 8363 + ERROR_DS_SHUTTING_DOWN syscall.Errno = 8364 + ERROR_DS_UNKNOWN_OPERATION syscall.Errno = 8365 + ERROR_DS_INVALID_ROLE_OWNER syscall.Errno = 8366 + ERROR_DS_COULDNT_CONTACT_FSMO syscall.Errno = 8367 + ERROR_DS_CROSS_NC_DN_RENAME syscall.Errno = 8368 + ERROR_DS_CANT_MOD_SYSTEM_ONLY syscall.Errno = 8369 + ERROR_DS_REPLICATOR_ONLY syscall.Errno = 8370 + ERROR_DS_OBJ_CLASS_NOT_DEFINED syscall.Errno = 8371 + ERROR_DS_OBJ_CLASS_NOT_SUBCLASS syscall.Errno = 8372 + ERROR_DS_NAME_REFERENCE_INVALID syscall.Errno = 8373 + ERROR_DS_CROSS_REF_EXISTS syscall.Errno = 8374 + ERROR_DS_CANT_DEL_MASTER_CROSSREF syscall.Errno = 8375 + ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD syscall.Errno = 8376 + ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX syscall.Errno = 8377 + ERROR_DS_DUP_RDN syscall.Errno = 8378 + ERROR_DS_DUP_OID syscall.Errno = 8379 + ERROR_DS_DUP_MAPI_ID syscall.Errno = 8380 + ERROR_DS_DUP_SCHEMA_ID_GUID syscall.Errno = 8381 + ERROR_DS_DUP_LDAP_DISPLAY_NAME syscall.Errno = 8382 + ERROR_DS_SEMANTIC_ATT_TEST syscall.Errno = 8383 + ERROR_DS_SYNTAX_MISMATCH syscall.Errno = 8384 + ERROR_DS_EXISTS_IN_MUST_HAVE syscall.Errno = 8385 + ERROR_DS_EXISTS_IN_MAY_HAVE syscall.Errno = 8386 + ERROR_DS_NONEXISTENT_MAY_HAVE syscall.Errno = 8387 + ERROR_DS_NONEXISTENT_MUST_HAVE syscall.Errno = 8388 + ERROR_DS_AUX_CLS_TEST_FAIL syscall.Errno = 8389 + ERROR_DS_NONEXISTENT_POSS_SUP syscall.Errno = 8390 + ERROR_DS_SUB_CLS_TEST_FAIL syscall.Errno = 8391 + ERROR_DS_BAD_RDN_ATT_ID_SYNTAX syscall.Errno = 8392 + ERROR_DS_EXISTS_IN_AUX_CLS syscall.Errno = 8393 + ERROR_DS_EXISTS_IN_SUB_CLS syscall.Errno = 8394 + ERROR_DS_EXISTS_IN_POSS_SUP syscall.Errno = 8395 + ERROR_DS_RECALCSCHEMA_FAILED syscall.Errno = 8396 + ERROR_DS_TREE_DELETE_NOT_FINISHED syscall.Errno = 8397 + ERROR_DS_CANT_DELETE syscall.Errno = 8398 + ERROR_DS_ATT_SCHEMA_REQ_ID syscall.Errno = 8399 + ERROR_DS_BAD_ATT_SCHEMA_SYNTAX syscall.Errno = 8400 + ERROR_DS_CANT_CACHE_ATT syscall.Errno = 8401 + ERROR_DS_CANT_CACHE_CLASS syscall.Errno = 8402 + ERROR_DS_CANT_REMOVE_ATT_CACHE syscall.Errno = 8403 + ERROR_DS_CANT_REMOVE_CLASS_CACHE syscall.Errno = 8404 + ERROR_DS_CANT_RETRIEVE_DN syscall.Errno = 8405 + ERROR_DS_MISSING_SUPREF syscall.Errno = 8406 + ERROR_DS_CANT_RETRIEVE_INSTANCE syscall.Errno = 8407 + ERROR_DS_CODE_INCONSISTENCY syscall.Errno = 8408 + ERROR_DS_DATABASE_ERROR syscall.Errno = 8409 + ERROR_DS_GOVERNSID_MISSING syscall.Errno = 8410 + ERROR_DS_MISSING_EXPECTED_ATT syscall.Errno = 8411 + ERROR_DS_NCNAME_MISSING_CR_REF syscall.Errno = 8412 + ERROR_DS_SECURITY_CHECKING_ERROR syscall.Errno = 8413 + ERROR_DS_SCHEMA_NOT_LOADED syscall.Errno = 8414 + ERROR_DS_SCHEMA_ALLOC_FAILED syscall.Errno = 8415 + ERROR_DS_ATT_SCHEMA_REQ_SYNTAX syscall.Errno = 8416 + ERROR_DS_GCVERIFY_ERROR syscall.Errno = 8417 + ERROR_DS_DRA_SCHEMA_MISMATCH syscall.Errno = 8418 + ERROR_DS_CANT_FIND_DSA_OBJ syscall.Errno = 8419 + ERROR_DS_CANT_FIND_EXPECTED_NC syscall.Errno = 8420 + ERROR_DS_CANT_FIND_NC_IN_CACHE syscall.Errno = 8421 + ERROR_DS_CANT_RETRIEVE_CHILD syscall.Errno = 8422 + ERROR_DS_SECURITY_ILLEGAL_MODIFY syscall.Errno = 8423 + ERROR_DS_CANT_REPLACE_HIDDEN_REC syscall.Errno = 8424 + ERROR_DS_BAD_HIERARCHY_FILE syscall.Errno = 8425 + ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED syscall.Errno = 8426 + ERROR_DS_CONFIG_PARAM_MISSING syscall.Errno = 8427 + ERROR_DS_COUNTING_AB_INDICES_FAILED syscall.Errno = 8428 + ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED syscall.Errno = 8429 + ERROR_DS_INTERNAL_FAILURE syscall.Errno = 8430 + ERROR_DS_UNKNOWN_ERROR syscall.Errno = 8431 + ERROR_DS_ROOT_REQUIRES_CLASS_TOP syscall.Errno = 8432 + ERROR_DS_REFUSING_FSMO_ROLES syscall.Errno = 8433 + ERROR_DS_MISSING_FSMO_SETTINGS syscall.Errno = 8434 + ERROR_DS_UNABLE_TO_SURRENDER_ROLES syscall.Errno = 8435 + ERROR_DS_DRA_GENERIC syscall.Errno = 8436 + ERROR_DS_DRA_INVALID_PARAMETER syscall.Errno = 8437 + ERROR_DS_DRA_BUSY syscall.Errno = 8438 + ERROR_DS_DRA_BAD_DN syscall.Errno = 8439 + ERROR_DS_DRA_BAD_NC syscall.Errno = 8440 + ERROR_DS_DRA_DN_EXISTS syscall.Errno = 8441 + ERROR_DS_DRA_INTERNAL_ERROR syscall.Errno = 8442 + ERROR_DS_DRA_INCONSISTENT_DIT syscall.Errno = 8443 + ERROR_DS_DRA_CONNECTION_FAILED syscall.Errno = 8444 + ERROR_DS_DRA_BAD_INSTANCE_TYPE syscall.Errno = 8445 + ERROR_DS_DRA_OUT_OF_MEM syscall.Errno = 8446 + ERROR_DS_DRA_MAIL_PROBLEM syscall.Errno = 8447 + ERROR_DS_DRA_REF_ALREADY_EXISTS syscall.Errno = 8448 + ERROR_DS_DRA_REF_NOT_FOUND syscall.Errno = 8449 + ERROR_DS_DRA_OBJ_IS_REP_SOURCE syscall.Errno = 8450 + ERROR_DS_DRA_DB_ERROR syscall.Errno = 8451 + ERROR_DS_DRA_NO_REPLICA syscall.Errno = 8452 + ERROR_DS_DRA_ACCESS_DENIED syscall.Errno = 8453 + ERROR_DS_DRA_NOT_SUPPORTED syscall.Errno = 8454 + ERROR_DS_DRA_RPC_CANCELLED syscall.Errno = 8455 + ERROR_DS_DRA_SOURCE_DISABLED syscall.Errno = 8456 + ERROR_DS_DRA_SINK_DISABLED syscall.Errno = 8457 + ERROR_DS_DRA_NAME_COLLISION syscall.Errno = 8458 + ERROR_DS_DRA_SOURCE_REINSTALLED syscall.Errno = 8459 + ERROR_DS_DRA_MISSING_PARENT syscall.Errno = 8460 + ERROR_DS_DRA_PREEMPTED syscall.Errno = 8461 + ERROR_DS_DRA_ABANDON_SYNC syscall.Errno = 8462 + ERROR_DS_DRA_SHUTDOWN syscall.Errno = 8463 + ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET syscall.Errno = 8464 + ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA syscall.Errno = 8465 + ERROR_DS_DRA_EXTN_CONNECTION_FAILED syscall.Errno = 8466 + ERROR_DS_INSTALL_SCHEMA_MISMATCH syscall.Errno = 8467 + ERROR_DS_DUP_LINK_ID syscall.Errno = 8468 + ERROR_DS_NAME_ERROR_RESOLVING syscall.Errno = 8469 + ERROR_DS_NAME_ERROR_NOT_FOUND syscall.Errno = 8470 + ERROR_DS_NAME_ERROR_NOT_UNIQUE syscall.Errno = 8471 + ERROR_DS_NAME_ERROR_NO_MAPPING syscall.Errno = 8472 + ERROR_DS_NAME_ERROR_DOMAIN_ONLY syscall.Errno = 8473 + ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING syscall.Errno = 8474 + ERROR_DS_CONSTRUCTED_ATT_MOD syscall.Errno = 8475 + ERROR_DS_WRONG_OM_OBJ_CLASS syscall.Errno = 8476 + ERROR_DS_DRA_REPL_PENDING syscall.Errno = 8477 + ERROR_DS_DS_REQUIRED syscall.Errno = 8478 + ERROR_DS_INVALID_LDAP_DISPLAY_NAME syscall.Errno = 8479 + ERROR_DS_NON_BASE_SEARCH syscall.Errno = 8480 + ERROR_DS_CANT_RETRIEVE_ATTS syscall.Errno = 8481 + ERROR_DS_BACKLINK_WITHOUT_LINK syscall.Errno = 8482 + ERROR_DS_EPOCH_MISMATCH syscall.Errno = 8483 + ERROR_DS_SRC_NAME_MISMATCH syscall.Errno = 8484 + ERROR_DS_SRC_AND_DST_NC_IDENTICAL syscall.Errno = 8485 + ERROR_DS_DST_NC_MISMATCH syscall.Errno = 8486 + ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC syscall.Errno = 8487 + ERROR_DS_SRC_GUID_MISMATCH syscall.Errno = 8488 + ERROR_DS_CANT_MOVE_DELETED_OBJECT syscall.Errno = 8489 + ERROR_DS_PDC_OPERATION_IN_PROGRESS syscall.Errno = 8490 + ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD syscall.Errno = 8491 + ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION syscall.Errno = 8492 + ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS syscall.Errno = 8493 + ERROR_DS_NC_MUST_HAVE_NC_PARENT syscall.Errno = 8494 + ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE syscall.Errno = 8495 + ERROR_DS_DST_DOMAIN_NOT_NATIVE syscall.Errno = 8496 + ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER syscall.Errno = 8497 + ERROR_DS_CANT_MOVE_ACCOUNT_GROUP syscall.Errno = 8498 + ERROR_DS_CANT_MOVE_RESOURCE_GROUP syscall.Errno = 8499 + ERROR_DS_INVALID_SEARCH_FLAG syscall.Errno = 8500 + ERROR_DS_NO_TREE_DELETE_ABOVE_NC syscall.Errno = 8501 + ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE syscall.Errno = 8502 + ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE syscall.Errno = 8503 + ERROR_DS_SAM_INIT_FAILURE syscall.Errno = 8504 + ERROR_DS_SENSITIVE_GROUP_VIOLATION syscall.Errno = 8505 + ERROR_DS_CANT_MOD_PRIMARYGROUPID syscall.Errno = 8506 + ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD syscall.Errno = 8507 + ERROR_DS_NONSAFE_SCHEMA_CHANGE syscall.Errno = 8508 + ERROR_DS_SCHEMA_UPDATE_DISALLOWED syscall.Errno = 8509 + ERROR_DS_CANT_CREATE_UNDER_SCHEMA syscall.Errno = 8510 + ERROR_DS_INSTALL_NO_SRC_SCH_VERSION syscall.Errno = 8511 + ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE syscall.Errno = 8512 + ERROR_DS_INVALID_GROUP_TYPE syscall.Errno = 8513 + ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN syscall.Errno = 8514 + ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN syscall.Errno = 8515 + ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER syscall.Errno = 8516 + ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER syscall.Errno = 8517 + ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER syscall.Errno = 8518 + ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER syscall.Errno = 8519 + ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER syscall.Errno = 8520 + ERROR_DS_HAVE_PRIMARY_MEMBERS syscall.Errno = 8521 + ERROR_DS_STRING_SD_CONVERSION_FAILED syscall.Errno = 8522 + ERROR_DS_NAMING_MASTER_GC syscall.Errno = 8523 + ERROR_DS_DNS_LOOKUP_FAILURE syscall.Errno = 8524 + ERROR_DS_COULDNT_UPDATE_SPNS syscall.Errno = 8525 + ERROR_DS_CANT_RETRIEVE_SD syscall.Errno = 8526 + ERROR_DS_KEY_NOT_UNIQUE syscall.Errno = 8527 + ERROR_DS_WRONG_LINKED_ATT_SYNTAX syscall.Errno = 8528 + ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD syscall.Errno = 8529 + ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY syscall.Errno = 8530 + ERROR_DS_CANT_START syscall.Errno = 8531 + ERROR_DS_INIT_FAILURE syscall.Errno = 8532 + ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION syscall.Errno = 8533 + ERROR_DS_SOURCE_DOMAIN_IN_FOREST syscall.Errno = 8534 + ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST syscall.Errno = 8535 + ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED syscall.Errno = 8536 + ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN syscall.Errno = 8537 + ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER syscall.Errno = 8538 + ERROR_DS_SRC_SID_EXISTS_IN_FOREST syscall.Errno = 8539 + ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH syscall.Errno = 8540 + ERROR_SAM_INIT_FAILURE syscall.Errno = 8541 + ERROR_DS_DRA_SCHEMA_INFO_SHIP syscall.Errno = 8542 + ERROR_DS_DRA_SCHEMA_CONFLICT syscall.Errno = 8543 + ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT syscall.Errno = 8544 + ERROR_DS_DRA_OBJ_NC_MISMATCH syscall.Errno = 8545 + ERROR_DS_NC_STILL_HAS_DSAS syscall.Errno = 8546 + ERROR_DS_GC_REQUIRED syscall.Errno = 8547 + ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY syscall.Errno = 8548 + ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS syscall.Errno = 8549 + ERROR_DS_CANT_ADD_TO_GC syscall.Errno = 8550 + ERROR_DS_NO_CHECKPOINT_WITH_PDC syscall.Errno = 8551 + ERROR_DS_SOURCE_AUDITING_NOT_ENABLED syscall.Errno = 8552 + ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC syscall.Errno = 8553 + ERROR_DS_INVALID_NAME_FOR_SPN syscall.Errno = 8554 + ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS syscall.Errno = 8555 + ERROR_DS_UNICODEPWD_NOT_IN_QUOTES syscall.Errno = 8556 + ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED syscall.Errno = 8557 + ERROR_DS_MUST_BE_RUN_ON_DST_DC syscall.Errno = 8558 + ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER syscall.Errno = 8559 + ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ syscall.Errno = 8560 + ERROR_DS_INIT_FAILURE_CONSOLE syscall.Errno = 8561 + ERROR_DS_SAM_INIT_FAILURE_CONSOLE syscall.Errno = 8562 + ERROR_DS_FOREST_VERSION_TOO_HIGH syscall.Errno = 8563 + ERROR_DS_DOMAIN_VERSION_TOO_HIGH syscall.Errno = 8564 + ERROR_DS_FOREST_VERSION_TOO_LOW syscall.Errno = 8565 + ERROR_DS_DOMAIN_VERSION_TOO_LOW syscall.Errno = 8566 + ERROR_DS_INCOMPATIBLE_VERSION syscall.Errno = 8567 + ERROR_DS_LOW_DSA_VERSION syscall.Errno = 8568 + ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN syscall.Errno = 8569 + ERROR_DS_NOT_SUPPORTED_SORT_ORDER syscall.Errno = 8570 + ERROR_DS_NAME_NOT_UNIQUE syscall.Errno = 8571 + ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 syscall.Errno = 8572 + ERROR_DS_OUT_OF_VERSION_STORE syscall.Errno = 8573 + ERROR_DS_INCOMPATIBLE_CONTROLS_USED syscall.Errno = 8574 + ERROR_DS_NO_REF_DOMAIN syscall.Errno = 8575 + ERROR_DS_RESERVED_LINK_ID syscall.Errno = 8576 + ERROR_DS_LINK_ID_NOT_AVAILABLE syscall.Errno = 8577 + ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER syscall.Errno = 8578 + ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE syscall.Errno = 8579 + ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC syscall.Errno = 8580 + ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG syscall.Errno = 8581 + ERROR_DS_MODIFYDN_WRONG_GRANDPARENT syscall.Errno = 8582 + ERROR_DS_NAME_ERROR_TRUST_REFERRAL syscall.Errno = 8583 + ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER syscall.Errno = 8584 + ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD syscall.Errno = 8585 + ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 syscall.Errno = 8586 + ERROR_DS_THREAD_LIMIT_EXCEEDED syscall.Errno = 8587 + ERROR_DS_NOT_CLOSEST syscall.Errno = 8588 + ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF syscall.Errno = 8589 + ERROR_DS_SINGLE_USER_MODE_FAILED syscall.Errno = 8590 + ERROR_DS_NTDSCRIPT_SYNTAX_ERROR syscall.Errno = 8591 + ERROR_DS_NTDSCRIPT_PROCESS_ERROR syscall.Errno = 8592 + ERROR_DS_DIFFERENT_REPL_EPOCHS syscall.Errno = 8593 + ERROR_DS_DRS_EXTENSIONS_CHANGED syscall.Errno = 8594 + ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR syscall.Errno = 8595 + ERROR_DS_NO_MSDS_INTID syscall.Errno = 8596 + ERROR_DS_DUP_MSDS_INTID syscall.Errno = 8597 + ERROR_DS_EXISTS_IN_RDNATTID syscall.Errno = 8598 + ERROR_DS_AUTHORIZATION_FAILED syscall.Errno = 8599 + ERROR_DS_INVALID_SCRIPT syscall.Errno = 8600 + ERROR_DS_REMOTE_CROSSREF_OP_FAILED syscall.Errno = 8601 + ERROR_DS_CROSS_REF_BUSY syscall.Errno = 8602 + ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN syscall.Errno = 8603 + ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC syscall.Errno = 8604 + ERROR_DS_DUPLICATE_ID_FOUND syscall.Errno = 8605 + ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT syscall.Errno = 8606 + ERROR_DS_GROUP_CONVERSION_ERROR syscall.Errno = 8607 + ERROR_DS_CANT_MOVE_APP_BASIC_GROUP syscall.Errno = 8608 + ERROR_DS_CANT_MOVE_APP_QUERY_GROUP syscall.Errno = 8609 + ERROR_DS_ROLE_NOT_VERIFIED syscall.Errno = 8610 + ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL syscall.Errno = 8611 + ERROR_DS_DOMAIN_RENAME_IN_PROGRESS syscall.Errno = 8612 + ERROR_DS_EXISTING_AD_CHILD_NC syscall.Errno = 8613 + ERROR_DS_REPL_LIFETIME_EXCEEDED syscall.Errno = 8614 + ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER syscall.Errno = 8615 + ERROR_DS_LDAP_SEND_QUEUE_FULL syscall.Errno = 8616 + ERROR_DS_DRA_OUT_SCHEDULE_WINDOW syscall.Errno = 8617 + ERROR_DS_POLICY_NOT_KNOWN syscall.Errno = 8618 + ERROR_NO_SITE_SETTINGS_OBJECT syscall.Errno = 8619 + ERROR_NO_SECRETS syscall.Errno = 8620 + ERROR_NO_WRITABLE_DC_FOUND syscall.Errno = 8621 + ERROR_DS_NO_SERVER_OBJECT syscall.Errno = 8622 + ERROR_DS_NO_NTDSA_OBJECT syscall.Errno = 8623 + ERROR_DS_NON_ASQ_SEARCH syscall.Errno = 8624 + ERROR_DS_AUDIT_FAILURE syscall.Errno = 8625 + ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE syscall.Errno = 8626 + ERROR_DS_INVALID_SEARCH_FLAG_TUPLE syscall.Errno = 8627 + ERROR_DS_HIERARCHY_TABLE_TOO_DEEP syscall.Errno = 8628 + ERROR_DS_DRA_CORRUPT_UTD_VECTOR syscall.Errno = 8629 + ERROR_DS_DRA_SECRETS_DENIED syscall.Errno = 8630 + ERROR_DS_RESERVED_MAPI_ID syscall.Errno = 8631 + ERROR_DS_MAPI_ID_NOT_AVAILABLE syscall.Errno = 8632 + ERROR_DS_DRA_MISSING_KRBTGT_SECRET syscall.Errno = 8633 + ERROR_DS_DOMAIN_NAME_EXISTS_IN_FOREST syscall.Errno = 8634 + ERROR_DS_FLAT_NAME_EXISTS_IN_FOREST syscall.Errno = 8635 + ERROR_INVALID_USER_PRINCIPAL_NAME syscall.Errno = 8636 + ERROR_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS syscall.Errno = 8637 + ERROR_DS_OID_NOT_FOUND syscall.Errno = 8638 + ERROR_DS_DRA_RECYCLED_TARGET syscall.Errno = 8639 + ERROR_DS_DISALLOWED_NC_REDIRECT syscall.Errno = 8640 + ERROR_DS_HIGH_ADLDS_FFL syscall.Errno = 8641 + ERROR_DS_HIGH_DSA_VERSION syscall.Errno = 8642 + ERROR_DS_LOW_ADLDS_FFL syscall.Errno = 8643 + ERROR_DOMAIN_SID_SAME_AS_LOCAL_WORKSTATION syscall.Errno = 8644 + ERROR_DS_UNDELETE_SAM_VALIDATION_FAILED syscall.Errno = 8645 + ERROR_INCORRECT_ACCOUNT_TYPE syscall.Errno = 8646 + ERROR_DS_SPN_VALUE_NOT_UNIQUE_IN_FOREST syscall.Errno = 8647 + ERROR_DS_UPN_VALUE_NOT_UNIQUE_IN_FOREST syscall.Errno = 8648 + ERROR_DS_MISSING_FOREST_TRUST syscall.Errno = 8649 + ERROR_DS_VALUE_KEY_NOT_UNIQUE syscall.Errno = 8650 + DNS_ERROR_RESPONSE_CODES_BASE syscall.Errno = 9000 + DNS_ERROR_RCODE_NO_ERROR = ERROR_SUCCESS + DNS_ERROR_MASK syscall.Errno = 0x00002328 + DNS_ERROR_RCODE_FORMAT_ERROR syscall.Errno = 9001 + DNS_ERROR_RCODE_SERVER_FAILURE syscall.Errno = 9002 + DNS_ERROR_RCODE_NAME_ERROR syscall.Errno = 9003 + DNS_ERROR_RCODE_NOT_IMPLEMENTED syscall.Errno = 9004 + DNS_ERROR_RCODE_REFUSED syscall.Errno = 9005 + DNS_ERROR_RCODE_YXDOMAIN syscall.Errno = 9006 + DNS_ERROR_RCODE_YXRRSET syscall.Errno = 9007 + DNS_ERROR_RCODE_NXRRSET syscall.Errno = 9008 + DNS_ERROR_RCODE_NOTAUTH syscall.Errno = 9009 + DNS_ERROR_RCODE_NOTZONE syscall.Errno = 9010 + DNS_ERROR_RCODE_BADSIG syscall.Errno = 9016 + DNS_ERROR_RCODE_BADKEY syscall.Errno = 9017 + DNS_ERROR_RCODE_BADTIME syscall.Errno = 9018 + DNS_ERROR_RCODE_LAST = DNS_ERROR_RCODE_BADTIME + DNS_ERROR_DNSSEC_BASE syscall.Errno = 9100 + DNS_ERROR_KEYMASTER_REQUIRED syscall.Errno = 9101 + DNS_ERROR_NOT_ALLOWED_ON_SIGNED_ZONE syscall.Errno = 9102 + DNS_ERROR_NSEC3_INCOMPATIBLE_WITH_RSA_SHA1 syscall.Errno = 9103 + DNS_ERROR_NOT_ENOUGH_SIGNING_KEY_DESCRIPTORS syscall.Errno = 9104 + DNS_ERROR_UNSUPPORTED_ALGORITHM syscall.Errno = 9105 + DNS_ERROR_INVALID_KEY_SIZE syscall.Errno = 9106 + DNS_ERROR_SIGNING_KEY_NOT_ACCESSIBLE syscall.Errno = 9107 + DNS_ERROR_KSP_DOES_NOT_SUPPORT_PROTECTION syscall.Errno = 9108 + DNS_ERROR_UNEXPECTED_DATA_PROTECTION_ERROR syscall.Errno = 9109 + DNS_ERROR_UNEXPECTED_CNG_ERROR syscall.Errno = 9110 + DNS_ERROR_UNKNOWN_SIGNING_PARAMETER_VERSION syscall.Errno = 9111 + DNS_ERROR_KSP_NOT_ACCESSIBLE syscall.Errno = 9112 + DNS_ERROR_TOO_MANY_SKDS syscall.Errno = 9113 + DNS_ERROR_INVALID_ROLLOVER_PERIOD syscall.Errno = 9114 + DNS_ERROR_INVALID_INITIAL_ROLLOVER_OFFSET syscall.Errno = 9115 + DNS_ERROR_ROLLOVER_IN_PROGRESS syscall.Errno = 9116 + DNS_ERROR_STANDBY_KEY_NOT_PRESENT syscall.Errno = 9117 + DNS_ERROR_NOT_ALLOWED_ON_ZSK syscall.Errno = 9118 + DNS_ERROR_NOT_ALLOWED_ON_ACTIVE_SKD syscall.Errno = 9119 + DNS_ERROR_ROLLOVER_ALREADY_QUEUED syscall.Errno = 9120 + DNS_ERROR_NOT_ALLOWED_ON_UNSIGNED_ZONE syscall.Errno = 9121 + DNS_ERROR_BAD_KEYMASTER syscall.Errno = 9122 + DNS_ERROR_INVALID_SIGNATURE_VALIDITY_PERIOD syscall.Errno = 9123 + DNS_ERROR_INVALID_NSEC3_ITERATION_COUNT syscall.Errno = 9124 + DNS_ERROR_DNSSEC_IS_DISABLED syscall.Errno = 9125 + DNS_ERROR_INVALID_XML syscall.Errno = 9126 + DNS_ERROR_NO_VALID_TRUST_ANCHORS syscall.Errno = 9127 + DNS_ERROR_ROLLOVER_NOT_POKEABLE syscall.Errno = 9128 + DNS_ERROR_NSEC3_NAME_COLLISION syscall.Errno = 9129 + DNS_ERROR_NSEC_INCOMPATIBLE_WITH_NSEC3_RSA_SHA1 syscall.Errno = 9130 + DNS_ERROR_PACKET_FMT_BASE syscall.Errno = 9500 + DNS_INFO_NO_RECORDS syscall.Errno = 9501 + DNS_ERROR_BAD_PACKET syscall.Errno = 9502 + DNS_ERROR_NO_PACKET syscall.Errno = 9503 + DNS_ERROR_RCODE syscall.Errno = 9504 + DNS_ERROR_UNSECURE_PACKET syscall.Errno = 9505 + DNS_STATUS_PACKET_UNSECURE = DNS_ERROR_UNSECURE_PACKET + DNS_REQUEST_PENDING syscall.Errno = 9506 + DNS_ERROR_NO_MEMORY = ERROR_OUTOFMEMORY + DNS_ERROR_INVALID_NAME = ERROR_INVALID_NAME + DNS_ERROR_INVALID_DATA = ERROR_INVALID_DATA + DNS_ERROR_GENERAL_API_BASE syscall.Errno = 9550 + DNS_ERROR_INVALID_TYPE syscall.Errno = 9551 + DNS_ERROR_INVALID_IP_ADDRESS syscall.Errno = 9552 + DNS_ERROR_INVALID_PROPERTY syscall.Errno = 9553 + DNS_ERROR_TRY_AGAIN_LATER syscall.Errno = 9554 + DNS_ERROR_NOT_UNIQUE syscall.Errno = 9555 + DNS_ERROR_NON_RFC_NAME syscall.Errno = 9556 + DNS_STATUS_FQDN syscall.Errno = 9557 + DNS_STATUS_DOTTED_NAME syscall.Errno = 9558 + DNS_STATUS_SINGLE_PART_NAME syscall.Errno = 9559 + DNS_ERROR_INVALID_NAME_CHAR syscall.Errno = 9560 + DNS_ERROR_NUMERIC_NAME syscall.Errno = 9561 + DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER syscall.Errno = 9562 + DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION syscall.Errno = 9563 + DNS_ERROR_CANNOT_FIND_ROOT_HINTS syscall.Errno = 9564 + DNS_ERROR_INCONSISTENT_ROOT_HINTS syscall.Errno = 9565 + DNS_ERROR_DWORD_VALUE_TOO_SMALL syscall.Errno = 9566 + DNS_ERROR_DWORD_VALUE_TOO_LARGE syscall.Errno = 9567 + DNS_ERROR_BACKGROUND_LOADING syscall.Errno = 9568 + DNS_ERROR_NOT_ALLOWED_ON_RODC syscall.Errno = 9569 + DNS_ERROR_NOT_ALLOWED_UNDER_DNAME syscall.Errno = 9570 + DNS_ERROR_DELEGATION_REQUIRED syscall.Errno = 9571 + DNS_ERROR_INVALID_POLICY_TABLE syscall.Errno = 9572 + DNS_ERROR_ADDRESS_REQUIRED syscall.Errno = 9573 + DNS_ERROR_ZONE_BASE syscall.Errno = 9600 + DNS_ERROR_ZONE_DOES_NOT_EXIST syscall.Errno = 9601 + DNS_ERROR_NO_ZONE_INFO syscall.Errno = 9602 + DNS_ERROR_INVALID_ZONE_OPERATION syscall.Errno = 9603 + DNS_ERROR_ZONE_CONFIGURATION_ERROR syscall.Errno = 9604 + DNS_ERROR_ZONE_HAS_NO_SOA_RECORD syscall.Errno = 9605 + DNS_ERROR_ZONE_HAS_NO_NS_RECORDS syscall.Errno = 9606 + DNS_ERROR_ZONE_LOCKED syscall.Errno = 9607 + DNS_ERROR_ZONE_CREATION_FAILED syscall.Errno = 9608 + DNS_ERROR_ZONE_ALREADY_EXISTS syscall.Errno = 9609 + DNS_ERROR_AUTOZONE_ALREADY_EXISTS syscall.Errno = 9610 + DNS_ERROR_INVALID_ZONE_TYPE syscall.Errno = 9611 + DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP syscall.Errno = 9612 + DNS_ERROR_ZONE_NOT_SECONDARY syscall.Errno = 9613 + DNS_ERROR_NEED_SECONDARY_ADDRESSES syscall.Errno = 9614 + DNS_ERROR_WINS_INIT_FAILED syscall.Errno = 9615 + DNS_ERROR_NEED_WINS_SERVERS syscall.Errno = 9616 + DNS_ERROR_NBSTAT_INIT_FAILED syscall.Errno = 9617 + DNS_ERROR_SOA_DELETE_INVALID syscall.Errno = 9618 + DNS_ERROR_FORWARDER_ALREADY_EXISTS syscall.Errno = 9619 + DNS_ERROR_ZONE_REQUIRES_MASTER_IP syscall.Errno = 9620 + DNS_ERROR_ZONE_IS_SHUTDOWN syscall.Errno = 9621 + DNS_ERROR_ZONE_LOCKED_FOR_SIGNING syscall.Errno = 9622 + DNS_ERROR_DATAFILE_BASE syscall.Errno = 9650 + DNS_ERROR_PRIMARY_REQUIRES_DATAFILE syscall.Errno = 9651 + DNS_ERROR_INVALID_DATAFILE_NAME syscall.Errno = 9652 + DNS_ERROR_DATAFILE_OPEN_FAILURE syscall.Errno = 9653 + DNS_ERROR_FILE_WRITEBACK_FAILED syscall.Errno = 9654 + DNS_ERROR_DATAFILE_PARSING syscall.Errno = 9655 + DNS_ERROR_DATABASE_BASE syscall.Errno = 9700 + DNS_ERROR_RECORD_DOES_NOT_EXIST syscall.Errno = 9701 + DNS_ERROR_RECORD_FORMAT syscall.Errno = 9702 + DNS_ERROR_NODE_CREATION_FAILED syscall.Errno = 9703 + DNS_ERROR_UNKNOWN_RECORD_TYPE syscall.Errno = 9704 + DNS_ERROR_RECORD_TIMED_OUT syscall.Errno = 9705 + DNS_ERROR_NAME_NOT_IN_ZONE syscall.Errno = 9706 + DNS_ERROR_CNAME_LOOP syscall.Errno = 9707 + DNS_ERROR_NODE_IS_CNAME syscall.Errno = 9708 + DNS_ERROR_CNAME_COLLISION syscall.Errno = 9709 + DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT syscall.Errno = 9710 + DNS_ERROR_RECORD_ALREADY_EXISTS syscall.Errno = 9711 + DNS_ERROR_SECONDARY_DATA syscall.Errno = 9712 + DNS_ERROR_NO_CREATE_CACHE_DATA syscall.Errno = 9713 + DNS_ERROR_NAME_DOES_NOT_EXIST syscall.Errno = 9714 + DNS_WARNING_PTR_CREATE_FAILED syscall.Errno = 9715 + DNS_WARNING_DOMAIN_UNDELETED syscall.Errno = 9716 + DNS_ERROR_DS_UNAVAILABLE syscall.Errno = 9717 + DNS_ERROR_DS_ZONE_ALREADY_EXISTS syscall.Errno = 9718 + DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE syscall.Errno = 9719 + DNS_ERROR_NODE_IS_DNAME syscall.Errno = 9720 + DNS_ERROR_DNAME_COLLISION syscall.Errno = 9721 + DNS_ERROR_ALIAS_LOOP syscall.Errno = 9722 + DNS_ERROR_OPERATION_BASE syscall.Errno = 9750 + DNS_INFO_AXFR_COMPLETE syscall.Errno = 9751 + DNS_ERROR_AXFR syscall.Errno = 9752 + DNS_INFO_ADDED_LOCAL_WINS syscall.Errno = 9753 + DNS_ERROR_SECURE_BASE syscall.Errno = 9800 + DNS_STATUS_CONTINUE_NEEDED syscall.Errno = 9801 + DNS_ERROR_SETUP_BASE syscall.Errno = 9850 + DNS_ERROR_NO_TCPIP syscall.Errno = 9851 + DNS_ERROR_NO_DNS_SERVERS syscall.Errno = 9852 + DNS_ERROR_DP_BASE syscall.Errno = 9900 + DNS_ERROR_DP_DOES_NOT_EXIST syscall.Errno = 9901 + DNS_ERROR_DP_ALREADY_EXISTS syscall.Errno = 9902 + DNS_ERROR_DP_NOT_ENLISTED syscall.Errno = 9903 + DNS_ERROR_DP_ALREADY_ENLISTED syscall.Errno = 9904 + DNS_ERROR_DP_NOT_AVAILABLE syscall.Errno = 9905 + DNS_ERROR_DP_FSMO_ERROR syscall.Errno = 9906 + DNS_ERROR_RRL_NOT_ENABLED syscall.Errno = 9911 + DNS_ERROR_RRL_INVALID_WINDOW_SIZE syscall.Errno = 9912 + DNS_ERROR_RRL_INVALID_IPV4_PREFIX syscall.Errno = 9913 + DNS_ERROR_RRL_INVALID_IPV6_PREFIX syscall.Errno = 9914 + DNS_ERROR_RRL_INVALID_TC_RATE syscall.Errno = 9915 + DNS_ERROR_RRL_INVALID_LEAK_RATE syscall.Errno = 9916 + DNS_ERROR_RRL_LEAK_RATE_LESSTHAN_TC_RATE syscall.Errno = 9917 + DNS_ERROR_VIRTUALIZATION_INSTANCE_ALREADY_EXISTS syscall.Errno = 9921 + DNS_ERROR_VIRTUALIZATION_INSTANCE_DOES_NOT_EXIST syscall.Errno = 9922 + DNS_ERROR_VIRTUALIZATION_TREE_LOCKED syscall.Errno = 9923 + DNS_ERROR_INVAILD_VIRTUALIZATION_INSTANCE_NAME syscall.Errno = 9924 + DNS_ERROR_DEFAULT_VIRTUALIZATION_INSTANCE syscall.Errno = 9925 + DNS_ERROR_ZONESCOPE_ALREADY_EXISTS syscall.Errno = 9951 + DNS_ERROR_ZONESCOPE_DOES_NOT_EXIST syscall.Errno = 9952 + DNS_ERROR_DEFAULT_ZONESCOPE syscall.Errno = 9953 + DNS_ERROR_INVALID_ZONESCOPE_NAME syscall.Errno = 9954 + DNS_ERROR_NOT_ALLOWED_WITH_ZONESCOPES syscall.Errno = 9955 + DNS_ERROR_LOAD_ZONESCOPE_FAILED syscall.Errno = 9956 + DNS_ERROR_ZONESCOPE_FILE_WRITEBACK_FAILED syscall.Errno = 9957 + DNS_ERROR_INVALID_SCOPE_NAME syscall.Errno = 9958 + DNS_ERROR_SCOPE_DOES_NOT_EXIST syscall.Errno = 9959 + DNS_ERROR_DEFAULT_SCOPE syscall.Errno = 9960 + DNS_ERROR_INVALID_SCOPE_OPERATION syscall.Errno = 9961 + DNS_ERROR_SCOPE_LOCKED syscall.Errno = 9962 + DNS_ERROR_SCOPE_ALREADY_EXISTS syscall.Errno = 9963 + DNS_ERROR_POLICY_ALREADY_EXISTS syscall.Errno = 9971 + DNS_ERROR_POLICY_DOES_NOT_EXIST syscall.Errno = 9972 + DNS_ERROR_POLICY_INVALID_CRITERIA syscall.Errno = 9973 + DNS_ERROR_POLICY_INVALID_SETTINGS syscall.Errno = 9974 + DNS_ERROR_CLIENT_SUBNET_IS_ACCESSED syscall.Errno = 9975 + DNS_ERROR_CLIENT_SUBNET_DOES_NOT_EXIST syscall.Errno = 9976 + DNS_ERROR_CLIENT_SUBNET_ALREADY_EXISTS syscall.Errno = 9977 + DNS_ERROR_SUBNET_DOES_NOT_EXIST syscall.Errno = 9978 + DNS_ERROR_SUBNET_ALREADY_EXISTS syscall.Errno = 9979 + DNS_ERROR_POLICY_LOCKED syscall.Errno = 9980 + DNS_ERROR_POLICY_INVALID_WEIGHT syscall.Errno = 9981 + DNS_ERROR_POLICY_INVALID_NAME syscall.Errno = 9982 + DNS_ERROR_POLICY_MISSING_CRITERIA syscall.Errno = 9983 + DNS_ERROR_INVALID_CLIENT_SUBNET_NAME syscall.Errno = 9984 + DNS_ERROR_POLICY_PROCESSING_ORDER_INVALID syscall.Errno = 9985 + DNS_ERROR_POLICY_SCOPE_MISSING syscall.Errno = 9986 + DNS_ERROR_POLICY_SCOPE_NOT_ALLOWED syscall.Errno = 9987 + DNS_ERROR_SERVERSCOPE_IS_REFERENCED syscall.Errno = 9988 + DNS_ERROR_ZONESCOPE_IS_REFERENCED syscall.Errno = 9989 + DNS_ERROR_POLICY_INVALID_CRITERIA_CLIENT_SUBNET syscall.Errno = 9990 + DNS_ERROR_POLICY_INVALID_CRITERIA_TRANSPORT_PROTOCOL syscall.Errno = 9991 + DNS_ERROR_POLICY_INVALID_CRITERIA_NETWORK_PROTOCOL syscall.Errno = 9992 + DNS_ERROR_POLICY_INVALID_CRITERIA_INTERFACE syscall.Errno = 9993 + DNS_ERROR_POLICY_INVALID_CRITERIA_FQDN syscall.Errno = 9994 + DNS_ERROR_POLICY_INVALID_CRITERIA_QUERY_TYPE syscall.Errno = 9995 + DNS_ERROR_POLICY_INVALID_CRITERIA_TIME_OF_DAY syscall.Errno = 9996 + WSABASEERR syscall.Errno = 10000 + WSAEINTR syscall.Errno = 10004 + WSAEBADF syscall.Errno = 10009 + WSAEACCES syscall.Errno = 10013 + WSAEFAULT syscall.Errno = 10014 + WSAEINVAL syscall.Errno = 10022 + WSAEMFILE syscall.Errno = 10024 + WSAEWOULDBLOCK syscall.Errno = 10035 + WSAEINPROGRESS syscall.Errno = 10036 + WSAEALREADY syscall.Errno = 10037 + WSAENOTSOCK syscall.Errno = 10038 + WSAEDESTADDRREQ syscall.Errno = 10039 + WSAEMSGSIZE syscall.Errno = 10040 + WSAEPROTOTYPE syscall.Errno = 10041 + WSAENOPROTOOPT syscall.Errno = 10042 + WSAEPROTONOSUPPORT syscall.Errno = 10043 + WSAESOCKTNOSUPPORT syscall.Errno = 10044 + WSAEOPNOTSUPP syscall.Errno = 10045 + WSAEPFNOSUPPORT syscall.Errno = 10046 + WSAEAFNOSUPPORT syscall.Errno = 10047 + WSAEADDRINUSE syscall.Errno = 10048 + WSAEADDRNOTAVAIL syscall.Errno = 10049 + WSAENETDOWN syscall.Errno = 10050 + WSAENETUNREACH syscall.Errno = 10051 + WSAENETRESET syscall.Errno = 10052 + WSAECONNABORTED syscall.Errno = 10053 + WSAECONNRESET syscall.Errno = 10054 + WSAENOBUFS syscall.Errno = 10055 + WSAEISCONN syscall.Errno = 10056 + WSAENOTCONN syscall.Errno = 10057 + WSAESHUTDOWN syscall.Errno = 10058 + WSAETOOMANYREFS syscall.Errno = 10059 + WSAETIMEDOUT syscall.Errno = 10060 + WSAECONNREFUSED syscall.Errno = 10061 + WSAELOOP syscall.Errno = 10062 + WSAENAMETOOLONG syscall.Errno = 10063 + WSAEHOSTDOWN syscall.Errno = 10064 + WSAEHOSTUNREACH syscall.Errno = 10065 + WSAENOTEMPTY syscall.Errno = 10066 + WSAEPROCLIM syscall.Errno = 10067 + WSAEUSERS syscall.Errno = 10068 + WSAEDQUOT syscall.Errno = 10069 + WSAESTALE syscall.Errno = 10070 + WSAEREMOTE syscall.Errno = 10071 + WSASYSNOTREADY syscall.Errno = 10091 + WSAVERNOTSUPPORTED syscall.Errno = 10092 + WSANOTINITIALISED syscall.Errno = 10093 + WSAEDISCON syscall.Errno = 10101 + WSAENOMORE syscall.Errno = 10102 + WSAECANCELLED syscall.Errno = 10103 + WSAEINVALIDPROCTABLE syscall.Errno = 10104 + WSAEINVALIDPROVIDER syscall.Errno = 10105 + WSAEPROVIDERFAILEDINIT syscall.Errno = 10106 + WSASYSCALLFAILURE syscall.Errno = 10107 + WSASERVICE_NOT_FOUND syscall.Errno = 10108 + WSATYPE_NOT_FOUND syscall.Errno = 10109 + WSA_E_NO_MORE syscall.Errno = 10110 + WSA_E_CANCELLED syscall.Errno = 10111 + WSAEREFUSED syscall.Errno = 10112 + WSAHOST_NOT_FOUND syscall.Errno = 11001 + WSATRY_AGAIN syscall.Errno = 11002 + WSANO_RECOVERY syscall.Errno = 11003 + WSANO_DATA syscall.Errno = 11004 + WSA_QOS_RECEIVERS syscall.Errno = 11005 + WSA_QOS_SENDERS syscall.Errno = 11006 + WSA_QOS_NO_SENDERS syscall.Errno = 11007 + WSA_QOS_NO_RECEIVERS syscall.Errno = 11008 + WSA_QOS_REQUEST_CONFIRMED syscall.Errno = 11009 + WSA_QOS_ADMISSION_FAILURE syscall.Errno = 11010 + WSA_QOS_POLICY_FAILURE syscall.Errno = 11011 + WSA_QOS_BAD_STYLE syscall.Errno = 11012 + WSA_QOS_BAD_OBJECT syscall.Errno = 11013 + WSA_QOS_TRAFFIC_CTRL_ERROR syscall.Errno = 11014 + WSA_QOS_GENERIC_ERROR syscall.Errno = 11015 + WSA_QOS_ESERVICETYPE syscall.Errno = 11016 + WSA_QOS_EFLOWSPEC syscall.Errno = 11017 + WSA_QOS_EPROVSPECBUF syscall.Errno = 11018 + WSA_QOS_EFILTERSTYLE syscall.Errno = 11019 + WSA_QOS_EFILTERTYPE syscall.Errno = 11020 + WSA_QOS_EFILTERCOUNT syscall.Errno = 11021 + WSA_QOS_EOBJLENGTH syscall.Errno = 11022 + WSA_QOS_EFLOWCOUNT syscall.Errno = 11023 + WSA_QOS_EUNKOWNPSOBJ syscall.Errno = 11024 + WSA_QOS_EPOLICYOBJ syscall.Errno = 11025 + WSA_QOS_EFLOWDESC syscall.Errno = 11026 + WSA_QOS_EPSFLOWSPEC syscall.Errno = 11027 + WSA_QOS_EPSFILTERSPEC syscall.Errno = 11028 + WSA_QOS_ESDMODEOBJ syscall.Errno = 11029 + WSA_QOS_ESHAPERATEOBJ syscall.Errno = 11030 + WSA_QOS_RESERVED_PETYPE syscall.Errno = 11031 + WSA_SECURE_HOST_NOT_FOUND syscall.Errno = 11032 + WSA_IPSEC_NAME_POLICY_ERROR syscall.Errno = 11033 + ERROR_IPSEC_QM_POLICY_EXISTS syscall.Errno = 13000 + ERROR_IPSEC_QM_POLICY_NOT_FOUND syscall.Errno = 13001 + ERROR_IPSEC_QM_POLICY_IN_USE syscall.Errno = 13002 + ERROR_IPSEC_MM_POLICY_EXISTS syscall.Errno = 13003 + ERROR_IPSEC_MM_POLICY_NOT_FOUND syscall.Errno = 13004 + ERROR_IPSEC_MM_POLICY_IN_USE syscall.Errno = 13005 + ERROR_IPSEC_MM_FILTER_EXISTS syscall.Errno = 13006 + ERROR_IPSEC_MM_FILTER_NOT_FOUND syscall.Errno = 13007 + ERROR_IPSEC_TRANSPORT_FILTER_EXISTS syscall.Errno = 13008 + ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND syscall.Errno = 13009 + ERROR_IPSEC_MM_AUTH_EXISTS syscall.Errno = 13010 + ERROR_IPSEC_MM_AUTH_NOT_FOUND syscall.Errno = 13011 + ERROR_IPSEC_MM_AUTH_IN_USE syscall.Errno = 13012 + ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND syscall.Errno = 13013 + ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND syscall.Errno = 13014 + ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND syscall.Errno = 13015 + ERROR_IPSEC_TUNNEL_FILTER_EXISTS syscall.Errno = 13016 + ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND syscall.Errno = 13017 + ERROR_IPSEC_MM_FILTER_PENDING_DELETION syscall.Errno = 13018 + ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION syscall.Errno = 13019 + ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION syscall.Errno = 13020 + ERROR_IPSEC_MM_POLICY_PENDING_DELETION syscall.Errno = 13021 + ERROR_IPSEC_MM_AUTH_PENDING_DELETION syscall.Errno = 13022 + ERROR_IPSEC_QM_POLICY_PENDING_DELETION syscall.Errno = 13023 + WARNING_IPSEC_MM_POLICY_PRUNED syscall.Errno = 13024 + WARNING_IPSEC_QM_POLICY_PRUNED syscall.Errno = 13025 + ERROR_IPSEC_IKE_NEG_STATUS_BEGIN syscall.Errno = 13800 + ERROR_IPSEC_IKE_AUTH_FAIL syscall.Errno = 13801 + ERROR_IPSEC_IKE_ATTRIB_FAIL syscall.Errno = 13802 + ERROR_IPSEC_IKE_NEGOTIATION_PENDING syscall.Errno = 13803 + ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR syscall.Errno = 13804 + ERROR_IPSEC_IKE_TIMED_OUT syscall.Errno = 13805 + ERROR_IPSEC_IKE_NO_CERT syscall.Errno = 13806 + ERROR_IPSEC_IKE_SA_DELETED syscall.Errno = 13807 + ERROR_IPSEC_IKE_SA_REAPED syscall.Errno = 13808 + ERROR_IPSEC_IKE_MM_ACQUIRE_DROP syscall.Errno = 13809 + ERROR_IPSEC_IKE_QM_ACQUIRE_DROP syscall.Errno = 13810 + ERROR_IPSEC_IKE_QUEUE_DROP_MM syscall.Errno = 13811 + ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM syscall.Errno = 13812 + ERROR_IPSEC_IKE_DROP_NO_RESPONSE syscall.Errno = 13813 + ERROR_IPSEC_IKE_MM_DELAY_DROP syscall.Errno = 13814 + ERROR_IPSEC_IKE_QM_DELAY_DROP syscall.Errno = 13815 + ERROR_IPSEC_IKE_ERROR syscall.Errno = 13816 + ERROR_IPSEC_IKE_CRL_FAILED syscall.Errno = 13817 + ERROR_IPSEC_IKE_INVALID_KEY_USAGE syscall.Errno = 13818 + ERROR_IPSEC_IKE_INVALID_CERT_TYPE syscall.Errno = 13819 + ERROR_IPSEC_IKE_NO_PRIVATE_KEY syscall.Errno = 13820 + ERROR_IPSEC_IKE_SIMULTANEOUS_REKEY syscall.Errno = 13821 + ERROR_IPSEC_IKE_DH_FAIL syscall.Errno = 13822 + ERROR_IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED syscall.Errno = 13823 + ERROR_IPSEC_IKE_INVALID_HEADER syscall.Errno = 13824 + ERROR_IPSEC_IKE_NO_POLICY syscall.Errno = 13825 + ERROR_IPSEC_IKE_INVALID_SIGNATURE syscall.Errno = 13826 + ERROR_IPSEC_IKE_KERBEROS_ERROR syscall.Errno = 13827 + ERROR_IPSEC_IKE_NO_PUBLIC_KEY syscall.Errno = 13828 + ERROR_IPSEC_IKE_PROCESS_ERR syscall.Errno = 13829 + ERROR_IPSEC_IKE_PROCESS_ERR_SA syscall.Errno = 13830 + ERROR_IPSEC_IKE_PROCESS_ERR_PROP syscall.Errno = 13831 + ERROR_IPSEC_IKE_PROCESS_ERR_TRANS syscall.Errno = 13832 + ERROR_IPSEC_IKE_PROCESS_ERR_KE syscall.Errno = 13833 + ERROR_IPSEC_IKE_PROCESS_ERR_ID syscall.Errno = 13834 + ERROR_IPSEC_IKE_PROCESS_ERR_CERT syscall.Errno = 13835 + ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ syscall.Errno = 13836 + ERROR_IPSEC_IKE_PROCESS_ERR_HASH syscall.Errno = 13837 + ERROR_IPSEC_IKE_PROCESS_ERR_SIG syscall.Errno = 13838 + ERROR_IPSEC_IKE_PROCESS_ERR_NONCE syscall.Errno = 13839 + ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY syscall.Errno = 13840 + ERROR_IPSEC_IKE_PROCESS_ERR_DELETE syscall.Errno = 13841 + ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR syscall.Errno = 13842 + ERROR_IPSEC_IKE_INVALID_PAYLOAD syscall.Errno = 13843 + ERROR_IPSEC_IKE_LOAD_SOFT_SA syscall.Errno = 13844 + ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN syscall.Errno = 13845 + ERROR_IPSEC_IKE_INVALID_COOKIE syscall.Errno = 13846 + ERROR_IPSEC_IKE_NO_PEER_CERT syscall.Errno = 13847 + ERROR_IPSEC_IKE_PEER_CRL_FAILED syscall.Errno = 13848 + ERROR_IPSEC_IKE_POLICY_CHANGE syscall.Errno = 13849 + ERROR_IPSEC_IKE_NO_MM_POLICY syscall.Errno = 13850 + ERROR_IPSEC_IKE_NOTCBPRIV syscall.Errno = 13851 + ERROR_IPSEC_IKE_SECLOADFAIL syscall.Errno = 13852 + ERROR_IPSEC_IKE_FAILSSPINIT syscall.Errno = 13853 + ERROR_IPSEC_IKE_FAILQUERYSSP syscall.Errno = 13854 + ERROR_IPSEC_IKE_SRVACQFAIL syscall.Errno = 13855 + ERROR_IPSEC_IKE_SRVQUERYCRED syscall.Errno = 13856 + ERROR_IPSEC_IKE_GETSPIFAIL syscall.Errno = 13857 + ERROR_IPSEC_IKE_INVALID_FILTER syscall.Errno = 13858 + ERROR_IPSEC_IKE_OUT_OF_MEMORY syscall.Errno = 13859 + ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED syscall.Errno = 13860 + ERROR_IPSEC_IKE_INVALID_POLICY syscall.Errno = 13861 + ERROR_IPSEC_IKE_UNKNOWN_DOI syscall.Errno = 13862 + ERROR_IPSEC_IKE_INVALID_SITUATION syscall.Errno = 13863 + ERROR_IPSEC_IKE_DH_FAILURE syscall.Errno = 13864 + ERROR_IPSEC_IKE_INVALID_GROUP syscall.Errno = 13865 + ERROR_IPSEC_IKE_ENCRYPT syscall.Errno = 13866 + ERROR_IPSEC_IKE_DECRYPT syscall.Errno = 13867 + ERROR_IPSEC_IKE_POLICY_MATCH syscall.Errno = 13868 + ERROR_IPSEC_IKE_UNSUPPORTED_ID syscall.Errno = 13869 + ERROR_IPSEC_IKE_INVALID_HASH syscall.Errno = 13870 + ERROR_IPSEC_IKE_INVALID_HASH_ALG syscall.Errno = 13871 + ERROR_IPSEC_IKE_INVALID_HASH_SIZE syscall.Errno = 13872 + ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG syscall.Errno = 13873 + ERROR_IPSEC_IKE_INVALID_AUTH_ALG syscall.Errno = 13874 + ERROR_IPSEC_IKE_INVALID_SIG syscall.Errno = 13875 + ERROR_IPSEC_IKE_LOAD_FAILED syscall.Errno = 13876 + ERROR_IPSEC_IKE_RPC_DELETE syscall.Errno = 13877 + ERROR_IPSEC_IKE_BENIGN_REINIT syscall.Errno = 13878 + ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY syscall.Errno = 13879 + ERROR_IPSEC_IKE_INVALID_MAJOR_VERSION syscall.Errno = 13880 + ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN syscall.Errno = 13881 + ERROR_IPSEC_IKE_MM_LIMIT syscall.Errno = 13882 + ERROR_IPSEC_IKE_NEGOTIATION_DISABLED syscall.Errno = 13883 + ERROR_IPSEC_IKE_QM_LIMIT syscall.Errno = 13884 + ERROR_IPSEC_IKE_MM_EXPIRED syscall.Errno = 13885 + ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID syscall.Errno = 13886 + ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH syscall.Errno = 13887 + ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID syscall.Errno = 13888 + ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD syscall.Errno = 13889 + ERROR_IPSEC_IKE_DOS_COOKIE_SENT syscall.Errno = 13890 + ERROR_IPSEC_IKE_SHUTTING_DOWN syscall.Errno = 13891 + ERROR_IPSEC_IKE_CGA_AUTH_FAILED syscall.Errno = 13892 + ERROR_IPSEC_IKE_PROCESS_ERR_NATOA syscall.Errno = 13893 + ERROR_IPSEC_IKE_INVALID_MM_FOR_QM syscall.Errno = 13894 + ERROR_IPSEC_IKE_QM_EXPIRED syscall.Errno = 13895 + ERROR_IPSEC_IKE_TOO_MANY_FILTERS syscall.Errno = 13896 + ERROR_IPSEC_IKE_NEG_STATUS_END syscall.Errno = 13897 + ERROR_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL syscall.Errno = 13898 + ERROR_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE syscall.Errno = 13899 + ERROR_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING syscall.Errno = 13900 + ERROR_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING syscall.Errno = 13901 + ERROR_IPSEC_IKE_COEXISTENCE_SUPPRESS syscall.Errno = 13902 + ERROR_IPSEC_IKE_RATELIMIT_DROP syscall.Errno = 13903 + ERROR_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE syscall.Errno = 13904 + ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE syscall.Errno = 13905 + ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE syscall.Errno = 13906 + ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY syscall.Errno = 13907 + ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE syscall.Errno = 13908 + ERROR_IPSEC_IKE_NEG_STATUS_EXTENDED_END syscall.Errno = 13909 + ERROR_IPSEC_BAD_SPI syscall.Errno = 13910 + ERROR_IPSEC_SA_LIFETIME_EXPIRED syscall.Errno = 13911 + ERROR_IPSEC_WRONG_SA syscall.Errno = 13912 + ERROR_IPSEC_REPLAY_CHECK_FAILED syscall.Errno = 13913 + ERROR_IPSEC_INVALID_PACKET syscall.Errno = 13914 + ERROR_IPSEC_INTEGRITY_CHECK_FAILED syscall.Errno = 13915 + ERROR_IPSEC_CLEAR_TEXT_DROP syscall.Errno = 13916 + ERROR_IPSEC_AUTH_FIREWALL_DROP syscall.Errno = 13917 + ERROR_IPSEC_THROTTLE_DROP syscall.Errno = 13918 + ERROR_IPSEC_DOSP_BLOCK syscall.Errno = 13925 + ERROR_IPSEC_DOSP_RECEIVED_MULTICAST syscall.Errno = 13926 + ERROR_IPSEC_DOSP_INVALID_PACKET syscall.Errno = 13927 + ERROR_IPSEC_DOSP_STATE_LOOKUP_FAILED syscall.Errno = 13928 + ERROR_IPSEC_DOSP_MAX_ENTRIES syscall.Errno = 13929 + ERROR_IPSEC_DOSP_KEYMOD_NOT_ALLOWED syscall.Errno = 13930 + ERROR_IPSEC_DOSP_NOT_INSTALLED syscall.Errno = 13931 + ERROR_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES syscall.Errno = 13932 + ERROR_SXS_SECTION_NOT_FOUND syscall.Errno = 14000 + ERROR_SXS_CANT_GEN_ACTCTX syscall.Errno = 14001 + ERROR_SXS_INVALID_ACTCTXDATA_FORMAT syscall.Errno = 14002 + ERROR_SXS_ASSEMBLY_NOT_FOUND syscall.Errno = 14003 + ERROR_SXS_MANIFEST_FORMAT_ERROR syscall.Errno = 14004 + ERROR_SXS_MANIFEST_PARSE_ERROR syscall.Errno = 14005 + ERROR_SXS_ACTIVATION_CONTEXT_DISABLED syscall.Errno = 14006 + ERROR_SXS_KEY_NOT_FOUND syscall.Errno = 14007 + ERROR_SXS_VERSION_CONFLICT syscall.Errno = 14008 + ERROR_SXS_WRONG_SECTION_TYPE syscall.Errno = 14009 + ERROR_SXS_THREAD_QUERIES_DISABLED syscall.Errno = 14010 + ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET syscall.Errno = 14011 + ERROR_SXS_UNKNOWN_ENCODING_GROUP syscall.Errno = 14012 + ERROR_SXS_UNKNOWN_ENCODING syscall.Errno = 14013 + ERROR_SXS_INVALID_XML_NAMESPACE_URI syscall.Errno = 14014 + ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED syscall.Errno = 14015 + ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED syscall.Errno = 14016 + ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE syscall.Errno = 14017 + ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE syscall.Errno = 14018 + ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE syscall.Errno = 14019 + ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT syscall.Errno = 14020 + ERROR_SXS_DUPLICATE_DLL_NAME syscall.Errno = 14021 + ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME syscall.Errno = 14022 + ERROR_SXS_DUPLICATE_CLSID syscall.Errno = 14023 + ERROR_SXS_DUPLICATE_IID syscall.Errno = 14024 + ERROR_SXS_DUPLICATE_TLBID syscall.Errno = 14025 + ERROR_SXS_DUPLICATE_PROGID syscall.Errno = 14026 + ERROR_SXS_DUPLICATE_ASSEMBLY_NAME syscall.Errno = 14027 + ERROR_SXS_FILE_HASH_MISMATCH syscall.Errno = 14028 + ERROR_SXS_POLICY_PARSE_ERROR syscall.Errno = 14029 + ERROR_SXS_XML_E_MISSINGQUOTE syscall.Errno = 14030 + ERROR_SXS_XML_E_COMMENTSYNTAX syscall.Errno = 14031 + ERROR_SXS_XML_E_BADSTARTNAMECHAR syscall.Errno = 14032 + ERROR_SXS_XML_E_BADNAMECHAR syscall.Errno = 14033 + ERROR_SXS_XML_E_BADCHARINSTRING syscall.Errno = 14034 + ERROR_SXS_XML_E_XMLDECLSYNTAX syscall.Errno = 14035 + ERROR_SXS_XML_E_BADCHARDATA syscall.Errno = 14036 + ERROR_SXS_XML_E_MISSINGWHITESPACE syscall.Errno = 14037 + ERROR_SXS_XML_E_EXPECTINGTAGEND syscall.Errno = 14038 + ERROR_SXS_XML_E_MISSINGSEMICOLON syscall.Errno = 14039 + ERROR_SXS_XML_E_UNBALANCEDPAREN syscall.Errno = 14040 + ERROR_SXS_XML_E_INTERNALERROR syscall.Errno = 14041 + ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE syscall.Errno = 14042 + ERROR_SXS_XML_E_INCOMPLETE_ENCODING syscall.Errno = 14043 + ERROR_SXS_XML_E_MISSING_PAREN syscall.Errno = 14044 + ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE syscall.Errno = 14045 + ERROR_SXS_XML_E_MULTIPLE_COLONS syscall.Errno = 14046 + ERROR_SXS_XML_E_INVALID_DECIMAL syscall.Errno = 14047 + ERROR_SXS_XML_E_INVALID_HEXIDECIMAL syscall.Errno = 14048 + ERROR_SXS_XML_E_INVALID_UNICODE syscall.Errno = 14049 + ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK syscall.Errno = 14050 + ERROR_SXS_XML_E_UNEXPECTEDENDTAG syscall.Errno = 14051 + ERROR_SXS_XML_E_UNCLOSEDTAG syscall.Errno = 14052 + ERROR_SXS_XML_E_DUPLICATEATTRIBUTE syscall.Errno = 14053 + ERROR_SXS_XML_E_MULTIPLEROOTS syscall.Errno = 14054 + ERROR_SXS_XML_E_INVALIDATROOTLEVEL syscall.Errno = 14055 + ERROR_SXS_XML_E_BADXMLDECL syscall.Errno = 14056 + ERROR_SXS_XML_E_MISSINGROOT syscall.Errno = 14057 + ERROR_SXS_XML_E_UNEXPECTEDEOF syscall.Errno = 14058 + ERROR_SXS_XML_E_BADPEREFINSUBSET syscall.Errno = 14059 + ERROR_SXS_XML_E_UNCLOSEDSTARTTAG syscall.Errno = 14060 + ERROR_SXS_XML_E_UNCLOSEDENDTAG syscall.Errno = 14061 + ERROR_SXS_XML_E_UNCLOSEDSTRING syscall.Errno = 14062 + ERROR_SXS_XML_E_UNCLOSEDCOMMENT syscall.Errno = 14063 + ERROR_SXS_XML_E_UNCLOSEDDECL syscall.Errno = 14064 + ERROR_SXS_XML_E_UNCLOSEDCDATA syscall.Errno = 14065 + ERROR_SXS_XML_E_RESERVEDNAMESPACE syscall.Errno = 14066 + ERROR_SXS_XML_E_INVALIDENCODING syscall.Errno = 14067 + ERROR_SXS_XML_E_INVALIDSWITCH syscall.Errno = 14068 + ERROR_SXS_XML_E_BADXMLCASE syscall.Errno = 14069 + ERROR_SXS_XML_E_INVALID_STANDALONE syscall.Errno = 14070 + ERROR_SXS_XML_E_UNEXPECTED_STANDALONE syscall.Errno = 14071 + ERROR_SXS_XML_E_INVALID_VERSION syscall.Errno = 14072 + ERROR_SXS_XML_E_MISSINGEQUALS syscall.Errno = 14073 + ERROR_SXS_PROTECTION_RECOVERY_FAILED syscall.Errno = 14074 + ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT syscall.Errno = 14075 + ERROR_SXS_PROTECTION_CATALOG_NOT_VALID syscall.Errno = 14076 + ERROR_SXS_UNTRANSLATABLE_HRESULT syscall.Errno = 14077 + ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING syscall.Errno = 14078 + ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE syscall.Errno = 14079 + ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME syscall.Errno = 14080 + ERROR_SXS_ASSEMBLY_MISSING syscall.Errno = 14081 + ERROR_SXS_CORRUPT_ACTIVATION_STACK syscall.Errno = 14082 + ERROR_SXS_CORRUPTION syscall.Errno = 14083 + ERROR_SXS_EARLY_DEACTIVATION syscall.Errno = 14084 + ERROR_SXS_INVALID_DEACTIVATION syscall.Errno = 14085 + ERROR_SXS_MULTIPLE_DEACTIVATION syscall.Errno = 14086 + ERROR_SXS_PROCESS_TERMINATION_REQUESTED syscall.Errno = 14087 + ERROR_SXS_RELEASE_ACTIVATION_CONTEXT syscall.Errno = 14088 + ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY syscall.Errno = 14089 + ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE syscall.Errno = 14090 + ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME syscall.Errno = 14091 + ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE syscall.Errno = 14092 + ERROR_SXS_IDENTITY_PARSE_ERROR syscall.Errno = 14093 + ERROR_MALFORMED_SUBSTITUTION_STRING syscall.Errno = 14094 + ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN syscall.Errno = 14095 + ERROR_UNMAPPED_SUBSTITUTION_STRING syscall.Errno = 14096 + ERROR_SXS_ASSEMBLY_NOT_LOCKED syscall.Errno = 14097 + ERROR_SXS_COMPONENT_STORE_CORRUPT syscall.Errno = 14098 + ERROR_ADVANCED_INSTALLER_FAILED syscall.Errno = 14099 + ERROR_XML_ENCODING_MISMATCH syscall.Errno = 14100 + ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT syscall.Errno = 14101 + ERROR_SXS_IDENTITIES_DIFFERENT syscall.Errno = 14102 + ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT syscall.Errno = 14103 + ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY syscall.Errno = 14104 + ERROR_SXS_MANIFEST_TOO_BIG syscall.Errno = 14105 + ERROR_SXS_SETTING_NOT_REGISTERED syscall.Errno = 14106 + ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE syscall.Errno = 14107 + ERROR_SMI_PRIMITIVE_INSTALLER_FAILED syscall.Errno = 14108 + ERROR_GENERIC_COMMAND_FAILED syscall.Errno = 14109 + ERROR_SXS_FILE_HASH_MISSING syscall.Errno = 14110 + ERROR_EVT_INVALID_CHANNEL_PATH syscall.Errno = 15000 + ERROR_EVT_INVALID_QUERY syscall.Errno = 15001 + ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND syscall.Errno = 15002 + ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND syscall.Errno = 15003 + ERROR_EVT_INVALID_PUBLISHER_NAME syscall.Errno = 15004 + ERROR_EVT_INVALID_EVENT_DATA syscall.Errno = 15005 + ERROR_EVT_CHANNEL_NOT_FOUND syscall.Errno = 15007 + ERROR_EVT_MALFORMED_XML_TEXT syscall.Errno = 15008 + ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL syscall.Errno = 15009 + ERROR_EVT_CONFIGURATION_ERROR syscall.Errno = 15010 + ERROR_EVT_QUERY_RESULT_STALE syscall.Errno = 15011 + ERROR_EVT_QUERY_RESULT_INVALID_POSITION syscall.Errno = 15012 + ERROR_EVT_NON_VALIDATING_MSXML syscall.Errno = 15013 + ERROR_EVT_FILTER_ALREADYSCOPED syscall.Errno = 15014 + ERROR_EVT_FILTER_NOTELTSET syscall.Errno = 15015 + ERROR_EVT_FILTER_INVARG syscall.Errno = 15016 + ERROR_EVT_FILTER_INVTEST syscall.Errno = 15017 + ERROR_EVT_FILTER_INVTYPE syscall.Errno = 15018 + ERROR_EVT_FILTER_PARSEERR syscall.Errno = 15019 + ERROR_EVT_FILTER_UNSUPPORTEDOP syscall.Errno = 15020 + ERROR_EVT_FILTER_UNEXPECTEDTOKEN syscall.Errno = 15021 + ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL syscall.Errno = 15022 + ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE syscall.Errno = 15023 + ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE syscall.Errno = 15024 + ERROR_EVT_CHANNEL_CANNOT_ACTIVATE syscall.Errno = 15025 + ERROR_EVT_FILTER_TOO_COMPLEX syscall.Errno = 15026 + ERROR_EVT_MESSAGE_NOT_FOUND syscall.Errno = 15027 + ERROR_EVT_MESSAGE_ID_NOT_FOUND syscall.Errno = 15028 + ERROR_EVT_UNRESOLVED_VALUE_INSERT syscall.Errno = 15029 + ERROR_EVT_UNRESOLVED_PARAMETER_INSERT syscall.Errno = 15030 + ERROR_EVT_MAX_INSERTS_REACHED syscall.Errno = 15031 + ERROR_EVT_EVENT_DEFINITION_NOT_FOUND syscall.Errno = 15032 + ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND syscall.Errno = 15033 + ERROR_EVT_VERSION_TOO_OLD syscall.Errno = 15034 + ERROR_EVT_VERSION_TOO_NEW syscall.Errno = 15035 + ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY syscall.Errno = 15036 + ERROR_EVT_PUBLISHER_DISABLED syscall.Errno = 15037 + ERROR_EVT_FILTER_OUT_OF_RANGE syscall.Errno = 15038 + ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE syscall.Errno = 15080 + ERROR_EC_LOG_DISABLED syscall.Errno = 15081 + ERROR_EC_CIRCULAR_FORWARDING syscall.Errno = 15082 + ERROR_EC_CREDSTORE_FULL syscall.Errno = 15083 + ERROR_EC_CRED_NOT_FOUND syscall.Errno = 15084 + ERROR_EC_NO_ACTIVE_CHANNEL syscall.Errno = 15085 + ERROR_MUI_FILE_NOT_FOUND syscall.Errno = 15100 + ERROR_MUI_INVALID_FILE syscall.Errno = 15101 + ERROR_MUI_INVALID_RC_CONFIG syscall.Errno = 15102 + ERROR_MUI_INVALID_LOCALE_NAME syscall.Errno = 15103 + ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME syscall.Errno = 15104 + ERROR_MUI_FILE_NOT_LOADED syscall.Errno = 15105 + ERROR_RESOURCE_ENUM_USER_STOP syscall.Errno = 15106 + ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED syscall.Errno = 15107 + ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME syscall.Errno = 15108 + ERROR_MRM_RUNTIME_NO_DEFAULT_OR_NEUTRAL_RESOURCE syscall.Errno = 15110 + ERROR_MRM_INVALID_PRICONFIG syscall.Errno = 15111 + ERROR_MRM_INVALID_FILE_TYPE syscall.Errno = 15112 + ERROR_MRM_UNKNOWN_QUALIFIER syscall.Errno = 15113 + ERROR_MRM_INVALID_QUALIFIER_VALUE syscall.Errno = 15114 + ERROR_MRM_NO_CANDIDATE syscall.Errno = 15115 + ERROR_MRM_NO_MATCH_OR_DEFAULT_CANDIDATE syscall.Errno = 15116 + ERROR_MRM_RESOURCE_TYPE_MISMATCH syscall.Errno = 15117 + ERROR_MRM_DUPLICATE_MAP_NAME syscall.Errno = 15118 + ERROR_MRM_DUPLICATE_ENTRY syscall.Errno = 15119 + ERROR_MRM_INVALID_RESOURCE_IDENTIFIER syscall.Errno = 15120 + ERROR_MRM_FILEPATH_TOO_LONG syscall.Errno = 15121 + ERROR_MRM_UNSUPPORTED_DIRECTORY_TYPE syscall.Errno = 15122 + ERROR_MRM_INVALID_PRI_FILE syscall.Errno = 15126 + ERROR_MRM_NAMED_RESOURCE_NOT_FOUND syscall.Errno = 15127 + ERROR_MRM_MAP_NOT_FOUND syscall.Errno = 15135 + ERROR_MRM_UNSUPPORTED_PROFILE_TYPE syscall.Errno = 15136 + ERROR_MRM_INVALID_QUALIFIER_OPERATOR syscall.Errno = 15137 + ERROR_MRM_INDETERMINATE_QUALIFIER_VALUE syscall.Errno = 15138 + ERROR_MRM_AUTOMERGE_ENABLED syscall.Errno = 15139 + ERROR_MRM_TOO_MANY_RESOURCES syscall.Errno = 15140 + ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_MERGE syscall.Errno = 15141 + ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_LOAD_UNLOAD_PRI_FILE syscall.Errno = 15142 + ERROR_MRM_NO_CURRENT_VIEW_ON_THREAD syscall.Errno = 15143 + ERROR_DIFFERENT_PROFILE_RESOURCE_MANAGER_EXIST syscall.Errno = 15144 + ERROR_OPERATION_NOT_ALLOWED_FROM_SYSTEM_COMPONENT syscall.Errno = 15145 + ERROR_MRM_DIRECT_REF_TO_NON_DEFAULT_RESOURCE syscall.Errno = 15146 + ERROR_MRM_GENERATION_COUNT_MISMATCH syscall.Errno = 15147 + ERROR_PRI_MERGE_VERSION_MISMATCH syscall.Errno = 15148 + ERROR_PRI_MERGE_MISSING_SCHEMA syscall.Errno = 15149 + ERROR_PRI_MERGE_LOAD_FILE_FAILED syscall.Errno = 15150 + ERROR_PRI_MERGE_ADD_FILE_FAILED syscall.Errno = 15151 + ERROR_PRI_MERGE_WRITE_FILE_FAILED syscall.Errno = 15152 + ERROR_PRI_MERGE_MULTIPLE_PACKAGE_FAMILIES_NOT_ALLOWED syscall.Errno = 15153 + ERROR_PRI_MERGE_MULTIPLE_MAIN_PACKAGES_NOT_ALLOWED syscall.Errno = 15154 + ERROR_PRI_MERGE_BUNDLE_PACKAGES_NOT_ALLOWED syscall.Errno = 15155 + ERROR_PRI_MERGE_MAIN_PACKAGE_REQUIRED syscall.Errno = 15156 + ERROR_PRI_MERGE_RESOURCE_PACKAGE_REQUIRED syscall.Errno = 15157 + ERROR_PRI_MERGE_INVALID_FILE_NAME syscall.Errno = 15158 + ERROR_MRM_PACKAGE_NOT_FOUND syscall.Errno = 15159 + ERROR_MCA_INVALID_CAPABILITIES_STRING syscall.Errno = 15200 + ERROR_MCA_INVALID_VCP_VERSION syscall.Errno = 15201 + ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION syscall.Errno = 15202 + ERROR_MCA_MCCS_VERSION_MISMATCH syscall.Errno = 15203 + ERROR_MCA_UNSUPPORTED_MCCS_VERSION syscall.Errno = 15204 + ERROR_MCA_INTERNAL_ERROR syscall.Errno = 15205 + ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED syscall.Errno = 15206 + ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE syscall.Errno = 15207 + ERROR_AMBIGUOUS_SYSTEM_DEVICE syscall.Errno = 15250 + ERROR_SYSTEM_DEVICE_NOT_FOUND syscall.Errno = 15299 + ERROR_HASH_NOT_SUPPORTED syscall.Errno = 15300 + ERROR_HASH_NOT_PRESENT syscall.Errno = 15301 + ERROR_SECONDARY_IC_PROVIDER_NOT_REGISTERED syscall.Errno = 15321 + ERROR_GPIO_CLIENT_INFORMATION_INVALID syscall.Errno = 15322 + ERROR_GPIO_VERSION_NOT_SUPPORTED syscall.Errno = 15323 + ERROR_GPIO_INVALID_REGISTRATION_PACKET syscall.Errno = 15324 + ERROR_GPIO_OPERATION_DENIED syscall.Errno = 15325 + ERROR_GPIO_INCOMPATIBLE_CONNECT_MODE syscall.Errno = 15326 + ERROR_GPIO_INTERRUPT_ALREADY_UNMASKED syscall.Errno = 15327 + ERROR_CANNOT_SWITCH_RUNLEVEL syscall.Errno = 15400 + ERROR_INVALID_RUNLEVEL_SETTING syscall.Errno = 15401 + ERROR_RUNLEVEL_SWITCH_TIMEOUT syscall.Errno = 15402 + ERROR_RUNLEVEL_SWITCH_AGENT_TIMEOUT syscall.Errno = 15403 + ERROR_RUNLEVEL_SWITCH_IN_PROGRESS syscall.Errno = 15404 + ERROR_SERVICES_FAILED_AUTOSTART syscall.Errno = 15405 + ERROR_COM_TASK_STOP_PENDING syscall.Errno = 15501 + ERROR_INSTALL_OPEN_PACKAGE_FAILED syscall.Errno = 15600 + ERROR_INSTALL_PACKAGE_NOT_FOUND syscall.Errno = 15601 + ERROR_INSTALL_INVALID_PACKAGE syscall.Errno = 15602 + ERROR_INSTALL_RESOLVE_DEPENDENCY_FAILED syscall.Errno = 15603 + ERROR_INSTALL_OUT_OF_DISK_SPACE syscall.Errno = 15604 + ERROR_INSTALL_NETWORK_FAILURE syscall.Errno = 15605 + ERROR_INSTALL_REGISTRATION_FAILURE syscall.Errno = 15606 + ERROR_INSTALL_DEREGISTRATION_FAILURE syscall.Errno = 15607 + ERROR_INSTALL_CANCEL syscall.Errno = 15608 + ERROR_INSTALL_FAILED syscall.Errno = 15609 + ERROR_REMOVE_FAILED syscall.Errno = 15610 + ERROR_PACKAGE_ALREADY_EXISTS syscall.Errno = 15611 + ERROR_NEEDS_REMEDIATION syscall.Errno = 15612 + ERROR_INSTALL_PREREQUISITE_FAILED syscall.Errno = 15613 + ERROR_PACKAGE_REPOSITORY_CORRUPTED syscall.Errno = 15614 + ERROR_INSTALL_POLICY_FAILURE syscall.Errno = 15615 + ERROR_PACKAGE_UPDATING syscall.Errno = 15616 + ERROR_DEPLOYMENT_BLOCKED_BY_POLICY syscall.Errno = 15617 + ERROR_PACKAGES_IN_USE syscall.Errno = 15618 + ERROR_RECOVERY_FILE_CORRUPT syscall.Errno = 15619 + ERROR_INVALID_STAGED_SIGNATURE syscall.Errno = 15620 + ERROR_DELETING_EXISTING_APPLICATIONDATA_STORE_FAILED syscall.Errno = 15621 + ERROR_INSTALL_PACKAGE_DOWNGRADE syscall.Errno = 15622 + ERROR_SYSTEM_NEEDS_REMEDIATION syscall.Errno = 15623 + ERROR_APPX_INTEGRITY_FAILURE_CLR_NGEN syscall.Errno = 15624 + ERROR_RESILIENCY_FILE_CORRUPT syscall.Errno = 15625 + ERROR_INSTALL_FIREWALL_SERVICE_NOT_RUNNING syscall.Errno = 15626 + ERROR_PACKAGE_MOVE_FAILED syscall.Errno = 15627 + ERROR_INSTALL_VOLUME_NOT_EMPTY syscall.Errno = 15628 + ERROR_INSTALL_VOLUME_OFFLINE syscall.Errno = 15629 + ERROR_INSTALL_VOLUME_CORRUPT syscall.Errno = 15630 + ERROR_NEEDS_REGISTRATION syscall.Errno = 15631 + ERROR_INSTALL_WRONG_PROCESSOR_ARCHITECTURE syscall.Errno = 15632 + ERROR_DEV_SIDELOAD_LIMIT_EXCEEDED syscall.Errno = 15633 + ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE syscall.Errno = 15634 + ERROR_PACKAGE_NOT_SUPPORTED_ON_FILESYSTEM syscall.Errno = 15635 + ERROR_PACKAGE_MOVE_BLOCKED_BY_STREAMING syscall.Errno = 15636 + ERROR_INSTALL_OPTIONAL_PACKAGE_APPLICATIONID_NOT_UNIQUE syscall.Errno = 15637 + ERROR_PACKAGE_STAGING_ONHOLD syscall.Errno = 15638 + ERROR_INSTALL_INVALID_RELATED_SET_UPDATE syscall.Errno = 15639 + ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_FULLTRUST_CAPABILITY syscall.Errno = 15640 + ERROR_DEPLOYMENT_BLOCKED_BY_USER_LOG_OFF syscall.Errno = 15641 + ERROR_PROVISION_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_PROVISIONED syscall.Errno = 15642 + ERROR_PACKAGES_REPUTATION_CHECK_FAILED syscall.Errno = 15643 + ERROR_PACKAGES_REPUTATION_CHECK_TIMEDOUT syscall.Errno = 15644 + ERROR_DEPLOYMENT_OPTION_NOT_SUPPORTED syscall.Errno = 15645 + ERROR_APPINSTALLER_ACTIVATION_BLOCKED syscall.Errno = 15646 + ERROR_REGISTRATION_FROM_REMOTE_DRIVE_NOT_SUPPORTED syscall.Errno = 15647 + APPMODEL_ERROR_NO_PACKAGE syscall.Errno = 15700 + APPMODEL_ERROR_PACKAGE_RUNTIME_CORRUPT syscall.Errno = 15701 + APPMODEL_ERROR_PACKAGE_IDENTITY_CORRUPT syscall.Errno = 15702 + APPMODEL_ERROR_NO_APPLICATION syscall.Errno = 15703 + APPMODEL_ERROR_DYNAMIC_PROPERTY_READ_FAILED syscall.Errno = 15704 + APPMODEL_ERROR_DYNAMIC_PROPERTY_INVALID syscall.Errno = 15705 + APPMODEL_ERROR_PACKAGE_NOT_AVAILABLE syscall.Errno = 15706 + ERROR_STATE_LOAD_STORE_FAILED syscall.Errno = 15800 + ERROR_STATE_GET_VERSION_FAILED syscall.Errno = 15801 + ERROR_STATE_SET_VERSION_FAILED syscall.Errno = 15802 + ERROR_STATE_STRUCTURED_RESET_FAILED syscall.Errno = 15803 + ERROR_STATE_OPEN_CONTAINER_FAILED syscall.Errno = 15804 + ERROR_STATE_CREATE_CONTAINER_FAILED syscall.Errno = 15805 + ERROR_STATE_DELETE_CONTAINER_FAILED syscall.Errno = 15806 + ERROR_STATE_READ_SETTING_FAILED syscall.Errno = 15807 + ERROR_STATE_WRITE_SETTING_FAILED syscall.Errno = 15808 + ERROR_STATE_DELETE_SETTING_FAILED syscall.Errno = 15809 + ERROR_STATE_QUERY_SETTING_FAILED syscall.Errno = 15810 + ERROR_STATE_READ_COMPOSITE_SETTING_FAILED syscall.Errno = 15811 + ERROR_STATE_WRITE_COMPOSITE_SETTING_FAILED syscall.Errno = 15812 + ERROR_STATE_ENUMERATE_CONTAINER_FAILED syscall.Errno = 15813 + ERROR_STATE_ENUMERATE_SETTINGS_FAILED syscall.Errno = 15814 + ERROR_STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED syscall.Errno = 15815 + ERROR_STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED syscall.Errno = 15816 + ERROR_STATE_SETTING_NAME_SIZE_LIMIT_EXCEEDED syscall.Errno = 15817 + ERROR_STATE_CONTAINER_NAME_SIZE_LIMIT_EXCEEDED syscall.Errno = 15818 + ERROR_API_UNAVAILABLE syscall.Errno = 15841 + STORE_ERROR_UNLICENSED syscall.Errno = 15861 + STORE_ERROR_UNLICENSED_USER syscall.Errno = 15862 + STORE_ERROR_PENDING_COM_TRANSACTION syscall.Errno = 15863 + STORE_ERROR_LICENSE_REVOKED syscall.Errno = 15864 + SEVERITY_SUCCESS syscall.Errno = 0 + SEVERITY_ERROR syscall.Errno = 1 + FACILITY_NT_BIT = 0x10000000 + E_NOT_SET = ERROR_NOT_FOUND + E_NOT_VALID_STATE = ERROR_INVALID_STATE + E_NOT_SUFFICIENT_BUFFER = ERROR_INSUFFICIENT_BUFFER + E_TIME_CRITICAL_THREAD = ERROR_TIME_CRITICAL_THREAD + NOERROR syscall.Errno = 0 + E_UNEXPECTED Handle = 0x8000FFFF + E_NOTIMPL Handle = 0x80004001 + E_OUTOFMEMORY Handle = 0x8007000E + E_INVALIDARG Handle = 0x80070057 + E_NOINTERFACE Handle = 0x80004002 + E_POINTER Handle = 0x80004003 + E_HANDLE Handle = 0x80070006 + E_ABORT Handle = 0x80004004 + E_FAIL Handle = 0x80004005 + E_ACCESSDENIED Handle = 0x80070005 + E_PENDING Handle = 0x8000000A + E_BOUNDS Handle = 0x8000000B + E_CHANGED_STATE Handle = 0x8000000C + E_ILLEGAL_STATE_CHANGE Handle = 0x8000000D + E_ILLEGAL_METHOD_CALL Handle = 0x8000000E + RO_E_METADATA_NAME_NOT_FOUND Handle = 0x8000000F + RO_E_METADATA_NAME_IS_NAMESPACE Handle = 0x80000010 + RO_E_METADATA_INVALID_TYPE_FORMAT Handle = 0x80000011 + RO_E_INVALID_METADATA_FILE Handle = 0x80000012 + RO_E_CLOSED Handle = 0x80000013 + RO_E_EXCLUSIVE_WRITE Handle = 0x80000014 + RO_E_CHANGE_NOTIFICATION_IN_PROGRESS Handle = 0x80000015 + RO_E_ERROR_STRING_NOT_FOUND Handle = 0x80000016 + E_STRING_NOT_NULL_TERMINATED Handle = 0x80000017 + E_ILLEGAL_DELEGATE_ASSIGNMENT Handle = 0x80000018 + E_ASYNC_OPERATION_NOT_STARTED Handle = 0x80000019 + E_APPLICATION_EXITING Handle = 0x8000001A + E_APPLICATION_VIEW_EXITING Handle = 0x8000001B + RO_E_MUST_BE_AGILE Handle = 0x8000001C + RO_E_UNSUPPORTED_FROM_MTA Handle = 0x8000001D + RO_E_COMMITTED Handle = 0x8000001E + RO_E_BLOCKED_CROSS_ASTA_CALL Handle = 0x8000001F + RO_E_CANNOT_ACTIVATE_FULL_TRUST_SERVER Handle = 0x80000020 + RO_E_CANNOT_ACTIVATE_UNIVERSAL_APPLICATION_SERVER Handle = 0x80000021 + CO_E_INIT_TLS Handle = 0x80004006 + CO_E_INIT_SHARED_ALLOCATOR Handle = 0x80004007 + CO_E_INIT_MEMORY_ALLOCATOR Handle = 0x80004008 + CO_E_INIT_CLASS_CACHE Handle = 0x80004009 + CO_E_INIT_RPC_CHANNEL Handle = 0x8000400A + CO_E_INIT_TLS_SET_CHANNEL_CONTROL Handle = 0x8000400B + CO_E_INIT_TLS_CHANNEL_CONTROL Handle = 0x8000400C + CO_E_INIT_UNACCEPTED_USER_ALLOCATOR Handle = 0x8000400D + CO_E_INIT_SCM_MUTEX_EXISTS Handle = 0x8000400E + CO_E_INIT_SCM_FILE_MAPPING_EXISTS Handle = 0x8000400F + CO_E_INIT_SCM_MAP_VIEW_OF_FILE Handle = 0x80004010 + CO_E_INIT_SCM_EXEC_FAILURE Handle = 0x80004011 + CO_E_INIT_ONLY_SINGLE_THREADED Handle = 0x80004012 + CO_E_CANT_REMOTE Handle = 0x80004013 + CO_E_BAD_SERVER_NAME Handle = 0x80004014 + CO_E_WRONG_SERVER_IDENTITY Handle = 0x80004015 + CO_E_OLE1DDE_DISABLED Handle = 0x80004016 + CO_E_RUNAS_SYNTAX Handle = 0x80004017 + CO_E_CREATEPROCESS_FAILURE Handle = 0x80004018 + CO_E_RUNAS_CREATEPROCESS_FAILURE Handle = 0x80004019 + CO_E_RUNAS_LOGON_FAILURE Handle = 0x8000401A + CO_E_LAUNCH_PERMSSION_DENIED Handle = 0x8000401B + CO_E_START_SERVICE_FAILURE Handle = 0x8000401C + CO_E_REMOTE_COMMUNICATION_FAILURE Handle = 0x8000401D + CO_E_SERVER_START_TIMEOUT Handle = 0x8000401E + CO_E_CLSREG_INCONSISTENT Handle = 0x8000401F + CO_E_IIDREG_INCONSISTENT Handle = 0x80004020 + CO_E_NOT_SUPPORTED Handle = 0x80004021 + CO_E_RELOAD_DLL Handle = 0x80004022 + CO_E_MSI_ERROR Handle = 0x80004023 + CO_E_ATTEMPT_TO_CREATE_OUTSIDE_CLIENT_CONTEXT Handle = 0x80004024 + CO_E_SERVER_PAUSED Handle = 0x80004025 + CO_E_SERVER_NOT_PAUSED Handle = 0x80004026 + CO_E_CLASS_DISABLED Handle = 0x80004027 + CO_E_CLRNOTAVAILABLE Handle = 0x80004028 + CO_E_ASYNC_WORK_REJECTED Handle = 0x80004029 + CO_E_SERVER_INIT_TIMEOUT Handle = 0x8000402A + CO_E_NO_SECCTX_IN_ACTIVATE Handle = 0x8000402B + CO_E_TRACKER_CONFIG Handle = 0x80004030 + CO_E_THREADPOOL_CONFIG Handle = 0x80004031 + CO_E_SXS_CONFIG Handle = 0x80004032 + CO_E_MALFORMED_SPN Handle = 0x80004033 + CO_E_UNREVOKED_REGISTRATION_ON_APARTMENT_SHUTDOWN Handle = 0x80004034 + CO_E_PREMATURE_STUB_RUNDOWN Handle = 0x80004035 + S_OK Handle = 0 + S_FALSE Handle = 1 + OLE_E_FIRST Handle = 0x80040000 + OLE_E_LAST Handle = 0x800400FF + OLE_S_FIRST Handle = 0x00040000 + OLE_S_LAST Handle = 0x000400FF + OLE_E_OLEVERB Handle = 0x80040000 + OLE_E_ADVF Handle = 0x80040001 + OLE_E_ENUM_NOMORE Handle = 0x80040002 + OLE_E_ADVISENOTSUPPORTED Handle = 0x80040003 + OLE_E_NOCONNECTION Handle = 0x80040004 + OLE_E_NOTRUNNING Handle = 0x80040005 + OLE_E_NOCACHE Handle = 0x80040006 + OLE_E_BLANK Handle = 0x80040007 + OLE_E_CLASSDIFF Handle = 0x80040008 + OLE_E_CANT_GETMONIKER Handle = 0x80040009 + OLE_E_CANT_BINDTOSOURCE Handle = 0x8004000A + OLE_E_STATIC Handle = 0x8004000B + OLE_E_PROMPTSAVECANCELLED Handle = 0x8004000C + OLE_E_INVALIDRECT Handle = 0x8004000D + OLE_E_WRONGCOMPOBJ Handle = 0x8004000E + OLE_E_INVALIDHWND Handle = 0x8004000F + OLE_E_NOT_INPLACEACTIVE Handle = 0x80040010 + OLE_E_CANTCONVERT Handle = 0x80040011 + OLE_E_NOSTORAGE Handle = 0x80040012 + DV_E_FORMATETC Handle = 0x80040064 + DV_E_DVTARGETDEVICE Handle = 0x80040065 + DV_E_STGMEDIUM Handle = 0x80040066 + DV_E_STATDATA Handle = 0x80040067 + DV_E_LINDEX Handle = 0x80040068 + DV_E_TYMED Handle = 0x80040069 + DV_E_CLIPFORMAT Handle = 0x8004006A + DV_E_DVASPECT Handle = 0x8004006B + DV_E_DVTARGETDEVICE_SIZE Handle = 0x8004006C + DV_E_NOIVIEWOBJECT Handle = 0x8004006D + DRAGDROP_E_FIRST syscall.Errno = 0x80040100 + DRAGDROP_E_LAST syscall.Errno = 0x8004010F + DRAGDROP_S_FIRST syscall.Errno = 0x00040100 + DRAGDROP_S_LAST syscall.Errno = 0x0004010F + DRAGDROP_E_NOTREGISTERED Handle = 0x80040100 + DRAGDROP_E_ALREADYREGISTERED Handle = 0x80040101 + DRAGDROP_E_INVALIDHWND Handle = 0x80040102 + DRAGDROP_E_CONCURRENT_DRAG_ATTEMPTED Handle = 0x80040103 + CLASSFACTORY_E_FIRST syscall.Errno = 0x80040110 + CLASSFACTORY_E_LAST syscall.Errno = 0x8004011F + CLASSFACTORY_S_FIRST syscall.Errno = 0x00040110 + CLASSFACTORY_S_LAST syscall.Errno = 0x0004011F + CLASS_E_NOAGGREGATION Handle = 0x80040110 + CLASS_E_CLASSNOTAVAILABLE Handle = 0x80040111 + CLASS_E_NOTLICENSED Handle = 0x80040112 + MARSHAL_E_FIRST syscall.Errno = 0x80040120 + MARSHAL_E_LAST syscall.Errno = 0x8004012F + MARSHAL_S_FIRST syscall.Errno = 0x00040120 + MARSHAL_S_LAST syscall.Errno = 0x0004012F + DATA_E_FIRST syscall.Errno = 0x80040130 + DATA_E_LAST syscall.Errno = 0x8004013F + DATA_S_FIRST syscall.Errno = 0x00040130 + DATA_S_LAST syscall.Errno = 0x0004013F + VIEW_E_FIRST syscall.Errno = 0x80040140 + VIEW_E_LAST syscall.Errno = 0x8004014F + VIEW_S_FIRST syscall.Errno = 0x00040140 + VIEW_S_LAST syscall.Errno = 0x0004014F + VIEW_E_DRAW Handle = 0x80040140 + REGDB_E_FIRST syscall.Errno = 0x80040150 + REGDB_E_LAST syscall.Errno = 0x8004015F + REGDB_S_FIRST syscall.Errno = 0x00040150 + REGDB_S_LAST syscall.Errno = 0x0004015F + REGDB_E_READREGDB Handle = 0x80040150 + REGDB_E_WRITEREGDB Handle = 0x80040151 + REGDB_E_KEYMISSING Handle = 0x80040152 + REGDB_E_INVALIDVALUE Handle = 0x80040153 + REGDB_E_CLASSNOTREG Handle = 0x80040154 + REGDB_E_IIDNOTREG Handle = 0x80040155 + REGDB_E_BADTHREADINGMODEL Handle = 0x80040156 + REGDB_E_PACKAGEPOLICYVIOLATION Handle = 0x80040157 + CAT_E_FIRST syscall.Errno = 0x80040160 + CAT_E_LAST syscall.Errno = 0x80040161 + CAT_E_CATIDNOEXIST Handle = 0x80040160 + CAT_E_NODESCRIPTION Handle = 0x80040161 + CS_E_FIRST syscall.Errno = 0x80040164 + CS_E_LAST syscall.Errno = 0x8004016F + CS_E_PACKAGE_NOTFOUND Handle = 0x80040164 + CS_E_NOT_DELETABLE Handle = 0x80040165 + CS_E_CLASS_NOTFOUND Handle = 0x80040166 + CS_E_INVALID_VERSION Handle = 0x80040167 + CS_E_NO_CLASSSTORE Handle = 0x80040168 + CS_E_OBJECT_NOTFOUND Handle = 0x80040169 + CS_E_OBJECT_ALREADY_EXISTS Handle = 0x8004016A + CS_E_INVALID_PATH Handle = 0x8004016B + CS_E_NETWORK_ERROR Handle = 0x8004016C + CS_E_ADMIN_LIMIT_EXCEEDED Handle = 0x8004016D + CS_E_SCHEMA_MISMATCH Handle = 0x8004016E + CS_E_INTERNAL_ERROR Handle = 0x8004016F + CACHE_E_FIRST syscall.Errno = 0x80040170 + CACHE_E_LAST syscall.Errno = 0x8004017F + CACHE_S_FIRST syscall.Errno = 0x00040170 + CACHE_S_LAST syscall.Errno = 0x0004017F + CACHE_E_NOCACHE_UPDATED Handle = 0x80040170 + OLEOBJ_E_FIRST syscall.Errno = 0x80040180 + OLEOBJ_E_LAST syscall.Errno = 0x8004018F + OLEOBJ_S_FIRST syscall.Errno = 0x00040180 + OLEOBJ_S_LAST syscall.Errno = 0x0004018F + OLEOBJ_E_NOVERBS Handle = 0x80040180 + OLEOBJ_E_INVALIDVERB Handle = 0x80040181 + CLIENTSITE_E_FIRST syscall.Errno = 0x80040190 + CLIENTSITE_E_LAST syscall.Errno = 0x8004019F + CLIENTSITE_S_FIRST syscall.Errno = 0x00040190 + CLIENTSITE_S_LAST syscall.Errno = 0x0004019F + INPLACE_E_NOTUNDOABLE Handle = 0x800401A0 + INPLACE_E_NOTOOLSPACE Handle = 0x800401A1 + INPLACE_E_FIRST syscall.Errno = 0x800401A0 + INPLACE_E_LAST syscall.Errno = 0x800401AF + INPLACE_S_FIRST syscall.Errno = 0x000401A0 + INPLACE_S_LAST syscall.Errno = 0x000401AF + ENUM_E_FIRST syscall.Errno = 0x800401B0 + ENUM_E_LAST syscall.Errno = 0x800401BF + ENUM_S_FIRST syscall.Errno = 0x000401B0 + ENUM_S_LAST syscall.Errno = 0x000401BF + CONVERT10_E_FIRST syscall.Errno = 0x800401C0 + CONVERT10_E_LAST syscall.Errno = 0x800401CF + CONVERT10_S_FIRST syscall.Errno = 0x000401C0 + CONVERT10_S_LAST syscall.Errno = 0x000401CF + CONVERT10_E_OLESTREAM_GET Handle = 0x800401C0 + CONVERT10_E_OLESTREAM_PUT Handle = 0x800401C1 + CONVERT10_E_OLESTREAM_FMT Handle = 0x800401C2 + CONVERT10_E_OLESTREAM_BITMAP_TO_DIB Handle = 0x800401C3 + CONVERT10_E_STG_FMT Handle = 0x800401C4 + CONVERT10_E_STG_NO_STD_STREAM Handle = 0x800401C5 + CONVERT10_E_STG_DIB_TO_BITMAP Handle = 0x800401C6 + CLIPBRD_E_FIRST syscall.Errno = 0x800401D0 + CLIPBRD_E_LAST syscall.Errno = 0x800401DF + CLIPBRD_S_FIRST syscall.Errno = 0x000401D0 + CLIPBRD_S_LAST syscall.Errno = 0x000401DF + CLIPBRD_E_CANT_OPEN Handle = 0x800401D0 + CLIPBRD_E_CANT_EMPTY Handle = 0x800401D1 + CLIPBRD_E_CANT_SET Handle = 0x800401D2 + CLIPBRD_E_BAD_DATA Handle = 0x800401D3 + CLIPBRD_E_CANT_CLOSE Handle = 0x800401D4 + MK_E_FIRST syscall.Errno = 0x800401E0 + MK_E_LAST syscall.Errno = 0x800401EF + MK_S_FIRST syscall.Errno = 0x000401E0 + MK_S_LAST syscall.Errno = 0x000401EF + MK_E_CONNECTMANUALLY Handle = 0x800401E0 + MK_E_EXCEEDEDDEADLINE Handle = 0x800401E1 + MK_E_NEEDGENERIC Handle = 0x800401E2 + MK_E_UNAVAILABLE Handle = 0x800401E3 + MK_E_SYNTAX Handle = 0x800401E4 + MK_E_NOOBJECT Handle = 0x800401E5 + MK_E_INVALIDEXTENSION Handle = 0x800401E6 + MK_E_INTERMEDIATEINTERFACENOTSUPPORTED Handle = 0x800401E7 + MK_E_NOTBINDABLE Handle = 0x800401E8 + MK_E_NOTBOUND Handle = 0x800401E9 + MK_E_CANTOPENFILE Handle = 0x800401EA + MK_E_MUSTBOTHERUSER Handle = 0x800401EB + MK_E_NOINVERSE Handle = 0x800401EC + MK_E_NOSTORAGE Handle = 0x800401ED + MK_E_NOPREFIX Handle = 0x800401EE + MK_E_ENUMERATION_FAILED Handle = 0x800401EF + CO_E_FIRST syscall.Errno = 0x800401F0 + CO_E_LAST syscall.Errno = 0x800401FF + CO_S_FIRST syscall.Errno = 0x000401F0 + CO_S_LAST syscall.Errno = 0x000401FF + CO_E_NOTINITIALIZED Handle = 0x800401F0 + CO_E_ALREADYINITIALIZED Handle = 0x800401F1 + CO_E_CANTDETERMINECLASS Handle = 0x800401F2 + CO_E_CLASSSTRING Handle = 0x800401F3 + CO_E_IIDSTRING Handle = 0x800401F4 + CO_E_APPNOTFOUND Handle = 0x800401F5 + CO_E_APPSINGLEUSE Handle = 0x800401F6 + CO_E_ERRORINAPP Handle = 0x800401F7 + CO_E_DLLNOTFOUND Handle = 0x800401F8 + CO_E_ERRORINDLL Handle = 0x800401F9 + CO_E_WRONGOSFORAPP Handle = 0x800401FA + CO_E_OBJNOTREG Handle = 0x800401FB + CO_E_OBJISREG Handle = 0x800401FC + CO_E_OBJNOTCONNECTED Handle = 0x800401FD + CO_E_APPDIDNTREG Handle = 0x800401FE + CO_E_RELEASED Handle = 0x800401FF + EVENT_E_FIRST syscall.Errno = 0x80040200 + EVENT_E_LAST syscall.Errno = 0x8004021F + EVENT_S_FIRST syscall.Errno = 0x00040200 + EVENT_S_LAST syscall.Errno = 0x0004021F + EVENT_S_SOME_SUBSCRIBERS_FAILED Handle = 0x00040200 + EVENT_E_ALL_SUBSCRIBERS_FAILED Handle = 0x80040201 + EVENT_S_NOSUBSCRIBERS Handle = 0x00040202 + EVENT_E_QUERYSYNTAX Handle = 0x80040203 + EVENT_E_QUERYFIELD Handle = 0x80040204 + EVENT_E_INTERNALEXCEPTION Handle = 0x80040205 + EVENT_E_INTERNALERROR Handle = 0x80040206 + EVENT_E_INVALID_PER_USER_SID Handle = 0x80040207 + EVENT_E_USER_EXCEPTION Handle = 0x80040208 + EVENT_E_TOO_MANY_METHODS Handle = 0x80040209 + EVENT_E_MISSING_EVENTCLASS Handle = 0x8004020A + EVENT_E_NOT_ALL_REMOVED Handle = 0x8004020B + EVENT_E_COMPLUS_NOT_INSTALLED Handle = 0x8004020C + EVENT_E_CANT_MODIFY_OR_DELETE_UNCONFIGURED_OBJECT Handle = 0x8004020D + EVENT_E_CANT_MODIFY_OR_DELETE_CONFIGURED_OBJECT Handle = 0x8004020E + EVENT_E_INVALID_EVENT_CLASS_PARTITION Handle = 0x8004020F + EVENT_E_PER_USER_SID_NOT_LOGGED_ON Handle = 0x80040210 + TPC_E_INVALID_PROPERTY Handle = 0x80040241 + TPC_E_NO_DEFAULT_TABLET Handle = 0x80040212 + TPC_E_UNKNOWN_PROPERTY Handle = 0x8004021B + TPC_E_INVALID_INPUT_RECT Handle = 0x80040219 + TPC_E_INVALID_STROKE Handle = 0x80040222 + TPC_E_INITIALIZE_FAIL Handle = 0x80040223 + TPC_E_NOT_RELEVANT Handle = 0x80040232 + TPC_E_INVALID_PACKET_DESCRIPTION Handle = 0x80040233 + TPC_E_RECOGNIZER_NOT_REGISTERED Handle = 0x80040235 + TPC_E_INVALID_RIGHTS Handle = 0x80040236 + TPC_E_OUT_OF_ORDER_CALL Handle = 0x80040237 + TPC_E_QUEUE_FULL Handle = 0x80040238 + TPC_E_INVALID_CONFIGURATION Handle = 0x80040239 + TPC_E_INVALID_DATA_FROM_RECOGNIZER Handle = 0x8004023A + TPC_S_TRUNCATED Handle = 0x00040252 + TPC_S_INTERRUPTED Handle = 0x00040253 + TPC_S_NO_DATA_TO_PROCESS Handle = 0x00040254 + XACT_E_FIRST syscall.Errno = 0x8004D000 + XACT_E_LAST syscall.Errno = 0x8004D02B + XACT_S_FIRST syscall.Errno = 0x0004D000 + XACT_S_LAST syscall.Errno = 0x0004D010 + XACT_E_ALREADYOTHERSINGLEPHASE Handle = 0x8004D000 + XACT_E_CANTRETAIN Handle = 0x8004D001 + XACT_E_COMMITFAILED Handle = 0x8004D002 + XACT_E_COMMITPREVENTED Handle = 0x8004D003 + XACT_E_HEURISTICABORT Handle = 0x8004D004 + XACT_E_HEURISTICCOMMIT Handle = 0x8004D005 + XACT_E_HEURISTICDAMAGE Handle = 0x8004D006 + XACT_E_HEURISTICDANGER Handle = 0x8004D007 + XACT_E_ISOLATIONLEVEL Handle = 0x8004D008 + XACT_E_NOASYNC Handle = 0x8004D009 + XACT_E_NOENLIST Handle = 0x8004D00A + XACT_E_NOISORETAIN Handle = 0x8004D00B + XACT_E_NORESOURCE Handle = 0x8004D00C + XACT_E_NOTCURRENT Handle = 0x8004D00D + XACT_E_NOTRANSACTION Handle = 0x8004D00E + XACT_E_NOTSUPPORTED Handle = 0x8004D00F + XACT_E_UNKNOWNRMGRID Handle = 0x8004D010 + XACT_E_WRONGSTATE Handle = 0x8004D011 + XACT_E_WRONGUOW Handle = 0x8004D012 + XACT_E_XTIONEXISTS Handle = 0x8004D013 + XACT_E_NOIMPORTOBJECT Handle = 0x8004D014 + XACT_E_INVALIDCOOKIE Handle = 0x8004D015 + XACT_E_INDOUBT Handle = 0x8004D016 + XACT_E_NOTIMEOUT Handle = 0x8004D017 + XACT_E_ALREADYINPROGRESS Handle = 0x8004D018 + XACT_E_ABORTED Handle = 0x8004D019 + XACT_E_LOGFULL Handle = 0x8004D01A + XACT_E_TMNOTAVAILABLE Handle = 0x8004D01B + XACT_E_CONNECTION_DOWN Handle = 0x8004D01C + XACT_E_CONNECTION_DENIED Handle = 0x8004D01D + XACT_E_REENLISTTIMEOUT Handle = 0x8004D01E + XACT_E_TIP_CONNECT_FAILED Handle = 0x8004D01F + XACT_E_TIP_PROTOCOL_ERROR Handle = 0x8004D020 + XACT_E_TIP_PULL_FAILED Handle = 0x8004D021 + XACT_E_DEST_TMNOTAVAILABLE Handle = 0x8004D022 + XACT_E_TIP_DISABLED Handle = 0x8004D023 + XACT_E_NETWORK_TX_DISABLED Handle = 0x8004D024 + XACT_E_PARTNER_NETWORK_TX_DISABLED Handle = 0x8004D025 + XACT_E_XA_TX_DISABLED Handle = 0x8004D026 + XACT_E_UNABLE_TO_READ_DTC_CONFIG Handle = 0x8004D027 + XACT_E_UNABLE_TO_LOAD_DTC_PROXY Handle = 0x8004D028 + XACT_E_ABORTING Handle = 0x8004D029 + XACT_E_PUSH_COMM_FAILURE Handle = 0x8004D02A + XACT_E_PULL_COMM_FAILURE Handle = 0x8004D02B + XACT_E_LU_TX_DISABLED Handle = 0x8004D02C + XACT_E_CLERKNOTFOUND Handle = 0x8004D080 + XACT_E_CLERKEXISTS Handle = 0x8004D081 + XACT_E_RECOVERYINPROGRESS Handle = 0x8004D082 + XACT_E_TRANSACTIONCLOSED Handle = 0x8004D083 + XACT_E_INVALIDLSN Handle = 0x8004D084 + XACT_E_REPLAYREQUEST Handle = 0x8004D085 + XACT_S_ASYNC Handle = 0x0004D000 + XACT_S_DEFECT Handle = 0x0004D001 + XACT_S_READONLY Handle = 0x0004D002 + XACT_S_SOMENORETAIN Handle = 0x0004D003 + XACT_S_OKINFORM Handle = 0x0004D004 + XACT_S_MADECHANGESCONTENT Handle = 0x0004D005 + XACT_S_MADECHANGESINFORM Handle = 0x0004D006 + XACT_S_ALLNORETAIN Handle = 0x0004D007 + XACT_S_ABORTING Handle = 0x0004D008 + XACT_S_SINGLEPHASE Handle = 0x0004D009 + XACT_S_LOCALLY_OK Handle = 0x0004D00A + XACT_S_LASTRESOURCEMANAGER Handle = 0x0004D010 + CONTEXT_E_FIRST syscall.Errno = 0x8004E000 + CONTEXT_E_LAST syscall.Errno = 0x8004E02F + CONTEXT_S_FIRST syscall.Errno = 0x0004E000 + CONTEXT_S_LAST syscall.Errno = 0x0004E02F + CONTEXT_E_ABORTED Handle = 0x8004E002 + CONTEXT_E_ABORTING Handle = 0x8004E003 + CONTEXT_E_NOCONTEXT Handle = 0x8004E004 + CONTEXT_E_WOULD_DEADLOCK Handle = 0x8004E005 + CONTEXT_E_SYNCH_TIMEOUT Handle = 0x8004E006 + CONTEXT_E_OLDREF Handle = 0x8004E007 + CONTEXT_E_ROLENOTFOUND Handle = 0x8004E00C + CONTEXT_E_TMNOTAVAILABLE Handle = 0x8004E00F + CO_E_ACTIVATIONFAILED Handle = 0x8004E021 + CO_E_ACTIVATIONFAILED_EVENTLOGGED Handle = 0x8004E022 + CO_E_ACTIVATIONFAILED_CATALOGERROR Handle = 0x8004E023 + CO_E_ACTIVATIONFAILED_TIMEOUT Handle = 0x8004E024 + CO_E_INITIALIZATIONFAILED Handle = 0x8004E025 + CONTEXT_E_NOJIT Handle = 0x8004E026 + CONTEXT_E_NOTRANSACTION Handle = 0x8004E027 + CO_E_THREADINGMODEL_CHANGED Handle = 0x8004E028 + CO_E_NOIISINTRINSICS Handle = 0x8004E029 + CO_E_NOCOOKIES Handle = 0x8004E02A + CO_E_DBERROR Handle = 0x8004E02B + CO_E_NOTPOOLED Handle = 0x8004E02C + CO_E_NOTCONSTRUCTED Handle = 0x8004E02D + CO_E_NOSYNCHRONIZATION Handle = 0x8004E02E + CO_E_ISOLEVELMISMATCH Handle = 0x8004E02F + CO_E_CALL_OUT_OF_TX_SCOPE_NOT_ALLOWED Handle = 0x8004E030 + CO_E_EXIT_TRANSACTION_SCOPE_NOT_CALLED Handle = 0x8004E031 + OLE_S_USEREG Handle = 0x00040000 + OLE_S_STATIC Handle = 0x00040001 + OLE_S_MAC_CLIPFORMAT Handle = 0x00040002 + DRAGDROP_S_DROP Handle = 0x00040100 + DRAGDROP_S_CANCEL Handle = 0x00040101 + DRAGDROP_S_USEDEFAULTCURSORS Handle = 0x00040102 + DATA_S_SAMEFORMATETC Handle = 0x00040130 + VIEW_S_ALREADY_FROZEN Handle = 0x00040140 + CACHE_S_FORMATETC_NOTSUPPORTED Handle = 0x00040170 + CACHE_S_SAMECACHE Handle = 0x00040171 + CACHE_S_SOMECACHES_NOTUPDATED Handle = 0x00040172 + OLEOBJ_S_INVALIDVERB Handle = 0x00040180 + OLEOBJ_S_CANNOT_DOVERB_NOW Handle = 0x00040181 + OLEOBJ_S_INVALIDHWND Handle = 0x00040182 + INPLACE_S_TRUNCATED Handle = 0x000401A0 + CONVERT10_S_NO_PRESENTATION Handle = 0x000401C0 + MK_S_REDUCED_TO_SELF Handle = 0x000401E2 + MK_S_ME Handle = 0x000401E4 + MK_S_HIM Handle = 0x000401E5 + MK_S_US Handle = 0x000401E6 + MK_S_MONIKERALREADYREGISTERED Handle = 0x000401E7 + SCHED_S_TASK_READY Handle = 0x00041300 + SCHED_S_TASK_RUNNING Handle = 0x00041301 + SCHED_S_TASK_DISABLED Handle = 0x00041302 + SCHED_S_TASK_HAS_NOT_RUN Handle = 0x00041303 + SCHED_S_TASK_NO_MORE_RUNS Handle = 0x00041304 + SCHED_S_TASK_NOT_SCHEDULED Handle = 0x00041305 + SCHED_S_TASK_TERMINATED Handle = 0x00041306 + SCHED_S_TASK_NO_VALID_TRIGGERS Handle = 0x00041307 + SCHED_S_EVENT_TRIGGER Handle = 0x00041308 + SCHED_E_TRIGGER_NOT_FOUND Handle = 0x80041309 + SCHED_E_TASK_NOT_READY Handle = 0x8004130A + SCHED_E_TASK_NOT_RUNNING Handle = 0x8004130B + SCHED_E_SERVICE_NOT_INSTALLED Handle = 0x8004130C + SCHED_E_CANNOT_OPEN_TASK Handle = 0x8004130D + SCHED_E_INVALID_TASK Handle = 0x8004130E + SCHED_E_ACCOUNT_INFORMATION_NOT_SET Handle = 0x8004130F + SCHED_E_ACCOUNT_NAME_NOT_FOUND Handle = 0x80041310 + SCHED_E_ACCOUNT_DBASE_CORRUPT Handle = 0x80041311 + SCHED_E_NO_SECURITY_SERVICES Handle = 0x80041312 + SCHED_E_UNKNOWN_OBJECT_VERSION Handle = 0x80041313 + SCHED_E_UNSUPPORTED_ACCOUNT_OPTION Handle = 0x80041314 + SCHED_E_SERVICE_NOT_RUNNING Handle = 0x80041315 + SCHED_E_UNEXPECTEDNODE Handle = 0x80041316 + SCHED_E_NAMESPACE Handle = 0x80041317 + SCHED_E_INVALIDVALUE Handle = 0x80041318 + SCHED_E_MISSINGNODE Handle = 0x80041319 + SCHED_E_MALFORMEDXML Handle = 0x8004131A + SCHED_S_SOME_TRIGGERS_FAILED Handle = 0x0004131B + SCHED_S_BATCH_LOGON_PROBLEM Handle = 0x0004131C + SCHED_E_TOO_MANY_NODES Handle = 0x8004131D + SCHED_E_PAST_END_BOUNDARY Handle = 0x8004131E + SCHED_E_ALREADY_RUNNING Handle = 0x8004131F + SCHED_E_USER_NOT_LOGGED_ON Handle = 0x80041320 + SCHED_E_INVALID_TASK_HASH Handle = 0x80041321 + SCHED_E_SERVICE_NOT_AVAILABLE Handle = 0x80041322 + SCHED_E_SERVICE_TOO_BUSY Handle = 0x80041323 + SCHED_E_TASK_ATTEMPTED Handle = 0x80041324 + SCHED_S_TASK_QUEUED Handle = 0x00041325 + SCHED_E_TASK_DISABLED Handle = 0x80041326 + SCHED_E_TASK_NOT_V1_COMPAT Handle = 0x80041327 + SCHED_E_START_ON_DEMAND Handle = 0x80041328 + SCHED_E_TASK_NOT_UBPM_COMPAT Handle = 0x80041329 + SCHED_E_DEPRECATED_FEATURE_USED Handle = 0x80041330 + CO_E_CLASS_CREATE_FAILED Handle = 0x80080001 + CO_E_SCM_ERROR Handle = 0x80080002 + CO_E_SCM_RPC_FAILURE Handle = 0x80080003 + CO_E_BAD_PATH Handle = 0x80080004 + CO_E_SERVER_EXEC_FAILURE Handle = 0x80080005 + CO_E_OBJSRV_RPC_FAILURE Handle = 0x80080006 + MK_E_NO_NORMALIZED Handle = 0x80080007 + CO_E_SERVER_STOPPING Handle = 0x80080008 + MEM_E_INVALID_ROOT Handle = 0x80080009 + MEM_E_INVALID_LINK Handle = 0x80080010 + MEM_E_INVALID_SIZE Handle = 0x80080011 + CO_S_NOTALLINTERFACES Handle = 0x00080012 + CO_S_MACHINENAMENOTFOUND Handle = 0x00080013 + CO_E_MISSING_DISPLAYNAME Handle = 0x80080015 + CO_E_RUNAS_VALUE_MUST_BE_AAA Handle = 0x80080016 + CO_E_ELEVATION_DISABLED Handle = 0x80080017 + APPX_E_PACKAGING_INTERNAL Handle = 0x80080200 + APPX_E_INTERLEAVING_NOT_ALLOWED Handle = 0x80080201 + APPX_E_RELATIONSHIPS_NOT_ALLOWED Handle = 0x80080202 + APPX_E_MISSING_REQUIRED_FILE Handle = 0x80080203 + APPX_E_INVALID_MANIFEST Handle = 0x80080204 + APPX_E_INVALID_BLOCKMAP Handle = 0x80080205 + APPX_E_CORRUPT_CONTENT Handle = 0x80080206 + APPX_E_BLOCK_HASH_INVALID Handle = 0x80080207 + APPX_E_REQUESTED_RANGE_TOO_LARGE Handle = 0x80080208 + APPX_E_INVALID_SIP_CLIENT_DATA Handle = 0x80080209 + APPX_E_INVALID_KEY_INFO Handle = 0x8008020A + APPX_E_INVALID_CONTENTGROUPMAP Handle = 0x8008020B + APPX_E_INVALID_APPINSTALLER Handle = 0x8008020C + APPX_E_DELTA_BASELINE_VERSION_MISMATCH Handle = 0x8008020D + APPX_E_DELTA_PACKAGE_MISSING_FILE Handle = 0x8008020E + APPX_E_INVALID_DELTA_PACKAGE Handle = 0x8008020F + APPX_E_DELTA_APPENDED_PACKAGE_NOT_ALLOWED Handle = 0x80080210 + APPX_E_INVALID_PACKAGING_LAYOUT Handle = 0x80080211 + APPX_E_INVALID_PACKAGESIGNCONFIG Handle = 0x80080212 + APPX_E_RESOURCESPRI_NOT_ALLOWED Handle = 0x80080213 + APPX_E_FILE_COMPRESSION_MISMATCH Handle = 0x80080214 + APPX_E_INVALID_PAYLOAD_PACKAGE_EXTENSION Handle = 0x80080215 + APPX_E_INVALID_ENCRYPTION_EXCLUSION_FILE_LIST Handle = 0x80080216 + BT_E_SPURIOUS_ACTIVATION Handle = 0x80080300 + DISP_E_UNKNOWNINTERFACE Handle = 0x80020001 + DISP_E_MEMBERNOTFOUND Handle = 0x80020003 + DISP_E_PARAMNOTFOUND Handle = 0x80020004 + DISP_E_TYPEMISMATCH Handle = 0x80020005 + DISP_E_UNKNOWNNAME Handle = 0x80020006 + DISP_E_NONAMEDARGS Handle = 0x80020007 + DISP_E_BADVARTYPE Handle = 0x80020008 + DISP_E_EXCEPTION Handle = 0x80020009 + DISP_E_OVERFLOW Handle = 0x8002000A + DISP_E_BADINDEX Handle = 0x8002000B + DISP_E_UNKNOWNLCID Handle = 0x8002000C + DISP_E_ARRAYISLOCKED Handle = 0x8002000D + DISP_E_BADPARAMCOUNT Handle = 0x8002000E + DISP_E_PARAMNOTOPTIONAL Handle = 0x8002000F + DISP_E_BADCALLEE Handle = 0x80020010 + DISP_E_NOTACOLLECTION Handle = 0x80020011 + DISP_E_DIVBYZERO Handle = 0x80020012 + DISP_E_BUFFERTOOSMALL Handle = 0x80020013 + TYPE_E_BUFFERTOOSMALL Handle = 0x80028016 + TYPE_E_FIELDNOTFOUND Handle = 0x80028017 + TYPE_E_INVDATAREAD Handle = 0x80028018 + TYPE_E_UNSUPFORMAT Handle = 0x80028019 + TYPE_E_REGISTRYACCESS Handle = 0x8002801C + TYPE_E_LIBNOTREGISTERED Handle = 0x8002801D + TYPE_E_UNDEFINEDTYPE Handle = 0x80028027 + TYPE_E_QUALIFIEDNAMEDISALLOWED Handle = 0x80028028 + TYPE_E_INVALIDSTATE Handle = 0x80028029 + TYPE_E_WRONGTYPEKIND Handle = 0x8002802A + TYPE_E_ELEMENTNOTFOUND Handle = 0x8002802B + TYPE_E_AMBIGUOUSNAME Handle = 0x8002802C + TYPE_E_NAMECONFLICT Handle = 0x8002802D + TYPE_E_UNKNOWNLCID Handle = 0x8002802E + TYPE_E_DLLFUNCTIONNOTFOUND Handle = 0x8002802F + TYPE_E_BADMODULEKIND Handle = 0x800288BD + TYPE_E_SIZETOOBIG Handle = 0x800288C5 + TYPE_E_DUPLICATEID Handle = 0x800288C6 + TYPE_E_INVALIDID Handle = 0x800288CF + TYPE_E_TYPEMISMATCH Handle = 0x80028CA0 + TYPE_E_OUTOFBOUNDS Handle = 0x80028CA1 + TYPE_E_IOERROR Handle = 0x80028CA2 + TYPE_E_CANTCREATETMPFILE Handle = 0x80028CA3 + TYPE_E_CANTLOADLIBRARY Handle = 0x80029C4A + TYPE_E_INCONSISTENTPROPFUNCS Handle = 0x80029C83 + TYPE_E_CIRCULARTYPE Handle = 0x80029C84 + STG_E_INVALIDFUNCTION Handle = 0x80030001 + STG_E_FILENOTFOUND Handle = 0x80030002 + STG_E_PATHNOTFOUND Handle = 0x80030003 + STG_E_TOOMANYOPENFILES Handle = 0x80030004 + STG_E_ACCESSDENIED Handle = 0x80030005 + STG_E_INVALIDHANDLE Handle = 0x80030006 + STG_E_INSUFFICIENTMEMORY Handle = 0x80030008 + STG_E_INVALIDPOINTER Handle = 0x80030009 + STG_E_NOMOREFILES Handle = 0x80030012 + STG_E_DISKISWRITEPROTECTED Handle = 0x80030013 + STG_E_SEEKERROR Handle = 0x80030019 + STG_E_WRITEFAULT Handle = 0x8003001D + STG_E_READFAULT Handle = 0x8003001E + STG_E_SHAREVIOLATION Handle = 0x80030020 + STG_E_LOCKVIOLATION Handle = 0x80030021 + STG_E_FILEALREADYEXISTS Handle = 0x80030050 + STG_E_INVALIDPARAMETER Handle = 0x80030057 + STG_E_MEDIUMFULL Handle = 0x80030070 + STG_E_PROPSETMISMATCHED Handle = 0x800300F0 + STG_E_ABNORMALAPIEXIT Handle = 0x800300FA + STG_E_INVALIDHEADER Handle = 0x800300FB + STG_E_INVALIDNAME Handle = 0x800300FC + STG_E_UNKNOWN Handle = 0x800300FD + STG_E_UNIMPLEMENTEDFUNCTION Handle = 0x800300FE + STG_E_INVALIDFLAG Handle = 0x800300FF + STG_E_INUSE Handle = 0x80030100 + STG_E_NOTCURRENT Handle = 0x80030101 + STG_E_REVERTED Handle = 0x80030102 + STG_E_CANTSAVE Handle = 0x80030103 + STG_E_OLDFORMAT Handle = 0x80030104 + STG_E_OLDDLL Handle = 0x80030105 + STG_E_SHAREREQUIRED Handle = 0x80030106 + STG_E_NOTFILEBASEDSTORAGE Handle = 0x80030107 + STG_E_EXTANTMARSHALLINGS Handle = 0x80030108 + STG_E_DOCFILECORRUPT Handle = 0x80030109 + STG_E_BADBASEADDRESS Handle = 0x80030110 + STG_E_DOCFILETOOLARGE Handle = 0x80030111 + STG_E_NOTSIMPLEFORMAT Handle = 0x80030112 + STG_E_INCOMPLETE Handle = 0x80030201 + STG_E_TERMINATED Handle = 0x80030202 + STG_S_CONVERTED Handle = 0x00030200 + STG_S_BLOCK Handle = 0x00030201 + STG_S_RETRYNOW Handle = 0x00030202 + STG_S_MONITORING Handle = 0x00030203 + STG_S_MULTIPLEOPENS Handle = 0x00030204 + STG_S_CONSOLIDATIONFAILED Handle = 0x00030205 + STG_S_CANNOTCONSOLIDATE Handle = 0x00030206 + STG_S_POWER_CYCLE_REQUIRED Handle = 0x00030207 + STG_E_FIRMWARE_SLOT_INVALID Handle = 0x80030208 + STG_E_FIRMWARE_IMAGE_INVALID Handle = 0x80030209 + STG_E_DEVICE_UNRESPONSIVE Handle = 0x8003020A + STG_E_STATUS_COPY_PROTECTION_FAILURE Handle = 0x80030305 + STG_E_CSS_AUTHENTICATION_FAILURE Handle = 0x80030306 + STG_E_CSS_KEY_NOT_PRESENT Handle = 0x80030307 + STG_E_CSS_KEY_NOT_ESTABLISHED Handle = 0x80030308 + STG_E_CSS_SCRAMBLED_SECTOR Handle = 0x80030309 + STG_E_CSS_REGION_MISMATCH Handle = 0x8003030A + STG_E_RESETS_EXHAUSTED Handle = 0x8003030B + RPC_E_CALL_REJECTED Handle = 0x80010001 + RPC_E_CALL_CANCELED Handle = 0x80010002 + RPC_E_CANTPOST_INSENDCALL Handle = 0x80010003 + RPC_E_CANTCALLOUT_INASYNCCALL Handle = 0x80010004 + RPC_E_CANTCALLOUT_INEXTERNALCALL Handle = 0x80010005 + RPC_E_CONNECTION_TERMINATED Handle = 0x80010006 + RPC_E_SERVER_DIED Handle = 0x80010007 + RPC_E_CLIENT_DIED Handle = 0x80010008 + RPC_E_INVALID_DATAPACKET Handle = 0x80010009 + RPC_E_CANTTRANSMIT_CALL Handle = 0x8001000A + RPC_E_CLIENT_CANTMARSHAL_DATA Handle = 0x8001000B + RPC_E_CLIENT_CANTUNMARSHAL_DATA Handle = 0x8001000C + RPC_E_SERVER_CANTMARSHAL_DATA Handle = 0x8001000D + RPC_E_SERVER_CANTUNMARSHAL_DATA Handle = 0x8001000E + RPC_E_INVALID_DATA Handle = 0x8001000F + RPC_E_INVALID_PARAMETER Handle = 0x80010010 + RPC_E_CANTCALLOUT_AGAIN Handle = 0x80010011 + RPC_E_SERVER_DIED_DNE Handle = 0x80010012 + RPC_E_SYS_CALL_FAILED Handle = 0x80010100 + RPC_E_OUT_OF_RESOURCES Handle = 0x80010101 + RPC_E_ATTEMPTED_MULTITHREAD Handle = 0x80010102 + RPC_E_NOT_REGISTERED Handle = 0x80010103 + RPC_E_FAULT Handle = 0x80010104 + RPC_E_SERVERFAULT Handle = 0x80010105 + RPC_E_CHANGED_MODE Handle = 0x80010106 + RPC_E_INVALIDMETHOD Handle = 0x80010107 + RPC_E_DISCONNECTED Handle = 0x80010108 + RPC_E_RETRY Handle = 0x80010109 + RPC_E_SERVERCALL_RETRYLATER Handle = 0x8001010A + RPC_E_SERVERCALL_REJECTED Handle = 0x8001010B + RPC_E_INVALID_CALLDATA Handle = 0x8001010C + RPC_E_CANTCALLOUT_ININPUTSYNCCALL Handle = 0x8001010D + RPC_E_WRONG_THREAD Handle = 0x8001010E + RPC_E_THREAD_NOT_INIT Handle = 0x8001010F + RPC_E_VERSION_MISMATCH Handle = 0x80010110 + RPC_E_INVALID_HEADER Handle = 0x80010111 + RPC_E_INVALID_EXTENSION Handle = 0x80010112 + RPC_E_INVALID_IPID Handle = 0x80010113 + RPC_E_INVALID_OBJECT Handle = 0x80010114 + RPC_S_CALLPENDING Handle = 0x80010115 + RPC_S_WAITONTIMER Handle = 0x80010116 + RPC_E_CALL_COMPLETE Handle = 0x80010117 + RPC_E_UNSECURE_CALL Handle = 0x80010118 + RPC_E_TOO_LATE Handle = 0x80010119 + RPC_E_NO_GOOD_SECURITY_PACKAGES Handle = 0x8001011A + RPC_E_ACCESS_DENIED Handle = 0x8001011B + RPC_E_REMOTE_DISABLED Handle = 0x8001011C + RPC_E_INVALID_OBJREF Handle = 0x8001011D + RPC_E_NO_CONTEXT Handle = 0x8001011E + RPC_E_TIMEOUT Handle = 0x8001011F + RPC_E_NO_SYNC Handle = 0x80010120 + RPC_E_FULLSIC_REQUIRED Handle = 0x80010121 + RPC_E_INVALID_STD_NAME Handle = 0x80010122 + CO_E_FAILEDTOIMPERSONATE Handle = 0x80010123 + CO_E_FAILEDTOGETSECCTX Handle = 0x80010124 + CO_E_FAILEDTOOPENTHREADTOKEN Handle = 0x80010125 + CO_E_FAILEDTOGETTOKENINFO Handle = 0x80010126 + CO_E_TRUSTEEDOESNTMATCHCLIENT Handle = 0x80010127 + CO_E_FAILEDTOQUERYCLIENTBLANKET Handle = 0x80010128 + CO_E_FAILEDTOSETDACL Handle = 0x80010129 + CO_E_ACCESSCHECKFAILED Handle = 0x8001012A + CO_E_NETACCESSAPIFAILED Handle = 0x8001012B + CO_E_WRONGTRUSTEENAMESYNTAX Handle = 0x8001012C + CO_E_INVALIDSID Handle = 0x8001012D + CO_E_CONVERSIONFAILED Handle = 0x8001012E + CO_E_NOMATCHINGSIDFOUND Handle = 0x8001012F + CO_E_LOOKUPACCSIDFAILED Handle = 0x80010130 + CO_E_NOMATCHINGNAMEFOUND Handle = 0x80010131 + CO_E_LOOKUPACCNAMEFAILED Handle = 0x80010132 + CO_E_SETSERLHNDLFAILED Handle = 0x80010133 + CO_E_FAILEDTOGETWINDIR Handle = 0x80010134 + CO_E_PATHTOOLONG Handle = 0x80010135 + CO_E_FAILEDTOGENUUID Handle = 0x80010136 + CO_E_FAILEDTOCREATEFILE Handle = 0x80010137 + CO_E_FAILEDTOCLOSEHANDLE Handle = 0x80010138 + CO_E_EXCEEDSYSACLLIMIT Handle = 0x80010139 + CO_E_ACESINWRONGORDER Handle = 0x8001013A + CO_E_INCOMPATIBLESTREAMVERSION Handle = 0x8001013B + CO_E_FAILEDTOOPENPROCESSTOKEN Handle = 0x8001013C + CO_E_DECODEFAILED Handle = 0x8001013D + CO_E_ACNOTINITIALIZED Handle = 0x8001013F + CO_E_CANCEL_DISABLED Handle = 0x80010140 + RPC_E_UNEXPECTED Handle = 0x8001FFFF + ERROR_AUDITING_DISABLED Handle = 0xC0090001 + ERROR_ALL_SIDS_FILTERED Handle = 0xC0090002 + ERROR_BIZRULES_NOT_ENABLED Handle = 0xC0090003 + NTE_BAD_UID Handle = 0x80090001 + NTE_BAD_HASH Handle = 0x80090002 + NTE_BAD_KEY Handle = 0x80090003 + NTE_BAD_LEN Handle = 0x80090004 + NTE_BAD_DATA Handle = 0x80090005 + NTE_BAD_SIGNATURE Handle = 0x80090006 + NTE_BAD_VER Handle = 0x80090007 + NTE_BAD_ALGID Handle = 0x80090008 + NTE_BAD_FLAGS Handle = 0x80090009 + NTE_BAD_TYPE Handle = 0x8009000A + NTE_BAD_KEY_STATE Handle = 0x8009000B + NTE_BAD_HASH_STATE Handle = 0x8009000C + NTE_NO_KEY Handle = 0x8009000D + NTE_NO_MEMORY Handle = 0x8009000E + NTE_EXISTS Handle = 0x8009000F + NTE_PERM Handle = 0x80090010 + NTE_NOT_FOUND Handle = 0x80090011 + NTE_DOUBLE_ENCRYPT Handle = 0x80090012 + NTE_BAD_PROVIDER Handle = 0x80090013 + NTE_BAD_PROV_TYPE Handle = 0x80090014 + NTE_BAD_PUBLIC_KEY Handle = 0x80090015 + NTE_BAD_KEYSET Handle = 0x80090016 + NTE_PROV_TYPE_NOT_DEF Handle = 0x80090017 + NTE_PROV_TYPE_ENTRY_BAD Handle = 0x80090018 + NTE_KEYSET_NOT_DEF Handle = 0x80090019 + NTE_KEYSET_ENTRY_BAD Handle = 0x8009001A + NTE_PROV_TYPE_NO_MATCH Handle = 0x8009001B + NTE_SIGNATURE_FILE_BAD Handle = 0x8009001C + NTE_PROVIDER_DLL_FAIL Handle = 0x8009001D + NTE_PROV_DLL_NOT_FOUND Handle = 0x8009001E + NTE_BAD_KEYSET_PARAM Handle = 0x8009001F + NTE_FAIL Handle = 0x80090020 + NTE_SYS_ERR Handle = 0x80090021 + NTE_SILENT_CONTEXT Handle = 0x80090022 + NTE_TOKEN_KEYSET_STORAGE_FULL Handle = 0x80090023 + NTE_TEMPORARY_PROFILE Handle = 0x80090024 + NTE_FIXEDPARAMETER Handle = 0x80090025 + NTE_INVALID_HANDLE Handle = 0x80090026 + NTE_INVALID_PARAMETER Handle = 0x80090027 + NTE_BUFFER_TOO_SMALL Handle = 0x80090028 + NTE_NOT_SUPPORTED Handle = 0x80090029 + NTE_NO_MORE_ITEMS Handle = 0x8009002A + NTE_BUFFERS_OVERLAP Handle = 0x8009002B + NTE_DECRYPTION_FAILURE Handle = 0x8009002C + NTE_INTERNAL_ERROR Handle = 0x8009002D + NTE_UI_REQUIRED Handle = 0x8009002E + NTE_HMAC_NOT_SUPPORTED Handle = 0x8009002F + NTE_DEVICE_NOT_READY Handle = 0x80090030 + NTE_AUTHENTICATION_IGNORED Handle = 0x80090031 + NTE_VALIDATION_FAILED Handle = 0x80090032 + NTE_INCORRECT_PASSWORD Handle = 0x80090033 + NTE_ENCRYPTION_FAILURE Handle = 0x80090034 + NTE_DEVICE_NOT_FOUND Handle = 0x80090035 + NTE_USER_CANCELLED Handle = 0x80090036 + NTE_PASSWORD_CHANGE_REQUIRED Handle = 0x80090037 + NTE_NOT_ACTIVE_CONSOLE Handle = 0x80090038 + SEC_E_INSUFFICIENT_MEMORY Handle = 0x80090300 + SEC_E_INVALID_HANDLE Handle = 0x80090301 + SEC_E_UNSUPPORTED_FUNCTION Handle = 0x80090302 + SEC_E_TARGET_UNKNOWN Handle = 0x80090303 + SEC_E_INTERNAL_ERROR Handle = 0x80090304 + SEC_E_SECPKG_NOT_FOUND Handle = 0x80090305 + SEC_E_NOT_OWNER Handle = 0x80090306 + SEC_E_CANNOT_INSTALL Handle = 0x80090307 + SEC_E_INVALID_TOKEN Handle = 0x80090308 + SEC_E_CANNOT_PACK Handle = 0x80090309 + SEC_E_QOP_NOT_SUPPORTED Handle = 0x8009030A + SEC_E_NO_IMPERSONATION Handle = 0x8009030B + SEC_E_LOGON_DENIED Handle = 0x8009030C + SEC_E_UNKNOWN_CREDENTIALS Handle = 0x8009030D + SEC_E_NO_CREDENTIALS Handle = 0x8009030E + SEC_E_MESSAGE_ALTERED Handle = 0x8009030F + SEC_E_OUT_OF_SEQUENCE Handle = 0x80090310 + SEC_E_NO_AUTHENTICATING_AUTHORITY Handle = 0x80090311 + SEC_I_CONTINUE_NEEDED Handle = 0x00090312 + SEC_I_COMPLETE_NEEDED Handle = 0x00090313 + SEC_I_COMPLETE_AND_CONTINUE Handle = 0x00090314 + SEC_I_LOCAL_LOGON Handle = 0x00090315 + SEC_E_BAD_PKGID Handle = 0x80090316 + SEC_E_CONTEXT_EXPIRED Handle = 0x80090317 + SEC_I_CONTEXT_EXPIRED Handle = 0x00090317 + SEC_E_INCOMPLETE_MESSAGE Handle = 0x80090318 + SEC_E_INCOMPLETE_CREDENTIALS Handle = 0x80090320 + SEC_E_BUFFER_TOO_SMALL Handle = 0x80090321 + SEC_I_INCOMPLETE_CREDENTIALS Handle = 0x00090320 + SEC_I_RENEGOTIATE Handle = 0x00090321 + SEC_E_WRONG_PRINCIPAL Handle = 0x80090322 + SEC_I_NO_LSA_CONTEXT Handle = 0x00090323 + SEC_E_TIME_SKEW Handle = 0x80090324 + SEC_E_UNTRUSTED_ROOT Handle = 0x80090325 + SEC_E_ILLEGAL_MESSAGE Handle = 0x80090326 + SEC_E_CERT_UNKNOWN Handle = 0x80090327 + SEC_E_CERT_EXPIRED Handle = 0x80090328 + SEC_E_ENCRYPT_FAILURE Handle = 0x80090329 + SEC_E_DECRYPT_FAILURE Handle = 0x80090330 + SEC_E_ALGORITHM_MISMATCH Handle = 0x80090331 + SEC_E_SECURITY_QOS_FAILED Handle = 0x80090332 + SEC_E_UNFINISHED_CONTEXT_DELETED Handle = 0x80090333 + SEC_E_NO_TGT_REPLY Handle = 0x80090334 + SEC_E_NO_IP_ADDRESSES Handle = 0x80090335 + SEC_E_WRONG_CREDENTIAL_HANDLE Handle = 0x80090336 + SEC_E_CRYPTO_SYSTEM_INVALID Handle = 0x80090337 + SEC_E_MAX_REFERRALS_EXCEEDED Handle = 0x80090338 + SEC_E_MUST_BE_KDC Handle = 0x80090339 + SEC_E_STRONG_CRYPTO_NOT_SUPPORTED Handle = 0x8009033A + SEC_E_TOO_MANY_PRINCIPALS Handle = 0x8009033B + SEC_E_NO_PA_DATA Handle = 0x8009033C + SEC_E_PKINIT_NAME_MISMATCH Handle = 0x8009033D + SEC_E_SMARTCARD_LOGON_REQUIRED Handle = 0x8009033E + SEC_E_SHUTDOWN_IN_PROGRESS Handle = 0x8009033F + SEC_E_KDC_INVALID_REQUEST Handle = 0x80090340 + SEC_E_KDC_UNABLE_TO_REFER Handle = 0x80090341 + SEC_E_KDC_UNKNOWN_ETYPE Handle = 0x80090342 + SEC_E_UNSUPPORTED_PREAUTH Handle = 0x80090343 + SEC_E_DELEGATION_REQUIRED Handle = 0x80090345 + SEC_E_BAD_BINDINGS Handle = 0x80090346 + SEC_E_MULTIPLE_ACCOUNTS Handle = 0x80090347 + SEC_E_NO_KERB_KEY Handle = 0x80090348 + SEC_E_CERT_WRONG_USAGE Handle = 0x80090349 + SEC_E_DOWNGRADE_DETECTED Handle = 0x80090350 + SEC_E_SMARTCARD_CERT_REVOKED Handle = 0x80090351 + SEC_E_ISSUING_CA_UNTRUSTED Handle = 0x80090352 + SEC_E_REVOCATION_OFFLINE_C Handle = 0x80090353 + SEC_E_PKINIT_CLIENT_FAILURE Handle = 0x80090354 + SEC_E_SMARTCARD_CERT_EXPIRED Handle = 0x80090355 + SEC_E_NO_S4U_PROT_SUPPORT Handle = 0x80090356 + SEC_E_CROSSREALM_DELEGATION_FAILURE Handle = 0x80090357 + SEC_E_REVOCATION_OFFLINE_KDC Handle = 0x80090358 + SEC_E_ISSUING_CA_UNTRUSTED_KDC Handle = 0x80090359 + SEC_E_KDC_CERT_EXPIRED Handle = 0x8009035A + SEC_E_KDC_CERT_REVOKED Handle = 0x8009035B + SEC_I_SIGNATURE_NEEDED Handle = 0x0009035C + SEC_E_INVALID_PARAMETER Handle = 0x8009035D + SEC_E_DELEGATION_POLICY Handle = 0x8009035E + SEC_E_POLICY_NLTM_ONLY Handle = 0x8009035F + SEC_I_NO_RENEGOTIATION Handle = 0x00090360 + SEC_E_NO_CONTEXT Handle = 0x80090361 + SEC_E_PKU2U_CERT_FAILURE Handle = 0x80090362 + SEC_E_MUTUAL_AUTH_FAILED Handle = 0x80090363 + SEC_I_MESSAGE_FRAGMENT Handle = 0x00090364 + SEC_E_ONLY_HTTPS_ALLOWED Handle = 0x80090365 + SEC_I_CONTINUE_NEEDED_MESSAGE_OK Handle = 0x00090366 + SEC_E_APPLICATION_PROTOCOL_MISMATCH Handle = 0x80090367 + SEC_I_ASYNC_CALL_PENDING Handle = 0x00090368 + SEC_E_INVALID_UPN_NAME Handle = 0x80090369 + SEC_E_NO_SPM = SEC_E_INTERNAL_ERROR + SEC_E_NOT_SUPPORTED = SEC_E_UNSUPPORTED_FUNCTION + CRYPT_E_MSG_ERROR Handle = 0x80091001 + CRYPT_E_UNKNOWN_ALGO Handle = 0x80091002 + CRYPT_E_OID_FORMAT Handle = 0x80091003 + CRYPT_E_INVALID_MSG_TYPE Handle = 0x80091004 + CRYPT_E_UNEXPECTED_ENCODING Handle = 0x80091005 + CRYPT_E_AUTH_ATTR_MISSING Handle = 0x80091006 + CRYPT_E_HASH_VALUE Handle = 0x80091007 + CRYPT_E_INVALID_INDEX Handle = 0x80091008 + CRYPT_E_ALREADY_DECRYPTED Handle = 0x80091009 + CRYPT_E_NOT_DECRYPTED Handle = 0x8009100A + CRYPT_E_RECIPIENT_NOT_FOUND Handle = 0x8009100B + CRYPT_E_CONTROL_TYPE Handle = 0x8009100C + CRYPT_E_ISSUER_SERIALNUMBER Handle = 0x8009100D + CRYPT_E_SIGNER_NOT_FOUND Handle = 0x8009100E + CRYPT_E_ATTRIBUTES_MISSING Handle = 0x8009100F + CRYPT_E_STREAM_MSG_NOT_READY Handle = 0x80091010 + CRYPT_E_STREAM_INSUFFICIENT_DATA Handle = 0x80091011 + CRYPT_I_NEW_PROTECTION_REQUIRED Handle = 0x00091012 + CRYPT_E_BAD_LEN Handle = 0x80092001 + CRYPT_E_BAD_ENCODE Handle = 0x80092002 + CRYPT_E_FILE_ERROR Handle = 0x80092003 + CRYPT_E_NOT_FOUND Handle = 0x80092004 + CRYPT_E_EXISTS Handle = 0x80092005 + CRYPT_E_NO_PROVIDER Handle = 0x80092006 + CRYPT_E_SELF_SIGNED Handle = 0x80092007 + CRYPT_E_DELETED_PREV Handle = 0x80092008 + CRYPT_E_NO_MATCH Handle = 0x80092009 + CRYPT_E_UNEXPECTED_MSG_TYPE Handle = 0x8009200A + CRYPT_E_NO_KEY_PROPERTY Handle = 0x8009200B + CRYPT_E_NO_DECRYPT_CERT Handle = 0x8009200C + CRYPT_E_BAD_MSG Handle = 0x8009200D + CRYPT_E_NO_SIGNER Handle = 0x8009200E + CRYPT_E_PENDING_CLOSE Handle = 0x8009200F + CRYPT_E_REVOKED Handle = 0x80092010 + CRYPT_E_NO_REVOCATION_DLL Handle = 0x80092011 + CRYPT_E_NO_REVOCATION_CHECK Handle = 0x80092012 + CRYPT_E_REVOCATION_OFFLINE Handle = 0x80092013 + CRYPT_E_NOT_IN_REVOCATION_DATABASE Handle = 0x80092014 + CRYPT_E_INVALID_NUMERIC_STRING Handle = 0x80092020 + CRYPT_E_INVALID_PRINTABLE_STRING Handle = 0x80092021 + CRYPT_E_INVALID_IA5_STRING Handle = 0x80092022 + CRYPT_E_INVALID_X500_STRING Handle = 0x80092023 + CRYPT_E_NOT_CHAR_STRING Handle = 0x80092024 + CRYPT_E_FILERESIZED Handle = 0x80092025 + CRYPT_E_SECURITY_SETTINGS Handle = 0x80092026 + CRYPT_E_NO_VERIFY_USAGE_DLL Handle = 0x80092027 + CRYPT_E_NO_VERIFY_USAGE_CHECK Handle = 0x80092028 + CRYPT_E_VERIFY_USAGE_OFFLINE Handle = 0x80092029 + CRYPT_E_NOT_IN_CTL Handle = 0x8009202A + CRYPT_E_NO_TRUSTED_SIGNER Handle = 0x8009202B + CRYPT_E_MISSING_PUBKEY_PARA Handle = 0x8009202C + CRYPT_E_OBJECT_LOCATOR_OBJECT_NOT_FOUND Handle = 0x8009202D + CRYPT_E_OSS_ERROR Handle = 0x80093000 + OSS_MORE_BUF Handle = 0x80093001 + OSS_NEGATIVE_UINTEGER Handle = 0x80093002 + OSS_PDU_RANGE Handle = 0x80093003 + OSS_MORE_INPUT Handle = 0x80093004 + OSS_DATA_ERROR Handle = 0x80093005 + OSS_BAD_ARG Handle = 0x80093006 + OSS_BAD_VERSION Handle = 0x80093007 + OSS_OUT_MEMORY Handle = 0x80093008 + OSS_PDU_MISMATCH Handle = 0x80093009 + OSS_LIMITED Handle = 0x8009300A + OSS_BAD_PTR Handle = 0x8009300B + OSS_BAD_TIME Handle = 0x8009300C + OSS_INDEFINITE_NOT_SUPPORTED Handle = 0x8009300D + OSS_MEM_ERROR Handle = 0x8009300E + OSS_BAD_TABLE Handle = 0x8009300F + OSS_TOO_LONG Handle = 0x80093010 + OSS_CONSTRAINT_VIOLATED Handle = 0x80093011 + OSS_FATAL_ERROR Handle = 0x80093012 + OSS_ACCESS_SERIALIZATION_ERROR Handle = 0x80093013 + OSS_NULL_TBL Handle = 0x80093014 + OSS_NULL_FCN Handle = 0x80093015 + OSS_BAD_ENCRULES Handle = 0x80093016 + OSS_UNAVAIL_ENCRULES Handle = 0x80093017 + OSS_CANT_OPEN_TRACE_WINDOW Handle = 0x80093018 + OSS_UNIMPLEMENTED Handle = 0x80093019 + OSS_OID_DLL_NOT_LINKED Handle = 0x8009301A + OSS_CANT_OPEN_TRACE_FILE Handle = 0x8009301B + OSS_TRACE_FILE_ALREADY_OPEN Handle = 0x8009301C + OSS_TABLE_MISMATCH Handle = 0x8009301D + OSS_TYPE_NOT_SUPPORTED Handle = 0x8009301E + OSS_REAL_DLL_NOT_LINKED Handle = 0x8009301F + OSS_REAL_CODE_NOT_LINKED Handle = 0x80093020 + OSS_OUT_OF_RANGE Handle = 0x80093021 + OSS_COPIER_DLL_NOT_LINKED Handle = 0x80093022 + OSS_CONSTRAINT_DLL_NOT_LINKED Handle = 0x80093023 + OSS_COMPARATOR_DLL_NOT_LINKED Handle = 0x80093024 + OSS_COMPARATOR_CODE_NOT_LINKED Handle = 0x80093025 + OSS_MEM_MGR_DLL_NOT_LINKED Handle = 0x80093026 + OSS_PDV_DLL_NOT_LINKED Handle = 0x80093027 + OSS_PDV_CODE_NOT_LINKED Handle = 0x80093028 + OSS_API_DLL_NOT_LINKED Handle = 0x80093029 + OSS_BERDER_DLL_NOT_LINKED Handle = 0x8009302A + OSS_PER_DLL_NOT_LINKED Handle = 0x8009302B + OSS_OPEN_TYPE_ERROR Handle = 0x8009302C + OSS_MUTEX_NOT_CREATED Handle = 0x8009302D + OSS_CANT_CLOSE_TRACE_FILE Handle = 0x8009302E + CRYPT_E_ASN1_ERROR Handle = 0x80093100 + CRYPT_E_ASN1_INTERNAL Handle = 0x80093101 + CRYPT_E_ASN1_EOD Handle = 0x80093102 + CRYPT_E_ASN1_CORRUPT Handle = 0x80093103 + CRYPT_E_ASN1_LARGE Handle = 0x80093104 + CRYPT_E_ASN1_CONSTRAINT Handle = 0x80093105 + CRYPT_E_ASN1_MEMORY Handle = 0x80093106 + CRYPT_E_ASN1_OVERFLOW Handle = 0x80093107 + CRYPT_E_ASN1_BADPDU Handle = 0x80093108 + CRYPT_E_ASN1_BADARGS Handle = 0x80093109 + CRYPT_E_ASN1_BADREAL Handle = 0x8009310A + CRYPT_E_ASN1_BADTAG Handle = 0x8009310B + CRYPT_E_ASN1_CHOICE Handle = 0x8009310C + CRYPT_E_ASN1_RULE Handle = 0x8009310D + CRYPT_E_ASN1_UTF8 Handle = 0x8009310E + CRYPT_E_ASN1_PDU_TYPE Handle = 0x80093133 + CRYPT_E_ASN1_NYI Handle = 0x80093134 + CRYPT_E_ASN1_EXTENDED Handle = 0x80093201 + CRYPT_E_ASN1_NOEOD Handle = 0x80093202 + CERTSRV_E_BAD_REQUESTSUBJECT Handle = 0x80094001 + CERTSRV_E_NO_REQUEST Handle = 0x80094002 + CERTSRV_E_BAD_REQUESTSTATUS Handle = 0x80094003 + CERTSRV_E_PROPERTY_EMPTY Handle = 0x80094004 + CERTSRV_E_INVALID_CA_CERTIFICATE Handle = 0x80094005 + CERTSRV_E_SERVER_SUSPENDED Handle = 0x80094006 + CERTSRV_E_ENCODING_LENGTH Handle = 0x80094007 + CERTSRV_E_ROLECONFLICT Handle = 0x80094008 + CERTSRV_E_RESTRICTEDOFFICER Handle = 0x80094009 + CERTSRV_E_KEY_ARCHIVAL_NOT_CONFIGURED Handle = 0x8009400A + CERTSRV_E_NO_VALID_KRA Handle = 0x8009400B + CERTSRV_E_BAD_REQUEST_KEY_ARCHIVAL Handle = 0x8009400C + CERTSRV_E_NO_CAADMIN_DEFINED Handle = 0x8009400D + CERTSRV_E_BAD_RENEWAL_CERT_ATTRIBUTE Handle = 0x8009400E + CERTSRV_E_NO_DB_SESSIONS Handle = 0x8009400F + CERTSRV_E_ALIGNMENT_FAULT Handle = 0x80094010 + CERTSRV_E_ENROLL_DENIED Handle = 0x80094011 + CERTSRV_E_TEMPLATE_DENIED Handle = 0x80094012 + CERTSRV_E_DOWNLEVEL_DC_SSL_OR_UPGRADE Handle = 0x80094013 + CERTSRV_E_ADMIN_DENIED_REQUEST Handle = 0x80094014 + CERTSRV_E_NO_POLICY_SERVER Handle = 0x80094015 + CERTSRV_E_WEAK_SIGNATURE_OR_KEY Handle = 0x80094016 + CERTSRV_E_KEY_ATTESTATION_NOT_SUPPORTED Handle = 0x80094017 + CERTSRV_E_ENCRYPTION_CERT_REQUIRED Handle = 0x80094018 + CERTSRV_E_UNSUPPORTED_CERT_TYPE Handle = 0x80094800 + CERTSRV_E_NO_CERT_TYPE Handle = 0x80094801 + CERTSRV_E_TEMPLATE_CONFLICT Handle = 0x80094802 + CERTSRV_E_SUBJECT_ALT_NAME_REQUIRED Handle = 0x80094803 + CERTSRV_E_ARCHIVED_KEY_REQUIRED Handle = 0x80094804 + CERTSRV_E_SMIME_REQUIRED Handle = 0x80094805 + CERTSRV_E_BAD_RENEWAL_SUBJECT Handle = 0x80094806 + CERTSRV_E_BAD_TEMPLATE_VERSION Handle = 0x80094807 + CERTSRV_E_TEMPLATE_POLICY_REQUIRED Handle = 0x80094808 + CERTSRV_E_SIGNATURE_POLICY_REQUIRED Handle = 0x80094809 + CERTSRV_E_SIGNATURE_COUNT Handle = 0x8009480A + CERTSRV_E_SIGNATURE_REJECTED Handle = 0x8009480B + CERTSRV_E_ISSUANCE_POLICY_REQUIRED Handle = 0x8009480C + CERTSRV_E_SUBJECT_UPN_REQUIRED Handle = 0x8009480D + CERTSRV_E_SUBJECT_DIRECTORY_GUID_REQUIRED Handle = 0x8009480E + CERTSRV_E_SUBJECT_DNS_REQUIRED Handle = 0x8009480F + CERTSRV_E_ARCHIVED_KEY_UNEXPECTED Handle = 0x80094810 + CERTSRV_E_KEY_LENGTH Handle = 0x80094811 + CERTSRV_E_SUBJECT_EMAIL_REQUIRED Handle = 0x80094812 + CERTSRV_E_UNKNOWN_CERT_TYPE Handle = 0x80094813 + CERTSRV_E_CERT_TYPE_OVERLAP Handle = 0x80094814 + CERTSRV_E_TOO_MANY_SIGNATURES Handle = 0x80094815 + CERTSRV_E_RENEWAL_BAD_PUBLIC_KEY Handle = 0x80094816 + CERTSRV_E_INVALID_EK Handle = 0x80094817 + CERTSRV_E_INVALID_IDBINDING Handle = 0x80094818 + CERTSRV_E_INVALID_ATTESTATION Handle = 0x80094819 + CERTSRV_E_KEY_ATTESTATION Handle = 0x8009481A + CERTSRV_E_CORRUPT_KEY_ATTESTATION Handle = 0x8009481B + CERTSRV_E_EXPIRED_CHALLENGE Handle = 0x8009481C + CERTSRV_E_INVALID_RESPONSE Handle = 0x8009481D + CERTSRV_E_INVALID_REQUESTID Handle = 0x8009481E + CERTSRV_E_REQUEST_PRECERTIFICATE_MISMATCH Handle = 0x8009481F + CERTSRV_E_PENDING_CLIENT_RESPONSE Handle = 0x80094820 + XENROLL_E_KEY_NOT_EXPORTABLE Handle = 0x80095000 + XENROLL_E_CANNOT_ADD_ROOT_CERT Handle = 0x80095001 + XENROLL_E_RESPONSE_KA_HASH_NOT_FOUND Handle = 0x80095002 + XENROLL_E_RESPONSE_UNEXPECTED_KA_HASH Handle = 0x80095003 + XENROLL_E_RESPONSE_KA_HASH_MISMATCH Handle = 0x80095004 + XENROLL_E_KEYSPEC_SMIME_MISMATCH Handle = 0x80095005 + TRUST_E_SYSTEM_ERROR Handle = 0x80096001 + TRUST_E_NO_SIGNER_CERT Handle = 0x80096002 + TRUST_E_COUNTER_SIGNER Handle = 0x80096003 + TRUST_E_CERT_SIGNATURE Handle = 0x80096004 + TRUST_E_TIME_STAMP Handle = 0x80096005 + TRUST_E_BAD_DIGEST Handle = 0x80096010 + TRUST_E_MALFORMED_SIGNATURE Handle = 0x80096011 + TRUST_E_BASIC_CONSTRAINTS Handle = 0x80096019 + TRUST_E_FINANCIAL_CRITERIA Handle = 0x8009601E + MSSIPOTF_E_OUTOFMEMRANGE Handle = 0x80097001 + MSSIPOTF_E_CANTGETOBJECT Handle = 0x80097002 + MSSIPOTF_E_NOHEADTABLE Handle = 0x80097003 + MSSIPOTF_E_BAD_MAGICNUMBER Handle = 0x80097004 + MSSIPOTF_E_BAD_OFFSET_TABLE Handle = 0x80097005 + MSSIPOTF_E_TABLE_TAGORDER Handle = 0x80097006 + MSSIPOTF_E_TABLE_LONGWORD Handle = 0x80097007 + MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT Handle = 0x80097008 + MSSIPOTF_E_TABLES_OVERLAP Handle = 0x80097009 + MSSIPOTF_E_TABLE_PADBYTES Handle = 0x8009700A + MSSIPOTF_E_FILETOOSMALL Handle = 0x8009700B + MSSIPOTF_E_TABLE_CHECKSUM Handle = 0x8009700C + MSSIPOTF_E_FILE_CHECKSUM Handle = 0x8009700D + MSSIPOTF_E_FAILED_POLICY Handle = 0x80097010 + MSSIPOTF_E_FAILED_HINTS_CHECK Handle = 0x80097011 + MSSIPOTF_E_NOT_OPENTYPE Handle = 0x80097012 + MSSIPOTF_E_FILE Handle = 0x80097013 + MSSIPOTF_E_CRYPT Handle = 0x80097014 + MSSIPOTF_E_BADVERSION Handle = 0x80097015 + MSSIPOTF_E_DSIG_STRUCTURE Handle = 0x80097016 + MSSIPOTF_E_PCONST_CHECK Handle = 0x80097017 + MSSIPOTF_E_STRUCTURE Handle = 0x80097018 + ERROR_CRED_REQUIRES_CONFIRMATION Handle = 0x80097019 + NTE_OP_OK syscall.Errno = 0 + TRUST_E_PROVIDER_UNKNOWN Handle = 0x800B0001 + TRUST_E_ACTION_UNKNOWN Handle = 0x800B0002 + TRUST_E_SUBJECT_FORM_UNKNOWN Handle = 0x800B0003 + TRUST_E_SUBJECT_NOT_TRUSTED Handle = 0x800B0004 + DIGSIG_E_ENCODE Handle = 0x800B0005 + DIGSIG_E_DECODE Handle = 0x800B0006 + DIGSIG_E_EXTENSIBILITY Handle = 0x800B0007 + DIGSIG_E_CRYPTO Handle = 0x800B0008 + PERSIST_E_SIZEDEFINITE Handle = 0x800B0009 + PERSIST_E_SIZEINDEFINITE Handle = 0x800B000A + PERSIST_E_NOTSELFSIZING Handle = 0x800B000B + TRUST_E_NOSIGNATURE Handle = 0x800B0100 + CERT_E_EXPIRED Handle = 0x800B0101 + CERT_E_VALIDITYPERIODNESTING Handle = 0x800B0102 + CERT_E_ROLE Handle = 0x800B0103 + CERT_E_PATHLENCONST Handle = 0x800B0104 + CERT_E_CRITICAL Handle = 0x800B0105 + CERT_E_PURPOSE Handle = 0x800B0106 + CERT_E_ISSUERCHAINING Handle = 0x800B0107 + CERT_E_MALFORMED Handle = 0x800B0108 + CERT_E_UNTRUSTEDROOT Handle = 0x800B0109 + CERT_E_CHAINING Handle = 0x800B010A + TRUST_E_FAIL Handle = 0x800B010B + CERT_E_REVOKED Handle = 0x800B010C + CERT_E_UNTRUSTEDTESTROOT Handle = 0x800B010D + CERT_E_REVOCATION_FAILURE Handle = 0x800B010E + CERT_E_CN_NO_MATCH Handle = 0x800B010F + CERT_E_WRONG_USAGE Handle = 0x800B0110 + TRUST_E_EXPLICIT_DISTRUST Handle = 0x800B0111 + CERT_E_UNTRUSTEDCA Handle = 0x800B0112 + CERT_E_INVALID_POLICY Handle = 0x800B0113 + CERT_E_INVALID_NAME Handle = 0x800B0114 + SPAPI_E_EXPECTED_SECTION_NAME Handle = 0x800F0000 + SPAPI_E_BAD_SECTION_NAME_LINE Handle = 0x800F0001 + SPAPI_E_SECTION_NAME_TOO_LONG Handle = 0x800F0002 + SPAPI_E_GENERAL_SYNTAX Handle = 0x800F0003 + SPAPI_E_WRONG_INF_STYLE Handle = 0x800F0100 + SPAPI_E_SECTION_NOT_FOUND Handle = 0x800F0101 + SPAPI_E_LINE_NOT_FOUND Handle = 0x800F0102 + SPAPI_E_NO_BACKUP Handle = 0x800F0103 + SPAPI_E_NO_ASSOCIATED_CLASS Handle = 0x800F0200 + SPAPI_E_CLASS_MISMATCH Handle = 0x800F0201 + SPAPI_E_DUPLICATE_FOUND Handle = 0x800F0202 + SPAPI_E_NO_DRIVER_SELECTED Handle = 0x800F0203 + SPAPI_E_KEY_DOES_NOT_EXIST Handle = 0x800F0204 + SPAPI_E_INVALID_DEVINST_NAME Handle = 0x800F0205 + SPAPI_E_INVALID_CLASS Handle = 0x800F0206 + SPAPI_E_DEVINST_ALREADY_EXISTS Handle = 0x800F0207 + SPAPI_E_DEVINFO_NOT_REGISTERED Handle = 0x800F0208 + SPAPI_E_INVALID_REG_PROPERTY Handle = 0x800F0209 + SPAPI_E_NO_INF Handle = 0x800F020A + SPAPI_E_NO_SUCH_DEVINST Handle = 0x800F020B + SPAPI_E_CANT_LOAD_CLASS_ICON Handle = 0x800F020C + SPAPI_E_INVALID_CLASS_INSTALLER Handle = 0x800F020D + SPAPI_E_DI_DO_DEFAULT Handle = 0x800F020E + SPAPI_E_DI_NOFILECOPY Handle = 0x800F020F + SPAPI_E_INVALID_HWPROFILE Handle = 0x800F0210 + SPAPI_E_NO_DEVICE_SELECTED Handle = 0x800F0211 + SPAPI_E_DEVINFO_LIST_LOCKED Handle = 0x800F0212 + SPAPI_E_DEVINFO_DATA_LOCKED Handle = 0x800F0213 + SPAPI_E_DI_BAD_PATH Handle = 0x800F0214 + SPAPI_E_NO_CLASSINSTALL_PARAMS Handle = 0x800F0215 + SPAPI_E_FILEQUEUE_LOCKED Handle = 0x800F0216 + SPAPI_E_BAD_SERVICE_INSTALLSECT Handle = 0x800F0217 + SPAPI_E_NO_CLASS_DRIVER_LIST Handle = 0x800F0218 + SPAPI_E_NO_ASSOCIATED_SERVICE Handle = 0x800F0219 + SPAPI_E_NO_DEFAULT_DEVICE_INTERFACE Handle = 0x800F021A + SPAPI_E_DEVICE_INTERFACE_ACTIVE Handle = 0x800F021B + SPAPI_E_DEVICE_INTERFACE_REMOVED Handle = 0x800F021C + SPAPI_E_BAD_INTERFACE_INSTALLSECT Handle = 0x800F021D + SPAPI_E_NO_SUCH_INTERFACE_CLASS Handle = 0x800F021E + SPAPI_E_INVALID_REFERENCE_STRING Handle = 0x800F021F + SPAPI_E_INVALID_MACHINENAME Handle = 0x800F0220 + SPAPI_E_REMOTE_COMM_FAILURE Handle = 0x800F0221 + SPAPI_E_MACHINE_UNAVAILABLE Handle = 0x800F0222 + SPAPI_E_NO_CONFIGMGR_SERVICES Handle = 0x800F0223 + SPAPI_E_INVALID_PROPPAGE_PROVIDER Handle = 0x800F0224 + SPAPI_E_NO_SUCH_DEVICE_INTERFACE Handle = 0x800F0225 + SPAPI_E_DI_POSTPROCESSING_REQUIRED Handle = 0x800F0226 + SPAPI_E_INVALID_COINSTALLER Handle = 0x800F0227 + SPAPI_E_NO_COMPAT_DRIVERS Handle = 0x800F0228 + SPAPI_E_NO_DEVICE_ICON Handle = 0x800F0229 + SPAPI_E_INVALID_INF_LOGCONFIG Handle = 0x800F022A + SPAPI_E_DI_DONT_INSTALL Handle = 0x800F022B + SPAPI_E_INVALID_FILTER_DRIVER Handle = 0x800F022C + SPAPI_E_NON_WINDOWS_NT_DRIVER Handle = 0x800F022D + SPAPI_E_NON_WINDOWS_DRIVER Handle = 0x800F022E + SPAPI_E_NO_CATALOG_FOR_OEM_INF Handle = 0x800F022F + SPAPI_E_DEVINSTALL_QUEUE_NONNATIVE Handle = 0x800F0230 + SPAPI_E_NOT_DISABLEABLE Handle = 0x800F0231 + SPAPI_E_CANT_REMOVE_DEVINST Handle = 0x800F0232 + SPAPI_E_INVALID_TARGET Handle = 0x800F0233 + SPAPI_E_DRIVER_NONNATIVE Handle = 0x800F0234 + SPAPI_E_IN_WOW64 Handle = 0x800F0235 + SPAPI_E_SET_SYSTEM_RESTORE_POINT Handle = 0x800F0236 + SPAPI_E_INCORRECTLY_COPIED_INF Handle = 0x800F0237 + SPAPI_E_SCE_DISABLED Handle = 0x800F0238 + SPAPI_E_UNKNOWN_EXCEPTION Handle = 0x800F0239 + SPAPI_E_PNP_REGISTRY_ERROR Handle = 0x800F023A + SPAPI_E_REMOTE_REQUEST_UNSUPPORTED Handle = 0x800F023B + SPAPI_E_NOT_AN_INSTALLED_OEM_INF Handle = 0x800F023C + SPAPI_E_INF_IN_USE_BY_DEVICES Handle = 0x800F023D + SPAPI_E_DI_FUNCTION_OBSOLETE Handle = 0x800F023E + SPAPI_E_NO_AUTHENTICODE_CATALOG Handle = 0x800F023F + SPAPI_E_AUTHENTICODE_DISALLOWED Handle = 0x800F0240 + SPAPI_E_AUTHENTICODE_TRUSTED_PUBLISHER Handle = 0x800F0241 + SPAPI_E_AUTHENTICODE_TRUST_NOT_ESTABLISHED Handle = 0x800F0242 + SPAPI_E_AUTHENTICODE_PUBLISHER_NOT_TRUSTED Handle = 0x800F0243 + SPAPI_E_SIGNATURE_OSATTRIBUTE_MISMATCH Handle = 0x800F0244 + SPAPI_E_ONLY_VALIDATE_VIA_AUTHENTICODE Handle = 0x800F0245 + SPAPI_E_DEVICE_INSTALLER_NOT_READY Handle = 0x800F0246 + SPAPI_E_DRIVER_STORE_ADD_FAILED Handle = 0x800F0247 + SPAPI_E_DEVICE_INSTALL_BLOCKED Handle = 0x800F0248 + SPAPI_E_DRIVER_INSTALL_BLOCKED Handle = 0x800F0249 + SPAPI_E_WRONG_INF_TYPE Handle = 0x800F024A + SPAPI_E_FILE_HASH_NOT_IN_CATALOG Handle = 0x800F024B + SPAPI_E_DRIVER_STORE_DELETE_FAILED Handle = 0x800F024C + SPAPI_E_UNRECOVERABLE_STACK_OVERFLOW Handle = 0x800F0300 + SPAPI_E_ERROR_NOT_INSTALLED Handle = 0x800F1000 + SCARD_S_SUCCESS = S_OK + SCARD_F_INTERNAL_ERROR Handle = 0x80100001 + SCARD_E_CANCELLED Handle = 0x80100002 + SCARD_E_INVALID_HANDLE Handle = 0x80100003 + SCARD_E_INVALID_PARAMETER Handle = 0x80100004 + SCARD_E_INVALID_TARGET Handle = 0x80100005 + SCARD_E_NO_MEMORY Handle = 0x80100006 + SCARD_F_WAITED_TOO_LONG Handle = 0x80100007 + SCARD_E_INSUFFICIENT_BUFFER Handle = 0x80100008 + SCARD_E_UNKNOWN_READER Handle = 0x80100009 + SCARD_E_TIMEOUT Handle = 0x8010000A + SCARD_E_SHARING_VIOLATION Handle = 0x8010000B + SCARD_E_NO_SMARTCARD Handle = 0x8010000C + SCARD_E_UNKNOWN_CARD Handle = 0x8010000D + SCARD_E_CANT_DISPOSE Handle = 0x8010000E + SCARD_E_PROTO_MISMATCH Handle = 0x8010000F + SCARD_E_NOT_READY Handle = 0x80100010 + SCARD_E_INVALID_VALUE Handle = 0x80100011 + SCARD_E_SYSTEM_CANCELLED Handle = 0x80100012 + SCARD_F_COMM_ERROR Handle = 0x80100013 + SCARD_F_UNKNOWN_ERROR Handle = 0x80100014 + SCARD_E_INVALID_ATR Handle = 0x80100015 + SCARD_E_NOT_TRANSACTED Handle = 0x80100016 + SCARD_E_READER_UNAVAILABLE Handle = 0x80100017 + SCARD_P_SHUTDOWN Handle = 0x80100018 + SCARD_E_PCI_TOO_SMALL Handle = 0x80100019 + SCARD_E_READER_UNSUPPORTED Handle = 0x8010001A + SCARD_E_DUPLICATE_READER Handle = 0x8010001B + SCARD_E_CARD_UNSUPPORTED Handle = 0x8010001C + SCARD_E_NO_SERVICE Handle = 0x8010001D + SCARD_E_SERVICE_STOPPED Handle = 0x8010001E + SCARD_E_UNEXPECTED Handle = 0x8010001F + SCARD_E_ICC_INSTALLATION Handle = 0x80100020 + SCARD_E_ICC_CREATEORDER Handle = 0x80100021 + SCARD_E_UNSUPPORTED_FEATURE Handle = 0x80100022 + SCARD_E_DIR_NOT_FOUND Handle = 0x80100023 + SCARD_E_FILE_NOT_FOUND Handle = 0x80100024 + SCARD_E_NO_DIR Handle = 0x80100025 + SCARD_E_NO_FILE Handle = 0x80100026 + SCARD_E_NO_ACCESS Handle = 0x80100027 + SCARD_E_WRITE_TOO_MANY Handle = 0x80100028 + SCARD_E_BAD_SEEK Handle = 0x80100029 + SCARD_E_INVALID_CHV Handle = 0x8010002A + SCARD_E_UNKNOWN_RES_MNG Handle = 0x8010002B + SCARD_E_NO_SUCH_CERTIFICATE Handle = 0x8010002C + SCARD_E_CERTIFICATE_UNAVAILABLE Handle = 0x8010002D + SCARD_E_NO_READERS_AVAILABLE Handle = 0x8010002E + SCARD_E_COMM_DATA_LOST Handle = 0x8010002F + SCARD_E_NO_KEY_CONTAINER Handle = 0x80100030 + SCARD_E_SERVER_TOO_BUSY Handle = 0x80100031 + SCARD_E_PIN_CACHE_EXPIRED Handle = 0x80100032 + SCARD_E_NO_PIN_CACHE Handle = 0x80100033 + SCARD_E_READ_ONLY_CARD Handle = 0x80100034 + SCARD_W_UNSUPPORTED_CARD Handle = 0x80100065 + SCARD_W_UNRESPONSIVE_CARD Handle = 0x80100066 + SCARD_W_UNPOWERED_CARD Handle = 0x80100067 + SCARD_W_RESET_CARD Handle = 0x80100068 + SCARD_W_REMOVED_CARD Handle = 0x80100069 + SCARD_W_SECURITY_VIOLATION Handle = 0x8010006A + SCARD_W_WRONG_CHV Handle = 0x8010006B + SCARD_W_CHV_BLOCKED Handle = 0x8010006C + SCARD_W_EOF Handle = 0x8010006D + SCARD_W_CANCELLED_BY_USER Handle = 0x8010006E + SCARD_W_CARD_NOT_AUTHENTICATED Handle = 0x8010006F + SCARD_W_CACHE_ITEM_NOT_FOUND Handle = 0x80100070 + SCARD_W_CACHE_ITEM_STALE Handle = 0x80100071 + SCARD_W_CACHE_ITEM_TOO_BIG Handle = 0x80100072 + COMADMIN_E_OBJECTERRORS Handle = 0x80110401 + COMADMIN_E_OBJECTINVALID Handle = 0x80110402 + COMADMIN_E_KEYMISSING Handle = 0x80110403 + COMADMIN_E_ALREADYINSTALLED Handle = 0x80110404 + COMADMIN_E_APP_FILE_WRITEFAIL Handle = 0x80110407 + COMADMIN_E_APP_FILE_READFAIL Handle = 0x80110408 + COMADMIN_E_APP_FILE_VERSION Handle = 0x80110409 + COMADMIN_E_BADPATH Handle = 0x8011040A + COMADMIN_E_APPLICATIONEXISTS Handle = 0x8011040B + COMADMIN_E_ROLEEXISTS Handle = 0x8011040C + COMADMIN_E_CANTCOPYFILE Handle = 0x8011040D + COMADMIN_E_NOUSER Handle = 0x8011040F + COMADMIN_E_INVALIDUSERIDS Handle = 0x80110410 + COMADMIN_E_NOREGISTRYCLSID Handle = 0x80110411 + COMADMIN_E_BADREGISTRYPROGID Handle = 0x80110412 + COMADMIN_E_AUTHENTICATIONLEVEL Handle = 0x80110413 + COMADMIN_E_USERPASSWDNOTVALID Handle = 0x80110414 + COMADMIN_E_CLSIDORIIDMISMATCH Handle = 0x80110418 + COMADMIN_E_REMOTEINTERFACE Handle = 0x80110419 + COMADMIN_E_DLLREGISTERSERVER Handle = 0x8011041A + COMADMIN_E_NOSERVERSHARE Handle = 0x8011041B + COMADMIN_E_DLLLOADFAILED Handle = 0x8011041D + COMADMIN_E_BADREGISTRYLIBID Handle = 0x8011041E + COMADMIN_E_APPDIRNOTFOUND Handle = 0x8011041F + COMADMIN_E_REGISTRARFAILED Handle = 0x80110423 + COMADMIN_E_COMPFILE_DOESNOTEXIST Handle = 0x80110424 + COMADMIN_E_COMPFILE_LOADDLLFAIL Handle = 0x80110425 + COMADMIN_E_COMPFILE_GETCLASSOBJ Handle = 0x80110426 + COMADMIN_E_COMPFILE_CLASSNOTAVAIL Handle = 0x80110427 + COMADMIN_E_COMPFILE_BADTLB Handle = 0x80110428 + COMADMIN_E_COMPFILE_NOTINSTALLABLE Handle = 0x80110429 + COMADMIN_E_NOTCHANGEABLE Handle = 0x8011042A + COMADMIN_E_NOTDELETEABLE Handle = 0x8011042B + COMADMIN_E_SESSION Handle = 0x8011042C + COMADMIN_E_COMP_MOVE_LOCKED Handle = 0x8011042D + COMADMIN_E_COMP_MOVE_BAD_DEST Handle = 0x8011042E + COMADMIN_E_REGISTERTLB Handle = 0x80110430 + COMADMIN_E_SYSTEMAPP Handle = 0x80110433 + COMADMIN_E_COMPFILE_NOREGISTRAR Handle = 0x80110434 + COMADMIN_E_COREQCOMPINSTALLED Handle = 0x80110435 + COMADMIN_E_SERVICENOTINSTALLED Handle = 0x80110436 + COMADMIN_E_PROPERTYSAVEFAILED Handle = 0x80110437 + COMADMIN_E_OBJECTEXISTS Handle = 0x80110438 + COMADMIN_E_COMPONENTEXISTS Handle = 0x80110439 + COMADMIN_E_REGFILE_CORRUPT Handle = 0x8011043B + COMADMIN_E_PROPERTY_OVERFLOW Handle = 0x8011043C + COMADMIN_E_NOTINREGISTRY Handle = 0x8011043E + COMADMIN_E_OBJECTNOTPOOLABLE Handle = 0x8011043F + COMADMIN_E_APPLID_MATCHES_CLSID Handle = 0x80110446 + COMADMIN_E_ROLE_DOES_NOT_EXIST Handle = 0x80110447 + COMADMIN_E_START_APP_NEEDS_COMPONENTS Handle = 0x80110448 + COMADMIN_E_REQUIRES_DIFFERENT_PLATFORM Handle = 0x80110449 + COMADMIN_E_CAN_NOT_EXPORT_APP_PROXY Handle = 0x8011044A + COMADMIN_E_CAN_NOT_START_APP Handle = 0x8011044B + COMADMIN_E_CAN_NOT_EXPORT_SYS_APP Handle = 0x8011044C + COMADMIN_E_CANT_SUBSCRIBE_TO_COMPONENT Handle = 0x8011044D + COMADMIN_E_EVENTCLASS_CANT_BE_SUBSCRIBER Handle = 0x8011044E + COMADMIN_E_LIB_APP_PROXY_INCOMPATIBLE Handle = 0x8011044F + COMADMIN_E_BASE_PARTITION_ONLY Handle = 0x80110450 + COMADMIN_E_START_APP_DISABLED Handle = 0x80110451 + COMADMIN_E_CAT_DUPLICATE_PARTITION_NAME Handle = 0x80110457 + COMADMIN_E_CAT_INVALID_PARTITION_NAME Handle = 0x80110458 + COMADMIN_E_CAT_PARTITION_IN_USE Handle = 0x80110459 + COMADMIN_E_FILE_PARTITION_DUPLICATE_FILES Handle = 0x8011045A + COMADMIN_E_CAT_IMPORTED_COMPONENTS_NOT_ALLOWED Handle = 0x8011045B + COMADMIN_E_AMBIGUOUS_APPLICATION_NAME Handle = 0x8011045C + COMADMIN_E_AMBIGUOUS_PARTITION_NAME Handle = 0x8011045D + COMADMIN_E_REGDB_NOTINITIALIZED Handle = 0x80110472 + COMADMIN_E_REGDB_NOTOPEN Handle = 0x80110473 + COMADMIN_E_REGDB_SYSTEMERR Handle = 0x80110474 + COMADMIN_E_REGDB_ALREADYRUNNING Handle = 0x80110475 + COMADMIN_E_MIG_VERSIONNOTSUPPORTED Handle = 0x80110480 + COMADMIN_E_MIG_SCHEMANOTFOUND Handle = 0x80110481 + COMADMIN_E_CAT_BITNESSMISMATCH Handle = 0x80110482 + COMADMIN_E_CAT_UNACCEPTABLEBITNESS Handle = 0x80110483 + COMADMIN_E_CAT_WRONGAPPBITNESS Handle = 0x80110484 + COMADMIN_E_CAT_PAUSE_RESUME_NOT_SUPPORTED Handle = 0x80110485 + COMADMIN_E_CAT_SERVERFAULT Handle = 0x80110486 + COMQC_E_APPLICATION_NOT_QUEUED Handle = 0x80110600 + COMQC_E_NO_QUEUEABLE_INTERFACES Handle = 0x80110601 + COMQC_E_QUEUING_SERVICE_NOT_AVAILABLE Handle = 0x80110602 + COMQC_E_NO_IPERSISTSTREAM Handle = 0x80110603 + COMQC_E_BAD_MESSAGE Handle = 0x80110604 + COMQC_E_UNAUTHENTICATED Handle = 0x80110605 + COMQC_E_UNTRUSTED_ENQUEUER Handle = 0x80110606 + MSDTC_E_DUPLICATE_RESOURCE Handle = 0x80110701 + COMADMIN_E_OBJECT_PARENT_MISSING Handle = 0x80110808 + COMADMIN_E_OBJECT_DOES_NOT_EXIST Handle = 0x80110809 + COMADMIN_E_APP_NOT_RUNNING Handle = 0x8011080A + COMADMIN_E_INVALID_PARTITION Handle = 0x8011080B + COMADMIN_E_SVCAPP_NOT_POOLABLE_OR_RECYCLABLE Handle = 0x8011080D + COMADMIN_E_USER_IN_SET Handle = 0x8011080E + COMADMIN_E_CANTRECYCLELIBRARYAPPS Handle = 0x8011080F + COMADMIN_E_CANTRECYCLESERVICEAPPS Handle = 0x80110811 + COMADMIN_E_PROCESSALREADYRECYCLED Handle = 0x80110812 + COMADMIN_E_PAUSEDPROCESSMAYNOTBERECYCLED Handle = 0x80110813 + COMADMIN_E_CANTMAKEINPROCSERVICE Handle = 0x80110814 + COMADMIN_E_PROGIDINUSEBYCLSID Handle = 0x80110815 + COMADMIN_E_DEFAULT_PARTITION_NOT_IN_SET Handle = 0x80110816 + COMADMIN_E_RECYCLEDPROCESSMAYNOTBEPAUSED Handle = 0x80110817 + COMADMIN_E_PARTITION_ACCESSDENIED Handle = 0x80110818 + COMADMIN_E_PARTITION_MSI_ONLY Handle = 0x80110819 + COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_1_0_FORMAT Handle = 0x8011081A + COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_NONBASE_PARTITIONS Handle = 0x8011081B + COMADMIN_E_COMP_MOVE_SOURCE Handle = 0x8011081C + COMADMIN_E_COMP_MOVE_DEST Handle = 0x8011081D + COMADMIN_E_COMP_MOVE_PRIVATE Handle = 0x8011081E + COMADMIN_E_BASEPARTITION_REQUIRED_IN_SET Handle = 0x8011081F + COMADMIN_E_CANNOT_ALIAS_EVENTCLASS Handle = 0x80110820 + COMADMIN_E_PRIVATE_ACCESSDENIED Handle = 0x80110821 + COMADMIN_E_SAFERINVALID Handle = 0x80110822 + COMADMIN_E_REGISTRY_ACCESSDENIED Handle = 0x80110823 + COMADMIN_E_PARTITIONS_DISABLED Handle = 0x80110824 + WER_S_REPORT_DEBUG Handle = 0x001B0000 + WER_S_REPORT_UPLOADED Handle = 0x001B0001 + WER_S_REPORT_QUEUED Handle = 0x001B0002 + WER_S_DISABLED Handle = 0x001B0003 + WER_S_SUSPENDED_UPLOAD Handle = 0x001B0004 + WER_S_DISABLED_QUEUE Handle = 0x001B0005 + WER_S_DISABLED_ARCHIVE Handle = 0x001B0006 + WER_S_REPORT_ASYNC Handle = 0x001B0007 + WER_S_IGNORE_ASSERT_INSTANCE Handle = 0x001B0008 + WER_S_IGNORE_ALL_ASSERTS Handle = 0x001B0009 + WER_S_ASSERT_CONTINUE Handle = 0x001B000A + WER_S_THROTTLED Handle = 0x001B000B + WER_S_REPORT_UPLOADED_CAB Handle = 0x001B000C + WER_E_CRASH_FAILURE Handle = 0x801B8000 + WER_E_CANCELED Handle = 0x801B8001 + WER_E_NETWORK_FAILURE Handle = 0x801B8002 + WER_E_NOT_INITIALIZED Handle = 0x801B8003 + WER_E_ALREADY_REPORTING Handle = 0x801B8004 + WER_E_DUMP_THROTTLED Handle = 0x801B8005 + WER_E_INSUFFICIENT_CONSENT Handle = 0x801B8006 + WER_E_TOO_HEAVY Handle = 0x801B8007 + ERROR_FLT_IO_COMPLETE Handle = 0x001F0001 + ERROR_FLT_NO_HANDLER_DEFINED Handle = 0x801F0001 + ERROR_FLT_CONTEXT_ALREADY_DEFINED Handle = 0x801F0002 + ERROR_FLT_INVALID_ASYNCHRONOUS_REQUEST Handle = 0x801F0003 + ERROR_FLT_DISALLOW_FAST_IO Handle = 0x801F0004 + ERROR_FLT_INVALID_NAME_REQUEST Handle = 0x801F0005 + ERROR_FLT_NOT_SAFE_TO_POST_OPERATION Handle = 0x801F0006 + ERROR_FLT_NOT_INITIALIZED Handle = 0x801F0007 + ERROR_FLT_FILTER_NOT_READY Handle = 0x801F0008 + ERROR_FLT_POST_OPERATION_CLEANUP Handle = 0x801F0009 + ERROR_FLT_INTERNAL_ERROR Handle = 0x801F000A + ERROR_FLT_DELETING_OBJECT Handle = 0x801F000B + ERROR_FLT_MUST_BE_NONPAGED_POOL Handle = 0x801F000C + ERROR_FLT_DUPLICATE_ENTRY Handle = 0x801F000D + ERROR_FLT_CBDQ_DISABLED Handle = 0x801F000E + ERROR_FLT_DO_NOT_ATTACH Handle = 0x801F000F + ERROR_FLT_DO_NOT_DETACH Handle = 0x801F0010 + ERROR_FLT_INSTANCE_ALTITUDE_COLLISION Handle = 0x801F0011 + ERROR_FLT_INSTANCE_NAME_COLLISION Handle = 0x801F0012 + ERROR_FLT_FILTER_NOT_FOUND Handle = 0x801F0013 + ERROR_FLT_VOLUME_NOT_FOUND Handle = 0x801F0014 + ERROR_FLT_INSTANCE_NOT_FOUND Handle = 0x801F0015 + ERROR_FLT_CONTEXT_ALLOCATION_NOT_FOUND Handle = 0x801F0016 + ERROR_FLT_INVALID_CONTEXT_REGISTRATION Handle = 0x801F0017 + ERROR_FLT_NAME_CACHE_MISS Handle = 0x801F0018 + ERROR_FLT_NO_DEVICE_OBJECT Handle = 0x801F0019 + ERROR_FLT_VOLUME_ALREADY_MOUNTED Handle = 0x801F001A + ERROR_FLT_ALREADY_ENLISTED Handle = 0x801F001B + ERROR_FLT_CONTEXT_ALREADY_LINKED Handle = 0x801F001C + ERROR_FLT_NO_WAITER_FOR_REPLY Handle = 0x801F0020 + ERROR_FLT_REGISTRATION_BUSY Handle = 0x801F0023 + ERROR_HUNG_DISPLAY_DRIVER_THREAD Handle = 0x80260001 + DWM_E_COMPOSITIONDISABLED Handle = 0x80263001 + DWM_E_REMOTING_NOT_SUPPORTED Handle = 0x80263002 + DWM_E_NO_REDIRECTION_SURFACE_AVAILABLE Handle = 0x80263003 + DWM_E_NOT_QUEUING_PRESENTS Handle = 0x80263004 + DWM_E_ADAPTER_NOT_FOUND Handle = 0x80263005 + DWM_S_GDI_REDIRECTION_SURFACE Handle = 0x00263005 + DWM_E_TEXTURE_TOO_LARGE Handle = 0x80263007 + DWM_S_GDI_REDIRECTION_SURFACE_BLT_VIA_GDI Handle = 0x00263008 + ERROR_MONITOR_NO_DESCRIPTOR Handle = 0x00261001 + ERROR_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT Handle = 0x00261002 + ERROR_MONITOR_INVALID_DESCRIPTOR_CHECKSUM Handle = 0xC0261003 + ERROR_MONITOR_INVALID_STANDARD_TIMING_BLOCK Handle = 0xC0261004 + ERROR_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED Handle = 0xC0261005 + ERROR_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK Handle = 0xC0261006 + ERROR_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK Handle = 0xC0261007 + ERROR_MONITOR_NO_MORE_DESCRIPTOR_DATA Handle = 0xC0261008 + ERROR_MONITOR_INVALID_DETAILED_TIMING_BLOCK Handle = 0xC0261009 + ERROR_MONITOR_INVALID_MANUFACTURE_DATE Handle = 0xC026100A + ERROR_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER Handle = 0xC0262000 + ERROR_GRAPHICS_INSUFFICIENT_DMA_BUFFER Handle = 0xC0262001 + ERROR_GRAPHICS_INVALID_DISPLAY_ADAPTER Handle = 0xC0262002 + ERROR_GRAPHICS_ADAPTER_WAS_RESET Handle = 0xC0262003 + ERROR_GRAPHICS_INVALID_DRIVER_MODEL Handle = 0xC0262004 + ERROR_GRAPHICS_PRESENT_MODE_CHANGED Handle = 0xC0262005 + ERROR_GRAPHICS_PRESENT_OCCLUDED Handle = 0xC0262006 + ERROR_GRAPHICS_PRESENT_DENIED Handle = 0xC0262007 + ERROR_GRAPHICS_CANNOTCOLORCONVERT Handle = 0xC0262008 + ERROR_GRAPHICS_DRIVER_MISMATCH Handle = 0xC0262009 + ERROR_GRAPHICS_PARTIAL_DATA_POPULATED Handle = 0x4026200A + ERROR_GRAPHICS_PRESENT_REDIRECTION_DISABLED Handle = 0xC026200B + ERROR_GRAPHICS_PRESENT_UNOCCLUDED Handle = 0xC026200C + ERROR_GRAPHICS_WINDOWDC_NOT_AVAILABLE Handle = 0xC026200D + ERROR_GRAPHICS_WINDOWLESS_PRESENT_DISABLED Handle = 0xC026200E + ERROR_GRAPHICS_PRESENT_INVALID_WINDOW Handle = 0xC026200F + ERROR_GRAPHICS_PRESENT_BUFFER_NOT_BOUND Handle = 0xC0262010 + ERROR_GRAPHICS_VAIL_STATE_CHANGED Handle = 0xC0262011 + ERROR_GRAPHICS_NO_VIDEO_MEMORY Handle = 0xC0262100 + ERROR_GRAPHICS_CANT_LOCK_MEMORY Handle = 0xC0262101 + ERROR_GRAPHICS_ALLOCATION_BUSY Handle = 0xC0262102 + ERROR_GRAPHICS_TOO_MANY_REFERENCES Handle = 0xC0262103 + ERROR_GRAPHICS_TRY_AGAIN_LATER Handle = 0xC0262104 + ERROR_GRAPHICS_TRY_AGAIN_NOW Handle = 0xC0262105 + ERROR_GRAPHICS_ALLOCATION_INVALID Handle = 0xC0262106 + ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE Handle = 0xC0262107 + ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED Handle = 0xC0262108 + ERROR_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION Handle = 0xC0262109 + ERROR_GRAPHICS_INVALID_ALLOCATION_USAGE Handle = 0xC0262110 + ERROR_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION Handle = 0xC0262111 + ERROR_GRAPHICS_ALLOCATION_CLOSED Handle = 0xC0262112 + ERROR_GRAPHICS_INVALID_ALLOCATION_INSTANCE Handle = 0xC0262113 + ERROR_GRAPHICS_INVALID_ALLOCATION_HANDLE Handle = 0xC0262114 + ERROR_GRAPHICS_WRONG_ALLOCATION_DEVICE Handle = 0xC0262115 + ERROR_GRAPHICS_ALLOCATION_CONTENT_LOST Handle = 0xC0262116 + ERROR_GRAPHICS_GPU_EXCEPTION_ON_DEVICE Handle = 0xC0262200 + ERROR_GRAPHICS_SKIP_ALLOCATION_PREPARATION Handle = 0x40262201 + ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY Handle = 0xC0262300 + ERROR_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED Handle = 0xC0262301 + ERROR_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED Handle = 0xC0262302 + ERROR_GRAPHICS_INVALID_VIDPN Handle = 0xC0262303 + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE Handle = 0xC0262304 + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET Handle = 0xC0262305 + ERROR_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED Handle = 0xC0262306 + ERROR_GRAPHICS_MODE_NOT_PINNED Handle = 0x00262307 + ERROR_GRAPHICS_INVALID_VIDPN_SOURCEMODESET Handle = 0xC0262308 + ERROR_GRAPHICS_INVALID_VIDPN_TARGETMODESET Handle = 0xC0262309 + ERROR_GRAPHICS_INVALID_FREQUENCY Handle = 0xC026230A + ERROR_GRAPHICS_INVALID_ACTIVE_REGION Handle = 0xC026230B + ERROR_GRAPHICS_INVALID_TOTAL_REGION Handle = 0xC026230C + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE Handle = 0xC0262310 + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE Handle = 0xC0262311 + ERROR_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET Handle = 0xC0262312 + ERROR_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY Handle = 0xC0262313 + ERROR_GRAPHICS_MODE_ALREADY_IN_MODESET Handle = 0xC0262314 + ERROR_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET Handle = 0xC0262315 + ERROR_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET Handle = 0xC0262316 + ERROR_GRAPHICS_SOURCE_ALREADY_IN_SET Handle = 0xC0262317 + ERROR_GRAPHICS_TARGET_ALREADY_IN_SET Handle = 0xC0262318 + ERROR_GRAPHICS_INVALID_VIDPN_PRESENT_PATH Handle = 0xC0262319 + ERROR_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY Handle = 0xC026231A + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET Handle = 0xC026231B + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE Handle = 0xC026231C + ERROR_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET Handle = 0xC026231D + ERROR_GRAPHICS_NO_PREFERRED_MODE Handle = 0x0026231E + ERROR_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET Handle = 0xC026231F + ERROR_GRAPHICS_STALE_MODESET Handle = 0xC0262320 + ERROR_GRAPHICS_INVALID_MONITOR_SOURCEMODESET Handle = 0xC0262321 + ERROR_GRAPHICS_INVALID_MONITOR_SOURCE_MODE Handle = 0xC0262322 + ERROR_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN Handle = 0xC0262323 + ERROR_GRAPHICS_MODE_ID_MUST_BE_UNIQUE Handle = 0xC0262324 + ERROR_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION Handle = 0xC0262325 + ERROR_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES Handle = 0xC0262326 + ERROR_GRAPHICS_PATH_NOT_IN_TOPOLOGY Handle = 0xC0262327 + ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE Handle = 0xC0262328 + ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET Handle = 0xC0262329 + ERROR_GRAPHICS_INVALID_MONITORDESCRIPTORSET Handle = 0xC026232A + ERROR_GRAPHICS_INVALID_MONITORDESCRIPTOR Handle = 0xC026232B + ERROR_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET Handle = 0xC026232C + ERROR_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET Handle = 0xC026232D + ERROR_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE Handle = 0xC026232E + ERROR_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE Handle = 0xC026232F + ERROR_GRAPHICS_RESOURCES_NOT_RELATED Handle = 0xC0262330 + ERROR_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE Handle = 0xC0262331 + ERROR_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE Handle = 0xC0262332 + ERROR_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET Handle = 0xC0262333 + ERROR_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER Handle = 0xC0262334 + ERROR_GRAPHICS_NO_VIDPNMGR Handle = 0xC0262335 + ERROR_GRAPHICS_NO_ACTIVE_VIDPN Handle = 0xC0262336 + ERROR_GRAPHICS_STALE_VIDPN_TOPOLOGY Handle = 0xC0262337 + ERROR_GRAPHICS_MONITOR_NOT_CONNECTED Handle = 0xC0262338 + ERROR_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY Handle = 0xC0262339 + ERROR_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE Handle = 0xC026233A + ERROR_GRAPHICS_INVALID_VISIBLEREGION_SIZE Handle = 0xC026233B + ERROR_GRAPHICS_INVALID_STRIDE Handle = 0xC026233C + ERROR_GRAPHICS_INVALID_PIXELFORMAT Handle = 0xC026233D + ERROR_GRAPHICS_INVALID_COLORBASIS Handle = 0xC026233E + ERROR_GRAPHICS_INVALID_PIXELVALUEACCESSMODE Handle = 0xC026233F + ERROR_GRAPHICS_TARGET_NOT_IN_TOPOLOGY Handle = 0xC0262340 + ERROR_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT Handle = 0xC0262341 + ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE Handle = 0xC0262342 + ERROR_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN Handle = 0xC0262343 + ERROR_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL Handle = 0xC0262344 + ERROR_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION Handle = 0xC0262345 + ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED Handle = 0xC0262346 + ERROR_GRAPHICS_INVALID_GAMMA_RAMP Handle = 0xC0262347 + ERROR_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED Handle = 0xC0262348 + ERROR_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED Handle = 0xC0262349 + ERROR_GRAPHICS_MODE_NOT_IN_MODESET Handle = 0xC026234A + ERROR_GRAPHICS_DATASET_IS_EMPTY Handle = 0x0026234B + ERROR_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET Handle = 0x0026234C + ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON Handle = 0xC026234D + ERROR_GRAPHICS_INVALID_PATH_CONTENT_TYPE Handle = 0xC026234E + ERROR_GRAPHICS_INVALID_COPYPROTECTION_TYPE Handle = 0xC026234F + ERROR_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS Handle = 0xC0262350 + ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED Handle = 0x00262351 + ERROR_GRAPHICS_INVALID_SCANLINE_ORDERING Handle = 0xC0262352 + ERROR_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED Handle = 0xC0262353 + ERROR_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS Handle = 0xC0262354 + ERROR_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT Handle = 0xC0262355 + ERROR_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM Handle = 0xC0262356 + ERROR_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN Handle = 0xC0262357 + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT Handle = 0xC0262358 + ERROR_GRAPHICS_MAX_NUM_PATHS_REACHED Handle = 0xC0262359 + ERROR_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION Handle = 0xC026235A + ERROR_GRAPHICS_INVALID_CLIENT_TYPE Handle = 0xC026235B + ERROR_GRAPHICS_CLIENTVIDPN_NOT_SET Handle = 0xC026235C + ERROR_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED Handle = 0xC0262400 + ERROR_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED Handle = 0xC0262401 + ERROR_GRAPHICS_UNKNOWN_CHILD_STATUS Handle = 0x4026242F + ERROR_GRAPHICS_NOT_A_LINKED_ADAPTER Handle = 0xC0262430 + ERROR_GRAPHICS_LEADLINK_NOT_ENUMERATED Handle = 0xC0262431 + ERROR_GRAPHICS_CHAINLINKS_NOT_ENUMERATED Handle = 0xC0262432 + ERROR_GRAPHICS_ADAPTER_CHAIN_NOT_READY Handle = 0xC0262433 + ERROR_GRAPHICS_CHAINLINKS_NOT_STARTED Handle = 0xC0262434 + ERROR_GRAPHICS_CHAINLINKS_NOT_POWERED_ON Handle = 0xC0262435 + ERROR_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE Handle = 0xC0262436 + ERROR_GRAPHICS_LEADLINK_START_DEFERRED Handle = 0x40262437 + ERROR_GRAPHICS_NOT_POST_DEVICE_DRIVER Handle = 0xC0262438 + ERROR_GRAPHICS_POLLING_TOO_FREQUENTLY Handle = 0x40262439 + ERROR_GRAPHICS_START_DEFERRED Handle = 0x4026243A + ERROR_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED Handle = 0xC026243B + ERROR_GRAPHICS_DEPENDABLE_CHILD_STATUS Handle = 0x4026243C + ERROR_GRAPHICS_OPM_NOT_SUPPORTED Handle = 0xC0262500 + ERROR_GRAPHICS_COPP_NOT_SUPPORTED Handle = 0xC0262501 + ERROR_GRAPHICS_UAB_NOT_SUPPORTED Handle = 0xC0262502 + ERROR_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS Handle = 0xC0262503 + ERROR_GRAPHICS_OPM_NO_VIDEO_OUTPUTS_EXIST Handle = 0xC0262505 + ERROR_GRAPHICS_OPM_INTERNAL_ERROR Handle = 0xC026250B + ERROR_GRAPHICS_OPM_INVALID_HANDLE Handle = 0xC026250C + ERROR_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH Handle = 0xC026250E + ERROR_GRAPHICS_OPM_SPANNING_MODE_ENABLED Handle = 0xC026250F + ERROR_GRAPHICS_OPM_THEATER_MODE_ENABLED Handle = 0xC0262510 + ERROR_GRAPHICS_PVP_HFS_FAILED Handle = 0xC0262511 + ERROR_GRAPHICS_OPM_INVALID_SRM Handle = 0xC0262512 + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP Handle = 0xC0262513 + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP Handle = 0xC0262514 + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA Handle = 0xC0262515 + ERROR_GRAPHICS_OPM_HDCP_SRM_NEVER_SET Handle = 0xC0262516 + ERROR_GRAPHICS_OPM_RESOLUTION_TOO_HIGH Handle = 0xC0262517 + ERROR_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE Handle = 0xC0262518 + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_NO_LONGER_EXISTS Handle = 0xC026251A + ERROR_GRAPHICS_OPM_SESSION_TYPE_CHANGE_IN_PROGRESS Handle = 0xC026251B + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS Handle = 0xC026251C + ERROR_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST Handle = 0xC026251D + ERROR_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR Handle = 0xC026251E + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS Handle = 0xC026251F + ERROR_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED Handle = 0xC0262520 + ERROR_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST Handle = 0xC0262521 + ERROR_GRAPHICS_I2C_NOT_SUPPORTED Handle = 0xC0262580 + ERROR_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST Handle = 0xC0262581 + ERROR_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA Handle = 0xC0262582 + ERROR_GRAPHICS_I2C_ERROR_RECEIVING_DATA Handle = 0xC0262583 + ERROR_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED Handle = 0xC0262584 + ERROR_GRAPHICS_DDCCI_INVALID_DATA Handle = 0xC0262585 + ERROR_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE Handle = 0xC0262586 + ERROR_GRAPHICS_MCA_INVALID_CAPABILITIES_STRING Handle = 0xC0262587 + ERROR_GRAPHICS_MCA_INTERNAL_ERROR Handle = 0xC0262588 + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND Handle = 0xC0262589 + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH Handle = 0xC026258A + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM Handle = 0xC026258B + ERROR_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE Handle = 0xC026258C + ERROR_GRAPHICS_MONITOR_NO_LONGER_EXISTS Handle = 0xC026258D + ERROR_GRAPHICS_DDCCI_CURRENT_CURRENT_VALUE_GREATER_THAN_MAXIMUM_VALUE Handle = 0xC02625D8 + ERROR_GRAPHICS_MCA_INVALID_VCP_VERSION Handle = 0xC02625D9 + ERROR_GRAPHICS_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION Handle = 0xC02625DA + ERROR_GRAPHICS_MCA_MCCS_VERSION_MISMATCH Handle = 0xC02625DB + ERROR_GRAPHICS_MCA_UNSUPPORTED_MCCS_VERSION Handle = 0xC02625DC + ERROR_GRAPHICS_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED Handle = 0xC02625DE + ERROR_GRAPHICS_MCA_UNSUPPORTED_COLOR_TEMPERATURE Handle = 0xC02625DF + ERROR_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED Handle = 0xC02625E0 + ERROR_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME Handle = 0xC02625E1 + ERROR_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP Handle = 0xC02625E2 + ERROR_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED Handle = 0xC02625E3 + ERROR_GRAPHICS_INVALID_POINTER Handle = 0xC02625E4 + ERROR_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE Handle = 0xC02625E5 + ERROR_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL Handle = 0xC02625E6 + ERROR_GRAPHICS_INTERNAL_ERROR Handle = 0xC02625E7 + ERROR_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS Handle = 0xC02605E8 + NAP_E_INVALID_PACKET Handle = 0x80270001 + NAP_E_MISSING_SOH Handle = 0x80270002 + NAP_E_CONFLICTING_ID Handle = 0x80270003 + NAP_E_NO_CACHED_SOH Handle = 0x80270004 + NAP_E_STILL_BOUND Handle = 0x80270005 + NAP_E_NOT_REGISTERED Handle = 0x80270006 + NAP_E_NOT_INITIALIZED Handle = 0x80270007 + NAP_E_MISMATCHED_ID Handle = 0x80270008 + NAP_E_NOT_PENDING Handle = 0x80270009 + NAP_E_ID_NOT_FOUND Handle = 0x8027000A + NAP_E_MAXSIZE_TOO_SMALL Handle = 0x8027000B + NAP_E_SERVICE_NOT_RUNNING Handle = 0x8027000C + NAP_S_CERT_ALREADY_PRESENT Handle = 0x0027000D + NAP_E_ENTITY_DISABLED Handle = 0x8027000E + NAP_E_NETSH_GROUPPOLICY_ERROR Handle = 0x8027000F + NAP_E_TOO_MANY_CALLS Handle = 0x80270010 + NAP_E_SHV_CONFIG_EXISTED Handle = 0x80270011 + NAP_E_SHV_CONFIG_NOT_FOUND Handle = 0x80270012 + NAP_E_SHV_TIMEOUT Handle = 0x80270013 + TPM_E_ERROR_MASK Handle = 0x80280000 + TPM_E_AUTHFAIL Handle = 0x80280001 + TPM_E_BADINDEX Handle = 0x80280002 + TPM_E_BAD_PARAMETER Handle = 0x80280003 + TPM_E_AUDITFAILURE Handle = 0x80280004 + TPM_E_CLEAR_DISABLED Handle = 0x80280005 + TPM_E_DEACTIVATED Handle = 0x80280006 + TPM_E_DISABLED Handle = 0x80280007 + TPM_E_DISABLED_CMD Handle = 0x80280008 + TPM_E_FAIL Handle = 0x80280009 + TPM_E_BAD_ORDINAL Handle = 0x8028000A + TPM_E_INSTALL_DISABLED Handle = 0x8028000B + TPM_E_INVALID_KEYHANDLE Handle = 0x8028000C + TPM_E_KEYNOTFOUND Handle = 0x8028000D + TPM_E_INAPPROPRIATE_ENC Handle = 0x8028000E + TPM_E_MIGRATEFAIL Handle = 0x8028000F + TPM_E_INVALID_PCR_INFO Handle = 0x80280010 + TPM_E_NOSPACE Handle = 0x80280011 + TPM_E_NOSRK Handle = 0x80280012 + TPM_E_NOTSEALED_BLOB Handle = 0x80280013 + TPM_E_OWNER_SET Handle = 0x80280014 + TPM_E_RESOURCES Handle = 0x80280015 + TPM_E_SHORTRANDOM Handle = 0x80280016 + TPM_E_SIZE Handle = 0x80280017 + TPM_E_WRONGPCRVAL Handle = 0x80280018 + TPM_E_BAD_PARAM_SIZE Handle = 0x80280019 + TPM_E_SHA_THREAD Handle = 0x8028001A + TPM_E_SHA_ERROR Handle = 0x8028001B + TPM_E_FAILEDSELFTEST Handle = 0x8028001C + TPM_E_AUTH2FAIL Handle = 0x8028001D + TPM_E_BADTAG Handle = 0x8028001E + TPM_E_IOERROR Handle = 0x8028001F + TPM_E_ENCRYPT_ERROR Handle = 0x80280020 + TPM_E_DECRYPT_ERROR Handle = 0x80280021 + TPM_E_INVALID_AUTHHANDLE Handle = 0x80280022 + TPM_E_NO_ENDORSEMENT Handle = 0x80280023 + TPM_E_INVALID_KEYUSAGE Handle = 0x80280024 + TPM_E_WRONG_ENTITYTYPE Handle = 0x80280025 + TPM_E_INVALID_POSTINIT Handle = 0x80280026 + TPM_E_INAPPROPRIATE_SIG Handle = 0x80280027 + TPM_E_BAD_KEY_PROPERTY Handle = 0x80280028 + TPM_E_BAD_MIGRATION Handle = 0x80280029 + TPM_E_BAD_SCHEME Handle = 0x8028002A + TPM_E_BAD_DATASIZE Handle = 0x8028002B + TPM_E_BAD_MODE Handle = 0x8028002C + TPM_E_BAD_PRESENCE Handle = 0x8028002D + TPM_E_BAD_VERSION Handle = 0x8028002E + TPM_E_NO_WRAP_TRANSPORT Handle = 0x8028002F + TPM_E_AUDITFAIL_UNSUCCESSFUL Handle = 0x80280030 + TPM_E_AUDITFAIL_SUCCESSFUL Handle = 0x80280031 + TPM_E_NOTRESETABLE Handle = 0x80280032 + TPM_E_NOTLOCAL Handle = 0x80280033 + TPM_E_BAD_TYPE Handle = 0x80280034 + TPM_E_INVALID_RESOURCE Handle = 0x80280035 + TPM_E_NOTFIPS Handle = 0x80280036 + TPM_E_INVALID_FAMILY Handle = 0x80280037 + TPM_E_NO_NV_PERMISSION Handle = 0x80280038 + TPM_E_REQUIRES_SIGN Handle = 0x80280039 + TPM_E_KEY_NOTSUPPORTED Handle = 0x8028003A + TPM_E_AUTH_CONFLICT Handle = 0x8028003B + TPM_E_AREA_LOCKED Handle = 0x8028003C + TPM_E_BAD_LOCALITY Handle = 0x8028003D + TPM_E_READ_ONLY Handle = 0x8028003E + TPM_E_PER_NOWRITE Handle = 0x8028003F + TPM_E_FAMILYCOUNT Handle = 0x80280040 + TPM_E_WRITE_LOCKED Handle = 0x80280041 + TPM_E_BAD_ATTRIBUTES Handle = 0x80280042 + TPM_E_INVALID_STRUCTURE Handle = 0x80280043 + TPM_E_KEY_OWNER_CONTROL Handle = 0x80280044 + TPM_E_BAD_COUNTER Handle = 0x80280045 + TPM_E_NOT_FULLWRITE Handle = 0x80280046 + TPM_E_CONTEXT_GAP Handle = 0x80280047 + TPM_E_MAXNVWRITES Handle = 0x80280048 + TPM_E_NOOPERATOR Handle = 0x80280049 + TPM_E_RESOURCEMISSING Handle = 0x8028004A + TPM_E_DELEGATE_LOCK Handle = 0x8028004B + TPM_E_DELEGATE_FAMILY Handle = 0x8028004C + TPM_E_DELEGATE_ADMIN Handle = 0x8028004D + TPM_E_TRANSPORT_NOTEXCLUSIVE Handle = 0x8028004E + TPM_E_OWNER_CONTROL Handle = 0x8028004F + TPM_E_DAA_RESOURCES Handle = 0x80280050 + TPM_E_DAA_INPUT_DATA0 Handle = 0x80280051 + TPM_E_DAA_INPUT_DATA1 Handle = 0x80280052 + TPM_E_DAA_ISSUER_SETTINGS Handle = 0x80280053 + TPM_E_DAA_TPM_SETTINGS Handle = 0x80280054 + TPM_E_DAA_STAGE Handle = 0x80280055 + TPM_E_DAA_ISSUER_VALIDITY Handle = 0x80280056 + TPM_E_DAA_WRONG_W Handle = 0x80280057 + TPM_E_BAD_HANDLE Handle = 0x80280058 + TPM_E_BAD_DELEGATE Handle = 0x80280059 + TPM_E_BADCONTEXT Handle = 0x8028005A + TPM_E_TOOMANYCONTEXTS Handle = 0x8028005B + TPM_E_MA_TICKET_SIGNATURE Handle = 0x8028005C + TPM_E_MA_DESTINATION Handle = 0x8028005D + TPM_E_MA_SOURCE Handle = 0x8028005E + TPM_E_MA_AUTHORITY Handle = 0x8028005F + TPM_E_PERMANENTEK Handle = 0x80280061 + TPM_E_BAD_SIGNATURE Handle = 0x80280062 + TPM_E_NOCONTEXTSPACE Handle = 0x80280063 + TPM_20_E_ASYMMETRIC Handle = 0x80280081 + TPM_20_E_ATTRIBUTES Handle = 0x80280082 + TPM_20_E_HASH Handle = 0x80280083 + TPM_20_E_VALUE Handle = 0x80280084 + TPM_20_E_HIERARCHY Handle = 0x80280085 + TPM_20_E_KEY_SIZE Handle = 0x80280087 + TPM_20_E_MGF Handle = 0x80280088 + TPM_20_E_MODE Handle = 0x80280089 + TPM_20_E_TYPE Handle = 0x8028008A + TPM_20_E_HANDLE Handle = 0x8028008B + TPM_20_E_KDF Handle = 0x8028008C + TPM_20_E_RANGE Handle = 0x8028008D + TPM_20_E_AUTH_FAIL Handle = 0x8028008E + TPM_20_E_NONCE Handle = 0x8028008F + TPM_20_E_PP Handle = 0x80280090 + TPM_20_E_SCHEME Handle = 0x80280092 + TPM_20_E_SIZE Handle = 0x80280095 + TPM_20_E_SYMMETRIC Handle = 0x80280096 + TPM_20_E_TAG Handle = 0x80280097 + TPM_20_E_SELECTOR Handle = 0x80280098 + TPM_20_E_INSUFFICIENT Handle = 0x8028009A + TPM_20_E_SIGNATURE Handle = 0x8028009B + TPM_20_E_KEY Handle = 0x8028009C + TPM_20_E_POLICY_FAIL Handle = 0x8028009D + TPM_20_E_INTEGRITY Handle = 0x8028009F + TPM_20_E_TICKET Handle = 0x802800A0 + TPM_20_E_RESERVED_BITS Handle = 0x802800A1 + TPM_20_E_BAD_AUTH Handle = 0x802800A2 + TPM_20_E_EXPIRED Handle = 0x802800A3 + TPM_20_E_POLICY_CC Handle = 0x802800A4 + TPM_20_E_BINDING Handle = 0x802800A5 + TPM_20_E_CURVE Handle = 0x802800A6 + TPM_20_E_ECC_POINT Handle = 0x802800A7 + TPM_20_E_INITIALIZE Handle = 0x80280100 + TPM_20_E_FAILURE Handle = 0x80280101 + TPM_20_E_SEQUENCE Handle = 0x80280103 + TPM_20_E_PRIVATE Handle = 0x8028010B + TPM_20_E_HMAC Handle = 0x80280119 + TPM_20_E_DISABLED Handle = 0x80280120 + TPM_20_E_EXCLUSIVE Handle = 0x80280121 + TPM_20_E_ECC_CURVE Handle = 0x80280123 + TPM_20_E_AUTH_TYPE Handle = 0x80280124 + TPM_20_E_AUTH_MISSING Handle = 0x80280125 + TPM_20_E_POLICY Handle = 0x80280126 + TPM_20_E_PCR Handle = 0x80280127 + TPM_20_E_PCR_CHANGED Handle = 0x80280128 + TPM_20_E_UPGRADE Handle = 0x8028012D + TPM_20_E_TOO_MANY_CONTEXTS Handle = 0x8028012E + TPM_20_E_AUTH_UNAVAILABLE Handle = 0x8028012F + TPM_20_E_REBOOT Handle = 0x80280130 + TPM_20_E_UNBALANCED Handle = 0x80280131 + TPM_20_E_COMMAND_SIZE Handle = 0x80280142 + TPM_20_E_COMMAND_CODE Handle = 0x80280143 + TPM_20_E_AUTHSIZE Handle = 0x80280144 + TPM_20_E_AUTH_CONTEXT Handle = 0x80280145 + TPM_20_E_NV_RANGE Handle = 0x80280146 + TPM_20_E_NV_SIZE Handle = 0x80280147 + TPM_20_E_NV_LOCKED Handle = 0x80280148 + TPM_20_E_NV_AUTHORIZATION Handle = 0x80280149 + TPM_20_E_NV_UNINITIALIZED Handle = 0x8028014A + TPM_20_E_NV_SPACE Handle = 0x8028014B + TPM_20_E_NV_DEFINED Handle = 0x8028014C + TPM_20_E_BAD_CONTEXT Handle = 0x80280150 + TPM_20_E_CPHASH Handle = 0x80280151 + TPM_20_E_PARENT Handle = 0x80280152 + TPM_20_E_NEEDS_TEST Handle = 0x80280153 + TPM_20_E_NO_RESULT Handle = 0x80280154 + TPM_20_E_SENSITIVE Handle = 0x80280155 + TPM_E_COMMAND_BLOCKED Handle = 0x80280400 + TPM_E_INVALID_HANDLE Handle = 0x80280401 + TPM_E_DUPLICATE_VHANDLE Handle = 0x80280402 + TPM_E_EMBEDDED_COMMAND_BLOCKED Handle = 0x80280403 + TPM_E_EMBEDDED_COMMAND_UNSUPPORTED Handle = 0x80280404 + TPM_E_RETRY Handle = 0x80280800 + TPM_E_NEEDS_SELFTEST Handle = 0x80280801 + TPM_E_DOING_SELFTEST Handle = 0x80280802 + TPM_E_DEFEND_LOCK_RUNNING Handle = 0x80280803 + TPM_20_E_CONTEXT_GAP Handle = 0x80280901 + TPM_20_E_OBJECT_MEMORY Handle = 0x80280902 + TPM_20_E_SESSION_MEMORY Handle = 0x80280903 + TPM_20_E_MEMORY Handle = 0x80280904 + TPM_20_E_SESSION_HANDLES Handle = 0x80280905 + TPM_20_E_OBJECT_HANDLES Handle = 0x80280906 + TPM_20_E_LOCALITY Handle = 0x80280907 + TPM_20_E_YIELDED Handle = 0x80280908 + TPM_20_E_CANCELED Handle = 0x80280909 + TPM_20_E_TESTING Handle = 0x8028090A + TPM_20_E_NV_RATE Handle = 0x80280920 + TPM_20_E_LOCKOUT Handle = 0x80280921 + TPM_20_E_RETRY Handle = 0x80280922 + TPM_20_E_NV_UNAVAILABLE Handle = 0x80280923 + TBS_E_INTERNAL_ERROR Handle = 0x80284001 + TBS_E_BAD_PARAMETER Handle = 0x80284002 + TBS_E_INVALID_OUTPUT_POINTER Handle = 0x80284003 + TBS_E_INVALID_CONTEXT Handle = 0x80284004 + TBS_E_INSUFFICIENT_BUFFER Handle = 0x80284005 + TBS_E_IOERROR Handle = 0x80284006 + TBS_E_INVALID_CONTEXT_PARAM Handle = 0x80284007 + TBS_E_SERVICE_NOT_RUNNING Handle = 0x80284008 + TBS_E_TOO_MANY_TBS_CONTEXTS Handle = 0x80284009 + TBS_E_TOO_MANY_RESOURCES Handle = 0x8028400A + TBS_E_SERVICE_START_PENDING Handle = 0x8028400B + TBS_E_PPI_NOT_SUPPORTED Handle = 0x8028400C + TBS_E_COMMAND_CANCELED Handle = 0x8028400D + TBS_E_BUFFER_TOO_LARGE Handle = 0x8028400E + TBS_E_TPM_NOT_FOUND Handle = 0x8028400F + TBS_E_SERVICE_DISABLED Handle = 0x80284010 + TBS_E_NO_EVENT_LOG Handle = 0x80284011 + TBS_E_ACCESS_DENIED Handle = 0x80284012 + TBS_E_PROVISIONING_NOT_ALLOWED Handle = 0x80284013 + TBS_E_PPI_FUNCTION_UNSUPPORTED Handle = 0x80284014 + TBS_E_OWNERAUTH_NOT_FOUND Handle = 0x80284015 + TBS_E_PROVISIONING_INCOMPLETE Handle = 0x80284016 + TPMAPI_E_INVALID_STATE Handle = 0x80290100 + TPMAPI_E_NOT_ENOUGH_DATA Handle = 0x80290101 + TPMAPI_E_TOO_MUCH_DATA Handle = 0x80290102 + TPMAPI_E_INVALID_OUTPUT_POINTER Handle = 0x80290103 + TPMAPI_E_INVALID_PARAMETER Handle = 0x80290104 + TPMAPI_E_OUT_OF_MEMORY Handle = 0x80290105 + TPMAPI_E_BUFFER_TOO_SMALL Handle = 0x80290106 + TPMAPI_E_INTERNAL_ERROR Handle = 0x80290107 + TPMAPI_E_ACCESS_DENIED Handle = 0x80290108 + TPMAPI_E_AUTHORIZATION_FAILED Handle = 0x80290109 + TPMAPI_E_INVALID_CONTEXT_HANDLE Handle = 0x8029010A + TPMAPI_E_TBS_COMMUNICATION_ERROR Handle = 0x8029010B + TPMAPI_E_TPM_COMMAND_ERROR Handle = 0x8029010C + TPMAPI_E_MESSAGE_TOO_LARGE Handle = 0x8029010D + TPMAPI_E_INVALID_ENCODING Handle = 0x8029010E + TPMAPI_E_INVALID_KEY_SIZE Handle = 0x8029010F + TPMAPI_E_ENCRYPTION_FAILED Handle = 0x80290110 + TPMAPI_E_INVALID_KEY_PARAMS Handle = 0x80290111 + TPMAPI_E_INVALID_MIGRATION_AUTHORIZATION_BLOB Handle = 0x80290112 + TPMAPI_E_INVALID_PCR_INDEX Handle = 0x80290113 + TPMAPI_E_INVALID_DELEGATE_BLOB Handle = 0x80290114 + TPMAPI_E_INVALID_CONTEXT_PARAMS Handle = 0x80290115 + TPMAPI_E_INVALID_KEY_BLOB Handle = 0x80290116 + TPMAPI_E_INVALID_PCR_DATA Handle = 0x80290117 + TPMAPI_E_INVALID_OWNER_AUTH Handle = 0x80290118 + TPMAPI_E_FIPS_RNG_CHECK_FAILED Handle = 0x80290119 + TPMAPI_E_EMPTY_TCG_LOG Handle = 0x8029011A + TPMAPI_E_INVALID_TCG_LOG_ENTRY Handle = 0x8029011B + TPMAPI_E_TCG_SEPARATOR_ABSENT Handle = 0x8029011C + TPMAPI_E_TCG_INVALID_DIGEST_ENTRY Handle = 0x8029011D + TPMAPI_E_POLICY_DENIES_OPERATION Handle = 0x8029011E + TPMAPI_E_NV_BITS_NOT_DEFINED Handle = 0x8029011F + TPMAPI_E_NV_BITS_NOT_READY Handle = 0x80290120 + TPMAPI_E_SEALING_KEY_NOT_AVAILABLE Handle = 0x80290121 + TPMAPI_E_NO_AUTHORIZATION_CHAIN_FOUND Handle = 0x80290122 + TPMAPI_E_SVN_COUNTER_NOT_AVAILABLE Handle = 0x80290123 + TPMAPI_E_OWNER_AUTH_NOT_NULL Handle = 0x80290124 + TPMAPI_E_ENDORSEMENT_AUTH_NOT_NULL Handle = 0x80290125 + TPMAPI_E_AUTHORIZATION_REVOKED Handle = 0x80290126 + TPMAPI_E_MALFORMED_AUTHORIZATION_KEY Handle = 0x80290127 + TPMAPI_E_AUTHORIZING_KEY_NOT_SUPPORTED Handle = 0x80290128 + TPMAPI_E_INVALID_AUTHORIZATION_SIGNATURE Handle = 0x80290129 + TPMAPI_E_MALFORMED_AUTHORIZATION_POLICY Handle = 0x8029012A + TPMAPI_E_MALFORMED_AUTHORIZATION_OTHER Handle = 0x8029012B + TPMAPI_E_SEALING_KEY_CHANGED Handle = 0x8029012C + TBSIMP_E_BUFFER_TOO_SMALL Handle = 0x80290200 + TBSIMP_E_CLEANUP_FAILED Handle = 0x80290201 + TBSIMP_E_INVALID_CONTEXT_HANDLE Handle = 0x80290202 + TBSIMP_E_INVALID_CONTEXT_PARAM Handle = 0x80290203 + TBSIMP_E_TPM_ERROR Handle = 0x80290204 + TBSIMP_E_HASH_BAD_KEY Handle = 0x80290205 + TBSIMP_E_DUPLICATE_VHANDLE Handle = 0x80290206 + TBSIMP_E_INVALID_OUTPUT_POINTER Handle = 0x80290207 + TBSIMP_E_INVALID_PARAMETER Handle = 0x80290208 + TBSIMP_E_RPC_INIT_FAILED Handle = 0x80290209 + TBSIMP_E_SCHEDULER_NOT_RUNNING Handle = 0x8029020A + TBSIMP_E_COMMAND_CANCELED Handle = 0x8029020B + TBSIMP_E_OUT_OF_MEMORY Handle = 0x8029020C + TBSIMP_E_LIST_NO_MORE_ITEMS Handle = 0x8029020D + TBSIMP_E_LIST_NOT_FOUND Handle = 0x8029020E + TBSIMP_E_NOT_ENOUGH_SPACE Handle = 0x8029020F + TBSIMP_E_NOT_ENOUGH_TPM_CONTEXTS Handle = 0x80290210 + TBSIMP_E_COMMAND_FAILED Handle = 0x80290211 + TBSIMP_E_UNKNOWN_ORDINAL Handle = 0x80290212 + TBSIMP_E_RESOURCE_EXPIRED Handle = 0x80290213 + TBSIMP_E_INVALID_RESOURCE Handle = 0x80290214 + TBSIMP_E_NOTHING_TO_UNLOAD Handle = 0x80290215 + TBSIMP_E_HASH_TABLE_FULL Handle = 0x80290216 + TBSIMP_E_TOO_MANY_TBS_CONTEXTS Handle = 0x80290217 + TBSIMP_E_TOO_MANY_RESOURCES Handle = 0x80290218 + TBSIMP_E_PPI_NOT_SUPPORTED Handle = 0x80290219 + TBSIMP_E_TPM_INCOMPATIBLE Handle = 0x8029021A + TBSIMP_E_NO_EVENT_LOG Handle = 0x8029021B + TPM_E_PPI_ACPI_FAILURE Handle = 0x80290300 + TPM_E_PPI_USER_ABORT Handle = 0x80290301 + TPM_E_PPI_BIOS_FAILURE Handle = 0x80290302 + TPM_E_PPI_NOT_SUPPORTED Handle = 0x80290303 + TPM_E_PPI_BLOCKED_IN_BIOS Handle = 0x80290304 + TPM_E_PCP_ERROR_MASK Handle = 0x80290400 + TPM_E_PCP_DEVICE_NOT_READY Handle = 0x80290401 + TPM_E_PCP_INVALID_HANDLE Handle = 0x80290402 + TPM_E_PCP_INVALID_PARAMETER Handle = 0x80290403 + TPM_E_PCP_FLAG_NOT_SUPPORTED Handle = 0x80290404 + TPM_E_PCP_NOT_SUPPORTED Handle = 0x80290405 + TPM_E_PCP_BUFFER_TOO_SMALL Handle = 0x80290406 + TPM_E_PCP_INTERNAL_ERROR Handle = 0x80290407 + TPM_E_PCP_AUTHENTICATION_FAILED Handle = 0x80290408 + TPM_E_PCP_AUTHENTICATION_IGNORED Handle = 0x80290409 + TPM_E_PCP_POLICY_NOT_FOUND Handle = 0x8029040A + TPM_E_PCP_PROFILE_NOT_FOUND Handle = 0x8029040B + TPM_E_PCP_VALIDATION_FAILED Handle = 0x8029040C + TPM_E_PCP_WRONG_PARENT Handle = 0x8029040E + TPM_E_KEY_NOT_LOADED Handle = 0x8029040F + TPM_E_NO_KEY_CERTIFICATION Handle = 0x80290410 + TPM_E_KEY_NOT_FINALIZED Handle = 0x80290411 + TPM_E_ATTESTATION_CHALLENGE_NOT_SET Handle = 0x80290412 + TPM_E_NOT_PCR_BOUND Handle = 0x80290413 + TPM_E_KEY_ALREADY_FINALIZED Handle = 0x80290414 + TPM_E_KEY_USAGE_POLICY_NOT_SUPPORTED Handle = 0x80290415 + TPM_E_KEY_USAGE_POLICY_INVALID Handle = 0x80290416 + TPM_E_SOFT_KEY_ERROR Handle = 0x80290417 + TPM_E_KEY_NOT_AUTHENTICATED Handle = 0x80290418 + TPM_E_PCP_KEY_NOT_AIK Handle = 0x80290419 + TPM_E_KEY_NOT_SIGNING_KEY Handle = 0x8029041A + TPM_E_LOCKED_OUT Handle = 0x8029041B + TPM_E_CLAIM_TYPE_NOT_SUPPORTED Handle = 0x8029041C + TPM_E_VERSION_NOT_SUPPORTED Handle = 0x8029041D + TPM_E_BUFFER_LENGTH_MISMATCH Handle = 0x8029041E + TPM_E_PCP_IFX_RSA_KEY_CREATION_BLOCKED Handle = 0x8029041F + TPM_E_PCP_TICKET_MISSING Handle = 0x80290420 + TPM_E_PCP_RAW_POLICY_NOT_SUPPORTED Handle = 0x80290421 + TPM_E_PCP_KEY_HANDLE_INVALIDATED Handle = 0x80290422 + TPM_E_PCP_UNSUPPORTED_PSS_SALT Handle = 0x40290423 + TPM_E_ZERO_EXHAUST_ENABLED Handle = 0x80290500 + PLA_E_DCS_NOT_FOUND Handle = 0x80300002 + PLA_E_DCS_IN_USE Handle = 0x803000AA + PLA_E_TOO_MANY_FOLDERS Handle = 0x80300045 + PLA_E_NO_MIN_DISK Handle = 0x80300070 + PLA_E_DCS_ALREADY_EXISTS Handle = 0x803000B7 + PLA_S_PROPERTY_IGNORED Handle = 0x00300100 + PLA_E_PROPERTY_CONFLICT Handle = 0x80300101 + PLA_E_DCS_SINGLETON_REQUIRED Handle = 0x80300102 + PLA_E_CREDENTIALS_REQUIRED Handle = 0x80300103 + PLA_E_DCS_NOT_RUNNING Handle = 0x80300104 + PLA_E_CONFLICT_INCL_EXCL_API Handle = 0x80300105 + PLA_E_NETWORK_EXE_NOT_VALID Handle = 0x80300106 + PLA_E_EXE_ALREADY_CONFIGURED Handle = 0x80300107 + PLA_E_EXE_PATH_NOT_VALID Handle = 0x80300108 + PLA_E_DC_ALREADY_EXISTS Handle = 0x80300109 + PLA_E_DCS_START_WAIT_TIMEOUT Handle = 0x8030010A + PLA_E_DC_START_WAIT_TIMEOUT Handle = 0x8030010B + PLA_E_REPORT_WAIT_TIMEOUT Handle = 0x8030010C + PLA_E_NO_DUPLICATES Handle = 0x8030010D + PLA_E_EXE_FULL_PATH_REQUIRED Handle = 0x8030010E + PLA_E_INVALID_SESSION_NAME Handle = 0x8030010F + PLA_E_PLA_CHANNEL_NOT_ENABLED Handle = 0x80300110 + PLA_E_TASKSCHED_CHANNEL_NOT_ENABLED Handle = 0x80300111 + PLA_E_RULES_MANAGER_FAILED Handle = 0x80300112 + PLA_E_CABAPI_FAILURE Handle = 0x80300113 + FVE_E_LOCKED_VOLUME Handle = 0x80310000 + FVE_E_NOT_ENCRYPTED Handle = 0x80310001 + FVE_E_NO_TPM_BIOS Handle = 0x80310002 + FVE_E_NO_MBR_METRIC Handle = 0x80310003 + FVE_E_NO_BOOTSECTOR_METRIC Handle = 0x80310004 + FVE_E_NO_BOOTMGR_METRIC Handle = 0x80310005 + FVE_E_WRONG_BOOTMGR Handle = 0x80310006 + FVE_E_SECURE_KEY_REQUIRED Handle = 0x80310007 + FVE_E_NOT_ACTIVATED Handle = 0x80310008 + FVE_E_ACTION_NOT_ALLOWED Handle = 0x80310009 + FVE_E_AD_SCHEMA_NOT_INSTALLED Handle = 0x8031000A + FVE_E_AD_INVALID_DATATYPE Handle = 0x8031000B + FVE_E_AD_INVALID_DATASIZE Handle = 0x8031000C + FVE_E_AD_NO_VALUES Handle = 0x8031000D + FVE_E_AD_ATTR_NOT_SET Handle = 0x8031000E + FVE_E_AD_GUID_NOT_FOUND Handle = 0x8031000F + FVE_E_BAD_INFORMATION Handle = 0x80310010 + FVE_E_TOO_SMALL Handle = 0x80310011 + FVE_E_SYSTEM_VOLUME Handle = 0x80310012 + FVE_E_FAILED_WRONG_FS Handle = 0x80310013 + FVE_E_BAD_PARTITION_SIZE Handle = 0x80310014 + FVE_E_NOT_SUPPORTED Handle = 0x80310015 + FVE_E_BAD_DATA Handle = 0x80310016 + FVE_E_VOLUME_NOT_BOUND Handle = 0x80310017 + FVE_E_TPM_NOT_OWNED Handle = 0x80310018 + FVE_E_NOT_DATA_VOLUME Handle = 0x80310019 + FVE_E_AD_INSUFFICIENT_BUFFER Handle = 0x8031001A + FVE_E_CONV_READ Handle = 0x8031001B + FVE_E_CONV_WRITE Handle = 0x8031001C + FVE_E_KEY_REQUIRED Handle = 0x8031001D + FVE_E_CLUSTERING_NOT_SUPPORTED Handle = 0x8031001E + FVE_E_VOLUME_BOUND_ALREADY Handle = 0x8031001F + FVE_E_OS_NOT_PROTECTED Handle = 0x80310020 + FVE_E_PROTECTION_DISABLED Handle = 0x80310021 + FVE_E_RECOVERY_KEY_REQUIRED Handle = 0x80310022 + FVE_E_FOREIGN_VOLUME Handle = 0x80310023 + FVE_E_OVERLAPPED_UPDATE Handle = 0x80310024 + FVE_E_TPM_SRK_AUTH_NOT_ZERO Handle = 0x80310025 + FVE_E_FAILED_SECTOR_SIZE Handle = 0x80310026 + FVE_E_FAILED_AUTHENTICATION Handle = 0x80310027 + FVE_E_NOT_OS_VOLUME Handle = 0x80310028 + FVE_E_AUTOUNLOCK_ENABLED Handle = 0x80310029 + FVE_E_WRONG_BOOTSECTOR Handle = 0x8031002A + FVE_E_WRONG_SYSTEM_FS Handle = 0x8031002B + FVE_E_POLICY_PASSWORD_REQUIRED Handle = 0x8031002C + FVE_E_CANNOT_SET_FVEK_ENCRYPTED Handle = 0x8031002D + FVE_E_CANNOT_ENCRYPT_NO_KEY Handle = 0x8031002E + FVE_E_BOOTABLE_CDDVD Handle = 0x80310030 + FVE_E_PROTECTOR_EXISTS Handle = 0x80310031 + FVE_E_RELATIVE_PATH Handle = 0x80310032 + FVE_E_PROTECTOR_NOT_FOUND Handle = 0x80310033 + FVE_E_INVALID_KEY_FORMAT Handle = 0x80310034 + FVE_E_INVALID_PASSWORD_FORMAT Handle = 0x80310035 + FVE_E_FIPS_RNG_CHECK_FAILED Handle = 0x80310036 + FVE_E_FIPS_PREVENTS_RECOVERY_PASSWORD Handle = 0x80310037 + FVE_E_FIPS_PREVENTS_EXTERNAL_KEY_EXPORT Handle = 0x80310038 + FVE_E_NOT_DECRYPTED Handle = 0x80310039 + FVE_E_INVALID_PROTECTOR_TYPE Handle = 0x8031003A + FVE_E_NO_PROTECTORS_TO_TEST Handle = 0x8031003B + FVE_E_KEYFILE_NOT_FOUND Handle = 0x8031003C + FVE_E_KEYFILE_INVALID Handle = 0x8031003D + FVE_E_KEYFILE_NO_VMK Handle = 0x8031003E + FVE_E_TPM_DISABLED Handle = 0x8031003F + FVE_E_NOT_ALLOWED_IN_SAFE_MODE Handle = 0x80310040 + FVE_E_TPM_INVALID_PCR Handle = 0x80310041 + FVE_E_TPM_NO_VMK Handle = 0x80310042 + FVE_E_PIN_INVALID Handle = 0x80310043 + FVE_E_AUTH_INVALID_APPLICATION Handle = 0x80310044 + FVE_E_AUTH_INVALID_CONFIG Handle = 0x80310045 + FVE_E_FIPS_DISABLE_PROTECTION_NOT_ALLOWED Handle = 0x80310046 + FVE_E_FS_NOT_EXTENDED Handle = 0x80310047 + FVE_E_FIRMWARE_TYPE_NOT_SUPPORTED Handle = 0x80310048 + FVE_E_NO_LICENSE Handle = 0x80310049 + FVE_E_NOT_ON_STACK Handle = 0x8031004A + FVE_E_FS_MOUNTED Handle = 0x8031004B + FVE_E_TOKEN_NOT_IMPERSONATED Handle = 0x8031004C + FVE_E_DRY_RUN_FAILED Handle = 0x8031004D + FVE_E_REBOOT_REQUIRED Handle = 0x8031004E + FVE_E_DEBUGGER_ENABLED Handle = 0x8031004F + FVE_E_RAW_ACCESS Handle = 0x80310050 + FVE_E_RAW_BLOCKED Handle = 0x80310051 + FVE_E_BCD_APPLICATIONS_PATH_INCORRECT Handle = 0x80310052 + FVE_E_NOT_ALLOWED_IN_VERSION Handle = 0x80310053 + FVE_E_NO_AUTOUNLOCK_MASTER_KEY Handle = 0x80310054 + FVE_E_MOR_FAILED Handle = 0x80310055 + FVE_E_HIDDEN_VOLUME Handle = 0x80310056 + FVE_E_TRANSIENT_STATE Handle = 0x80310057 + FVE_E_PUBKEY_NOT_ALLOWED Handle = 0x80310058 + FVE_E_VOLUME_HANDLE_OPEN Handle = 0x80310059 + FVE_E_NO_FEATURE_LICENSE Handle = 0x8031005A + FVE_E_INVALID_STARTUP_OPTIONS Handle = 0x8031005B + FVE_E_POLICY_RECOVERY_PASSWORD_NOT_ALLOWED Handle = 0x8031005C + FVE_E_POLICY_RECOVERY_PASSWORD_REQUIRED Handle = 0x8031005D + FVE_E_POLICY_RECOVERY_KEY_NOT_ALLOWED Handle = 0x8031005E + FVE_E_POLICY_RECOVERY_KEY_REQUIRED Handle = 0x8031005F + FVE_E_POLICY_STARTUP_PIN_NOT_ALLOWED Handle = 0x80310060 + FVE_E_POLICY_STARTUP_PIN_REQUIRED Handle = 0x80310061 + FVE_E_POLICY_STARTUP_KEY_NOT_ALLOWED Handle = 0x80310062 + FVE_E_POLICY_STARTUP_KEY_REQUIRED Handle = 0x80310063 + FVE_E_POLICY_STARTUP_PIN_KEY_NOT_ALLOWED Handle = 0x80310064 + FVE_E_POLICY_STARTUP_PIN_KEY_REQUIRED Handle = 0x80310065 + FVE_E_POLICY_STARTUP_TPM_NOT_ALLOWED Handle = 0x80310066 + FVE_E_POLICY_STARTUP_TPM_REQUIRED Handle = 0x80310067 + FVE_E_POLICY_INVALID_PIN_LENGTH Handle = 0x80310068 + FVE_E_KEY_PROTECTOR_NOT_SUPPORTED Handle = 0x80310069 + FVE_E_POLICY_PASSPHRASE_NOT_ALLOWED Handle = 0x8031006A + FVE_E_POLICY_PASSPHRASE_REQUIRED Handle = 0x8031006B + FVE_E_FIPS_PREVENTS_PASSPHRASE Handle = 0x8031006C + FVE_E_OS_VOLUME_PASSPHRASE_NOT_ALLOWED Handle = 0x8031006D + FVE_E_INVALID_BITLOCKER_OID Handle = 0x8031006E + FVE_E_VOLUME_TOO_SMALL Handle = 0x8031006F + FVE_E_DV_NOT_SUPPORTED_ON_FS Handle = 0x80310070 + FVE_E_DV_NOT_ALLOWED_BY_GP Handle = 0x80310071 + FVE_E_POLICY_USER_CERTIFICATE_NOT_ALLOWED Handle = 0x80310072 + FVE_E_POLICY_USER_CERTIFICATE_REQUIRED Handle = 0x80310073 + FVE_E_POLICY_USER_CERT_MUST_BE_HW Handle = 0x80310074 + FVE_E_POLICY_USER_CONFIGURE_FDV_AUTOUNLOCK_NOT_ALLOWED Handle = 0x80310075 + FVE_E_POLICY_USER_CONFIGURE_RDV_AUTOUNLOCK_NOT_ALLOWED Handle = 0x80310076 + FVE_E_POLICY_USER_CONFIGURE_RDV_NOT_ALLOWED Handle = 0x80310077 + FVE_E_POLICY_USER_ENABLE_RDV_NOT_ALLOWED Handle = 0x80310078 + FVE_E_POLICY_USER_DISABLE_RDV_NOT_ALLOWED Handle = 0x80310079 + FVE_E_POLICY_INVALID_PASSPHRASE_LENGTH Handle = 0x80310080 + FVE_E_POLICY_PASSPHRASE_TOO_SIMPLE Handle = 0x80310081 + FVE_E_RECOVERY_PARTITION Handle = 0x80310082 + FVE_E_POLICY_CONFLICT_FDV_RK_OFF_AUK_ON Handle = 0x80310083 + FVE_E_POLICY_CONFLICT_RDV_RK_OFF_AUK_ON Handle = 0x80310084 + FVE_E_NON_BITLOCKER_OID Handle = 0x80310085 + FVE_E_POLICY_PROHIBITS_SELFSIGNED Handle = 0x80310086 + FVE_E_POLICY_CONFLICT_RO_AND_STARTUP_KEY_REQUIRED Handle = 0x80310087 + FVE_E_CONV_RECOVERY_FAILED Handle = 0x80310088 + FVE_E_VIRTUALIZED_SPACE_TOO_BIG Handle = 0x80310089 + FVE_E_POLICY_CONFLICT_OSV_RP_OFF_ADB_ON Handle = 0x80310090 + FVE_E_POLICY_CONFLICT_FDV_RP_OFF_ADB_ON Handle = 0x80310091 + FVE_E_POLICY_CONFLICT_RDV_RP_OFF_ADB_ON Handle = 0x80310092 + FVE_E_NON_BITLOCKER_KU Handle = 0x80310093 + FVE_E_PRIVATEKEY_AUTH_FAILED Handle = 0x80310094 + FVE_E_REMOVAL_OF_DRA_FAILED Handle = 0x80310095 + FVE_E_OPERATION_NOT_SUPPORTED_ON_VISTA_VOLUME Handle = 0x80310096 + FVE_E_CANT_LOCK_AUTOUNLOCK_ENABLED_VOLUME Handle = 0x80310097 + FVE_E_FIPS_HASH_KDF_NOT_ALLOWED Handle = 0x80310098 + FVE_E_ENH_PIN_INVALID Handle = 0x80310099 + FVE_E_INVALID_PIN_CHARS Handle = 0x8031009A + FVE_E_INVALID_DATUM_TYPE Handle = 0x8031009B + FVE_E_EFI_ONLY Handle = 0x8031009C + FVE_E_MULTIPLE_NKP_CERTS Handle = 0x8031009D + FVE_E_REMOVAL_OF_NKP_FAILED Handle = 0x8031009E + FVE_E_INVALID_NKP_CERT Handle = 0x8031009F + FVE_E_NO_EXISTING_PIN Handle = 0x803100A0 + FVE_E_PROTECTOR_CHANGE_PIN_MISMATCH Handle = 0x803100A1 + FVE_E_PIN_PROTECTOR_CHANGE_BY_STD_USER_DISALLOWED Handle = 0x803100A2 + FVE_E_PROTECTOR_CHANGE_MAX_PIN_CHANGE_ATTEMPTS_REACHED Handle = 0x803100A3 + FVE_E_POLICY_PASSPHRASE_REQUIRES_ASCII Handle = 0x803100A4 + FVE_E_FULL_ENCRYPTION_NOT_ALLOWED_ON_TP_STORAGE Handle = 0x803100A5 + FVE_E_WIPE_NOT_ALLOWED_ON_TP_STORAGE Handle = 0x803100A6 + FVE_E_KEY_LENGTH_NOT_SUPPORTED_BY_EDRIVE Handle = 0x803100A7 + FVE_E_NO_EXISTING_PASSPHRASE Handle = 0x803100A8 + FVE_E_PROTECTOR_CHANGE_PASSPHRASE_MISMATCH Handle = 0x803100A9 + FVE_E_PASSPHRASE_TOO_LONG Handle = 0x803100AA + FVE_E_NO_PASSPHRASE_WITH_TPM Handle = 0x803100AB + FVE_E_NO_TPM_WITH_PASSPHRASE Handle = 0x803100AC + FVE_E_NOT_ALLOWED_ON_CSV_STACK Handle = 0x803100AD + FVE_E_NOT_ALLOWED_ON_CLUSTER Handle = 0x803100AE + FVE_E_EDRIVE_NO_FAILOVER_TO_SW Handle = 0x803100AF + FVE_E_EDRIVE_BAND_IN_USE Handle = 0x803100B0 + FVE_E_EDRIVE_DISALLOWED_BY_GP Handle = 0x803100B1 + FVE_E_EDRIVE_INCOMPATIBLE_VOLUME Handle = 0x803100B2 + FVE_E_NOT_ALLOWED_TO_UPGRADE_WHILE_CONVERTING Handle = 0x803100B3 + FVE_E_EDRIVE_DV_NOT_SUPPORTED Handle = 0x803100B4 + FVE_E_NO_PREBOOT_KEYBOARD_DETECTED Handle = 0x803100B5 + FVE_E_NO_PREBOOT_KEYBOARD_OR_WINRE_DETECTED Handle = 0x803100B6 + FVE_E_POLICY_REQUIRES_STARTUP_PIN_ON_TOUCH_DEVICE Handle = 0x803100B7 + FVE_E_POLICY_REQUIRES_RECOVERY_PASSWORD_ON_TOUCH_DEVICE Handle = 0x803100B8 + FVE_E_WIPE_CANCEL_NOT_APPLICABLE Handle = 0x803100B9 + FVE_E_SECUREBOOT_DISABLED Handle = 0x803100BA + FVE_E_SECUREBOOT_CONFIGURATION_INVALID Handle = 0x803100BB + FVE_E_EDRIVE_DRY_RUN_FAILED Handle = 0x803100BC + FVE_E_SHADOW_COPY_PRESENT Handle = 0x803100BD + FVE_E_POLICY_INVALID_ENHANCED_BCD_SETTINGS Handle = 0x803100BE + FVE_E_EDRIVE_INCOMPATIBLE_FIRMWARE Handle = 0x803100BF + FVE_E_PROTECTOR_CHANGE_MAX_PASSPHRASE_CHANGE_ATTEMPTS_REACHED Handle = 0x803100C0 + FVE_E_PASSPHRASE_PROTECTOR_CHANGE_BY_STD_USER_DISALLOWED Handle = 0x803100C1 + FVE_E_LIVEID_ACCOUNT_SUSPENDED Handle = 0x803100C2 + FVE_E_LIVEID_ACCOUNT_BLOCKED Handle = 0x803100C3 + FVE_E_NOT_PROVISIONED_ON_ALL_VOLUMES Handle = 0x803100C4 + FVE_E_DE_FIXED_DATA_NOT_SUPPORTED Handle = 0x803100C5 + FVE_E_DE_HARDWARE_NOT_COMPLIANT Handle = 0x803100C6 + FVE_E_DE_WINRE_NOT_CONFIGURED Handle = 0x803100C7 + FVE_E_DE_PROTECTION_SUSPENDED Handle = 0x803100C8 + FVE_E_DE_OS_VOLUME_NOT_PROTECTED Handle = 0x803100C9 + FVE_E_DE_DEVICE_LOCKEDOUT Handle = 0x803100CA + FVE_E_DE_PROTECTION_NOT_YET_ENABLED Handle = 0x803100CB + FVE_E_INVALID_PIN_CHARS_DETAILED Handle = 0x803100CC + FVE_E_DEVICE_LOCKOUT_COUNTER_UNAVAILABLE Handle = 0x803100CD + FVE_E_DEVICELOCKOUT_COUNTER_MISMATCH Handle = 0x803100CE + FVE_E_BUFFER_TOO_LARGE Handle = 0x803100CF + FVE_E_NO_SUCH_CAPABILITY_ON_TARGET Handle = 0x803100D0 + FVE_E_DE_PREVENTED_FOR_OS Handle = 0x803100D1 + FVE_E_DE_VOLUME_OPTED_OUT Handle = 0x803100D2 + FVE_E_DE_VOLUME_NOT_SUPPORTED Handle = 0x803100D3 + FVE_E_EOW_NOT_SUPPORTED_IN_VERSION Handle = 0x803100D4 + FVE_E_ADBACKUP_NOT_ENABLED Handle = 0x803100D5 + FVE_E_VOLUME_EXTEND_PREVENTS_EOW_DECRYPT Handle = 0x803100D6 + FVE_E_NOT_DE_VOLUME Handle = 0x803100D7 + FVE_E_PROTECTION_CANNOT_BE_DISABLED Handle = 0x803100D8 + FVE_E_OSV_KSR_NOT_ALLOWED Handle = 0x803100D9 + FWP_E_CALLOUT_NOT_FOUND Handle = 0x80320001 + FWP_E_CONDITION_NOT_FOUND Handle = 0x80320002 + FWP_E_FILTER_NOT_FOUND Handle = 0x80320003 + FWP_E_LAYER_NOT_FOUND Handle = 0x80320004 + FWP_E_PROVIDER_NOT_FOUND Handle = 0x80320005 + FWP_E_PROVIDER_CONTEXT_NOT_FOUND Handle = 0x80320006 + FWP_E_SUBLAYER_NOT_FOUND Handle = 0x80320007 + FWP_E_NOT_FOUND Handle = 0x80320008 + FWP_E_ALREADY_EXISTS Handle = 0x80320009 + FWP_E_IN_USE Handle = 0x8032000A + FWP_E_DYNAMIC_SESSION_IN_PROGRESS Handle = 0x8032000B + FWP_E_WRONG_SESSION Handle = 0x8032000C + FWP_E_NO_TXN_IN_PROGRESS Handle = 0x8032000D + FWP_E_TXN_IN_PROGRESS Handle = 0x8032000E + FWP_E_TXN_ABORTED Handle = 0x8032000F + FWP_E_SESSION_ABORTED Handle = 0x80320010 + FWP_E_INCOMPATIBLE_TXN Handle = 0x80320011 + FWP_E_TIMEOUT Handle = 0x80320012 + FWP_E_NET_EVENTS_DISABLED Handle = 0x80320013 + FWP_E_INCOMPATIBLE_LAYER Handle = 0x80320014 + FWP_E_KM_CLIENTS_ONLY Handle = 0x80320015 + FWP_E_LIFETIME_MISMATCH Handle = 0x80320016 + FWP_E_BUILTIN_OBJECT Handle = 0x80320017 + FWP_E_TOO_MANY_CALLOUTS Handle = 0x80320018 + FWP_E_NOTIFICATION_DROPPED Handle = 0x80320019 + FWP_E_TRAFFIC_MISMATCH Handle = 0x8032001A + FWP_E_INCOMPATIBLE_SA_STATE Handle = 0x8032001B + FWP_E_NULL_POINTER Handle = 0x8032001C + FWP_E_INVALID_ENUMERATOR Handle = 0x8032001D + FWP_E_INVALID_FLAGS Handle = 0x8032001E + FWP_E_INVALID_NET_MASK Handle = 0x8032001F + FWP_E_INVALID_RANGE Handle = 0x80320020 + FWP_E_INVALID_INTERVAL Handle = 0x80320021 + FWP_E_ZERO_LENGTH_ARRAY Handle = 0x80320022 + FWP_E_NULL_DISPLAY_NAME Handle = 0x80320023 + FWP_E_INVALID_ACTION_TYPE Handle = 0x80320024 + FWP_E_INVALID_WEIGHT Handle = 0x80320025 + FWP_E_MATCH_TYPE_MISMATCH Handle = 0x80320026 + FWP_E_TYPE_MISMATCH Handle = 0x80320027 + FWP_E_OUT_OF_BOUNDS Handle = 0x80320028 + FWP_E_RESERVED Handle = 0x80320029 + FWP_E_DUPLICATE_CONDITION Handle = 0x8032002A + FWP_E_DUPLICATE_KEYMOD Handle = 0x8032002B + FWP_E_ACTION_INCOMPATIBLE_WITH_LAYER Handle = 0x8032002C + FWP_E_ACTION_INCOMPATIBLE_WITH_SUBLAYER Handle = 0x8032002D + FWP_E_CONTEXT_INCOMPATIBLE_WITH_LAYER Handle = 0x8032002E + FWP_E_CONTEXT_INCOMPATIBLE_WITH_CALLOUT Handle = 0x8032002F + FWP_E_INCOMPATIBLE_AUTH_METHOD Handle = 0x80320030 + FWP_E_INCOMPATIBLE_DH_GROUP Handle = 0x80320031 + FWP_E_EM_NOT_SUPPORTED Handle = 0x80320032 + FWP_E_NEVER_MATCH Handle = 0x80320033 + FWP_E_PROVIDER_CONTEXT_MISMATCH Handle = 0x80320034 + FWP_E_INVALID_PARAMETER Handle = 0x80320035 + FWP_E_TOO_MANY_SUBLAYERS Handle = 0x80320036 + FWP_E_CALLOUT_NOTIFICATION_FAILED Handle = 0x80320037 + FWP_E_INVALID_AUTH_TRANSFORM Handle = 0x80320038 + FWP_E_INVALID_CIPHER_TRANSFORM Handle = 0x80320039 + FWP_E_INCOMPATIBLE_CIPHER_TRANSFORM Handle = 0x8032003A + FWP_E_INVALID_TRANSFORM_COMBINATION Handle = 0x8032003B + FWP_E_DUPLICATE_AUTH_METHOD Handle = 0x8032003C + FWP_E_INVALID_TUNNEL_ENDPOINT Handle = 0x8032003D + FWP_E_L2_DRIVER_NOT_READY Handle = 0x8032003E + FWP_E_KEY_DICTATOR_ALREADY_REGISTERED Handle = 0x8032003F + FWP_E_KEY_DICTATION_INVALID_KEYING_MATERIAL Handle = 0x80320040 + FWP_E_CONNECTIONS_DISABLED Handle = 0x80320041 + FWP_E_INVALID_DNS_NAME Handle = 0x80320042 + FWP_E_STILL_ON Handle = 0x80320043 + FWP_E_IKEEXT_NOT_RUNNING Handle = 0x80320044 + FWP_E_DROP_NOICMP Handle = 0x80320104 + WS_S_ASYNC Handle = 0x003D0000 + WS_S_END Handle = 0x003D0001 + WS_E_INVALID_FORMAT Handle = 0x803D0000 + WS_E_OBJECT_FAULTED Handle = 0x803D0001 + WS_E_NUMERIC_OVERFLOW Handle = 0x803D0002 + WS_E_INVALID_OPERATION Handle = 0x803D0003 + WS_E_OPERATION_ABORTED Handle = 0x803D0004 + WS_E_ENDPOINT_ACCESS_DENIED Handle = 0x803D0005 + WS_E_OPERATION_TIMED_OUT Handle = 0x803D0006 + WS_E_OPERATION_ABANDONED Handle = 0x803D0007 + WS_E_QUOTA_EXCEEDED Handle = 0x803D0008 + WS_E_NO_TRANSLATION_AVAILABLE Handle = 0x803D0009 + WS_E_SECURITY_VERIFICATION_FAILURE Handle = 0x803D000A + WS_E_ADDRESS_IN_USE Handle = 0x803D000B + WS_E_ADDRESS_NOT_AVAILABLE Handle = 0x803D000C + WS_E_ENDPOINT_NOT_FOUND Handle = 0x803D000D + WS_E_ENDPOINT_NOT_AVAILABLE Handle = 0x803D000E + WS_E_ENDPOINT_FAILURE Handle = 0x803D000F + WS_E_ENDPOINT_UNREACHABLE Handle = 0x803D0010 + WS_E_ENDPOINT_ACTION_NOT_SUPPORTED Handle = 0x803D0011 + WS_E_ENDPOINT_TOO_BUSY Handle = 0x803D0012 + WS_E_ENDPOINT_FAULT_RECEIVED Handle = 0x803D0013 + WS_E_ENDPOINT_DISCONNECTED Handle = 0x803D0014 + WS_E_PROXY_FAILURE Handle = 0x803D0015 + WS_E_PROXY_ACCESS_DENIED Handle = 0x803D0016 + WS_E_NOT_SUPPORTED Handle = 0x803D0017 + WS_E_PROXY_REQUIRES_BASIC_AUTH Handle = 0x803D0018 + WS_E_PROXY_REQUIRES_DIGEST_AUTH Handle = 0x803D0019 + WS_E_PROXY_REQUIRES_NTLM_AUTH Handle = 0x803D001A + WS_E_PROXY_REQUIRES_NEGOTIATE_AUTH Handle = 0x803D001B + WS_E_SERVER_REQUIRES_BASIC_AUTH Handle = 0x803D001C + WS_E_SERVER_REQUIRES_DIGEST_AUTH Handle = 0x803D001D + WS_E_SERVER_REQUIRES_NTLM_AUTH Handle = 0x803D001E + WS_E_SERVER_REQUIRES_NEGOTIATE_AUTH Handle = 0x803D001F + WS_E_INVALID_ENDPOINT_URL Handle = 0x803D0020 + WS_E_OTHER Handle = 0x803D0021 + WS_E_SECURITY_TOKEN_EXPIRED Handle = 0x803D0022 + WS_E_SECURITY_SYSTEM_FAILURE Handle = 0x803D0023 + ERROR_NDIS_INTERFACE_CLOSING syscall.Errno = 0x80340002 + ERROR_NDIS_BAD_VERSION syscall.Errno = 0x80340004 + ERROR_NDIS_BAD_CHARACTERISTICS syscall.Errno = 0x80340005 + ERROR_NDIS_ADAPTER_NOT_FOUND syscall.Errno = 0x80340006 + ERROR_NDIS_OPEN_FAILED syscall.Errno = 0x80340007 + ERROR_NDIS_DEVICE_FAILED syscall.Errno = 0x80340008 + ERROR_NDIS_MULTICAST_FULL syscall.Errno = 0x80340009 + ERROR_NDIS_MULTICAST_EXISTS syscall.Errno = 0x8034000A + ERROR_NDIS_MULTICAST_NOT_FOUND syscall.Errno = 0x8034000B + ERROR_NDIS_REQUEST_ABORTED syscall.Errno = 0x8034000C + ERROR_NDIS_RESET_IN_PROGRESS syscall.Errno = 0x8034000D + ERROR_NDIS_NOT_SUPPORTED syscall.Errno = 0x803400BB + ERROR_NDIS_INVALID_PACKET syscall.Errno = 0x8034000F + ERROR_NDIS_ADAPTER_NOT_READY syscall.Errno = 0x80340011 + ERROR_NDIS_INVALID_LENGTH syscall.Errno = 0x80340014 + ERROR_NDIS_INVALID_DATA syscall.Errno = 0x80340015 + ERROR_NDIS_BUFFER_TOO_SHORT syscall.Errno = 0x80340016 + ERROR_NDIS_INVALID_OID syscall.Errno = 0x80340017 + ERROR_NDIS_ADAPTER_REMOVED syscall.Errno = 0x80340018 + ERROR_NDIS_UNSUPPORTED_MEDIA syscall.Errno = 0x80340019 + ERROR_NDIS_GROUP_ADDRESS_IN_USE syscall.Errno = 0x8034001A + ERROR_NDIS_FILE_NOT_FOUND syscall.Errno = 0x8034001B + ERROR_NDIS_ERROR_READING_FILE syscall.Errno = 0x8034001C + ERROR_NDIS_ALREADY_MAPPED syscall.Errno = 0x8034001D + ERROR_NDIS_RESOURCE_CONFLICT syscall.Errno = 0x8034001E + ERROR_NDIS_MEDIA_DISCONNECTED syscall.Errno = 0x8034001F + ERROR_NDIS_INVALID_ADDRESS syscall.Errno = 0x80340022 + ERROR_NDIS_INVALID_DEVICE_REQUEST syscall.Errno = 0x80340010 + ERROR_NDIS_PAUSED syscall.Errno = 0x8034002A + ERROR_NDIS_INTERFACE_NOT_FOUND syscall.Errno = 0x8034002B + ERROR_NDIS_UNSUPPORTED_REVISION syscall.Errno = 0x8034002C + ERROR_NDIS_INVALID_PORT syscall.Errno = 0x8034002D + ERROR_NDIS_INVALID_PORT_STATE syscall.Errno = 0x8034002E + ERROR_NDIS_LOW_POWER_STATE syscall.Errno = 0x8034002F + ERROR_NDIS_REINIT_REQUIRED syscall.Errno = 0x80340030 + ERROR_NDIS_NO_QUEUES syscall.Errno = 0x80340031 + ERROR_NDIS_DOT11_AUTO_CONFIG_ENABLED syscall.Errno = 0x80342000 + ERROR_NDIS_DOT11_MEDIA_IN_USE syscall.Errno = 0x80342001 + ERROR_NDIS_DOT11_POWER_STATE_INVALID syscall.Errno = 0x80342002 + ERROR_NDIS_PM_WOL_PATTERN_LIST_FULL syscall.Errno = 0x80342003 + ERROR_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL syscall.Errno = 0x80342004 + ERROR_NDIS_DOT11_AP_CHANNEL_CURRENTLY_NOT_AVAILABLE syscall.Errno = 0x80342005 + ERROR_NDIS_DOT11_AP_BAND_CURRENTLY_NOT_AVAILABLE syscall.Errno = 0x80342006 + ERROR_NDIS_DOT11_AP_CHANNEL_NOT_ALLOWED syscall.Errno = 0x80342007 + ERROR_NDIS_DOT11_AP_BAND_NOT_ALLOWED syscall.Errno = 0x80342008 + ERROR_NDIS_INDICATION_REQUIRED syscall.Errno = 0x00340001 + ERROR_NDIS_OFFLOAD_POLICY syscall.Errno = 0xC034100F + ERROR_NDIS_OFFLOAD_CONNECTION_REJECTED syscall.Errno = 0xC0341012 + ERROR_NDIS_OFFLOAD_PATH_REJECTED syscall.Errno = 0xC0341013 + ERROR_HV_INVALID_HYPERCALL_CODE syscall.Errno = 0xC0350002 + ERROR_HV_INVALID_HYPERCALL_INPUT syscall.Errno = 0xC0350003 + ERROR_HV_INVALID_ALIGNMENT syscall.Errno = 0xC0350004 + ERROR_HV_INVALID_PARAMETER syscall.Errno = 0xC0350005 + ERROR_HV_ACCESS_DENIED syscall.Errno = 0xC0350006 + ERROR_HV_INVALID_PARTITION_STATE syscall.Errno = 0xC0350007 + ERROR_HV_OPERATION_DENIED syscall.Errno = 0xC0350008 + ERROR_HV_UNKNOWN_PROPERTY syscall.Errno = 0xC0350009 + ERROR_HV_PROPERTY_VALUE_OUT_OF_RANGE syscall.Errno = 0xC035000A + ERROR_HV_INSUFFICIENT_MEMORY syscall.Errno = 0xC035000B + ERROR_HV_PARTITION_TOO_DEEP syscall.Errno = 0xC035000C + ERROR_HV_INVALID_PARTITION_ID syscall.Errno = 0xC035000D + ERROR_HV_INVALID_VP_INDEX syscall.Errno = 0xC035000E + ERROR_HV_INVALID_PORT_ID syscall.Errno = 0xC0350011 + ERROR_HV_INVALID_CONNECTION_ID syscall.Errno = 0xC0350012 + ERROR_HV_INSUFFICIENT_BUFFERS syscall.Errno = 0xC0350013 + ERROR_HV_NOT_ACKNOWLEDGED syscall.Errno = 0xC0350014 + ERROR_HV_INVALID_VP_STATE syscall.Errno = 0xC0350015 + ERROR_HV_ACKNOWLEDGED syscall.Errno = 0xC0350016 + ERROR_HV_INVALID_SAVE_RESTORE_STATE syscall.Errno = 0xC0350017 + ERROR_HV_INVALID_SYNIC_STATE syscall.Errno = 0xC0350018 + ERROR_HV_OBJECT_IN_USE syscall.Errno = 0xC0350019 + ERROR_HV_INVALID_PROXIMITY_DOMAIN_INFO syscall.Errno = 0xC035001A + ERROR_HV_NO_DATA syscall.Errno = 0xC035001B + ERROR_HV_INACTIVE syscall.Errno = 0xC035001C + ERROR_HV_NO_RESOURCES syscall.Errno = 0xC035001D + ERROR_HV_FEATURE_UNAVAILABLE syscall.Errno = 0xC035001E + ERROR_HV_INSUFFICIENT_BUFFER syscall.Errno = 0xC0350033 + ERROR_HV_INSUFFICIENT_DEVICE_DOMAINS syscall.Errno = 0xC0350038 + ERROR_HV_CPUID_FEATURE_VALIDATION syscall.Errno = 0xC035003C + ERROR_HV_CPUID_XSAVE_FEATURE_VALIDATION syscall.Errno = 0xC035003D + ERROR_HV_PROCESSOR_STARTUP_TIMEOUT syscall.Errno = 0xC035003E + ERROR_HV_SMX_ENABLED syscall.Errno = 0xC035003F + ERROR_HV_INVALID_LP_INDEX syscall.Errno = 0xC0350041 + ERROR_HV_INVALID_REGISTER_VALUE syscall.Errno = 0xC0350050 + ERROR_HV_INVALID_VTL_STATE syscall.Errno = 0xC0350051 + ERROR_HV_NX_NOT_DETECTED syscall.Errno = 0xC0350055 + ERROR_HV_INVALID_DEVICE_ID syscall.Errno = 0xC0350057 + ERROR_HV_INVALID_DEVICE_STATE syscall.Errno = 0xC0350058 + ERROR_HV_PENDING_PAGE_REQUESTS syscall.Errno = 0x00350059 + ERROR_HV_PAGE_REQUEST_INVALID syscall.Errno = 0xC0350060 + ERROR_HV_INVALID_CPU_GROUP_ID syscall.Errno = 0xC035006F + ERROR_HV_INVALID_CPU_GROUP_STATE syscall.Errno = 0xC0350070 + ERROR_HV_OPERATION_FAILED syscall.Errno = 0xC0350071 + ERROR_HV_NOT_ALLOWED_WITH_NESTED_VIRT_ACTIVE syscall.Errno = 0xC0350072 + ERROR_HV_INSUFFICIENT_ROOT_MEMORY syscall.Errno = 0xC0350073 + ERROR_HV_NOT_PRESENT syscall.Errno = 0xC0351000 + ERROR_VID_DUPLICATE_HANDLER syscall.Errno = 0xC0370001 + ERROR_VID_TOO_MANY_HANDLERS syscall.Errno = 0xC0370002 + ERROR_VID_QUEUE_FULL syscall.Errno = 0xC0370003 + ERROR_VID_HANDLER_NOT_PRESENT syscall.Errno = 0xC0370004 + ERROR_VID_INVALID_OBJECT_NAME syscall.Errno = 0xC0370005 + ERROR_VID_PARTITION_NAME_TOO_LONG syscall.Errno = 0xC0370006 + ERROR_VID_MESSAGE_QUEUE_NAME_TOO_LONG syscall.Errno = 0xC0370007 + ERROR_VID_PARTITION_ALREADY_EXISTS syscall.Errno = 0xC0370008 + ERROR_VID_PARTITION_DOES_NOT_EXIST syscall.Errno = 0xC0370009 + ERROR_VID_PARTITION_NAME_NOT_FOUND syscall.Errno = 0xC037000A + ERROR_VID_MESSAGE_QUEUE_ALREADY_EXISTS syscall.Errno = 0xC037000B + ERROR_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT syscall.Errno = 0xC037000C + ERROR_VID_MB_STILL_REFERENCED syscall.Errno = 0xC037000D + ERROR_VID_CHILD_GPA_PAGE_SET_CORRUPTED syscall.Errno = 0xC037000E + ERROR_VID_INVALID_NUMA_SETTINGS syscall.Errno = 0xC037000F + ERROR_VID_INVALID_NUMA_NODE_INDEX syscall.Errno = 0xC0370010 + ERROR_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED syscall.Errno = 0xC0370011 + ERROR_VID_INVALID_MEMORY_BLOCK_HANDLE syscall.Errno = 0xC0370012 + ERROR_VID_PAGE_RANGE_OVERFLOW syscall.Errno = 0xC0370013 + ERROR_VID_INVALID_MESSAGE_QUEUE_HANDLE syscall.Errno = 0xC0370014 + ERROR_VID_INVALID_GPA_RANGE_HANDLE syscall.Errno = 0xC0370015 + ERROR_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE syscall.Errno = 0xC0370016 + ERROR_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED syscall.Errno = 0xC0370017 + ERROR_VID_INVALID_PPM_HANDLE syscall.Errno = 0xC0370018 + ERROR_VID_MBPS_ARE_LOCKED syscall.Errno = 0xC0370019 + ERROR_VID_MESSAGE_QUEUE_CLOSED syscall.Errno = 0xC037001A + ERROR_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED syscall.Errno = 0xC037001B + ERROR_VID_STOP_PENDING syscall.Errno = 0xC037001C + ERROR_VID_INVALID_PROCESSOR_STATE syscall.Errno = 0xC037001D + ERROR_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT syscall.Errno = 0xC037001E + ERROR_VID_KM_INTERFACE_ALREADY_INITIALIZED syscall.Errno = 0xC037001F + ERROR_VID_MB_PROPERTY_ALREADY_SET_RESET syscall.Errno = 0xC0370020 + ERROR_VID_MMIO_RANGE_DESTROYED syscall.Errno = 0xC0370021 + ERROR_VID_INVALID_CHILD_GPA_PAGE_SET syscall.Errno = 0xC0370022 + ERROR_VID_RESERVE_PAGE_SET_IS_BEING_USED syscall.Errno = 0xC0370023 + ERROR_VID_RESERVE_PAGE_SET_TOO_SMALL syscall.Errno = 0xC0370024 + ERROR_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE syscall.Errno = 0xC0370025 + ERROR_VID_MBP_COUNT_EXCEEDED_LIMIT syscall.Errno = 0xC0370026 + ERROR_VID_SAVED_STATE_CORRUPT syscall.Errno = 0xC0370027 + ERROR_VID_SAVED_STATE_UNRECOGNIZED_ITEM syscall.Errno = 0xC0370028 + ERROR_VID_SAVED_STATE_INCOMPATIBLE syscall.Errno = 0xC0370029 + ERROR_VID_VTL_ACCESS_DENIED syscall.Errno = 0xC037002A + ERROR_VMCOMPUTE_TERMINATED_DURING_START syscall.Errno = 0xC0370100 + ERROR_VMCOMPUTE_IMAGE_MISMATCH syscall.Errno = 0xC0370101 + ERROR_VMCOMPUTE_HYPERV_NOT_INSTALLED syscall.Errno = 0xC0370102 + ERROR_VMCOMPUTE_OPERATION_PENDING syscall.Errno = 0xC0370103 + ERROR_VMCOMPUTE_TOO_MANY_NOTIFICATIONS syscall.Errno = 0xC0370104 + ERROR_VMCOMPUTE_INVALID_STATE syscall.Errno = 0xC0370105 + ERROR_VMCOMPUTE_UNEXPECTED_EXIT syscall.Errno = 0xC0370106 + ERROR_VMCOMPUTE_TERMINATED syscall.Errno = 0xC0370107 + ERROR_VMCOMPUTE_CONNECT_FAILED syscall.Errno = 0xC0370108 + ERROR_VMCOMPUTE_TIMEOUT syscall.Errno = 0xC0370109 + ERROR_VMCOMPUTE_CONNECTION_CLOSED syscall.Errno = 0xC037010A + ERROR_VMCOMPUTE_UNKNOWN_MESSAGE syscall.Errno = 0xC037010B + ERROR_VMCOMPUTE_UNSUPPORTED_PROTOCOL_VERSION syscall.Errno = 0xC037010C + ERROR_VMCOMPUTE_INVALID_JSON syscall.Errno = 0xC037010D + ERROR_VMCOMPUTE_SYSTEM_NOT_FOUND syscall.Errno = 0xC037010E + ERROR_VMCOMPUTE_SYSTEM_ALREADY_EXISTS syscall.Errno = 0xC037010F + ERROR_VMCOMPUTE_SYSTEM_ALREADY_STOPPED syscall.Errno = 0xC0370110 + ERROR_VMCOMPUTE_PROTOCOL_ERROR syscall.Errno = 0xC0370111 + ERROR_VMCOMPUTE_INVALID_LAYER syscall.Errno = 0xC0370112 + ERROR_VMCOMPUTE_WINDOWS_INSIDER_REQUIRED syscall.Errno = 0xC0370113 + HCS_E_TERMINATED_DURING_START Handle = 0x80370100 + HCS_E_IMAGE_MISMATCH Handle = 0x80370101 + HCS_E_HYPERV_NOT_INSTALLED Handle = 0x80370102 + HCS_E_INVALID_STATE Handle = 0x80370105 + HCS_E_UNEXPECTED_EXIT Handle = 0x80370106 + HCS_E_TERMINATED Handle = 0x80370107 + HCS_E_CONNECT_FAILED Handle = 0x80370108 + HCS_E_CONNECTION_TIMEOUT Handle = 0x80370109 + HCS_E_CONNECTION_CLOSED Handle = 0x8037010A + HCS_E_UNKNOWN_MESSAGE Handle = 0x8037010B + HCS_E_UNSUPPORTED_PROTOCOL_VERSION Handle = 0x8037010C + HCS_E_INVALID_JSON Handle = 0x8037010D + HCS_E_SYSTEM_NOT_FOUND Handle = 0x8037010E + HCS_E_SYSTEM_ALREADY_EXISTS Handle = 0x8037010F + HCS_E_SYSTEM_ALREADY_STOPPED Handle = 0x80370110 + HCS_E_PROTOCOL_ERROR Handle = 0x80370111 + HCS_E_INVALID_LAYER Handle = 0x80370112 + HCS_E_WINDOWS_INSIDER_REQUIRED Handle = 0x80370113 + HCS_E_SERVICE_NOT_AVAILABLE Handle = 0x80370114 + HCS_E_OPERATION_NOT_STARTED Handle = 0x80370115 + HCS_E_OPERATION_ALREADY_STARTED Handle = 0x80370116 + HCS_E_OPERATION_PENDING Handle = 0x80370117 + HCS_E_OPERATION_TIMEOUT Handle = 0x80370118 + HCS_E_OPERATION_SYSTEM_CALLBACK_ALREADY_SET Handle = 0x80370119 + HCS_E_OPERATION_RESULT_ALLOCATION_FAILED Handle = 0x8037011A + HCS_E_ACCESS_DENIED Handle = 0x8037011B + HCS_E_GUEST_CRITICAL_ERROR Handle = 0x8037011C + ERROR_VNET_VIRTUAL_SWITCH_NAME_NOT_FOUND syscall.Errno = 0xC0370200 + ERROR_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED syscall.Errno = 0x80370001 + WHV_E_UNKNOWN_CAPABILITY Handle = 0x80370300 + WHV_E_INSUFFICIENT_BUFFER Handle = 0x80370301 + WHV_E_UNKNOWN_PROPERTY Handle = 0x80370302 + WHV_E_UNSUPPORTED_HYPERVISOR_CONFIG Handle = 0x80370303 + WHV_E_INVALID_PARTITION_CONFIG Handle = 0x80370304 + WHV_E_GPA_RANGE_NOT_FOUND Handle = 0x80370305 + WHV_E_VP_ALREADY_EXISTS Handle = 0x80370306 + WHV_E_VP_DOES_NOT_EXIST Handle = 0x80370307 + WHV_E_INVALID_VP_STATE Handle = 0x80370308 + WHV_E_INVALID_VP_REGISTER_NAME Handle = 0x80370309 + ERROR_VSMB_SAVED_STATE_FILE_NOT_FOUND syscall.Errno = 0xC0370400 + ERROR_VSMB_SAVED_STATE_CORRUPT syscall.Errno = 0xC0370401 + ERROR_VOLMGR_INCOMPLETE_REGENERATION syscall.Errno = 0x80380001 + ERROR_VOLMGR_INCOMPLETE_DISK_MIGRATION syscall.Errno = 0x80380002 + ERROR_VOLMGR_DATABASE_FULL syscall.Errno = 0xC0380001 + ERROR_VOLMGR_DISK_CONFIGURATION_CORRUPTED syscall.Errno = 0xC0380002 + ERROR_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC syscall.Errno = 0xC0380003 + ERROR_VOLMGR_PACK_CONFIG_UPDATE_FAILED syscall.Errno = 0xC0380004 + ERROR_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME syscall.Errno = 0xC0380005 + ERROR_VOLMGR_DISK_DUPLICATE syscall.Errno = 0xC0380006 + ERROR_VOLMGR_DISK_DYNAMIC syscall.Errno = 0xC0380007 + ERROR_VOLMGR_DISK_ID_INVALID syscall.Errno = 0xC0380008 + ERROR_VOLMGR_DISK_INVALID syscall.Errno = 0xC0380009 + ERROR_VOLMGR_DISK_LAST_VOTER syscall.Errno = 0xC038000A + ERROR_VOLMGR_DISK_LAYOUT_INVALID syscall.Errno = 0xC038000B + ERROR_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS syscall.Errno = 0xC038000C + ERROR_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED syscall.Errno = 0xC038000D + ERROR_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL syscall.Errno = 0xC038000E + ERROR_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS syscall.Errno = 0xC038000F + ERROR_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS syscall.Errno = 0xC0380010 + ERROR_VOLMGR_DISK_MISSING syscall.Errno = 0xC0380011 + ERROR_VOLMGR_DISK_NOT_EMPTY syscall.Errno = 0xC0380012 + ERROR_VOLMGR_DISK_NOT_ENOUGH_SPACE syscall.Errno = 0xC0380013 + ERROR_VOLMGR_DISK_REVECTORING_FAILED syscall.Errno = 0xC0380014 + ERROR_VOLMGR_DISK_SECTOR_SIZE_INVALID syscall.Errno = 0xC0380015 + ERROR_VOLMGR_DISK_SET_NOT_CONTAINED syscall.Errno = 0xC0380016 + ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS syscall.Errno = 0xC0380017 + ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES syscall.Errno = 0xC0380018 + ERROR_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED syscall.Errno = 0xC0380019 + ERROR_VOLMGR_EXTENT_ALREADY_USED syscall.Errno = 0xC038001A + ERROR_VOLMGR_EXTENT_NOT_CONTIGUOUS syscall.Errno = 0xC038001B + ERROR_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION syscall.Errno = 0xC038001C + ERROR_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED syscall.Errno = 0xC038001D + ERROR_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION syscall.Errno = 0xC038001E + ERROR_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH syscall.Errno = 0xC038001F + ERROR_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED syscall.Errno = 0xC0380020 + ERROR_VOLMGR_INTERLEAVE_LENGTH_INVALID syscall.Errno = 0xC0380021 + ERROR_VOLMGR_MAXIMUM_REGISTERED_USERS syscall.Errno = 0xC0380022 + ERROR_VOLMGR_MEMBER_IN_SYNC syscall.Errno = 0xC0380023 + ERROR_VOLMGR_MEMBER_INDEX_DUPLICATE syscall.Errno = 0xC0380024 + ERROR_VOLMGR_MEMBER_INDEX_INVALID syscall.Errno = 0xC0380025 + ERROR_VOLMGR_MEMBER_MISSING syscall.Errno = 0xC0380026 + ERROR_VOLMGR_MEMBER_NOT_DETACHED syscall.Errno = 0xC0380027 + ERROR_VOLMGR_MEMBER_REGENERATING syscall.Errno = 0xC0380028 + ERROR_VOLMGR_ALL_DISKS_FAILED syscall.Errno = 0xC0380029 + ERROR_VOLMGR_NO_REGISTERED_USERS syscall.Errno = 0xC038002A + ERROR_VOLMGR_NO_SUCH_USER syscall.Errno = 0xC038002B + ERROR_VOLMGR_NOTIFICATION_RESET syscall.Errno = 0xC038002C + ERROR_VOLMGR_NUMBER_OF_MEMBERS_INVALID syscall.Errno = 0xC038002D + ERROR_VOLMGR_NUMBER_OF_PLEXES_INVALID syscall.Errno = 0xC038002E + ERROR_VOLMGR_PACK_DUPLICATE syscall.Errno = 0xC038002F + ERROR_VOLMGR_PACK_ID_INVALID syscall.Errno = 0xC0380030 + ERROR_VOLMGR_PACK_INVALID syscall.Errno = 0xC0380031 + ERROR_VOLMGR_PACK_NAME_INVALID syscall.Errno = 0xC0380032 + ERROR_VOLMGR_PACK_OFFLINE syscall.Errno = 0xC0380033 + ERROR_VOLMGR_PACK_HAS_QUORUM syscall.Errno = 0xC0380034 + ERROR_VOLMGR_PACK_WITHOUT_QUORUM syscall.Errno = 0xC0380035 + ERROR_VOLMGR_PARTITION_STYLE_INVALID syscall.Errno = 0xC0380036 + ERROR_VOLMGR_PARTITION_UPDATE_FAILED syscall.Errno = 0xC0380037 + ERROR_VOLMGR_PLEX_IN_SYNC syscall.Errno = 0xC0380038 + ERROR_VOLMGR_PLEX_INDEX_DUPLICATE syscall.Errno = 0xC0380039 + ERROR_VOLMGR_PLEX_INDEX_INVALID syscall.Errno = 0xC038003A + ERROR_VOLMGR_PLEX_LAST_ACTIVE syscall.Errno = 0xC038003B + ERROR_VOLMGR_PLEX_MISSING syscall.Errno = 0xC038003C + ERROR_VOLMGR_PLEX_REGENERATING syscall.Errno = 0xC038003D + ERROR_VOLMGR_PLEX_TYPE_INVALID syscall.Errno = 0xC038003E + ERROR_VOLMGR_PLEX_NOT_RAID5 syscall.Errno = 0xC038003F + ERROR_VOLMGR_PLEX_NOT_SIMPLE syscall.Errno = 0xC0380040 + ERROR_VOLMGR_STRUCTURE_SIZE_INVALID syscall.Errno = 0xC0380041 + ERROR_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS syscall.Errno = 0xC0380042 + ERROR_VOLMGR_TRANSACTION_IN_PROGRESS syscall.Errno = 0xC0380043 + ERROR_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE syscall.Errno = 0xC0380044 + ERROR_VOLMGR_VOLUME_CONTAINS_MISSING_DISK syscall.Errno = 0xC0380045 + ERROR_VOLMGR_VOLUME_ID_INVALID syscall.Errno = 0xC0380046 + ERROR_VOLMGR_VOLUME_LENGTH_INVALID syscall.Errno = 0xC0380047 + ERROR_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE syscall.Errno = 0xC0380048 + ERROR_VOLMGR_VOLUME_NOT_MIRRORED syscall.Errno = 0xC0380049 + ERROR_VOLMGR_VOLUME_NOT_RETAINED syscall.Errno = 0xC038004A + ERROR_VOLMGR_VOLUME_OFFLINE syscall.Errno = 0xC038004B + ERROR_VOLMGR_VOLUME_RETAINED syscall.Errno = 0xC038004C + ERROR_VOLMGR_NUMBER_OF_EXTENTS_INVALID syscall.Errno = 0xC038004D + ERROR_VOLMGR_DIFFERENT_SECTOR_SIZE syscall.Errno = 0xC038004E + ERROR_VOLMGR_BAD_BOOT_DISK syscall.Errno = 0xC038004F + ERROR_VOLMGR_PACK_CONFIG_OFFLINE syscall.Errno = 0xC0380050 + ERROR_VOLMGR_PACK_CONFIG_ONLINE syscall.Errno = 0xC0380051 + ERROR_VOLMGR_NOT_PRIMARY_PACK syscall.Errno = 0xC0380052 + ERROR_VOLMGR_PACK_LOG_UPDATE_FAILED syscall.Errno = 0xC0380053 + ERROR_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID syscall.Errno = 0xC0380054 + ERROR_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID syscall.Errno = 0xC0380055 + ERROR_VOLMGR_VOLUME_MIRRORED syscall.Errno = 0xC0380056 + ERROR_VOLMGR_PLEX_NOT_SIMPLE_SPANNED syscall.Errno = 0xC0380057 + ERROR_VOLMGR_NO_VALID_LOG_COPIES syscall.Errno = 0xC0380058 + ERROR_VOLMGR_PRIMARY_PACK_PRESENT syscall.Errno = 0xC0380059 + ERROR_VOLMGR_NUMBER_OF_DISKS_INVALID syscall.Errno = 0xC038005A + ERROR_VOLMGR_MIRROR_NOT_SUPPORTED syscall.Errno = 0xC038005B + ERROR_VOLMGR_RAID5_NOT_SUPPORTED syscall.Errno = 0xC038005C + ERROR_BCD_NOT_ALL_ENTRIES_IMPORTED syscall.Errno = 0x80390001 + ERROR_BCD_TOO_MANY_ELEMENTS syscall.Errno = 0xC0390002 + ERROR_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED syscall.Errno = 0x80390003 + ERROR_VHD_DRIVE_FOOTER_MISSING syscall.Errno = 0xC03A0001 + ERROR_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH syscall.Errno = 0xC03A0002 + ERROR_VHD_DRIVE_FOOTER_CORRUPT syscall.Errno = 0xC03A0003 + ERROR_VHD_FORMAT_UNKNOWN syscall.Errno = 0xC03A0004 + ERROR_VHD_FORMAT_UNSUPPORTED_VERSION syscall.Errno = 0xC03A0005 + ERROR_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH syscall.Errno = 0xC03A0006 + ERROR_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION syscall.Errno = 0xC03A0007 + ERROR_VHD_SPARSE_HEADER_CORRUPT syscall.Errno = 0xC03A0008 + ERROR_VHD_BLOCK_ALLOCATION_FAILURE syscall.Errno = 0xC03A0009 + ERROR_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT syscall.Errno = 0xC03A000A + ERROR_VHD_INVALID_BLOCK_SIZE syscall.Errno = 0xC03A000B + ERROR_VHD_BITMAP_MISMATCH syscall.Errno = 0xC03A000C + ERROR_VHD_PARENT_VHD_NOT_FOUND syscall.Errno = 0xC03A000D + ERROR_VHD_CHILD_PARENT_ID_MISMATCH syscall.Errno = 0xC03A000E + ERROR_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH syscall.Errno = 0xC03A000F + ERROR_VHD_METADATA_READ_FAILURE syscall.Errno = 0xC03A0010 + ERROR_VHD_METADATA_WRITE_FAILURE syscall.Errno = 0xC03A0011 + ERROR_VHD_INVALID_SIZE syscall.Errno = 0xC03A0012 + ERROR_VHD_INVALID_FILE_SIZE syscall.Errno = 0xC03A0013 + ERROR_VIRTDISK_PROVIDER_NOT_FOUND syscall.Errno = 0xC03A0014 + ERROR_VIRTDISK_NOT_VIRTUAL_DISK syscall.Errno = 0xC03A0015 + ERROR_VHD_PARENT_VHD_ACCESS_DENIED syscall.Errno = 0xC03A0016 + ERROR_VHD_CHILD_PARENT_SIZE_MISMATCH syscall.Errno = 0xC03A0017 + ERROR_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED syscall.Errno = 0xC03A0018 + ERROR_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT syscall.Errno = 0xC03A0019 + ERROR_VIRTUAL_DISK_LIMITATION syscall.Errno = 0xC03A001A + ERROR_VHD_INVALID_TYPE syscall.Errno = 0xC03A001B + ERROR_VHD_INVALID_STATE syscall.Errno = 0xC03A001C + ERROR_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE syscall.Errno = 0xC03A001D + ERROR_VIRTDISK_DISK_ALREADY_OWNED syscall.Errno = 0xC03A001E + ERROR_VIRTDISK_DISK_ONLINE_AND_WRITABLE syscall.Errno = 0xC03A001F + ERROR_CTLOG_TRACKING_NOT_INITIALIZED syscall.Errno = 0xC03A0020 + ERROR_CTLOG_LOGFILE_SIZE_EXCEEDED_MAXSIZE syscall.Errno = 0xC03A0021 + ERROR_CTLOG_VHD_CHANGED_OFFLINE syscall.Errno = 0xC03A0022 + ERROR_CTLOG_INVALID_TRACKING_STATE syscall.Errno = 0xC03A0023 + ERROR_CTLOG_INCONSISTENT_TRACKING_FILE syscall.Errno = 0xC03A0024 + ERROR_VHD_RESIZE_WOULD_TRUNCATE_DATA syscall.Errno = 0xC03A0025 + ERROR_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE syscall.Errno = 0xC03A0026 + ERROR_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE syscall.Errno = 0xC03A0027 + ERROR_VHD_METADATA_FULL syscall.Errno = 0xC03A0028 + ERROR_VHD_INVALID_CHANGE_TRACKING_ID syscall.Errno = 0xC03A0029 + ERROR_VHD_CHANGE_TRACKING_DISABLED syscall.Errno = 0xC03A002A + ERROR_VHD_MISSING_CHANGE_TRACKING_INFORMATION syscall.Errno = 0xC03A0030 + ERROR_QUERY_STORAGE_ERROR syscall.Errno = 0x803A0001 + HCN_E_NETWORK_NOT_FOUND Handle = 0x803B0001 + HCN_E_ENDPOINT_NOT_FOUND Handle = 0x803B0002 + HCN_E_LAYER_NOT_FOUND Handle = 0x803B0003 + HCN_E_SWITCH_NOT_FOUND Handle = 0x803B0004 + HCN_E_SUBNET_NOT_FOUND Handle = 0x803B0005 + HCN_E_ADAPTER_NOT_FOUND Handle = 0x803B0006 + HCN_E_PORT_NOT_FOUND Handle = 0x803B0007 + HCN_E_POLICY_NOT_FOUND Handle = 0x803B0008 + HCN_E_VFP_PORTSETTING_NOT_FOUND Handle = 0x803B0009 + HCN_E_INVALID_NETWORK Handle = 0x803B000A + HCN_E_INVALID_NETWORK_TYPE Handle = 0x803B000B + HCN_E_INVALID_ENDPOINT Handle = 0x803B000C + HCN_E_INVALID_POLICY Handle = 0x803B000D + HCN_E_INVALID_POLICY_TYPE Handle = 0x803B000E + HCN_E_INVALID_REMOTE_ENDPOINT_OPERATION Handle = 0x803B000F + HCN_E_NETWORK_ALREADY_EXISTS Handle = 0x803B0010 + HCN_E_LAYER_ALREADY_EXISTS Handle = 0x803B0011 + HCN_E_POLICY_ALREADY_EXISTS Handle = 0x803B0012 + HCN_E_PORT_ALREADY_EXISTS Handle = 0x803B0013 + HCN_E_ENDPOINT_ALREADY_ATTACHED Handle = 0x803B0014 + HCN_E_REQUEST_UNSUPPORTED Handle = 0x803B0015 + HCN_E_MAPPING_NOT_SUPPORTED Handle = 0x803B0016 + HCN_E_DEGRADED_OPERATION Handle = 0x803B0017 + HCN_E_SHARED_SWITCH_MODIFICATION Handle = 0x803B0018 + HCN_E_GUID_CONVERSION_FAILURE Handle = 0x803B0019 + HCN_E_REGKEY_FAILURE Handle = 0x803B001A + HCN_E_INVALID_JSON Handle = 0x803B001B + HCN_E_INVALID_JSON_REFERENCE Handle = 0x803B001C + HCN_E_ENDPOINT_SHARING_DISABLED Handle = 0x803B001D + HCN_E_INVALID_IP Handle = 0x803B001E + HCN_E_SWITCH_EXTENSION_NOT_FOUND Handle = 0x803B001F + HCN_E_MANAGER_STOPPED Handle = 0x803B0020 + GCN_E_MODULE_NOT_FOUND Handle = 0x803B0021 + GCN_E_NO_REQUEST_HANDLERS Handle = 0x803B0022 + GCN_E_REQUEST_UNSUPPORTED Handle = 0x803B0023 + GCN_E_RUNTIMEKEYS_FAILED Handle = 0x803B0024 + GCN_E_NETADAPTER_TIMEOUT Handle = 0x803B0025 + GCN_E_NETADAPTER_NOT_FOUND Handle = 0x803B0026 + GCN_E_NETCOMPARTMENT_NOT_FOUND Handle = 0x803B0027 + GCN_E_NETINTERFACE_NOT_FOUND Handle = 0x803B0028 + GCN_E_DEFAULTNAMESPACE_EXISTS Handle = 0x803B0029 + SDIAG_E_CANCELLED syscall.Errno = 0x803C0100 + SDIAG_E_SCRIPT syscall.Errno = 0x803C0101 + SDIAG_E_POWERSHELL syscall.Errno = 0x803C0102 + SDIAG_E_MANAGEDHOST syscall.Errno = 0x803C0103 + SDIAG_E_NOVERIFIER syscall.Errno = 0x803C0104 + SDIAG_S_CANNOTRUN syscall.Errno = 0x003C0105 + SDIAG_E_DISABLED syscall.Errno = 0x803C0106 + SDIAG_E_TRUST syscall.Errno = 0x803C0107 + SDIAG_E_CANNOTRUN syscall.Errno = 0x803C0108 + SDIAG_E_VERSION syscall.Errno = 0x803C0109 + SDIAG_E_RESOURCE syscall.Errno = 0x803C010A + SDIAG_E_ROOTCAUSE syscall.Errno = 0x803C010B + WPN_E_CHANNEL_CLOSED Handle = 0x803E0100 + WPN_E_CHANNEL_REQUEST_NOT_COMPLETE Handle = 0x803E0101 + WPN_E_INVALID_APP Handle = 0x803E0102 + WPN_E_OUTSTANDING_CHANNEL_REQUEST Handle = 0x803E0103 + WPN_E_DUPLICATE_CHANNEL Handle = 0x803E0104 + WPN_E_PLATFORM_UNAVAILABLE Handle = 0x803E0105 + WPN_E_NOTIFICATION_POSTED Handle = 0x803E0106 + WPN_E_NOTIFICATION_HIDDEN Handle = 0x803E0107 + WPN_E_NOTIFICATION_NOT_POSTED Handle = 0x803E0108 + WPN_E_CLOUD_DISABLED Handle = 0x803E0109 + WPN_E_CLOUD_INCAPABLE Handle = 0x803E0110 + WPN_E_CLOUD_AUTH_UNAVAILABLE Handle = 0x803E011A + WPN_E_CLOUD_SERVICE_UNAVAILABLE Handle = 0x803E011B + WPN_E_FAILED_LOCK_SCREEN_UPDATE_INTIALIZATION Handle = 0x803E011C + WPN_E_NOTIFICATION_DISABLED Handle = 0x803E0111 + WPN_E_NOTIFICATION_INCAPABLE Handle = 0x803E0112 + WPN_E_INTERNET_INCAPABLE Handle = 0x803E0113 + WPN_E_NOTIFICATION_TYPE_DISABLED Handle = 0x803E0114 + WPN_E_NOTIFICATION_SIZE Handle = 0x803E0115 + WPN_E_TAG_SIZE Handle = 0x803E0116 + WPN_E_ACCESS_DENIED Handle = 0x803E0117 + WPN_E_DUPLICATE_REGISTRATION Handle = 0x803E0118 + WPN_E_PUSH_NOTIFICATION_INCAPABLE Handle = 0x803E0119 + WPN_E_DEV_ID_SIZE Handle = 0x803E0120 + WPN_E_TAG_ALPHANUMERIC Handle = 0x803E012A + WPN_E_INVALID_HTTP_STATUS_CODE Handle = 0x803E012B + WPN_E_OUT_OF_SESSION Handle = 0x803E0200 + WPN_E_POWER_SAVE Handle = 0x803E0201 + WPN_E_IMAGE_NOT_FOUND_IN_CACHE Handle = 0x803E0202 + WPN_E_ALL_URL_NOT_COMPLETED Handle = 0x803E0203 + WPN_E_INVALID_CLOUD_IMAGE Handle = 0x803E0204 + WPN_E_NOTIFICATION_ID_MATCHED Handle = 0x803E0205 + WPN_E_CALLBACK_ALREADY_REGISTERED Handle = 0x803E0206 + WPN_E_TOAST_NOTIFICATION_DROPPED Handle = 0x803E0207 + WPN_E_STORAGE_LOCKED Handle = 0x803E0208 + WPN_E_GROUP_SIZE Handle = 0x803E0209 + WPN_E_GROUP_ALPHANUMERIC Handle = 0x803E020A + WPN_E_CLOUD_DISABLED_FOR_APP Handle = 0x803E020B + E_MBN_CONTEXT_NOT_ACTIVATED Handle = 0x80548201 + E_MBN_BAD_SIM Handle = 0x80548202 + E_MBN_DATA_CLASS_NOT_AVAILABLE Handle = 0x80548203 + E_MBN_INVALID_ACCESS_STRING Handle = 0x80548204 + E_MBN_MAX_ACTIVATED_CONTEXTS Handle = 0x80548205 + E_MBN_PACKET_SVC_DETACHED Handle = 0x80548206 + E_MBN_PROVIDER_NOT_VISIBLE Handle = 0x80548207 + E_MBN_RADIO_POWER_OFF Handle = 0x80548208 + E_MBN_SERVICE_NOT_ACTIVATED Handle = 0x80548209 + E_MBN_SIM_NOT_INSERTED Handle = 0x8054820A + E_MBN_VOICE_CALL_IN_PROGRESS Handle = 0x8054820B + E_MBN_INVALID_CACHE Handle = 0x8054820C + E_MBN_NOT_REGISTERED Handle = 0x8054820D + E_MBN_PROVIDERS_NOT_FOUND Handle = 0x8054820E + E_MBN_PIN_NOT_SUPPORTED Handle = 0x8054820F + E_MBN_PIN_REQUIRED Handle = 0x80548210 + E_MBN_PIN_DISABLED Handle = 0x80548211 + E_MBN_FAILURE Handle = 0x80548212 + E_MBN_INVALID_PROFILE Handle = 0x80548218 + E_MBN_DEFAULT_PROFILE_EXIST Handle = 0x80548219 + E_MBN_SMS_ENCODING_NOT_SUPPORTED Handle = 0x80548220 + E_MBN_SMS_FILTER_NOT_SUPPORTED Handle = 0x80548221 + E_MBN_SMS_INVALID_MEMORY_INDEX Handle = 0x80548222 + E_MBN_SMS_LANG_NOT_SUPPORTED Handle = 0x80548223 + E_MBN_SMS_MEMORY_FAILURE Handle = 0x80548224 + E_MBN_SMS_NETWORK_TIMEOUT Handle = 0x80548225 + E_MBN_SMS_UNKNOWN_SMSC_ADDRESS Handle = 0x80548226 + E_MBN_SMS_FORMAT_NOT_SUPPORTED Handle = 0x80548227 + E_MBN_SMS_OPERATION_NOT_ALLOWED Handle = 0x80548228 + E_MBN_SMS_MEMORY_FULL Handle = 0x80548229 + PEER_E_IPV6_NOT_INSTALLED Handle = 0x80630001 + PEER_E_NOT_INITIALIZED Handle = 0x80630002 + PEER_E_CANNOT_START_SERVICE Handle = 0x80630003 + PEER_E_NOT_LICENSED Handle = 0x80630004 + PEER_E_INVALID_GRAPH Handle = 0x80630010 + PEER_E_DBNAME_CHANGED Handle = 0x80630011 + PEER_E_DUPLICATE_GRAPH Handle = 0x80630012 + PEER_E_GRAPH_NOT_READY Handle = 0x80630013 + PEER_E_GRAPH_SHUTTING_DOWN Handle = 0x80630014 + PEER_E_GRAPH_IN_USE Handle = 0x80630015 + PEER_E_INVALID_DATABASE Handle = 0x80630016 + PEER_E_TOO_MANY_ATTRIBUTES Handle = 0x80630017 + PEER_E_CONNECTION_NOT_FOUND Handle = 0x80630103 + PEER_E_CONNECT_SELF Handle = 0x80630106 + PEER_E_ALREADY_LISTENING Handle = 0x80630107 + PEER_E_NODE_NOT_FOUND Handle = 0x80630108 + PEER_E_CONNECTION_FAILED Handle = 0x80630109 + PEER_E_CONNECTION_NOT_AUTHENTICATED Handle = 0x8063010A + PEER_E_CONNECTION_REFUSED Handle = 0x8063010B + PEER_E_CLASSIFIER_TOO_LONG Handle = 0x80630201 + PEER_E_TOO_MANY_IDENTITIES Handle = 0x80630202 + PEER_E_NO_KEY_ACCESS Handle = 0x80630203 + PEER_E_GROUPS_EXIST Handle = 0x80630204 + PEER_E_RECORD_NOT_FOUND Handle = 0x80630301 + PEER_E_DATABASE_ACCESSDENIED Handle = 0x80630302 + PEER_E_DBINITIALIZATION_FAILED Handle = 0x80630303 + PEER_E_MAX_RECORD_SIZE_EXCEEDED Handle = 0x80630304 + PEER_E_DATABASE_ALREADY_PRESENT Handle = 0x80630305 + PEER_E_DATABASE_NOT_PRESENT Handle = 0x80630306 + PEER_E_IDENTITY_NOT_FOUND Handle = 0x80630401 + PEER_E_EVENT_HANDLE_NOT_FOUND Handle = 0x80630501 + PEER_E_INVALID_SEARCH Handle = 0x80630601 + PEER_E_INVALID_ATTRIBUTES Handle = 0x80630602 + PEER_E_INVITATION_NOT_TRUSTED Handle = 0x80630701 + PEER_E_CHAIN_TOO_LONG Handle = 0x80630703 + PEER_E_INVALID_TIME_PERIOD Handle = 0x80630705 + PEER_E_CIRCULAR_CHAIN_DETECTED Handle = 0x80630706 + PEER_E_CERT_STORE_CORRUPTED Handle = 0x80630801 + PEER_E_NO_CLOUD Handle = 0x80631001 + PEER_E_CLOUD_NAME_AMBIGUOUS Handle = 0x80631005 + PEER_E_INVALID_RECORD Handle = 0x80632010 + PEER_E_NOT_AUTHORIZED Handle = 0x80632020 + PEER_E_PASSWORD_DOES_NOT_MEET_POLICY Handle = 0x80632021 + PEER_E_DEFERRED_VALIDATION Handle = 0x80632030 + PEER_E_INVALID_GROUP_PROPERTIES Handle = 0x80632040 + PEER_E_INVALID_PEER_NAME Handle = 0x80632050 + PEER_E_INVALID_CLASSIFIER Handle = 0x80632060 + PEER_E_INVALID_FRIENDLY_NAME Handle = 0x80632070 + PEER_E_INVALID_ROLE_PROPERTY Handle = 0x80632071 + PEER_E_INVALID_CLASSIFIER_PROPERTY Handle = 0x80632072 + PEER_E_INVALID_RECORD_EXPIRATION Handle = 0x80632080 + PEER_E_INVALID_CREDENTIAL_INFO Handle = 0x80632081 + PEER_E_INVALID_CREDENTIAL Handle = 0x80632082 + PEER_E_INVALID_RECORD_SIZE Handle = 0x80632083 + PEER_E_UNSUPPORTED_VERSION Handle = 0x80632090 + PEER_E_GROUP_NOT_READY Handle = 0x80632091 + PEER_E_GROUP_IN_USE Handle = 0x80632092 + PEER_E_INVALID_GROUP Handle = 0x80632093 + PEER_E_NO_MEMBERS_FOUND Handle = 0x80632094 + PEER_E_NO_MEMBER_CONNECTIONS Handle = 0x80632095 + PEER_E_UNABLE_TO_LISTEN Handle = 0x80632096 + PEER_E_IDENTITY_DELETED Handle = 0x806320A0 + PEER_E_SERVICE_NOT_AVAILABLE Handle = 0x806320A1 + PEER_E_CONTACT_NOT_FOUND Handle = 0x80636001 + PEER_S_GRAPH_DATA_CREATED Handle = 0x00630001 + PEER_S_NO_EVENT_DATA Handle = 0x00630002 + PEER_S_ALREADY_CONNECTED Handle = 0x00632000 + PEER_S_SUBSCRIPTION_EXISTS Handle = 0x00636000 + PEER_S_NO_CONNECTIVITY Handle = 0x00630005 + PEER_S_ALREADY_A_MEMBER Handle = 0x00630006 + PEER_E_CANNOT_CONVERT_PEER_NAME Handle = 0x80634001 + PEER_E_INVALID_PEER_HOST_NAME Handle = 0x80634002 + PEER_E_NO_MORE Handle = 0x80634003 + PEER_E_PNRP_DUPLICATE_PEER_NAME Handle = 0x80634005 + PEER_E_INVITE_CANCELLED Handle = 0x80637000 + PEER_E_INVITE_RESPONSE_NOT_AVAILABLE Handle = 0x80637001 + PEER_E_NOT_SIGNED_IN Handle = 0x80637003 + PEER_E_PRIVACY_DECLINED Handle = 0x80637004 + PEER_E_TIMEOUT Handle = 0x80637005 + PEER_E_INVALID_ADDRESS Handle = 0x80637007 + PEER_E_FW_EXCEPTION_DISABLED Handle = 0x80637008 + PEER_E_FW_BLOCKED_BY_POLICY Handle = 0x80637009 + PEER_E_FW_BLOCKED_BY_SHIELDS_UP Handle = 0x8063700A + PEER_E_FW_DECLINED Handle = 0x8063700B + UI_E_CREATE_FAILED Handle = 0x802A0001 + UI_E_SHUTDOWN_CALLED Handle = 0x802A0002 + UI_E_ILLEGAL_REENTRANCY Handle = 0x802A0003 + UI_E_OBJECT_SEALED Handle = 0x802A0004 + UI_E_VALUE_NOT_SET Handle = 0x802A0005 + UI_E_VALUE_NOT_DETERMINED Handle = 0x802A0006 + UI_E_INVALID_OUTPUT Handle = 0x802A0007 + UI_E_BOOLEAN_EXPECTED Handle = 0x802A0008 + UI_E_DIFFERENT_OWNER Handle = 0x802A0009 + UI_E_AMBIGUOUS_MATCH Handle = 0x802A000A + UI_E_FP_OVERFLOW Handle = 0x802A000B + UI_E_WRONG_THREAD Handle = 0x802A000C + UI_E_STORYBOARD_ACTIVE Handle = 0x802A0101 + UI_E_STORYBOARD_NOT_PLAYING Handle = 0x802A0102 + UI_E_START_KEYFRAME_AFTER_END Handle = 0x802A0103 + UI_E_END_KEYFRAME_NOT_DETERMINED Handle = 0x802A0104 + UI_E_LOOPS_OVERLAP Handle = 0x802A0105 + UI_E_TRANSITION_ALREADY_USED Handle = 0x802A0106 + UI_E_TRANSITION_NOT_IN_STORYBOARD Handle = 0x802A0107 + UI_E_TRANSITION_ECLIPSED Handle = 0x802A0108 + UI_E_TIME_BEFORE_LAST_UPDATE Handle = 0x802A0109 + UI_E_TIMER_CLIENT_ALREADY_CONNECTED Handle = 0x802A010A + UI_E_INVALID_DIMENSION Handle = 0x802A010B + UI_E_PRIMITIVE_OUT_OF_BOUNDS Handle = 0x802A010C + UI_E_WINDOW_CLOSED Handle = 0x802A0201 + E_BLUETOOTH_ATT_INVALID_HANDLE Handle = 0x80650001 + E_BLUETOOTH_ATT_READ_NOT_PERMITTED Handle = 0x80650002 + E_BLUETOOTH_ATT_WRITE_NOT_PERMITTED Handle = 0x80650003 + E_BLUETOOTH_ATT_INVALID_PDU Handle = 0x80650004 + E_BLUETOOTH_ATT_INSUFFICIENT_AUTHENTICATION Handle = 0x80650005 + E_BLUETOOTH_ATT_REQUEST_NOT_SUPPORTED Handle = 0x80650006 + E_BLUETOOTH_ATT_INVALID_OFFSET Handle = 0x80650007 + E_BLUETOOTH_ATT_INSUFFICIENT_AUTHORIZATION Handle = 0x80650008 + E_BLUETOOTH_ATT_PREPARE_QUEUE_FULL Handle = 0x80650009 + E_BLUETOOTH_ATT_ATTRIBUTE_NOT_FOUND Handle = 0x8065000A + E_BLUETOOTH_ATT_ATTRIBUTE_NOT_LONG Handle = 0x8065000B + E_BLUETOOTH_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE Handle = 0x8065000C + E_BLUETOOTH_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH Handle = 0x8065000D + E_BLUETOOTH_ATT_UNLIKELY Handle = 0x8065000E + E_BLUETOOTH_ATT_INSUFFICIENT_ENCRYPTION Handle = 0x8065000F + E_BLUETOOTH_ATT_UNSUPPORTED_GROUP_TYPE Handle = 0x80650010 + E_BLUETOOTH_ATT_INSUFFICIENT_RESOURCES Handle = 0x80650011 + E_BLUETOOTH_ATT_UNKNOWN_ERROR Handle = 0x80651000 + E_AUDIO_ENGINE_NODE_NOT_FOUND Handle = 0x80660001 + E_HDAUDIO_EMPTY_CONNECTION_LIST Handle = 0x80660002 + E_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED Handle = 0x80660003 + E_HDAUDIO_NO_LOGICAL_DEVICES_CREATED Handle = 0x80660004 + E_HDAUDIO_NULL_LINKED_LIST_ENTRY Handle = 0x80660005 + STATEREPOSITORY_E_CONCURRENCY_LOCKING_FAILURE Handle = 0x80670001 + STATEREPOSITORY_E_STATEMENT_INPROGRESS Handle = 0x80670002 + STATEREPOSITORY_E_CONFIGURATION_INVALID Handle = 0x80670003 + STATEREPOSITORY_E_UNKNOWN_SCHEMA_VERSION Handle = 0x80670004 + STATEREPOSITORY_ERROR_DICTIONARY_CORRUPTED Handle = 0x80670005 + STATEREPOSITORY_E_BLOCKED Handle = 0x80670006 + STATEREPOSITORY_E_BUSY_RETRY Handle = 0x80670007 + STATEREPOSITORY_E_BUSY_RECOVERY_RETRY Handle = 0x80670008 + STATEREPOSITORY_E_LOCKED_RETRY Handle = 0x80670009 + STATEREPOSITORY_E_LOCKED_SHAREDCACHE_RETRY Handle = 0x8067000A + STATEREPOSITORY_E_TRANSACTION_REQUIRED Handle = 0x8067000B + STATEREPOSITORY_E_BUSY_TIMEOUT_EXCEEDED Handle = 0x8067000C + STATEREPOSITORY_E_BUSY_RECOVERY_TIMEOUT_EXCEEDED Handle = 0x8067000D + STATEREPOSITORY_E_LOCKED_TIMEOUT_EXCEEDED Handle = 0x8067000E + STATEREPOSITORY_E_LOCKED_SHAREDCACHE_TIMEOUT_EXCEEDED Handle = 0x8067000F + STATEREPOSITORY_E_SERVICE_STOP_IN_PROGRESS Handle = 0x80670010 + STATEREPOSTORY_E_NESTED_TRANSACTION_NOT_SUPPORTED Handle = 0x80670011 + STATEREPOSITORY_ERROR_CACHE_CORRUPTED Handle = 0x80670012 + STATEREPOSITORY_TRANSACTION_CALLER_ID_CHANGED Handle = 0x00670013 + STATEREPOSITORY_TRANSACTION_IN_PROGRESS Handle = 0x00670014 + ERROR_SPACES_POOL_WAS_DELETED Handle = 0x00E70001 + ERROR_SPACES_FAULT_DOMAIN_TYPE_INVALID Handle = 0x80E70001 + ERROR_SPACES_INTERNAL_ERROR Handle = 0x80E70002 + ERROR_SPACES_RESILIENCY_TYPE_INVALID Handle = 0x80E70003 + ERROR_SPACES_DRIVE_SECTOR_SIZE_INVALID Handle = 0x80E70004 + ERROR_SPACES_DRIVE_REDUNDANCY_INVALID Handle = 0x80E70006 + ERROR_SPACES_NUMBER_OF_DATA_COPIES_INVALID Handle = 0x80E70007 + ERROR_SPACES_PARITY_LAYOUT_INVALID Handle = 0x80E70008 + ERROR_SPACES_INTERLEAVE_LENGTH_INVALID Handle = 0x80E70009 + ERROR_SPACES_NUMBER_OF_COLUMNS_INVALID Handle = 0x80E7000A + ERROR_SPACES_NOT_ENOUGH_DRIVES Handle = 0x80E7000B + ERROR_SPACES_EXTENDED_ERROR Handle = 0x80E7000C + ERROR_SPACES_PROVISIONING_TYPE_INVALID Handle = 0x80E7000D + ERROR_SPACES_ALLOCATION_SIZE_INVALID Handle = 0x80E7000E + ERROR_SPACES_ENCLOSURE_AWARE_INVALID Handle = 0x80E7000F + ERROR_SPACES_WRITE_CACHE_SIZE_INVALID Handle = 0x80E70010 + ERROR_SPACES_NUMBER_OF_GROUPS_INVALID Handle = 0x80E70011 + ERROR_SPACES_DRIVE_OPERATIONAL_STATE_INVALID Handle = 0x80E70012 + ERROR_SPACES_ENTRY_INCOMPLETE Handle = 0x80E70013 + ERROR_SPACES_ENTRY_INVALID Handle = 0x80E70014 + ERROR_VOLSNAP_BOOTFILE_NOT_VALID Handle = 0x80820001 + ERROR_VOLSNAP_ACTIVATION_TIMEOUT Handle = 0x80820002 + ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME Handle = 0x80830001 + ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS Handle = 0x80830002 + ERROR_TIERING_STORAGE_TIER_NOT_FOUND Handle = 0x80830003 + ERROR_TIERING_INVALID_FILE_ID Handle = 0x80830004 + ERROR_TIERING_WRONG_CLUSTER_NODE Handle = 0x80830005 + ERROR_TIERING_ALREADY_PROCESSING Handle = 0x80830006 + ERROR_TIERING_CANNOT_PIN_OBJECT Handle = 0x80830007 + ERROR_TIERING_FILE_IS_NOT_PINNED Handle = 0x80830008 + ERROR_NOT_A_TIERED_VOLUME Handle = 0x80830009 + ERROR_ATTRIBUTE_NOT_PRESENT Handle = 0x8083000A + ERROR_SECCORE_INVALID_COMMAND Handle = 0xC0E80000 + ERROR_NO_APPLICABLE_APP_LICENSES_FOUND Handle = 0xC0EA0001 + ERROR_CLIP_LICENSE_NOT_FOUND Handle = 0xC0EA0002 + ERROR_CLIP_DEVICE_LICENSE_MISSING Handle = 0xC0EA0003 + ERROR_CLIP_LICENSE_INVALID_SIGNATURE Handle = 0xC0EA0004 + ERROR_CLIP_KEYHOLDER_LICENSE_MISSING_OR_INVALID Handle = 0xC0EA0005 + ERROR_CLIP_LICENSE_EXPIRED Handle = 0xC0EA0006 + ERROR_CLIP_LICENSE_SIGNED_BY_UNKNOWN_SOURCE Handle = 0xC0EA0007 + ERROR_CLIP_LICENSE_NOT_SIGNED Handle = 0xC0EA0008 + ERROR_CLIP_LICENSE_HARDWARE_ID_OUT_OF_TOLERANCE Handle = 0xC0EA0009 + ERROR_CLIP_LICENSE_DEVICE_ID_MISMATCH Handle = 0xC0EA000A + DXGI_STATUS_OCCLUDED Handle = 0x087A0001 + DXGI_STATUS_CLIPPED Handle = 0x087A0002 + DXGI_STATUS_NO_REDIRECTION Handle = 0x087A0004 + DXGI_STATUS_NO_DESKTOP_ACCESS Handle = 0x087A0005 + DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE Handle = 0x087A0006 + DXGI_STATUS_MODE_CHANGED Handle = 0x087A0007 + DXGI_STATUS_MODE_CHANGE_IN_PROGRESS Handle = 0x087A0008 + DXGI_ERROR_INVALID_CALL Handle = 0x887A0001 + DXGI_ERROR_NOT_FOUND Handle = 0x887A0002 + DXGI_ERROR_MORE_DATA Handle = 0x887A0003 + DXGI_ERROR_UNSUPPORTED Handle = 0x887A0004 + DXGI_ERROR_DEVICE_REMOVED Handle = 0x887A0005 + DXGI_ERROR_DEVICE_HUNG Handle = 0x887A0006 + DXGI_ERROR_DEVICE_RESET Handle = 0x887A0007 + DXGI_ERROR_WAS_STILL_DRAWING Handle = 0x887A000A + DXGI_ERROR_FRAME_STATISTICS_DISJOINT Handle = 0x887A000B + DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE Handle = 0x887A000C + DXGI_ERROR_DRIVER_INTERNAL_ERROR Handle = 0x887A0020 + DXGI_ERROR_NONEXCLUSIVE Handle = 0x887A0021 + DXGI_ERROR_NOT_CURRENTLY_AVAILABLE Handle = 0x887A0022 + DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED Handle = 0x887A0023 + DXGI_ERROR_REMOTE_OUTOFMEMORY Handle = 0x887A0024 + DXGI_ERROR_ACCESS_LOST Handle = 0x887A0026 + DXGI_ERROR_WAIT_TIMEOUT Handle = 0x887A0027 + DXGI_ERROR_SESSION_DISCONNECTED Handle = 0x887A0028 + DXGI_ERROR_RESTRICT_TO_OUTPUT_STALE Handle = 0x887A0029 + DXGI_ERROR_CANNOT_PROTECT_CONTENT Handle = 0x887A002A + DXGI_ERROR_ACCESS_DENIED Handle = 0x887A002B + DXGI_ERROR_NAME_ALREADY_EXISTS Handle = 0x887A002C + DXGI_ERROR_SDK_COMPONENT_MISSING Handle = 0x887A002D + DXGI_ERROR_NOT_CURRENT Handle = 0x887A002E + DXGI_ERROR_HW_PROTECTION_OUTOFMEMORY Handle = 0x887A0030 + DXGI_ERROR_DYNAMIC_CODE_POLICY_VIOLATION Handle = 0x887A0031 + DXGI_ERROR_NON_COMPOSITED_UI Handle = 0x887A0032 + DXGI_STATUS_UNOCCLUDED Handle = 0x087A0009 + DXGI_STATUS_DDA_WAS_STILL_DRAWING Handle = 0x087A000A + DXGI_ERROR_MODE_CHANGE_IN_PROGRESS Handle = 0x887A0025 + DXGI_STATUS_PRESENT_REQUIRED Handle = 0x087A002F + DXGI_ERROR_CACHE_CORRUPT Handle = 0x887A0033 + DXGI_ERROR_CACHE_FULL Handle = 0x887A0034 + DXGI_ERROR_CACHE_HASH_COLLISION Handle = 0x887A0035 + DXGI_ERROR_ALREADY_EXISTS Handle = 0x887A0036 + DXGI_DDI_ERR_WASSTILLDRAWING Handle = 0x887B0001 + DXGI_DDI_ERR_UNSUPPORTED Handle = 0x887B0002 + DXGI_DDI_ERR_NONEXCLUSIVE Handle = 0x887B0003 + D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS Handle = 0x88790001 + D3D10_ERROR_FILE_NOT_FOUND Handle = 0x88790002 + D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS Handle = 0x887C0001 + D3D11_ERROR_FILE_NOT_FOUND Handle = 0x887C0002 + D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS Handle = 0x887C0003 + D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD Handle = 0x887C0004 + D3D12_ERROR_ADAPTER_NOT_FOUND Handle = 0x887E0001 + D3D12_ERROR_DRIVER_VERSION_MISMATCH Handle = 0x887E0002 + D2DERR_WRONG_STATE Handle = 0x88990001 + D2DERR_NOT_INITIALIZED Handle = 0x88990002 + D2DERR_UNSUPPORTED_OPERATION Handle = 0x88990003 + D2DERR_SCANNER_FAILED Handle = 0x88990004 + D2DERR_SCREEN_ACCESS_DENIED Handle = 0x88990005 + D2DERR_DISPLAY_STATE_INVALID Handle = 0x88990006 + D2DERR_ZERO_VECTOR Handle = 0x88990007 + D2DERR_INTERNAL_ERROR Handle = 0x88990008 + D2DERR_DISPLAY_FORMAT_NOT_SUPPORTED Handle = 0x88990009 + D2DERR_INVALID_CALL Handle = 0x8899000A + D2DERR_NO_HARDWARE_DEVICE Handle = 0x8899000B + D2DERR_RECREATE_TARGET Handle = 0x8899000C + D2DERR_TOO_MANY_SHADER_ELEMENTS Handle = 0x8899000D + D2DERR_SHADER_COMPILE_FAILED Handle = 0x8899000E + D2DERR_MAX_TEXTURE_SIZE_EXCEEDED Handle = 0x8899000F + D2DERR_UNSUPPORTED_VERSION Handle = 0x88990010 + D2DERR_BAD_NUMBER Handle = 0x88990011 + D2DERR_WRONG_FACTORY Handle = 0x88990012 + D2DERR_LAYER_ALREADY_IN_USE Handle = 0x88990013 + D2DERR_POP_CALL_DID_NOT_MATCH_PUSH Handle = 0x88990014 + D2DERR_WRONG_RESOURCE_DOMAIN Handle = 0x88990015 + D2DERR_PUSH_POP_UNBALANCED Handle = 0x88990016 + D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT Handle = 0x88990017 + D2DERR_INCOMPATIBLE_BRUSH_TYPES Handle = 0x88990018 + D2DERR_WIN32_ERROR Handle = 0x88990019 + D2DERR_TARGET_NOT_GDI_COMPATIBLE Handle = 0x8899001A + D2DERR_TEXT_EFFECT_IS_WRONG_TYPE Handle = 0x8899001B + D2DERR_TEXT_RENDERER_NOT_RELEASED Handle = 0x8899001C + D2DERR_EXCEEDS_MAX_BITMAP_SIZE Handle = 0x8899001D + D2DERR_INVALID_GRAPH_CONFIGURATION Handle = 0x8899001E + D2DERR_INVALID_INTERNAL_GRAPH_CONFIGURATION Handle = 0x8899001F + D2DERR_CYCLIC_GRAPH Handle = 0x88990020 + D2DERR_BITMAP_CANNOT_DRAW Handle = 0x88990021 + D2DERR_OUTSTANDING_BITMAP_REFERENCES Handle = 0x88990022 + D2DERR_ORIGINAL_TARGET_NOT_BOUND Handle = 0x88990023 + D2DERR_INVALID_TARGET Handle = 0x88990024 + D2DERR_BITMAP_BOUND_AS_TARGET Handle = 0x88990025 + D2DERR_INSUFFICIENT_DEVICE_CAPABILITIES Handle = 0x88990026 + D2DERR_INTERMEDIATE_TOO_LARGE Handle = 0x88990027 + D2DERR_EFFECT_IS_NOT_REGISTERED Handle = 0x88990028 + D2DERR_INVALID_PROPERTY Handle = 0x88990029 + D2DERR_NO_SUBPROPERTIES Handle = 0x8899002A + D2DERR_PRINT_JOB_CLOSED Handle = 0x8899002B + D2DERR_PRINT_FORMAT_NOT_SUPPORTED Handle = 0x8899002C + D2DERR_TOO_MANY_TRANSFORM_INPUTS Handle = 0x8899002D + D2DERR_INVALID_GLYPH_IMAGE Handle = 0x8899002E + DWRITE_E_FILEFORMAT Handle = 0x88985000 + DWRITE_E_UNEXPECTED Handle = 0x88985001 + DWRITE_E_NOFONT Handle = 0x88985002 + DWRITE_E_FILENOTFOUND Handle = 0x88985003 + DWRITE_E_FILEACCESS Handle = 0x88985004 + DWRITE_E_FONTCOLLECTIONOBSOLETE Handle = 0x88985005 + DWRITE_E_ALREADYREGISTERED Handle = 0x88985006 + DWRITE_E_CACHEFORMAT Handle = 0x88985007 + DWRITE_E_CACHEVERSION Handle = 0x88985008 + DWRITE_E_UNSUPPORTEDOPERATION Handle = 0x88985009 + DWRITE_E_TEXTRENDERERINCOMPATIBLE Handle = 0x8898500A + DWRITE_E_FLOWDIRECTIONCONFLICTS Handle = 0x8898500B + DWRITE_E_NOCOLOR Handle = 0x8898500C + DWRITE_E_REMOTEFONT Handle = 0x8898500D + DWRITE_E_DOWNLOADCANCELLED Handle = 0x8898500E + DWRITE_E_DOWNLOADFAILED Handle = 0x8898500F + DWRITE_E_TOOMANYDOWNLOADS Handle = 0x88985010 + WINCODEC_ERR_WRONGSTATE Handle = 0x88982F04 + WINCODEC_ERR_VALUEOUTOFRANGE Handle = 0x88982F05 + WINCODEC_ERR_UNKNOWNIMAGEFORMAT Handle = 0x88982F07 + WINCODEC_ERR_UNSUPPORTEDVERSION Handle = 0x88982F0B + WINCODEC_ERR_NOTINITIALIZED Handle = 0x88982F0C + WINCODEC_ERR_ALREADYLOCKED Handle = 0x88982F0D + WINCODEC_ERR_PROPERTYNOTFOUND Handle = 0x88982F40 + WINCODEC_ERR_PROPERTYNOTSUPPORTED Handle = 0x88982F41 + WINCODEC_ERR_PROPERTYSIZE Handle = 0x88982F42 + WINCODEC_ERR_CODECPRESENT Handle = 0x88982F43 + WINCODEC_ERR_CODECNOTHUMBNAIL Handle = 0x88982F44 + WINCODEC_ERR_PALETTEUNAVAILABLE Handle = 0x88982F45 + WINCODEC_ERR_CODECTOOMANYSCANLINES Handle = 0x88982F46 + WINCODEC_ERR_INTERNALERROR Handle = 0x88982F48 + WINCODEC_ERR_SOURCERECTDOESNOTMATCHDIMENSIONS Handle = 0x88982F49 + WINCODEC_ERR_COMPONENTNOTFOUND Handle = 0x88982F50 + WINCODEC_ERR_IMAGESIZEOUTOFRANGE Handle = 0x88982F51 + WINCODEC_ERR_TOOMUCHMETADATA Handle = 0x88982F52 + WINCODEC_ERR_BADIMAGE Handle = 0x88982F60 + WINCODEC_ERR_BADHEADER Handle = 0x88982F61 + WINCODEC_ERR_FRAMEMISSING Handle = 0x88982F62 + WINCODEC_ERR_BADMETADATAHEADER Handle = 0x88982F63 + WINCODEC_ERR_BADSTREAMDATA Handle = 0x88982F70 + WINCODEC_ERR_STREAMWRITE Handle = 0x88982F71 + WINCODEC_ERR_STREAMREAD Handle = 0x88982F72 + WINCODEC_ERR_STREAMNOTAVAILABLE Handle = 0x88982F73 + WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT Handle = 0x88982F80 + WINCODEC_ERR_UNSUPPORTEDOPERATION Handle = 0x88982F81 + WINCODEC_ERR_INVALIDREGISTRATION Handle = 0x88982F8A + WINCODEC_ERR_COMPONENTINITIALIZEFAILURE Handle = 0x88982F8B + WINCODEC_ERR_INSUFFICIENTBUFFER Handle = 0x88982F8C + WINCODEC_ERR_DUPLICATEMETADATAPRESENT Handle = 0x88982F8D + WINCODEC_ERR_PROPERTYUNEXPECTEDTYPE Handle = 0x88982F8E + WINCODEC_ERR_UNEXPECTEDSIZE Handle = 0x88982F8F + WINCODEC_ERR_INVALIDQUERYREQUEST Handle = 0x88982F90 + WINCODEC_ERR_UNEXPECTEDMETADATATYPE Handle = 0x88982F91 + WINCODEC_ERR_REQUESTONLYVALIDATMETADATAROOT Handle = 0x88982F92 + WINCODEC_ERR_INVALIDQUERYCHARACTER Handle = 0x88982F93 + WINCODEC_ERR_WIN32ERROR Handle = 0x88982F94 + WINCODEC_ERR_INVALIDPROGRESSIVELEVEL Handle = 0x88982F95 + WINCODEC_ERR_INVALIDJPEGSCANINDEX Handle = 0x88982F96 + MILERR_OBJECTBUSY Handle = 0x88980001 + MILERR_INSUFFICIENTBUFFER Handle = 0x88980002 + MILERR_WIN32ERROR Handle = 0x88980003 + MILERR_SCANNER_FAILED Handle = 0x88980004 + MILERR_SCREENACCESSDENIED Handle = 0x88980005 + MILERR_DISPLAYSTATEINVALID Handle = 0x88980006 + MILERR_NONINVERTIBLEMATRIX Handle = 0x88980007 + MILERR_ZEROVECTOR Handle = 0x88980008 + MILERR_TERMINATED Handle = 0x88980009 + MILERR_BADNUMBER Handle = 0x8898000A + MILERR_INTERNALERROR Handle = 0x88980080 + MILERR_DISPLAYFORMATNOTSUPPORTED Handle = 0x88980084 + MILERR_INVALIDCALL Handle = 0x88980085 + MILERR_ALREADYLOCKED Handle = 0x88980086 + MILERR_NOTLOCKED Handle = 0x88980087 + MILERR_DEVICECANNOTRENDERTEXT Handle = 0x88980088 + MILERR_GLYPHBITMAPMISSED Handle = 0x88980089 + MILERR_MALFORMEDGLYPHCACHE Handle = 0x8898008A + MILERR_GENERIC_IGNORE Handle = 0x8898008B + MILERR_MALFORMED_GUIDELINE_DATA Handle = 0x8898008C + MILERR_NO_HARDWARE_DEVICE Handle = 0x8898008D + MILERR_NEED_RECREATE_AND_PRESENT Handle = 0x8898008E + MILERR_ALREADY_INITIALIZED Handle = 0x8898008F + MILERR_MISMATCHED_SIZE Handle = 0x88980090 + MILERR_NO_REDIRECTION_SURFACE_AVAILABLE Handle = 0x88980091 + MILERR_REMOTING_NOT_SUPPORTED Handle = 0x88980092 + MILERR_QUEUED_PRESENT_NOT_SUPPORTED Handle = 0x88980093 + MILERR_NOT_QUEUING_PRESENTS Handle = 0x88980094 + MILERR_NO_REDIRECTION_SURFACE_RETRY_LATER Handle = 0x88980095 + MILERR_TOOMANYSHADERELEMNTS Handle = 0x88980096 + MILERR_MROW_READLOCK_FAILED Handle = 0x88980097 + MILERR_MROW_UPDATE_FAILED Handle = 0x88980098 + MILERR_SHADER_COMPILE_FAILED Handle = 0x88980099 + MILERR_MAX_TEXTURE_SIZE_EXCEEDED Handle = 0x8898009A + MILERR_QPC_TIME_WENT_BACKWARD Handle = 0x8898009B + MILERR_DXGI_ENUMERATION_OUT_OF_SYNC Handle = 0x8898009D + MILERR_ADAPTER_NOT_FOUND Handle = 0x8898009E + MILERR_COLORSPACE_NOT_SUPPORTED Handle = 0x8898009F + MILERR_PREFILTER_NOT_SUPPORTED Handle = 0x889800A0 + MILERR_DISPLAYID_ACCESS_DENIED Handle = 0x889800A1 + UCEERR_INVALIDPACKETHEADER Handle = 0x88980400 + UCEERR_UNKNOWNPACKET Handle = 0x88980401 + UCEERR_ILLEGALPACKET Handle = 0x88980402 + UCEERR_MALFORMEDPACKET Handle = 0x88980403 + UCEERR_ILLEGALHANDLE Handle = 0x88980404 + UCEERR_HANDLELOOKUPFAILED Handle = 0x88980405 + UCEERR_RENDERTHREADFAILURE Handle = 0x88980406 + UCEERR_CTXSTACKFRSTTARGETNULL Handle = 0x88980407 + UCEERR_CONNECTIONIDLOOKUPFAILED Handle = 0x88980408 + UCEERR_BLOCKSFULL Handle = 0x88980409 + UCEERR_MEMORYFAILURE Handle = 0x8898040A + UCEERR_PACKETRECORDOUTOFRANGE Handle = 0x8898040B + UCEERR_ILLEGALRECORDTYPE Handle = 0x8898040C + UCEERR_OUTOFHANDLES Handle = 0x8898040D + UCEERR_UNCHANGABLE_UPDATE_ATTEMPTED Handle = 0x8898040E + UCEERR_NO_MULTIPLE_WORKER_THREADS Handle = 0x8898040F + UCEERR_REMOTINGNOTSUPPORTED Handle = 0x88980410 + UCEERR_MISSINGENDCOMMAND Handle = 0x88980411 + UCEERR_MISSINGBEGINCOMMAND Handle = 0x88980412 + UCEERR_CHANNELSYNCTIMEDOUT Handle = 0x88980413 + UCEERR_CHANNELSYNCABANDONED Handle = 0x88980414 + UCEERR_UNSUPPORTEDTRANSPORTVERSION Handle = 0x88980415 + UCEERR_TRANSPORTUNAVAILABLE Handle = 0x88980416 + UCEERR_FEEDBACK_UNSUPPORTED Handle = 0x88980417 + UCEERR_COMMANDTRANSPORTDENIED Handle = 0x88980418 + UCEERR_GRAPHICSSTREAMUNAVAILABLE Handle = 0x88980419 + UCEERR_GRAPHICSSTREAMALREADYOPEN Handle = 0x88980420 + UCEERR_TRANSPORTDISCONNECTED Handle = 0x88980421 + UCEERR_TRANSPORTOVERLOADED Handle = 0x88980422 + UCEERR_PARTITION_ZOMBIED Handle = 0x88980423 + MILAVERR_NOCLOCK Handle = 0x88980500 + MILAVERR_NOMEDIATYPE Handle = 0x88980501 + MILAVERR_NOVIDEOMIXER Handle = 0x88980502 + MILAVERR_NOVIDEOPRESENTER Handle = 0x88980503 + MILAVERR_NOREADYFRAMES Handle = 0x88980504 + MILAVERR_MODULENOTLOADED Handle = 0x88980505 + MILAVERR_WMPFACTORYNOTREGISTERED Handle = 0x88980506 + MILAVERR_INVALIDWMPVERSION Handle = 0x88980507 + MILAVERR_INSUFFICIENTVIDEORESOURCES Handle = 0x88980508 + MILAVERR_VIDEOACCELERATIONNOTAVAILABLE Handle = 0x88980509 + MILAVERR_REQUESTEDTEXTURETOOBIG Handle = 0x8898050A + MILAVERR_SEEKFAILED Handle = 0x8898050B + MILAVERR_UNEXPECTEDWMPFAILURE Handle = 0x8898050C + MILAVERR_MEDIAPLAYERCLOSED Handle = 0x8898050D + MILAVERR_UNKNOWNHARDWAREERROR Handle = 0x8898050E + MILEFFECTSERR_UNKNOWNPROPERTY Handle = 0x8898060E + MILEFFECTSERR_EFFECTNOTPARTOFGROUP Handle = 0x8898060F + MILEFFECTSERR_NOINPUTSOURCEATTACHED Handle = 0x88980610 + MILEFFECTSERR_CONNECTORNOTCONNECTED Handle = 0x88980611 + MILEFFECTSERR_CONNECTORNOTASSOCIATEDWITHEFFECT Handle = 0x88980612 + MILEFFECTSERR_RESERVED Handle = 0x88980613 + MILEFFECTSERR_CYCLEDETECTED Handle = 0x88980614 + MILEFFECTSERR_EFFECTINMORETHANONEGRAPH Handle = 0x88980615 + MILEFFECTSERR_EFFECTALREADYINAGRAPH Handle = 0x88980616 + MILEFFECTSERR_EFFECTHASNOCHILDREN Handle = 0x88980617 + MILEFFECTSERR_ALREADYATTACHEDTOLISTENER Handle = 0x88980618 + MILEFFECTSERR_NOTAFFINETRANSFORM Handle = 0x88980619 + MILEFFECTSERR_EMPTYBOUNDS Handle = 0x8898061A + MILEFFECTSERR_OUTPUTSIZETOOLARGE Handle = 0x8898061B + DWMERR_STATE_TRANSITION_FAILED Handle = 0x88980700 + DWMERR_THEME_FAILED Handle = 0x88980701 + DWMERR_CATASTROPHIC_FAILURE Handle = 0x88980702 + DCOMPOSITION_ERROR_WINDOW_ALREADY_COMPOSED Handle = 0x88980800 + DCOMPOSITION_ERROR_SURFACE_BEING_RENDERED Handle = 0x88980801 + DCOMPOSITION_ERROR_SURFACE_NOT_BEING_RENDERED Handle = 0x88980802 + ONL_E_INVALID_AUTHENTICATION_TARGET Handle = 0x80860001 + ONL_E_ACCESS_DENIED_BY_TOU Handle = 0x80860002 + ONL_E_INVALID_APPLICATION Handle = 0x80860003 + ONL_E_PASSWORD_UPDATE_REQUIRED Handle = 0x80860004 + ONL_E_ACCOUNT_UPDATE_REQUIRED Handle = 0x80860005 + ONL_E_FORCESIGNIN Handle = 0x80860006 + ONL_E_ACCOUNT_LOCKED Handle = 0x80860007 + ONL_E_PARENTAL_CONSENT_REQUIRED Handle = 0x80860008 + ONL_E_EMAIL_VERIFICATION_REQUIRED Handle = 0x80860009 + ONL_E_ACCOUNT_SUSPENDED_COMPROIMISE Handle = 0x8086000A + ONL_E_ACCOUNT_SUSPENDED_ABUSE Handle = 0x8086000B + ONL_E_ACTION_REQUIRED Handle = 0x8086000C + ONL_CONNECTION_COUNT_LIMIT Handle = 0x8086000D + ONL_E_CONNECTED_ACCOUNT_CAN_NOT_SIGNOUT Handle = 0x8086000E + ONL_E_USER_AUTHENTICATION_REQUIRED Handle = 0x8086000F + ONL_E_REQUEST_THROTTLED Handle = 0x80860010 + FA_E_MAX_PERSISTED_ITEMS_REACHED Handle = 0x80270220 + FA_E_HOMEGROUP_NOT_AVAILABLE Handle = 0x80270222 + E_MONITOR_RESOLUTION_TOO_LOW Handle = 0x80270250 + E_ELEVATED_ACTIVATION_NOT_SUPPORTED Handle = 0x80270251 + E_UAC_DISABLED Handle = 0x80270252 + E_FULL_ADMIN_NOT_SUPPORTED Handle = 0x80270253 + E_APPLICATION_NOT_REGISTERED Handle = 0x80270254 + E_MULTIPLE_EXTENSIONS_FOR_APPLICATION Handle = 0x80270255 + E_MULTIPLE_PACKAGES_FOR_FAMILY Handle = 0x80270256 + E_APPLICATION_MANAGER_NOT_RUNNING Handle = 0x80270257 + S_STORE_LAUNCHED_FOR_REMEDIATION Handle = 0x00270258 + S_APPLICATION_ACTIVATION_ERROR_HANDLED_BY_DIALOG Handle = 0x00270259 + E_APPLICATION_ACTIVATION_TIMED_OUT Handle = 0x8027025A + E_APPLICATION_ACTIVATION_EXEC_FAILURE Handle = 0x8027025B + E_APPLICATION_TEMPORARY_LICENSE_ERROR Handle = 0x8027025C + E_APPLICATION_TRIAL_LICENSE_EXPIRED Handle = 0x8027025D + E_SKYDRIVE_ROOT_TARGET_FILE_SYSTEM_NOT_SUPPORTED Handle = 0x80270260 + E_SKYDRIVE_ROOT_TARGET_OVERLAP Handle = 0x80270261 + E_SKYDRIVE_ROOT_TARGET_CANNOT_INDEX Handle = 0x80270262 + E_SKYDRIVE_FILE_NOT_UPLOADED Handle = 0x80270263 + E_SKYDRIVE_UPDATE_AVAILABILITY_FAIL Handle = 0x80270264 + E_SKYDRIVE_ROOT_TARGET_VOLUME_ROOT_NOT_SUPPORTED Handle = 0x80270265 + E_SYNCENGINE_FILE_SIZE_OVER_LIMIT Handle = 0x8802B001 + E_SYNCENGINE_FILE_SIZE_EXCEEDS_REMAINING_QUOTA Handle = 0x8802B002 + E_SYNCENGINE_UNSUPPORTED_FILE_NAME Handle = 0x8802B003 + E_SYNCENGINE_FOLDER_ITEM_COUNT_LIMIT_EXCEEDED Handle = 0x8802B004 + E_SYNCENGINE_FILE_SYNC_PARTNER_ERROR Handle = 0x8802B005 + E_SYNCENGINE_SYNC_PAUSED_BY_SERVICE Handle = 0x8802B006 + E_SYNCENGINE_FILE_IDENTIFIER_UNKNOWN Handle = 0x8802C002 + E_SYNCENGINE_SERVICE_AUTHENTICATION_FAILED Handle = 0x8802C003 + E_SYNCENGINE_UNKNOWN_SERVICE_ERROR Handle = 0x8802C004 + E_SYNCENGINE_SERVICE_RETURNED_UNEXPECTED_SIZE Handle = 0x8802C005 + E_SYNCENGINE_REQUEST_BLOCKED_BY_SERVICE Handle = 0x8802C006 + E_SYNCENGINE_REQUEST_BLOCKED_DUE_TO_CLIENT_ERROR Handle = 0x8802C007 + E_SYNCENGINE_FOLDER_INACCESSIBLE Handle = 0x8802D001 + E_SYNCENGINE_UNSUPPORTED_FOLDER_NAME Handle = 0x8802D002 + E_SYNCENGINE_UNSUPPORTED_MARKET Handle = 0x8802D003 + E_SYNCENGINE_PATH_LENGTH_LIMIT_EXCEEDED Handle = 0x8802D004 + E_SYNCENGINE_REMOTE_PATH_LENGTH_LIMIT_EXCEEDED Handle = 0x8802D005 + E_SYNCENGINE_CLIENT_UPDATE_NEEDED Handle = 0x8802D006 + E_SYNCENGINE_PROXY_AUTHENTICATION_REQUIRED Handle = 0x8802D007 + E_SYNCENGINE_STORAGE_SERVICE_PROVISIONING_FAILED Handle = 0x8802D008 + E_SYNCENGINE_UNSUPPORTED_REPARSE_POINT Handle = 0x8802D009 + E_SYNCENGINE_STORAGE_SERVICE_BLOCKED Handle = 0x8802D00A + E_SYNCENGINE_FOLDER_IN_REDIRECTION Handle = 0x8802D00B + EAS_E_POLICY_NOT_MANAGED_BY_OS Handle = 0x80550001 + EAS_E_POLICY_COMPLIANT_WITH_ACTIONS Handle = 0x80550002 + EAS_E_REQUESTED_POLICY_NOT_ENFORCEABLE Handle = 0x80550003 + EAS_E_CURRENT_USER_HAS_BLANK_PASSWORD Handle = 0x80550004 + EAS_E_REQUESTED_POLICY_PASSWORD_EXPIRATION_INCOMPATIBLE Handle = 0x80550005 + EAS_E_USER_CANNOT_CHANGE_PASSWORD Handle = 0x80550006 + EAS_E_ADMINS_HAVE_BLANK_PASSWORD Handle = 0x80550007 + EAS_E_ADMINS_CANNOT_CHANGE_PASSWORD Handle = 0x80550008 + EAS_E_LOCAL_CONTROLLED_USERS_CANNOT_CHANGE_PASSWORD Handle = 0x80550009 + EAS_E_PASSWORD_POLICY_NOT_ENFORCEABLE_FOR_CONNECTED_ADMINS Handle = 0x8055000A + EAS_E_CONNECTED_ADMINS_NEED_TO_CHANGE_PASSWORD Handle = 0x8055000B + EAS_E_PASSWORD_POLICY_NOT_ENFORCEABLE_FOR_CURRENT_CONNECTED_USER Handle = 0x8055000C + EAS_E_CURRENT_CONNECTED_USER_NEED_TO_CHANGE_PASSWORD Handle = 0x8055000D + WEB_E_UNSUPPORTED_FORMAT Handle = 0x83750001 + WEB_E_INVALID_XML Handle = 0x83750002 + WEB_E_MISSING_REQUIRED_ELEMENT Handle = 0x83750003 + WEB_E_MISSING_REQUIRED_ATTRIBUTE Handle = 0x83750004 + WEB_E_UNEXPECTED_CONTENT Handle = 0x83750005 + WEB_E_RESOURCE_TOO_LARGE Handle = 0x83750006 + WEB_E_INVALID_JSON_STRING Handle = 0x83750007 + WEB_E_INVALID_JSON_NUMBER Handle = 0x83750008 + WEB_E_JSON_VALUE_NOT_FOUND Handle = 0x83750009 + HTTP_E_STATUS_UNEXPECTED Handle = 0x80190001 + HTTP_E_STATUS_UNEXPECTED_REDIRECTION Handle = 0x80190003 + HTTP_E_STATUS_UNEXPECTED_CLIENT_ERROR Handle = 0x80190004 + HTTP_E_STATUS_UNEXPECTED_SERVER_ERROR Handle = 0x80190005 + HTTP_E_STATUS_AMBIGUOUS Handle = 0x8019012C + HTTP_E_STATUS_MOVED Handle = 0x8019012D + HTTP_E_STATUS_REDIRECT Handle = 0x8019012E + HTTP_E_STATUS_REDIRECT_METHOD Handle = 0x8019012F + HTTP_E_STATUS_NOT_MODIFIED Handle = 0x80190130 + HTTP_E_STATUS_USE_PROXY Handle = 0x80190131 + HTTP_E_STATUS_REDIRECT_KEEP_VERB Handle = 0x80190133 + HTTP_E_STATUS_BAD_REQUEST Handle = 0x80190190 + HTTP_E_STATUS_DENIED Handle = 0x80190191 + HTTP_E_STATUS_PAYMENT_REQ Handle = 0x80190192 + HTTP_E_STATUS_FORBIDDEN Handle = 0x80190193 + HTTP_E_STATUS_NOT_FOUND Handle = 0x80190194 + HTTP_E_STATUS_BAD_METHOD Handle = 0x80190195 + HTTP_E_STATUS_NONE_ACCEPTABLE Handle = 0x80190196 + HTTP_E_STATUS_PROXY_AUTH_REQ Handle = 0x80190197 + HTTP_E_STATUS_REQUEST_TIMEOUT Handle = 0x80190198 + HTTP_E_STATUS_CONFLICT Handle = 0x80190199 + HTTP_E_STATUS_GONE Handle = 0x8019019A + HTTP_E_STATUS_LENGTH_REQUIRED Handle = 0x8019019B + HTTP_E_STATUS_PRECOND_FAILED Handle = 0x8019019C + HTTP_E_STATUS_REQUEST_TOO_LARGE Handle = 0x8019019D + HTTP_E_STATUS_URI_TOO_LONG Handle = 0x8019019E + HTTP_E_STATUS_UNSUPPORTED_MEDIA Handle = 0x8019019F + HTTP_E_STATUS_RANGE_NOT_SATISFIABLE Handle = 0x801901A0 + HTTP_E_STATUS_EXPECTATION_FAILED Handle = 0x801901A1 + HTTP_E_STATUS_SERVER_ERROR Handle = 0x801901F4 + HTTP_E_STATUS_NOT_SUPPORTED Handle = 0x801901F5 + HTTP_E_STATUS_BAD_GATEWAY Handle = 0x801901F6 + HTTP_E_STATUS_SERVICE_UNAVAIL Handle = 0x801901F7 + HTTP_E_STATUS_GATEWAY_TIMEOUT Handle = 0x801901F8 + HTTP_E_STATUS_VERSION_NOT_SUP Handle = 0x801901F9 + E_INVALID_PROTOCOL_OPERATION Handle = 0x83760001 + E_INVALID_PROTOCOL_FORMAT Handle = 0x83760002 + E_PROTOCOL_EXTENSIONS_NOT_SUPPORTED Handle = 0x83760003 + E_SUBPROTOCOL_NOT_SUPPORTED Handle = 0x83760004 + E_PROTOCOL_VERSION_NOT_SUPPORTED Handle = 0x83760005 + INPUT_E_OUT_OF_ORDER Handle = 0x80400000 + INPUT_E_REENTRANCY Handle = 0x80400001 + INPUT_E_MULTIMODAL Handle = 0x80400002 + INPUT_E_PACKET Handle = 0x80400003 + INPUT_E_FRAME Handle = 0x80400004 + INPUT_E_HISTORY Handle = 0x80400005 + INPUT_E_DEVICE_INFO Handle = 0x80400006 + INPUT_E_TRANSFORM Handle = 0x80400007 + INPUT_E_DEVICE_PROPERTY Handle = 0x80400008 + INET_E_INVALID_URL Handle = 0x800C0002 + INET_E_NO_SESSION Handle = 0x800C0003 + INET_E_CANNOT_CONNECT Handle = 0x800C0004 + INET_E_RESOURCE_NOT_FOUND Handle = 0x800C0005 + INET_E_OBJECT_NOT_FOUND Handle = 0x800C0006 + INET_E_DATA_NOT_AVAILABLE Handle = 0x800C0007 + INET_E_DOWNLOAD_FAILURE Handle = 0x800C0008 + INET_E_AUTHENTICATION_REQUIRED Handle = 0x800C0009 + INET_E_NO_VALID_MEDIA Handle = 0x800C000A + INET_E_CONNECTION_TIMEOUT Handle = 0x800C000B + INET_E_INVALID_REQUEST Handle = 0x800C000C + INET_E_UNKNOWN_PROTOCOL Handle = 0x800C000D + INET_E_SECURITY_PROBLEM Handle = 0x800C000E + INET_E_CANNOT_LOAD_DATA Handle = 0x800C000F + INET_E_CANNOT_INSTANTIATE_OBJECT Handle = 0x800C0010 + INET_E_INVALID_CERTIFICATE Handle = 0x800C0019 + INET_E_REDIRECT_FAILED Handle = 0x800C0014 + INET_E_REDIRECT_TO_DIR Handle = 0x800C0015 + ERROR_DBG_CREATE_PROCESS_FAILURE_LOCKDOWN Handle = 0x80B00001 + ERROR_DBG_ATTACH_PROCESS_FAILURE_LOCKDOWN Handle = 0x80B00002 + ERROR_DBG_CONNECT_SERVER_FAILURE_LOCKDOWN Handle = 0x80B00003 + ERROR_DBG_START_SERVER_FAILURE_LOCKDOWN Handle = 0x80B00004 + ERROR_IO_PREEMPTED Handle = 0x89010001 + JSCRIPT_E_CANTEXECUTE Handle = 0x89020001 + WEP_E_NOT_PROVISIONED_ON_ALL_VOLUMES Handle = 0x88010001 + WEP_E_FIXED_DATA_NOT_SUPPORTED Handle = 0x88010002 + WEP_E_HARDWARE_NOT_COMPLIANT Handle = 0x88010003 + WEP_E_LOCK_NOT_CONFIGURED Handle = 0x88010004 + WEP_E_PROTECTION_SUSPENDED Handle = 0x88010005 + WEP_E_NO_LICENSE Handle = 0x88010006 + WEP_E_OS_NOT_PROTECTED Handle = 0x88010007 + WEP_E_UNEXPECTED_FAIL Handle = 0x88010008 + WEP_E_BUFFER_TOO_LARGE Handle = 0x88010009 + ERROR_SVHDX_ERROR_STORED Handle = 0xC05C0000 + ERROR_SVHDX_ERROR_NOT_AVAILABLE Handle = 0xC05CFF00 + ERROR_SVHDX_UNIT_ATTENTION_AVAILABLE Handle = 0xC05CFF01 + ERROR_SVHDX_UNIT_ATTENTION_CAPACITY_DATA_CHANGED Handle = 0xC05CFF02 + ERROR_SVHDX_UNIT_ATTENTION_RESERVATIONS_PREEMPTED Handle = 0xC05CFF03 + ERROR_SVHDX_UNIT_ATTENTION_RESERVATIONS_RELEASED Handle = 0xC05CFF04 + ERROR_SVHDX_UNIT_ATTENTION_REGISTRATIONS_PREEMPTED Handle = 0xC05CFF05 + ERROR_SVHDX_UNIT_ATTENTION_OPERATING_DEFINITION_CHANGED Handle = 0xC05CFF06 + ERROR_SVHDX_RESERVATION_CONFLICT Handle = 0xC05CFF07 + ERROR_SVHDX_WRONG_FILE_TYPE Handle = 0xC05CFF08 + ERROR_SVHDX_VERSION_MISMATCH Handle = 0xC05CFF09 + ERROR_VHD_SHARED Handle = 0xC05CFF0A + ERROR_SVHDX_NO_INITIATOR Handle = 0xC05CFF0B + ERROR_VHDSET_BACKING_STORAGE_NOT_FOUND Handle = 0xC05CFF0C + ERROR_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP Handle = 0xC05D0000 + ERROR_SMB_BAD_CLUSTER_DIALECT Handle = 0xC05D0001 + WININET_E_OUT_OF_HANDLES Handle = 0x80072EE1 + WININET_E_TIMEOUT Handle = 0x80072EE2 + WININET_E_EXTENDED_ERROR Handle = 0x80072EE3 + WININET_E_INTERNAL_ERROR Handle = 0x80072EE4 + WININET_E_INVALID_URL Handle = 0x80072EE5 + WININET_E_UNRECOGNIZED_SCHEME Handle = 0x80072EE6 + WININET_E_NAME_NOT_RESOLVED Handle = 0x80072EE7 + WININET_E_PROTOCOL_NOT_FOUND Handle = 0x80072EE8 + WININET_E_INVALID_OPTION Handle = 0x80072EE9 + WININET_E_BAD_OPTION_LENGTH Handle = 0x80072EEA + WININET_E_OPTION_NOT_SETTABLE Handle = 0x80072EEB + WININET_E_SHUTDOWN Handle = 0x80072EEC + WININET_E_INCORRECT_USER_NAME Handle = 0x80072EED + WININET_E_INCORRECT_PASSWORD Handle = 0x80072EEE + WININET_E_LOGIN_FAILURE Handle = 0x80072EEF + WININET_E_INVALID_OPERATION Handle = 0x80072EF0 + WININET_E_OPERATION_CANCELLED Handle = 0x80072EF1 + WININET_E_INCORRECT_HANDLE_TYPE Handle = 0x80072EF2 + WININET_E_INCORRECT_HANDLE_STATE Handle = 0x80072EF3 + WININET_E_NOT_PROXY_REQUEST Handle = 0x80072EF4 + WININET_E_REGISTRY_VALUE_NOT_FOUND Handle = 0x80072EF5 + WININET_E_BAD_REGISTRY_PARAMETER Handle = 0x80072EF6 + WININET_E_NO_DIRECT_ACCESS Handle = 0x80072EF7 + WININET_E_NO_CONTEXT Handle = 0x80072EF8 + WININET_E_NO_CALLBACK Handle = 0x80072EF9 + WININET_E_REQUEST_PENDING Handle = 0x80072EFA + WININET_E_INCORRECT_FORMAT Handle = 0x80072EFB + WININET_E_ITEM_NOT_FOUND Handle = 0x80072EFC + WININET_E_CANNOT_CONNECT Handle = 0x80072EFD + WININET_E_CONNECTION_ABORTED Handle = 0x80072EFE + WININET_E_CONNECTION_RESET Handle = 0x80072EFF + WININET_E_FORCE_RETRY Handle = 0x80072F00 + WININET_E_INVALID_PROXY_REQUEST Handle = 0x80072F01 + WININET_E_NEED_UI Handle = 0x80072F02 + WININET_E_HANDLE_EXISTS Handle = 0x80072F04 + WININET_E_SEC_CERT_DATE_INVALID Handle = 0x80072F05 + WININET_E_SEC_CERT_CN_INVALID Handle = 0x80072F06 + WININET_E_HTTP_TO_HTTPS_ON_REDIR Handle = 0x80072F07 + WININET_E_HTTPS_TO_HTTP_ON_REDIR Handle = 0x80072F08 + WININET_E_MIXED_SECURITY Handle = 0x80072F09 + WININET_E_CHG_POST_IS_NON_SECURE Handle = 0x80072F0A + WININET_E_POST_IS_NON_SECURE Handle = 0x80072F0B + WININET_E_CLIENT_AUTH_CERT_NEEDED Handle = 0x80072F0C + WININET_E_INVALID_CA Handle = 0x80072F0D + WININET_E_CLIENT_AUTH_NOT_SETUP Handle = 0x80072F0E + WININET_E_ASYNC_THREAD_FAILED Handle = 0x80072F0F + WININET_E_REDIRECT_SCHEME_CHANGE Handle = 0x80072F10 + WININET_E_DIALOG_PENDING Handle = 0x80072F11 + WININET_E_RETRY_DIALOG Handle = 0x80072F12 + WININET_E_NO_NEW_CONTAINERS Handle = 0x80072F13 + WININET_E_HTTPS_HTTP_SUBMIT_REDIR Handle = 0x80072F14 + WININET_E_SEC_CERT_ERRORS Handle = 0x80072F17 + WININET_E_SEC_CERT_REV_FAILED Handle = 0x80072F19 + WININET_E_HEADER_NOT_FOUND Handle = 0x80072F76 + WININET_E_DOWNLEVEL_SERVER Handle = 0x80072F77 + WININET_E_INVALID_SERVER_RESPONSE Handle = 0x80072F78 + WININET_E_INVALID_HEADER Handle = 0x80072F79 + WININET_E_INVALID_QUERY_REQUEST Handle = 0x80072F7A + WININET_E_HEADER_ALREADY_EXISTS Handle = 0x80072F7B + WININET_E_REDIRECT_FAILED Handle = 0x80072F7C + WININET_E_SECURITY_CHANNEL_ERROR Handle = 0x80072F7D + WININET_E_UNABLE_TO_CACHE_FILE Handle = 0x80072F7E + WININET_E_TCPIP_NOT_INSTALLED Handle = 0x80072F7F + WININET_E_DISCONNECTED Handle = 0x80072F83 + WININET_E_SERVER_UNREACHABLE Handle = 0x80072F84 + WININET_E_PROXY_SERVER_UNREACHABLE Handle = 0x80072F85 + WININET_E_BAD_AUTO_PROXY_SCRIPT Handle = 0x80072F86 + WININET_E_UNABLE_TO_DOWNLOAD_SCRIPT Handle = 0x80072F87 + WININET_E_SEC_INVALID_CERT Handle = 0x80072F89 + WININET_E_SEC_CERT_REVOKED Handle = 0x80072F8A + WININET_E_FAILED_DUETOSECURITYCHECK Handle = 0x80072F8B + WININET_E_NOT_INITIALIZED Handle = 0x80072F8C + WININET_E_LOGIN_FAILURE_DISPLAY_ENTITY_BODY Handle = 0x80072F8E + WININET_E_DECODING_FAILED Handle = 0x80072F8F + WININET_E_NOT_REDIRECTED Handle = 0x80072F80 + WININET_E_COOKIE_NEEDS_CONFIRMATION Handle = 0x80072F81 + WININET_E_COOKIE_DECLINED Handle = 0x80072F82 + WININET_E_REDIRECT_NEEDS_CONFIRMATION Handle = 0x80072F88 + SQLITE_E_ERROR Handle = 0x87AF0001 + SQLITE_E_INTERNAL Handle = 0x87AF0002 + SQLITE_E_PERM Handle = 0x87AF0003 + SQLITE_E_ABORT Handle = 0x87AF0004 + SQLITE_E_BUSY Handle = 0x87AF0005 + SQLITE_E_LOCKED Handle = 0x87AF0006 + SQLITE_E_NOMEM Handle = 0x87AF0007 + SQLITE_E_READONLY Handle = 0x87AF0008 + SQLITE_E_INTERRUPT Handle = 0x87AF0009 + SQLITE_E_IOERR Handle = 0x87AF000A + SQLITE_E_CORRUPT Handle = 0x87AF000B + SQLITE_E_NOTFOUND Handle = 0x87AF000C + SQLITE_E_FULL Handle = 0x87AF000D + SQLITE_E_CANTOPEN Handle = 0x87AF000E + SQLITE_E_PROTOCOL Handle = 0x87AF000F + SQLITE_E_EMPTY Handle = 0x87AF0010 + SQLITE_E_SCHEMA Handle = 0x87AF0011 + SQLITE_E_TOOBIG Handle = 0x87AF0012 + SQLITE_E_CONSTRAINT Handle = 0x87AF0013 + SQLITE_E_MISMATCH Handle = 0x87AF0014 + SQLITE_E_MISUSE Handle = 0x87AF0015 + SQLITE_E_NOLFS Handle = 0x87AF0016 + SQLITE_E_AUTH Handle = 0x87AF0017 + SQLITE_E_FORMAT Handle = 0x87AF0018 + SQLITE_E_RANGE Handle = 0x87AF0019 + SQLITE_E_NOTADB Handle = 0x87AF001A + SQLITE_E_NOTICE Handle = 0x87AF001B + SQLITE_E_WARNING Handle = 0x87AF001C + SQLITE_E_ROW Handle = 0x87AF0064 + SQLITE_E_DONE Handle = 0x87AF0065 + SQLITE_E_IOERR_READ Handle = 0x87AF010A + SQLITE_E_IOERR_SHORT_READ Handle = 0x87AF020A + SQLITE_E_IOERR_WRITE Handle = 0x87AF030A + SQLITE_E_IOERR_FSYNC Handle = 0x87AF040A + SQLITE_E_IOERR_DIR_FSYNC Handle = 0x87AF050A + SQLITE_E_IOERR_TRUNCATE Handle = 0x87AF060A + SQLITE_E_IOERR_FSTAT Handle = 0x87AF070A + SQLITE_E_IOERR_UNLOCK Handle = 0x87AF080A + SQLITE_E_IOERR_RDLOCK Handle = 0x87AF090A + SQLITE_E_IOERR_DELETE Handle = 0x87AF0A0A + SQLITE_E_IOERR_BLOCKED Handle = 0x87AF0B0A + SQLITE_E_IOERR_NOMEM Handle = 0x87AF0C0A + SQLITE_E_IOERR_ACCESS Handle = 0x87AF0D0A + SQLITE_E_IOERR_CHECKRESERVEDLOCK Handle = 0x87AF0E0A + SQLITE_E_IOERR_LOCK Handle = 0x87AF0F0A + SQLITE_E_IOERR_CLOSE Handle = 0x87AF100A + SQLITE_E_IOERR_DIR_CLOSE Handle = 0x87AF110A + SQLITE_E_IOERR_SHMOPEN Handle = 0x87AF120A + SQLITE_E_IOERR_SHMSIZE Handle = 0x87AF130A + SQLITE_E_IOERR_SHMLOCK Handle = 0x87AF140A + SQLITE_E_IOERR_SHMMAP Handle = 0x87AF150A + SQLITE_E_IOERR_SEEK Handle = 0x87AF160A + SQLITE_E_IOERR_DELETE_NOENT Handle = 0x87AF170A + SQLITE_E_IOERR_MMAP Handle = 0x87AF180A + SQLITE_E_IOERR_GETTEMPPATH Handle = 0x87AF190A + SQLITE_E_IOERR_CONVPATH Handle = 0x87AF1A0A + SQLITE_E_IOERR_VNODE Handle = 0x87AF1A02 + SQLITE_E_IOERR_AUTH Handle = 0x87AF1A03 + SQLITE_E_LOCKED_SHAREDCACHE Handle = 0x87AF0106 + SQLITE_E_BUSY_RECOVERY Handle = 0x87AF0105 + SQLITE_E_BUSY_SNAPSHOT Handle = 0x87AF0205 + SQLITE_E_CANTOPEN_NOTEMPDIR Handle = 0x87AF010E + SQLITE_E_CANTOPEN_ISDIR Handle = 0x87AF020E + SQLITE_E_CANTOPEN_FULLPATH Handle = 0x87AF030E + SQLITE_E_CANTOPEN_CONVPATH Handle = 0x87AF040E + SQLITE_E_CORRUPT_VTAB Handle = 0x87AF010B + SQLITE_E_READONLY_RECOVERY Handle = 0x87AF0108 + SQLITE_E_READONLY_CANTLOCK Handle = 0x87AF0208 + SQLITE_E_READONLY_ROLLBACK Handle = 0x87AF0308 + SQLITE_E_READONLY_DBMOVED Handle = 0x87AF0408 + SQLITE_E_ABORT_ROLLBACK Handle = 0x87AF0204 + SQLITE_E_CONSTRAINT_CHECK Handle = 0x87AF0113 + SQLITE_E_CONSTRAINT_COMMITHOOK Handle = 0x87AF0213 + SQLITE_E_CONSTRAINT_FOREIGNKEY Handle = 0x87AF0313 + SQLITE_E_CONSTRAINT_FUNCTION Handle = 0x87AF0413 + SQLITE_E_CONSTRAINT_NOTNULL Handle = 0x87AF0513 + SQLITE_E_CONSTRAINT_PRIMARYKEY Handle = 0x87AF0613 + SQLITE_E_CONSTRAINT_TRIGGER Handle = 0x87AF0713 + SQLITE_E_CONSTRAINT_UNIQUE Handle = 0x87AF0813 + SQLITE_E_CONSTRAINT_VTAB Handle = 0x87AF0913 + SQLITE_E_CONSTRAINT_ROWID Handle = 0x87AF0A13 + SQLITE_E_NOTICE_RECOVER_WAL Handle = 0x87AF011B + SQLITE_E_NOTICE_RECOVER_ROLLBACK Handle = 0x87AF021B + SQLITE_E_WARNING_AUTOINDEX Handle = 0x87AF011C + UTC_E_TOGGLE_TRACE_STARTED Handle = 0x87C51001 + UTC_E_ALTERNATIVE_TRACE_CANNOT_PREEMPT Handle = 0x87C51002 + UTC_E_AOT_NOT_RUNNING Handle = 0x87C51003 + UTC_E_SCRIPT_TYPE_INVALID Handle = 0x87C51004 + UTC_E_SCENARIODEF_NOT_FOUND Handle = 0x87C51005 + UTC_E_TRACEPROFILE_NOT_FOUND Handle = 0x87C51006 + UTC_E_FORWARDER_ALREADY_ENABLED Handle = 0x87C51007 + UTC_E_FORWARDER_ALREADY_DISABLED Handle = 0x87C51008 + UTC_E_EVENTLOG_ENTRY_MALFORMED Handle = 0x87C51009 + UTC_E_DIAGRULES_SCHEMAVERSION_MISMATCH Handle = 0x87C5100A + UTC_E_SCRIPT_TERMINATED Handle = 0x87C5100B + UTC_E_INVALID_CUSTOM_FILTER Handle = 0x87C5100C + UTC_E_TRACE_NOT_RUNNING Handle = 0x87C5100D + UTC_E_REESCALATED_TOO_QUICKLY Handle = 0x87C5100E + UTC_E_ESCALATION_ALREADY_RUNNING Handle = 0x87C5100F + UTC_E_PERFTRACK_ALREADY_TRACING Handle = 0x87C51010 + UTC_E_REACHED_MAX_ESCALATIONS Handle = 0x87C51011 + UTC_E_FORWARDER_PRODUCER_MISMATCH Handle = 0x87C51012 + UTC_E_INTENTIONAL_SCRIPT_FAILURE Handle = 0x87C51013 + UTC_E_SQM_INIT_FAILED Handle = 0x87C51014 + UTC_E_NO_WER_LOGGER_SUPPORTED Handle = 0x87C51015 + UTC_E_TRACERS_DONT_EXIST Handle = 0x87C51016 + UTC_E_WINRT_INIT_FAILED Handle = 0x87C51017 + UTC_E_SCENARIODEF_SCHEMAVERSION_MISMATCH Handle = 0x87C51018 + UTC_E_INVALID_FILTER Handle = 0x87C51019 + UTC_E_EXE_TERMINATED Handle = 0x87C5101A + UTC_E_ESCALATION_NOT_AUTHORIZED Handle = 0x87C5101B + UTC_E_SETUP_NOT_AUTHORIZED Handle = 0x87C5101C + UTC_E_CHILD_PROCESS_FAILED Handle = 0x87C5101D + UTC_E_COMMAND_LINE_NOT_AUTHORIZED Handle = 0x87C5101E + UTC_E_CANNOT_LOAD_SCENARIO_EDITOR_XML Handle = 0x87C5101F + UTC_E_ESCALATION_TIMED_OUT Handle = 0x87C51020 + UTC_E_SETUP_TIMED_OUT Handle = 0x87C51021 + UTC_E_TRIGGER_MISMATCH Handle = 0x87C51022 + UTC_E_TRIGGER_NOT_FOUND Handle = 0x87C51023 + UTC_E_SIF_NOT_SUPPORTED Handle = 0x87C51024 + UTC_E_DELAY_TERMINATED Handle = 0x87C51025 + UTC_E_DEVICE_TICKET_ERROR Handle = 0x87C51026 + UTC_E_TRACE_BUFFER_LIMIT_EXCEEDED Handle = 0x87C51027 + UTC_E_API_RESULT_UNAVAILABLE Handle = 0x87C51028 + UTC_E_RPC_TIMEOUT Handle = 0x87C51029 + UTC_E_RPC_WAIT_FAILED Handle = 0x87C5102A + UTC_E_API_BUSY Handle = 0x87C5102B + UTC_E_TRACE_MIN_DURATION_REQUIREMENT_NOT_MET Handle = 0x87C5102C + UTC_E_EXCLUSIVITY_NOT_AVAILABLE Handle = 0x87C5102D + UTC_E_GETFILE_FILE_PATH_NOT_APPROVED Handle = 0x87C5102E + UTC_E_ESCALATION_DIRECTORY_ALREADY_EXISTS Handle = 0x87C5102F + UTC_E_TIME_TRIGGER_ON_START_INVALID Handle = 0x87C51030 + UTC_E_TIME_TRIGGER_ONLY_VALID_ON_SINGLE_TRANSITION Handle = 0x87C51031 + UTC_E_TIME_TRIGGER_INVALID_TIME_RANGE Handle = 0x87C51032 + UTC_E_MULTIPLE_TIME_TRIGGER_ON_SINGLE_STATE Handle = 0x87C51033 + UTC_E_BINARY_MISSING Handle = 0x87C51034 + UTC_E_NETWORK_CAPTURE_NOT_ALLOWED Handle = 0x87C51035 + UTC_E_FAILED_TO_RESOLVE_CONTAINER_ID Handle = 0x87C51036 + UTC_E_UNABLE_TO_RESOLVE_SESSION Handle = 0x87C51037 + UTC_E_THROTTLED Handle = 0x87C51038 + UTC_E_UNAPPROVED_SCRIPT Handle = 0x87C51039 + UTC_E_SCRIPT_MISSING Handle = 0x87C5103A + UTC_E_SCENARIO_THROTTLED Handle = 0x87C5103B + UTC_E_API_NOT_SUPPORTED Handle = 0x87C5103C + UTC_E_GETFILE_EXTERNAL_PATH_NOT_APPROVED Handle = 0x87C5103D + UTC_E_TRY_GET_SCENARIO_TIMEOUT_EXCEEDED Handle = 0x87C5103E + UTC_E_CERT_REV_FAILED Handle = 0x87C5103F + UTC_E_FAILED_TO_START_NDISCAP Handle = 0x87C51040 + UTC_E_KERNELDUMP_LIMIT_REACHED Handle = 0x87C51041 + UTC_E_MISSING_AGGREGATE_EVENT_TAG Handle = 0x87C51042 + UTC_E_INVALID_AGGREGATION_STRUCT Handle = 0x87C51043 + UTC_E_ACTION_NOT_SUPPORTED_IN_DESTINATION Handle = 0x87C51044 + UTC_E_FILTER_MISSING_ATTRIBUTE Handle = 0x87C51045 + UTC_E_FILTER_INVALID_TYPE Handle = 0x87C51046 + UTC_E_FILTER_VARIABLE_NOT_FOUND Handle = 0x87C51047 + UTC_E_FILTER_FUNCTION_RESTRICTED Handle = 0x87C51048 + UTC_E_FILTER_VERSION_MISMATCH Handle = 0x87C51049 + UTC_E_FILTER_INVALID_FUNCTION Handle = 0x87C51050 + UTC_E_FILTER_INVALID_FUNCTION_PARAMS Handle = 0x87C51051 + UTC_E_FILTER_INVALID_COMMAND Handle = 0x87C51052 + UTC_E_FILTER_ILLEGAL_EVAL Handle = 0x87C51053 + UTC_E_TTTRACER_RETURNED_ERROR Handle = 0x87C51054 + UTC_E_AGENT_DIAGNOSTICS_TOO_LARGE Handle = 0x87C51055 + UTC_E_FAILED_TO_RECEIVE_AGENT_DIAGNOSTICS Handle = 0x87C51056 + UTC_E_SCENARIO_HAS_NO_ACTIONS Handle = 0x87C51057 + UTC_E_TTTRACER_STORAGE_FULL Handle = 0x87C51058 + UTC_E_INSUFFICIENT_SPACE_TO_START_TRACE Handle = 0x87C51059 + UTC_E_ESCALATION_CANCELLED_AT_SHUTDOWN Handle = 0x87C5105A + UTC_E_GETFILEINFOACTION_FILE_NOT_APPROVED Handle = 0x87C5105B + WINML_ERR_INVALID_DEVICE Handle = 0x88900001 + WINML_ERR_INVALID_BINDING Handle = 0x88900002 + WINML_ERR_VALUE_NOTFOUND Handle = 0x88900003 + WINML_ERR_SIZE_MISMATCH Handle = 0x88900004 +) diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go index e4b54e2d..f37d7d42 100644 --- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go +++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go @@ -38,14 +38,17 @@ var ( modadvapi32 = NewLazySystemDLL("advapi32.dll") modkernel32 = NewLazySystemDLL("kernel32.dll") modshell32 = NewLazySystemDLL("shell32.dll") + moduserenv = NewLazySystemDLL("userenv.dll") modmswsock = NewLazySystemDLL("mswsock.dll") modcrypt32 = NewLazySystemDLL("crypt32.dll") + moduser32 = NewLazySystemDLL("user32.dll") + modole32 = NewLazySystemDLL("ole32.dll") modws2_32 = NewLazySystemDLL("ws2_32.dll") moddnsapi = NewLazySystemDLL("dnsapi.dll") modiphlpapi = NewLazySystemDLL("iphlpapi.dll") modsecur32 = NewLazySystemDLL("secur32.dll") modnetapi32 = NewLazySystemDLL("netapi32.dll") - moduserenv = NewLazySystemDLL("userenv.dll") + modwtsapi32 = NewLazySystemDLL("wtsapi32.dll") procRegisterEventSourceW = modadvapi32.NewProc("RegisterEventSourceW") procDeregisterEventSource = modadvapi32.NewProc("DeregisterEventSource") @@ -66,6 +69,7 @@ var ( procQueryServiceConfig2W = modadvapi32.NewProc("QueryServiceConfig2W") procEnumServicesStatusExW = modadvapi32.NewProc("EnumServicesStatusExW") procQueryServiceStatusEx = modadvapi32.NewProc("QueryServiceStatusEx") + procNotifyServiceStatusChangeW = modadvapi32.NewProc("NotifyServiceStatusChangeW") procGetLastError = modkernel32.NewProc("GetLastError") procLoadLibraryW = modkernel32.NewProc("LoadLibraryW") procLoadLibraryExW = modkernel32.NewProc("LoadLibraryExW") @@ -74,9 +78,11 @@ var ( procGetVersion = modkernel32.NewProc("GetVersion") procFormatMessageW = modkernel32.NewProc("FormatMessageW") procExitProcess = modkernel32.NewProc("ExitProcess") + procIsWow64Process = modkernel32.NewProc("IsWow64Process") procCreateFileW = modkernel32.NewProc("CreateFileW") procReadFile = modkernel32.NewProc("ReadFile") procWriteFile = modkernel32.NewProc("WriteFile") + procGetOverlappedResult = modkernel32.NewProc("GetOverlappedResult") procSetFilePointer = modkernel32.NewProc("SetFilePointer") procCloseHandle = modkernel32.NewProc("CloseHandle") procGetStdHandle = modkernel32.NewProc("GetStdHandle") @@ -85,6 +91,7 @@ var ( procFindNextFileW = modkernel32.NewProc("FindNextFileW") procFindClose = modkernel32.NewProc("FindClose") procGetFileInformationByHandle = modkernel32.NewProc("GetFileInformationByHandle") + procGetFileInformationByHandleEx = modkernel32.NewProc("GetFileInformationByHandleEx") procGetCurrentDirectoryW = modkernel32.NewProc("GetCurrentDirectoryW") procSetCurrentDirectoryW = modkernel32.NewProc("SetCurrentDirectoryW") procCreateDirectoryW = modkernel32.NewProc("CreateDirectoryW") @@ -105,10 +112,12 @@ var ( procCancelIoEx = modkernel32.NewProc("CancelIoEx") procCreateProcessW = modkernel32.NewProc("CreateProcessW") procOpenProcess = modkernel32.NewProc("OpenProcess") + procShellExecuteW = modshell32.NewProc("ShellExecuteW") procTerminateProcess = modkernel32.NewProc("TerminateProcess") procGetExitCodeProcess = modkernel32.NewProc("GetExitCodeProcess") procGetStartupInfoW = modkernel32.NewProc("GetStartupInfoW") procGetCurrentProcess = modkernel32.NewProc("GetCurrentProcess") + procGetCurrentThread = modkernel32.NewProc("GetCurrentThread") procGetProcessTimes = modkernel32.NewProc("GetProcessTimes") procDuplicateHandle = modkernel32.NewProc("DuplicateHandle") procWaitForSingleObject = modkernel32.NewProc("WaitForSingleObject") @@ -123,6 +132,9 @@ var ( procFreeEnvironmentStringsW = modkernel32.NewProc("FreeEnvironmentStringsW") procGetEnvironmentVariableW = modkernel32.NewProc("GetEnvironmentVariableW") procSetEnvironmentVariableW = modkernel32.NewProc("SetEnvironmentVariableW") + procCreateEnvironmentBlock = moduserenv.NewProc("CreateEnvironmentBlock") + procDestroyEnvironmentBlock = moduserenv.NewProc("DestroyEnvironmentBlock") + procGetTickCount64 = modkernel32.NewProc("GetTickCount64") procSetFileTime = modkernel32.NewProc("SetFileTime") procGetFileAttributesW = modkernel32.NewProc("GetFileAttributesW") procSetFileAttributesW = modkernel32.NewProc("SetFileAttributesW") @@ -170,6 +182,8 @@ var ( procCreateToolhelp32Snapshot = modkernel32.NewProc("CreateToolhelp32Snapshot") procProcess32FirstW = modkernel32.NewProc("Process32FirstW") procProcess32NextW = modkernel32.NewProc("Process32NextW") + procThread32First = modkernel32.NewProc("Thread32First") + procThread32Next = modkernel32.NewProc("Thread32Next") procDeviceIoControl = modkernel32.NewProc("DeviceIoControl") procCreateSymbolicLinkW = modkernel32.NewProc("CreateSymbolicLinkW") procCreateHardLinkW = modkernel32.NewProc("CreateHardLinkW") @@ -180,6 +194,16 @@ var ( procSetEvent = modkernel32.NewProc("SetEvent") procResetEvent = modkernel32.NewProc("ResetEvent") procPulseEvent = modkernel32.NewProc("PulseEvent") + procSleepEx = modkernel32.NewProc("SleepEx") + procCreateJobObjectW = modkernel32.NewProc("CreateJobObjectW") + procAssignProcessToJobObject = modkernel32.NewProc("AssignProcessToJobObject") + procTerminateJobObject = modkernel32.NewProc("TerminateJobObject") + procSetErrorMode = modkernel32.NewProc("SetErrorMode") + procResumeThread = modkernel32.NewProc("ResumeThread") + procSetPriorityClass = modkernel32.NewProc("SetPriorityClass") + procGetPriorityClass = modkernel32.NewProc("GetPriorityClass") + procSetInformationJobObject = modkernel32.NewProc("SetInformationJobObject") + procGenerateConsoleCtrlEvent = modkernel32.NewProc("GenerateConsoleCtrlEvent") procDefineDosDeviceW = modkernel32.NewProc("DefineDosDeviceW") procDeleteVolumeMountPointW = modkernel32.NewProc("DeleteVolumeMountPointW") procFindFirstVolumeW = modkernel32.NewProc("FindFirstVolumeW") @@ -199,6 +223,10 @@ var ( procQueryDosDeviceW = modkernel32.NewProc("QueryDosDeviceW") procSetVolumeLabelW = modkernel32.NewProc("SetVolumeLabelW") procSetVolumeMountPointW = modkernel32.NewProc("SetVolumeMountPointW") + procMessageBoxW = moduser32.NewProc("MessageBoxW") + procCLSIDFromString = modole32.NewProc("CLSIDFromString") + procStringFromGUID2 = modole32.NewProc("StringFromGUID2") + procCoCreateGuid = modole32.NewProc("CoCreateGuid") procWSAStartup = modws2_32.NewProc("WSAStartup") procWSACleanup = modws2_32.NewProc("WSACleanup") procWSAIoctl = modws2_32.NewProc("WSAIoctl") @@ -246,12 +274,31 @@ var ( procGetLengthSid = modadvapi32.NewProc("GetLengthSid") procCopySid = modadvapi32.NewProc("CopySid") procAllocateAndInitializeSid = modadvapi32.NewProc("AllocateAndInitializeSid") + procCreateWellKnownSid = modadvapi32.NewProc("CreateWellKnownSid") + procIsWellKnownSid = modadvapi32.NewProc("IsWellKnownSid") procFreeSid = modadvapi32.NewProc("FreeSid") procEqualSid = modadvapi32.NewProc("EqualSid") + procGetSidIdentifierAuthority = modadvapi32.NewProc("GetSidIdentifierAuthority") + procGetSidSubAuthorityCount = modadvapi32.NewProc("GetSidSubAuthorityCount") + procGetSidSubAuthority = modadvapi32.NewProc("GetSidSubAuthority") + procIsValidSid = modadvapi32.NewProc("IsValidSid") procCheckTokenMembership = modadvapi32.NewProc("CheckTokenMembership") procOpenProcessToken = modadvapi32.NewProc("OpenProcessToken") + procOpenThreadToken = modadvapi32.NewProc("OpenThreadToken") + procImpersonateSelf = modadvapi32.NewProc("ImpersonateSelf") + procRevertToSelf = modadvapi32.NewProc("RevertToSelf") + procSetThreadToken = modadvapi32.NewProc("SetThreadToken") + procLookupPrivilegeValueW = modadvapi32.NewProc("LookupPrivilegeValueW") + procAdjustTokenPrivileges = modadvapi32.NewProc("AdjustTokenPrivileges") + procAdjustTokenGroups = modadvapi32.NewProc("AdjustTokenGroups") procGetTokenInformation = modadvapi32.NewProc("GetTokenInformation") + procSetTokenInformation = modadvapi32.NewProc("SetTokenInformation") + procDuplicateTokenEx = modadvapi32.NewProc("DuplicateTokenEx") procGetUserProfileDirectoryW = moduserenv.NewProc("GetUserProfileDirectoryW") + procGetSystemDirectoryW = modkernel32.NewProc("GetSystemDirectoryW") + procWTSQueryUserToken = modwtsapi32.NewProc("WTSQueryUserToken") + procWTSEnumerateSessionsW = modwtsapi32.NewProc("WTSEnumerateSessionsW") + procWTSFreeMemory = modwtsapi32.NewProc("WTSFreeMemory") ) func RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handle, err error) { @@ -486,6 +533,14 @@ func QueryServiceStatusEx(service Handle, infoLevel uint32, buff *byte, buffSize return } +func NotifyServiceStatusChange(service Handle, notifyMask uint32, notifier *SERVICE_NOTIFY) (ret error) { + r0, _, _ := syscall.Syscall(procNotifyServiceStatusChangeW.Addr(), 3, uintptr(service), uintptr(notifyMask), uintptr(unsafe.Pointer(notifier))) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + func GetLastError() (lasterr error) { r0, _, _ := syscall.Syscall(procGetLastError.Addr(), 0, 0, 0, 0) if r0 != 0 { @@ -607,7 +662,19 @@ func ExitProcess(exitcode uint32) { return } -func CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile int32) (handle Handle, err error) { +func IsWow64Process(handle Handle, isWow64 *bool) (err error) { + r1, _, e1 := syscall.Syscall(procIsWow64Process.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(isWow64)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile Handle) (handle Handle, err error) { r0, _, e1 := syscall.Syscall9(procCreateFileW.Addr(), 7, uintptr(unsafe.Pointer(name)), uintptr(access), uintptr(mode), uintptr(unsafe.Pointer(sa)), uintptr(createmode), uintptr(attrs), uintptr(templatefile), 0, 0) handle = Handle(r0) if handle == InvalidHandle { @@ -652,6 +719,24 @@ func WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) return } +func GetOverlappedResult(handle Handle, overlapped *Overlapped, done *uint32, wait bool) (err error) { + var _p0 uint32 + if wait { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall6(procGetOverlappedResult.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(done)), uintptr(_p0), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + func SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) { r0, _, e1 := syscall.Syscall6(procSetFilePointer.Addr(), 4, uintptr(handle), uintptr(lowoffset), uintptr(unsafe.Pointer(highoffsetptr)), uintptr(whence), 0, 0) newlowoffset = uint32(r0) @@ -751,6 +836,18 @@ func GetFileInformationByHandle(handle Handle, data *ByHandleFileInformation) (e return } +func GetFileInformationByHandleEx(handle Handle, class uint32, outBuffer *byte, outBufferLen uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procGetFileInformationByHandleEx.Addr(), 4, uintptr(handle), uintptr(class), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferLen), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + func GetCurrentDirectory(buflen uint32, buf *uint16) (n uint32, err error) { r0, _, e1 := syscall.Syscall(procGetCurrentDirectoryW.Addr(), 2, uintptr(buflen), uintptr(unsafe.Pointer(buf)), 0) n = uint32(r0) @@ -993,6 +1090,18 @@ func OpenProcess(da uint32, inheritHandle bool, pid uint32) (handle Handle, err return } +func ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) { + r1, _, e1 := syscall.Syscall6(procShellExecuteW.Addr(), 6, uintptr(hwnd), uintptr(unsafe.Pointer(verb)), uintptr(unsafe.Pointer(file)), uintptr(unsafe.Pointer(args)), uintptr(unsafe.Pointer(cwd)), uintptr(showCmd)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + func TerminateProcess(handle Handle, exitcode uint32) (err error) { r1, _, e1 := syscall.Syscall(procTerminateProcess.Addr(), 2, uintptr(handle), uintptr(exitcode), 0) if r1 == 0 { @@ -1042,6 +1151,19 @@ func GetCurrentProcess() (pseudoHandle Handle, err error) { return } +func GetCurrentThread() (pseudoHandle Handle, err error) { + r0, _, e1 := syscall.Syscall(procGetCurrentThread.Addr(), 0, 0, 0, 0) + pseudoHandle = Handle(r0) + if pseudoHandle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + func GetProcessTimes(handle Handle, creationTime *Filetime, exitTime *Filetime, kernelTime *Filetime, userTime *Filetime) (err error) { r1, _, e1 := syscall.Syscall6(procGetProcessTimes.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(creationTime)), uintptr(unsafe.Pointer(exitTime)), uintptr(unsafe.Pointer(kernelTime)), uintptr(unsafe.Pointer(userTime)), 0) if r1 == 0 { @@ -1228,6 +1350,42 @@ func SetEnvironmentVariable(name *uint16, value *uint16) (err error) { return } +func CreateEnvironmentBlock(block **uint16, token Token, inheritExisting bool) (err error) { + var _p0 uint32 + if inheritExisting { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall(procCreateEnvironmentBlock.Addr(), 3, uintptr(unsafe.Pointer(block)), uintptr(token), uintptr(_p0)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func DestroyEnvironmentBlock(block *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procDestroyEnvironmentBlock.Addr(), 1, uintptr(unsafe.Pointer(block)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func getTickCount64() (ms uint64) { + r0, _, _ := syscall.Syscall(procGetTickCount64.Addr(), 0, 0, 0, 0) + ms = uint64(r0) + return +} + func SetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) { r1, _, e1 := syscall.Syscall6(procSetFileTime.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(ctime)), uintptr(unsafe.Pointer(atime)), uintptr(unsafe.Pointer(wtime)), 0, 0) if r1 == 0 { @@ -1773,6 +1931,30 @@ func Process32Next(snapshot Handle, procEntry *ProcessEntry32) (err error) { return } +func Thread32First(snapshot Handle, threadEntry *ThreadEntry32) (err error) { + r1, _, e1 := syscall.Syscall(procThread32First.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func Thread32Next(snapshot Handle, threadEntry *ThreadEntry32) (err error) { + r1, _, e1 := syscall.Syscall(procThread32Next.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + func DeviceIoControl(handle Handle, ioControlCode uint32, inBuffer *byte, inBufferSize uint32, outBuffer *byte, outBufferSize uint32, bytesReturned *uint32, overlapped *Overlapped) (err error) { r1, _, e1 := syscall.Syscall9(procDeviceIoControl.Addr(), 8, uintptr(handle), uintptr(ioControlCode), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferSize), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferSize), uintptr(unsafe.Pointer(bytesReturned)), uintptr(unsafe.Pointer(overlapped)), 0) if r1 == 0 { @@ -1896,6 +2078,124 @@ func PulseEvent(event Handle) (err error) { return } +func SleepEx(milliseconds uint32, alertable bool) (ret uint32) { + var _p0 uint32 + if alertable { + _p0 = 1 + } else { + _p0 = 0 + } + r0, _, _ := syscall.Syscall(procSleepEx.Addr(), 2, uintptr(milliseconds), uintptr(_p0), 0) + ret = uint32(r0) + return +} + +func CreateJobObject(jobAttr *SecurityAttributes, name *uint16) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procCreateJobObjectW.Addr(), 2, uintptr(unsafe.Pointer(jobAttr)), uintptr(unsafe.Pointer(name)), 0) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func AssignProcessToJobObject(job Handle, process Handle) (err error) { + r1, _, e1 := syscall.Syscall(procAssignProcessToJobObject.Addr(), 2, uintptr(job), uintptr(process), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func TerminateJobObject(job Handle, exitCode uint32) (err error) { + r1, _, e1 := syscall.Syscall(procTerminateJobObject.Addr(), 2, uintptr(job), uintptr(exitCode), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetErrorMode(mode uint32) (ret uint32) { + r0, _, _ := syscall.Syscall(procSetErrorMode.Addr(), 1, uintptr(mode), 0, 0) + ret = uint32(r0) + return +} + +func ResumeThread(thread Handle) (ret uint32, err error) { + r0, _, e1 := syscall.Syscall(procResumeThread.Addr(), 1, uintptr(thread), 0, 0) + ret = uint32(r0) + if ret == 0xffffffff { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetPriorityClass(process Handle, priorityClass uint32) (err error) { + r1, _, e1 := syscall.Syscall(procSetPriorityClass.Addr(), 2, uintptr(process), uintptr(priorityClass), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetPriorityClass(process Handle) (ret uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetPriorityClass.Addr(), 1, uintptr(process), 0, 0) + ret = uint32(r0) + if ret == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetInformationJobObject(job Handle, JobObjectInformationClass uint32, JobObjectInformation uintptr, JobObjectInformationLength uint32) (ret int, err error) { + r0, _, e1 := syscall.Syscall6(procSetInformationJobObject.Addr(), 4, uintptr(job), uintptr(JobObjectInformationClass), uintptr(JobObjectInformation), uintptr(JobObjectInformationLength), 0, 0) + ret = int(r0) + if ret == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GenerateConsoleCtrlEvent(ctrlEvent uint32, processGroupID uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGenerateConsoleCtrlEvent.Addr(), 2, uintptr(ctrlEvent), uintptr(processGroupID), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + func DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) { r1, _, e1 := syscall.Syscall(procDefineDosDeviceW.Addr(), 3, uintptr(flags), uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath))) if r1 == 0 { @@ -2123,6 +2423,45 @@ func SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err erro return } +func MessageBox(hwnd Handle, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) { + r0, _, e1 := syscall.Syscall6(procMessageBoxW.Addr(), 4, uintptr(hwnd), uintptr(unsafe.Pointer(text)), uintptr(unsafe.Pointer(caption)), uintptr(boxtype), 0, 0) + ret = int32(r0) + if ret == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func clsidFromString(lpsz *uint16, pclsid *GUID) (err error) { + r1, _, e1 := syscall.Syscall(procCLSIDFromString.Addr(), 2, uintptr(unsafe.Pointer(lpsz)), uintptr(unsafe.Pointer(pclsid)), 0) + if r1 != 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func stringFromGUID2(rguid *GUID, lpsz *uint16, cchMax int) (chars int) { + r0, _, _ := syscall.Syscall(procStringFromGUID2.Addr(), 3, uintptr(unsafe.Pointer(rguid)), uintptr(unsafe.Pointer(lpsz)), uintptr(cchMax)) + chars = int(r0) + return +} + +func coCreateGuid(pguid *GUID) (ret error) { + r0, _, _ := syscall.Syscall(procCoCreateGuid.Addr(), 1, uintptr(unsafe.Pointer(pguid)), 0, 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + func WSAStartup(verreq uint32, data *WSAData) (sockerr error) { r0, _, _ := syscall.Syscall(procWSAStartup.Addr(), 2, uintptr(verreq), uintptr(unsafe.Pointer(data)), 0) if r0 != 0 { @@ -2653,6 +2992,24 @@ func AllocateAndInitializeSid(identAuth *SidIdentifierAuthority, subAuth byte, s return } +func createWellKnownSid(sidType WELL_KNOWN_SID_TYPE, domainSid *SID, sid *SID, sizeSid *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procCreateWellKnownSid.Addr(), 4, uintptr(sidType), uintptr(unsafe.Pointer(domainSid)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(sizeSid)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func isWellKnownSid(sid *SID, sidType WELL_KNOWN_SID_TYPE) (isWellKnown bool) { + r0, _, _ := syscall.Syscall(procIsWellKnownSid.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(sidType), 0) + isWellKnown = r0 != 0 + return +} + func FreeSid(sid *SID) (err error) { r1, _, e1 := syscall.Syscall(procFreeSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) if r1 != 0 { @@ -2671,6 +3028,30 @@ func EqualSid(sid1 *SID, sid2 *SID) (isEqual bool) { return } +func getSidIdentifierAuthority(sid *SID) (authority *SidIdentifierAuthority) { + r0, _, _ := syscall.Syscall(procGetSidIdentifierAuthority.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) + authority = (*SidIdentifierAuthority)(unsafe.Pointer(r0)) + return +} + +func getSidSubAuthorityCount(sid *SID) (count *uint8) { + r0, _, _ := syscall.Syscall(procGetSidSubAuthorityCount.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) + count = (*uint8)(unsafe.Pointer(r0)) + return +} + +func getSidSubAuthority(sid *SID, index uint32) (subAuthority *uint32) { + r0, _, _ := syscall.Syscall(procGetSidSubAuthority.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(index), 0) + subAuthority = (*uint32)(unsafe.Pointer(r0)) + return +} + +func isValidSid(sid *SID) (isValid bool) { + r0, _, _ := syscall.Syscall(procIsValidSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) + isValid = r0 != 0 + return +} + func checkTokenMembership(tokenHandle Token, sidToCheck *SID, isMember *int32) (err error) { r1, _, e1 := syscall.Syscall(procCheckTokenMembership.Addr(), 3, uintptr(tokenHandle), uintptr(unsafe.Pointer(sidToCheck)), uintptr(unsafe.Pointer(isMember))) if r1 == 0 { @@ -2683,8 +3064,8 @@ func checkTokenMembership(tokenHandle Token, sidToCheck *SID, isMember *int32) ( return } -func OpenProcessToken(h Handle, access uint32, token *Token) (err error) { - r1, _, e1 := syscall.Syscall(procOpenProcessToken.Addr(), 3, uintptr(h), uintptr(access), uintptr(unsafe.Pointer(token))) +func OpenProcessToken(process Handle, access uint32, token *Token) (err error) { + r1, _, e1 := syscall.Syscall(procOpenProcessToken.Addr(), 3, uintptr(process), uintptr(access), uintptr(unsafe.Pointer(token))) if r1 == 0 { if e1 != 0 { err = errnoErr(e1) @@ -2695,8 +3076,134 @@ func OpenProcessToken(h Handle, access uint32, token *Token) (err error) { return } -func GetTokenInformation(t Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procGetTokenInformation.Addr(), 5, uintptr(t), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen), uintptr(unsafe.Pointer(returnedLen)), 0) +func OpenThreadToken(thread Handle, access uint32, openAsSelf bool, token *Token) (err error) { + var _p0 uint32 + if openAsSelf { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall6(procOpenThreadToken.Addr(), 4, uintptr(thread), uintptr(access), uintptr(_p0), uintptr(unsafe.Pointer(token)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ImpersonateSelf(impersonationlevel uint32) (err error) { + r1, _, e1 := syscall.Syscall(procImpersonateSelf.Addr(), 1, uintptr(impersonationlevel), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func RevertToSelf() (err error) { + r1, _, e1 := syscall.Syscall(procRevertToSelf.Addr(), 0, 0, 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetThreadToken(thread *Handle, token Token) (err error) { + r1, _, e1 := syscall.Syscall(procSetThreadToken.Addr(), 2, uintptr(unsafe.Pointer(thread)), uintptr(token), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func LookupPrivilegeValue(systemname *uint16, name *uint16, luid *LUID) (err error) { + r1, _, e1 := syscall.Syscall(procLookupPrivilegeValueW.Addr(), 3, uintptr(unsafe.Pointer(systemname)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(luid))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func AdjustTokenPrivileges(token Token, disableAllPrivileges bool, newstate *Tokenprivileges, buflen uint32, prevstate *Tokenprivileges, returnlen *uint32) (err error) { + var _p0 uint32 + if disableAllPrivileges { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall6(procAdjustTokenPrivileges.Addr(), 6, uintptr(token), uintptr(_p0), uintptr(unsafe.Pointer(newstate)), uintptr(buflen), uintptr(unsafe.Pointer(prevstate)), uintptr(unsafe.Pointer(returnlen))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func AdjustTokenGroups(token Token, resetToDefault bool, newstate *Tokengroups, buflen uint32, prevstate *Tokengroups, returnlen *uint32) (err error) { + var _p0 uint32 + if resetToDefault { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall6(procAdjustTokenGroups.Addr(), 6, uintptr(token), uintptr(_p0), uintptr(unsafe.Pointer(newstate)), uintptr(buflen), uintptr(unsafe.Pointer(prevstate)), uintptr(unsafe.Pointer(returnlen))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procGetTokenInformation.Addr(), 5, uintptr(token), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen), uintptr(unsafe.Pointer(returnedLen)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procSetTokenInformation.Addr(), 4, uintptr(token), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func DuplicateTokenEx(existingToken Token, desiredAccess uint32, tokenAttributes *SecurityAttributes, impersonationLevel uint32, tokenType uint32, newToken *Token) (err error) { + r1, _, e1 := syscall.Syscall6(procDuplicateTokenEx.Addr(), 6, uintptr(existingToken), uintptr(desiredAccess), uintptr(unsafe.Pointer(tokenAttributes)), uintptr(impersonationLevel), uintptr(tokenType), uintptr(unsafe.Pointer(newToken))) if r1 == 0 { if e1 != 0 { err = errnoErr(e1) @@ -2718,3 +3225,45 @@ func GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) { } return } + +func getSystemDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetSystemDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) + len = uint32(r0) + if len == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WTSQueryUserToken(session uint32, token *Token) (err error) { + r1, _, e1 := syscall.Syscall(procWTSQueryUserToken.Addr(), 2, uintptr(session), uintptr(unsafe.Pointer(token)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WTSEnumerateSessions(handle Handle, reserved uint32, version uint32, sessions **WTS_SESSION_INFO, count *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procWTSEnumerateSessionsW.Addr(), 5, uintptr(handle), uintptr(reserved), uintptr(version), uintptr(unsafe.Pointer(sessions)), uintptr(unsafe.Pointer(count)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WTSFreeMemory(ptr uintptr) { + syscall.Syscall(procWTSFreeMemory.Addr(), 1, uintptr(ptr), 0, 0) + return +} diff --git a/vendor/golang.org/x/text/transform/transform.go b/vendor/golang.org/x/text/transform/transform.go index fe47b9b3..520b9ada 100644 --- a/vendor/golang.org/x/text/transform/transform.go +++ b/vendor/golang.org/x/text/transform/transform.go @@ -78,8 +78,8 @@ type SpanningTransformer interface { // considering the error err. // // A nil error means that all input bytes are known to be identical to the - // output produced by the Transformer. A nil error can be be returned - // regardless of whether atEOF is true. If err is nil, then then n must + // output produced by the Transformer. A nil error can be returned + // regardless of whether atEOF is true. If err is nil, then n must // equal len(src); the converse is not necessarily true. // // ErrEndOfSpan means that the Transformer output may differ from the @@ -493,7 +493,7 @@ func (c *chain) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err erro return dstL.n, srcL.p, err } -// Deprecated: use runes.Remove instead. +// Deprecated: Use runes.Remove instead. func RemoveFunc(f func(r rune) bool) Transformer { return removeF(f) } diff --git a/vendor/golang.org/x/text/unicode/bidi/bidi.go b/vendor/golang.org/x/text/unicode/bidi/bidi.go index 3fc4a625..e8edc54c 100644 --- a/vendor/golang.org/x/text/unicode/bidi/bidi.go +++ b/vendor/golang.org/x/text/unicode/bidi/bidi.go @@ -6,7 +6,7 @@ // Package bidi contains functionality for bidirectional text support. // -// See http://www.unicode.org/reports/tr9. +// See https://www.unicode.org/reports/tr9. // // NOTE: UNDER CONSTRUCTION. This API may change in backwards incompatible ways // and without notice. diff --git a/vendor/golang.org/x/text/unicode/bidi/bracket.go b/vendor/golang.org/x/text/unicode/bidi/bracket.go index 601e2592..18539397 100644 --- a/vendor/golang.org/x/text/unicode/bidi/bracket.go +++ b/vendor/golang.org/x/text/unicode/bidi/bracket.go @@ -12,7 +12,7 @@ import ( // This file contains a port of the reference implementation of the // Bidi Parentheses Algorithm: -// http://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/BidiPBAReference.java +// https://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/BidiPBAReference.java // // The implementation in this file covers definitions BD14-BD16 and rule N0 // of UAX#9. @@ -246,7 +246,7 @@ func (p *bracketPairer) getStrongTypeN0(index int) Class { // assuming the given embedding direction. // // It returns ON if no strong type is found. If a single strong type is found, -// it returns this this type. Otherwise it returns the embedding direction. +// it returns this type. Otherwise it returns the embedding direction. // // TODO: use separate type for "strong" directionality. func (p *bracketPairer) classifyPairContent(loc bracketPair, dirEmbed Class) Class { diff --git a/vendor/golang.org/x/text/unicode/bidi/core.go b/vendor/golang.org/x/text/unicode/bidi/core.go index d4c1399f..48d14400 100644 --- a/vendor/golang.org/x/text/unicode/bidi/core.go +++ b/vendor/golang.org/x/text/unicode/bidi/core.go @@ -7,7 +7,7 @@ package bidi import "log" // This implementation is a port based on the reference implementation found at: -// http://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/ +// https://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/ // // described in Unicode Bidirectional Algorithm (UAX #9). // diff --git a/vendor/golang.org/x/text/unicode/bidi/gen.go b/vendor/golang.org/x/text/unicode/bidi/gen.go index 4e1c7ba0..987fc169 100644 --- a/vendor/golang.org/x/text/unicode/bidi/gen.go +++ b/vendor/golang.org/x/text/unicode/bidi/gen.go @@ -26,7 +26,7 @@ func main() { } // bidiClass names and codes taken from class "bc" in -// http://www.unicode.org/Public/8.0.0/ucd/PropertyValueAliases.txt +// https://www.unicode.org/Public/8.0.0/ucd/PropertyValueAliases.txt var bidiClass = map[string]Class{ "AL": AL, // ArabicLetter "AN": AN, // ArabicNumber diff --git a/vendor/golang.org/x/text/unicode/bidi/gen_ranges.go b/vendor/golang.org/x/text/unicode/bidi/gen_ranges.go index 51bd68fa..02c3b505 100644 --- a/vendor/golang.org/x/text/unicode/bidi/gen_ranges.go +++ b/vendor/golang.org/x/text/unicode/bidi/gen_ranges.go @@ -15,7 +15,7 @@ import ( ) // These tables are hand-extracted from: -// http://www.unicode.org/Public/8.0.0/ucd/extracted/DerivedBidiClass.txt +// https://www.unicode.org/Public/8.0.0/ucd/extracted/DerivedBidiClass.txt func visitDefaults(fn func(r rune, c Class)) { // first write default values for ranges listed above. visitRunes(fn, AL, []rune{ diff --git a/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go b/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go index 2e1ff195..d8c94e1b 100644 --- a/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go +++ b/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go @@ -1,6 +1,6 @@ // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. -// +build go1.10 +// +build go1.10,!go1.13 package bidi diff --git a/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go b/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go new file mode 100644 index 00000000..022e3c69 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go @@ -0,0 +1,1887 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// +build go1.13 + +package bidi + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "11.0.0" + +// xorMasks contains masks to be xor-ed with brackets to get the reverse +// version. +var xorMasks = []int32{ // 8 elements + 0, 1, 6, 7, 3, 15, 29, 63, +} // Size: 56 bytes + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *bidiTrie) lookup(s []byte) (v uint8, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return bidiValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *bidiTrie) lookupUnsafe(s []byte) uint8 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return bidiValues[c0] + } + i := bidiIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *bidiTrie) lookupString(s string) (v uint8, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return bidiValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *bidiTrie) lookupStringUnsafe(s string) uint8 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return bidiValues[c0] + } + i := bidiIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// bidiTrie. Total size: 16512 bytes (16.12 KiB). Checksum: 2a9cf1317f2ffaa. +type bidiTrie struct{} + +func newBidiTrie(i int) *bidiTrie { + return &bidiTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *bidiTrie) lookupValue(n uint32, b byte) uint8 { + switch { + default: + return uint8(bidiValues[n<<6+uint32(b)]) + } +} + +// bidiValues: 234 blocks, 14976 entries, 14976 bytes +// The third block is the zero block. +var bidiValues = [14976]uint8{ + // Block 0x0, offset 0x0 + 0x00: 0x000b, 0x01: 0x000b, 0x02: 0x000b, 0x03: 0x000b, 0x04: 0x000b, 0x05: 0x000b, + 0x06: 0x000b, 0x07: 0x000b, 0x08: 0x000b, 0x09: 0x0008, 0x0a: 0x0007, 0x0b: 0x0008, + 0x0c: 0x0009, 0x0d: 0x0007, 0x0e: 0x000b, 0x0f: 0x000b, 0x10: 0x000b, 0x11: 0x000b, + 0x12: 0x000b, 0x13: 0x000b, 0x14: 0x000b, 0x15: 0x000b, 0x16: 0x000b, 0x17: 0x000b, + 0x18: 0x000b, 0x19: 0x000b, 0x1a: 0x000b, 0x1b: 0x000b, 0x1c: 0x0007, 0x1d: 0x0007, + 0x1e: 0x0007, 0x1f: 0x0008, 0x20: 0x0009, 0x21: 0x000a, 0x22: 0x000a, 0x23: 0x0004, + 0x24: 0x0004, 0x25: 0x0004, 0x26: 0x000a, 0x27: 0x000a, 0x28: 0x003a, 0x29: 0x002a, + 0x2a: 0x000a, 0x2b: 0x0003, 0x2c: 0x0006, 0x2d: 0x0003, 0x2e: 0x0006, 0x2f: 0x0006, + 0x30: 0x0002, 0x31: 0x0002, 0x32: 0x0002, 0x33: 0x0002, 0x34: 0x0002, 0x35: 0x0002, + 0x36: 0x0002, 0x37: 0x0002, 0x38: 0x0002, 0x39: 0x0002, 0x3a: 0x0006, 0x3b: 0x000a, + 0x3c: 0x000a, 0x3d: 0x000a, 0x3e: 0x000a, 0x3f: 0x000a, + // Block 0x1, offset 0x40 + 0x40: 0x000a, + 0x5b: 0x005a, 0x5c: 0x000a, 0x5d: 0x004a, + 0x5e: 0x000a, 0x5f: 0x000a, 0x60: 0x000a, + 0x7b: 0x005a, + 0x7c: 0x000a, 0x7d: 0x004a, 0x7e: 0x000a, 0x7f: 0x000b, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x000b, 0xc1: 0x000b, 0xc2: 0x000b, 0xc3: 0x000b, 0xc4: 0x000b, 0xc5: 0x0007, + 0xc6: 0x000b, 0xc7: 0x000b, 0xc8: 0x000b, 0xc9: 0x000b, 0xca: 0x000b, 0xcb: 0x000b, + 0xcc: 0x000b, 0xcd: 0x000b, 0xce: 0x000b, 0xcf: 0x000b, 0xd0: 0x000b, 0xd1: 0x000b, + 0xd2: 0x000b, 0xd3: 0x000b, 0xd4: 0x000b, 0xd5: 0x000b, 0xd6: 0x000b, 0xd7: 0x000b, + 0xd8: 0x000b, 0xd9: 0x000b, 0xda: 0x000b, 0xdb: 0x000b, 0xdc: 0x000b, 0xdd: 0x000b, + 0xde: 0x000b, 0xdf: 0x000b, 0xe0: 0x0006, 0xe1: 0x000a, 0xe2: 0x0004, 0xe3: 0x0004, + 0xe4: 0x0004, 0xe5: 0x0004, 0xe6: 0x000a, 0xe7: 0x000a, 0xe8: 0x000a, 0xe9: 0x000a, + 0xeb: 0x000a, 0xec: 0x000a, 0xed: 0x000b, 0xee: 0x000a, 0xef: 0x000a, + 0xf0: 0x0004, 0xf1: 0x0004, 0xf2: 0x0002, 0xf3: 0x0002, 0xf4: 0x000a, + 0xf6: 0x000a, 0xf7: 0x000a, 0xf8: 0x000a, 0xf9: 0x0002, 0xfb: 0x000a, + 0xfc: 0x000a, 0xfd: 0x000a, 0xfe: 0x000a, 0xff: 0x000a, + // Block 0x4, offset 0x100 + 0x117: 0x000a, + 0x137: 0x000a, + // Block 0x5, offset 0x140 + 0x179: 0x000a, 0x17a: 0x000a, + // Block 0x6, offset 0x180 + 0x182: 0x000a, 0x183: 0x000a, 0x184: 0x000a, 0x185: 0x000a, + 0x186: 0x000a, 0x187: 0x000a, 0x188: 0x000a, 0x189: 0x000a, 0x18a: 0x000a, 0x18b: 0x000a, + 0x18c: 0x000a, 0x18d: 0x000a, 0x18e: 0x000a, 0x18f: 0x000a, + 0x192: 0x000a, 0x193: 0x000a, 0x194: 0x000a, 0x195: 0x000a, 0x196: 0x000a, 0x197: 0x000a, + 0x198: 0x000a, 0x199: 0x000a, 0x19a: 0x000a, 0x19b: 0x000a, 0x19c: 0x000a, 0x19d: 0x000a, + 0x19e: 0x000a, 0x19f: 0x000a, + 0x1a5: 0x000a, 0x1a6: 0x000a, 0x1a7: 0x000a, 0x1a8: 0x000a, 0x1a9: 0x000a, + 0x1aa: 0x000a, 0x1ab: 0x000a, 0x1ac: 0x000a, 0x1ad: 0x000a, 0x1af: 0x000a, + 0x1b0: 0x000a, 0x1b1: 0x000a, 0x1b2: 0x000a, 0x1b3: 0x000a, 0x1b4: 0x000a, 0x1b5: 0x000a, + 0x1b6: 0x000a, 0x1b7: 0x000a, 0x1b8: 0x000a, 0x1b9: 0x000a, 0x1ba: 0x000a, 0x1bb: 0x000a, + 0x1bc: 0x000a, 0x1bd: 0x000a, 0x1be: 0x000a, 0x1bf: 0x000a, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x000c, 0x1c1: 0x000c, 0x1c2: 0x000c, 0x1c3: 0x000c, 0x1c4: 0x000c, 0x1c5: 0x000c, + 0x1c6: 0x000c, 0x1c7: 0x000c, 0x1c8: 0x000c, 0x1c9: 0x000c, 0x1ca: 0x000c, 0x1cb: 0x000c, + 0x1cc: 0x000c, 0x1cd: 0x000c, 0x1ce: 0x000c, 0x1cf: 0x000c, 0x1d0: 0x000c, 0x1d1: 0x000c, + 0x1d2: 0x000c, 0x1d3: 0x000c, 0x1d4: 0x000c, 0x1d5: 0x000c, 0x1d6: 0x000c, 0x1d7: 0x000c, + 0x1d8: 0x000c, 0x1d9: 0x000c, 0x1da: 0x000c, 0x1db: 0x000c, 0x1dc: 0x000c, 0x1dd: 0x000c, + 0x1de: 0x000c, 0x1df: 0x000c, 0x1e0: 0x000c, 0x1e1: 0x000c, 0x1e2: 0x000c, 0x1e3: 0x000c, + 0x1e4: 0x000c, 0x1e5: 0x000c, 0x1e6: 0x000c, 0x1e7: 0x000c, 0x1e8: 0x000c, 0x1e9: 0x000c, + 0x1ea: 0x000c, 0x1eb: 0x000c, 0x1ec: 0x000c, 0x1ed: 0x000c, 0x1ee: 0x000c, 0x1ef: 0x000c, + 0x1f0: 0x000c, 0x1f1: 0x000c, 0x1f2: 0x000c, 0x1f3: 0x000c, 0x1f4: 0x000c, 0x1f5: 0x000c, + 0x1f6: 0x000c, 0x1f7: 0x000c, 0x1f8: 0x000c, 0x1f9: 0x000c, 0x1fa: 0x000c, 0x1fb: 0x000c, + 0x1fc: 0x000c, 0x1fd: 0x000c, 0x1fe: 0x000c, 0x1ff: 0x000c, + // Block 0x8, offset 0x200 + 0x200: 0x000c, 0x201: 0x000c, 0x202: 0x000c, 0x203: 0x000c, 0x204: 0x000c, 0x205: 0x000c, + 0x206: 0x000c, 0x207: 0x000c, 0x208: 0x000c, 0x209: 0x000c, 0x20a: 0x000c, 0x20b: 0x000c, + 0x20c: 0x000c, 0x20d: 0x000c, 0x20e: 0x000c, 0x20f: 0x000c, 0x210: 0x000c, 0x211: 0x000c, + 0x212: 0x000c, 0x213: 0x000c, 0x214: 0x000c, 0x215: 0x000c, 0x216: 0x000c, 0x217: 0x000c, + 0x218: 0x000c, 0x219: 0x000c, 0x21a: 0x000c, 0x21b: 0x000c, 0x21c: 0x000c, 0x21d: 0x000c, + 0x21e: 0x000c, 0x21f: 0x000c, 0x220: 0x000c, 0x221: 0x000c, 0x222: 0x000c, 0x223: 0x000c, + 0x224: 0x000c, 0x225: 0x000c, 0x226: 0x000c, 0x227: 0x000c, 0x228: 0x000c, 0x229: 0x000c, + 0x22a: 0x000c, 0x22b: 0x000c, 0x22c: 0x000c, 0x22d: 0x000c, 0x22e: 0x000c, 0x22f: 0x000c, + 0x234: 0x000a, 0x235: 0x000a, + 0x23e: 0x000a, + // Block 0x9, offset 0x240 + 0x244: 0x000a, 0x245: 0x000a, + 0x247: 0x000a, + // Block 0xa, offset 0x280 + 0x2b6: 0x000a, + // Block 0xb, offset 0x2c0 + 0x2c3: 0x000c, 0x2c4: 0x000c, 0x2c5: 0x000c, + 0x2c6: 0x000c, 0x2c7: 0x000c, 0x2c8: 0x000c, 0x2c9: 0x000c, + // Block 0xc, offset 0x300 + 0x30a: 0x000a, + 0x30d: 0x000a, 0x30e: 0x000a, 0x30f: 0x0004, 0x310: 0x0001, 0x311: 0x000c, + 0x312: 0x000c, 0x313: 0x000c, 0x314: 0x000c, 0x315: 0x000c, 0x316: 0x000c, 0x317: 0x000c, + 0x318: 0x000c, 0x319: 0x000c, 0x31a: 0x000c, 0x31b: 0x000c, 0x31c: 0x000c, 0x31d: 0x000c, + 0x31e: 0x000c, 0x31f: 0x000c, 0x320: 0x000c, 0x321: 0x000c, 0x322: 0x000c, 0x323: 0x000c, + 0x324: 0x000c, 0x325: 0x000c, 0x326: 0x000c, 0x327: 0x000c, 0x328: 0x000c, 0x329: 0x000c, + 0x32a: 0x000c, 0x32b: 0x000c, 0x32c: 0x000c, 0x32d: 0x000c, 0x32e: 0x000c, 0x32f: 0x000c, + 0x330: 0x000c, 0x331: 0x000c, 0x332: 0x000c, 0x333: 0x000c, 0x334: 0x000c, 0x335: 0x000c, + 0x336: 0x000c, 0x337: 0x000c, 0x338: 0x000c, 0x339: 0x000c, 0x33a: 0x000c, 0x33b: 0x000c, + 0x33c: 0x000c, 0x33d: 0x000c, 0x33e: 0x0001, 0x33f: 0x000c, + // Block 0xd, offset 0x340 + 0x340: 0x0001, 0x341: 0x000c, 0x342: 0x000c, 0x343: 0x0001, 0x344: 0x000c, 0x345: 0x000c, + 0x346: 0x0001, 0x347: 0x000c, 0x348: 0x0001, 0x349: 0x0001, 0x34a: 0x0001, 0x34b: 0x0001, + 0x34c: 0x0001, 0x34d: 0x0001, 0x34e: 0x0001, 0x34f: 0x0001, 0x350: 0x0001, 0x351: 0x0001, + 0x352: 0x0001, 0x353: 0x0001, 0x354: 0x0001, 0x355: 0x0001, 0x356: 0x0001, 0x357: 0x0001, + 0x358: 0x0001, 0x359: 0x0001, 0x35a: 0x0001, 0x35b: 0x0001, 0x35c: 0x0001, 0x35d: 0x0001, + 0x35e: 0x0001, 0x35f: 0x0001, 0x360: 0x0001, 0x361: 0x0001, 0x362: 0x0001, 0x363: 0x0001, + 0x364: 0x0001, 0x365: 0x0001, 0x366: 0x0001, 0x367: 0x0001, 0x368: 0x0001, 0x369: 0x0001, + 0x36a: 0x0001, 0x36b: 0x0001, 0x36c: 0x0001, 0x36d: 0x0001, 0x36e: 0x0001, 0x36f: 0x0001, + 0x370: 0x0001, 0x371: 0x0001, 0x372: 0x0001, 0x373: 0x0001, 0x374: 0x0001, 0x375: 0x0001, + 0x376: 0x0001, 0x377: 0x0001, 0x378: 0x0001, 0x379: 0x0001, 0x37a: 0x0001, 0x37b: 0x0001, + 0x37c: 0x0001, 0x37d: 0x0001, 0x37e: 0x0001, 0x37f: 0x0001, + // Block 0xe, offset 0x380 + 0x380: 0x0005, 0x381: 0x0005, 0x382: 0x0005, 0x383: 0x0005, 0x384: 0x0005, 0x385: 0x0005, + 0x386: 0x000a, 0x387: 0x000a, 0x388: 0x000d, 0x389: 0x0004, 0x38a: 0x0004, 0x38b: 0x000d, + 0x38c: 0x0006, 0x38d: 0x000d, 0x38e: 0x000a, 0x38f: 0x000a, 0x390: 0x000c, 0x391: 0x000c, + 0x392: 0x000c, 0x393: 0x000c, 0x394: 0x000c, 0x395: 0x000c, 0x396: 0x000c, 0x397: 0x000c, + 0x398: 0x000c, 0x399: 0x000c, 0x39a: 0x000c, 0x39b: 0x000d, 0x39c: 0x000d, 0x39d: 0x000d, + 0x39e: 0x000d, 0x39f: 0x000d, 0x3a0: 0x000d, 0x3a1: 0x000d, 0x3a2: 0x000d, 0x3a3: 0x000d, + 0x3a4: 0x000d, 0x3a5: 0x000d, 0x3a6: 0x000d, 0x3a7: 0x000d, 0x3a8: 0x000d, 0x3a9: 0x000d, + 0x3aa: 0x000d, 0x3ab: 0x000d, 0x3ac: 0x000d, 0x3ad: 0x000d, 0x3ae: 0x000d, 0x3af: 0x000d, + 0x3b0: 0x000d, 0x3b1: 0x000d, 0x3b2: 0x000d, 0x3b3: 0x000d, 0x3b4: 0x000d, 0x3b5: 0x000d, + 0x3b6: 0x000d, 0x3b7: 0x000d, 0x3b8: 0x000d, 0x3b9: 0x000d, 0x3ba: 0x000d, 0x3bb: 0x000d, + 0x3bc: 0x000d, 0x3bd: 0x000d, 0x3be: 0x000d, 0x3bf: 0x000d, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x000d, 0x3c1: 0x000d, 0x3c2: 0x000d, 0x3c3: 0x000d, 0x3c4: 0x000d, 0x3c5: 0x000d, + 0x3c6: 0x000d, 0x3c7: 0x000d, 0x3c8: 0x000d, 0x3c9: 0x000d, 0x3ca: 0x000d, 0x3cb: 0x000c, + 0x3cc: 0x000c, 0x3cd: 0x000c, 0x3ce: 0x000c, 0x3cf: 0x000c, 0x3d0: 0x000c, 0x3d1: 0x000c, + 0x3d2: 0x000c, 0x3d3: 0x000c, 0x3d4: 0x000c, 0x3d5: 0x000c, 0x3d6: 0x000c, 0x3d7: 0x000c, + 0x3d8: 0x000c, 0x3d9: 0x000c, 0x3da: 0x000c, 0x3db: 0x000c, 0x3dc: 0x000c, 0x3dd: 0x000c, + 0x3de: 0x000c, 0x3df: 0x000c, 0x3e0: 0x0005, 0x3e1: 0x0005, 0x3e2: 0x0005, 0x3e3: 0x0005, + 0x3e4: 0x0005, 0x3e5: 0x0005, 0x3e6: 0x0005, 0x3e7: 0x0005, 0x3e8: 0x0005, 0x3e9: 0x0005, + 0x3ea: 0x0004, 0x3eb: 0x0005, 0x3ec: 0x0005, 0x3ed: 0x000d, 0x3ee: 0x000d, 0x3ef: 0x000d, + 0x3f0: 0x000c, 0x3f1: 0x000d, 0x3f2: 0x000d, 0x3f3: 0x000d, 0x3f4: 0x000d, 0x3f5: 0x000d, + 0x3f6: 0x000d, 0x3f7: 0x000d, 0x3f8: 0x000d, 0x3f9: 0x000d, 0x3fa: 0x000d, 0x3fb: 0x000d, + 0x3fc: 0x000d, 0x3fd: 0x000d, 0x3fe: 0x000d, 0x3ff: 0x000d, + // Block 0x10, offset 0x400 + 0x400: 0x000d, 0x401: 0x000d, 0x402: 0x000d, 0x403: 0x000d, 0x404: 0x000d, 0x405: 0x000d, + 0x406: 0x000d, 0x407: 0x000d, 0x408: 0x000d, 0x409: 0x000d, 0x40a: 0x000d, 0x40b: 0x000d, + 0x40c: 0x000d, 0x40d: 0x000d, 0x40e: 0x000d, 0x40f: 0x000d, 0x410: 0x000d, 0x411: 0x000d, + 0x412: 0x000d, 0x413: 0x000d, 0x414: 0x000d, 0x415: 0x000d, 0x416: 0x000d, 0x417: 0x000d, + 0x418: 0x000d, 0x419: 0x000d, 0x41a: 0x000d, 0x41b: 0x000d, 0x41c: 0x000d, 0x41d: 0x000d, + 0x41e: 0x000d, 0x41f: 0x000d, 0x420: 0x000d, 0x421: 0x000d, 0x422: 0x000d, 0x423: 0x000d, + 0x424: 0x000d, 0x425: 0x000d, 0x426: 0x000d, 0x427: 0x000d, 0x428: 0x000d, 0x429: 0x000d, + 0x42a: 0x000d, 0x42b: 0x000d, 0x42c: 0x000d, 0x42d: 0x000d, 0x42e: 0x000d, 0x42f: 0x000d, + 0x430: 0x000d, 0x431: 0x000d, 0x432: 0x000d, 0x433: 0x000d, 0x434: 0x000d, 0x435: 0x000d, + 0x436: 0x000d, 0x437: 0x000d, 0x438: 0x000d, 0x439: 0x000d, 0x43a: 0x000d, 0x43b: 0x000d, + 0x43c: 0x000d, 0x43d: 0x000d, 0x43e: 0x000d, 0x43f: 0x000d, + // Block 0x11, offset 0x440 + 0x440: 0x000d, 0x441: 0x000d, 0x442: 0x000d, 0x443: 0x000d, 0x444: 0x000d, 0x445: 0x000d, + 0x446: 0x000d, 0x447: 0x000d, 0x448: 0x000d, 0x449: 0x000d, 0x44a: 0x000d, 0x44b: 0x000d, + 0x44c: 0x000d, 0x44d: 0x000d, 0x44e: 0x000d, 0x44f: 0x000d, 0x450: 0x000d, 0x451: 0x000d, + 0x452: 0x000d, 0x453: 0x000d, 0x454: 0x000d, 0x455: 0x000d, 0x456: 0x000c, 0x457: 0x000c, + 0x458: 0x000c, 0x459: 0x000c, 0x45a: 0x000c, 0x45b: 0x000c, 0x45c: 0x000c, 0x45d: 0x0005, + 0x45e: 0x000a, 0x45f: 0x000c, 0x460: 0x000c, 0x461: 0x000c, 0x462: 0x000c, 0x463: 0x000c, + 0x464: 0x000c, 0x465: 0x000d, 0x466: 0x000d, 0x467: 0x000c, 0x468: 0x000c, 0x469: 0x000a, + 0x46a: 0x000c, 0x46b: 0x000c, 0x46c: 0x000c, 0x46d: 0x000c, 0x46e: 0x000d, 0x46f: 0x000d, + 0x470: 0x0002, 0x471: 0x0002, 0x472: 0x0002, 0x473: 0x0002, 0x474: 0x0002, 0x475: 0x0002, + 0x476: 0x0002, 0x477: 0x0002, 0x478: 0x0002, 0x479: 0x0002, 0x47a: 0x000d, 0x47b: 0x000d, + 0x47c: 0x000d, 0x47d: 0x000d, 0x47e: 0x000d, 0x47f: 0x000d, + // Block 0x12, offset 0x480 + 0x480: 0x000d, 0x481: 0x000d, 0x482: 0x000d, 0x483: 0x000d, 0x484: 0x000d, 0x485: 0x000d, + 0x486: 0x000d, 0x487: 0x000d, 0x488: 0x000d, 0x489: 0x000d, 0x48a: 0x000d, 0x48b: 0x000d, + 0x48c: 0x000d, 0x48d: 0x000d, 0x48e: 0x000d, 0x48f: 0x000d, 0x490: 0x000d, 0x491: 0x000c, + 0x492: 0x000d, 0x493: 0x000d, 0x494: 0x000d, 0x495: 0x000d, 0x496: 0x000d, 0x497: 0x000d, + 0x498: 0x000d, 0x499: 0x000d, 0x49a: 0x000d, 0x49b: 0x000d, 0x49c: 0x000d, 0x49d: 0x000d, + 0x49e: 0x000d, 0x49f: 0x000d, 0x4a0: 0x000d, 0x4a1: 0x000d, 0x4a2: 0x000d, 0x4a3: 0x000d, + 0x4a4: 0x000d, 0x4a5: 0x000d, 0x4a6: 0x000d, 0x4a7: 0x000d, 0x4a8: 0x000d, 0x4a9: 0x000d, + 0x4aa: 0x000d, 0x4ab: 0x000d, 0x4ac: 0x000d, 0x4ad: 0x000d, 0x4ae: 0x000d, 0x4af: 0x000d, + 0x4b0: 0x000c, 0x4b1: 0x000c, 0x4b2: 0x000c, 0x4b3: 0x000c, 0x4b4: 0x000c, 0x4b5: 0x000c, + 0x4b6: 0x000c, 0x4b7: 0x000c, 0x4b8: 0x000c, 0x4b9: 0x000c, 0x4ba: 0x000c, 0x4bb: 0x000c, + 0x4bc: 0x000c, 0x4bd: 0x000c, 0x4be: 0x000c, 0x4bf: 0x000c, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x000c, 0x4c1: 0x000c, 0x4c2: 0x000c, 0x4c3: 0x000c, 0x4c4: 0x000c, 0x4c5: 0x000c, + 0x4c6: 0x000c, 0x4c7: 0x000c, 0x4c8: 0x000c, 0x4c9: 0x000c, 0x4ca: 0x000c, 0x4cb: 0x000d, + 0x4cc: 0x000d, 0x4cd: 0x000d, 0x4ce: 0x000d, 0x4cf: 0x000d, 0x4d0: 0x000d, 0x4d1: 0x000d, + 0x4d2: 0x000d, 0x4d3: 0x000d, 0x4d4: 0x000d, 0x4d5: 0x000d, 0x4d6: 0x000d, 0x4d7: 0x000d, + 0x4d8: 0x000d, 0x4d9: 0x000d, 0x4da: 0x000d, 0x4db: 0x000d, 0x4dc: 0x000d, 0x4dd: 0x000d, + 0x4de: 0x000d, 0x4df: 0x000d, 0x4e0: 0x000d, 0x4e1: 0x000d, 0x4e2: 0x000d, 0x4e3: 0x000d, + 0x4e4: 0x000d, 0x4e5: 0x000d, 0x4e6: 0x000d, 0x4e7: 0x000d, 0x4e8: 0x000d, 0x4e9: 0x000d, + 0x4ea: 0x000d, 0x4eb: 0x000d, 0x4ec: 0x000d, 0x4ed: 0x000d, 0x4ee: 0x000d, 0x4ef: 0x000d, + 0x4f0: 0x000d, 0x4f1: 0x000d, 0x4f2: 0x000d, 0x4f3: 0x000d, 0x4f4: 0x000d, 0x4f5: 0x000d, + 0x4f6: 0x000d, 0x4f7: 0x000d, 0x4f8: 0x000d, 0x4f9: 0x000d, 0x4fa: 0x000d, 0x4fb: 0x000d, + 0x4fc: 0x000d, 0x4fd: 0x000d, 0x4fe: 0x000d, 0x4ff: 0x000d, + // Block 0x14, offset 0x500 + 0x500: 0x000d, 0x501: 0x000d, 0x502: 0x000d, 0x503: 0x000d, 0x504: 0x000d, 0x505: 0x000d, + 0x506: 0x000d, 0x507: 0x000d, 0x508: 0x000d, 0x509: 0x000d, 0x50a: 0x000d, 0x50b: 0x000d, + 0x50c: 0x000d, 0x50d: 0x000d, 0x50e: 0x000d, 0x50f: 0x000d, 0x510: 0x000d, 0x511: 0x000d, + 0x512: 0x000d, 0x513: 0x000d, 0x514: 0x000d, 0x515: 0x000d, 0x516: 0x000d, 0x517: 0x000d, + 0x518: 0x000d, 0x519: 0x000d, 0x51a: 0x000d, 0x51b: 0x000d, 0x51c: 0x000d, 0x51d: 0x000d, + 0x51e: 0x000d, 0x51f: 0x000d, 0x520: 0x000d, 0x521: 0x000d, 0x522: 0x000d, 0x523: 0x000d, + 0x524: 0x000d, 0x525: 0x000d, 0x526: 0x000c, 0x527: 0x000c, 0x528: 0x000c, 0x529: 0x000c, + 0x52a: 0x000c, 0x52b: 0x000c, 0x52c: 0x000c, 0x52d: 0x000c, 0x52e: 0x000c, 0x52f: 0x000c, + 0x530: 0x000c, 0x531: 0x000d, 0x532: 0x000d, 0x533: 0x000d, 0x534: 0x000d, 0x535: 0x000d, + 0x536: 0x000d, 0x537: 0x000d, 0x538: 0x000d, 0x539: 0x000d, 0x53a: 0x000d, 0x53b: 0x000d, + 0x53c: 0x000d, 0x53d: 0x000d, 0x53e: 0x000d, 0x53f: 0x000d, + // Block 0x15, offset 0x540 + 0x540: 0x0001, 0x541: 0x0001, 0x542: 0x0001, 0x543: 0x0001, 0x544: 0x0001, 0x545: 0x0001, + 0x546: 0x0001, 0x547: 0x0001, 0x548: 0x0001, 0x549: 0x0001, 0x54a: 0x0001, 0x54b: 0x0001, + 0x54c: 0x0001, 0x54d: 0x0001, 0x54e: 0x0001, 0x54f: 0x0001, 0x550: 0x0001, 0x551: 0x0001, + 0x552: 0x0001, 0x553: 0x0001, 0x554: 0x0001, 0x555: 0x0001, 0x556: 0x0001, 0x557: 0x0001, + 0x558: 0x0001, 0x559: 0x0001, 0x55a: 0x0001, 0x55b: 0x0001, 0x55c: 0x0001, 0x55d: 0x0001, + 0x55e: 0x0001, 0x55f: 0x0001, 0x560: 0x0001, 0x561: 0x0001, 0x562: 0x0001, 0x563: 0x0001, + 0x564: 0x0001, 0x565: 0x0001, 0x566: 0x0001, 0x567: 0x0001, 0x568: 0x0001, 0x569: 0x0001, + 0x56a: 0x0001, 0x56b: 0x000c, 0x56c: 0x000c, 0x56d: 0x000c, 0x56e: 0x000c, 0x56f: 0x000c, + 0x570: 0x000c, 0x571: 0x000c, 0x572: 0x000c, 0x573: 0x000c, 0x574: 0x0001, 0x575: 0x0001, + 0x576: 0x000a, 0x577: 0x000a, 0x578: 0x000a, 0x579: 0x000a, 0x57a: 0x0001, 0x57b: 0x0001, + 0x57c: 0x0001, 0x57d: 0x000c, 0x57e: 0x0001, 0x57f: 0x0001, + // Block 0x16, offset 0x580 + 0x580: 0x0001, 0x581: 0x0001, 0x582: 0x0001, 0x583: 0x0001, 0x584: 0x0001, 0x585: 0x0001, + 0x586: 0x0001, 0x587: 0x0001, 0x588: 0x0001, 0x589: 0x0001, 0x58a: 0x0001, 0x58b: 0x0001, + 0x58c: 0x0001, 0x58d: 0x0001, 0x58e: 0x0001, 0x58f: 0x0001, 0x590: 0x0001, 0x591: 0x0001, + 0x592: 0x0001, 0x593: 0x0001, 0x594: 0x0001, 0x595: 0x0001, 0x596: 0x000c, 0x597: 0x000c, + 0x598: 0x000c, 0x599: 0x000c, 0x59a: 0x0001, 0x59b: 0x000c, 0x59c: 0x000c, 0x59d: 0x000c, + 0x59e: 0x000c, 0x59f: 0x000c, 0x5a0: 0x000c, 0x5a1: 0x000c, 0x5a2: 0x000c, 0x5a3: 0x000c, + 0x5a4: 0x0001, 0x5a5: 0x000c, 0x5a6: 0x000c, 0x5a7: 0x000c, 0x5a8: 0x0001, 0x5a9: 0x000c, + 0x5aa: 0x000c, 0x5ab: 0x000c, 0x5ac: 0x000c, 0x5ad: 0x000c, 0x5ae: 0x0001, 0x5af: 0x0001, + 0x5b0: 0x0001, 0x5b1: 0x0001, 0x5b2: 0x0001, 0x5b3: 0x0001, 0x5b4: 0x0001, 0x5b5: 0x0001, + 0x5b6: 0x0001, 0x5b7: 0x0001, 0x5b8: 0x0001, 0x5b9: 0x0001, 0x5ba: 0x0001, 0x5bb: 0x0001, + 0x5bc: 0x0001, 0x5bd: 0x0001, 0x5be: 0x0001, 0x5bf: 0x0001, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x0001, 0x5c1: 0x0001, 0x5c2: 0x0001, 0x5c3: 0x0001, 0x5c4: 0x0001, 0x5c5: 0x0001, + 0x5c6: 0x0001, 0x5c7: 0x0001, 0x5c8: 0x0001, 0x5c9: 0x0001, 0x5ca: 0x0001, 0x5cb: 0x0001, + 0x5cc: 0x0001, 0x5cd: 0x0001, 0x5ce: 0x0001, 0x5cf: 0x0001, 0x5d0: 0x0001, 0x5d1: 0x0001, + 0x5d2: 0x0001, 0x5d3: 0x0001, 0x5d4: 0x0001, 0x5d5: 0x0001, 0x5d6: 0x0001, 0x5d7: 0x0001, + 0x5d8: 0x0001, 0x5d9: 0x000c, 0x5da: 0x000c, 0x5db: 0x000c, 0x5dc: 0x0001, 0x5dd: 0x0001, + 0x5de: 0x0001, 0x5df: 0x0001, 0x5e0: 0x000d, 0x5e1: 0x000d, 0x5e2: 0x000d, 0x5e3: 0x000d, + 0x5e4: 0x000d, 0x5e5: 0x000d, 0x5e6: 0x000d, 0x5e7: 0x000d, 0x5e8: 0x000d, 0x5e9: 0x000d, + 0x5ea: 0x000d, 0x5eb: 0x000d, 0x5ec: 0x000d, 0x5ed: 0x000d, 0x5ee: 0x000d, 0x5ef: 0x000d, + 0x5f0: 0x0001, 0x5f1: 0x0001, 0x5f2: 0x0001, 0x5f3: 0x0001, 0x5f4: 0x0001, 0x5f5: 0x0001, + 0x5f6: 0x0001, 0x5f7: 0x0001, 0x5f8: 0x0001, 0x5f9: 0x0001, 0x5fa: 0x0001, 0x5fb: 0x0001, + 0x5fc: 0x0001, 0x5fd: 0x0001, 0x5fe: 0x0001, 0x5ff: 0x0001, + // Block 0x18, offset 0x600 + 0x600: 0x0001, 0x601: 0x0001, 0x602: 0x0001, 0x603: 0x0001, 0x604: 0x0001, 0x605: 0x0001, + 0x606: 0x0001, 0x607: 0x0001, 0x608: 0x0001, 0x609: 0x0001, 0x60a: 0x0001, 0x60b: 0x0001, + 0x60c: 0x0001, 0x60d: 0x0001, 0x60e: 0x0001, 0x60f: 0x0001, 0x610: 0x0001, 0x611: 0x0001, + 0x612: 0x0001, 0x613: 0x0001, 0x614: 0x0001, 0x615: 0x0001, 0x616: 0x0001, 0x617: 0x0001, + 0x618: 0x0001, 0x619: 0x0001, 0x61a: 0x0001, 0x61b: 0x0001, 0x61c: 0x0001, 0x61d: 0x0001, + 0x61e: 0x0001, 0x61f: 0x0001, 0x620: 0x000d, 0x621: 0x000d, 0x622: 0x000d, 0x623: 0x000d, + 0x624: 0x000d, 0x625: 0x000d, 0x626: 0x000d, 0x627: 0x000d, 0x628: 0x000d, 0x629: 0x000d, + 0x62a: 0x000d, 0x62b: 0x000d, 0x62c: 0x000d, 0x62d: 0x000d, 0x62e: 0x000d, 0x62f: 0x000d, + 0x630: 0x000d, 0x631: 0x000d, 0x632: 0x000d, 0x633: 0x000d, 0x634: 0x000d, 0x635: 0x000d, + 0x636: 0x000d, 0x637: 0x000d, 0x638: 0x000d, 0x639: 0x000d, 0x63a: 0x000d, 0x63b: 0x000d, + 0x63c: 0x000d, 0x63d: 0x000d, 0x63e: 0x000d, 0x63f: 0x000d, + // Block 0x19, offset 0x640 + 0x640: 0x000d, 0x641: 0x000d, 0x642: 0x000d, 0x643: 0x000d, 0x644: 0x000d, 0x645: 0x000d, + 0x646: 0x000d, 0x647: 0x000d, 0x648: 0x000d, 0x649: 0x000d, 0x64a: 0x000d, 0x64b: 0x000d, + 0x64c: 0x000d, 0x64d: 0x000d, 0x64e: 0x000d, 0x64f: 0x000d, 0x650: 0x000d, 0x651: 0x000d, + 0x652: 0x000d, 0x653: 0x000c, 0x654: 0x000c, 0x655: 0x000c, 0x656: 0x000c, 0x657: 0x000c, + 0x658: 0x000c, 0x659: 0x000c, 0x65a: 0x000c, 0x65b: 0x000c, 0x65c: 0x000c, 0x65d: 0x000c, + 0x65e: 0x000c, 0x65f: 0x000c, 0x660: 0x000c, 0x661: 0x000c, 0x662: 0x0005, 0x663: 0x000c, + 0x664: 0x000c, 0x665: 0x000c, 0x666: 0x000c, 0x667: 0x000c, 0x668: 0x000c, 0x669: 0x000c, + 0x66a: 0x000c, 0x66b: 0x000c, 0x66c: 0x000c, 0x66d: 0x000c, 0x66e: 0x000c, 0x66f: 0x000c, + 0x670: 0x000c, 0x671: 0x000c, 0x672: 0x000c, 0x673: 0x000c, 0x674: 0x000c, 0x675: 0x000c, + 0x676: 0x000c, 0x677: 0x000c, 0x678: 0x000c, 0x679: 0x000c, 0x67a: 0x000c, 0x67b: 0x000c, + 0x67c: 0x000c, 0x67d: 0x000c, 0x67e: 0x000c, 0x67f: 0x000c, + // Block 0x1a, offset 0x680 + 0x680: 0x000c, 0x681: 0x000c, 0x682: 0x000c, + 0x6ba: 0x000c, + 0x6bc: 0x000c, + // Block 0x1b, offset 0x6c0 + 0x6c1: 0x000c, 0x6c2: 0x000c, 0x6c3: 0x000c, 0x6c4: 0x000c, 0x6c5: 0x000c, + 0x6c6: 0x000c, 0x6c7: 0x000c, 0x6c8: 0x000c, + 0x6cd: 0x000c, 0x6d1: 0x000c, + 0x6d2: 0x000c, 0x6d3: 0x000c, 0x6d4: 0x000c, 0x6d5: 0x000c, 0x6d6: 0x000c, 0x6d7: 0x000c, + 0x6e2: 0x000c, 0x6e3: 0x000c, + // Block 0x1c, offset 0x700 + 0x701: 0x000c, + 0x73c: 0x000c, + // Block 0x1d, offset 0x740 + 0x741: 0x000c, 0x742: 0x000c, 0x743: 0x000c, 0x744: 0x000c, + 0x74d: 0x000c, + 0x762: 0x000c, 0x763: 0x000c, + 0x772: 0x0004, 0x773: 0x0004, + 0x77b: 0x0004, + 0x77e: 0x000c, + // Block 0x1e, offset 0x780 + 0x781: 0x000c, 0x782: 0x000c, + 0x7bc: 0x000c, + // Block 0x1f, offset 0x7c0 + 0x7c1: 0x000c, 0x7c2: 0x000c, + 0x7c7: 0x000c, 0x7c8: 0x000c, 0x7cb: 0x000c, + 0x7cc: 0x000c, 0x7cd: 0x000c, 0x7d1: 0x000c, + 0x7f0: 0x000c, 0x7f1: 0x000c, 0x7f5: 0x000c, + // Block 0x20, offset 0x800 + 0x801: 0x000c, 0x802: 0x000c, 0x803: 0x000c, 0x804: 0x000c, 0x805: 0x000c, + 0x807: 0x000c, 0x808: 0x000c, + 0x80d: 0x000c, + 0x822: 0x000c, 0x823: 0x000c, + 0x831: 0x0004, + 0x83a: 0x000c, 0x83b: 0x000c, + 0x83c: 0x000c, 0x83d: 0x000c, 0x83e: 0x000c, 0x83f: 0x000c, + // Block 0x21, offset 0x840 + 0x841: 0x000c, + 0x87c: 0x000c, 0x87f: 0x000c, + // Block 0x22, offset 0x880 + 0x881: 0x000c, 0x882: 0x000c, 0x883: 0x000c, 0x884: 0x000c, + 0x88d: 0x000c, + 0x896: 0x000c, + 0x8a2: 0x000c, 0x8a3: 0x000c, + // Block 0x23, offset 0x8c0 + 0x8c2: 0x000c, + // Block 0x24, offset 0x900 + 0x900: 0x000c, + 0x90d: 0x000c, + 0x933: 0x000a, 0x934: 0x000a, 0x935: 0x000a, + 0x936: 0x000a, 0x937: 0x000a, 0x938: 0x000a, 0x939: 0x0004, 0x93a: 0x000a, + // Block 0x25, offset 0x940 + 0x940: 0x000c, 0x944: 0x000c, + 0x97e: 0x000c, 0x97f: 0x000c, + // Block 0x26, offset 0x980 + 0x980: 0x000c, + 0x986: 0x000c, 0x987: 0x000c, 0x988: 0x000c, 0x98a: 0x000c, 0x98b: 0x000c, + 0x98c: 0x000c, 0x98d: 0x000c, + 0x995: 0x000c, 0x996: 0x000c, + 0x9a2: 0x000c, 0x9a3: 0x000c, + 0x9b8: 0x000a, 0x9b9: 0x000a, 0x9ba: 0x000a, 0x9bb: 0x000a, + 0x9bc: 0x000a, 0x9bd: 0x000a, 0x9be: 0x000a, + // Block 0x27, offset 0x9c0 + 0x9cc: 0x000c, 0x9cd: 0x000c, + 0x9e2: 0x000c, 0x9e3: 0x000c, + // Block 0x28, offset 0xa00 + 0xa00: 0x000c, 0xa01: 0x000c, + 0xa3b: 0x000c, + 0xa3c: 0x000c, + // Block 0x29, offset 0xa40 + 0xa41: 0x000c, 0xa42: 0x000c, 0xa43: 0x000c, 0xa44: 0x000c, + 0xa4d: 0x000c, + 0xa62: 0x000c, 0xa63: 0x000c, + // Block 0x2a, offset 0xa80 + 0xa8a: 0x000c, + 0xa92: 0x000c, 0xa93: 0x000c, 0xa94: 0x000c, 0xa96: 0x000c, + // Block 0x2b, offset 0xac0 + 0xaf1: 0x000c, 0xaf4: 0x000c, 0xaf5: 0x000c, + 0xaf6: 0x000c, 0xaf7: 0x000c, 0xaf8: 0x000c, 0xaf9: 0x000c, 0xafa: 0x000c, + 0xaff: 0x0004, + // Block 0x2c, offset 0xb00 + 0xb07: 0x000c, 0xb08: 0x000c, 0xb09: 0x000c, 0xb0a: 0x000c, 0xb0b: 0x000c, + 0xb0c: 0x000c, 0xb0d: 0x000c, 0xb0e: 0x000c, + // Block 0x2d, offset 0xb40 + 0xb71: 0x000c, 0xb74: 0x000c, 0xb75: 0x000c, + 0xb76: 0x000c, 0xb77: 0x000c, 0xb78: 0x000c, 0xb79: 0x000c, 0xb7b: 0x000c, + 0xb7c: 0x000c, + // Block 0x2e, offset 0xb80 + 0xb88: 0x000c, 0xb89: 0x000c, 0xb8a: 0x000c, 0xb8b: 0x000c, + 0xb8c: 0x000c, 0xb8d: 0x000c, + // Block 0x2f, offset 0xbc0 + 0xbd8: 0x000c, 0xbd9: 0x000c, + 0xbf5: 0x000c, + 0xbf7: 0x000c, 0xbf9: 0x000c, 0xbfa: 0x003a, 0xbfb: 0x002a, + 0xbfc: 0x003a, 0xbfd: 0x002a, + // Block 0x30, offset 0xc00 + 0xc31: 0x000c, 0xc32: 0x000c, 0xc33: 0x000c, 0xc34: 0x000c, 0xc35: 0x000c, + 0xc36: 0x000c, 0xc37: 0x000c, 0xc38: 0x000c, 0xc39: 0x000c, 0xc3a: 0x000c, 0xc3b: 0x000c, + 0xc3c: 0x000c, 0xc3d: 0x000c, 0xc3e: 0x000c, + // Block 0x31, offset 0xc40 + 0xc40: 0x000c, 0xc41: 0x000c, 0xc42: 0x000c, 0xc43: 0x000c, 0xc44: 0x000c, + 0xc46: 0x000c, 0xc47: 0x000c, + 0xc4d: 0x000c, 0xc4e: 0x000c, 0xc4f: 0x000c, 0xc50: 0x000c, 0xc51: 0x000c, + 0xc52: 0x000c, 0xc53: 0x000c, 0xc54: 0x000c, 0xc55: 0x000c, 0xc56: 0x000c, 0xc57: 0x000c, + 0xc59: 0x000c, 0xc5a: 0x000c, 0xc5b: 0x000c, 0xc5c: 0x000c, 0xc5d: 0x000c, + 0xc5e: 0x000c, 0xc5f: 0x000c, 0xc60: 0x000c, 0xc61: 0x000c, 0xc62: 0x000c, 0xc63: 0x000c, + 0xc64: 0x000c, 0xc65: 0x000c, 0xc66: 0x000c, 0xc67: 0x000c, 0xc68: 0x000c, 0xc69: 0x000c, + 0xc6a: 0x000c, 0xc6b: 0x000c, 0xc6c: 0x000c, 0xc6d: 0x000c, 0xc6e: 0x000c, 0xc6f: 0x000c, + 0xc70: 0x000c, 0xc71: 0x000c, 0xc72: 0x000c, 0xc73: 0x000c, 0xc74: 0x000c, 0xc75: 0x000c, + 0xc76: 0x000c, 0xc77: 0x000c, 0xc78: 0x000c, 0xc79: 0x000c, 0xc7a: 0x000c, 0xc7b: 0x000c, + 0xc7c: 0x000c, + // Block 0x32, offset 0xc80 + 0xc86: 0x000c, + // Block 0x33, offset 0xcc0 + 0xced: 0x000c, 0xcee: 0x000c, 0xcef: 0x000c, + 0xcf0: 0x000c, 0xcf2: 0x000c, 0xcf3: 0x000c, 0xcf4: 0x000c, 0xcf5: 0x000c, + 0xcf6: 0x000c, 0xcf7: 0x000c, 0xcf9: 0x000c, 0xcfa: 0x000c, + 0xcfd: 0x000c, 0xcfe: 0x000c, + // Block 0x34, offset 0xd00 + 0xd18: 0x000c, 0xd19: 0x000c, + 0xd1e: 0x000c, 0xd1f: 0x000c, 0xd20: 0x000c, + 0xd31: 0x000c, 0xd32: 0x000c, 0xd33: 0x000c, 0xd34: 0x000c, + // Block 0x35, offset 0xd40 + 0xd42: 0x000c, 0xd45: 0x000c, + 0xd46: 0x000c, + 0xd4d: 0x000c, + 0xd5d: 0x000c, + // Block 0x36, offset 0xd80 + 0xd9d: 0x000c, + 0xd9e: 0x000c, 0xd9f: 0x000c, + // Block 0x37, offset 0xdc0 + 0xdd0: 0x000a, 0xdd1: 0x000a, + 0xdd2: 0x000a, 0xdd3: 0x000a, 0xdd4: 0x000a, 0xdd5: 0x000a, 0xdd6: 0x000a, 0xdd7: 0x000a, + 0xdd8: 0x000a, 0xdd9: 0x000a, + // Block 0x38, offset 0xe00 + 0xe00: 0x000a, + // Block 0x39, offset 0xe40 + 0xe40: 0x0009, + 0xe5b: 0x007a, 0xe5c: 0x006a, + // Block 0x3a, offset 0xe80 + 0xe92: 0x000c, 0xe93: 0x000c, 0xe94: 0x000c, + 0xeb2: 0x000c, 0xeb3: 0x000c, 0xeb4: 0x000c, + // Block 0x3b, offset 0xec0 + 0xed2: 0x000c, 0xed3: 0x000c, + 0xef2: 0x000c, 0xef3: 0x000c, + // Block 0x3c, offset 0xf00 + 0xf34: 0x000c, 0xf35: 0x000c, + 0xf37: 0x000c, 0xf38: 0x000c, 0xf39: 0x000c, 0xf3a: 0x000c, 0xf3b: 0x000c, + 0xf3c: 0x000c, 0xf3d: 0x000c, + // Block 0x3d, offset 0xf40 + 0xf46: 0x000c, 0xf49: 0x000c, 0xf4a: 0x000c, 0xf4b: 0x000c, + 0xf4c: 0x000c, 0xf4d: 0x000c, 0xf4e: 0x000c, 0xf4f: 0x000c, 0xf50: 0x000c, 0xf51: 0x000c, + 0xf52: 0x000c, 0xf53: 0x000c, + 0xf5b: 0x0004, 0xf5d: 0x000c, + 0xf70: 0x000a, 0xf71: 0x000a, 0xf72: 0x000a, 0xf73: 0x000a, 0xf74: 0x000a, 0xf75: 0x000a, + 0xf76: 0x000a, 0xf77: 0x000a, 0xf78: 0x000a, 0xf79: 0x000a, + // Block 0x3e, offset 0xf80 + 0xf80: 0x000a, 0xf81: 0x000a, 0xf82: 0x000a, 0xf83: 0x000a, 0xf84: 0x000a, 0xf85: 0x000a, + 0xf86: 0x000a, 0xf87: 0x000a, 0xf88: 0x000a, 0xf89: 0x000a, 0xf8a: 0x000a, 0xf8b: 0x000c, + 0xf8c: 0x000c, 0xf8d: 0x000c, 0xf8e: 0x000b, + // Block 0x3f, offset 0xfc0 + 0xfc5: 0x000c, + 0xfc6: 0x000c, + 0xfe9: 0x000c, + // Block 0x40, offset 0x1000 + 0x1020: 0x000c, 0x1021: 0x000c, 0x1022: 0x000c, + 0x1027: 0x000c, 0x1028: 0x000c, + 0x1032: 0x000c, + 0x1039: 0x000c, 0x103a: 0x000c, 0x103b: 0x000c, + // Block 0x41, offset 0x1040 + 0x1040: 0x000a, 0x1044: 0x000a, 0x1045: 0x000a, + // Block 0x42, offset 0x1080 + 0x109e: 0x000a, 0x109f: 0x000a, 0x10a0: 0x000a, 0x10a1: 0x000a, 0x10a2: 0x000a, 0x10a3: 0x000a, + 0x10a4: 0x000a, 0x10a5: 0x000a, 0x10a6: 0x000a, 0x10a7: 0x000a, 0x10a8: 0x000a, 0x10a9: 0x000a, + 0x10aa: 0x000a, 0x10ab: 0x000a, 0x10ac: 0x000a, 0x10ad: 0x000a, 0x10ae: 0x000a, 0x10af: 0x000a, + 0x10b0: 0x000a, 0x10b1: 0x000a, 0x10b2: 0x000a, 0x10b3: 0x000a, 0x10b4: 0x000a, 0x10b5: 0x000a, + 0x10b6: 0x000a, 0x10b7: 0x000a, 0x10b8: 0x000a, 0x10b9: 0x000a, 0x10ba: 0x000a, 0x10bb: 0x000a, + 0x10bc: 0x000a, 0x10bd: 0x000a, 0x10be: 0x000a, 0x10bf: 0x000a, + // Block 0x43, offset 0x10c0 + 0x10d7: 0x000c, + 0x10d8: 0x000c, 0x10db: 0x000c, + // Block 0x44, offset 0x1100 + 0x1116: 0x000c, + 0x1118: 0x000c, 0x1119: 0x000c, 0x111a: 0x000c, 0x111b: 0x000c, 0x111c: 0x000c, 0x111d: 0x000c, + 0x111e: 0x000c, 0x1120: 0x000c, 0x1122: 0x000c, + 0x1125: 0x000c, 0x1126: 0x000c, 0x1127: 0x000c, 0x1128: 0x000c, 0x1129: 0x000c, + 0x112a: 0x000c, 0x112b: 0x000c, 0x112c: 0x000c, + 0x1133: 0x000c, 0x1134: 0x000c, 0x1135: 0x000c, + 0x1136: 0x000c, 0x1137: 0x000c, 0x1138: 0x000c, 0x1139: 0x000c, 0x113a: 0x000c, 0x113b: 0x000c, + 0x113c: 0x000c, 0x113f: 0x000c, + // Block 0x45, offset 0x1140 + 0x1170: 0x000c, 0x1171: 0x000c, 0x1172: 0x000c, 0x1173: 0x000c, 0x1174: 0x000c, 0x1175: 0x000c, + 0x1176: 0x000c, 0x1177: 0x000c, 0x1178: 0x000c, 0x1179: 0x000c, 0x117a: 0x000c, 0x117b: 0x000c, + 0x117c: 0x000c, 0x117d: 0x000c, 0x117e: 0x000c, + // Block 0x46, offset 0x1180 + 0x1180: 0x000c, 0x1181: 0x000c, 0x1182: 0x000c, 0x1183: 0x000c, + 0x11b4: 0x000c, + 0x11b6: 0x000c, 0x11b7: 0x000c, 0x11b8: 0x000c, 0x11b9: 0x000c, 0x11ba: 0x000c, + 0x11bc: 0x000c, + // Block 0x47, offset 0x11c0 + 0x11c2: 0x000c, + 0x11eb: 0x000c, 0x11ec: 0x000c, 0x11ed: 0x000c, 0x11ee: 0x000c, 0x11ef: 0x000c, + 0x11f0: 0x000c, 0x11f1: 0x000c, 0x11f2: 0x000c, 0x11f3: 0x000c, + // Block 0x48, offset 0x1200 + 0x1200: 0x000c, 0x1201: 0x000c, + 0x1222: 0x000c, 0x1223: 0x000c, + 0x1224: 0x000c, 0x1225: 0x000c, 0x1228: 0x000c, 0x1229: 0x000c, + 0x122b: 0x000c, 0x122c: 0x000c, 0x122d: 0x000c, + // Block 0x49, offset 0x1240 + 0x1266: 0x000c, 0x1268: 0x000c, 0x1269: 0x000c, + 0x126d: 0x000c, 0x126f: 0x000c, + 0x1270: 0x000c, 0x1271: 0x000c, + // Block 0x4a, offset 0x1280 + 0x12ac: 0x000c, 0x12ad: 0x000c, 0x12ae: 0x000c, 0x12af: 0x000c, + 0x12b0: 0x000c, 0x12b1: 0x000c, 0x12b2: 0x000c, 0x12b3: 0x000c, + 0x12b6: 0x000c, 0x12b7: 0x000c, + // Block 0x4b, offset 0x12c0 + 0x12d0: 0x000c, 0x12d1: 0x000c, + 0x12d2: 0x000c, 0x12d4: 0x000c, 0x12d5: 0x000c, 0x12d6: 0x000c, 0x12d7: 0x000c, + 0x12d8: 0x000c, 0x12d9: 0x000c, 0x12da: 0x000c, 0x12db: 0x000c, 0x12dc: 0x000c, 0x12dd: 0x000c, + 0x12de: 0x000c, 0x12df: 0x000c, 0x12e0: 0x000c, 0x12e2: 0x000c, 0x12e3: 0x000c, + 0x12e4: 0x000c, 0x12e5: 0x000c, 0x12e6: 0x000c, 0x12e7: 0x000c, 0x12e8: 0x000c, + 0x12ed: 0x000c, + 0x12f4: 0x000c, + 0x12f8: 0x000c, 0x12f9: 0x000c, + // Block 0x4c, offset 0x1300 + 0x1300: 0x000c, 0x1301: 0x000c, 0x1302: 0x000c, 0x1303: 0x000c, 0x1304: 0x000c, 0x1305: 0x000c, + 0x1306: 0x000c, 0x1307: 0x000c, 0x1308: 0x000c, 0x1309: 0x000c, 0x130a: 0x000c, 0x130b: 0x000c, + 0x130c: 0x000c, 0x130d: 0x000c, 0x130e: 0x000c, 0x130f: 0x000c, 0x1310: 0x000c, 0x1311: 0x000c, + 0x1312: 0x000c, 0x1313: 0x000c, 0x1314: 0x000c, 0x1315: 0x000c, 0x1316: 0x000c, 0x1317: 0x000c, + 0x1318: 0x000c, 0x1319: 0x000c, 0x131a: 0x000c, 0x131b: 0x000c, 0x131c: 0x000c, 0x131d: 0x000c, + 0x131e: 0x000c, 0x131f: 0x000c, 0x1320: 0x000c, 0x1321: 0x000c, 0x1322: 0x000c, 0x1323: 0x000c, + 0x1324: 0x000c, 0x1325: 0x000c, 0x1326: 0x000c, 0x1327: 0x000c, 0x1328: 0x000c, 0x1329: 0x000c, + 0x132a: 0x000c, 0x132b: 0x000c, 0x132c: 0x000c, 0x132d: 0x000c, 0x132e: 0x000c, 0x132f: 0x000c, + 0x1330: 0x000c, 0x1331: 0x000c, 0x1332: 0x000c, 0x1333: 0x000c, 0x1334: 0x000c, 0x1335: 0x000c, + 0x1336: 0x000c, 0x1337: 0x000c, 0x1338: 0x000c, 0x1339: 0x000c, 0x133b: 0x000c, + 0x133c: 0x000c, 0x133d: 0x000c, 0x133e: 0x000c, 0x133f: 0x000c, + // Block 0x4d, offset 0x1340 + 0x137d: 0x000a, 0x137f: 0x000a, + // Block 0x4e, offset 0x1380 + 0x1380: 0x000a, 0x1381: 0x000a, + 0x138d: 0x000a, 0x138e: 0x000a, 0x138f: 0x000a, + 0x139d: 0x000a, + 0x139e: 0x000a, 0x139f: 0x000a, + 0x13ad: 0x000a, 0x13ae: 0x000a, 0x13af: 0x000a, + 0x13bd: 0x000a, 0x13be: 0x000a, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x0009, 0x13c1: 0x0009, 0x13c2: 0x0009, 0x13c3: 0x0009, 0x13c4: 0x0009, 0x13c5: 0x0009, + 0x13c6: 0x0009, 0x13c7: 0x0009, 0x13c8: 0x0009, 0x13c9: 0x0009, 0x13ca: 0x0009, 0x13cb: 0x000b, + 0x13cc: 0x000b, 0x13cd: 0x000b, 0x13cf: 0x0001, 0x13d0: 0x000a, 0x13d1: 0x000a, + 0x13d2: 0x000a, 0x13d3: 0x000a, 0x13d4: 0x000a, 0x13d5: 0x000a, 0x13d6: 0x000a, 0x13d7: 0x000a, + 0x13d8: 0x000a, 0x13d9: 0x000a, 0x13da: 0x000a, 0x13db: 0x000a, 0x13dc: 0x000a, 0x13dd: 0x000a, + 0x13de: 0x000a, 0x13df: 0x000a, 0x13e0: 0x000a, 0x13e1: 0x000a, 0x13e2: 0x000a, 0x13e3: 0x000a, + 0x13e4: 0x000a, 0x13e5: 0x000a, 0x13e6: 0x000a, 0x13e7: 0x000a, 0x13e8: 0x0009, 0x13e9: 0x0007, + 0x13ea: 0x000e, 0x13eb: 0x000e, 0x13ec: 0x000e, 0x13ed: 0x000e, 0x13ee: 0x000e, 0x13ef: 0x0006, + 0x13f0: 0x0004, 0x13f1: 0x0004, 0x13f2: 0x0004, 0x13f3: 0x0004, 0x13f4: 0x0004, 0x13f5: 0x000a, + 0x13f6: 0x000a, 0x13f7: 0x000a, 0x13f8: 0x000a, 0x13f9: 0x000a, 0x13fa: 0x000a, 0x13fb: 0x000a, + 0x13fc: 0x000a, 0x13fd: 0x000a, 0x13fe: 0x000a, 0x13ff: 0x000a, + // Block 0x50, offset 0x1400 + 0x1400: 0x000a, 0x1401: 0x000a, 0x1402: 0x000a, 0x1403: 0x000a, 0x1404: 0x0006, 0x1405: 0x009a, + 0x1406: 0x008a, 0x1407: 0x000a, 0x1408: 0x000a, 0x1409: 0x000a, 0x140a: 0x000a, 0x140b: 0x000a, + 0x140c: 0x000a, 0x140d: 0x000a, 0x140e: 0x000a, 0x140f: 0x000a, 0x1410: 0x000a, 0x1411: 0x000a, + 0x1412: 0x000a, 0x1413: 0x000a, 0x1414: 0x000a, 0x1415: 0x000a, 0x1416: 0x000a, 0x1417: 0x000a, + 0x1418: 0x000a, 0x1419: 0x000a, 0x141a: 0x000a, 0x141b: 0x000a, 0x141c: 0x000a, 0x141d: 0x000a, + 0x141e: 0x000a, 0x141f: 0x0009, 0x1420: 0x000b, 0x1421: 0x000b, 0x1422: 0x000b, 0x1423: 0x000b, + 0x1424: 0x000b, 0x1425: 0x000b, 0x1426: 0x000e, 0x1427: 0x000e, 0x1428: 0x000e, 0x1429: 0x000e, + 0x142a: 0x000b, 0x142b: 0x000b, 0x142c: 0x000b, 0x142d: 0x000b, 0x142e: 0x000b, 0x142f: 0x000b, + 0x1430: 0x0002, 0x1434: 0x0002, 0x1435: 0x0002, + 0x1436: 0x0002, 0x1437: 0x0002, 0x1438: 0x0002, 0x1439: 0x0002, 0x143a: 0x0003, 0x143b: 0x0003, + 0x143c: 0x000a, 0x143d: 0x009a, 0x143e: 0x008a, + // Block 0x51, offset 0x1440 + 0x1440: 0x0002, 0x1441: 0x0002, 0x1442: 0x0002, 0x1443: 0x0002, 0x1444: 0x0002, 0x1445: 0x0002, + 0x1446: 0x0002, 0x1447: 0x0002, 0x1448: 0x0002, 0x1449: 0x0002, 0x144a: 0x0003, 0x144b: 0x0003, + 0x144c: 0x000a, 0x144d: 0x009a, 0x144e: 0x008a, + 0x1460: 0x0004, 0x1461: 0x0004, 0x1462: 0x0004, 0x1463: 0x0004, + 0x1464: 0x0004, 0x1465: 0x0004, 0x1466: 0x0004, 0x1467: 0x0004, 0x1468: 0x0004, 0x1469: 0x0004, + 0x146a: 0x0004, 0x146b: 0x0004, 0x146c: 0x0004, 0x146d: 0x0004, 0x146e: 0x0004, 0x146f: 0x0004, + 0x1470: 0x0004, 0x1471: 0x0004, 0x1472: 0x0004, 0x1473: 0x0004, 0x1474: 0x0004, 0x1475: 0x0004, + 0x1476: 0x0004, 0x1477: 0x0004, 0x1478: 0x0004, 0x1479: 0x0004, 0x147a: 0x0004, 0x147b: 0x0004, + 0x147c: 0x0004, 0x147d: 0x0004, 0x147e: 0x0004, 0x147f: 0x0004, + // Block 0x52, offset 0x1480 + 0x1480: 0x0004, 0x1481: 0x0004, 0x1482: 0x0004, 0x1483: 0x0004, 0x1484: 0x0004, 0x1485: 0x0004, + 0x1486: 0x0004, 0x1487: 0x0004, 0x1488: 0x0004, 0x1489: 0x0004, 0x148a: 0x0004, 0x148b: 0x0004, + 0x148c: 0x0004, 0x148d: 0x0004, 0x148e: 0x0004, 0x148f: 0x0004, 0x1490: 0x000c, 0x1491: 0x000c, + 0x1492: 0x000c, 0x1493: 0x000c, 0x1494: 0x000c, 0x1495: 0x000c, 0x1496: 0x000c, 0x1497: 0x000c, + 0x1498: 0x000c, 0x1499: 0x000c, 0x149a: 0x000c, 0x149b: 0x000c, 0x149c: 0x000c, 0x149d: 0x000c, + 0x149e: 0x000c, 0x149f: 0x000c, 0x14a0: 0x000c, 0x14a1: 0x000c, 0x14a2: 0x000c, 0x14a3: 0x000c, + 0x14a4: 0x000c, 0x14a5: 0x000c, 0x14a6: 0x000c, 0x14a7: 0x000c, 0x14a8: 0x000c, 0x14a9: 0x000c, + 0x14aa: 0x000c, 0x14ab: 0x000c, 0x14ac: 0x000c, 0x14ad: 0x000c, 0x14ae: 0x000c, 0x14af: 0x000c, + 0x14b0: 0x000c, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x000a, 0x14c1: 0x000a, 0x14c3: 0x000a, 0x14c4: 0x000a, 0x14c5: 0x000a, + 0x14c6: 0x000a, 0x14c8: 0x000a, 0x14c9: 0x000a, + 0x14d4: 0x000a, 0x14d6: 0x000a, 0x14d7: 0x000a, + 0x14d8: 0x000a, + 0x14de: 0x000a, 0x14df: 0x000a, 0x14e0: 0x000a, 0x14e1: 0x000a, 0x14e2: 0x000a, 0x14e3: 0x000a, + 0x14e5: 0x000a, 0x14e7: 0x000a, 0x14e9: 0x000a, + 0x14ee: 0x0004, + 0x14fa: 0x000a, 0x14fb: 0x000a, + // Block 0x54, offset 0x1500 + 0x1500: 0x000a, 0x1501: 0x000a, 0x1502: 0x000a, 0x1503: 0x000a, 0x1504: 0x000a, + 0x150a: 0x000a, 0x150b: 0x000a, + 0x150c: 0x000a, 0x150d: 0x000a, 0x1510: 0x000a, 0x1511: 0x000a, + 0x1512: 0x000a, 0x1513: 0x000a, 0x1514: 0x000a, 0x1515: 0x000a, 0x1516: 0x000a, 0x1517: 0x000a, + 0x1518: 0x000a, 0x1519: 0x000a, 0x151a: 0x000a, 0x151b: 0x000a, 0x151c: 0x000a, 0x151d: 0x000a, + 0x151e: 0x000a, 0x151f: 0x000a, + // Block 0x55, offset 0x1540 + 0x1549: 0x000a, 0x154a: 0x000a, 0x154b: 0x000a, + 0x1550: 0x000a, 0x1551: 0x000a, + 0x1552: 0x000a, 0x1553: 0x000a, 0x1554: 0x000a, 0x1555: 0x000a, 0x1556: 0x000a, 0x1557: 0x000a, + 0x1558: 0x000a, 0x1559: 0x000a, 0x155a: 0x000a, 0x155b: 0x000a, 0x155c: 0x000a, 0x155d: 0x000a, + 0x155e: 0x000a, 0x155f: 0x000a, 0x1560: 0x000a, 0x1561: 0x000a, 0x1562: 0x000a, 0x1563: 0x000a, + 0x1564: 0x000a, 0x1565: 0x000a, 0x1566: 0x000a, 0x1567: 0x000a, 0x1568: 0x000a, 0x1569: 0x000a, + 0x156a: 0x000a, 0x156b: 0x000a, 0x156c: 0x000a, 0x156d: 0x000a, 0x156e: 0x000a, 0x156f: 0x000a, + 0x1570: 0x000a, 0x1571: 0x000a, 0x1572: 0x000a, 0x1573: 0x000a, 0x1574: 0x000a, 0x1575: 0x000a, + 0x1576: 0x000a, 0x1577: 0x000a, 0x1578: 0x000a, 0x1579: 0x000a, 0x157a: 0x000a, 0x157b: 0x000a, + 0x157c: 0x000a, 0x157d: 0x000a, 0x157e: 0x000a, 0x157f: 0x000a, + // Block 0x56, offset 0x1580 + 0x1580: 0x000a, 0x1581: 0x000a, 0x1582: 0x000a, 0x1583: 0x000a, 0x1584: 0x000a, 0x1585: 0x000a, + 0x1586: 0x000a, 0x1587: 0x000a, 0x1588: 0x000a, 0x1589: 0x000a, 0x158a: 0x000a, 0x158b: 0x000a, + 0x158c: 0x000a, 0x158d: 0x000a, 0x158e: 0x000a, 0x158f: 0x000a, 0x1590: 0x000a, 0x1591: 0x000a, + 0x1592: 0x000a, 0x1593: 0x000a, 0x1594: 0x000a, 0x1595: 0x000a, 0x1596: 0x000a, 0x1597: 0x000a, + 0x1598: 0x000a, 0x1599: 0x000a, 0x159a: 0x000a, 0x159b: 0x000a, 0x159c: 0x000a, 0x159d: 0x000a, + 0x159e: 0x000a, 0x159f: 0x000a, 0x15a0: 0x000a, 0x15a1: 0x000a, 0x15a2: 0x000a, 0x15a3: 0x000a, + 0x15a4: 0x000a, 0x15a5: 0x000a, 0x15a6: 0x000a, 0x15a7: 0x000a, 0x15a8: 0x000a, 0x15a9: 0x000a, + 0x15aa: 0x000a, 0x15ab: 0x000a, 0x15ac: 0x000a, 0x15ad: 0x000a, 0x15ae: 0x000a, 0x15af: 0x000a, + 0x15b0: 0x000a, 0x15b1: 0x000a, 0x15b2: 0x000a, 0x15b3: 0x000a, 0x15b4: 0x000a, 0x15b5: 0x000a, + 0x15b6: 0x000a, 0x15b7: 0x000a, 0x15b8: 0x000a, 0x15b9: 0x000a, 0x15ba: 0x000a, 0x15bb: 0x000a, + 0x15bc: 0x000a, 0x15bd: 0x000a, 0x15be: 0x000a, 0x15bf: 0x000a, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x000a, 0x15c1: 0x000a, 0x15c2: 0x000a, 0x15c3: 0x000a, 0x15c4: 0x000a, 0x15c5: 0x000a, + 0x15c6: 0x000a, 0x15c7: 0x000a, 0x15c8: 0x000a, 0x15c9: 0x000a, 0x15ca: 0x000a, 0x15cb: 0x000a, + 0x15cc: 0x000a, 0x15cd: 0x000a, 0x15ce: 0x000a, 0x15cf: 0x000a, 0x15d0: 0x000a, 0x15d1: 0x000a, + 0x15d2: 0x0003, 0x15d3: 0x0004, 0x15d4: 0x000a, 0x15d5: 0x000a, 0x15d6: 0x000a, 0x15d7: 0x000a, + 0x15d8: 0x000a, 0x15d9: 0x000a, 0x15da: 0x000a, 0x15db: 0x000a, 0x15dc: 0x000a, 0x15dd: 0x000a, + 0x15de: 0x000a, 0x15df: 0x000a, 0x15e0: 0x000a, 0x15e1: 0x000a, 0x15e2: 0x000a, 0x15e3: 0x000a, + 0x15e4: 0x000a, 0x15e5: 0x000a, 0x15e6: 0x000a, 0x15e7: 0x000a, 0x15e8: 0x000a, 0x15e9: 0x000a, + 0x15ea: 0x000a, 0x15eb: 0x000a, 0x15ec: 0x000a, 0x15ed: 0x000a, 0x15ee: 0x000a, 0x15ef: 0x000a, + 0x15f0: 0x000a, 0x15f1: 0x000a, 0x15f2: 0x000a, 0x15f3: 0x000a, 0x15f4: 0x000a, 0x15f5: 0x000a, + 0x15f6: 0x000a, 0x15f7: 0x000a, 0x15f8: 0x000a, 0x15f9: 0x000a, 0x15fa: 0x000a, 0x15fb: 0x000a, + 0x15fc: 0x000a, 0x15fd: 0x000a, 0x15fe: 0x000a, 0x15ff: 0x000a, + // Block 0x58, offset 0x1600 + 0x1600: 0x000a, 0x1601: 0x000a, 0x1602: 0x000a, 0x1603: 0x000a, 0x1604: 0x000a, 0x1605: 0x000a, + 0x1606: 0x000a, 0x1607: 0x000a, 0x1608: 0x003a, 0x1609: 0x002a, 0x160a: 0x003a, 0x160b: 0x002a, + 0x160c: 0x000a, 0x160d: 0x000a, 0x160e: 0x000a, 0x160f: 0x000a, 0x1610: 0x000a, 0x1611: 0x000a, + 0x1612: 0x000a, 0x1613: 0x000a, 0x1614: 0x000a, 0x1615: 0x000a, 0x1616: 0x000a, 0x1617: 0x000a, + 0x1618: 0x000a, 0x1619: 0x000a, 0x161a: 0x000a, 0x161b: 0x000a, 0x161c: 0x000a, 0x161d: 0x000a, + 0x161e: 0x000a, 0x161f: 0x000a, 0x1620: 0x000a, 0x1621: 0x000a, 0x1622: 0x000a, 0x1623: 0x000a, + 0x1624: 0x000a, 0x1625: 0x000a, 0x1626: 0x000a, 0x1627: 0x000a, 0x1628: 0x000a, 0x1629: 0x009a, + 0x162a: 0x008a, 0x162b: 0x000a, 0x162c: 0x000a, 0x162d: 0x000a, 0x162e: 0x000a, 0x162f: 0x000a, + 0x1630: 0x000a, 0x1631: 0x000a, 0x1632: 0x000a, 0x1633: 0x000a, 0x1634: 0x000a, 0x1635: 0x000a, + // Block 0x59, offset 0x1640 + 0x167b: 0x000a, + 0x167c: 0x000a, 0x167d: 0x000a, 0x167e: 0x000a, 0x167f: 0x000a, + // Block 0x5a, offset 0x1680 + 0x1680: 0x000a, 0x1681: 0x000a, 0x1682: 0x000a, 0x1683: 0x000a, 0x1684: 0x000a, 0x1685: 0x000a, + 0x1686: 0x000a, 0x1687: 0x000a, 0x1688: 0x000a, 0x1689: 0x000a, 0x168a: 0x000a, 0x168b: 0x000a, + 0x168c: 0x000a, 0x168d: 0x000a, 0x168e: 0x000a, 0x168f: 0x000a, 0x1690: 0x000a, 0x1691: 0x000a, + 0x1692: 0x000a, 0x1693: 0x000a, 0x1694: 0x000a, 0x1696: 0x000a, 0x1697: 0x000a, + 0x1698: 0x000a, 0x1699: 0x000a, 0x169a: 0x000a, 0x169b: 0x000a, 0x169c: 0x000a, 0x169d: 0x000a, + 0x169e: 0x000a, 0x169f: 0x000a, 0x16a0: 0x000a, 0x16a1: 0x000a, 0x16a2: 0x000a, 0x16a3: 0x000a, + 0x16a4: 0x000a, 0x16a5: 0x000a, 0x16a6: 0x000a, 0x16a7: 0x000a, 0x16a8: 0x000a, 0x16a9: 0x000a, + 0x16aa: 0x000a, 0x16ab: 0x000a, 0x16ac: 0x000a, 0x16ad: 0x000a, 0x16ae: 0x000a, 0x16af: 0x000a, + 0x16b0: 0x000a, 0x16b1: 0x000a, 0x16b2: 0x000a, 0x16b3: 0x000a, 0x16b4: 0x000a, 0x16b5: 0x000a, + 0x16b6: 0x000a, 0x16b7: 0x000a, 0x16b8: 0x000a, 0x16b9: 0x000a, 0x16ba: 0x000a, 0x16bb: 0x000a, + 0x16bc: 0x000a, 0x16bd: 0x000a, 0x16be: 0x000a, 0x16bf: 0x000a, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x000a, 0x16c1: 0x000a, 0x16c2: 0x000a, 0x16c3: 0x000a, 0x16c4: 0x000a, 0x16c5: 0x000a, + 0x16c6: 0x000a, 0x16c7: 0x000a, 0x16c8: 0x000a, 0x16c9: 0x000a, 0x16ca: 0x000a, 0x16cb: 0x000a, + 0x16cc: 0x000a, 0x16cd: 0x000a, 0x16ce: 0x000a, 0x16cf: 0x000a, 0x16d0: 0x000a, 0x16d1: 0x000a, + 0x16d2: 0x000a, 0x16d3: 0x000a, 0x16d4: 0x000a, 0x16d5: 0x000a, 0x16d6: 0x000a, 0x16d7: 0x000a, + 0x16d8: 0x000a, 0x16d9: 0x000a, 0x16da: 0x000a, 0x16db: 0x000a, 0x16dc: 0x000a, 0x16dd: 0x000a, + 0x16de: 0x000a, 0x16df: 0x000a, 0x16e0: 0x000a, 0x16e1: 0x000a, 0x16e2: 0x000a, 0x16e3: 0x000a, + 0x16e4: 0x000a, 0x16e5: 0x000a, 0x16e6: 0x000a, + // Block 0x5c, offset 0x1700 + 0x1700: 0x000a, 0x1701: 0x000a, 0x1702: 0x000a, 0x1703: 0x000a, 0x1704: 0x000a, 0x1705: 0x000a, + 0x1706: 0x000a, 0x1707: 0x000a, 0x1708: 0x000a, 0x1709: 0x000a, 0x170a: 0x000a, + 0x1720: 0x000a, 0x1721: 0x000a, 0x1722: 0x000a, 0x1723: 0x000a, + 0x1724: 0x000a, 0x1725: 0x000a, 0x1726: 0x000a, 0x1727: 0x000a, 0x1728: 0x000a, 0x1729: 0x000a, + 0x172a: 0x000a, 0x172b: 0x000a, 0x172c: 0x000a, 0x172d: 0x000a, 0x172e: 0x000a, 0x172f: 0x000a, + 0x1730: 0x000a, 0x1731: 0x000a, 0x1732: 0x000a, 0x1733: 0x000a, 0x1734: 0x000a, 0x1735: 0x000a, + 0x1736: 0x000a, 0x1737: 0x000a, 0x1738: 0x000a, 0x1739: 0x000a, 0x173a: 0x000a, 0x173b: 0x000a, + 0x173c: 0x000a, 0x173d: 0x000a, 0x173e: 0x000a, 0x173f: 0x000a, + // Block 0x5d, offset 0x1740 + 0x1740: 0x000a, 0x1741: 0x000a, 0x1742: 0x000a, 0x1743: 0x000a, 0x1744: 0x000a, 0x1745: 0x000a, + 0x1746: 0x000a, 0x1747: 0x000a, 0x1748: 0x0002, 0x1749: 0x0002, 0x174a: 0x0002, 0x174b: 0x0002, + 0x174c: 0x0002, 0x174d: 0x0002, 0x174e: 0x0002, 0x174f: 0x0002, 0x1750: 0x0002, 0x1751: 0x0002, + 0x1752: 0x0002, 0x1753: 0x0002, 0x1754: 0x0002, 0x1755: 0x0002, 0x1756: 0x0002, 0x1757: 0x0002, + 0x1758: 0x0002, 0x1759: 0x0002, 0x175a: 0x0002, 0x175b: 0x0002, + // Block 0x5e, offset 0x1780 + 0x17aa: 0x000a, 0x17ab: 0x000a, 0x17ac: 0x000a, 0x17ad: 0x000a, 0x17ae: 0x000a, 0x17af: 0x000a, + 0x17b0: 0x000a, 0x17b1: 0x000a, 0x17b2: 0x000a, 0x17b3: 0x000a, 0x17b4: 0x000a, 0x17b5: 0x000a, + 0x17b6: 0x000a, 0x17b7: 0x000a, 0x17b8: 0x000a, 0x17b9: 0x000a, 0x17ba: 0x000a, 0x17bb: 0x000a, + 0x17bc: 0x000a, 0x17bd: 0x000a, 0x17be: 0x000a, 0x17bf: 0x000a, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x000a, 0x17c1: 0x000a, 0x17c2: 0x000a, 0x17c3: 0x000a, 0x17c4: 0x000a, 0x17c5: 0x000a, + 0x17c6: 0x000a, 0x17c7: 0x000a, 0x17c8: 0x000a, 0x17c9: 0x000a, 0x17ca: 0x000a, 0x17cb: 0x000a, + 0x17cc: 0x000a, 0x17cd: 0x000a, 0x17ce: 0x000a, 0x17cf: 0x000a, 0x17d0: 0x000a, 0x17d1: 0x000a, + 0x17d2: 0x000a, 0x17d3: 0x000a, 0x17d4: 0x000a, 0x17d5: 0x000a, 0x17d6: 0x000a, 0x17d7: 0x000a, + 0x17d8: 0x000a, 0x17d9: 0x000a, 0x17da: 0x000a, 0x17db: 0x000a, 0x17dc: 0x000a, 0x17dd: 0x000a, + 0x17de: 0x000a, 0x17df: 0x000a, 0x17e0: 0x000a, 0x17e1: 0x000a, 0x17e2: 0x000a, 0x17e3: 0x000a, + 0x17e4: 0x000a, 0x17e5: 0x000a, 0x17e6: 0x000a, 0x17e7: 0x000a, 0x17e8: 0x000a, 0x17e9: 0x000a, + 0x17ea: 0x000a, 0x17eb: 0x000a, 0x17ed: 0x000a, 0x17ee: 0x000a, 0x17ef: 0x000a, + 0x17f0: 0x000a, 0x17f1: 0x000a, 0x17f2: 0x000a, 0x17f3: 0x000a, 0x17f4: 0x000a, 0x17f5: 0x000a, + 0x17f6: 0x000a, 0x17f7: 0x000a, 0x17f8: 0x000a, 0x17f9: 0x000a, 0x17fa: 0x000a, 0x17fb: 0x000a, + 0x17fc: 0x000a, 0x17fd: 0x000a, 0x17fe: 0x000a, 0x17ff: 0x000a, + // Block 0x60, offset 0x1800 + 0x1800: 0x000a, 0x1801: 0x000a, 0x1802: 0x000a, 0x1803: 0x000a, 0x1804: 0x000a, 0x1805: 0x000a, + 0x1806: 0x000a, 0x1807: 0x000a, 0x1808: 0x000a, 0x1809: 0x000a, 0x180a: 0x000a, 0x180b: 0x000a, + 0x180c: 0x000a, 0x180d: 0x000a, 0x180e: 0x000a, 0x180f: 0x000a, 0x1810: 0x000a, 0x1811: 0x000a, + 0x1812: 0x000a, 0x1813: 0x000a, 0x1814: 0x000a, 0x1815: 0x000a, 0x1816: 0x000a, 0x1817: 0x000a, + 0x1818: 0x000a, 0x1819: 0x000a, 0x181a: 0x000a, 0x181b: 0x000a, 0x181c: 0x000a, 0x181d: 0x000a, + 0x181e: 0x000a, 0x181f: 0x000a, 0x1820: 0x000a, 0x1821: 0x000a, 0x1822: 0x000a, 0x1823: 0x000a, + 0x1824: 0x000a, 0x1825: 0x000a, 0x1826: 0x000a, 0x1827: 0x000a, 0x1828: 0x003a, 0x1829: 0x002a, + 0x182a: 0x003a, 0x182b: 0x002a, 0x182c: 0x003a, 0x182d: 0x002a, 0x182e: 0x003a, 0x182f: 0x002a, + 0x1830: 0x003a, 0x1831: 0x002a, 0x1832: 0x003a, 0x1833: 0x002a, 0x1834: 0x003a, 0x1835: 0x002a, + 0x1836: 0x000a, 0x1837: 0x000a, 0x1838: 0x000a, 0x1839: 0x000a, 0x183a: 0x000a, 0x183b: 0x000a, + 0x183c: 0x000a, 0x183d: 0x000a, 0x183e: 0x000a, 0x183f: 0x000a, + // Block 0x61, offset 0x1840 + 0x1840: 0x000a, 0x1841: 0x000a, 0x1842: 0x000a, 0x1843: 0x000a, 0x1844: 0x000a, 0x1845: 0x009a, + 0x1846: 0x008a, 0x1847: 0x000a, 0x1848: 0x000a, 0x1849: 0x000a, 0x184a: 0x000a, 0x184b: 0x000a, + 0x184c: 0x000a, 0x184d: 0x000a, 0x184e: 0x000a, 0x184f: 0x000a, 0x1850: 0x000a, 0x1851: 0x000a, + 0x1852: 0x000a, 0x1853: 0x000a, 0x1854: 0x000a, 0x1855: 0x000a, 0x1856: 0x000a, 0x1857: 0x000a, + 0x1858: 0x000a, 0x1859: 0x000a, 0x185a: 0x000a, 0x185b: 0x000a, 0x185c: 0x000a, 0x185d: 0x000a, + 0x185e: 0x000a, 0x185f: 0x000a, 0x1860: 0x000a, 0x1861: 0x000a, 0x1862: 0x000a, 0x1863: 0x000a, + 0x1864: 0x000a, 0x1865: 0x000a, 0x1866: 0x003a, 0x1867: 0x002a, 0x1868: 0x003a, 0x1869: 0x002a, + 0x186a: 0x003a, 0x186b: 0x002a, 0x186c: 0x003a, 0x186d: 0x002a, 0x186e: 0x003a, 0x186f: 0x002a, + 0x1870: 0x000a, 0x1871: 0x000a, 0x1872: 0x000a, 0x1873: 0x000a, 0x1874: 0x000a, 0x1875: 0x000a, + 0x1876: 0x000a, 0x1877: 0x000a, 0x1878: 0x000a, 0x1879: 0x000a, 0x187a: 0x000a, 0x187b: 0x000a, + 0x187c: 0x000a, 0x187d: 0x000a, 0x187e: 0x000a, 0x187f: 0x000a, + // Block 0x62, offset 0x1880 + 0x1880: 0x000a, 0x1881: 0x000a, 0x1882: 0x000a, 0x1883: 0x007a, 0x1884: 0x006a, 0x1885: 0x009a, + 0x1886: 0x008a, 0x1887: 0x00ba, 0x1888: 0x00aa, 0x1889: 0x009a, 0x188a: 0x008a, 0x188b: 0x007a, + 0x188c: 0x006a, 0x188d: 0x00da, 0x188e: 0x002a, 0x188f: 0x003a, 0x1890: 0x00ca, 0x1891: 0x009a, + 0x1892: 0x008a, 0x1893: 0x007a, 0x1894: 0x006a, 0x1895: 0x009a, 0x1896: 0x008a, 0x1897: 0x00ba, + 0x1898: 0x00aa, 0x1899: 0x000a, 0x189a: 0x000a, 0x189b: 0x000a, 0x189c: 0x000a, 0x189d: 0x000a, + 0x189e: 0x000a, 0x189f: 0x000a, 0x18a0: 0x000a, 0x18a1: 0x000a, 0x18a2: 0x000a, 0x18a3: 0x000a, + 0x18a4: 0x000a, 0x18a5: 0x000a, 0x18a6: 0x000a, 0x18a7: 0x000a, 0x18a8: 0x000a, 0x18a9: 0x000a, + 0x18aa: 0x000a, 0x18ab: 0x000a, 0x18ac: 0x000a, 0x18ad: 0x000a, 0x18ae: 0x000a, 0x18af: 0x000a, + 0x18b0: 0x000a, 0x18b1: 0x000a, 0x18b2: 0x000a, 0x18b3: 0x000a, 0x18b4: 0x000a, 0x18b5: 0x000a, + 0x18b6: 0x000a, 0x18b7: 0x000a, 0x18b8: 0x000a, 0x18b9: 0x000a, 0x18ba: 0x000a, 0x18bb: 0x000a, + 0x18bc: 0x000a, 0x18bd: 0x000a, 0x18be: 0x000a, 0x18bf: 0x000a, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x000a, 0x18c1: 0x000a, 0x18c2: 0x000a, 0x18c3: 0x000a, 0x18c4: 0x000a, 0x18c5: 0x000a, + 0x18c6: 0x000a, 0x18c7: 0x000a, 0x18c8: 0x000a, 0x18c9: 0x000a, 0x18ca: 0x000a, 0x18cb: 0x000a, + 0x18cc: 0x000a, 0x18cd: 0x000a, 0x18ce: 0x000a, 0x18cf: 0x000a, 0x18d0: 0x000a, 0x18d1: 0x000a, + 0x18d2: 0x000a, 0x18d3: 0x000a, 0x18d4: 0x000a, 0x18d5: 0x000a, 0x18d6: 0x000a, 0x18d7: 0x000a, + 0x18d8: 0x003a, 0x18d9: 0x002a, 0x18da: 0x003a, 0x18db: 0x002a, 0x18dc: 0x000a, 0x18dd: 0x000a, + 0x18de: 0x000a, 0x18df: 0x000a, 0x18e0: 0x000a, 0x18e1: 0x000a, 0x18e2: 0x000a, 0x18e3: 0x000a, + 0x18e4: 0x000a, 0x18e5: 0x000a, 0x18e6: 0x000a, 0x18e7: 0x000a, 0x18e8: 0x000a, 0x18e9: 0x000a, + 0x18ea: 0x000a, 0x18eb: 0x000a, 0x18ec: 0x000a, 0x18ed: 0x000a, 0x18ee: 0x000a, 0x18ef: 0x000a, + 0x18f0: 0x000a, 0x18f1: 0x000a, 0x18f2: 0x000a, 0x18f3: 0x000a, 0x18f4: 0x000a, 0x18f5: 0x000a, + 0x18f6: 0x000a, 0x18f7: 0x000a, 0x18f8: 0x000a, 0x18f9: 0x000a, 0x18fa: 0x000a, 0x18fb: 0x000a, + 0x18fc: 0x003a, 0x18fd: 0x002a, 0x18fe: 0x000a, 0x18ff: 0x000a, + // Block 0x64, offset 0x1900 + 0x1900: 0x000a, 0x1901: 0x000a, 0x1902: 0x000a, 0x1903: 0x000a, 0x1904: 0x000a, 0x1905: 0x000a, + 0x1906: 0x000a, 0x1907: 0x000a, 0x1908: 0x000a, 0x1909: 0x000a, 0x190a: 0x000a, 0x190b: 0x000a, + 0x190c: 0x000a, 0x190d: 0x000a, 0x190e: 0x000a, 0x190f: 0x000a, 0x1910: 0x000a, 0x1911: 0x000a, + 0x1912: 0x000a, 0x1913: 0x000a, 0x1914: 0x000a, 0x1915: 0x000a, 0x1916: 0x000a, 0x1917: 0x000a, + 0x1918: 0x000a, 0x1919: 0x000a, 0x191a: 0x000a, 0x191b: 0x000a, 0x191c: 0x000a, 0x191d: 0x000a, + 0x191e: 0x000a, 0x191f: 0x000a, 0x1920: 0x000a, 0x1921: 0x000a, 0x1922: 0x000a, 0x1923: 0x000a, + 0x1924: 0x000a, 0x1925: 0x000a, 0x1926: 0x000a, 0x1927: 0x000a, 0x1928: 0x000a, 0x1929: 0x000a, + 0x192a: 0x000a, 0x192b: 0x000a, 0x192c: 0x000a, 0x192d: 0x000a, 0x192e: 0x000a, 0x192f: 0x000a, + 0x1930: 0x000a, 0x1931: 0x000a, 0x1932: 0x000a, 0x1933: 0x000a, + 0x1936: 0x000a, 0x1937: 0x000a, 0x1938: 0x000a, 0x1939: 0x000a, 0x193a: 0x000a, 0x193b: 0x000a, + 0x193c: 0x000a, 0x193d: 0x000a, 0x193e: 0x000a, 0x193f: 0x000a, + // Block 0x65, offset 0x1940 + 0x1940: 0x000a, 0x1941: 0x000a, 0x1942: 0x000a, 0x1943: 0x000a, 0x1944: 0x000a, 0x1945: 0x000a, + 0x1946: 0x000a, 0x1947: 0x000a, 0x1948: 0x000a, 0x1949: 0x000a, 0x194a: 0x000a, 0x194b: 0x000a, + 0x194c: 0x000a, 0x194d: 0x000a, 0x194e: 0x000a, 0x194f: 0x000a, 0x1950: 0x000a, 0x1951: 0x000a, + 0x1952: 0x000a, 0x1953: 0x000a, 0x1954: 0x000a, 0x1955: 0x000a, + 0x1958: 0x000a, 0x1959: 0x000a, 0x195a: 0x000a, 0x195b: 0x000a, 0x195c: 0x000a, 0x195d: 0x000a, + 0x195e: 0x000a, 0x195f: 0x000a, 0x1960: 0x000a, 0x1961: 0x000a, 0x1962: 0x000a, 0x1963: 0x000a, + 0x1964: 0x000a, 0x1965: 0x000a, 0x1966: 0x000a, 0x1967: 0x000a, 0x1968: 0x000a, 0x1969: 0x000a, + 0x196a: 0x000a, 0x196b: 0x000a, 0x196c: 0x000a, 0x196d: 0x000a, 0x196e: 0x000a, 0x196f: 0x000a, + 0x1970: 0x000a, 0x1971: 0x000a, 0x1972: 0x000a, 0x1973: 0x000a, 0x1974: 0x000a, 0x1975: 0x000a, + 0x1976: 0x000a, 0x1977: 0x000a, 0x1978: 0x000a, 0x1979: 0x000a, 0x197a: 0x000a, 0x197b: 0x000a, + 0x197c: 0x000a, 0x197d: 0x000a, 0x197e: 0x000a, 0x197f: 0x000a, + // Block 0x66, offset 0x1980 + 0x1980: 0x000a, 0x1981: 0x000a, 0x1982: 0x000a, 0x1983: 0x000a, 0x1984: 0x000a, 0x1985: 0x000a, + 0x1986: 0x000a, 0x1987: 0x000a, 0x1988: 0x000a, 0x198a: 0x000a, 0x198b: 0x000a, + 0x198c: 0x000a, 0x198d: 0x000a, 0x198e: 0x000a, 0x198f: 0x000a, 0x1990: 0x000a, 0x1991: 0x000a, + 0x1992: 0x000a, 0x1993: 0x000a, 0x1994: 0x000a, 0x1995: 0x000a, 0x1996: 0x000a, 0x1997: 0x000a, + 0x1998: 0x000a, 0x1999: 0x000a, 0x199a: 0x000a, 0x199b: 0x000a, 0x199c: 0x000a, 0x199d: 0x000a, + 0x199e: 0x000a, 0x199f: 0x000a, 0x19a0: 0x000a, 0x19a1: 0x000a, 0x19a2: 0x000a, 0x19a3: 0x000a, + 0x19a4: 0x000a, 0x19a5: 0x000a, 0x19a6: 0x000a, 0x19a7: 0x000a, 0x19a8: 0x000a, 0x19a9: 0x000a, + 0x19aa: 0x000a, 0x19ab: 0x000a, 0x19ac: 0x000a, 0x19ad: 0x000a, 0x19ae: 0x000a, 0x19af: 0x000a, + 0x19b0: 0x000a, 0x19b1: 0x000a, 0x19b2: 0x000a, 0x19b3: 0x000a, 0x19b4: 0x000a, 0x19b5: 0x000a, + 0x19b6: 0x000a, 0x19b7: 0x000a, 0x19b8: 0x000a, 0x19b9: 0x000a, 0x19ba: 0x000a, 0x19bb: 0x000a, + 0x19bc: 0x000a, 0x19bd: 0x000a, 0x19be: 0x000a, + // Block 0x67, offset 0x19c0 + 0x19e5: 0x000a, 0x19e6: 0x000a, 0x19e7: 0x000a, 0x19e8: 0x000a, 0x19e9: 0x000a, + 0x19ea: 0x000a, 0x19ef: 0x000c, + 0x19f0: 0x000c, 0x19f1: 0x000c, + 0x19f9: 0x000a, 0x19fa: 0x000a, 0x19fb: 0x000a, + 0x19fc: 0x000a, 0x19fd: 0x000a, 0x19fe: 0x000a, 0x19ff: 0x000a, + // Block 0x68, offset 0x1a00 + 0x1a3f: 0x000c, + // Block 0x69, offset 0x1a40 + 0x1a60: 0x000c, 0x1a61: 0x000c, 0x1a62: 0x000c, 0x1a63: 0x000c, + 0x1a64: 0x000c, 0x1a65: 0x000c, 0x1a66: 0x000c, 0x1a67: 0x000c, 0x1a68: 0x000c, 0x1a69: 0x000c, + 0x1a6a: 0x000c, 0x1a6b: 0x000c, 0x1a6c: 0x000c, 0x1a6d: 0x000c, 0x1a6e: 0x000c, 0x1a6f: 0x000c, + 0x1a70: 0x000c, 0x1a71: 0x000c, 0x1a72: 0x000c, 0x1a73: 0x000c, 0x1a74: 0x000c, 0x1a75: 0x000c, + 0x1a76: 0x000c, 0x1a77: 0x000c, 0x1a78: 0x000c, 0x1a79: 0x000c, 0x1a7a: 0x000c, 0x1a7b: 0x000c, + 0x1a7c: 0x000c, 0x1a7d: 0x000c, 0x1a7e: 0x000c, 0x1a7f: 0x000c, + // Block 0x6a, offset 0x1a80 + 0x1a80: 0x000a, 0x1a81: 0x000a, 0x1a82: 0x000a, 0x1a83: 0x000a, 0x1a84: 0x000a, 0x1a85: 0x000a, + 0x1a86: 0x000a, 0x1a87: 0x000a, 0x1a88: 0x000a, 0x1a89: 0x000a, 0x1a8a: 0x000a, 0x1a8b: 0x000a, + 0x1a8c: 0x000a, 0x1a8d: 0x000a, 0x1a8e: 0x000a, 0x1a8f: 0x000a, 0x1a90: 0x000a, 0x1a91: 0x000a, + 0x1a92: 0x000a, 0x1a93: 0x000a, 0x1a94: 0x000a, 0x1a95: 0x000a, 0x1a96: 0x000a, 0x1a97: 0x000a, + 0x1a98: 0x000a, 0x1a99: 0x000a, 0x1a9a: 0x000a, 0x1a9b: 0x000a, 0x1a9c: 0x000a, 0x1a9d: 0x000a, + 0x1a9e: 0x000a, 0x1a9f: 0x000a, 0x1aa0: 0x000a, 0x1aa1: 0x000a, 0x1aa2: 0x003a, 0x1aa3: 0x002a, + 0x1aa4: 0x003a, 0x1aa5: 0x002a, 0x1aa6: 0x003a, 0x1aa7: 0x002a, 0x1aa8: 0x003a, 0x1aa9: 0x002a, + 0x1aaa: 0x000a, 0x1aab: 0x000a, 0x1aac: 0x000a, 0x1aad: 0x000a, 0x1aae: 0x000a, 0x1aaf: 0x000a, + 0x1ab0: 0x000a, 0x1ab1: 0x000a, 0x1ab2: 0x000a, 0x1ab3: 0x000a, 0x1ab4: 0x000a, 0x1ab5: 0x000a, + 0x1ab6: 0x000a, 0x1ab7: 0x000a, 0x1ab8: 0x000a, 0x1ab9: 0x000a, 0x1aba: 0x000a, 0x1abb: 0x000a, + 0x1abc: 0x000a, 0x1abd: 0x000a, 0x1abe: 0x000a, 0x1abf: 0x000a, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0x000a, 0x1ac1: 0x000a, 0x1ac2: 0x000a, 0x1ac3: 0x000a, 0x1ac4: 0x000a, 0x1ac5: 0x000a, + 0x1ac6: 0x000a, 0x1ac7: 0x000a, 0x1ac8: 0x000a, 0x1ac9: 0x000a, 0x1aca: 0x000a, 0x1acb: 0x000a, + 0x1acc: 0x000a, 0x1acd: 0x000a, 0x1ace: 0x000a, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0x000a, 0x1b01: 0x000a, 0x1b02: 0x000a, 0x1b03: 0x000a, 0x1b04: 0x000a, 0x1b05: 0x000a, + 0x1b06: 0x000a, 0x1b07: 0x000a, 0x1b08: 0x000a, 0x1b09: 0x000a, 0x1b0a: 0x000a, 0x1b0b: 0x000a, + 0x1b0c: 0x000a, 0x1b0d: 0x000a, 0x1b0e: 0x000a, 0x1b0f: 0x000a, 0x1b10: 0x000a, 0x1b11: 0x000a, + 0x1b12: 0x000a, 0x1b13: 0x000a, 0x1b14: 0x000a, 0x1b15: 0x000a, 0x1b16: 0x000a, 0x1b17: 0x000a, + 0x1b18: 0x000a, 0x1b19: 0x000a, 0x1b1b: 0x000a, 0x1b1c: 0x000a, 0x1b1d: 0x000a, + 0x1b1e: 0x000a, 0x1b1f: 0x000a, 0x1b20: 0x000a, 0x1b21: 0x000a, 0x1b22: 0x000a, 0x1b23: 0x000a, + 0x1b24: 0x000a, 0x1b25: 0x000a, 0x1b26: 0x000a, 0x1b27: 0x000a, 0x1b28: 0x000a, 0x1b29: 0x000a, + 0x1b2a: 0x000a, 0x1b2b: 0x000a, 0x1b2c: 0x000a, 0x1b2d: 0x000a, 0x1b2e: 0x000a, 0x1b2f: 0x000a, + 0x1b30: 0x000a, 0x1b31: 0x000a, 0x1b32: 0x000a, 0x1b33: 0x000a, 0x1b34: 0x000a, 0x1b35: 0x000a, + 0x1b36: 0x000a, 0x1b37: 0x000a, 0x1b38: 0x000a, 0x1b39: 0x000a, 0x1b3a: 0x000a, 0x1b3b: 0x000a, + 0x1b3c: 0x000a, 0x1b3d: 0x000a, 0x1b3e: 0x000a, 0x1b3f: 0x000a, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0x000a, 0x1b41: 0x000a, 0x1b42: 0x000a, 0x1b43: 0x000a, 0x1b44: 0x000a, 0x1b45: 0x000a, + 0x1b46: 0x000a, 0x1b47: 0x000a, 0x1b48: 0x000a, 0x1b49: 0x000a, 0x1b4a: 0x000a, 0x1b4b: 0x000a, + 0x1b4c: 0x000a, 0x1b4d: 0x000a, 0x1b4e: 0x000a, 0x1b4f: 0x000a, 0x1b50: 0x000a, 0x1b51: 0x000a, + 0x1b52: 0x000a, 0x1b53: 0x000a, 0x1b54: 0x000a, 0x1b55: 0x000a, 0x1b56: 0x000a, 0x1b57: 0x000a, + 0x1b58: 0x000a, 0x1b59: 0x000a, 0x1b5a: 0x000a, 0x1b5b: 0x000a, 0x1b5c: 0x000a, 0x1b5d: 0x000a, + 0x1b5e: 0x000a, 0x1b5f: 0x000a, 0x1b60: 0x000a, 0x1b61: 0x000a, 0x1b62: 0x000a, 0x1b63: 0x000a, + 0x1b64: 0x000a, 0x1b65: 0x000a, 0x1b66: 0x000a, 0x1b67: 0x000a, 0x1b68: 0x000a, 0x1b69: 0x000a, + 0x1b6a: 0x000a, 0x1b6b: 0x000a, 0x1b6c: 0x000a, 0x1b6d: 0x000a, 0x1b6e: 0x000a, 0x1b6f: 0x000a, + 0x1b70: 0x000a, 0x1b71: 0x000a, 0x1b72: 0x000a, 0x1b73: 0x000a, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0x000a, 0x1b81: 0x000a, 0x1b82: 0x000a, 0x1b83: 0x000a, 0x1b84: 0x000a, 0x1b85: 0x000a, + 0x1b86: 0x000a, 0x1b87: 0x000a, 0x1b88: 0x000a, 0x1b89: 0x000a, 0x1b8a: 0x000a, 0x1b8b: 0x000a, + 0x1b8c: 0x000a, 0x1b8d: 0x000a, 0x1b8e: 0x000a, 0x1b8f: 0x000a, 0x1b90: 0x000a, 0x1b91: 0x000a, + 0x1b92: 0x000a, 0x1b93: 0x000a, 0x1b94: 0x000a, 0x1b95: 0x000a, + 0x1bb0: 0x000a, 0x1bb1: 0x000a, 0x1bb2: 0x000a, 0x1bb3: 0x000a, 0x1bb4: 0x000a, 0x1bb5: 0x000a, + 0x1bb6: 0x000a, 0x1bb7: 0x000a, 0x1bb8: 0x000a, 0x1bb9: 0x000a, 0x1bba: 0x000a, 0x1bbb: 0x000a, + // Block 0x6f, offset 0x1bc0 + 0x1bc0: 0x0009, 0x1bc1: 0x000a, 0x1bc2: 0x000a, 0x1bc3: 0x000a, 0x1bc4: 0x000a, + 0x1bc8: 0x003a, 0x1bc9: 0x002a, 0x1bca: 0x003a, 0x1bcb: 0x002a, + 0x1bcc: 0x003a, 0x1bcd: 0x002a, 0x1bce: 0x003a, 0x1bcf: 0x002a, 0x1bd0: 0x003a, 0x1bd1: 0x002a, + 0x1bd2: 0x000a, 0x1bd3: 0x000a, 0x1bd4: 0x003a, 0x1bd5: 0x002a, 0x1bd6: 0x003a, 0x1bd7: 0x002a, + 0x1bd8: 0x003a, 0x1bd9: 0x002a, 0x1bda: 0x003a, 0x1bdb: 0x002a, 0x1bdc: 0x000a, 0x1bdd: 0x000a, + 0x1bde: 0x000a, 0x1bdf: 0x000a, 0x1be0: 0x000a, + 0x1bea: 0x000c, 0x1beb: 0x000c, 0x1bec: 0x000c, 0x1bed: 0x000c, + 0x1bf0: 0x000a, + 0x1bf6: 0x000a, 0x1bf7: 0x000a, + 0x1bfd: 0x000a, 0x1bfe: 0x000a, 0x1bff: 0x000a, + // Block 0x70, offset 0x1c00 + 0x1c19: 0x000c, 0x1c1a: 0x000c, 0x1c1b: 0x000a, 0x1c1c: 0x000a, + 0x1c20: 0x000a, + // Block 0x71, offset 0x1c40 + 0x1c7b: 0x000a, + // Block 0x72, offset 0x1c80 + 0x1c80: 0x000a, 0x1c81: 0x000a, 0x1c82: 0x000a, 0x1c83: 0x000a, 0x1c84: 0x000a, 0x1c85: 0x000a, + 0x1c86: 0x000a, 0x1c87: 0x000a, 0x1c88: 0x000a, 0x1c89: 0x000a, 0x1c8a: 0x000a, 0x1c8b: 0x000a, + 0x1c8c: 0x000a, 0x1c8d: 0x000a, 0x1c8e: 0x000a, 0x1c8f: 0x000a, 0x1c90: 0x000a, 0x1c91: 0x000a, + 0x1c92: 0x000a, 0x1c93: 0x000a, 0x1c94: 0x000a, 0x1c95: 0x000a, 0x1c96: 0x000a, 0x1c97: 0x000a, + 0x1c98: 0x000a, 0x1c99: 0x000a, 0x1c9a: 0x000a, 0x1c9b: 0x000a, 0x1c9c: 0x000a, 0x1c9d: 0x000a, + 0x1c9e: 0x000a, 0x1c9f: 0x000a, 0x1ca0: 0x000a, 0x1ca1: 0x000a, 0x1ca2: 0x000a, 0x1ca3: 0x000a, + // Block 0x73, offset 0x1cc0 + 0x1cdd: 0x000a, + 0x1cde: 0x000a, + // Block 0x74, offset 0x1d00 + 0x1d10: 0x000a, 0x1d11: 0x000a, + 0x1d12: 0x000a, 0x1d13: 0x000a, 0x1d14: 0x000a, 0x1d15: 0x000a, 0x1d16: 0x000a, 0x1d17: 0x000a, + 0x1d18: 0x000a, 0x1d19: 0x000a, 0x1d1a: 0x000a, 0x1d1b: 0x000a, 0x1d1c: 0x000a, 0x1d1d: 0x000a, + 0x1d1e: 0x000a, 0x1d1f: 0x000a, + 0x1d3c: 0x000a, 0x1d3d: 0x000a, 0x1d3e: 0x000a, + // Block 0x75, offset 0x1d40 + 0x1d71: 0x000a, 0x1d72: 0x000a, 0x1d73: 0x000a, 0x1d74: 0x000a, 0x1d75: 0x000a, + 0x1d76: 0x000a, 0x1d77: 0x000a, 0x1d78: 0x000a, 0x1d79: 0x000a, 0x1d7a: 0x000a, 0x1d7b: 0x000a, + 0x1d7c: 0x000a, 0x1d7d: 0x000a, 0x1d7e: 0x000a, 0x1d7f: 0x000a, + // Block 0x76, offset 0x1d80 + 0x1d8c: 0x000a, 0x1d8d: 0x000a, 0x1d8e: 0x000a, 0x1d8f: 0x000a, + // Block 0x77, offset 0x1dc0 + 0x1df7: 0x000a, 0x1df8: 0x000a, 0x1df9: 0x000a, 0x1dfa: 0x000a, + // Block 0x78, offset 0x1e00 + 0x1e1e: 0x000a, 0x1e1f: 0x000a, + 0x1e3f: 0x000a, + // Block 0x79, offset 0x1e40 + 0x1e50: 0x000a, 0x1e51: 0x000a, + 0x1e52: 0x000a, 0x1e53: 0x000a, 0x1e54: 0x000a, 0x1e55: 0x000a, 0x1e56: 0x000a, 0x1e57: 0x000a, + 0x1e58: 0x000a, 0x1e59: 0x000a, 0x1e5a: 0x000a, 0x1e5b: 0x000a, 0x1e5c: 0x000a, 0x1e5d: 0x000a, + 0x1e5e: 0x000a, 0x1e5f: 0x000a, 0x1e60: 0x000a, 0x1e61: 0x000a, 0x1e62: 0x000a, 0x1e63: 0x000a, + 0x1e64: 0x000a, 0x1e65: 0x000a, 0x1e66: 0x000a, 0x1e67: 0x000a, 0x1e68: 0x000a, 0x1e69: 0x000a, + 0x1e6a: 0x000a, 0x1e6b: 0x000a, 0x1e6c: 0x000a, 0x1e6d: 0x000a, 0x1e6e: 0x000a, 0x1e6f: 0x000a, + 0x1e70: 0x000a, 0x1e71: 0x000a, 0x1e72: 0x000a, 0x1e73: 0x000a, 0x1e74: 0x000a, 0x1e75: 0x000a, + 0x1e76: 0x000a, 0x1e77: 0x000a, 0x1e78: 0x000a, 0x1e79: 0x000a, 0x1e7a: 0x000a, 0x1e7b: 0x000a, + 0x1e7c: 0x000a, 0x1e7d: 0x000a, 0x1e7e: 0x000a, 0x1e7f: 0x000a, + // Block 0x7a, offset 0x1e80 + 0x1e80: 0x000a, 0x1e81: 0x000a, 0x1e82: 0x000a, 0x1e83: 0x000a, 0x1e84: 0x000a, 0x1e85: 0x000a, + 0x1e86: 0x000a, + // Block 0x7b, offset 0x1ec0 + 0x1ecd: 0x000a, 0x1ece: 0x000a, 0x1ecf: 0x000a, + // Block 0x7c, offset 0x1f00 + 0x1f2f: 0x000c, + 0x1f30: 0x000c, 0x1f31: 0x000c, 0x1f32: 0x000c, 0x1f33: 0x000a, 0x1f34: 0x000c, 0x1f35: 0x000c, + 0x1f36: 0x000c, 0x1f37: 0x000c, 0x1f38: 0x000c, 0x1f39: 0x000c, 0x1f3a: 0x000c, 0x1f3b: 0x000c, + 0x1f3c: 0x000c, 0x1f3d: 0x000c, 0x1f3e: 0x000a, 0x1f3f: 0x000a, + // Block 0x7d, offset 0x1f40 + 0x1f5e: 0x000c, 0x1f5f: 0x000c, + // Block 0x7e, offset 0x1f80 + 0x1fb0: 0x000c, 0x1fb1: 0x000c, + // Block 0x7f, offset 0x1fc0 + 0x1fc0: 0x000a, 0x1fc1: 0x000a, 0x1fc2: 0x000a, 0x1fc3: 0x000a, 0x1fc4: 0x000a, 0x1fc5: 0x000a, + 0x1fc6: 0x000a, 0x1fc7: 0x000a, 0x1fc8: 0x000a, 0x1fc9: 0x000a, 0x1fca: 0x000a, 0x1fcb: 0x000a, + 0x1fcc: 0x000a, 0x1fcd: 0x000a, 0x1fce: 0x000a, 0x1fcf: 0x000a, 0x1fd0: 0x000a, 0x1fd1: 0x000a, + 0x1fd2: 0x000a, 0x1fd3: 0x000a, 0x1fd4: 0x000a, 0x1fd5: 0x000a, 0x1fd6: 0x000a, 0x1fd7: 0x000a, + 0x1fd8: 0x000a, 0x1fd9: 0x000a, 0x1fda: 0x000a, 0x1fdb: 0x000a, 0x1fdc: 0x000a, 0x1fdd: 0x000a, + 0x1fde: 0x000a, 0x1fdf: 0x000a, 0x1fe0: 0x000a, 0x1fe1: 0x000a, + // Block 0x80, offset 0x2000 + 0x2008: 0x000a, + // Block 0x81, offset 0x2040 + 0x2042: 0x000c, + 0x2046: 0x000c, 0x204b: 0x000c, + 0x2065: 0x000c, 0x2066: 0x000c, 0x2068: 0x000a, 0x2069: 0x000a, + 0x206a: 0x000a, 0x206b: 0x000a, + 0x2078: 0x0004, 0x2079: 0x0004, + // Block 0x82, offset 0x2080 + 0x20b4: 0x000a, 0x20b5: 0x000a, + 0x20b6: 0x000a, 0x20b7: 0x000a, + // Block 0x83, offset 0x20c0 + 0x20c4: 0x000c, 0x20c5: 0x000c, + 0x20e0: 0x000c, 0x20e1: 0x000c, 0x20e2: 0x000c, 0x20e3: 0x000c, + 0x20e4: 0x000c, 0x20e5: 0x000c, 0x20e6: 0x000c, 0x20e7: 0x000c, 0x20e8: 0x000c, 0x20e9: 0x000c, + 0x20ea: 0x000c, 0x20eb: 0x000c, 0x20ec: 0x000c, 0x20ed: 0x000c, 0x20ee: 0x000c, 0x20ef: 0x000c, + 0x20f0: 0x000c, 0x20f1: 0x000c, + 0x20ff: 0x000c, + // Block 0x84, offset 0x2100 + 0x2126: 0x000c, 0x2127: 0x000c, 0x2128: 0x000c, 0x2129: 0x000c, + 0x212a: 0x000c, 0x212b: 0x000c, 0x212c: 0x000c, 0x212d: 0x000c, + // Block 0x85, offset 0x2140 + 0x2147: 0x000c, 0x2148: 0x000c, 0x2149: 0x000c, 0x214a: 0x000c, 0x214b: 0x000c, + 0x214c: 0x000c, 0x214d: 0x000c, 0x214e: 0x000c, 0x214f: 0x000c, 0x2150: 0x000c, 0x2151: 0x000c, + // Block 0x86, offset 0x2180 + 0x2180: 0x000c, 0x2181: 0x000c, 0x2182: 0x000c, + 0x21b3: 0x000c, + 0x21b6: 0x000c, 0x21b7: 0x000c, 0x21b8: 0x000c, 0x21b9: 0x000c, + 0x21bc: 0x000c, + // Block 0x87, offset 0x21c0 + 0x21e5: 0x000c, + // Block 0x88, offset 0x2200 + 0x2229: 0x000c, + 0x222a: 0x000c, 0x222b: 0x000c, 0x222c: 0x000c, 0x222d: 0x000c, 0x222e: 0x000c, + 0x2231: 0x000c, 0x2232: 0x000c, 0x2235: 0x000c, + 0x2236: 0x000c, + // Block 0x89, offset 0x2240 + 0x2243: 0x000c, + 0x224c: 0x000c, + 0x227c: 0x000c, + // Block 0x8a, offset 0x2280 + 0x22b0: 0x000c, 0x22b2: 0x000c, 0x22b3: 0x000c, 0x22b4: 0x000c, + 0x22b7: 0x000c, 0x22b8: 0x000c, + 0x22be: 0x000c, 0x22bf: 0x000c, + // Block 0x8b, offset 0x22c0 + 0x22c1: 0x000c, + 0x22ec: 0x000c, 0x22ed: 0x000c, + 0x22f6: 0x000c, + // Block 0x8c, offset 0x2300 + 0x2325: 0x000c, 0x2328: 0x000c, + 0x232d: 0x000c, + // Block 0x8d, offset 0x2340 + 0x235d: 0x0001, + 0x235e: 0x000c, 0x235f: 0x0001, 0x2360: 0x0001, 0x2361: 0x0001, 0x2362: 0x0001, 0x2363: 0x0001, + 0x2364: 0x0001, 0x2365: 0x0001, 0x2366: 0x0001, 0x2367: 0x0001, 0x2368: 0x0001, 0x2369: 0x0003, + 0x236a: 0x0001, 0x236b: 0x0001, 0x236c: 0x0001, 0x236d: 0x0001, 0x236e: 0x0001, 0x236f: 0x0001, + 0x2370: 0x0001, 0x2371: 0x0001, 0x2372: 0x0001, 0x2373: 0x0001, 0x2374: 0x0001, 0x2375: 0x0001, + 0x2376: 0x0001, 0x2377: 0x0001, 0x2378: 0x0001, 0x2379: 0x0001, 0x237a: 0x0001, 0x237b: 0x0001, + 0x237c: 0x0001, 0x237d: 0x0001, 0x237e: 0x0001, 0x237f: 0x0001, + // Block 0x8e, offset 0x2380 + 0x2380: 0x0001, 0x2381: 0x0001, 0x2382: 0x0001, 0x2383: 0x0001, 0x2384: 0x0001, 0x2385: 0x0001, + 0x2386: 0x0001, 0x2387: 0x0001, 0x2388: 0x0001, 0x2389: 0x0001, 0x238a: 0x0001, 0x238b: 0x0001, + 0x238c: 0x0001, 0x238d: 0x0001, 0x238e: 0x0001, 0x238f: 0x0001, 0x2390: 0x000d, 0x2391: 0x000d, + 0x2392: 0x000d, 0x2393: 0x000d, 0x2394: 0x000d, 0x2395: 0x000d, 0x2396: 0x000d, 0x2397: 0x000d, + 0x2398: 0x000d, 0x2399: 0x000d, 0x239a: 0x000d, 0x239b: 0x000d, 0x239c: 0x000d, 0x239d: 0x000d, + 0x239e: 0x000d, 0x239f: 0x000d, 0x23a0: 0x000d, 0x23a1: 0x000d, 0x23a2: 0x000d, 0x23a3: 0x000d, + 0x23a4: 0x000d, 0x23a5: 0x000d, 0x23a6: 0x000d, 0x23a7: 0x000d, 0x23a8: 0x000d, 0x23a9: 0x000d, + 0x23aa: 0x000d, 0x23ab: 0x000d, 0x23ac: 0x000d, 0x23ad: 0x000d, 0x23ae: 0x000d, 0x23af: 0x000d, + 0x23b0: 0x000d, 0x23b1: 0x000d, 0x23b2: 0x000d, 0x23b3: 0x000d, 0x23b4: 0x000d, 0x23b5: 0x000d, + 0x23b6: 0x000d, 0x23b7: 0x000d, 0x23b8: 0x000d, 0x23b9: 0x000d, 0x23ba: 0x000d, 0x23bb: 0x000d, + 0x23bc: 0x000d, 0x23bd: 0x000d, 0x23be: 0x000d, 0x23bf: 0x000d, + // Block 0x8f, offset 0x23c0 + 0x23c0: 0x000d, 0x23c1: 0x000d, 0x23c2: 0x000d, 0x23c3: 0x000d, 0x23c4: 0x000d, 0x23c5: 0x000d, + 0x23c6: 0x000d, 0x23c7: 0x000d, 0x23c8: 0x000d, 0x23c9: 0x000d, 0x23ca: 0x000d, 0x23cb: 0x000d, + 0x23cc: 0x000d, 0x23cd: 0x000d, 0x23ce: 0x000d, 0x23cf: 0x000d, 0x23d0: 0x000d, 0x23d1: 0x000d, + 0x23d2: 0x000d, 0x23d3: 0x000d, 0x23d4: 0x000d, 0x23d5: 0x000d, 0x23d6: 0x000d, 0x23d7: 0x000d, + 0x23d8: 0x000d, 0x23d9: 0x000d, 0x23da: 0x000d, 0x23db: 0x000d, 0x23dc: 0x000d, 0x23dd: 0x000d, + 0x23de: 0x000d, 0x23df: 0x000d, 0x23e0: 0x000d, 0x23e1: 0x000d, 0x23e2: 0x000d, 0x23e3: 0x000d, + 0x23e4: 0x000d, 0x23e5: 0x000d, 0x23e6: 0x000d, 0x23e7: 0x000d, 0x23e8: 0x000d, 0x23e9: 0x000d, + 0x23ea: 0x000d, 0x23eb: 0x000d, 0x23ec: 0x000d, 0x23ed: 0x000d, 0x23ee: 0x000d, 0x23ef: 0x000d, + 0x23f0: 0x000d, 0x23f1: 0x000d, 0x23f2: 0x000d, 0x23f3: 0x000d, 0x23f4: 0x000d, 0x23f5: 0x000d, + 0x23f6: 0x000d, 0x23f7: 0x000d, 0x23f8: 0x000d, 0x23f9: 0x000d, 0x23fa: 0x000d, 0x23fb: 0x000d, + 0x23fc: 0x000d, 0x23fd: 0x000d, 0x23fe: 0x000a, 0x23ff: 0x000a, + // Block 0x90, offset 0x2400 + 0x2400: 0x000d, 0x2401: 0x000d, 0x2402: 0x000d, 0x2403: 0x000d, 0x2404: 0x000d, 0x2405: 0x000d, + 0x2406: 0x000d, 0x2407: 0x000d, 0x2408: 0x000d, 0x2409: 0x000d, 0x240a: 0x000d, 0x240b: 0x000d, + 0x240c: 0x000d, 0x240d: 0x000d, 0x240e: 0x000d, 0x240f: 0x000d, 0x2410: 0x000b, 0x2411: 0x000b, + 0x2412: 0x000b, 0x2413: 0x000b, 0x2414: 0x000b, 0x2415: 0x000b, 0x2416: 0x000b, 0x2417: 0x000b, + 0x2418: 0x000b, 0x2419: 0x000b, 0x241a: 0x000b, 0x241b: 0x000b, 0x241c: 0x000b, 0x241d: 0x000b, + 0x241e: 0x000b, 0x241f: 0x000b, 0x2420: 0x000b, 0x2421: 0x000b, 0x2422: 0x000b, 0x2423: 0x000b, + 0x2424: 0x000b, 0x2425: 0x000b, 0x2426: 0x000b, 0x2427: 0x000b, 0x2428: 0x000b, 0x2429: 0x000b, + 0x242a: 0x000b, 0x242b: 0x000b, 0x242c: 0x000b, 0x242d: 0x000b, 0x242e: 0x000b, 0x242f: 0x000b, + 0x2430: 0x000d, 0x2431: 0x000d, 0x2432: 0x000d, 0x2433: 0x000d, 0x2434: 0x000d, 0x2435: 0x000d, + 0x2436: 0x000d, 0x2437: 0x000d, 0x2438: 0x000d, 0x2439: 0x000d, 0x243a: 0x000d, 0x243b: 0x000d, + 0x243c: 0x000d, 0x243d: 0x000a, 0x243e: 0x000d, 0x243f: 0x000d, + // Block 0x91, offset 0x2440 + 0x2440: 0x000c, 0x2441: 0x000c, 0x2442: 0x000c, 0x2443: 0x000c, 0x2444: 0x000c, 0x2445: 0x000c, + 0x2446: 0x000c, 0x2447: 0x000c, 0x2448: 0x000c, 0x2449: 0x000c, 0x244a: 0x000c, 0x244b: 0x000c, + 0x244c: 0x000c, 0x244d: 0x000c, 0x244e: 0x000c, 0x244f: 0x000c, 0x2450: 0x000a, 0x2451: 0x000a, + 0x2452: 0x000a, 0x2453: 0x000a, 0x2454: 0x000a, 0x2455: 0x000a, 0x2456: 0x000a, 0x2457: 0x000a, + 0x2458: 0x000a, 0x2459: 0x000a, + 0x2460: 0x000c, 0x2461: 0x000c, 0x2462: 0x000c, 0x2463: 0x000c, + 0x2464: 0x000c, 0x2465: 0x000c, 0x2466: 0x000c, 0x2467: 0x000c, 0x2468: 0x000c, 0x2469: 0x000c, + 0x246a: 0x000c, 0x246b: 0x000c, 0x246c: 0x000c, 0x246d: 0x000c, 0x246e: 0x000c, 0x246f: 0x000c, + 0x2470: 0x000a, 0x2471: 0x000a, 0x2472: 0x000a, 0x2473: 0x000a, 0x2474: 0x000a, 0x2475: 0x000a, + 0x2476: 0x000a, 0x2477: 0x000a, 0x2478: 0x000a, 0x2479: 0x000a, 0x247a: 0x000a, 0x247b: 0x000a, + 0x247c: 0x000a, 0x247d: 0x000a, 0x247e: 0x000a, 0x247f: 0x000a, + // Block 0x92, offset 0x2480 + 0x2480: 0x000a, 0x2481: 0x000a, 0x2482: 0x000a, 0x2483: 0x000a, 0x2484: 0x000a, 0x2485: 0x000a, + 0x2486: 0x000a, 0x2487: 0x000a, 0x2488: 0x000a, 0x2489: 0x000a, 0x248a: 0x000a, 0x248b: 0x000a, + 0x248c: 0x000a, 0x248d: 0x000a, 0x248e: 0x000a, 0x248f: 0x000a, 0x2490: 0x0006, 0x2491: 0x000a, + 0x2492: 0x0006, 0x2494: 0x000a, 0x2495: 0x0006, 0x2496: 0x000a, 0x2497: 0x000a, + 0x2498: 0x000a, 0x2499: 0x009a, 0x249a: 0x008a, 0x249b: 0x007a, 0x249c: 0x006a, 0x249d: 0x009a, + 0x249e: 0x008a, 0x249f: 0x0004, 0x24a0: 0x000a, 0x24a1: 0x000a, 0x24a2: 0x0003, 0x24a3: 0x0003, + 0x24a4: 0x000a, 0x24a5: 0x000a, 0x24a6: 0x000a, 0x24a8: 0x000a, 0x24a9: 0x0004, + 0x24aa: 0x0004, 0x24ab: 0x000a, + 0x24b0: 0x000d, 0x24b1: 0x000d, 0x24b2: 0x000d, 0x24b3: 0x000d, 0x24b4: 0x000d, 0x24b5: 0x000d, + 0x24b6: 0x000d, 0x24b7: 0x000d, 0x24b8: 0x000d, 0x24b9: 0x000d, 0x24ba: 0x000d, 0x24bb: 0x000d, + 0x24bc: 0x000d, 0x24bd: 0x000d, 0x24be: 0x000d, 0x24bf: 0x000d, + // Block 0x93, offset 0x24c0 + 0x24c0: 0x000d, 0x24c1: 0x000d, 0x24c2: 0x000d, 0x24c3: 0x000d, 0x24c4: 0x000d, 0x24c5: 0x000d, + 0x24c6: 0x000d, 0x24c7: 0x000d, 0x24c8: 0x000d, 0x24c9: 0x000d, 0x24ca: 0x000d, 0x24cb: 0x000d, + 0x24cc: 0x000d, 0x24cd: 0x000d, 0x24ce: 0x000d, 0x24cf: 0x000d, 0x24d0: 0x000d, 0x24d1: 0x000d, + 0x24d2: 0x000d, 0x24d3: 0x000d, 0x24d4: 0x000d, 0x24d5: 0x000d, 0x24d6: 0x000d, 0x24d7: 0x000d, + 0x24d8: 0x000d, 0x24d9: 0x000d, 0x24da: 0x000d, 0x24db: 0x000d, 0x24dc: 0x000d, 0x24dd: 0x000d, + 0x24de: 0x000d, 0x24df: 0x000d, 0x24e0: 0x000d, 0x24e1: 0x000d, 0x24e2: 0x000d, 0x24e3: 0x000d, + 0x24e4: 0x000d, 0x24e5: 0x000d, 0x24e6: 0x000d, 0x24e7: 0x000d, 0x24e8: 0x000d, 0x24e9: 0x000d, + 0x24ea: 0x000d, 0x24eb: 0x000d, 0x24ec: 0x000d, 0x24ed: 0x000d, 0x24ee: 0x000d, 0x24ef: 0x000d, + 0x24f0: 0x000d, 0x24f1: 0x000d, 0x24f2: 0x000d, 0x24f3: 0x000d, 0x24f4: 0x000d, 0x24f5: 0x000d, + 0x24f6: 0x000d, 0x24f7: 0x000d, 0x24f8: 0x000d, 0x24f9: 0x000d, 0x24fa: 0x000d, 0x24fb: 0x000d, + 0x24fc: 0x000d, 0x24fd: 0x000d, 0x24fe: 0x000d, 0x24ff: 0x000b, + // Block 0x94, offset 0x2500 + 0x2501: 0x000a, 0x2502: 0x000a, 0x2503: 0x0004, 0x2504: 0x0004, 0x2505: 0x0004, + 0x2506: 0x000a, 0x2507: 0x000a, 0x2508: 0x003a, 0x2509: 0x002a, 0x250a: 0x000a, 0x250b: 0x0003, + 0x250c: 0x0006, 0x250d: 0x0003, 0x250e: 0x0006, 0x250f: 0x0006, 0x2510: 0x0002, 0x2511: 0x0002, + 0x2512: 0x0002, 0x2513: 0x0002, 0x2514: 0x0002, 0x2515: 0x0002, 0x2516: 0x0002, 0x2517: 0x0002, + 0x2518: 0x0002, 0x2519: 0x0002, 0x251a: 0x0006, 0x251b: 0x000a, 0x251c: 0x000a, 0x251d: 0x000a, + 0x251e: 0x000a, 0x251f: 0x000a, 0x2520: 0x000a, + 0x253b: 0x005a, + 0x253c: 0x000a, 0x253d: 0x004a, 0x253e: 0x000a, 0x253f: 0x000a, + // Block 0x95, offset 0x2540 + 0x2540: 0x000a, + 0x255b: 0x005a, 0x255c: 0x000a, 0x255d: 0x004a, + 0x255e: 0x000a, 0x255f: 0x00fa, 0x2560: 0x00ea, 0x2561: 0x000a, 0x2562: 0x003a, 0x2563: 0x002a, + 0x2564: 0x000a, 0x2565: 0x000a, + // Block 0x96, offset 0x2580 + 0x25a0: 0x0004, 0x25a1: 0x0004, 0x25a2: 0x000a, 0x25a3: 0x000a, + 0x25a4: 0x000a, 0x25a5: 0x0004, 0x25a6: 0x0004, 0x25a8: 0x000a, 0x25a9: 0x000a, + 0x25aa: 0x000a, 0x25ab: 0x000a, 0x25ac: 0x000a, 0x25ad: 0x000a, 0x25ae: 0x000a, + 0x25b0: 0x000b, 0x25b1: 0x000b, 0x25b2: 0x000b, 0x25b3: 0x000b, 0x25b4: 0x000b, 0x25b5: 0x000b, + 0x25b6: 0x000b, 0x25b7: 0x000b, 0x25b8: 0x000b, 0x25b9: 0x000a, 0x25ba: 0x000a, 0x25bb: 0x000a, + 0x25bc: 0x000a, 0x25bd: 0x000a, 0x25be: 0x000b, 0x25bf: 0x000b, + // Block 0x97, offset 0x25c0 + 0x25c1: 0x000a, + // Block 0x98, offset 0x2600 + 0x2600: 0x000a, 0x2601: 0x000a, 0x2602: 0x000a, 0x2603: 0x000a, 0x2604: 0x000a, 0x2605: 0x000a, + 0x2606: 0x000a, 0x2607: 0x000a, 0x2608: 0x000a, 0x2609: 0x000a, 0x260a: 0x000a, 0x260b: 0x000a, + 0x260c: 0x000a, 0x2610: 0x000a, 0x2611: 0x000a, + 0x2612: 0x000a, 0x2613: 0x000a, 0x2614: 0x000a, 0x2615: 0x000a, 0x2616: 0x000a, 0x2617: 0x000a, + 0x2618: 0x000a, 0x2619: 0x000a, 0x261a: 0x000a, 0x261b: 0x000a, + 0x2620: 0x000a, + // Block 0x99, offset 0x2640 + 0x267d: 0x000c, + // Block 0x9a, offset 0x2680 + 0x26a0: 0x000c, 0x26a1: 0x0002, 0x26a2: 0x0002, 0x26a3: 0x0002, + 0x26a4: 0x0002, 0x26a5: 0x0002, 0x26a6: 0x0002, 0x26a7: 0x0002, 0x26a8: 0x0002, 0x26a9: 0x0002, + 0x26aa: 0x0002, 0x26ab: 0x0002, 0x26ac: 0x0002, 0x26ad: 0x0002, 0x26ae: 0x0002, 0x26af: 0x0002, + 0x26b0: 0x0002, 0x26b1: 0x0002, 0x26b2: 0x0002, 0x26b3: 0x0002, 0x26b4: 0x0002, 0x26b5: 0x0002, + 0x26b6: 0x0002, 0x26b7: 0x0002, 0x26b8: 0x0002, 0x26b9: 0x0002, 0x26ba: 0x0002, 0x26bb: 0x0002, + // Block 0x9b, offset 0x26c0 + 0x26f6: 0x000c, 0x26f7: 0x000c, 0x26f8: 0x000c, 0x26f9: 0x000c, 0x26fa: 0x000c, + // Block 0x9c, offset 0x2700 + 0x2700: 0x0001, 0x2701: 0x0001, 0x2702: 0x0001, 0x2703: 0x0001, 0x2704: 0x0001, 0x2705: 0x0001, + 0x2706: 0x0001, 0x2707: 0x0001, 0x2708: 0x0001, 0x2709: 0x0001, 0x270a: 0x0001, 0x270b: 0x0001, + 0x270c: 0x0001, 0x270d: 0x0001, 0x270e: 0x0001, 0x270f: 0x0001, 0x2710: 0x0001, 0x2711: 0x0001, + 0x2712: 0x0001, 0x2713: 0x0001, 0x2714: 0x0001, 0x2715: 0x0001, 0x2716: 0x0001, 0x2717: 0x0001, + 0x2718: 0x0001, 0x2719: 0x0001, 0x271a: 0x0001, 0x271b: 0x0001, 0x271c: 0x0001, 0x271d: 0x0001, + 0x271e: 0x0001, 0x271f: 0x0001, 0x2720: 0x0001, 0x2721: 0x0001, 0x2722: 0x0001, 0x2723: 0x0001, + 0x2724: 0x0001, 0x2725: 0x0001, 0x2726: 0x0001, 0x2727: 0x0001, 0x2728: 0x0001, 0x2729: 0x0001, + 0x272a: 0x0001, 0x272b: 0x0001, 0x272c: 0x0001, 0x272d: 0x0001, 0x272e: 0x0001, 0x272f: 0x0001, + 0x2730: 0x0001, 0x2731: 0x0001, 0x2732: 0x0001, 0x2733: 0x0001, 0x2734: 0x0001, 0x2735: 0x0001, + 0x2736: 0x0001, 0x2737: 0x0001, 0x2738: 0x0001, 0x2739: 0x0001, 0x273a: 0x0001, 0x273b: 0x0001, + 0x273c: 0x0001, 0x273d: 0x0001, 0x273e: 0x0001, 0x273f: 0x0001, + // Block 0x9d, offset 0x2740 + 0x2740: 0x0001, 0x2741: 0x0001, 0x2742: 0x0001, 0x2743: 0x0001, 0x2744: 0x0001, 0x2745: 0x0001, + 0x2746: 0x0001, 0x2747: 0x0001, 0x2748: 0x0001, 0x2749: 0x0001, 0x274a: 0x0001, 0x274b: 0x0001, + 0x274c: 0x0001, 0x274d: 0x0001, 0x274e: 0x0001, 0x274f: 0x0001, 0x2750: 0x0001, 0x2751: 0x0001, + 0x2752: 0x0001, 0x2753: 0x0001, 0x2754: 0x0001, 0x2755: 0x0001, 0x2756: 0x0001, 0x2757: 0x0001, + 0x2758: 0x0001, 0x2759: 0x0001, 0x275a: 0x0001, 0x275b: 0x0001, 0x275c: 0x0001, 0x275d: 0x0001, + 0x275e: 0x0001, 0x275f: 0x000a, 0x2760: 0x0001, 0x2761: 0x0001, 0x2762: 0x0001, 0x2763: 0x0001, + 0x2764: 0x0001, 0x2765: 0x0001, 0x2766: 0x0001, 0x2767: 0x0001, 0x2768: 0x0001, 0x2769: 0x0001, + 0x276a: 0x0001, 0x276b: 0x0001, 0x276c: 0x0001, 0x276d: 0x0001, 0x276e: 0x0001, 0x276f: 0x0001, + 0x2770: 0x0001, 0x2771: 0x0001, 0x2772: 0x0001, 0x2773: 0x0001, 0x2774: 0x0001, 0x2775: 0x0001, + 0x2776: 0x0001, 0x2777: 0x0001, 0x2778: 0x0001, 0x2779: 0x0001, 0x277a: 0x0001, 0x277b: 0x0001, + 0x277c: 0x0001, 0x277d: 0x0001, 0x277e: 0x0001, 0x277f: 0x0001, + // Block 0x9e, offset 0x2780 + 0x2780: 0x0001, 0x2781: 0x000c, 0x2782: 0x000c, 0x2783: 0x000c, 0x2784: 0x0001, 0x2785: 0x000c, + 0x2786: 0x000c, 0x2787: 0x0001, 0x2788: 0x0001, 0x2789: 0x0001, 0x278a: 0x0001, 0x278b: 0x0001, + 0x278c: 0x000c, 0x278d: 0x000c, 0x278e: 0x000c, 0x278f: 0x000c, 0x2790: 0x0001, 0x2791: 0x0001, + 0x2792: 0x0001, 0x2793: 0x0001, 0x2794: 0x0001, 0x2795: 0x0001, 0x2796: 0x0001, 0x2797: 0x0001, + 0x2798: 0x0001, 0x2799: 0x0001, 0x279a: 0x0001, 0x279b: 0x0001, 0x279c: 0x0001, 0x279d: 0x0001, + 0x279e: 0x0001, 0x279f: 0x0001, 0x27a0: 0x0001, 0x27a1: 0x0001, 0x27a2: 0x0001, 0x27a3: 0x0001, + 0x27a4: 0x0001, 0x27a5: 0x0001, 0x27a6: 0x0001, 0x27a7: 0x0001, 0x27a8: 0x0001, 0x27a9: 0x0001, + 0x27aa: 0x0001, 0x27ab: 0x0001, 0x27ac: 0x0001, 0x27ad: 0x0001, 0x27ae: 0x0001, 0x27af: 0x0001, + 0x27b0: 0x0001, 0x27b1: 0x0001, 0x27b2: 0x0001, 0x27b3: 0x0001, 0x27b4: 0x0001, 0x27b5: 0x0001, + 0x27b6: 0x0001, 0x27b7: 0x0001, 0x27b8: 0x000c, 0x27b9: 0x000c, 0x27ba: 0x000c, 0x27bb: 0x0001, + 0x27bc: 0x0001, 0x27bd: 0x0001, 0x27be: 0x0001, 0x27bf: 0x000c, + // Block 0x9f, offset 0x27c0 + 0x27c0: 0x0001, 0x27c1: 0x0001, 0x27c2: 0x0001, 0x27c3: 0x0001, 0x27c4: 0x0001, 0x27c5: 0x0001, + 0x27c6: 0x0001, 0x27c7: 0x0001, 0x27c8: 0x0001, 0x27c9: 0x0001, 0x27ca: 0x0001, 0x27cb: 0x0001, + 0x27cc: 0x0001, 0x27cd: 0x0001, 0x27ce: 0x0001, 0x27cf: 0x0001, 0x27d0: 0x0001, 0x27d1: 0x0001, + 0x27d2: 0x0001, 0x27d3: 0x0001, 0x27d4: 0x0001, 0x27d5: 0x0001, 0x27d6: 0x0001, 0x27d7: 0x0001, + 0x27d8: 0x0001, 0x27d9: 0x0001, 0x27da: 0x0001, 0x27db: 0x0001, 0x27dc: 0x0001, 0x27dd: 0x0001, + 0x27de: 0x0001, 0x27df: 0x0001, 0x27e0: 0x0001, 0x27e1: 0x0001, 0x27e2: 0x0001, 0x27e3: 0x0001, + 0x27e4: 0x0001, 0x27e5: 0x000c, 0x27e6: 0x000c, 0x27e7: 0x0001, 0x27e8: 0x0001, 0x27e9: 0x0001, + 0x27ea: 0x0001, 0x27eb: 0x0001, 0x27ec: 0x0001, 0x27ed: 0x0001, 0x27ee: 0x0001, 0x27ef: 0x0001, + 0x27f0: 0x0001, 0x27f1: 0x0001, 0x27f2: 0x0001, 0x27f3: 0x0001, 0x27f4: 0x0001, 0x27f5: 0x0001, + 0x27f6: 0x0001, 0x27f7: 0x0001, 0x27f8: 0x0001, 0x27f9: 0x0001, 0x27fa: 0x0001, 0x27fb: 0x0001, + 0x27fc: 0x0001, 0x27fd: 0x0001, 0x27fe: 0x0001, 0x27ff: 0x0001, + // Block 0xa0, offset 0x2800 + 0x2800: 0x0001, 0x2801: 0x0001, 0x2802: 0x0001, 0x2803: 0x0001, 0x2804: 0x0001, 0x2805: 0x0001, + 0x2806: 0x0001, 0x2807: 0x0001, 0x2808: 0x0001, 0x2809: 0x0001, 0x280a: 0x0001, 0x280b: 0x0001, + 0x280c: 0x0001, 0x280d: 0x0001, 0x280e: 0x0001, 0x280f: 0x0001, 0x2810: 0x0001, 0x2811: 0x0001, + 0x2812: 0x0001, 0x2813: 0x0001, 0x2814: 0x0001, 0x2815: 0x0001, 0x2816: 0x0001, 0x2817: 0x0001, + 0x2818: 0x0001, 0x2819: 0x0001, 0x281a: 0x0001, 0x281b: 0x0001, 0x281c: 0x0001, 0x281d: 0x0001, + 0x281e: 0x0001, 0x281f: 0x0001, 0x2820: 0x0001, 0x2821: 0x0001, 0x2822: 0x0001, 0x2823: 0x0001, + 0x2824: 0x0001, 0x2825: 0x0001, 0x2826: 0x0001, 0x2827: 0x0001, 0x2828: 0x0001, 0x2829: 0x0001, + 0x282a: 0x0001, 0x282b: 0x0001, 0x282c: 0x0001, 0x282d: 0x0001, 0x282e: 0x0001, 0x282f: 0x0001, + 0x2830: 0x0001, 0x2831: 0x0001, 0x2832: 0x0001, 0x2833: 0x0001, 0x2834: 0x0001, 0x2835: 0x0001, + 0x2836: 0x0001, 0x2837: 0x0001, 0x2838: 0x0001, 0x2839: 0x000a, 0x283a: 0x000a, 0x283b: 0x000a, + 0x283c: 0x000a, 0x283d: 0x000a, 0x283e: 0x000a, 0x283f: 0x000a, + // Block 0xa1, offset 0x2840 + 0x2840: 0x000d, 0x2841: 0x000d, 0x2842: 0x000d, 0x2843: 0x000d, 0x2844: 0x000d, 0x2845: 0x000d, + 0x2846: 0x000d, 0x2847: 0x000d, 0x2848: 0x000d, 0x2849: 0x000d, 0x284a: 0x000d, 0x284b: 0x000d, + 0x284c: 0x000d, 0x284d: 0x000d, 0x284e: 0x000d, 0x284f: 0x000d, 0x2850: 0x000d, 0x2851: 0x000d, + 0x2852: 0x000d, 0x2853: 0x000d, 0x2854: 0x000d, 0x2855: 0x000d, 0x2856: 0x000d, 0x2857: 0x000d, + 0x2858: 0x000d, 0x2859: 0x000d, 0x285a: 0x000d, 0x285b: 0x000d, 0x285c: 0x000d, 0x285d: 0x000d, + 0x285e: 0x000d, 0x285f: 0x000d, 0x2860: 0x000d, 0x2861: 0x000d, 0x2862: 0x000d, 0x2863: 0x000d, + 0x2864: 0x000c, 0x2865: 0x000c, 0x2866: 0x000c, 0x2867: 0x000c, 0x2868: 0x000d, 0x2869: 0x000d, + 0x286a: 0x000d, 0x286b: 0x000d, 0x286c: 0x000d, 0x286d: 0x000d, 0x286e: 0x000d, 0x286f: 0x000d, + 0x2870: 0x0005, 0x2871: 0x0005, 0x2872: 0x0005, 0x2873: 0x0005, 0x2874: 0x0005, 0x2875: 0x0005, + 0x2876: 0x0005, 0x2877: 0x0005, 0x2878: 0x0005, 0x2879: 0x0005, 0x287a: 0x000d, 0x287b: 0x000d, + 0x287c: 0x000d, 0x287d: 0x000d, 0x287e: 0x000d, 0x287f: 0x000d, + // Block 0xa2, offset 0x2880 + 0x2880: 0x0001, 0x2881: 0x0001, 0x2882: 0x0001, 0x2883: 0x0001, 0x2884: 0x0001, 0x2885: 0x0001, + 0x2886: 0x0001, 0x2887: 0x0001, 0x2888: 0x0001, 0x2889: 0x0001, 0x288a: 0x0001, 0x288b: 0x0001, + 0x288c: 0x0001, 0x288d: 0x0001, 0x288e: 0x0001, 0x288f: 0x0001, 0x2890: 0x0001, 0x2891: 0x0001, + 0x2892: 0x0001, 0x2893: 0x0001, 0x2894: 0x0001, 0x2895: 0x0001, 0x2896: 0x0001, 0x2897: 0x0001, + 0x2898: 0x0001, 0x2899: 0x0001, 0x289a: 0x0001, 0x289b: 0x0001, 0x289c: 0x0001, 0x289d: 0x0001, + 0x289e: 0x0001, 0x289f: 0x0001, 0x28a0: 0x0005, 0x28a1: 0x0005, 0x28a2: 0x0005, 0x28a3: 0x0005, + 0x28a4: 0x0005, 0x28a5: 0x0005, 0x28a6: 0x0005, 0x28a7: 0x0005, 0x28a8: 0x0005, 0x28a9: 0x0005, + 0x28aa: 0x0005, 0x28ab: 0x0005, 0x28ac: 0x0005, 0x28ad: 0x0005, 0x28ae: 0x0005, 0x28af: 0x0005, + 0x28b0: 0x0005, 0x28b1: 0x0005, 0x28b2: 0x0005, 0x28b3: 0x0005, 0x28b4: 0x0005, 0x28b5: 0x0005, + 0x28b6: 0x0005, 0x28b7: 0x0005, 0x28b8: 0x0005, 0x28b9: 0x0005, 0x28ba: 0x0005, 0x28bb: 0x0005, + 0x28bc: 0x0005, 0x28bd: 0x0005, 0x28be: 0x0005, 0x28bf: 0x0001, + // Block 0xa3, offset 0x28c0 + 0x28c0: 0x0001, 0x28c1: 0x0001, 0x28c2: 0x0001, 0x28c3: 0x0001, 0x28c4: 0x0001, 0x28c5: 0x0001, + 0x28c6: 0x0001, 0x28c7: 0x0001, 0x28c8: 0x0001, 0x28c9: 0x0001, 0x28ca: 0x0001, 0x28cb: 0x0001, + 0x28cc: 0x0001, 0x28cd: 0x0001, 0x28ce: 0x0001, 0x28cf: 0x0001, 0x28d0: 0x0001, 0x28d1: 0x0001, + 0x28d2: 0x0001, 0x28d3: 0x0001, 0x28d4: 0x0001, 0x28d5: 0x0001, 0x28d6: 0x0001, 0x28d7: 0x0001, + 0x28d8: 0x0001, 0x28d9: 0x0001, 0x28da: 0x0001, 0x28db: 0x0001, 0x28dc: 0x0001, 0x28dd: 0x0001, + 0x28de: 0x0001, 0x28df: 0x0001, 0x28e0: 0x0001, 0x28e1: 0x0001, 0x28e2: 0x0001, 0x28e3: 0x0001, + 0x28e4: 0x0001, 0x28e5: 0x0001, 0x28e6: 0x0001, 0x28e7: 0x0001, 0x28e8: 0x0001, 0x28e9: 0x0001, + 0x28ea: 0x0001, 0x28eb: 0x0001, 0x28ec: 0x0001, 0x28ed: 0x0001, 0x28ee: 0x0001, 0x28ef: 0x0001, + 0x28f0: 0x000d, 0x28f1: 0x000d, 0x28f2: 0x000d, 0x28f3: 0x000d, 0x28f4: 0x000d, 0x28f5: 0x000d, + 0x28f6: 0x000d, 0x28f7: 0x000d, 0x28f8: 0x000d, 0x28f9: 0x000d, 0x28fa: 0x000d, 0x28fb: 0x000d, + 0x28fc: 0x000d, 0x28fd: 0x000d, 0x28fe: 0x000d, 0x28ff: 0x000d, + // Block 0xa4, offset 0x2900 + 0x2900: 0x000d, 0x2901: 0x000d, 0x2902: 0x000d, 0x2903: 0x000d, 0x2904: 0x000d, 0x2905: 0x000d, + 0x2906: 0x000c, 0x2907: 0x000c, 0x2908: 0x000c, 0x2909: 0x000c, 0x290a: 0x000c, 0x290b: 0x000c, + 0x290c: 0x000c, 0x290d: 0x000c, 0x290e: 0x000c, 0x290f: 0x000c, 0x2910: 0x000c, 0x2911: 0x000d, + 0x2912: 0x000d, 0x2913: 0x000d, 0x2914: 0x000d, 0x2915: 0x000d, 0x2916: 0x000d, 0x2917: 0x000d, + 0x2918: 0x000d, 0x2919: 0x000d, 0x291a: 0x000d, 0x291b: 0x000d, 0x291c: 0x000d, 0x291d: 0x000d, + 0x291e: 0x000d, 0x291f: 0x000d, 0x2920: 0x000d, 0x2921: 0x000d, 0x2922: 0x000d, 0x2923: 0x000d, + 0x2924: 0x000d, 0x2925: 0x000d, 0x2926: 0x000d, 0x2927: 0x000d, 0x2928: 0x000d, 0x2929: 0x000d, + 0x292a: 0x000d, 0x292b: 0x000d, 0x292c: 0x000d, 0x292d: 0x000d, 0x292e: 0x000d, 0x292f: 0x000d, + 0x2930: 0x0001, 0x2931: 0x0001, 0x2932: 0x0001, 0x2933: 0x0001, 0x2934: 0x0001, 0x2935: 0x0001, + 0x2936: 0x0001, 0x2937: 0x0001, 0x2938: 0x0001, 0x2939: 0x0001, 0x293a: 0x0001, 0x293b: 0x0001, + 0x293c: 0x0001, 0x293d: 0x0001, 0x293e: 0x0001, 0x293f: 0x0001, + // Block 0xa5, offset 0x2940 + 0x2941: 0x000c, + 0x2978: 0x000c, 0x2979: 0x000c, 0x297a: 0x000c, 0x297b: 0x000c, + 0x297c: 0x000c, 0x297d: 0x000c, 0x297e: 0x000c, 0x297f: 0x000c, + // Block 0xa6, offset 0x2980 + 0x2980: 0x000c, 0x2981: 0x000c, 0x2982: 0x000c, 0x2983: 0x000c, 0x2984: 0x000c, 0x2985: 0x000c, + 0x2986: 0x000c, + 0x2992: 0x000a, 0x2993: 0x000a, 0x2994: 0x000a, 0x2995: 0x000a, 0x2996: 0x000a, 0x2997: 0x000a, + 0x2998: 0x000a, 0x2999: 0x000a, 0x299a: 0x000a, 0x299b: 0x000a, 0x299c: 0x000a, 0x299d: 0x000a, + 0x299e: 0x000a, 0x299f: 0x000a, 0x29a0: 0x000a, 0x29a1: 0x000a, 0x29a2: 0x000a, 0x29a3: 0x000a, + 0x29a4: 0x000a, 0x29a5: 0x000a, + 0x29bf: 0x000c, + // Block 0xa7, offset 0x29c0 + 0x29c0: 0x000c, 0x29c1: 0x000c, + 0x29f3: 0x000c, 0x29f4: 0x000c, 0x29f5: 0x000c, + 0x29f6: 0x000c, 0x29f9: 0x000c, 0x29fa: 0x000c, + // Block 0xa8, offset 0x2a00 + 0x2a00: 0x000c, 0x2a01: 0x000c, 0x2a02: 0x000c, + 0x2a27: 0x000c, 0x2a28: 0x000c, 0x2a29: 0x000c, + 0x2a2a: 0x000c, 0x2a2b: 0x000c, 0x2a2d: 0x000c, 0x2a2e: 0x000c, 0x2a2f: 0x000c, + 0x2a30: 0x000c, 0x2a31: 0x000c, 0x2a32: 0x000c, 0x2a33: 0x000c, 0x2a34: 0x000c, + // Block 0xa9, offset 0x2a40 + 0x2a73: 0x000c, + // Block 0xaa, offset 0x2a80 + 0x2a80: 0x000c, 0x2a81: 0x000c, + 0x2ab6: 0x000c, 0x2ab7: 0x000c, 0x2ab8: 0x000c, 0x2ab9: 0x000c, 0x2aba: 0x000c, 0x2abb: 0x000c, + 0x2abc: 0x000c, 0x2abd: 0x000c, 0x2abe: 0x000c, + // Block 0xab, offset 0x2ac0 + 0x2ac9: 0x000c, 0x2aca: 0x000c, 0x2acb: 0x000c, + 0x2acc: 0x000c, + // Block 0xac, offset 0x2b00 + 0x2b2f: 0x000c, + 0x2b30: 0x000c, 0x2b31: 0x000c, 0x2b34: 0x000c, + 0x2b36: 0x000c, 0x2b37: 0x000c, + 0x2b3e: 0x000c, + // Block 0xad, offset 0x2b40 + 0x2b5f: 0x000c, 0x2b63: 0x000c, + 0x2b64: 0x000c, 0x2b65: 0x000c, 0x2b66: 0x000c, 0x2b67: 0x000c, 0x2b68: 0x000c, 0x2b69: 0x000c, + 0x2b6a: 0x000c, + // Block 0xae, offset 0x2b80 + 0x2b80: 0x000c, + 0x2ba6: 0x000c, 0x2ba7: 0x000c, 0x2ba8: 0x000c, 0x2ba9: 0x000c, + 0x2baa: 0x000c, 0x2bab: 0x000c, 0x2bac: 0x000c, + 0x2bb0: 0x000c, 0x2bb1: 0x000c, 0x2bb2: 0x000c, 0x2bb3: 0x000c, 0x2bb4: 0x000c, + // Block 0xaf, offset 0x2bc0 + 0x2bf8: 0x000c, 0x2bf9: 0x000c, 0x2bfa: 0x000c, 0x2bfb: 0x000c, + 0x2bfc: 0x000c, 0x2bfd: 0x000c, 0x2bfe: 0x000c, 0x2bff: 0x000c, + // Block 0xb0, offset 0x2c00 + 0x2c02: 0x000c, 0x2c03: 0x000c, 0x2c04: 0x000c, + 0x2c06: 0x000c, + 0x2c1e: 0x000c, + // Block 0xb1, offset 0x2c40 + 0x2c73: 0x000c, 0x2c74: 0x000c, 0x2c75: 0x000c, + 0x2c76: 0x000c, 0x2c77: 0x000c, 0x2c78: 0x000c, 0x2c7a: 0x000c, + 0x2c7f: 0x000c, + // Block 0xb2, offset 0x2c80 + 0x2c80: 0x000c, 0x2c82: 0x000c, 0x2c83: 0x000c, + // Block 0xb3, offset 0x2cc0 + 0x2cf2: 0x000c, 0x2cf3: 0x000c, 0x2cf4: 0x000c, 0x2cf5: 0x000c, + 0x2cfc: 0x000c, 0x2cfd: 0x000c, 0x2cff: 0x000c, + // Block 0xb4, offset 0x2d00 + 0x2d00: 0x000c, + 0x2d1c: 0x000c, 0x2d1d: 0x000c, + // Block 0xb5, offset 0x2d40 + 0x2d73: 0x000c, 0x2d74: 0x000c, 0x2d75: 0x000c, + 0x2d76: 0x000c, 0x2d77: 0x000c, 0x2d78: 0x000c, 0x2d79: 0x000c, 0x2d7a: 0x000c, + 0x2d7d: 0x000c, 0x2d7f: 0x000c, + // Block 0xb6, offset 0x2d80 + 0x2d80: 0x000c, + 0x2da0: 0x000a, 0x2da1: 0x000a, 0x2da2: 0x000a, 0x2da3: 0x000a, + 0x2da4: 0x000a, 0x2da5: 0x000a, 0x2da6: 0x000a, 0x2da7: 0x000a, 0x2da8: 0x000a, 0x2da9: 0x000a, + 0x2daa: 0x000a, 0x2dab: 0x000a, 0x2dac: 0x000a, + // Block 0xb7, offset 0x2dc0 + 0x2deb: 0x000c, 0x2ded: 0x000c, + 0x2df0: 0x000c, 0x2df1: 0x000c, 0x2df2: 0x000c, 0x2df3: 0x000c, 0x2df4: 0x000c, 0x2df5: 0x000c, + 0x2df7: 0x000c, + // Block 0xb8, offset 0x2e00 + 0x2e1d: 0x000c, + 0x2e1e: 0x000c, 0x2e1f: 0x000c, 0x2e22: 0x000c, 0x2e23: 0x000c, + 0x2e24: 0x000c, 0x2e25: 0x000c, 0x2e27: 0x000c, 0x2e28: 0x000c, 0x2e29: 0x000c, + 0x2e2a: 0x000c, 0x2e2b: 0x000c, + // Block 0xb9, offset 0x2e40 + 0x2e6f: 0x000c, + 0x2e70: 0x000c, 0x2e71: 0x000c, 0x2e72: 0x000c, 0x2e73: 0x000c, 0x2e74: 0x000c, 0x2e75: 0x000c, + 0x2e76: 0x000c, 0x2e77: 0x000c, 0x2e79: 0x000c, 0x2e7a: 0x000c, + // Block 0xba, offset 0x2e80 + 0x2e81: 0x000c, 0x2e82: 0x000c, 0x2e83: 0x000c, 0x2e84: 0x000c, 0x2e85: 0x000c, + 0x2e86: 0x000c, 0x2e89: 0x000c, 0x2e8a: 0x000c, + 0x2eb3: 0x000c, 0x2eb4: 0x000c, 0x2eb5: 0x000c, + 0x2eb6: 0x000c, 0x2eb7: 0x000c, 0x2eb8: 0x000c, 0x2ebb: 0x000c, + 0x2ebc: 0x000c, 0x2ebd: 0x000c, 0x2ebe: 0x000c, + // Block 0xbb, offset 0x2ec0 + 0x2ec7: 0x000c, + 0x2ed1: 0x000c, + 0x2ed2: 0x000c, 0x2ed3: 0x000c, 0x2ed4: 0x000c, 0x2ed5: 0x000c, 0x2ed6: 0x000c, + 0x2ed9: 0x000c, 0x2eda: 0x000c, 0x2edb: 0x000c, + // Block 0xbc, offset 0x2f00 + 0x2f0a: 0x000c, 0x2f0b: 0x000c, + 0x2f0c: 0x000c, 0x2f0d: 0x000c, 0x2f0e: 0x000c, 0x2f0f: 0x000c, 0x2f10: 0x000c, 0x2f11: 0x000c, + 0x2f12: 0x000c, 0x2f13: 0x000c, 0x2f14: 0x000c, 0x2f15: 0x000c, 0x2f16: 0x000c, + 0x2f18: 0x000c, 0x2f19: 0x000c, + // Block 0xbd, offset 0x2f40 + 0x2f70: 0x000c, 0x2f71: 0x000c, 0x2f72: 0x000c, 0x2f73: 0x000c, 0x2f74: 0x000c, 0x2f75: 0x000c, + 0x2f76: 0x000c, 0x2f78: 0x000c, 0x2f79: 0x000c, 0x2f7a: 0x000c, 0x2f7b: 0x000c, + 0x2f7c: 0x000c, 0x2f7d: 0x000c, + // Block 0xbe, offset 0x2f80 + 0x2f92: 0x000c, 0x2f93: 0x000c, 0x2f94: 0x000c, 0x2f95: 0x000c, 0x2f96: 0x000c, 0x2f97: 0x000c, + 0x2f98: 0x000c, 0x2f99: 0x000c, 0x2f9a: 0x000c, 0x2f9b: 0x000c, 0x2f9c: 0x000c, 0x2f9d: 0x000c, + 0x2f9e: 0x000c, 0x2f9f: 0x000c, 0x2fa0: 0x000c, 0x2fa1: 0x000c, 0x2fa2: 0x000c, 0x2fa3: 0x000c, + 0x2fa4: 0x000c, 0x2fa5: 0x000c, 0x2fa6: 0x000c, 0x2fa7: 0x000c, + 0x2faa: 0x000c, 0x2fab: 0x000c, 0x2fac: 0x000c, 0x2fad: 0x000c, 0x2fae: 0x000c, 0x2faf: 0x000c, + 0x2fb0: 0x000c, 0x2fb2: 0x000c, 0x2fb3: 0x000c, 0x2fb5: 0x000c, + 0x2fb6: 0x000c, + // Block 0xbf, offset 0x2fc0 + 0x2ff1: 0x000c, 0x2ff2: 0x000c, 0x2ff3: 0x000c, 0x2ff4: 0x000c, 0x2ff5: 0x000c, + 0x2ff6: 0x000c, 0x2ffa: 0x000c, + 0x2ffc: 0x000c, 0x2ffd: 0x000c, 0x2fff: 0x000c, + // Block 0xc0, offset 0x3000 + 0x3000: 0x000c, 0x3001: 0x000c, 0x3002: 0x000c, 0x3003: 0x000c, 0x3004: 0x000c, 0x3005: 0x000c, + 0x3007: 0x000c, + // Block 0xc1, offset 0x3040 + 0x3050: 0x000c, 0x3051: 0x000c, + 0x3055: 0x000c, 0x3057: 0x000c, + // Block 0xc2, offset 0x3080 + 0x30b3: 0x000c, 0x30b4: 0x000c, + // Block 0xc3, offset 0x30c0 + 0x30f0: 0x000c, 0x30f1: 0x000c, 0x30f2: 0x000c, 0x30f3: 0x000c, 0x30f4: 0x000c, + // Block 0xc4, offset 0x3100 + 0x3130: 0x000c, 0x3131: 0x000c, 0x3132: 0x000c, 0x3133: 0x000c, 0x3134: 0x000c, 0x3135: 0x000c, + 0x3136: 0x000c, + // Block 0xc5, offset 0x3140 + 0x314f: 0x000c, 0x3150: 0x000c, 0x3151: 0x000c, + 0x3152: 0x000c, + // Block 0xc6, offset 0x3180 + 0x319d: 0x000c, + 0x319e: 0x000c, 0x31a0: 0x000b, 0x31a1: 0x000b, 0x31a2: 0x000b, 0x31a3: 0x000b, + // Block 0xc7, offset 0x31c0 + 0x31e7: 0x000c, 0x31e8: 0x000c, 0x31e9: 0x000c, + 0x31f3: 0x000b, 0x31f4: 0x000b, 0x31f5: 0x000b, + 0x31f6: 0x000b, 0x31f7: 0x000b, 0x31f8: 0x000b, 0x31f9: 0x000b, 0x31fa: 0x000b, 0x31fb: 0x000c, + 0x31fc: 0x000c, 0x31fd: 0x000c, 0x31fe: 0x000c, 0x31ff: 0x000c, + // Block 0xc8, offset 0x3200 + 0x3200: 0x000c, 0x3201: 0x000c, 0x3202: 0x000c, 0x3205: 0x000c, + 0x3206: 0x000c, 0x3207: 0x000c, 0x3208: 0x000c, 0x3209: 0x000c, 0x320a: 0x000c, 0x320b: 0x000c, + 0x322a: 0x000c, 0x322b: 0x000c, 0x322c: 0x000c, 0x322d: 0x000c, + // Block 0xc9, offset 0x3240 + 0x3240: 0x000a, 0x3241: 0x000a, 0x3242: 0x000c, 0x3243: 0x000c, 0x3244: 0x000c, 0x3245: 0x000a, + // Block 0xca, offset 0x3280 + 0x3280: 0x000a, 0x3281: 0x000a, 0x3282: 0x000a, 0x3283: 0x000a, 0x3284: 0x000a, 0x3285: 0x000a, + 0x3286: 0x000a, 0x3287: 0x000a, 0x3288: 0x000a, 0x3289: 0x000a, 0x328a: 0x000a, 0x328b: 0x000a, + 0x328c: 0x000a, 0x328d: 0x000a, 0x328e: 0x000a, 0x328f: 0x000a, 0x3290: 0x000a, 0x3291: 0x000a, + 0x3292: 0x000a, 0x3293: 0x000a, 0x3294: 0x000a, 0x3295: 0x000a, 0x3296: 0x000a, + // Block 0xcb, offset 0x32c0 + 0x32db: 0x000a, + // Block 0xcc, offset 0x3300 + 0x3315: 0x000a, + // Block 0xcd, offset 0x3340 + 0x334f: 0x000a, + // Block 0xce, offset 0x3380 + 0x3389: 0x000a, + // Block 0xcf, offset 0x33c0 + 0x33c3: 0x000a, + 0x33ce: 0x0002, 0x33cf: 0x0002, 0x33d0: 0x0002, 0x33d1: 0x0002, + 0x33d2: 0x0002, 0x33d3: 0x0002, 0x33d4: 0x0002, 0x33d5: 0x0002, 0x33d6: 0x0002, 0x33d7: 0x0002, + 0x33d8: 0x0002, 0x33d9: 0x0002, 0x33da: 0x0002, 0x33db: 0x0002, 0x33dc: 0x0002, 0x33dd: 0x0002, + 0x33de: 0x0002, 0x33df: 0x0002, 0x33e0: 0x0002, 0x33e1: 0x0002, 0x33e2: 0x0002, 0x33e3: 0x0002, + 0x33e4: 0x0002, 0x33e5: 0x0002, 0x33e6: 0x0002, 0x33e7: 0x0002, 0x33e8: 0x0002, 0x33e9: 0x0002, + 0x33ea: 0x0002, 0x33eb: 0x0002, 0x33ec: 0x0002, 0x33ed: 0x0002, 0x33ee: 0x0002, 0x33ef: 0x0002, + 0x33f0: 0x0002, 0x33f1: 0x0002, 0x33f2: 0x0002, 0x33f3: 0x0002, 0x33f4: 0x0002, 0x33f5: 0x0002, + 0x33f6: 0x0002, 0x33f7: 0x0002, 0x33f8: 0x0002, 0x33f9: 0x0002, 0x33fa: 0x0002, 0x33fb: 0x0002, + 0x33fc: 0x0002, 0x33fd: 0x0002, 0x33fe: 0x0002, 0x33ff: 0x0002, + // Block 0xd0, offset 0x3400 + 0x3400: 0x000c, 0x3401: 0x000c, 0x3402: 0x000c, 0x3403: 0x000c, 0x3404: 0x000c, 0x3405: 0x000c, + 0x3406: 0x000c, 0x3407: 0x000c, 0x3408: 0x000c, 0x3409: 0x000c, 0x340a: 0x000c, 0x340b: 0x000c, + 0x340c: 0x000c, 0x340d: 0x000c, 0x340e: 0x000c, 0x340f: 0x000c, 0x3410: 0x000c, 0x3411: 0x000c, + 0x3412: 0x000c, 0x3413: 0x000c, 0x3414: 0x000c, 0x3415: 0x000c, 0x3416: 0x000c, 0x3417: 0x000c, + 0x3418: 0x000c, 0x3419: 0x000c, 0x341a: 0x000c, 0x341b: 0x000c, 0x341c: 0x000c, 0x341d: 0x000c, + 0x341e: 0x000c, 0x341f: 0x000c, 0x3420: 0x000c, 0x3421: 0x000c, 0x3422: 0x000c, 0x3423: 0x000c, + 0x3424: 0x000c, 0x3425: 0x000c, 0x3426: 0x000c, 0x3427: 0x000c, 0x3428: 0x000c, 0x3429: 0x000c, + 0x342a: 0x000c, 0x342b: 0x000c, 0x342c: 0x000c, 0x342d: 0x000c, 0x342e: 0x000c, 0x342f: 0x000c, + 0x3430: 0x000c, 0x3431: 0x000c, 0x3432: 0x000c, 0x3433: 0x000c, 0x3434: 0x000c, 0x3435: 0x000c, + 0x3436: 0x000c, 0x343b: 0x000c, + 0x343c: 0x000c, 0x343d: 0x000c, 0x343e: 0x000c, 0x343f: 0x000c, + // Block 0xd1, offset 0x3440 + 0x3440: 0x000c, 0x3441: 0x000c, 0x3442: 0x000c, 0x3443: 0x000c, 0x3444: 0x000c, 0x3445: 0x000c, + 0x3446: 0x000c, 0x3447: 0x000c, 0x3448: 0x000c, 0x3449: 0x000c, 0x344a: 0x000c, 0x344b: 0x000c, + 0x344c: 0x000c, 0x344d: 0x000c, 0x344e: 0x000c, 0x344f: 0x000c, 0x3450: 0x000c, 0x3451: 0x000c, + 0x3452: 0x000c, 0x3453: 0x000c, 0x3454: 0x000c, 0x3455: 0x000c, 0x3456: 0x000c, 0x3457: 0x000c, + 0x3458: 0x000c, 0x3459: 0x000c, 0x345a: 0x000c, 0x345b: 0x000c, 0x345c: 0x000c, 0x345d: 0x000c, + 0x345e: 0x000c, 0x345f: 0x000c, 0x3460: 0x000c, 0x3461: 0x000c, 0x3462: 0x000c, 0x3463: 0x000c, + 0x3464: 0x000c, 0x3465: 0x000c, 0x3466: 0x000c, 0x3467: 0x000c, 0x3468: 0x000c, 0x3469: 0x000c, + 0x346a: 0x000c, 0x346b: 0x000c, 0x346c: 0x000c, + 0x3475: 0x000c, + // Block 0xd2, offset 0x3480 + 0x3484: 0x000c, + 0x349b: 0x000c, 0x349c: 0x000c, 0x349d: 0x000c, + 0x349e: 0x000c, 0x349f: 0x000c, 0x34a1: 0x000c, 0x34a2: 0x000c, 0x34a3: 0x000c, + 0x34a4: 0x000c, 0x34a5: 0x000c, 0x34a6: 0x000c, 0x34a7: 0x000c, 0x34a8: 0x000c, 0x34a9: 0x000c, + 0x34aa: 0x000c, 0x34ab: 0x000c, 0x34ac: 0x000c, 0x34ad: 0x000c, 0x34ae: 0x000c, 0x34af: 0x000c, + // Block 0xd3, offset 0x34c0 + 0x34c0: 0x000c, 0x34c1: 0x000c, 0x34c2: 0x000c, 0x34c3: 0x000c, 0x34c4: 0x000c, 0x34c5: 0x000c, + 0x34c6: 0x000c, 0x34c8: 0x000c, 0x34c9: 0x000c, 0x34ca: 0x000c, 0x34cb: 0x000c, + 0x34cc: 0x000c, 0x34cd: 0x000c, 0x34ce: 0x000c, 0x34cf: 0x000c, 0x34d0: 0x000c, 0x34d1: 0x000c, + 0x34d2: 0x000c, 0x34d3: 0x000c, 0x34d4: 0x000c, 0x34d5: 0x000c, 0x34d6: 0x000c, 0x34d7: 0x000c, + 0x34d8: 0x000c, 0x34db: 0x000c, 0x34dc: 0x000c, 0x34dd: 0x000c, + 0x34de: 0x000c, 0x34df: 0x000c, 0x34e0: 0x000c, 0x34e1: 0x000c, 0x34e3: 0x000c, + 0x34e4: 0x000c, 0x34e6: 0x000c, 0x34e7: 0x000c, 0x34e8: 0x000c, 0x34e9: 0x000c, + 0x34ea: 0x000c, + // Block 0xd4, offset 0x3500 + 0x3500: 0x0001, 0x3501: 0x0001, 0x3502: 0x0001, 0x3503: 0x0001, 0x3504: 0x0001, 0x3505: 0x0001, + 0x3506: 0x0001, 0x3507: 0x0001, 0x3508: 0x0001, 0x3509: 0x0001, 0x350a: 0x0001, 0x350b: 0x0001, + 0x350c: 0x0001, 0x350d: 0x0001, 0x350e: 0x0001, 0x350f: 0x0001, 0x3510: 0x000c, 0x3511: 0x000c, + 0x3512: 0x000c, 0x3513: 0x000c, 0x3514: 0x000c, 0x3515: 0x000c, 0x3516: 0x000c, 0x3517: 0x0001, + 0x3518: 0x0001, 0x3519: 0x0001, 0x351a: 0x0001, 0x351b: 0x0001, 0x351c: 0x0001, 0x351d: 0x0001, + 0x351e: 0x0001, 0x351f: 0x0001, 0x3520: 0x0001, 0x3521: 0x0001, 0x3522: 0x0001, 0x3523: 0x0001, + 0x3524: 0x0001, 0x3525: 0x0001, 0x3526: 0x0001, 0x3527: 0x0001, 0x3528: 0x0001, 0x3529: 0x0001, + 0x352a: 0x0001, 0x352b: 0x0001, 0x352c: 0x0001, 0x352d: 0x0001, 0x352e: 0x0001, 0x352f: 0x0001, + 0x3530: 0x0001, 0x3531: 0x0001, 0x3532: 0x0001, 0x3533: 0x0001, 0x3534: 0x0001, 0x3535: 0x0001, + 0x3536: 0x0001, 0x3537: 0x0001, 0x3538: 0x0001, 0x3539: 0x0001, 0x353a: 0x0001, 0x353b: 0x0001, + 0x353c: 0x0001, 0x353d: 0x0001, 0x353e: 0x0001, 0x353f: 0x0001, + // Block 0xd5, offset 0x3540 + 0x3540: 0x0001, 0x3541: 0x0001, 0x3542: 0x0001, 0x3543: 0x0001, 0x3544: 0x000c, 0x3545: 0x000c, + 0x3546: 0x000c, 0x3547: 0x000c, 0x3548: 0x000c, 0x3549: 0x000c, 0x354a: 0x000c, 0x354b: 0x0001, + 0x354c: 0x0001, 0x354d: 0x0001, 0x354e: 0x0001, 0x354f: 0x0001, 0x3550: 0x0001, 0x3551: 0x0001, + 0x3552: 0x0001, 0x3553: 0x0001, 0x3554: 0x0001, 0x3555: 0x0001, 0x3556: 0x0001, 0x3557: 0x0001, + 0x3558: 0x0001, 0x3559: 0x0001, 0x355a: 0x0001, 0x355b: 0x0001, 0x355c: 0x0001, 0x355d: 0x0001, + 0x355e: 0x0001, 0x355f: 0x0001, 0x3560: 0x0001, 0x3561: 0x0001, 0x3562: 0x0001, 0x3563: 0x0001, + 0x3564: 0x0001, 0x3565: 0x0001, 0x3566: 0x0001, 0x3567: 0x0001, 0x3568: 0x0001, 0x3569: 0x0001, + 0x356a: 0x0001, 0x356b: 0x0001, 0x356c: 0x0001, 0x356d: 0x0001, 0x356e: 0x0001, 0x356f: 0x0001, + 0x3570: 0x0001, 0x3571: 0x0001, 0x3572: 0x0001, 0x3573: 0x0001, 0x3574: 0x0001, 0x3575: 0x0001, + 0x3576: 0x0001, 0x3577: 0x0001, 0x3578: 0x0001, 0x3579: 0x0001, 0x357a: 0x0001, 0x357b: 0x0001, + 0x357c: 0x0001, 0x357d: 0x0001, 0x357e: 0x0001, 0x357f: 0x0001, + // Block 0xd6, offset 0x3580 + 0x3580: 0x000d, 0x3581: 0x000d, 0x3582: 0x000d, 0x3583: 0x000d, 0x3584: 0x000d, 0x3585: 0x000d, + 0x3586: 0x000d, 0x3587: 0x000d, 0x3588: 0x000d, 0x3589: 0x000d, 0x358a: 0x000d, 0x358b: 0x000d, + 0x358c: 0x000d, 0x358d: 0x000d, 0x358e: 0x000d, 0x358f: 0x000d, 0x3590: 0x000d, 0x3591: 0x000d, + 0x3592: 0x000d, 0x3593: 0x000d, 0x3594: 0x000d, 0x3595: 0x000d, 0x3596: 0x000d, 0x3597: 0x000d, + 0x3598: 0x000d, 0x3599: 0x000d, 0x359a: 0x000d, 0x359b: 0x000d, 0x359c: 0x000d, 0x359d: 0x000d, + 0x359e: 0x000d, 0x359f: 0x000d, 0x35a0: 0x000d, 0x35a1: 0x000d, 0x35a2: 0x000d, 0x35a3: 0x000d, + 0x35a4: 0x000d, 0x35a5: 0x000d, 0x35a6: 0x000d, 0x35a7: 0x000d, 0x35a8: 0x000d, 0x35a9: 0x000d, + 0x35aa: 0x000d, 0x35ab: 0x000d, 0x35ac: 0x000d, 0x35ad: 0x000d, 0x35ae: 0x000d, 0x35af: 0x000d, + 0x35b0: 0x000a, 0x35b1: 0x000a, 0x35b2: 0x000d, 0x35b3: 0x000d, 0x35b4: 0x000d, 0x35b5: 0x000d, + 0x35b6: 0x000d, 0x35b7: 0x000d, 0x35b8: 0x000d, 0x35b9: 0x000d, 0x35ba: 0x000d, 0x35bb: 0x000d, + 0x35bc: 0x000d, 0x35bd: 0x000d, 0x35be: 0x000d, 0x35bf: 0x000d, + // Block 0xd7, offset 0x35c0 + 0x35c0: 0x000a, 0x35c1: 0x000a, 0x35c2: 0x000a, 0x35c3: 0x000a, 0x35c4: 0x000a, 0x35c5: 0x000a, + 0x35c6: 0x000a, 0x35c7: 0x000a, 0x35c8: 0x000a, 0x35c9: 0x000a, 0x35ca: 0x000a, 0x35cb: 0x000a, + 0x35cc: 0x000a, 0x35cd: 0x000a, 0x35ce: 0x000a, 0x35cf: 0x000a, 0x35d0: 0x000a, 0x35d1: 0x000a, + 0x35d2: 0x000a, 0x35d3: 0x000a, 0x35d4: 0x000a, 0x35d5: 0x000a, 0x35d6: 0x000a, 0x35d7: 0x000a, + 0x35d8: 0x000a, 0x35d9: 0x000a, 0x35da: 0x000a, 0x35db: 0x000a, 0x35dc: 0x000a, 0x35dd: 0x000a, + 0x35de: 0x000a, 0x35df: 0x000a, 0x35e0: 0x000a, 0x35e1: 0x000a, 0x35e2: 0x000a, 0x35e3: 0x000a, + 0x35e4: 0x000a, 0x35e5: 0x000a, 0x35e6: 0x000a, 0x35e7: 0x000a, 0x35e8: 0x000a, 0x35e9: 0x000a, + 0x35ea: 0x000a, 0x35eb: 0x000a, + 0x35f0: 0x000a, 0x35f1: 0x000a, 0x35f2: 0x000a, 0x35f3: 0x000a, 0x35f4: 0x000a, 0x35f5: 0x000a, + 0x35f6: 0x000a, 0x35f7: 0x000a, 0x35f8: 0x000a, 0x35f9: 0x000a, 0x35fa: 0x000a, 0x35fb: 0x000a, + 0x35fc: 0x000a, 0x35fd: 0x000a, 0x35fe: 0x000a, 0x35ff: 0x000a, + // Block 0xd8, offset 0x3600 + 0x3600: 0x000a, 0x3601: 0x000a, 0x3602: 0x000a, 0x3603: 0x000a, 0x3604: 0x000a, 0x3605: 0x000a, + 0x3606: 0x000a, 0x3607: 0x000a, 0x3608: 0x000a, 0x3609: 0x000a, 0x360a: 0x000a, 0x360b: 0x000a, + 0x360c: 0x000a, 0x360d: 0x000a, 0x360e: 0x000a, 0x360f: 0x000a, 0x3610: 0x000a, 0x3611: 0x000a, + 0x3612: 0x000a, 0x3613: 0x000a, + 0x3620: 0x000a, 0x3621: 0x000a, 0x3622: 0x000a, 0x3623: 0x000a, + 0x3624: 0x000a, 0x3625: 0x000a, 0x3626: 0x000a, 0x3627: 0x000a, 0x3628: 0x000a, 0x3629: 0x000a, + 0x362a: 0x000a, 0x362b: 0x000a, 0x362c: 0x000a, 0x362d: 0x000a, 0x362e: 0x000a, + 0x3631: 0x000a, 0x3632: 0x000a, 0x3633: 0x000a, 0x3634: 0x000a, 0x3635: 0x000a, + 0x3636: 0x000a, 0x3637: 0x000a, 0x3638: 0x000a, 0x3639: 0x000a, 0x363a: 0x000a, 0x363b: 0x000a, + 0x363c: 0x000a, 0x363d: 0x000a, 0x363e: 0x000a, 0x363f: 0x000a, + // Block 0xd9, offset 0x3640 + 0x3641: 0x000a, 0x3642: 0x000a, 0x3643: 0x000a, 0x3644: 0x000a, 0x3645: 0x000a, + 0x3646: 0x000a, 0x3647: 0x000a, 0x3648: 0x000a, 0x3649: 0x000a, 0x364a: 0x000a, 0x364b: 0x000a, + 0x364c: 0x000a, 0x364d: 0x000a, 0x364e: 0x000a, 0x364f: 0x000a, 0x3651: 0x000a, + 0x3652: 0x000a, 0x3653: 0x000a, 0x3654: 0x000a, 0x3655: 0x000a, 0x3656: 0x000a, 0x3657: 0x000a, + 0x3658: 0x000a, 0x3659: 0x000a, 0x365a: 0x000a, 0x365b: 0x000a, 0x365c: 0x000a, 0x365d: 0x000a, + 0x365e: 0x000a, 0x365f: 0x000a, 0x3660: 0x000a, 0x3661: 0x000a, 0x3662: 0x000a, 0x3663: 0x000a, + 0x3664: 0x000a, 0x3665: 0x000a, 0x3666: 0x000a, 0x3667: 0x000a, 0x3668: 0x000a, 0x3669: 0x000a, + 0x366a: 0x000a, 0x366b: 0x000a, 0x366c: 0x000a, 0x366d: 0x000a, 0x366e: 0x000a, 0x366f: 0x000a, + 0x3670: 0x000a, 0x3671: 0x000a, 0x3672: 0x000a, 0x3673: 0x000a, 0x3674: 0x000a, 0x3675: 0x000a, + // Block 0xda, offset 0x3680 + 0x3680: 0x0002, 0x3681: 0x0002, 0x3682: 0x0002, 0x3683: 0x0002, 0x3684: 0x0002, 0x3685: 0x0002, + 0x3686: 0x0002, 0x3687: 0x0002, 0x3688: 0x0002, 0x3689: 0x0002, 0x368a: 0x0002, 0x368b: 0x000a, + 0x368c: 0x000a, + 0x36af: 0x000a, + // Block 0xdb, offset 0x36c0 + 0x36ea: 0x000a, 0x36eb: 0x000a, + // Block 0xdc, offset 0x3700 + 0x3720: 0x000a, 0x3721: 0x000a, 0x3722: 0x000a, 0x3723: 0x000a, + 0x3724: 0x000a, 0x3725: 0x000a, + // Block 0xdd, offset 0x3740 + 0x3740: 0x000a, 0x3741: 0x000a, 0x3742: 0x000a, 0x3743: 0x000a, 0x3744: 0x000a, 0x3745: 0x000a, + 0x3746: 0x000a, 0x3747: 0x000a, 0x3748: 0x000a, 0x3749: 0x000a, 0x374a: 0x000a, 0x374b: 0x000a, + 0x374c: 0x000a, 0x374d: 0x000a, 0x374e: 0x000a, 0x374f: 0x000a, 0x3750: 0x000a, 0x3751: 0x000a, + 0x3752: 0x000a, 0x3753: 0x000a, 0x3754: 0x000a, + 0x3760: 0x000a, 0x3761: 0x000a, 0x3762: 0x000a, 0x3763: 0x000a, + 0x3764: 0x000a, 0x3765: 0x000a, 0x3766: 0x000a, 0x3767: 0x000a, 0x3768: 0x000a, 0x3769: 0x000a, + 0x376a: 0x000a, 0x376b: 0x000a, 0x376c: 0x000a, + 0x3770: 0x000a, 0x3771: 0x000a, 0x3772: 0x000a, 0x3773: 0x000a, 0x3774: 0x000a, 0x3775: 0x000a, + 0x3776: 0x000a, 0x3777: 0x000a, 0x3778: 0x000a, 0x3779: 0x000a, + // Block 0xde, offset 0x3780 + 0x3780: 0x000a, 0x3781: 0x000a, 0x3782: 0x000a, 0x3783: 0x000a, 0x3784: 0x000a, 0x3785: 0x000a, + 0x3786: 0x000a, 0x3787: 0x000a, 0x3788: 0x000a, 0x3789: 0x000a, 0x378a: 0x000a, 0x378b: 0x000a, + 0x378c: 0x000a, 0x378d: 0x000a, 0x378e: 0x000a, 0x378f: 0x000a, 0x3790: 0x000a, 0x3791: 0x000a, + 0x3792: 0x000a, 0x3793: 0x000a, 0x3794: 0x000a, 0x3795: 0x000a, 0x3796: 0x000a, 0x3797: 0x000a, + 0x3798: 0x000a, + // Block 0xdf, offset 0x37c0 + 0x37c0: 0x000a, 0x37c1: 0x000a, 0x37c2: 0x000a, 0x37c3: 0x000a, 0x37c4: 0x000a, 0x37c5: 0x000a, + 0x37c6: 0x000a, 0x37c7: 0x000a, 0x37c8: 0x000a, 0x37c9: 0x000a, 0x37ca: 0x000a, 0x37cb: 0x000a, + 0x37d0: 0x000a, 0x37d1: 0x000a, + 0x37d2: 0x000a, 0x37d3: 0x000a, 0x37d4: 0x000a, 0x37d5: 0x000a, 0x37d6: 0x000a, 0x37d7: 0x000a, + 0x37d8: 0x000a, 0x37d9: 0x000a, 0x37da: 0x000a, 0x37db: 0x000a, 0x37dc: 0x000a, 0x37dd: 0x000a, + 0x37de: 0x000a, 0x37df: 0x000a, 0x37e0: 0x000a, 0x37e1: 0x000a, 0x37e2: 0x000a, 0x37e3: 0x000a, + 0x37e4: 0x000a, 0x37e5: 0x000a, 0x37e6: 0x000a, 0x37e7: 0x000a, 0x37e8: 0x000a, 0x37e9: 0x000a, + 0x37ea: 0x000a, 0x37eb: 0x000a, 0x37ec: 0x000a, 0x37ed: 0x000a, 0x37ee: 0x000a, 0x37ef: 0x000a, + 0x37f0: 0x000a, 0x37f1: 0x000a, 0x37f2: 0x000a, 0x37f3: 0x000a, 0x37f4: 0x000a, 0x37f5: 0x000a, + 0x37f6: 0x000a, 0x37f7: 0x000a, 0x37f8: 0x000a, 0x37f9: 0x000a, 0x37fa: 0x000a, 0x37fb: 0x000a, + 0x37fc: 0x000a, 0x37fd: 0x000a, 0x37fe: 0x000a, 0x37ff: 0x000a, + // Block 0xe0, offset 0x3800 + 0x3800: 0x000a, 0x3801: 0x000a, 0x3802: 0x000a, 0x3803: 0x000a, 0x3804: 0x000a, 0x3805: 0x000a, + 0x3806: 0x000a, 0x3807: 0x000a, + 0x3810: 0x000a, 0x3811: 0x000a, + 0x3812: 0x000a, 0x3813: 0x000a, 0x3814: 0x000a, 0x3815: 0x000a, 0x3816: 0x000a, 0x3817: 0x000a, + 0x3818: 0x000a, 0x3819: 0x000a, + 0x3820: 0x000a, 0x3821: 0x000a, 0x3822: 0x000a, 0x3823: 0x000a, + 0x3824: 0x000a, 0x3825: 0x000a, 0x3826: 0x000a, 0x3827: 0x000a, 0x3828: 0x000a, 0x3829: 0x000a, + 0x382a: 0x000a, 0x382b: 0x000a, 0x382c: 0x000a, 0x382d: 0x000a, 0x382e: 0x000a, 0x382f: 0x000a, + 0x3830: 0x000a, 0x3831: 0x000a, 0x3832: 0x000a, 0x3833: 0x000a, 0x3834: 0x000a, 0x3835: 0x000a, + 0x3836: 0x000a, 0x3837: 0x000a, 0x3838: 0x000a, 0x3839: 0x000a, 0x383a: 0x000a, 0x383b: 0x000a, + 0x383c: 0x000a, 0x383d: 0x000a, 0x383e: 0x000a, 0x383f: 0x000a, + // Block 0xe1, offset 0x3840 + 0x3840: 0x000a, 0x3841: 0x000a, 0x3842: 0x000a, 0x3843: 0x000a, 0x3844: 0x000a, 0x3845: 0x000a, + 0x3846: 0x000a, 0x3847: 0x000a, + 0x3850: 0x000a, 0x3851: 0x000a, + 0x3852: 0x000a, 0x3853: 0x000a, 0x3854: 0x000a, 0x3855: 0x000a, 0x3856: 0x000a, 0x3857: 0x000a, + 0x3858: 0x000a, 0x3859: 0x000a, 0x385a: 0x000a, 0x385b: 0x000a, 0x385c: 0x000a, 0x385d: 0x000a, + 0x385e: 0x000a, 0x385f: 0x000a, 0x3860: 0x000a, 0x3861: 0x000a, 0x3862: 0x000a, 0x3863: 0x000a, + 0x3864: 0x000a, 0x3865: 0x000a, 0x3866: 0x000a, 0x3867: 0x000a, 0x3868: 0x000a, 0x3869: 0x000a, + 0x386a: 0x000a, 0x386b: 0x000a, 0x386c: 0x000a, 0x386d: 0x000a, + // Block 0xe2, offset 0x3880 + 0x3880: 0x000a, 0x3881: 0x000a, 0x3882: 0x000a, 0x3883: 0x000a, 0x3884: 0x000a, 0x3885: 0x000a, + 0x3886: 0x000a, 0x3887: 0x000a, 0x3888: 0x000a, 0x3889: 0x000a, 0x388a: 0x000a, 0x388b: 0x000a, + 0x3890: 0x000a, 0x3891: 0x000a, + 0x3892: 0x000a, 0x3893: 0x000a, 0x3894: 0x000a, 0x3895: 0x000a, 0x3896: 0x000a, 0x3897: 0x000a, + 0x3898: 0x000a, 0x3899: 0x000a, 0x389a: 0x000a, 0x389b: 0x000a, 0x389c: 0x000a, 0x389d: 0x000a, + 0x389e: 0x000a, 0x389f: 0x000a, 0x38a0: 0x000a, 0x38a1: 0x000a, 0x38a2: 0x000a, 0x38a3: 0x000a, + 0x38a4: 0x000a, 0x38a5: 0x000a, 0x38a6: 0x000a, 0x38a7: 0x000a, 0x38a8: 0x000a, 0x38a9: 0x000a, + 0x38aa: 0x000a, 0x38ab: 0x000a, 0x38ac: 0x000a, 0x38ad: 0x000a, 0x38ae: 0x000a, 0x38af: 0x000a, + 0x38b0: 0x000a, 0x38b1: 0x000a, 0x38b2: 0x000a, 0x38b3: 0x000a, 0x38b4: 0x000a, 0x38b5: 0x000a, + 0x38b6: 0x000a, 0x38b7: 0x000a, 0x38b8: 0x000a, 0x38b9: 0x000a, 0x38ba: 0x000a, 0x38bb: 0x000a, + 0x38bc: 0x000a, 0x38bd: 0x000a, 0x38be: 0x000a, + // Block 0xe3, offset 0x38c0 + 0x38c0: 0x000a, 0x38c1: 0x000a, 0x38c2: 0x000a, 0x38c3: 0x000a, 0x38c4: 0x000a, 0x38c5: 0x000a, + 0x38c6: 0x000a, 0x38c7: 0x000a, 0x38c8: 0x000a, 0x38c9: 0x000a, 0x38ca: 0x000a, 0x38cb: 0x000a, + 0x38cc: 0x000a, 0x38cd: 0x000a, 0x38ce: 0x000a, 0x38cf: 0x000a, 0x38d0: 0x000a, 0x38d1: 0x000a, + 0x38d2: 0x000a, 0x38d3: 0x000a, 0x38d4: 0x000a, 0x38d5: 0x000a, 0x38d6: 0x000a, 0x38d7: 0x000a, + 0x38d8: 0x000a, 0x38d9: 0x000a, 0x38da: 0x000a, 0x38db: 0x000a, 0x38dc: 0x000a, 0x38dd: 0x000a, + 0x38de: 0x000a, 0x38df: 0x000a, 0x38e0: 0x000a, 0x38e1: 0x000a, 0x38e2: 0x000a, 0x38e3: 0x000a, + 0x38e4: 0x000a, 0x38e5: 0x000a, 0x38e6: 0x000a, 0x38e7: 0x000a, 0x38e8: 0x000a, 0x38e9: 0x000a, + 0x38ea: 0x000a, 0x38eb: 0x000a, 0x38ec: 0x000a, 0x38ed: 0x000a, 0x38ee: 0x000a, 0x38ef: 0x000a, + 0x38f0: 0x000a, 0x38f3: 0x000a, 0x38f4: 0x000a, 0x38f5: 0x000a, + 0x38f6: 0x000a, 0x38fa: 0x000a, + 0x38fc: 0x000a, 0x38fd: 0x000a, 0x38fe: 0x000a, 0x38ff: 0x000a, + // Block 0xe4, offset 0x3900 + 0x3900: 0x000a, 0x3901: 0x000a, 0x3902: 0x000a, 0x3903: 0x000a, 0x3904: 0x000a, 0x3905: 0x000a, + 0x3906: 0x000a, 0x3907: 0x000a, 0x3908: 0x000a, 0x3909: 0x000a, 0x390a: 0x000a, 0x390b: 0x000a, + 0x390c: 0x000a, 0x390d: 0x000a, 0x390e: 0x000a, 0x390f: 0x000a, 0x3910: 0x000a, 0x3911: 0x000a, + 0x3912: 0x000a, 0x3913: 0x000a, 0x3914: 0x000a, 0x3915: 0x000a, 0x3916: 0x000a, 0x3917: 0x000a, + 0x3918: 0x000a, 0x3919: 0x000a, 0x391a: 0x000a, 0x391b: 0x000a, 0x391c: 0x000a, 0x391d: 0x000a, + 0x391e: 0x000a, 0x391f: 0x000a, 0x3920: 0x000a, 0x3921: 0x000a, 0x3922: 0x000a, + 0x3930: 0x000a, 0x3931: 0x000a, 0x3932: 0x000a, 0x3933: 0x000a, 0x3934: 0x000a, 0x3935: 0x000a, + 0x3936: 0x000a, 0x3937: 0x000a, 0x3938: 0x000a, 0x3939: 0x000a, + // Block 0xe5, offset 0x3940 + 0x3940: 0x000a, 0x3941: 0x000a, 0x3942: 0x000a, + 0x3950: 0x000a, 0x3951: 0x000a, + 0x3952: 0x000a, 0x3953: 0x000a, 0x3954: 0x000a, 0x3955: 0x000a, 0x3956: 0x000a, 0x3957: 0x000a, + 0x3958: 0x000a, 0x3959: 0x000a, 0x395a: 0x000a, 0x395b: 0x000a, 0x395c: 0x000a, 0x395d: 0x000a, + 0x395e: 0x000a, 0x395f: 0x000a, 0x3960: 0x000a, 0x3961: 0x000a, 0x3962: 0x000a, 0x3963: 0x000a, + 0x3964: 0x000a, 0x3965: 0x000a, 0x3966: 0x000a, 0x3967: 0x000a, 0x3968: 0x000a, 0x3969: 0x000a, + 0x396a: 0x000a, 0x396b: 0x000a, 0x396c: 0x000a, 0x396d: 0x000a, 0x396e: 0x000a, 0x396f: 0x000a, + 0x3970: 0x000a, 0x3971: 0x000a, 0x3972: 0x000a, 0x3973: 0x000a, 0x3974: 0x000a, 0x3975: 0x000a, + 0x3976: 0x000a, 0x3977: 0x000a, 0x3978: 0x000a, 0x3979: 0x000a, 0x397a: 0x000a, 0x397b: 0x000a, + 0x397c: 0x000a, 0x397d: 0x000a, 0x397e: 0x000a, 0x397f: 0x000a, + // Block 0xe6, offset 0x3980 + 0x39a0: 0x000a, 0x39a1: 0x000a, 0x39a2: 0x000a, 0x39a3: 0x000a, + 0x39a4: 0x000a, 0x39a5: 0x000a, 0x39a6: 0x000a, 0x39a7: 0x000a, 0x39a8: 0x000a, 0x39a9: 0x000a, + 0x39aa: 0x000a, 0x39ab: 0x000a, 0x39ac: 0x000a, 0x39ad: 0x000a, + // Block 0xe7, offset 0x39c0 + 0x39fe: 0x000b, 0x39ff: 0x000b, + // Block 0xe8, offset 0x3a00 + 0x3a00: 0x000b, 0x3a01: 0x000b, 0x3a02: 0x000b, 0x3a03: 0x000b, 0x3a04: 0x000b, 0x3a05: 0x000b, + 0x3a06: 0x000b, 0x3a07: 0x000b, 0x3a08: 0x000b, 0x3a09: 0x000b, 0x3a0a: 0x000b, 0x3a0b: 0x000b, + 0x3a0c: 0x000b, 0x3a0d: 0x000b, 0x3a0e: 0x000b, 0x3a0f: 0x000b, 0x3a10: 0x000b, 0x3a11: 0x000b, + 0x3a12: 0x000b, 0x3a13: 0x000b, 0x3a14: 0x000b, 0x3a15: 0x000b, 0x3a16: 0x000b, 0x3a17: 0x000b, + 0x3a18: 0x000b, 0x3a19: 0x000b, 0x3a1a: 0x000b, 0x3a1b: 0x000b, 0x3a1c: 0x000b, 0x3a1d: 0x000b, + 0x3a1e: 0x000b, 0x3a1f: 0x000b, 0x3a20: 0x000b, 0x3a21: 0x000b, 0x3a22: 0x000b, 0x3a23: 0x000b, + 0x3a24: 0x000b, 0x3a25: 0x000b, 0x3a26: 0x000b, 0x3a27: 0x000b, 0x3a28: 0x000b, 0x3a29: 0x000b, + 0x3a2a: 0x000b, 0x3a2b: 0x000b, 0x3a2c: 0x000b, 0x3a2d: 0x000b, 0x3a2e: 0x000b, 0x3a2f: 0x000b, + 0x3a30: 0x000b, 0x3a31: 0x000b, 0x3a32: 0x000b, 0x3a33: 0x000b, 0x3a34: 0x000b, 0x3a35: 0x000b, + 0x3a36: 0x000b, 0x3a37: 0x000b, 0x3a38: 0x000b, 0x3a39: 0x000b, 0x3a3a: 0x000b, 0x3a3b: 0x000b, + 0x3a3c: 0x000b, 0x3a3d: 0x000b, 0x3a3e: 0x000b, 0x3a3f: 0x000b, + // Block 0xe9, offset 0x3a40 + 0x3a40: 0x000c, 0x3a41: 0x000c, 0x3a42: 0x000c, 0x3a43: 0x000c, 0x3a44: 0x000c, 0x3a45: 0x000c, + 0x3a46: 0x000c, 0x3a47: 0x000c, 0x3a48: 0x000c, 0x3a49: 0x000c, 0x3a4a: 0x000c, 0x3a4b: 0x000c, + 0x3a4c: 0x000c, 0x3a4d: 0x000c, 0x3a4e: 0x000c, 0x3a4f: 0x000c, 0x3a50: 0x000c, 0x3a51: 0x000c, + 0x3a52: 0x000c, 0x3a53: 0x000c, 0x3a54: 0x000c, 0x3a55: 0x000c, 0x3a56: 0x000c, 0x3a57: 0x000c, + 0x3a58: 0x000c, 0x3a59: 0x000c, 0x3a5a: 0x000c, 0x3a5b: 0x000c, 0x3a5c: 0x000c, 0x3a5d: 0x000c, + 0x3a5e: 0x000c, 0x3a5f: 0x000c, 0x3a60: 0x000c, 0x3a61: 0x000c, 0x3a62: 0x000c, 0x3a63: 0x000c, + 0x3a64: 0x000c, 0x3a65: 0x000c, 0x3a66: 0x000c, 0x3a67: 0x000c, 0x3a68: 0x000c, 0x3a69: 0x000c, + 0x3a6a: 0x000c, 0x3a6b: 0x000c, 0x3a6c: 0x000c, 0x3a6d: 0x000c, 0x3a6e: 0x000c, 0x3a6f: 0x000c, + 0x3a70: 0x000b, 0x3a71: 0x000b, 0x3a72: 0x000b, 0x3a73: 0x000b, 0x3a74: 0x000b, 0x3a75: 0x000b, + 0x3a76: 0x000b, 0x3a77: 0x000b, 0x3a78: 0x000b, 0x3a79: 0x000b, 0x3a7a: 0x000b, 0x3a7b: 0x000b, + 0x3a7c: 0x000b, 0x3a7d: 0x000b, 0x3a7e: 0x000b, 0x3a7f: 0x000b, +} + +// bidiIndex: 24 blocks, 1536 entries, 1536 bytes +// Block 0 is the zero block. +var bidiIndex = [1536]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x02, + 0xca: 0x03, 0xcb: 0x04, 0xcc: 0x05, 0xcd: 0x06, 0xce: 0x07, 0xcf: 0x08, + 0xd2: 0x09, 0xd6: 0x0a, 0xd7: 0x0b, + 0xd8: 0x0c, 0xd9: 0x0d, 0xda: 0x0e, 0xdb: 0x0f, 0xdc: 0x10, 0xdd: 0x11, 0xde: 0x12, 0xdf: 0x13, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, + 0xea: 0x07, 0xef: 0x08, + 0xf0: 0x11, 0xf1: 0x12, 0xf2: 0x12, 0xf3: 0x14, 0xf4: 0x15, + // Block 0x4, offset 0x100 + 0x120: 0x14, 0x121: 0x15, 0x122: 0x16, 0x123: 0x17, 0x124: 0x18, 0x125: 0x19, 0x126: 0x1a, 0x127: 0x1b, + 0x128: 0x1c, 0x129: 0x1d, 0x12a: 0x1c, 0x12b: 0x1e, 0x12c: 0x1f, 0x12d: 0x20, 0x12e: 0x21, 0x12f: 0x22, + 0x130: 0x23, 0x131: 0x24, 0x132: 0x1a, 0x133: 0x25, 0x134: 0x26, 0x135: 0x27, 0x137: 0x28, + 0x138: 0x29, 0x139: 0x2a, 0x13a: 0x2b, 0x13b: 0x2c, 0x13c: 0x2d, 0x13d: 0x2e, 0x13e: 0x2f, 0x13f: 0x30, + // Block 0x5, offset 0x140 + 0x140: 0x31, 0x141: 0x32, 0x142: 0x33, + 0x14d: 0x34, 0x14e: 0x35, + 0x150: 0x36, + 0x15a: 0x37, 0x15c: 0x38, 0x15d: 0x39, 0x15e: 0x3a, 0x15f: 0x3b, + 0x160: 0x3c, 0x162: 0x3d, 0x164: 0x3e, 0x165: 0x3f, 0x167: 0x40, + 0x168: 0x41, 0x169: 0x42, 0x16a: 0x43, 0x16c: 0x44, 0x16d: 0x45, 0x16e: 0x46, 0x16f: 0x47, + 0x170: 0x48, 0x173: 0x49, 0x177: 0x4a, + 0x17e: 0x4b, 0x17f: 0x4c, + // Block 0x6, offset 0x180 + 0x180: 0x4d, 0x181: 0x4e, 0x182: 0x4f, 0x183: 0x50, 0x184: 0x51, 0x185: 0x52, 0x186: 0x53, 0x187: 0x54, + 0x188: 0x55, 0x189: 0x54, 0x18a: 0x54, 0x18b: 0x54, 0x18c: 0x56, 0x18d: 0x57, 0x18e: 0x58, 0x18f: 0x54, + 0x190: 0x59, 0x191: 0x5a, 0x192: 0x5b, 0x193: 0x5c, 0x194: 0x54, 0x195: 0x54, 0x196: 0x54, 0x197: 0x54, + 0x198: 0x54, 0x199: 0x54, 0x19a: 0x5d, 0x19b: 0x54, 0x19c: 0x54, 0x19d: 0x5e, 0x19e: 0x54, 0x19f: 0x5f, + 0x1a4: 0x54, 0x1a5: 0x54, 0x1a6: 0x60, 0x1a7: 0x61, + 0x1a8: 0x54, 0x1a9: 0x54, 0x1aa: 0x54, 0x1ab: 0x54, 0x1ac: 0x54, 0x1ad: 0x62, 0x1ae: 0x63, 0x1af: 0x64, + 0x1b3: 0x65, 0x1b5: 0x66, 0x1b7: 0x67, + 0x1b8: 0x68, 0x1b9: 0x69, 0x1ba: 0x6a, 0x1bb: 0x6b, 0x1bc: 0x54, 0x1bd: 0x54, 0x1be: 0x54, 0x1bf: 0x6c, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x6d, 0x1c2: 0x6e, 0x1c3: 0x6f, 0x1c7: 0x70, + 0x1c8: 0x71, 0x1c9: 0x72, 0x1ca: 0x73, 0x1cb: 0x74, 0x1cd: 0x75, 0x1cf: 0x76, + // Block 0x8, offset 0x200 + 0x237: 0x54, + // Block 0x9, offset 0x240 + 0x252: 0x77, 0x253: 0x78, + 0x258: 0x79, 0x259: 0x7a, 0x25a: 0x7b, 0x25b: 0x7c, 0x25c: 0x7d, 0x25e: 0x7e, + 0x260: 0x7f, 0x261: 0x80, 0x263: 0x81, 0x264: 0x82, 0x265: 0x83, 0x266: 0x84, 0x267: 0x85, + 0x268: 0x86, 0x269: 0x87, 0x26a: 0x88, 0x26b: 0x89, 0x26f: 0x8a, + // Block 0xa, offset 0x280 + 0x2ac: 0x8b, 0x2ad: 0x8c, 0x2ae: 0x0e, 0x2af: 0x0e, + 0x2b0: 0x0e, 0x2b1: 0x0e, 0x2b2: 0x0e, 0x2b3: 0x0e, 0x2b4: 0x8d, 0x2b5: 0x0e, 0x2b6: 0x0e, 0x2b7: 0x8e, + 0x2b8: 0x8f, 0x2b9: 0x90, 0x2ba: 0x0e, 0x2bb: 0x91, 0x2bc: 0x92, 0x2bd: 0x93, 0x2bf: 0x94, + // Block 0xb, offset 0x2c0 + 0x2c4: 0x95, 0x2c5: 0x54, 0x2c6: 0x96, 0x2c7: 0x97, + 0x2cb: 0x98, 0x2cd: 0x99, + 0x2e0: 0x9a, 0x2e1: 0x9a, 0x2e2: 0x9a, 0x2e3: 0x9a, 0x2e4: 0x9b, 0x2e5: 0x9a, 0x2e6: 0x9a, 0x2e7: 0x9a, + 0x2e8: 0x9c, 0x2e9: 0x9a, 0x2ea: 0x9a, 0x2eb: 0x9d, 0x2ec: 0x9e, 0x2ed: 0x9a, 0x2ee: 0x9a, 0x2ef: 0x9a, + 0x2f0: 0x9a, 0x2f1: 0x9a, 0x2f2: 0x9a, 0x2f3: 0x9a, 0x2f4: 0x9f, 0x2f5: 0x9a, 0x2f6: 0x9a, 0x2f7: 0x9a, + 0x2f8: 0x9a, 0x2f9: 0xa0, 0x2fa: 0x9a, 0x2fb: 0x9a, 0x2fc: 0xa1, 0x2fd: 0xa2, 0x2fe: 0x9a, 0x2ff: 0x9a, + // Block 0xc, offset 0x300 + 0x300: 0xa3, 0x301: 0xa4, 0x302: 0xa5, 0x304: 0xa6, 0x305: 0xa7, 0x306: 0xa8, 0x307: 0xa9, + 0x308: 0xaa, 0x30b: 0xab, 0x30c: 0x26, 0x30d: 0xac, + 0x310: 0xad, 0x311: 0xae, 0x312: 0xaf, 0x313: 0xb0, 0x316: 0xb1, 0x317: 0xb2, + 0x318: 0xb3, 0x319: 0xb4, 0x31a: 0xb5, 0x31c: 0xb6, + 0x320: 0xb7, + 0x328: 0xb8, 0x329: 0xb9, 0x32a: 0xba, + 0x330: 0xbb, 0x332: 0xbc, 0x334: 0xbd, 0x335: 0xbe, 0x336: 0xbf, + 0x33b: 0xc0, + // Block 0xd, offset 0x340 + 0x36b: 0xc1, 0x36c: 0xc2, + 0x37e: 0xc3, + // Block 0xe, offset 0x380 + 0x3b2: 0xc4, + // Block 0xf, offset 0x3c0 + 0x3c5: 0xc5, 0x3c6: 0xc6, + 0x3c8: 0x54, 0x3c9: 0xc7, 0x3cc: 0x54, 0x3cd: 0xc8, + 0x3db: 0xc9, 0x3dc: 0xca, 0x3dd: 0xcb, 0x3de: 0xcc, 0x3df: 0xcd, + 0x3e8: 0xce, 0x3e9: 0xcf, 0x3ea: 0xd0, + // Block 0x10, offset 0x400 + 0x400: 0xd1, + 0x420: 0x9a, 0x421: 0x9a, 0x422: 0x9a, 0x423: 0xd2, 0x424: 0x9a, 0x425: 0xd3, 0x426: 0x9a, 0x427: 0x9a, + 0x428: 0x9a, 0x429: 0x9a, 0x42a: 0x9a, 0x42b: 0x9a, 0x42c: 0x9a, 0x42d: 0x9a, 0x42e: 0x9a, 0x42f: 0x9a, + 0x430: 0x9a, 0x431: 0xa1, 0x432: 0x0e, 0x433: 0x9a, 0x434: 0x9a, 0x435: 0x9a, 0x436: 0x9a, 0x437: 0x9a, + 0x438: 0x0e, 0x439: 0x0e, 0x43a: 0x0e, 0x43b: 0xd4, 0x43c: 0x9a, 0x43d: 0x9a, 0x43e: 0x9a, 0x43f: 0x9a, + // Block 0x11, offset 0x440 + 0x440: 0xd5, 0x441: 0x54, 0x442: 0xd6, 0x443: 0xd7, 0x444: 0xd8, 0x445: 0xd9, + 0x449: 0xda, 0x44c: 0x54, 0x44d: 0x54, 0x44e: 0x54, 0x44f: 0x54, + 0x450: 0x54, 0x451: 0x54, 0x452: 0x54, 0x453: 0x54, 0x454: 0x54, 0x455: 0x54, 0x456: 0x54, 0x457: 0x54, + 0x458: 0x54, 0x459: 0x54, 0x45a: 0x54, 0x45b: 0xdb, 0x45c: 0x54, 0x45d: 0x6b, 0x45e: 0x54, 0x45f: 0xdc, + 0x460: 0xdd, 0x461: 0xde, 0x462: 0xdf, 0x464: 0xe0, 0x465: 0xe1, 0x466: 0xe2, 0x467: 0xe3, + 0x469: 0xe4, + 0x47f: 0xe5, + // Block 0x12, offset 0x480 + 0x4bf: 0xe5, + // Block 0x13, offset 0x4c0 + 0x4d0: 0x09, 0x4d1: 0x0a, 0x4d6: 0x0b, + 0x4db: 0x0c, 0x4dd: 0x0d, 0x4de: 0x0e, 0x4df: 0x0f, + 0x4ef: 0x10, + 0x4ff: 0x10, + // Block 0x14, offset 0x500 + 0x50f: 0x10, + 0x51f: 0x10, + 0x52f: 0x10, + 0x53f: 0x10, + // Block 0x15, offset 0x540 + 0x540: 0xe6, 0x541: 0xe6, 0x542: 0xe6, 0x543: 0xe6, 0x544: 0x05, 0x545: 0x05, 0x546: 0x05, 0x547: 0xe7, + 0x548: 0xe6, 0x549: 0xe6, 0x54a: 0xe6, 0x54b: 0xe6, 0x54c: 0xe6, 0x54d: 0xe6, 0x54e: 0xe6, 0x54f: 0xe6, + 0x550: 0xe6, 0x551: 0xe6, 0x552: 0xe6, 0x553: 0xe6, 0x554: 0xe6, 0x555: 0xe6, 0x556: 0xe6, 0x557: 0xe6, + 0x558: 0xe6, 0x559: 0xe6, 0x55a: 0xe6, 0x55b: 0xe6, 0x55c: 0xe6, 0x55d: 0xe6, 0x55e: 0xe6, 0x55f: 0xe6, + 0x560: 0xe6, 0x561: 0xe6, 0x562: 0xe6, 0x563: 0xe6, 0x564: 0xe6, 0x565: 0xe6, 0x566: 0xe6, 0x567: 0xe6, + 0x568: 0xe6, 0x569: 0xe6, 0x56a: 0xe6, 0x56b: 0xe6, 0x56c: 0xe6, 0x56d: 0xe6, 0x56e: 0xe6, 0x56f: 0xe6, + 0x570: 0xe6, 0x571: 0xe6, 0x572: 0xe6, 0x573: 0xe6, 0x574: 0xe6, 0x575: 0xe6, 0x576: 0xe6, 0x577: 0xe6, + 0x578: 0xe6, 0x579: 0xe6, 0x57a: 0xe6, 0x57b: 0xe6, 0x57c: 0xe6, 0x57d: 0xe6, 0x57e: 0xe6, 0x57f: 0xe6, + // Block 0x16, offset 0x580 + 0x58f: 0x10, + 0x59f: 0x10, + 0x5a0: 0x13, + 0x5af: 0x10, + 0x5bf: 0x10, + // Block 0x17, offset 0x5c0 + 0x5cf: 0x10, +} + +// Total table size 16568 bytes (16KiB); checksum: F50EF68C diff --git a/vendor/golang.org/x/text/unicode/norm/composition.go b/vendor/golang.org/x/text/unicode/norm/composition.go index bab4c5de..e2087bce 100644 --- a/vendor/golang.org/x/text/unicode/norm/composition.go +++ b/vendor/golang.org/x/text/unicode/norm/composition.go @@ -407,7 +407,7 @@ func decomposeHangul(buf []byte, r rune) int { // decomposeHangul algorithmically decomposes a Hangul rune into // its Jamo components. -// See http://unicode.org/reports/tr15/#Hangul for details on decomposing Hangul. +// See https://unicode.org/reports/tr15/#Hangul for details on decomposing Hangul. func (rb *reorderBuffer) decomposeHangul(r rune) { r -= hangulBase x := r % jamoTCount @@ -420,7 +420,7 @@ func (rb *reorderBuffer) decomposeHangul(r rune) { } // combineHangul algorithmically combines Jamo character components into Hangul. -// See http://unicode.org/reports/tr15/#Hangul for details on combining Hangul. +// See https://unicode.org/reports/tr15/#Hangul for details on combining Hangul. func (rb *reorderBuffer) combineHangul(s, i, k int) { b := rb.rune[:] bn := rb.nrune @@ -461,6 +461,10 @@ func (rb *reorderBuffer) combineHangul(s, i, k int) { // It should only be used to recompose a single segment, as it will not // handle alternations between Hangul and non-Hangul characters correctly. func (rb *reorderBuffer) compose() { + // Lazily load the map used by the combine func below, but do + // it outside of the loop. + recompMapOnce.Do(buildRecompMap) + // UAX #15, section X5 , including Corrigendum #5 // "In any character sequence beginning with starter S, a character C is // blocked from S if and only if there is some character B between S diff --git a/vendor/golang.org/x/text/unicode/norm/forminfo.go b/vendor/golang.org/x/text/unicode/norm/forminfo.go index e67e7655..526c7033 100644 --- a/vendor/golang.org/x/text/unicode/norm/forminfo.go +++ b/vendor/golang.org/x/text/unicode/norm/forminfo.go @@ -4,6 +4,8 @@ package norm +import "encoding/binary" + // This file contains Form-specific logic and wrappers for data in tables.go. // Rune info is stored in a separate trie per composing form. A composing form @@ -178,6 +180,17 @@ func (p Properties) TrailCCC() uint8 { return ccc[p.tccc] } +func buildRecompMap() { + recompMap = make(map[uint32]rune, len(recompMapPacked)/8) + var buf [8]byte + for i := 0; i < len(recompMapPacked); i += 8 { + copy(buf[:], recompMapPacked[i:i+8]) + key := binary.BigEndian.Uint32(buf[:4]) + val := binary.BigEndian.Uint32(buf[4:]) + recompMap[key] = rune(val) + } +} + // Recomposition // We use 32-bit keys instead of 64-bit for the two codepoint keys. // This clips off the bits of three entries, but we know this will not @@ -186,8 +199,14 @@ func (p Properties) TrailCCC() uint8 { // Note that the recomposition map for NFC and NFKC are identical. // combine returns the combined rune or 0 if it doesn't exist. +// +// The caller is responsible for calling +// recompMapOnce.Do(buildRecompMap) sometime before this is called. func combine(a, b rune) rune { key := uint32(uint16(a))<<16 + uint32(uint16(b)) + if recompMap == nil { + panic("caller error") // see func comment + } return recompMap[key] } diff --git a/vendor/golang.org/x/text/unicode/norm/iter.go b/vendor/golang.org/x/text/unicode/norm/iter.go index ce17f96c..417c6b26 100644 --- a/vendor/golang.org/x/text/unicode/norm/iter.go +++ b/vendor/golang.org/x/text/unicode/norm/iter.go @@ -128,8 +128,9 @@ func (i *Iter) Next() []byte { func nextASCIIBytes(i *Iter) []byte { p := i.p + 1 if p >= i.rb.nsrc { + p0 := i.p i.setDone() - return i.rb.src.bytes[i.p:p] + return i.rb.src.bytes[p0:p] } if i.rb.src.bytes[p] < utf8.RuneSelf { p0 := i.p diff --git a/vendor/golang.org/x/text/unicode/norm/maketables.go b/vendor/golang.org/x/text/unicode/norm/maketables.go index 338c395e..30a3aa93 100644 --- a/vendor/golang.org/x/text/unicode/norm/maketables.go +++ b/vendor/golang.org/x/text/unicode/norm/maketables.go @@ -12,6 +12,7 @@ package main import ( "bytes" + "encoding/binary" "flag" "fmt" "io" @@ -261,7 +262,7 @@ func compactCCC() { // CompositionExclusions.txt has form: // 0958 # ... -// See http://unicode.org/reports/tr44/ for full explanation +// See https://unicode.org/reports/tr44/ for full explanation func loadCompositionExclusions() { f := gen.OpenUCDFile("CompositionExclusions.txt") defer f.Close() @@ -735,6 +736,8 @@ func makeTables() { max = n } } + fmt.Fprintln(w, `import "sync"`) + fmt.Fprintln(w) fmt.Fprintln(w, "const (") fmt.Fprintln(w, "\t// Version is the Unicode edition from which the tables are derived.") @@ -782,16 +785,23 @@ func makeTables() { sz := nrentries * 8 size += sz fmt.Fprintf(w, "// recompMap: %d bytes (entries only)\n", sz) - fmt.Fprintln(w, "var recompMap = map[uint32]rune{") + fmt.Fprintln(w, "var recompMap map[uint32]rune") + fmt.Fprintln(w, "var recompMapOnce sync.Once\n") + fmt.Fprintln(w, `const recompMapPacked = "" +`) + var buf [8]byte for i, c := range chars { f := c.forms[FCanonical] d := f.decomp if !f.isOneWay && len(d) > 0 { key := uint32(uint16(d[0]))<<16 + uint32(uint16(d[1])) - fmt.Fprintf(w, "0x%.8X: 0x%.4X,\n", key, i) + binary.BigEndian.PutUint32(buf[:4], key) + binary.BigEndian.PutUint32(buf[4:], uint32(i)) + fmt.Fprintf(w, "\t\t%q + // 0x%.8X: 0x%.8X\n", string(buf[:]), key, uint32(i)) } } - fmt.Fprintf(w, "}\n\n") + // hack so we don't have to special case the trailing plus sign + fmt.Fprintf(w, ` ""`) + fmt.Fprintln(w) } fmt.Fprintf(w, "// Total size of tables: %dKB (%d bytes)\n", (size+512)/1024, size) @@ -857,7 +867,7 @@ func verifyComputed() { // DerivedNormalizationProps.txt has form: // 00C0..00C5 ; NFD_QC; N # ... // 0374 ; NFD_QC; N # ... -// See http://unicode.org/reports/tr44/ for full explanation +// See https://unicode.org/reports/tr44/ for full explanation func testDerived() { f := gen.OpenUCDFile("DerivedNormalizationProps.txt") defer f.Close() diff --git a/vendor/golang.org/x/text/unicode/norm/normalize.go b/vendor/golang.org/x/text/unicode/norm/normalize.go index e28ac641..95efcf26 100644 --- a/vendor/golang.org/x/text/unicode/norm/normalize.go +++ b/vendor/golang.org/x/text/unicode/norm/normalize.go @@ -29,8 +29,8 @@ import ( // proceed independently on both sides: // f(x) == append(f(x[0:n]), f(x[n:])...) // -// References: http://unicode.org/reports/tr15/ and -// http://unicode.org/notes/tn5/. +// References: https://unicode.org/reports/tr15/ and +// https://unicode.org/notes/tn5/. type Form int const ( diff --git a/vendor/golang.org/x/text/unicode/norm/readwriter.go b/vendor/golang.org/x/text/unicode/norm/readwriter.go index d926ee90..b38096f5 100644 --- a/vendor/golang.org/x/text/unicode/norm/readwriter.go +++ b/vendor/golang.org/x/text/unicode/norm/readwriter.go @@ -60,8 +60,8 @@ func (w *normWriter) Close() error { } // Writer returns a new writer that implements Write(b) -// by writing f(b) to w. The returned writer may use an -// an internal buffer to maintain state across Write calls. +// by writing f(b) to w. The returned writer may use an +// internal buffer to maintain state across Write calls. // Calling its Close method writes any buffered data to w. func (f Form) Writer(w io.Writer) io.WriteCloser { wr := &normWriter{rb: reorderBuffer{}, w: w} diff --git a/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go index 44dd3978..26fbd55a 100644 --- a/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go +++ b/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go @@ -1,9 +1,11 @@ // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. -// +build go1.10 +// +build go1.10,!go1.13 package norm +import "sync" + const ( // Version is the Unicode edition from which the tables are derived. Version = "10.0.0" @@ -6707,947 +6709,949 @@ var nfkcSparseValues = [869]valueRange{ } // recompMap: 7520 bytes (entries only) -var recompMap = map[uint32]rune{ - 0x00410300: 0x00C0, - 0x00410301: 0x00C1, - 0x00410302: 0x00C2, - 0x00410303: 0x00C3, - 0x00410308: 0x00C4, - 0x0041030A: 0x00C5, - 0x00430327: 0x00C7, - 0x00450300: 0x00C8, - 0x00450301: 0x00C9, - 0x00450302: 0x00CA, - 0x00450308: 0x00CB, - 0x00490300: 0x00CC, - 0x00490301: 0x00CD, - 0x00490302: 0x00CE, - 0x00490308: 0x00CF, - 0x004E0303: 0x00D1, - 0x004F0300: 0x00D2, - 0x004F0301: 0x00D3, - 0x004F0302: 0x00D4, - 0x004F0303: 0x00D5, - 0x004F0308: 0x00D6, - 0x00550300: 0x00D9, - 0x00550301: 0x00DA, - 0x00550302: 0x00DB, - 0x00550308: 0x00DC, - 0x00590301: 0x00DD, - 0x00610300: 0x00E0, - 0x00610301: 0x00E1, - 0x00610302: 0x00E2, - 0x00610303: 0x00E3, - 0x00610308: 0x00E4, - 0x0061030A: 0x00E5, - 0x00630327: 0x00E7, - 0x00650300: 0x00E8, - 0x00650301: 0x00E9, - 0x00650302: 0x00EA, - 0x00650308: 0x00EB, - 0x00690300: 0x00EC, - 0x00690301: 0x00ED, - 0x00690302: 0x00EE, - 0x00690308: 0x00EF, - 0x006E0303: 0x00F1, - 0x006F0300: 0x00F2, - 0x006F0301: 0x00F3, - 0x006F0302: 0x00F4, - 0x006F0303: 0x00F5, - 0x006F0308: 0x00F6, - 0x00750300: 0x00F9, - 0x00750301: 0x00FA, - 0x00750302: 0x00FB, - 0x00750308: 0x00FC, - 0x00790301: 0x00FD, - 0x00790308: 0x00FF, - 0x00410304: 0x0100, - 0x00610304: 0x0101, - 0x00410306: 0x0102, - 0x00610306: 0x0103, - 0x00410328: 0x0104, - 0x00610328: 0x0105, - 0x00430301: 0x0106, - 0x00630301: 0x0107, - 0x00430302: 0x0108, - 0x00630302: 0x0109, - 0x00430307: 0x010A, - 0x00630307: 0x010B, - 0x0043030C: 0x010C, - 0x0063030C: 0x010D, - 0x0044030C: 0x010E, - 0x0064030C: 0x010F, - 0x00450304: 0x0112, - 0x00650304: 0x0113, - 0x00450306: 0x0114, - 0x00650306: 0x0115, - 0x00450307: 0x0116, - 0x00650307: 0x0117, - 0x00450328: 0x0118, - 0x00650328: 0x0119, - 0x0045030C: 0x011A, - 0x0065030C: 0x011B, - 0x00470302: 0x011C, - 0x00670302: 0x011D, - 0x00470306: 0x011E, - 0x00670306: 0x011F, - 0x00470307: 0x0120, - 0x00670307: 0x0121, - 0x00470327: 0x0122, - 0x00670327: 0x0123, - 0x00480302: 0x0124, - 0x00680302: 0x0125, - 0x00490303: 0x0128, - 0x00690303: 0x0129, - 0x00490304: 0x012A, - 0x00690304: 0x012B, - 0x00490306: 0x012C, - 0x00690306: 0x012D, - 0x00490328: 0x012E, - 0x00690328: 0x012F, - 0x00490307: 0x0130, - 0x004A0302: 0x0134, - 0x006A0302: 0x0135, - 0x004B0327: 0x0136, - 0x006B0327: 0x0137, - 0x004C0301: 0x0139, - 0x006C0301: 0x013A, - 0x004C0327: 0x013B, - 0x006C0327: 0x013C, - 0x004C030C: 0x013D, - 0x006C030C: 0x013E, - 0x004E0301: 0x0143, - 0x006E0301: 0x0144, - 0x004E0327: 0x0145, - 0x006E0327: 0x0146, - 0x004E030C: 0x0147, - 0x006E030C: 0x0148, - 0x004F0304: 0x014C, - 0x006F0304: 0x014D, - 0x004F0306: 0x014E, - 0x006F0306: 0x014F, - 0x004F030B: 0x0150, - 0x006F030B: 0x0151, - 0x00520301: 0x0154, - 0x00720301: 0x0155, - 0x00520327: 0x0156, - 0x00720327: 0x0157, - 0x0052030C: 0x0158, - 0x0072030C: 0x0159, - 0x00530301: 0x015A, - 0x00730301: 0x015B, - 0x00530302: 0x015C, - 0x00730302: 0x015D, - 0x00530327: 0x015E, - 0x00730327: 0x015F, - 0x0053030C: 0x0160, - 0x0073030C: 0x0161, - 0x00540327: 0x0162, - 0x00740327: 0x0163, - 0x0054030C: 0x0164, - 0x0074030C: 0x0165, - 0x00550303: 0x0168, - 0x00750303: 0x0169, - 0x00550304: 0x016A, - 0x00750304: 0x016B, - 0x00550306: 0x016C, - 0x00750306: 0x016D, - 0x0055030A: 0x016E, - 0x0075030A: 0x016F, - 0x0055030B: 0x0170, - 0x0075030B: 0x0171, - 0x00550328: 0x0172, - 0x00750328: 0x0173, - 0x00570302: 0x0174, - 0x00770302: 0x0175, - 0x00590302: 0x0176, - 0x00790302: 0x0177, - 0x00590308: 0x0178, - 0x005A0301: 0x0179, - 0x007A0301: 0x017A, - 0x005A0307: 0x017B, - 0x007A0307: 0x017C, - 0x005A030C: 0x017D, - 0x007A030C: 0x017E, - 0x004F031B: 0x01A0, - 0x006F031B: 0x01A1, - 0x0055031B: 0x01AF, - 0x0075031B: 0x01B0, - 0x0041030C: 0x01CD, - 0x0061030C: 0x01CE, - 0x0049030C: 0x01CF, - 0x0069030C: 0x01D0, - 0x004F030C: 0x01D1, - 0x006F030C: 0x01D2, - 0x0055030C: 0x01D3, - 0x0075030C: 0x01D4, - 0x00DC0304: 0x01D5, - 0x00FC0304: 0x01D6, - 0x00DC0301: 0x01D7, - 0x00FC0301: 0x01D8, - 0x00DC030C: 0x01D9, - 0x00FC030C: 0x01DA, - 0x00DC0300: 0x01DB, - 0x00FC0300: 0x01DC, - 0x00C40304: 0x01DE, - 0x00E40304: 0x01DF, - 0x02260304: 0x01E0, - 0x02270304: 0x01E1, - 0x00C60304: 0x01E2, - 0x00E60304: 0x01E3, - 0x0047030C: 0x01E6, - 0x0067030C: 0x01E7, - 0x004B030C: 0x01E8, - 0x006B030C: 0x01E9, - 0x004F0328: 0x01EA, - 0x006F0328: 0x01EB, - 0x01EA0304: 0x01EC, - 0x01EB0304: 0x01ED, - 0x01B7030C: 0x01EE, - 0x0292030C: 0x01EF, - 0x006A030C: 0x01F0, - 0x00470301: 0x01F4, - 0x00670301: 0x01F5, - 0x004E0300: 0x01F8, - 0x006E0300: 0x01F9, - 0x00C50301: 0x01FA, - 0x00E50301: 0x01FB, - 0x00C60301: 0x01FC, - 0x00E60301: 0x01FD, - 0x00D80301: 0x01FE, - 0x00F80301: 0x01FF, - 0x0041030F: 0x0200, - 0x0061030F: 0x0201, - 0x00410311: 0x0202, - 0x00610311: 0x0203, - 0x0045030F: 0x0204, - 0x0065030F: 0x0205, - 0x00450311: 0x0206, - 0x00650311: 0x0207, - 0x0049030F: 0x0208, - 0x0069030F: 0x0209, - 0x00490311: 0x020A, - 0x00690311: 0x020B, - 0x004F030F: 0x020C, - 0x006F030F: 0x020D, - 0x004F0311: 0x020E, - 0x006F0311: 0x020F, - 0x0052030F: 0x0210, - 0x0072030F: 0x0211, - 0x00520311: 0x0212, - 0x00720311: 0x0213, - 0x0055030F: 0x0214, - 0x0075030F: 0x0215, - 0x00550311: 0x0216, - 0x00750311: 0x0217, - 0x00530326: 0x0218, - 0x00730326: 0x0219, - 0x00540326: 0x021A, - 0x00740326: 0x021B, - 0x0048030C: 0x021E, - 0x0068030C: 0x021F, - 0x00410307: 0x0226, - 0x00610307: 0x0227, - 0x00450327: 0x0228, - 0x00650327: 0x0229, - 0x00D60304: 0x022A, - 0x00F60304: 0x022B, - 0x00D50304: 0x022C, - 0x00F50304: 0x022D, - 0x004F0307: 0x022E, - 0x006F0307: 0x022F, - 0x022E0304: 0x0230, - 0x022F0304: 0x0231, - 0x00590304: 0x0232, - 0x00790304: 0x0233, - 0x00A80301: 0x0385, - 0x03910301: 0x0386, - 0x03950301: 0x0388, - 0x03970301: 0x0389, - 0x03990301: 0x038A, - 0x039F0301: 0x038C, - 0x03A50301: 0x038E, - 0x03A90301: 0x038F, - 0x03CA0301: 0x0390, - 0x03990308: 0x03AA, - 0x03A50308: 0x03AB, - 0x03B10301: 0x03AC, - 0x03B50301: 0x03AD, - 0x03B70301: 0x03AE, - 0x03B90301: 0x03AF, - 0x03CB0301: 0x03B0, - 0x03B90308: 0x03CA, - 0x03C50308: 0x03CB, - 0x03BF0301: 0x03CC, - 0x03C50301: 0x03CD, - 0x03C90301: 0x03CE, - 0x03D20301: 0x03D3, - 0x03D20308: 0x03D4, - 0x04150300: 0x0400, - 0x04150308: 0x0401, - 0x04130301: 0x0403, - 0x04060308: 0x0407, - 0x041A0301: 0x040C, - 0x04180300: 0x040D, - 0x04230306: 0x040E, - 0x04180306: 0x0419, - 0x04380306: 0x0439, - 0x04350300: 0x0450, - 0x04350308: 0x0451, - 0x04330301: 0x0453, - 0x04560308: 0x0457, - 0x043A0301: 0x045C, - 0x04380300: 0x045D, - 0x04430306: 0x045E, - 0x0474030F: 0x0476, - 0x0475030F: 0x0477, - 0x04160306: 0x04C1, - 0x04360306: 0x04C2, - 0x04100306: 0x04D0, - 0x04300306: 0x04D1, - 0x04100308: 0x04D2, - 0x04300308: 0x04D3, - 0x04150306: 0x04D6, - 0x04350306: 0x04D7, - 0x04D80308: 0x04DA, - 0x04D90308: 0x04DB, - 0x04160308: 0x04DC, - 0x04360308: 0x04DD, - 0x04170308: 0x04DE, - 0x04370308: 0x04DF, - 0x04180304: 0x04E2, - 0x04380304: 0x04E3, - 0x04180308: 0x04E4, - 0x04380308: 0x04E5, - 0x041E0308: 0x04E6, - 0x043E0308: 0x04E7, - 0x04E80308: 0x04EA, - 0x04E90308: 0x04EB, - 0x042D0308: 0x04EC, - 0x044D0308: 0x04ED, - 0x04230304: 0x04EE, - 0x04430304: 0x04EF, - 0x04230308: 0x04F0, - 0x04430308: 0x04F1, - 0x0423030B: 0x04F2, - 0x0443030B: 0x04F3, - 0x04270308: 0x04F4, - 0x04470308: 0x04F5, - 0x042B0308: 0x04F8, - 0x044B0308: 0x04F9, - 0x06270653: 0x0622, - 0x06270654: 0x0623, - 0x06480654: 0x0624, - 0x06270655: 0x0625, - 0x064A0654: 0x0626, - 0x06D50654: 0x06C0, - 0x06C10654: 0x06C2, - 0x06D20654: 0x06D3, - 0x0928093C: 0x0929, - 0x0930093C: 0x0931, - 0x0933093C: 0x0934, - 0x09C709BE: 0x09CB, - 0x09C709D7: 0x09CC, - 0x0B470B56: 0x0B48, - 0x0B470B3E: 0x0B4B, - 0x0B470B57: 0x0B4C, - 0x0B920BD7: 0x0B94, - 0x0BC60BBE: 0x0BCA, - 0x0BC70BBE: 0x0BCB, - 0x0BC60BD7: 0x0BCC, - 0x0C460C56: 0x0C48, - 0x0CBF0CD5: 0x0CC0, - 0x0CC60CD5: 0x0CC7, - 0x0CC60CD6: 0x0CC8, - 0x0CC60CC2: 0x0CCA, - 0x0CCA0CD5: 0x0CCB, - 0x0D460D3E: 0x0D4A, - 0x0D470D3E: 0x0D4B, - 0x0D460D57: 0x0D4C, - 0x0DD90DCA: 0x0DDA, - 0x0DD90DCF: 0x0DDC, - 0x0DDC0DCA: 0x0DDD, - 0x0DD90DDF: 0x0DDE, - 0x1025102E: 0x1026, - 0x1B051B35: 0x1B06, - 0x1B071B35: 0x1B08, - 0x1B091B35: 0x1B0A, - 0x1B0B1B35: 0x1B0C, - 0x1B0D1B35: 0x1B0E, - 0x1B111B35: 0x1B12, - 0x1B3A1B35: 0x1B3B, - 0x1B3C1B35: 0x1B3D, - 0x1B3E1B35: 0x1B40, - 0x1B3F1B35: 0x1B41, - 0x1B421B35: 0x1B43, - 0x00410325: 0x1E00, - 0x00610325: 0x1E01, - 0x00420307: 0x1E02, - 0x00620307: 0x1E03, - 0x00420323: 0x1E04, - 0x00620323: 0x1E05, - 0x00420331: 0x1E06, - 0x00620331: 0x1E07, - 0x00C70301: 0x1E08, - 0x00E70301: 0x1E09, - 0x00440307: 0x1E0A, - 0x00640307: 0x1E0B, - 0x00440323: 0x1E0C, - 0x00640323: 0x1E0D, - 0x00440331: 0x1E0E, - 0x00640331: 0x1E0F, - 0x00440327: 0x1E10, - 0x00640327: 0x1E11, - 0x0044032D: 0x1E12, - 0x0064032D: 0x1E13, - 0x01120300: 0x1E14, - 0x01130300: 0x1E15, - 0x01120301: 0x1E16, - 0x01130301: 0x1E17, - 0x0045032D: 0x1E18, - 0x0065032D: 0x1E19, - 0x00450330: 0x1E1A, - 0x00650330: 0x1E1B, - 0x02280306: 0x1E1C, - 0x02290306: 0x1E1D, - 0x00460307: 0x1E1E, - 0x00660307: 0x1E1F, - 0x00470304: 0x1E20, - 0x00670304: 0x1E21, - 0x00480307: 0x1E22, - 0x00680307: 0x1E23, - 0x00480323: 0x1E24, - 0x00680323: 0x1E25, - 0x00480308: 0x1E26, - 0x00680308: 0x1E27, - 0x00480327: 0x1E28, - 0x00680327: 0x1E29, - 0x0048032E: 0x1E2A, - 0x0068032E: 0x1E2B, - 0x00490330: 0x1E2C, - 0x00690330: 0x1E2D, - 0x00CF0301: 0x1E2E, - 0x00EF0301: 0x1E2F, - 0x004B0301: 0x1E30, - 0x006B0301: 0x1E31, - 0x004B0323: 0x1E32, - 0x006B0323: 0x1E33, - 0x004B0331: 0x1E34, - 0x006B0331: 0x1E35, - 0x004C0323: 0x1E36, - 0x006C0323: 0x1E37, - 0x1E360304: 0x1E38, - 0x1E370304: 0x1E39, - 0x004C0331: 0x1E3A, - 0x006C0331: 0x1E3B, - 0x004C032D: 0x1E3C, - 0x006C032D: 0x1E3D, - 0x004D0301: 0x1E3E, - 0x006D0301: 0x1E3F, - 0x004D0307: 0x1E40, - 0x006D0307: 0x1E41, - 0x004D0323: 0x1E42, - 0x006D0323: 0x1E43, - 0x004E0307: 0x1E44, - 0x006E0307: 0x1E45, - 0x004E0323: 0x1E46, - 0x006E0323: 0x1E47, - 0x004E0331: 0x1E48, - 0x006E0331: 0x1E49, - 0x004E032D: 0x1E4A, - 0x006E032D: 0x1E4B, - 0x00D50301: 0x1E4C, - 0x00F50301: 0x1E4D, - 0x00D50308: 0x1E4E, - 0x00F50308: 0x1E4F, - 0x014C0300: 0x1E50, - 0x014D0300: 0x1E51, - 0x014C0301: 0x1E52, - 0x014D0301: 0x1E53, - 0x00500301: 0x1E54, - 0x00700301: 0x1E55, - 0x00500307: 0x1E56, - 0x00700307: 0x1E57, - 0x00520307: 0x1E58, - 0x00720307: 0x1E59, - 0x00520323: 0x1E5A, - 0x00720323: 0x1E5B, - 0x1E5A0304: 0x1E5C, - 0x1E5B0304: 0x1E5D, - 0x00520331: 0x1E5E, - 0x00720331: 0x1E5F, - 0x00530307: 0x1E60, - 0x00730307: 0x1E61, - 0x00530323: 0x1E62, - 0x00730323: 0x1E63, - 0x015A0307: 0x1E64, - 0x015B0307: 0x1E65, - 0x01600307: 0x1E66, - 0x01610307: 0x1E67, - 0x1E620307: 0x1E68, - 0x1E630307: 0x1E69, - 0x00540307: 0x1E6A, - 0x00740307: 0x1E6B, - 0x00540323: 0x1E6C, - 0x00740323: 0x1E6D, - 0x00540331: 0x1E6E, - 0x00740331: 0x1E6F, - 0x0054032D: 0x1E70, - 0x0074032D: 0x1E71, - 0x00550324: 0x1E72, - 0x00750324: 0x1E73, - 0x00550330: 0x1E74, - 0x00750330: 0x1E75, - 0x0055032D: 0x1E76, - 0x0075032D: 0x1E77, - 0x01680301: 0x1E78, - 0x01690301: 0x1E79, - 0x016A0308: 0x1E7A, - 0x016B0308: 0x1E7B, - 0x00560303: 0x1E7C, - 0x00760303: 0x1E7D, - 0x00560323: 0x1E7E, - 0x00760323: 0x1E7F, - 0x00570300: 0x1E80, - 0x00770300: 0x1E81, - 0x00570301: 0x1E82, - 0x00770301: 0x1E83, - 0x00570308: 0x1E84, - 0x00770308: 0x1E85, - 0x00570307: 0x1E86, - 0x00770307: 0x1E87, - 0x00570323: 0x1E88, - 0x00770323: 0x1E89, - 0x00580307: 0x1E8A, - 0x00780307: 0x1E8B, - 0x00580308: 0x1E8C, - 0x00780308: 0x1E8D, - 0x00590307: 0x1E8E, - 0x00790307: 0x1E8F, - 0x005A0302: 0x1E90, - 0x007A0302: 0x1E91, - 0x005A0323: 0x1E92, - 0x007A0323: 0x1E93, - 0x005A0331: 0x1E94, - 0x007A0331: 0x1E95, - 0x00680331: 0x1E96, - 0x00740308: 0x1E97, - 0x0077030A: 0x1E98, - 0x0079030A: 0x1E99, - 0x017F0307: 0x1E9B, - 0x00410323: 0x1EA0, - 0x00610323: 0x1EA1, - 0x00410309: 0x1EA2, - 0x00610309: 0x1EA3, - 0x00C20301: 0x1EA4, - 0x00E20301: 0x1EA5, - 0x00C20300: 0x1EA6, - 0x00E20300: 0x1EA7, - 0x00C20309: 0x1EA8, - 0x00E20309: 0x1EA9, - 0x00C20303: 0x1EAA, - 0x00E20303: 0x1EAB, - 0x1EA00302: 0x1EAC, - 0x1EA10302: 0x1EAD, - 0x01020301: 0x1EAE, - 0x01030301: 0x1EAF, - 0x01020300: 0x1EB0, - 0x01030300: 0x1EB1, - 0x01020309: 0x1EB2, - 0x01030309: 0x1EB3, - 0x01020303: 0x1EB4, - 0x01030303: 0x1EB5, - 0x1EA00306: 0x1EB6, - 0x1EA10306: 0x1EB7, - 0x00450323: 0x1EB8, - 0x00650323: 0x1EB9, - 0x00450309: 0x1EBA, - 0x00650309: 0x1EBB, - 0x00450303: 0x1EBC, - 0x00650303: 0x1EBD, - 0x00CA0301: 0x1EBE, - 0x00EA0301: 0x1EBF, - 0x00CA0300: 0x1EC0, - 0x00EA0300: 0x1EC1, - 0x00CA0309: 0x1EC2, - 0x00EA0309: 0x1EC3, - 0x00CA0303: 0x1EC4, - 0x00EA0303: 0x1EC5, - 0x1EB80302: 0x1EC6, - 0x1EB90302: 0x1EC7, - 0x00490309: 0x1EC8, - 0x00690309: 0x1EC9, - 0x00490323: 0x1ECA, - 0x00690323: 0x1ECB, - 0x004F0323: 0x1ECC, - 0x006F0323: 0x1ECD, - 0x004F0309: 0x1ECE, - 0x006F0309: 0x1ECF, - 0x00D40301: 0x1ED0, - 0x00F40301: 0x1ED1, - 0x00D40300: 0x1ED2, - 0x00F40300: 0x1ED3, - 0x00D40309: 0x1ED4, - 0x00F40309: 0x1ED5, - 0x00D40303: 0x1ED6, - 0x00F40303: 0x1ED7, - 0x1ECC0302: 0x1ED8, - 0x1ECD0302: 0x1ED9, - 0x01A00301: 0x1EDA, - 0x01A10301: 0x1EDB, - 0x01A00300: 0x1EDC, - 0x01A10300: 0x1EDD, - 0x01A00309: 0x1EDE, - 0x01A10309: 0x1EDF, - 0x01A00303: 0x1EE0, - 0x01A10303: 0x1EE1, - 0x01A00323: 0x1EE2, - 0x01A10323: 0x1EE3, - 0x00550323: 0x1EE4, - 0x00750323: 0x1EE5, - 0x00550309: 0x1EE6, - 0x00750309: 0x1EE7, - 0x01AF0301: 0x1EE8, - 0x01B00301: 0x1EE9, - 0x01AF0300: 0x1EEA, - 0x01B00300: 0x1EEB, - 0x01AF0309: 0x1EEC, - 0x01B00309: 0x1EED, - 0x01AF0303: 0x1EEE, - 0x01B00303: 0x1EEF, - 0x01AF0323: 0x1EF0, - 0x01B00323: 0x1EF1, - 0x00590300: 0x1EF2, - 0x00790300: 0x1EF3, - 0x00590323: 0x1EF4, - 0x00790323: 0x1EF5, - 0x00590309: 0x1EF6, - 0x00790309: 0x1EF7, - 0x00590303: 0x1EF8, - 0x00790303: 0x1EF9, - 0x03B10313: 0x1F00, - 0x03B10314: 0x1F01, - 0x1F000300: 0x1F02, - 0x1F010300: 0x1F03, - 0x1F000301: 0x1F04, - 0x1F010301: 0x1F05, - 0x1F000342: 0x1F06, - 0x1F010342: 0x1F07, - 0x03910313: 0x1F08, - 0x03910314: 0x1F09, - 0x1F080300: 0x1F0A, - 0x1F090300: 0x1F0B, - 0x1F080301: 0x1F0C, - 0x1F090301: 0x1F0D, - 0x1F080342: 0x1F0E, - 0x1F090342: 0x1F0F, - 0x03B50313: 0x1F10, - 0x03B50314: 0x1F11, - 0x1F100300: 0x1F12, - 0x1F110300: 0x1F13, - 0x1F100301: 0x1F14, - 0x1F110301: 0x1F15, - 0x03950313: 0x1F18, - 0x03950314: 0x1F19, - 0x1F180300: 0x1F1A, - 0x1F190300: 0x1F1B, - 0x1F180301: 0x1F1C, - 0x1F190301: 0x1F1D, - 0x03B70313: 0x1F20, - 0x03B70314: 0x1F21, - 0x1F200300: 0x1F22, - 0x1F210300: 0x1F23, - 0x1F200301: 0x1F24, - 0x1F210301: 0x1F25, - 0x1F200342: 0x1F26, - 0x1F210342: 0x1F27, - 0x03970313: 0x1F28, - 0x03970314: 0x1F29, - 0x1F280300: 0x1F2A, - 0x1F290300: 0x1F2B, - 0x1F280301: 0x1F2C, - 0x1F290301: 0x1F2D, - 0x1F280342: 0x1F2E, - 0x1F290342: 0x1F2F, - 0x03B90313: 0x1F30, - 0x03B90314: 0x1F31, - 0x1F300300: 0x1F32, - 0x1F310300: 0x1F33, - 0x1F300301: 0x1F34, - 0x1F310301: 0x1F35, - 0x1F300342: 0x1F36, - 0x1F310342: 0x1F37, - 0x03990313: 0x1F38, - 0x03990314: 0x1F39, - 0x1F380300: 0x1F3A, - 0x1F390300: 0x1F3B, - 0x1F380301: 0x1F3C, - 0x1F390301: 0x1F3D, - 0x1F380342: 0x1F3E, - 0x1F390342: 0x1F3F, - 0x03BF0313: 0x1F40, - 0x03BF0314: 0x1F41, - 0x1F400300: 0x1F42, - 0x1F410300: 0x1F43, - 0x1F400301: 0x1F44, - 0x1F410301: 0x1F45, - 0x039F0313: 0x1F48, - 0x039F0314: 0x1F49, - 0x1F480300: 0x1F4A, - 0x1F490300: 0x1F4B, - 0x1F480301: 0x1F4C, - 0x1F490301: 0x1F4D, - 0x03C50313: 0x1F50, - 0x03C50314: 0x1F51, - 0x1F500300: 0x1F52, - 0x1F510300: 0x1F53, - 0x1F500301: 0x1F54, - 0x1F510301: 0x1F55, - 0x1F500342: 0x1F56, - 0x1F510342: 0x1F57, - 0x03A50314: 0x1F59, - 0x1F590300: 0x1F5B, - 0x1F590301: 0x1F5D, - 0x1F590342: 0x1F5F, - 0x03C90313: 0x1F60, - 0x03C90314: 0x1F61, - 0x1F600300: 0x1F62, - 0x1F610300: 0x1F63, - 0x1F600301: 0x1F64, - 0x1F610301: 0x1F65, - 0x1F600342: 0x1F66, - 0x1F610342: 0x1F67, - 0x03A90313: 0x1F68, - 0x03A90314: 0x1F69, - 0x1F680300: 0x1F6A, - 0x1F690300: 0x1F6B, - 0x1F680301: 0x1F6C, - 0x1F690301: 0x1F6D, - 0x1F680342: 0x1F6E, - 0x1F690342: 0x1F6F, - 0x03B10300: 0x1F70, - 0x03B50300: 0x1F72, - 0x03B70300: 0x1F74, - 0x03B90300: 0x1F76, - 0x03BF0300: 0x1F78, - 0x03C50300: 0x1F7A, - 0x03C90300: 0x1F7C, - 0x1F000345: 0x1F80, - 0x1F010345: 0x1F81, - 0x1F020345: 0x1F82, - 0x1F030345: 0x1F83, - 0x1F040345: 0x1F84, - 0x1F050345: 0x1F85, - 0x1F060345: 0x1F86, - 0x1F070345: 0x1F87, - 0x1F080345: 0x1F88, - 0x1F090345: 0x1F89, - 0x1F0A0345: 0x1F8A, - 0x1F0B0345: 0x1F8B, - 0x1F0C0345: 0x1F8C, - 0x1F0D0345: 0x1F8D, - 0x1F0E0345: 0x1F8E, - 0x1F0F0345: 0x1F8F, - 0x1F200345: 0x1F90, - 0x1F210345: 0x1F91, - 0x1F220345: 0x1F92, - 0x1F230345: 0x1F93, - 0x1F240345: 0x1F94, - 0x1F250345: 0x1F95, - 0x1F260345: 0x1F96, - 0x1F270345: 0x1F97, - 0x1F280345: 0x1F98, - 0x1F290345: 0x1F99, - 0x1F2A0345: 0x1F9A, - 0x1F2B0345: 0x1F9B, - 0x1F2C0345: 0x1F9C, - 0x1F2D0345: 0x1F9D, - 0x1F2E0345: 0x1F9E, - 0x1F2F0345: 0x1F9F, - 0x1F600345: 0x1FA0, - 0x1F610345: 0x1FA1, - 0x1F620345: 0x1FA2, - 0x1F630345: 0x1FA3, - 0x1F640345: 0x1FA4, - 0x1F650345: 0x1FA5, - 0x1F660345: 0x1FA6, - 0x1F670345: 0x1FA7, - 0x1F680345: 0x1FA8, - 0x1F690345: 0x1FA9, - 0x1F6A0345: 0x1FAA, - 0x1F6B0345: 0x1FAB, - 0x1F6C0345: 0x1FAC, - 0x1F6D0345: 0x1FAD, - 0x1F6E0345: 0x1FAE, - 0x1F6F0345: 0x1FAF, - 0x03B10306: 0x1FB0, - 0x03B10304: 0x1FB1, - 0x1F700345: 0x1FB2, - 0x03B10345: 0x1FB3, - 0x03AC0345: 0x1FB4, - 0x03B10342: 0x1FB6, - 0x1FB60345: 0x1FB7, - 0x03910306: 0x1FB8, - 0x03910304: 0x1FB9, - 0x03910300: 0x1FBA, - 0x03910345: 0x1FBC, - 0x00A80342: 0x1FC1, - 0x1F740345: 0x1FC2, - 0x03B70345: 0x1FC3, - 0x03AE0345: 0x1FC4, - 0x03B70342: 0x1FC6, - 0x1FC60345: 0x1FC7, - 0x03950300: 0x1FC8, - 0x03970300: 0x1FCA, - 0x03970345: 0x1FCC, - 0x1FBF0300: 0x1FCD, - 0x1FBF0301: 0x1FCE, - 0x1FBF0342: 0x1FCF, - 0x03B90306: 0x1FD0, - 0x03B90304: 0x1FD1, - 0x03CA0300: 0x1FD2, - 0x03B90342: 0x1FD6, - 0x03CA0342: 0x1FD7, - 0x03990306: 0x1FD8, - 0x03990304: 0x1FD9, - 0x03990300: 0x1FDA, - 0x1FFE0300: 0x1FDD, - 0x1FFE0301: 0x1FDE, - 0x1FFE0342: 0x1FDF, - 0x03C50306: 0x1FE0, - 0x03C50304: 0x1FE1, - 0x03CB0300: 0x1FE2, - 0x03C10313: 0x1FE4, - 0x03C10314: 0x1FE5, - 0x03C50342: 0x1FE6, - 0x03CB0342: 0x1FE7, - 0x03A50306: 0x1FE8, - 0x03A50304: 0x1FE9, - 0x03A50300: 0x1FEA, - 0x03A10314: 0x1FEC, - 0x00A80300: 0x1FED, - 0x1F7C0345: 0x1FF2, - 0x03C90345: 0x1FF3, - 0x03CE0345: 0x1FF4, - 0x03C90342: 0x1FF6, - 0x1FF60345: 0x1FF7, - 0x039F0300: 0x1FF8, - 0x03A90300: 0x1FFA, - 0x03A90345: 0x1FFC, - 0x21900338: 0x219A, - 0x21920338: 0x219B, - 0x21940338: 0x21AE, - 0x21D00338: 0x21CD, - 0x21D40338: 0x21CE, - 0x21D20338: 0x21CF, - 0x22030338: 0x2204, - 0x22080338: 0x2209, - 0x220B0338: 0x220C, - 0x22230338: 0x2224, - 0x22250338: 0x2226, - 0x223C0338: 0x2241, - 0x22430338: 0x2244, - 0x22450338: 0x2247, - 0x22480338: 0x2249, - 0x003D0338: 0x2260, - 0x22610338: 0x2262, - 0x224D0338: 0x226D, - 0x003C0338: 0x226E, - 0x003E0338: 0x226F, - 0x22640338: 0x2270, - 0x22650338: 0x2271, - 0x22720338: 0x2274, - 0x22730338: 0x2275, - 0x22760338: 0x2278, - 0x22770338: 0x2279, - 0x227A0338: 0x2280, - 0x227B0338: 0x2281, - 0x22820338: 0x2284, - 0x22830338: 0x2285, - 0x22860338: 0x2288, - 0x22870338: 0x2289, - 0x22A20338: 0x22AC, - 0x22A80338: 0x22AD, - 0x22A90338: 0x22AE, - 0x22AB0338: 0x22AF, - 0x227C0338: 0x22E0, - 0x227D0338: 0x22E1, - 0x22910338: 0x22E2, - 0x22920338: 0x22E3, - 0x22B20338: 0x22EA, - 0x22B30338: 0x22EB, - 0x22B40338: 0x22EC, - 0x22B50338: 0x22ED, - 0x304B3099: 0x304C, - 0x304D3099: 0x304E, - 0x304F3099: 0x3050, - 0x30513099: 0x3052, - 0x30533099: 0x3054, - 0x30553099: 0x3056, - 0x30573099: 0x3058, - 0x30593099: 0x305A, - 0x305B3099: 0x305C, - 0x305D3099: 0x305E, - 0x305F3099: 0x3060, - 0x30613099: 0x3062, - 0x30643099: 0x3065, - 0x30663099: 0x3067, - 0x30683099: 0x3069, - 0x306F3099: 0x3070, - 0x306F309A: 0x3071, - 0x30723099: 0x3073, - 0x3072309A: 0x3074, - 0x30753099: 0x3076, - 0x3075309A: 0x3077, - 0x30783099: 0x3079, - 0x3078309A: 0x307A, - 0x307B3099: 0x307C, - 0x307B309A: 0x307D, - 0x30463099: 0x3094, - 0x309D3099: 0x309E, - 0x30AB3099: 0x30AC, - 0x30AD3099: 0x30AE, - 0x30AF3099: 0x30B0, - 0x30B13099: 0x30B2, - 0x30B33099: 0x30B4, - 0x30B53099: 0x30B6, - 0x30B73099: 0x30B8, - 0x30B93099: 0x30BA, - 0x30BB3099: 0x30BC, - 0x30BD3099: 0x30BE, - 0x30BF3099: 0x30C0, - 0x30C13099: 0x30C2, - 0x30C43099: 0x30C5, - 0x30C63099: 0x30C7, - 0x30C83099: 0x30C9, - 0x30CF3099: 0x30D0, - 0x30CF309A: 0x30D1, - 0x30D23099: 0x30D3, - 0x30D2309A: 0x30D4, - 0x30D53099: 0x30D6, - 0x30D5309A: 0x30D7, - 0x30D83099: 0x30D9, - 0x30D8309A: 0x30DA, - 0x30DB3099: 0x30DC, - 0x30DB309A: 0x30DD, - 0x30A63099: 0x30F4, - 0x30EF3099: 0x30F7, - 0x30F03099: 0x30F8, - 0x30F13099: 0x30F9, - 0x30F23099: 0x30FA, - 0x30FD3099: 0x30FE, - 0x109910BA: 0x1109A, - 0x109B10BA: 0x1109C, - 0x10A510BA: 0x110AB, - 0x11311127: 0x1112E, - 0x11321127: 0x1112F, - 0x1347133E: 0x1134B, - 0x13471357: 0x1134C, - 0x14B914BA: 0x114BB, - 0x14B914B0: 0x114BC, - 0x14B914BD: 0x114BE, - 0x15B815AF: 0x115BA, - 0x15B915AF: 0x115BB, -} +var recompMap map[uint32]rune +var recompMapOnce sync.Once -// Total size of tables: 53KB (54226 bytes) +const recompMapPacked = "" + + "\x00A\x03\x00\x00\x00\x00\xc0" + // 0x00410300: 0x000000C0 + "\x00A\x03\x01\x00\x00\x00\xc1" + // 0x00410301: 0x000000C1 + "\x00A\x03\x02\x00\x00\x00\xc2" + // 0x00410302: 0x000000C2 + "\x00A\x03\x03\x00\x00\x00\xc3" + // 0x00410303: 0x000000C3 + "\x00A\x03\b\x00\x00\x00\xc4" + // 0x00410308: 0x000000C4 + "\x00A\x03\n\x00\x00\x00\xc5" + // 0x0041030A: 0x000000C5 + "\x00C\x03'\x00\x00\x00\xc7" + // 0x00430327: 0x000000C7 + "\x00E\x03\x00\x00\x00\x00\xc8" + // 0x00450300: 0x000000C8 + "\x00E\x03\x01\x00\x00\x00\xc9" + // 0x00450301: 0x000000C9 + "\x00E\x03\x02\x00\x00\x00\xca" + // 0x00450302: 0x000000CA + "\x00E\x03\b\x00\x00\x00\xcb" + // 0x00450308: 0x000000CB + "\x00I\x03\x00\x00\x00\x00\xcc" + // 0x00490300: 0x000000CC + "\x00I\x03\x01\x00\x00\x00\xcd" + // 0x00490301: 0x000000CD + "\x00I\x03\x02\x00\x00\x00\xce" + // 0x00490302: 0x000000CE + "\x00I\x03\b\x00\x00\x00\xcf" + // 0x00490308: 0x000000CF + "\x00N\x03\x03\x00\x00\x00\xd1" + // 0x004E0303: 0x000000D1 + "\x00O\x03\x00\x00\x00\x00\xd2" + // 0x004F0300: 0x000000D2 + "\x00O\x03\x01\x00\x00\x00\xd3" + // 0x004F0301: 0x000000D3 + "\x00O\x03\x02\x00\x00\x00\xd4" + // 0x004F0302: 0x000000D4 + "\x00O\x03\x03\x00\x00\x00\xd5" + // 0x004F0303: 0x000000D5 + "\x00O\x03\b\x00\x00\x00\xd6" + // 0x004F0308: 0x000000D6 + "\x00U\x03\x00\x00\x00\x00\xd9" + // 0x00550300: 0x000000D9 + "\x00U\x03\x01\x00\x00\x00\xda" + // 0x00550301: 0x000000DA + "\x00U\x03\x02\x00\x00\x00\xdb" + // 0x00550302: 0x000000DB + "\x00U\x03\b\x00\x00\x00\xdc" + // 0x00550308: 0x000000DC + "\x00Y\x03\x01\x00\x00\x00\xdd" + // 0x00590301: 0x000000DD + "\x00a\x03\x00\x00\x00\x00\xe0" + // 0x00610300: 0x000000E0 + "\x00a\x03\x01\x00\x00\x00\xe1" + // 0x00610301: 0x000000E1 + "\x00a\x03\x02\x00\x00\x00\xe2" + // 0x00610302: 0x000000E2 + "\x00a\x03\x03\x00\x00\x00\xe3" + // 0x00610303: 0x000000E3 + "\x00a\x03\b\x00\x00\x00\xe4" + // 0x00610308: 0x000000E4 + "\x00a\x03\n\x00\x00\x00\xe5" + // 0x0061030A: 0x000000E5 + "\x00c\x03'\x00\x00\x00\xe7" + // 0x00630327: 0x000000E7 + "\x00e\x03\x00\x00\x00\x00\xe8" + // 0x00650300: 0x000000E8 + "\x00e\x03\x01\x00\x00\x00\xe9" + // 0x00650301: 0x000000E9 + "\x00e\x03\x02\x00\x00\x00\xea" + // 0x00650302: 0x000000EA + "\x00e\x03\b\x00\x00\x00\xeb" + // 0x00650308: 0x000000EB + "\x00i\x03\x00\x00\x00\x00\xec" + // 0x00690300: 0x000000EC + "\x00i\x03\x01\x00\x00\x00\xed" + // 0x00690301: 0x000000ED + "\x00i\x03\x02\x00\x00\x00\xee" + // 0x00690302: 0x000000EE + "\x00i\x03\b\x00\x00\x00\xef" + // 0x00690308: 0x000000EF + "\x00n\x03\x03\x00\x00\x00\xf1" + // 0x006E0303: 0x000000F1 + "\x00o\x03\x00\x00\x00\x00\xf2" + // 0x006F0300: 0x000000F2 + "\x00o\x03\x01\x00\x00\x00\xf3" + // 0x006F0301: 0x000000F3 + "\x00o\x03\x02\x00\x00\x00\xf4" + // 0x006F0302: 0x000000F4 + "\x00o\x03\x03\x00\x00\x00\xf5" + // 0x006F0303: 0x000000F5 + "\x00o\x03\b\x00\x00\x00\xf6" + // 0x006F0308: 0x000000F6 + "\x00u\x03\x00\x00\x00\x00\xf9" + // 0x00750300: 0x000000F9 + "\x00u\x03\x01\x00\x00\x00\xfa" + // 0x00750301: 0x000000FA + "\x00u\x03\x02\x00\x00\x00\xfb" + // 0x00750302: 0x000000FB + "\x00u\x03\b\x00\x00\x00\xfc" + // 0x00750308: 0x000000FC + "\x00y\x03\x01\x00\x00\x00\xfd" + // 0x00790301: 0x000000FD + "\x00y\x03\b\x00\x00\x00\xff" + // 0x00790308: 0x000000FF + "\x00A\x03\x04\x00\x00\x01\x00" + // 0x00410304: 0x00000100 + "\x00a\x03\x04\x00\x00\x01\x01" + // 0x00610304: 0x00000101 + "\x00A\x03\x06\x00\x00\x01\x02" + // 0x00410306: 0x00000102 + "\x00a\x03\x06\x00\x00\x01\x03" + // 0x00610306: 0x00000103 + "\x00A\x03(\x00\x00\x01\x04" + // 0x00410328: 0x00000104 + "\x00a\x03(\x00\x00\x01\x05" + // 0x00610328: 0x00000105 + "\x00C\x03\x01\x00\x00\x01\x06" + // 0x00430301: 0x00000106 + "\x00c\x03\x01\x00\x00\x01\a" + // 0x00630301: 0x00000107 + "\x00C\x03\x02\x00\x00\x01\b" + // 0x00430302: 0x00000108 + "\x00c\x03\x02\x00\x00\x01\t" + // 0x00630302: 0x00000109 + "\x00C\x03\a\x00\x00\x01\n" + // 0x00430307: 0x0000010A + "\x00c\x03\a\x00\x00\x01\v" + // 0x00630307: 0x0000010B + "\x00C\x03\f\x00\x00\x01\f" + // 0x0043030C: 0x0000010C + "\x00c\x03\f\x00\x00\x01\r" + // 0x0063030C: 0x0000010D + "\x00D\x03\f\x00\x00\x01\x0e" + // 0x0044030C: 0x0000010E + "\x00d\x03\f\x00\x00\x01\x0f" + // 0x0064030C: 0x0000010F + "\x00E\x03\x04\x00\x00\x01\x12" + // 0x00450304: 0x00000112 + "\x00e\x03\x04\x00\x00\x01\x13" + // 0x00650304: 0x00000113 + "\x00E\x03\x06\x00\x00\x01\x14" + // 0x00450306: 0x00000114 + "\x00e\x03\x06\x00\x00\x01\x15" + // 0x00650306: 0x00000115 + "\x00E\x03\a\x00\x00\x01\x16" + // 0x00450307: 0x00000116 + "\x00e\x03\a\x00\x00\x01\x17" + // 0x00650307: 0x00000117 + "\x00E\x03(\x00\x00\x01\x18" + // 0x00450328: 0x00000118 + "\x00e\x03(\x00\x00\x01\x19" + // 0x00650328: 0x00000119 + "\x00E\x03\f\x00\x00\x01\x1a" + // 0x0045030C: 0x0000011A + "\x00e\x03\f\x00\x00\x01\x1b" + // 0x0065030C: 0x0000011B + "\x00G\x03\x02\x00\x00\x01\x1c" + // 0x00470302: 0x0000011C + "\x00g\x03\x02\x00\x00\x01\x1d" + // 0x00670302: 0x0000011D + "\x00G\x03\x06\x00\x00\x01\x1e" + // 0x00470306: 0x0000011E + "\x00g\x03\x06\x00\x00\x01\x1f" + // 0x00670306: 0x0000011F + "\x00G\x03\a\x00\x00\x01 " + // 0x00470307: 0x00000120 + "\x00g\x03\a\x00\x00\x01!" + // 0x00670307: 0x00000121 + "\x00G\x03'\x00\x00\x01\"" + // 0x00470327: 0x00000122 + "\x00g\x03'\x00\x00\x01#" + // 0x00670327: 0x00000123 + "\x00H\x03\x02\x00\x00\x01$" + // 0x00480302: 0x00000124 + "\x00h\x03\x02\x00\x00\x01%" + // 0x00680302: 0x00000125 + "\x00I\x03\x03\x00\x00\x01(" + // 0x00490303: 0x00000128 + "\x00i\x03\x03\x00\x00\x01)" + // 0x00690303: 0x00000129 + "\x00I\x03\x04\x00\x00\x01*" + // 0x00490304: 0x0000012A + "\x00i\x03\x04\x00\x00\x01+" + // 0x00690304: 0x0000012B + "\x00I\x03\x06\x00\x00\x01," + // 0x00490306: 0x0000012C + "\x00i\x03\x06\x00\x00\x01-" + // 0x00690306: 0x0000012D + "\x00I\x03(\x00\x00\x01." + // 0x00490328: 0x0000012E + "\x00i\x03(\x00\x00\x01/" + // 0x00690328: 0x0000012F + "\x00I\x03\a\x00\x00\x010" + // 0x00490307: 0x00000130 + "\x00J\x03\x02\x00\x00\x014" + // 0x004A0302: 0x00000134 + "\x00j\x03\x02\x00\x00\x015" + // 0x006A0302: 0x00000135 + "\x00K\x03'\x00\x00\x016" + // 0x004B0327: 0x00000136 + "\x00k\x03'\x00\x00\x017" + // 0x006B0327: 0x00000137 + "\x00L\x03\x01\x00\x00\x019" + // 0x004C0301: 0x00000139 + "\x00l\x03\x01\x00\x00\x01:" + // 0x006C0301: 0x0000013A + "\x00L\x03'\x00\x00\x01;" + // 0x004C0327: 0x0000013B + "\x00l\x03'\x00\x00\x01<" + // 0x006C0327: 0x0000013C + "\x00L\x03\f\x00\x00\x01=" + // 0x004C030C: 0x0000013D + "\x00l\x03\f\x00\x00\x01>" + // 0x006C030C: 0x0000013E + "\x00N\x03\x01\x00\x00\x01C" + // 0x004E0301: 0x00000143 + "\x00n\x03\x01\x00\x00\x01D" + // 0x006E0301: 0x00000144 + "\x00N\x03'\x00\x00\x01E" + // 0x004E0327: 0x00000145 + "\x00n\x03'\x00\x00\x01F" + // 0x006E0327: 0x00000146 + "\x00N\x03\f\x00\x00\x01G" + // 0x004E030C: 0x00000147 + "\x00n\x03\f\x00\x00\x01H" + // 0x006E030C: 0x00000148 + "\x00O\x03\x04\x00\x00\x01L" + // 0x004F0304: 0x0000014C + "\x00o\x03\x04\x00\x00\x01M" + // 0x006F0304: 0x0000014D + "\x00O\x03\x06\x00\x00\x01N" + // 0x004F0306: 0x0000014E + "\x00o\x03\x06\x00\x00\x01O" + // 0x006F0306: 0x0000014F + "\x00O\x03\v\x00\x00\x01P" + // 0x004F030B: 0x00000150 + "\x00o\x03\v\x00\x00\x01Q" + // 0x006F030B: 0x00000151 + "\x00R\x03\x01\x00\x00\x01T" + // 0x00520301: 0x00000154 + "\x00r\x03\x01\x00\x00\x01U" + // 0x00720301: 0x00000155 + "\x00R\x03'\x00\x00\x01V" + // 0x00520327: 0x00000156 + "\x00r\x03'\x00\x00\x01W" + // 0x00720327: 0x00000157 + "\x00R\x03\f\x00\x00\x01X" + // 0x0052030C: 0x00000158 + "\x00r\x03\f\x00\x00\x01Y" + // 0x0072030C: 0x00000159 + "\x00S\x03\x01\x00\x00\x01Z" + // 0x00530301: 0x0000015A + "\x00s\x03\x01\x00\x00\x01[" + // 0x00730301: 0x0000015B + "\x00S\x03\x02\x00\x00\x01\\" + // 0x00530302: 0x0000015C + "\x00s\x03\x02\x00\x00\x01]" + // 0x00730302: 0x0000015D + "\x00S\x03'\x00\x00\x01^" + // 0x00530327: 0x0000015E + "\x00s\x03'\x00\x00\x01_" + // 0x00730327: 0x0000015F + "\x00S\x03\f\x00\x00\x01`" + // 0x0053030C: 0x00000160 + "\x00s\x03\f\x00\x00\x01a" + // 0x0073030C: 0x00000161 + "\x00T\x03'\x00\x00\x01b" + // 0x00540327: 0x00000162 + "\x00t\x03'\x00\x00\x01c" + // 0x00740327: 0x00000163 + "\x00T\x03\f\x00\x00\x01d" + // 0x0054030C: 0x00000164 + "\x00t\x03\f\x00\x00\x01e" + // 0x0074030C: 0x00000165 + "\x00U\x03\x03\x00\x00\x01h" + // 0x00550303: 0x00000168 + "\x00u\x03\x03\x00\x00\x01i" + // 0x00750303: 0x00000169 + "\x00U\x03\x04\x00\x00\x01j" + // 0x00550304: 0x0000016A + "\x00u\x03\x04\x00\x00\x01k" + // 0x00750304: 0x0000016B + "\x00U\x03\x06\x00\x00\x01l" + // 0x00550306: 0x0000016C + "\x00u\x03\x06\x00\x00\x01m" + // 0x00750306: 0x0000016D + "\x00U\x03\n\x00\x00\x01n" + // 0x0055030A: 0x0000016E + "\x00u\x03\n\x00\x00\x01o" + // 0x0075030A: 0x0000016F + "\x00U\x03\v\x00\x00\x01p" + // 0x0055030B: 0x00000170 + "\x00u\x03\v\x00\x00\x01q" + // 0x0075030B: 0x00000171 + "\x00U\x03(\x00\x00\x01r" + // 0x00550328: 0x00000172 + "\x00u\x03(\x00\x00\x01s" + // 0x00750328: 0x00000173 + "\x00W\x03\x02\x00\x00\x01t" + // 0x00570302: 0x00000174 + "\x00w\x03\x02\x00\x00\x01u" + // 0x00770302: 0x00000175 + "\x00Y\x03\x02\x00\x00\x01v" + // 0x00590302: 0x00000176 + "\x00y\x03\x02\x00\x00\x01w" + // 0x00790302: 0x00000177 + "\x00Y\x03\b\x00\x00\x01x" + // 0x00590308: 0x00000178 + "\x00Z\x03\x01\x00\x00\x01y" + // 0x005A0301: 0x00000179 + "\x00z\x03\x01\x00\x00\x01z" + // 0x007A0301: 0x0000017A + "\x00Z\x03\a\x00\x00\x01{" + // 0x005A0307: 0x0000017B + "\x00z\x03\a\x00\x00\x01|" + // 0x007A0307: 0x0000017C + "\x00Z\x03\f\x00\x00\x01}" + // 0x005A030C: 0x0000017D + "\x00z\x03\f\x00\x00\x01~" + // 0x007A030C: 0x0000017E + "\x00O\x03\x1b\x00\x00\x01\xa0" + // 0x004F031B: 0x000001A0 + "\x00o\x03\x1b\x00\x00\x01\xa1" + // 0x006F031B: 0x000001A1 + "\x00U\x03\x1b\x00\x00\x01\xaf" + // 0x0055031B: 0x000001AF + "\x00u\x03\x1b\x00\x00\x01\xb0" + // 0x0075031B: 0x000001B0 + "\x00A\x03\f\x00\x00\x01\xcd" + // 0x0041030C: 0x000001CD + "\x00a\x03\f\x00\x00\x01\xce" + // 0x0061030C: 0x000001CE + "\x00I\x03\f\x00\x00\x01\xcf" + // 0x0049030C: 0x000001CF + "\x00i\x03\f\x00\x00\x01\xd0" + // 0x0069030C: 0x000001D0 + "\x00O\x03\f\x00\x00\x01\xd1" + // 0x004F030C: 0x000001D1 + "\x00o\x03\f\x00\x00\x01\xd2" + // 0x006F030C: 0x000001D2 + "\x00U\x03\f\x00\x00\x01\xd3" + // 0x0055030C: 0x000001D3 + "\x00u\x03\f\x00\x00\x01\xd4" + // 0x0075030C: 0x000001D4 + "\x00\xdc\x03\x04\x00\x00\x01\xd5" + // 0x00DC0304: 0x000001D5 + "\x00\xfc\x03\x04\x00\x00\x01\xd6" + // 0x00FC0304: 0x000001D6 + "\x00\xdc\x03\x01\x00\x00\x01\xd7" + // 0x00DC0301: 0x000001D7 + "\x00\xfc\x03\x01\x00\x00\x01\xd8" + // 0x00FC0301: 0x000001D8 + "\x00\xdc\x03\f\x00\x00\x01\xd9" + // 0x00DC030C: 0x000001D9 + "\x00\xfc\x03\f\x00\x00\x01\xda" + // 0x00FC030C: 0x000001DA + "\x00\xdc\x03\x00\x00\x00\x01\xdb" + // 0x00DC0300: 0x000001DB + "\x00\xfc\x03\x00\x00\x00\x01\xdc" + // 0x00FC0300: 0x000001DC + "\x00\xc4\x03\x04\x00\x00\x01\xde" + // 0x00C40304: 0x000001DE + "\x00\xe4\x03\x04\x00\x00\x01\xdf" + // 0x00E40304: 0x000001DF + "\x02&\x03\x04\x00\x00\x01\xe0" + // 0x02260304: 0x000001E0 + "\x02'\x03\x04\x00\x00\x01\xe1" + // 0x02270304: 0x000001E1 + "\x00\xc6\x03\x04\x00\x00\x01\xe2" + // 0x00C60304: 0x000001E2 + "\x00\xe6\x03\x04\x00\x00\x01\xe3" + // 0x00E60304: 0x000001E3 + "\x00G\x03\f\x00\x00\x01\xe6" + // 0x0047030C: 0x000001E6 + "\x00g\x03\f\x00\x00\x01\xe7" + // 0x0067030C: 0x000001E7 + "\x00K\x03\f\x00\x00\x01\xe8" + // 0x004B030C: 0x000001E8 + "\x00k\x03\f\x00\x00\x01\xe9" + // 0x006B030C: 0x000001E9 + "\x00O\x03(\x00\x00\x01\xea" + // 0x004F0328: 0x000001EA + "\x00o\x03(\x00\x00\x01\xeb" + // 0x006F0328: 0x000001EB + "\x01\xea\x03\x04\x00\x00\x01\xec" + // 0x01EA0304: 0x000001EC + "\x01\xeb\x03\x04\x00\x00\x01\xed" + // 0x01EB0304: 0x000001ED + "\x01\xb7\x03\f\x00\x00\x01\xee" + // 0x01B7030C: 0x000001EE + "\x02\x92\x03\f\x00\x00\x01\xef" + // 0x0292030C: 0x000001EF + "\x00j\x03\f\x00\x00\x01\xf0" + // 0x006A030C: 0x000001F0 + "\x00G\x03\x01\x00\x00\x01\xf4" + // 0x00470301: 0x000001F4 + "\x00g\x03\x01\x00\x00\x01\xf5" + // 0x00670301: 0x000001F5 + "\x00N\x03\x00\x00\x00\x01\xf8" + // 0x004E0300: 0x000001F8 + "\x00n\x03\x00\x00\x00\x01\xf9" + // 0x006E0300: 0x000001F9 + "\x00\xc5\x03\x01\x00\x00\x01\xfa" + // 0x00C50301: 0x000001FA + "\x00\xe5\x03\x01\x00\x00\x01\xfb" + // 0x00E50301: 0x000001FB + "\x00\xc6\x03\x01\x00\x00\x01\xfc" + // 0x00C60301: 0x000001FC + "\x00\xe6\x03\x01\x00\x00\x01\xfd" + // 0x00E60301: 0x000001FD + "\x00\xd8\x03\x01\x00\x00\x01\xfe" + // 0x00D80301: 0x000001FE + "\x00\xf8\x03\x01\x00\x00\x01\xff" + // 0x00F80301: 0x000001FF + "\x00A\x03\x0f\x00\x00\x02\x00" + // 0x0041030F: 0x00000200 + "\x00a\x03\x0f\x00\x00\x02\x01" + // 0x0061030F: 0x00000201 + "\x00A\x03\x11\x00\x00\x02\x02" + // 0x00410311: 0x00000202 + "\x00a\x03\x11\x00\x00\x02\x03" + // 0x00610311: 0x00000203 + "\x00E\x03\x0f\x00\x00\x02\x04" + // 0x0045030F: 0x00000204 + "\x00e\x03\x0f\x00\x00\x02\x05" + // 0x0065030F: 0x00000205 + "\x00E\x03\x11\x00\x00\x02\x06" + // 0x00450311: 0x00000206 + "\x00e\x03\x11\x00\x00\x02\a" + // 0x00650311: 0x00000207 + "\x00I\x03\x0f\x00\x00\x02\b" + // 0x0049030F: 0x00000208 + "\x00i\x03\x0f\x00\x00\x02\t" + // 0x0069030F: 0x00000209 + "\x00I\x03\x11\x00\x00\x02\n" + // 0x00490311: 0x0000020A + "\x00i\x03\x11\x00\x00\x02\v" + // 0x00690311: 0x0000020B + "\x00O\x03\x0f\x00\x00\x02\f" + // 0x004F030F: 0x0000020C + "\x00o\x03\x0f\x00\x00\x02\r" + // 0x006F030F: 0x0000020D + "\x00O\x03\x11\x00\x00\x02\x0e" + // 0x004F0311: 0x0000020E + "\x00o\x03\x11\x00\x00\x02\x0f" + // 0x006F0311: 0x0000020F + "\x00R\x03\x0f\x00\x00\x02\x10" + // 0x0052030F: 0x00000210 + "\x00r\x03\x0f\x00\x00\x02\x11" + // 0x0072030F: 0x00000211 + "\x00R\x03\x11\x00\x00\x02\x12" + // 0x00520311: 0x00000212 + "\x00r\x03\x11\x00\x00\x02\x13" + // 0x00720311: 0x00000213 + "\x00U\x03\x0f\x00\x00\x02\x14" + // 0x0055030F: 0x00000214 + "\x00u\x03\x0f\x00\x00\x02\x15" + // 0x0075030F: 0x00000215 + "\x00U\x03\x11\x00\x00\x02\x16" + // 0x00550311: 0x00000216 + "\x00u\x03\x11\x00\x00\x02\x17" + // 0x00750311: 0x00000217 + "\x00S\x03&\x00\x00\x02\x18" + // 0x00530326: 0x00000218 + "\x00s\x03&\x00\x00\x02\x19" + // 0x00730326: 0x00000219 + "\x00T\x03&\x00\x00\x02\x1a" + // 0x00540326: 0x0000021A + "\x00t\x03&\x00\x00\x02\x1b" + // 0x00740326: 0x0000021B + "\x00H\x03\f\x00\x00\x02\x1e" + // 0x0048030C: 0x0000021E + "\x00h\x03\f\x00\x00\x02\x1f" + // 0x0068030C: 0x0000021F + "\x00A\x03\a\x00\x00\x02&" + // 0x00410307: 0x00000226 + "\x00a\x03\a\x00\x00\x02'" + // 0x00610307: 0x00000227 + "\x00E\x03'\x00\x00\x02(" + // 0x00450327: 0x00000228 + "\x00e\x03'\x00\x00\x02)" + // 0x00650327: 0x00000229 + "\x00\xd6\x03\x04\x00\x00\x02*" + // 0x00D60304: 0x0000022A + "\x00\xf6\x03\x04\x00\x00\x02+" + // 0x00F60304: 0x0000022B + "\x00\xd5\x03\x04\x00\x00\x02," + // 0x00D50304: 0x0000022C + "\x00\xf5\x03\x04\x00\x00\x02-" + // 0x00F50304: 0x0000022D + "\x00O\x03\a\x00\x00\x02." + // 0x004F0307: 0x0000022E + "\x00o\x03\a\x00\x00\x02/" + // 0x006F0307: 0x0000022F + "\x02.\x03\x04\x00\x00\x020" + // 0x022E0304: 0x00000230 + "\x02/\x03\x04\x00\x00\x021" + // 0x022F0304: 0x00000231 + "\x00Y\x03\x04\x00\x00\x022" + // 0x00590304: 0x00000232 + "\x00y\x03\x04\x00\x00\x023" + // 0x00790304: 0x00000233 + "\x00\xa8\x03\x01\x00\x00\x03\x85" + // 0x00A80301: 0x00000385 + "\x03\x91\x03\x01\x00\x00\x03\x86" + // 0x03910301: 0x00000386 + "\x03\x95\x03\x01\x00\x00\x03\x88" + // 0x03950301: 0x00000388 + "\x03\x97\x03\x01\x00\x00\x03\x89" + // 0x03970301: 0x00000389 + "\x03\x99\x03\x01\x00\x00\x03\x8a" + // 0x03990301: 0x0000038A + "\x03\x9f\x03\x01\x00\x00\x03\x8c" + // 0x039F0301: 0x0000038C + "\x03\xa5\x03\x01\x00\x00\x03\x8e" + // 0x03A50301: 0x0000038E + "\x03\xa9\x03\x01\x00\x00\x03\x8f" + // 0x03A90301: 0x0000038F + "\x03\xca\x03\x01\x00\x00\x03\x90" + // 0x03CA0301: 0x00000390 + "\x03\x99\x03\b\x00\x00\x03\xaa" + // 0x03990308: 0x000003AA + "\x03\xa5\x03\b\x00\x00\x03\xab" + // 0x03A50308: 0x000003AB + "\x03\xb1\x03\x01\x00\x00\x03\xac" + // 0x03B10301: 0x000003AC + "\x03\xb5\x03\x01\x00\x00\x03\xad" + // 0x03B50301: 0x000003AD + "\x03\xb7\x03\x01\x00\x00\x03\xae" + // 0x03B70301: 0x000003AE + "\x03\xb9\x03\x01\x00\x00\x03\xaf" + // 0x03B90301: 0x000003AF + "\x03\xcb\x03\x01\x00\x00\x03\xb0" + // 0x03CB0301: 0x000003B0 + "\x03\xb9\x03\b\x00\x00\x03\xca" + // 0x03B90308: 0x000003CA + "\x03\xc5\x03\b\x00\x00\x03\xcb" + // 0x03C50308: 0x000003CB + "\x03\xbf\x03\x01\x00\x00\x03\xcc" + // 0x03BF0301: 0x000003CC + "\x03\xc5\x03\x01\x00\x00\x03\xcd" + // 0x03C50301: 0x000003CD + "\x03\xc9\x03\x01\x00\x00\x03\xce" + // 0x03C90301: 0x000003CE + "\x03\xd2\x03\x01\x00\x00\x03\xd3" + // 0x03D20301: 0x000003D3 + "\x03\xd2\x03\b\x00\x00\x03\xd4" + // 0x03D20308: 0x000003D4 + "\x04\x15\x03\x00\x00\x00\x04\x00" + // 0x04150300: 0x00000400 + "\x04\x15\x03\b\x00\x00\x04\x01" + // 0x04150308: 0x00000401 + "\x04\x13\x03\x01\x00\x00\x04\x03" + // 0x04130301: 0x00000403 + "\x04\x06\x03\b\x00\x00\x04\a" + // 0x04060308: 0x00000407 + "\x04\x1a\x03\x01\x00\x00\x04\f" + // 0x041A0301: 0x0000040C + "\x04\x18\x03\x00\x00\x00\x04\r" + // 0x04180300: 0x0000040D + "\x04#\x03\x06\x00\x00\x04\x0e" + // 0x04230306: 0x0000040E + "\x04\x18\x03\x06\x00\x00\x04\x19" + // 0x04180306: 0x00000419 + "\x048\x03\x06\x00\x00\x049" + // 0x04380306: 0x00000439 + "\x045\x03\x00\x00\x00\x04P" + // 0x04350300: 0x00000450 + "\x045\x03\b\x00\x00\x04Q" + // 0x04350308: 0x00000451 + "\x043\x03\x01\x00\x00\x04S" + // 0x04330301: 0x00000453 + "\x04V\x03\b\x00\x00\x04W" + // 0x04560308: 0x00000457 + "\x04:\x03\x01\x00\x00\x04\\" + // 0x043A0301: 0x0000045C + "\x048\x03\x00\x00\x00\x04]" + // 0x04380300: 0x0000045D + "\x04C\x03\x06\x00\x00\x04^" + // 0x04430306: 0x0000045E + "\x04t\x03\x0f\x00\x00\x04v" + // 0x0474030F: 0x00000476 + "\x04u\x03\x0f\x00\x00\x04w" + // 0x0475030F: 0x00000477 + "\x04\x16\x03\x06\x00\x00\x04\xc1" + // 0x04160306: 0x000004C1 + "\x046\x03\x06\x00\x00\x04\xc2" + // 0x04360306: 0x000004C2 + "\x04\x10\x03\x06\x00\x00\x04\xd0" + // 0x04100306: 0x000004D0 + "\x040\x03\x06\x00\x00\x04\xd1" + // 0x04300306: 0x000004D1 + "\x04\x10\x03\b\x00\x00\x04\xd2" + // 0x04100308: 0x000004D2 + "\x040\x03\b\x00\x00\x04\xd3" + // 0x04300308: 0x000004D3 + "\x04\x15\x03\x06\x00\x00\x04\xd6" + // 0x04150306: 0x000004D6 + "\x045\x03\x06\x00\x00\x04\xd7" + // 0x04350306: 0x000004D7 + "\x04\xd8\x03\b\x00\x00\x04\xda" + // 0x04D80308: 0x000004DA + "\x04\xd9\x03\b\x00\x00\x04\xdb" + // 0x04D90308: 0x000004DB + "\x04\x16\x03\b\x00\x00\x04\xdc" + // 0x04160308: 0x000004DC + "\x046\x03\b\x00\x00\x04\xdd" + // 0x04360308: 0x000004DD + "\x04\x17\x03\b\x00\x00\x04\xde" + // 0x04170308: 0x000004DE + "\x047\x03\b\x00\x00\x04\xdf" + // 0x04370308: 0x000004DF + "\x04\x18\x03\x04\x00\x00\x04\xe2" + // 0x04180304: 0x000004E2 + "\x048\x03\x04\x00\x00\x04\xe3" + // 0x04380304: 0x000004E3 + "\x04\x18\x03\b\x00\x00\x04\xe4" + // 0x04180308: 0x000004E4 + "\x048\x03\b\x00\x00\x04\xe5" + // 0x04380308: 0x000004E5 + "\x04\x1e\x03\b\x00\x00\x04\xe6" + // 0x041E0308: 0x000004E6 + "\x04>\x03\b\x00\x00\x04\xe7" + // 0x043E0308: 0x000004E7 + "\x04\xe8\x03\b\x00\x00\x04\xea" + // 0x04E80308: 0x000004EA + "\x04\xe9\x03\b\x00\x00\x04\xeb" + // 0x04E90308: 0x000004EB + "\x04-\x03\b\x00\x00\x04\xec" + // 0x042D0308: 0x000004EC + "\x04M\x03\b\x00\x00\x04\xed" + // 0x044D0308: 0x000004ED + "\x04#\x03\x04\x00\x00\x04\xee" + // 0x04230304: 0x000004EE + "\x04C\x03\x04\x00\x00\x04\xef" + // 0x04430304: 0x000004EF + "\x04#\x03\b\x00\x00\x04\xf0" + // 0x04230308: 0x000004F0 + "\x04C\x03\b\x00\x00\x04\xf1" + // 0x04430308: 0x000004F1 + "\x04#\x03\v\x00\x00\x04\xf2" + // 0x0423030B: 0x000004F2 + "\x04C\x03\v\x00\x00\x04\xf3" + // 0x0443030B: 0x000004F3 + "\x04'\x03\b\x00\x00\x04\xf4" + // 0x04270308: 0x000004F4 + "\x04G\x03\b\x00\x00\x04\xf5" + // 0x04470308: 0x000004F5 + "\x04+\x03\b\x00\x00\x04\xf8" + // 0x042B0308: 0x000004F8 + "\x04K\x03\b\x00\x00\x04\xf9" + // 0x044B0308: 0x000004F9 + "\x06'\x06S\x00\x00\x06\"" + // 0x06270653: 0x00000622 + "\x06'\x06T\x00\x00\x06#" + // 0x06270654: 0x00000623 + "\x06H\x06T\x00\x00\x06$" + // 0x06480654: 0x00000624 + "\x06'\x06U\x00\x00\x06%" + // 0x06270655: 0x00000625 + "\x06J\x06T\x00\x00\x06&" + // 0x064A0654: 0x00000626 + "\x06\xd5\x06T\x00\x00\x06\xc0" + // 0x06D50654: 0x000006C0 + "\x06\xc1\x06T\x00\x00\x06\xc2" + // 0x06C10654: 0x000006C2 + "\x06\xd2\x06T\x00\x00\x06\xd3" + // 0x06D20654: 0x000006D3 + "\t(\t<\x00\x00\t)" + // 0x0928093C: 0x00000929 + "\t0\t<\x00\x00\t1" + // 0x0930093C: 0x00000931 + "\t3\t<\x00\x00\t4" + // 0x0933093C: 0x00000934 + "\t\xc7\t\xbe\x00\x00\t\xcb" + // 0x09C709BE: 0x000009CB + "\t\xc7\t\xd7\x00\x00\t\xcc" + // 0x09C709D7: 0x000009CC + "\vG\vV\x00\x00\vH" + // 0x0B470B56: 0x00000B48 + "\vG\v>\x00\x00\vK" + // 0x0B470B3E: 0x00000B4B + "\vG\vW\x00\x00\vL" + // 0x0B470B57: 0x00000B4C + "\v\x92\v\xd7\x00\x00\v\x94" + // 0x0B920BD7: 0x00000B94 + "\v\xc6\v\xbe\x00\x00\v\xca" + // 0x0BC60BBE: 0x00000BCA + "\v\xc7\v\xbe\x00\x00\v\xcb" + // 0x0BC70BBE: 0x00000BCB + "\v\xc6\v\xd7\x00\x00\v\xcc" + // 0x0BC60BD7: 0x00000BCC + "\fF\fV\x00\x00\fH" + // 0x0C460C56: 0x00000C48 + "\f\xbf\f\xd5\x00\x00\f\xc0" + // 0x0CBF0CD5: 0x00000CC0 + "\f\xc6\f\xd5\x00\x00\f\xc7" + // 0x0CC60CD5: 0x00000CC7 + "\f\xc6\f\xd6\x00\x00\f\xc8" + // 0x0CC60CD6: 0x00000CC8 + "\f\xc6\f\xc2\x00\x00\f\xca" + // 0x0CC60CC2: 0x00000CCA + "\f\xca\f\xd5\x00\x00\f\xcb" + // 0x0CCA0CD5: 0x00000CCB + "\rF\r>\x00\x00\rJ" + // 0x0D460D3E: 0x00000D4A + "\rG\r>\x00\x00\rK" + // 0x0D470D3E: 0x00000D4B + "\rF\rW\x00\x00\rL" + // 0x0D460D57: 0x00000D4C + "\r\xd9\r\xca\x00\x00\r\xda" + // 0x0DD90DCA: 0x00000DDA + "\r\xd9\r\xcf\x00\x00\r\xdc" + // 0x0DD90DCF: 0x00000DDC + "\r\xdc\r\xca\x00\x00\r\xdd" + // 0x0DDC0DCA: 0x00000DDD + "\r\xd9\r\xdf\x00\x00\r\xde" + // 0x0DD90DDF: 0x00000DDE + "\x10%\x10.\x00\x00\x10&" + // 0x1025102E: 0x00001026 + "\x1b\x05\x1b5\x00\x00\x1b\x06" + // 0x1B051B35: 0x00001B06 + "\x1b\a\x1b5\x00\x00\x1b\b" + // 0x1B071B35: 0x00001B08 + "\x1b\t\x1b5\x00\x00\x1b\n" + // 0x1B091B35: 0x00001B0A + "\x1b\v\x1b5\x00\x00\x1b\f" + // 0x1B0B1B35: 0x00001B0C + "\x1b\r\x1b5\x00\x00\x1b\x0e" + // 0x1B0D1B35: 0x00001B0E + "\x1b\x11\x1b5\x00\x00\x1b\x12" + // 0x1B111B35: 0x00001B12 + "\x1b:\x1b5\x00\x00\x1b;" + // 0x1B3A1B35: 0x00001B3B + "\x1b<\x1b5\x00\x00\x1b=" + // 0x1B3C1B35: 0x00001B3D + "\x1b>\x1b5\x00\x00\x1b@" + // 0x1B3E1B35: 0x00001B40 + "\x1b?\x1b5\x00\x00\x1bA" + // 0x1B3F1B35: 0x00001B41 + "\x1bB\x1b5\x00\x00\x1bC" + // 0x1B421B35: 0x00001B43 + "\x00A\x03%\x00\x00\x1e\x00" + // 0x00410325: 0x00001E00 + "\x00a\x03%\x00\x00\x1e\x01" + // 0x00610325: 0x00001E01 + "\x00B\x03\a\x00\x00\x1e\x02" + // 0x00420307: 0x00001E02 + "\x00b\x03\a\x00\x00\x1e\x03" + // 0x00620307: 0x00001E03 + "\x00B\x03#\x00\x00\x1e\x04" + // 0x00420323: 0x00001E04 + "\x00b\x03#\x00\x00\x1e\x05" + // 0x00620323: 0x00001E05 + "\x00B\x031\x00\x00\x1e\x06" + // 0x00420331: 0x00001E06 + "\x00b\x031\x00\x00\x1e\a" + // 0x00620331: 0x00001E07 + "\x00\xc7\x03\x01\x00\x00\x1e\b" + // 0x00C70301: 0x00001E08 + "\x00\xe7\x03\x01\x00\x00\x1e\t" + // 0x00E70301: 0x00001E09 + "\x00D\x03\a\x00\x00\x1e\n" + // 0x00440307: 0x00001E0A + "\x00d\x03\a\x00\x00\x1e\v" + // 0x00640307: 0x00001E0B + "\x00D\x03#\x00\x00\x1e\f" + // 0x00440323: 0x00001E0C + "\x00d\x03#\x00\x00\x1e\r" + // 0x00640323: 0x00001E0D + "\x00D\x031\x00\x00\x1e\x0e" + // 0x00440331: 0x00001E0E + "\x00d\x031\x00\x00\x1e\x0f" + // 0x00640331: 0x00001E0F + "\x00D\x03'\x00\x00\x1e\x10" + // 0x00440327: 0x00001E10 + "\x00d\x03'\x00\x00\x1e\x11" + // 0x00640327: 0x00001E11 + "\x00D\x03-\x00\x00\x1e\x12" + // 0x0044032D: 0x00001E12 + "\x00d\x03-\x00\x00\x1e\x13" + // 0x0064032D: 0x00001E13 + "\x01\x12\x03\x00\x00\x00\x1e\x14" + // 0x01120300: 0x00001E14 + "\x01\x13\x03\x00\x00\x00\x1e\x15" + // 0x01130300: 0x00001E15 + "\x01\x12\x03\x01\x00\x00\x1e\x16" + // 0x01120301: 0x00001E16 + "\x01\x13\x03\x01\x00\x00\x1e\x17" + // 0x01130301: 0x00001E17 + "\x00E\x03-\x00\x00\x1e\x18" + // 0x0045032D: 0x00001E18 + "\x00e\x03-\x00\x00\x1e\x19" + // 0x0065032D: 0x00001E19 + "\x00E\x030\x00\x00\x1e\x1a" + // 0x00450330: 0x00001E1A + "\x00e\x030\x00\x00\x1e\x1b" + // 0x00650330: 0x00001E1B + "\x02(\x03\x06\x00\x00\x1e\x1c" + // 0x02280306: 0x00001E1C + "\x02)\x03\x06\x00\x00\x1e\x1d" + // 0x02290306: 0x00001E1D + "\x00F\x03\a\x00\x00\x1e\x1e" + // 0x00460307: 0x00001E1E + "\x00f\x03\a\x00\x00\x1e\x1f" + // 0x00660307: 0x00001E1F + "\x00G\x03\x04\x00\x00\x1e " + // 0x00470304: 0x00001E20 + "\x00g\x03\x04\x00\x00\x1e!" + // 0x00670304: 0x00001E21 + "\x00H\x03\a\x00\x00\x1e\"" + // 0x00480307: 0x00001E22 + "\x00h\x03\a\x00\x00\x1e#" + // 0x00680307: 0x00001E23 + "\x00H\x03#\x00\x00\x1e$" + // 0x00480323: 0x00001E24 + "\x00h\x03#\x00\x00\x1e%" + // 0x00680323: 0x00001E25 + "\x00H\x03\b\x00\x00\x1e&" + // 0x00480308: 0x00001E26 + "\x00h\x03\b\x00\x00\x1e'" + // 0x00680308: 0x00001E27 + "\x00H\x03'\x00\x00\x1e(" + // 0x00480327: 0x00001E28 + "\x00h\x03'\x00\x00\x1e)" + // 0x00680327: 0x00001E29 + "\x00H\x03.\x00\x00\x1e*" + // 0x0048032E: 0x00001E2A + "\x00h\x03.\x00\x00\x1e+" + // 0x0068032E: 0x00001E2B + "\x00I\x030\x00\x00\x1e," + // 0x00490330: 0x00001E2C + "\x00i\x030\x00\x00\x1e-" + // 0x00690330: 0x00001E2D + "\x00\xcf\x03\x01\x00\x00\x1e." + // 0x00CF0301: 0x00001E2E + "\x00\xef\x03\x01\x00\x00\x1e/" + // 0x00EF0301: 0x00001E2F + "\x00K\x03\x01\x00\x00\x1e0" + // 0x004B0301: 0x00001E30 + "\x00k\x03\x01\x00\x00\x1e1" + // 0x006B0301: 0x00001E31 + "\x00K\x03#\x00\x00\x1e2" + // 0x004B0323: 0x00001E32 + "\x00k\x03#\x00\x00\x1e3" + // 0x006B0323: 0x00001E33 + "\x00K\x031\x00\x00\x1e4" + // 0x004B0331: 0x00001E34 + "\x00k\x031\x00\x00\x1e5" + // 0x006B0331: 0x00001E35 + "\x00L\x03#\x00\x00\x1e6" + // 0x004C0323: 0x00001E36 + "\x00l\x03#\x00\x00\x1e7" + // 0x006C0323: 0x00001E37 + "\x1e6\x03\x04\x00\x00\x1e8" + // 0x1E360304: 0x00001E38 + "\x1e7\x03\x04\x00\x00\x1e9" + // 0x1E370304: 0x00001E39 + "\x00L\x031\x00\x00\x1e:" + // 0x004C0331: 0x00001E3A + "\x00l\x031\x00\x00\x1e;" + // 0x006C0331: 0x00001E3B + "\x00L\x03-\x00\x00\x1e<" + // 0x004C032D: 0x00001E3C + "\x00l\x03-\x00\x00\x1e=" + // 0x006C032D: 0x00001E3D + "\x00M\x03\x01\x00\x00\x1e>" + // 0x004D0301: 0x00001E3E + "\x00m\x03\x01\x00\x00\x1e?" + // 0x006D0301: 0x00001E3F + "\x00M\x03\a\x00\x00\x1e@" + // 0x004D0307: 0x00001E40 + "\x00m\x03\a\x00\x00\x1eA" + // 0x006D0307: 0x00001E41 + "\x00M\x03#\x00\x00\x1eB" + // 0x004D0323: 0x00001E42 + "\x00m\x03#\x00\x00\x1eC" + // 0x006D0323: 0x00001E43 + "\x00N\x03\a\x00\x00\x1eD" + // 0x004E0307: 0x00001E44 + "\x00n\x03\a\x00\x00\x1eE" + // 0x006E0307: 0x00001E45 + "\x00N\x03#\x00\x00\x1eF" + // 0x004E0323: 0x00001E46 + "\x00n\x03#\x00\x00\x1eG" + // 0x006E0323: 0x00001E47 + "\x00N\x031\x00\x00\x1eH" + // 0x004E0331: 0x00001E48 + "\x00n\x031\x00\x00\x1eI" + // 0x006E0331: 0x00001E49 + "\x00N\x03-\x00\x00\x1eJ" + // 0x004E032D: 0x00001E4A + "\x00n\x03-\x00\x00\x1eK" + // 0x006E032D: 0x00001E4B + "\x00\xd5\x03\x01\x00\x00\x1eL" + // 0x00D50301: 0x00001E4C + "\x00\xf5\x03\x01\x00\x00\x1eM" + // 0x00F50301: 0x00001E4D + "\x00\xd5\x03\b\x00\x00\x1eN" + // 0x00D50308: 0x00001E4E + "\x00\xf5\x03\b\x00\x00\x1eO" + // 0x00F50308: 0x00001E4F + "\x01L\x03\x00\x00\x00\x1eP" + // 0x014C0300: 0x00001E50 + "\x01M\x03\x00\x00\x00\x1eQ" + // 0x014D0300: 0x00001E51 + "\x01L\x03\x01\x00\x00\x1eR" + // 0x014C0301: 0x00001E52 + "\x01M\x03\x01\x00\x00\x1eS" + // 0x014D0301: 0x00001E53 + "\x00P\x03\x01\x00\x00\x1eT" + // 0x00500301: 0x00001E54 + "\x00p\x03\x01\x00\x00\x1eU" + // 0x00700301: 0x00001E55 + "\x00P\x03\a\x00\x00\x1eV" + // 0x00500307: 0x00001E56 + "\x00p\x03\a\x00\x00\x1eW" + // 0x00700307: 0x00001E57 + "\x00R\x03\a\x00\x00\x1eX" + // 0x00520307: 0x00001E58 + "\x00r\x03\a\x00\x00\x1eY" + // 0x00720307: 0x00001E59 + "\x00R\x03#\x00\x00\x1eZ" + // 0x00520323: 0x00001E5A + "\x00r\x03#\x00\x00\x1e[" + // 0x00720323: 0x00001E5B + "\x1eZ\x03\x04\x00\x00\x1e\\" + // 0x1E5A0304: 0x00001E5C + "\x1e[\x03\x04\x00\x00\x1e]" + // 0x1E5B0304: 0x00001E5D + "\x00R\x031\x00\x00\x1e^" + // 0x00520331: 0x00001E5E + "\x00r\x031\x00\x00\x1e_" + // 0x00720331: 0x00001E5F + "\x00S\x03\a\x00\x00\x1e`" + // 0x00530307: 0x00001E60 + "\x00s\x03\a\x00\x00\x1ea" + // 0x00730307: 0x00001E61 + "\x00S\x03#\x00\x00\x1eb" + // 0x00530323: 0x00001E62 + "\x00s\x03#\x00\x00\x1ec" + // 0x00730323: 0x00001E63 + "\x01Z\x03\a\x00\x00\x1ed" + // 0x015A0307: 0x00001E64 + "\x01[\x03\a\x00\x00\x1ee" + // 0x015B0307: 0x00001E65 + "\x01`\x03\a\x00\x00\x1ef" + // 0x01600307: 0x00001E66 + "\x01a\x03\a\x00\x00\x1eg" + // 0x01610307: 0x00001E67 + "\x1eb\x03\a\x00\x00\x1eh" + // 0x1E620307: 0x00001E68 + "\x1ec\x03\a\x00\x00\x1ei" + // 0x1E630307: 0x00001E69 + "\x00T\x03\a\x00\x00\x1ej" + // 0x00540307: 0x00001E6A + "\x00t\x03\a\x00\x00\x1ek" + // 0x00740307: 0x00001E6B + "\x00T\x03#\x00\x00\x1el" + // 0x00540323: 0x00001E6C + "\x00t\x03#\x00\x00\x1em" + // 0x00740323: 0x00001E6D + "\x00T\x031\x00\x00\x1en" + // 0x00540331: 0x00001E6E + "\x00t\x031\x00\x00\x1eo" + // 0x00740331: 0x00001E6F + "\x00T\x03-\x00\x00\x1ep" + // 0x0054032D: 0x00001E70 + "\x00t\x03-\x00\x00\x1eq" + // 0x0074032D: 0x00001E71 + "\x00U\x03$\x00\x00\x1er" + // 0x00550324: 0x00001E72 + "\x00u\x03$\x00\x00\x1es" + // 0x00750324: 0x00001E73 + "\x00U\x030\x00\x00\x1et" + // 0x00550330: 0x00001E74 + "\x00u\x030\x00\x00\x1eu" + // 0x00750330: 0x00001E75 + "\x00U\x03-\x00\x00\x1ev" + // 0x0055032D: 0x00001E76 + "\x00u\x03-\x00\x00\x1ew" + // 0x0075032D: 0x00001E77 + "\x01h\x03\x01\x00\x00\x1ex" + // 0x01680301: 0x00001E78 + "\x01i\x03\x01\x00\x00\x1ey" + // 0x01690301: 0x00001E79 + "\x01j\x03\b\x00\x00\x1ez" + // 0x016A0308: 0x00001E7A + "\x01k\x03\b\x00\x00\x1e{" + // 0x016B0308: 0x00001E7B + "\x00V\x03\x03\x00\x00\x1e|" + // 0x00560303: 0x00001E7C + "\x00v\x03\x03\x00\x00\x1e}" + // 0x00760303: 0x00001E7D + "\x00V\x03#\x00\x00\x1e~" + // 0x00560323: 0x00001E7E + "\x00v\x03#\x00\x00\x1e\u007f" + // 0x00760323: 0x00001E7F + "\x00W\x03\x00\x00\x00\x1e\x80" + // 0x00570300: 0x00001E80 + "\x00w\x03\x00\x00\x00\x1e\x81" + // 0x00770300: 0x00001E81 + "\x00W\x03\x01\x00\x00\x1e\x82" + // 0x00570301: 0x00001E82 + "\x00w\x03\x01\x00\x00\x1e\x83" + // 0x00770301: 0x00001E83 + "\x00W\x03\b\x00\x00\x1e\x84" + // 0x00570308: 0x00001E84 + "\x00w\x03\b\x00\x00\x1e\x85" + // 0x00770308: 0x00001E85 + "\x00W\x03\a\x00\x00\x1e\x86" + // 0x00570307: 0x00001E86 + "\x00w\x03\a\x00\x00\x1e\x87" + // 0x00770307: 0x00001E87 + "\x00W\x03#\x00\x00\x1e\x88" + // 0x00570323: 0x00001E88 + "\x00w\x03#\x00\x00\x1e\x89" + // 0x00770323: 0x00001E89 + "\x00X\x03\a\x00\x00\x1e\x8a" + // 0x00580307: 0x00001E8A + "\x00x\x03\a\x00\x00\x1e\x8b" + // 0x00780307: 0x00001E8B + "\x00X\x03\b\x00\x00\x1e\x8c" + // 0x00580308: 0x00001E8C + "\x00x\x03\b\x00\x00\x1e\x8d" + // 0x00780308: 0x00001E8D + "\x00Y\x03\a\x00\x00\x1e\x8e" + // 0x00590307: 0x00001E8E + "\x00y\x03\a\x00\x00\x1e\x8f" + // 0x00790307: 0x00001E8F + "\x00Z\x03\x02\x00\x00\x1e\x90" + // 0x005A0302: 0x00001E90 + "\x00z\x03\x02\x00\x00\x1e\x91" + // 0x007A0302: 0x00001E91 + "\x00Z\x03#\x00\x00\x1e\x92" + // 0x005A0323: 0x00001E92 + "\x00z\x03#\x00\x00\x1e\x93" + // 0x007A0323: 0x00001E93 + "\x00Z\x031\x00\x00\x1e\x94" + // 0x005A0331: 0x00001E94 + "\x00z\x031\x00\x00\x1e\x95" + // 0x007A0331: 0x00001E95 + "\x00h\x031\x00\x00\x1e\x96" + // 0x00680331: 0x00001E96 + "\x00t\x03\b\x00\x00\x1e\x97" + // 0x00740308: 0x00001E97 + "\x00w\x03\n\x00\x00\x1e\x98" + // 0x0077030A: 0x00001E98 + "\x00y\x03\n\x00\x00\x1e\x99" + // 0x0079030A: 0x00001E99 + "\x01\u007f\x03\a\x00\x00\x1e\x9b" + // 0x017F0307: 0x00001E9B + "\x00A\x03#\x00\x00\x1e\xa0" + // 0x00410323: 0x00001EA0 + "\x00a\x03#\x00\x00\x1e\xa1" + // 0x00610323: 0x00001EA1 + "\x00A\x03\t\x00\x00\x1e\xa2" + // 0x00410309: 0x00001EA2 + "\x00a\x03\t\x00\x00\x1e\xa3" + // 0x00610309: 0x00001EA3 + "\x00\xc2\x03\x01\x00\x00\x1e\xa4" + // 0x00C20301: 0x00001EA4 + "\x00\xe2\x03\x01\x00\x00\x1e\xa5" + // 0x00E20301: 0x00001EA5 + "\x00\xc2\x03\x00\x00\x00\x1e\xa6" + // 0x00C20300: 0x00001EA6 + "\x00\xe2\x03\x00\x00\x00\x1e\xa7" + // 0x00E20300: 0x00001EA7 + "\x00\xc2\x03\t\x00\x00\x1e\xa8" + // 0x00C20309: 0x00001EA8 + "\x00\xe2\x03\t\x00\x00\x1e\xa9" + // 0x00E20309: 0x00001EA9 + "\x00\xc2\x03\x03\x00\x00\x1e\xaa" + // 0x00C20303: 0x00001EAA + "\x00\xe2\x03\x03\x00\x00\x1e\xab" + // 0x00E20303: 0x00001EAB + "\x1e\xa0\x03\x02\x00\x00\x1e\xac" + // 0x1EA00302: 0x00001EAC + "\x1e\xa1\x03\x02\x00\x00\x1e\xad" + // 0x1EA10302: 0x00001EAD + "\x01\x02\x03\x01\x00\x00\x1e\xae" + // 0x01020301: 0x00001EAE + "\x01\x03\x03\x01\x00\x00\x1e\xaf" + // 0x01030301: 0x00001EAF + "\x01\x02\x03\x00\x00\x00\x1e\xb0" + // 0x01020300: 0x00001EB0 + "\x01\x03\x03\x00\x00\x00\x1e\xb1" + // 0x01030300: 0x00001EB1 + "\x01\x02\x03\t\x00\x00\x1e\xb2" + // 0x01020309: 0x00001EB2 + "\x01\x03\x03\t\x00\x00\x1e\xb3" + // 0x01030309: 0x00001EB3 + "\x01\x02\x03\x03\x00\x00\x1e\xb4" + // 0x01020303: 0x00001EB4 + "\x01\x03\x03\x03\x00\x00\x1e\xb5" + // 0x01030303: 0x00001EB5 + "\x1e\xa0\x03\x06\x00\x00\x1e\xb6" + // 0x1EA00306: 0x00001EB6 + "\x1e\xa1\x03\x06\x00\x00\x1e\xb7" + // 0x1EA10306: 0x00001EB7 + "\x00E\x03#\x00\x00\x1e\xb8" + // 0x00450323: 0x00001EB8 + "\x00e\x03#\x00\x00\x1e\xb9" + // 0x00650323: 0x00001EB9 + "\x00E\x03\t\x00\x00\x1e\xba" + // 0x00450309: 0x00001EBA + "\x00e\x03\t\x00\x00\x1e\xbb" + // 0x00650309: 0x00001EBB + "\x00E\x03\x03\x00\x00\x1e\xbc" + // 0x00450303: 0x00001EBC + "\x00e\x03\x03\x00\x00\x1e\xbd" + // 0x00650303: 0x00001EBD + "\x00\xca\x03\x01\x00\x00\x1e\xbe" + // 0x00CA0301: 0x00001EBE + "\x00\xea\x03\x01\x00\x00\x1e\xbf" + // 0x00EA0301: 0x00001EBF + "\x00\xca\x03\x00\x00\x00\x1e\xc0" + // 0x00CA0300: 0x00001EC0 + "\x00\xea\x03\x00\x00\x00\x1e\xc1" + // 0x00EA0300: 0x00001EC1 + "\x00\xca\x03\t\x00\x00\x1e\xc2" + // 0x00CA0309: 0x00001EC2 + "\x00\xea\x03\t\x00\x00\x1e\xc3" + // 0x00EA0309: 0x00001EC3 + "\x00\xca\x03\x03\x00\x00\x1e\xc4" + // 0x00CA0303: 0x00001EC4 + "\x00\xea\x03\x03\x00\x00\x1e\xc5" + // 0x00EA0303: 0x00001EC5 + "\x1e\xb8\x03\x02\x00\x00\x1e\xc6" + // 0x1EB80302: 0x00001EC6 + "\x1e\xb9\x03\x02\x00\x00\x1e\xc7" + // 0x1EB90302: 0x00001EC7 + "\x00I\x03\t\x00\x00\x1e\xc8" + // 0x00490309: 0x00001EC8 + "\x00i\x03\t\x00\x00\x1e\xc9" + // 0x00690309: 0x00001EC9 + "\x00I\x03#\x00\x00\x1e\xca" + // 0x00490323: 0x00001ECA + "\x00i\x03#\x00\x00\x1e\xcb" + // 0x00690323: 0x00001ECB + "\x00O\x03#\x00\x00\x1e\xcc" + // 0x004F0323: 0x00001ECC + "\x00o\x03#\x00\x00\x1e\xcd" + // 0x006F0323: 0x00001ECD + "\x00O\x03\t\x00\x00\x1e\xce" + // 0x004F0309: 0x00001ECE + "\x00o\x03\t\x00\x00\x1e\xcf" + // 0x006F0309: 0x00001ECF + "\x00\xd4\x03\x01\x00\x00\x1e\xd0" + // 0x00D40301: 0x00001ED0 + "\x00\xf4\x03\x01\x00\x00\x1e\xd1" + // 0x00F40301: 0x00001ED1 + "\x00\xd4\x03\x00\x00\x00\x1e\xd2" + // 0x00D40300: 0x00001ED2 + "\x00\xf4\x03\x00\x00\x00\x1e\xd3" + // 0x00F40300: 0x00001ED3 + "\x00\xd4\x03\t\x00\x00\x1e\xd4" + // 0x00D40309: 0x00001ED4 + "\x00\xf4\x03\t\x00\x00\x1e\xd5" + // 0x00F40309: 0x00001ED5 + "\x00\xd4\x03\x03\x00\x00\x1e\xd6" + // 0x00D40303: 0x00001ED6 + "\x00\xf4\x03\x03\x00\x00\x1e\xd7" + // 0x00F40303: 0x00001ED7 + "\x1e\xcc\x03\x02\x00\x00\x1e\xd8" + // 0x1ECC0302: 0x00001ED8 + "\x1e\xcd\x03\x02\x00\x00\x1e\xd9" + // 0x1ECD0302: 0x00001ED9 + "\x01\xa0\x03\x01\x00\x00\x1e\xda" + // 0x01A00301: 0x00001EDA + "\x01\xa1\x03\x01\x00\x00\x1e\xdb" + // 0x01A10301: 0x00001EDB + "\x01\xa0\x03\x00\x00\x00\x1e\xdc" + // 0x01A00300: 0x00001EDC + "\x01\xa1\x03\x00\x00\x00\x1e\xdd" + // 0x01A10300: 0x00001EDD + "\x01\xa0\x03\t\x00\x00\x1e\xde" + // 0x01A00309: 0x00001EDE + "\x01\xa1\x03\t\x00\x00\x1e\xdf" + // 0x01A10309: 0x00001EDF + "\x01\xa0\x03\x03\x00\x00\x1e\xe0" + // 0x01A00303: 0x00001EE0 + "\x01\xa1\x03\x03\x00\x00\x1e\xe1" + // 0x01A10303: 0x00001EE1 + "\x01\xa0\x03#\x00\x00\x1e\xe2" + // 0x01A00323: 0x00001EE2 + "\x01\xa1\x03#\x00\x00\x1e\xe3" + // 0x01A10323: 0x00001EE3 + "\x00U\x03#\x00\x00\x1e\xe4" + // 0x00550323: 0x00001EE4 + "\x00u\x03#\x00\x00\x1e\xe5" + // 0x00750323: 0x00001EE5 + "\x00U\x03\t\x00\x00\x1e\xe6" + // 0x00550309: 0x00001EE6 + "\x00u\x03\t\x00\x00\x1e\xe7" + // 0x00750309: 0x00001EE7 + "\x01\xaf\x03\x01\x00\x00\x1e\xe8" + // 0x01AF0301: 0x00001EE8 + "\x01\xb0\x03\x01\x00\x00\x1e\xe9" + // 0x01B00301: 0x00001EE9 + "\x01\xaf\x03\x00\x00\x00\x1e\xea" + // 0x01AF0300: 0x00001EEA + "\x01\xb0\x03\x00\x00\x00\x1e\xeb" + // 0x01B00300: 0x00001EEB + "\x01\xaf\x03\t\x00\x00\x1e\xec" + // 0x01AF0309: 0x00001EEC + "\x01\xb0\x03\t\x00\x00\x1e\xed" + // 0x01B00309: 0x00001EED + "\x01\xaf\x03\x03\x00\x00\x1e\xee" + // 0x01AF0303: 0x00001EEE + "\x01\xb0\x03\x03\x00\x00\x1e\xef" + // 0x01B00303: 0x00001EEF + "\x01\xaf\x03#\x00\x00\x1e\xf0" + // 0x01AF0323: 0x00001EF0 + "\x01\xb0\x03#\x00\x00\x1e\xf1" + // 0x01B00323: 0x00001EF1 + "\x00Y\x03\x00\x00\x00\x1e\xf2" + // 0x00590300: 0x00001EF2 + "\x00y\x03\x00\x00\x00\x1e\xf3" + // 0x00790300: 0x00001EF3 + "\x00Y\x03#\x00\x00\x1e\xf4" + // 0x00590323: 0x00001EF4 + "\x00y\x03#\x00\x00\x1e\xf5" + // 0x00790323: 0x00001EF5 + "\x00Y\x03\t\x00\x00\x1e\xf6" + // 0x00590309: 0x00001EF6 + "\x00y\x03\t\x00\x00\x1e\xf7" + // 0x00790309: 0x00001EF7 + "\x00Y\x03\x03\x00\x00\x1e\xf8" + // 0x00590303: 0x00001EF8 + "\x00y\x03\x03\x00\x00\x1e\xf9" + // 0x00790303: 0x00001EF9 + "\x03\xb1\x03\x13\x00\x00\x1f\x00" + // 0x03B10313: 0x00001F00 + "\x03\xb1\x03\x14\x00\x00\x1f\x01" + // 0x03B10314: 0x00001F01 + "\x1f\x00\x03\x00\x00\x00\x1f\x02" + // 0x1F000300: 0x00001F02 + "\x1f\x01\x03\x00\x00\x00\x1f\x03" + // 0x1F010300: 0x00001F03 + "\x1f\x00\x03\x01\x00\x00\x1f\x04" + // 0x1F000301: 0x00001F04 + "\x1f\x01\x03\x01\x00\x00\x1f\x05" + // 0x1F010301: 0x00001F05 + "\x1f\x00\x03B\x00\x00\x1f\x06" + // 0x1F000342: 0x00001F06 + "\x1f\x01\x03B\x00\x00\x1f\a" + // 0x1F010342: 0x00001F07 + "\x03\x91\x03\x13\x00\x00\x1f\b" + // 0x03910313: 0x00001F08 + "\x03\x91\x03\x14\x00\x00\x1f\t" + // 0x03910314: 0x00001F09 + "\x1f\b\x03\x00\x00\x00\x1f\n" + // 0x1F080300: 0x00001F0A + "\x1f\t\x03\x00\x00\x00\x1f\v" + // 0x1F090300: 0x00001F0B + "\x1f\b\x03\x01\x00\x00\x1f\f" + // 0x1F080301: 0x00001F0C + "\x1f\t\x03\x01\x00\x00\x1f\r" + // 0x1F090301: 0x00001F0D + "\x1f\b\x03B\x00\x00\x1f\x0e" + // 0x1F080342: 0x00001F0E + "\x1f\t\x03B\x00\x00\x1f\x0f" + // 0x1F090342: 0x00001F0F + "\x03\xb5\x03\x13\x00\x00\x1f\x10" + // 0x03B50313: 0x00001F10 + "\x03\xb5\x03\x14\x00\x00\x1f\x11" + // 0x03B50314: 0x00001F11 + "\x1f\x10\x03\x00\x00\x00\x1f\x12" + // 0x1F100300: 0x00001F12 + "\x1f\x11\x03\x00\x00\x00\x1f\x13" + // 0x1F110300: 0x00001F13 + "\x1f\x10\x03\x01\x00\x00\x1f\x14" + // 0x1F100301: 0x00001F14 + "\x1f\x11\x03\x01\x00\x00\x1f\x15" + // 0x1F110301: 0x00001F15 + "\x03\x95\x03\x13\x00\x00\x1f\x18" + // 0x03950313: 0x00001F18 + "\x03\x95\x03\x14\x00\x00\x1f\x19" + // 0x03950314: 0x00001F19 + "\x1f\x18\x03\x00\x00\x00\x1f\x1a" + // 0x1F180300: 0x00001F1A + "\x1f\x19\x03\x00\x00\x00\x1f\x1b" + // 0x1F190300: 0x00001F1B + "\x1f\x18\x03\x01\x00\x00\x1f\x1c" + // 0x1F180301: 0x00001F1C + "\x1f\x19\x03\x01\x00\x00\x1f\x1d" + // 0x1F190301: 0x00001F1D + "\x03\xb7\x03\x13\x00\x00\x1f " + // 0x03B70313: 0x00001F20 + "\x03\xb7\x03\x14\x00\x00\x1f!" + // 0x03B70314: 0x00001F21 + "\x1f \x03\x00\x00\x00\x1f\"" + // 0x1F200300: 0x00001F22 + "\x1f!\x03\x00\x00\x00\x1f#" + // 0x1F210300: 0x00001F23 + "\x1f \x03\x01\x00\x00\x1f$" + // 0x1F200301: 0x00001F24 + "\x1f!\x03\x01\x00\x00\x1f%" + // 0x1F210301: 0x00001F25 + "\x1f \x03B\x00\x00\x1f&" + // 0x1F200342: 0x00001F26 + "\x1f!\x03B\x00\x00\x1f'" + // 0x1F210342: 0x00001F27 + "\x03\x97\x03\x13\x00\x00\x1f(" + // 0x03970313: 0x00001F28 + "\x03\x97\x03\x14\x00\x00\x1f)" + // 0x03970314: 0x00001F29 + "\x1f(\x03\x00\x00\x00\x1f*" + // 0x1F280300: 0x00001F2A + "\x1f)\x03\x00\x00\x00\x1f+" + // 0x1F290300: 0x00001F2B + "\x1f(\x03\x01\x00\x00\x1f," + // 0x1F280301: 0x00001F2C + "\x1f)\x03\x01\x00\x00\x1f-" + // 0x1F290301: 0x00001F2D + "\x1f(\x03B\x00\x00\x1f." + // 0x1F280342: 0x00001F2E + "\x1f)\x03B\x00\x00\x1f/" + // 0x1F290342: 0x00001F2F + "\x03\xb9\x03\x13\x00\x00\x1f0" + // 0x03B90313: 0x00001F30 + "\x03\xb9\x03\x14\x00\x00\x1f1" + // 0x03B90314: 0x00001F31 + "\x1f0\x03\x00\x00\x00\x1f2" + // 0x1F300300: 0x00001F32 + "\x1f1\x03\x00\x00\x00\x1f3" + // 0x1F310300: 0x00001F33 + "\x1f0\x03\x01\x00\x00\x1f4" + // 0x1F300301: 0x00001F34 + "\x1f1\x03\x01\x00\x00\x1f5" + // 0x1F310301: 0x00001F35 + "\x1f0\x03B\x00\x00\x1f6" + // 0x1F300342: 0x00001F36 + "\x1f1\x03B\x00\x00\x1f7" + // 0x1F310342: 0x00001F37 + "\x03\x99\x03\x13\x00\x00\x1f8" + // 0x03990313: 0x00001F38 + "\x03\x99\x03\x14\x00\x00\x1f9" + // 0x03990314: 0x00001F39 + "\x1f8\x03\x00\x00\x00\x1f:" + // 0x1F380300: 0x00001F3A + "\x1f9\x03\x00\x00\x00\x1f;" + // 0x1F390300: 0x00001F3B + "\x1f8\x03\x01\x00\x00\x1f<" + // 0x1F380301: 0x00001F3C + "\x1f9\x03\x01\x00\x00\x1f=" + // 0x1F390301: 0x00001F3D + "\x1f8\x03B\x00\x00\x1f>" + // 0x1F380342: 0x00001F3E + "\x1f9\x03B\x00\x00\x1f?" + // 0x1F390342: 0x00001F3F + "\x03\xbf\x03\x13\x00\x00\x1f@" + // 0x03BF0313: 0x00001F40 + "\x03\xbf\x03\x14\x00\x00\x1fA" + // 0x03BF0314: 0x00001F41 + "\x1f@\x03\x00\x00\x00\x1fB" + // 0x1F400300: 0x00001F42 + "\x1fA\x03\x00\x00\x00\x1fC" + // 0x1F410300: 0x00001F43 + "\x1f@\x03\x01\x00\x00\x1fD" + // 0x1F400301: 0x00001F44 + "\x1fA\x03\x01\x00\x00\x1fE" + // 0x1F410301: 0x00001F45 + "\x03\x9f\x03\x13\x00\x00\x1fH" + // 0x039F0313: 0x00001F48 + "\x03\x9f\x03\x14\x00\x00\x1fI" + // 0x039F0314: 0x00001F49 + "\x1fH\x03\x00\x00\x00\x1fJ" + // 0x1F480300: 0x00001F4A + "\x1fI\x03\x00\x00\x00\x1fK" + // 0x1F490300: 0x00001F4B + "\x1fH\x03\x01\x00\x00\x1fL" + // 0x1F480301: 0x00001F4C + "\x1fI\x03\x01\x00\x00\x1fM" + // 0x1F490301: 0x00001F4D + "\x03\xc5\x03\x13\x00\x00\x1fP" + // 0x03C50313: 0x00001F50 + "\x03\xc5\x03\x14\x00\x00\x1fQ" + // 0x03C50314: 0x00001F51 + "\x1fP\x03\x00\x00\x00\x1fR" + // 0x1F500300: 0x00001F52 + "\x1fQ\x03\x00\x00\x00\x1fS" + // 0x1F510300: 0x00001F53 + "\x1fP\x03\x01\x00\x00\x1fT" + // 0x1F500301: 0x00001F54 + "\x1fQ\x03\x01\x00\x00\x1fU" + // 0x1F510301: 0x00001F55 + "\x1fP\x03B\x00\x00\x1fV" + // 0x1F500342: 0x00001F56 + "\x1fQ\x03B\x00\x00\x1fW" + // 0x1F510342: 0x00001F57 + "\x03\xa5\x03\x14\x00\x00\x1fY" + // 0x03A50314: 0x00001F59 + "\x1fY\x03\x00\x00\x00\x1f[" + // 0x1F590300: 0x00001F5B + "\x1fY\x03\x01\x00\x00\x1f]" + // 0x1F590301: 0x00001F5D + "\x1fY\x03B\x00\x00\x1f_" + // 0x1F590342: 0x00001F5F + "\x03\xc9\x03\x13\x00\x00\x1f`" + // 0x03C90313: 0x00001F60 + "\x03\xc9\x03\x14\x00\x00\x1fa" + // 0x03C90314: 0x00001F61 + "\x1f`\x03\x00\x00\x00\x1fb" + // 0x1F600300: 0x00001F62 + "\x1fa\x03\x00\x00\x00\x1fc" + // 0x1F610300: 0x00001F63 + "\x1f`\x03\x01\x00\x00\x1fd" + // 0x1F600301: 0x00001F64 + "\x1fa\x03\x01\x00\x00\x1fe" + // 0x1F610301: 0x00001F65 + "\x1f`\x03B\x00\x00\x1ff" + // 0x1F600342: 0x00001F66 + "\x1fa\x03B\x00\x00\x1fg" + // 0x1F610342: 0x00001F67 + "\x03\xa9\x03\x13\x00\x00\x1fh" + // 0x03A90313: 0x00001F68 + "\x03\xa9\x03\x14\x00\x00\x1fi" + // 0x03A90314: 0x00001F69 + "\x1fh\x03\x00\x00\x00\x1fj" + // 0x1F680300: 0x00001F6A + "\x1fi\x03\x00\x00\x00\x1fk" + // 0x1F690300: 0x00001F6B + "\x1fh\x03\x01\x00\x00\x1fl" + // 0x1F680301: 0x00001F6C + "\x1fi\x03\x01\x00\x00\x1fm" + // 0x1F690301: 0x00001F6D + "\x1fh\x03B\x00\x00\x1fn" + // 0x1F680342: 0x00001F6E + "\x1fi\x03B\x00\x00\x1fo" + // 0x1F690342: 0x00001F6F + "\x03\xb1\x03\x00\x00\x00\x1fp" + // 0x03B10300: 0x00001F70 + "\x03\xb5\x03\x00\x00\x00\x1fr" + // 0x03B50300: 0x00001F72 + "\x03\xb7\x03\x00\x00\x00\x1ft" + // 0x03B70300: 0x00001F74 + "\x03\xb9\x03\x00\x00\x00\x1fv" + // 0x03B90300: 0x00001F76 + "\x03\xbf\x03\x00\x00\x00\x1fx" + // 0x03BF0300: 0x00001F78 + "\x03\xc5\x03\x00\x00\x00\x1fz" + // 0x03C50300: 0x00001F7A + "\x03\xc9\x03\x00\x00\x00\x1f|" + // 0x03C90300: 0x00001F7C + "\x1f\x00\x03E\x00\x00\x1f\x80" + // 0x1F000345: 0x00001F80 + "\x1f\x01\x03E\x00\x00\x1f\x81" + // 0x1F010345: 0x00001F81 + "\x1f\x02\x03E\x00\x00\x1f\x82" + // 0x1F020345: 0x00001F82 + "\x1f\x03\x03E\x00\x00\x1f\x83" + // 0x1F030345: 0x00001F83 + "\x1f\x04\x03E\x00\x00\x1f\x84" + // 0x1F040345: 0x00001F84 + "\x1f\x05\x03E\x00\x00\x1f\x85" + // 0x1F050345: 0x00001F85 + "\x1f\x06\x03E\x00\x00\x1f\x86" + // 0x1F060345: 0x00001F86 + "\x1f\a\x03E\x00\x00\x1f\x87" + // 0x1F070345: 0x00001F87 + "\x1f\b\x03E\x00\x00\x1f\x88" + // 0x1F080345: 0x00001F88 + "\x1f\t\x03E\x00\x00\x1f\x89" + // 0x1F090345: 0x00001F89 + "\x1f\n\x03E\x00\x00\x1f\x8a" + // 0x1F0A0345: 0x00001F8A + "\x1f\v\x03E\x00\x00\x1f\x8b" + // 0x1F0B0345: 0x00001F8B + "\x1f\f\x03E\x00\x00\x1f\x8c" + // 0x1F0C0345: 0x00001F8C + "\x1f\r\x03E\x00\x00\x1f\x8d" + // 0x1F0D0345: 0x00001F8D + "\x1f\x0e\x03E\x00\x00\x1f\x8e" + // 0x1F0E0345: 0x00001F8E + "\x1f\x0f\x03E\x00\x00\x1f\x8f" + // 0x1F0F0345: 0x00001F8F + "\x1f \x03E\x00\x00\x1f\x90" + // 0x1F200345: 0x00001F90 + "\x1f!\x03E\x00\x00\x1f\x91" + // 0x1F210345: 0x00001F91 + "\x1f\"\x03E\x00\x00\x1f\x92" + // 0x1F220345: 0x00001F92 + "\x1f#\x03E\x00\x00\x1f\x93" + // 0x1F230345: 0x00001F93 + "\x1f$\x03E\x00\x00\x1f\x94" + // 0x1F240345: 0x00001F94 + "\x1f%\x03E\x00\x00\x1f\x95" + // 0x1F250345: 0x00001F95 + "\x1f&\x03E\x00\x00\x1f\x96" + // 0x1F260345: 0x00001F96 + "\x1f'\x03E\x00\x00\x1f\x97" + // 0x1F270345: 0x00001F97 + "\x1f(\x03E\x00\x00\x1f\x98" + // 0x1F280345: 0x00001F98 + "\x1f)\x03E\x00\x00\x1f\x99" + // 0x1F290345: 0x00001F99 + "\x1f*\x03E\x00\x00\x1f\x9a" + // 0x1F2A0345: 0x00001F9A + "\x1f+\x03E\x00\x00\x1f\x9b" + // 0x1F2B0345: 0x00001F9B + "\x1f,\x03E\x00\x00\x1f\x9c" + // 0x1F2C0345: 0x00001F9C + "\x1f-\x03E\x00\x00\x1f\x9d" + // 0x1F2D0345: 0x00001F9D + "\x1f.\x03E\x00\x00\x1f\x9e" + // 0x1F2E0345: 0x00001F9E + "\x1f/\x03E\x00\x00\x1f\x9f" + // 0x1F2F0345: 0x00001F9F + "\x1f`\x03E\x00\x00\x1f\xa0" + // 0x1F600345: 0x00001FA0 + "\x1fa\x03E\x00\x00\x1f\xa1" + // 0x1F610345: 0x00001FA1 + "\x1fb\x03E\x00\x00\x1f\xa2" + // 0x1F620345: 0x00001FA2 + "\x1fc\x03E\x00\x00\x1f\xa3" + // 0x1F630345: 0x00001FA3 + "\x1fd\x03E\x00\x00\x1f\xa4" + // 0x1F640345: 0x00001FA4 + "\x1fe\x03E\x00\x00\x1f\xa5" + // 0x1F650345: 0x00001FA5 + "\x1ff\x03E\x00\x00\x1f\xa6" + // 0x1F660345: 0x00001FA6 + "\x1fg\x03E\x00\x00\x1f\xa7" + // 0x1F670345: 0x00001FA7 + "\x1fh\x03E\x00\x00\x1f\xa8" + // 0x1F680345: 0x00001FA8 + "\x1fi\x03E\x00\x00\x1f\xa9" + // 0x1F690345: 0x00001FA9 + "\x1fj\x03E\x00\x00\x1f\xaa" + // 0x1F6A0345: 0x00001FAA + "\x1fk\x03E\x00\x00\x1f\xab" + // 0x1F6B0345: 0x00001FAB + "\x1fl\x03E\x00\x00\x1f\xac" + // 0x1F6C0345: 0x00001FAC + "\x1fm\x03E\x00\x00\x1f\xad" + // 0x1F6D0345: 0x00001FAD + "\x1fn\x03E\x00\x00\x1f\xae" + // 0x1F6E0345: 0x00001FAE + "\x1fo\x03E\x00\x00\x1f\xaf" + // 0x1F6F0345: 0x00001FAF + "\x03\xb1\x03\x06\x00\x00\x1f\xb0" + // 0x03B10306: 0x00001FB0 + "\x03\xb1\x03\x04\x00\x00\x1f\xb1" + // 0x03B10304: 0x00001FB1 + "\x1fp\x03E\x00\x00\x1f\xb2" + // 0x1F700345: 0x00001FB2 + "\x03\xb1\x03E\x00\x00\x1f\xb3" + // 0x03B10345: 0x00001FB3 + "\x03\xac\x03E\x00\x00\x1f\xb4" + // 0x03AC0345: 0x00001FB4 + "\x03\xb1\x03B\x00\x00\x1f\xb6" + // 0x03B10342: 0x00001FB6 + "\x1f\xb6\x03E\x00\x00\x1f\xb7" + // 0x1FB60345: 0x00001FB7 + "\x03\x91\x03\x06\x00\x00\x1f\xb8" + // 0x03910306: 0x00001FB8 + "\x03\x91\x03\x04\x00\x00\x1f\xb9" + // 0x03910304: 0x00001FB9 + "\x03\x91\x03\x00\x00\x00\x1f\xba" + // 0x03910300: 0x00001FBA + "\x03\x91\x03E\x00\x00\x1f\xbc" + // 0x03910345: 0x00001FBC + "\x00\xa8\x03B\x00\x00\x1f\xc1" + // 0x00A80342: 0x00001FC1 + "\x1ft\x03E\x00\x00\x1f\xc2" + // 0x1F740345: 0x00001FC2 + "\x03\xb7\x03E\x00\x00\x1f\xc3" + // 0x03B70345: 0x00001FC3 + "\x03\xae\x03E\x00\x00\x1f\xc4" + // 0x03AE0345: 0x00001FC4 + "\x03\xb7\x03B\x00\x00\x1f\xc6" + // 0x03B70342: 0x00001FC6 + "\x1f\xc6\x03E\x00\x00\x1f\xc7" + // 0x1FC60345: 0x00001FC7 + "\x03\x95\x03\x00\x00\x00\x1f\xc8" + // 0x03950300: 0x00001FC8 + "\x03\x97\x03\x00\x00\x00\x1f\xca" + // 0x03970300: 0x00001FCA + "\x03\x97\x03E\x00\x00\x1f\xcc" + // 0x03970345: 0x00001FCC + "\x1f\xbf\x03\x00\x00\x00\x1f\xcd" + // 0x1FBF0300: 0x00001FCD + "\x1f\xbf\x03\x01\x00\x00\x1f\xce" + // 0x1FBF0301: 0x00001FCE + "\x1f\xbf\x03B\x00\x00\x1f\xcf" + // 0x1FBF0342: 0x00001FCF + "\x03\xb9\x03\x06\x00\x00\x1f\xd0" + // 0x03B90306: 0x00001FD0 + "\x03\xb9\x03\x04\x00\x00\x1f\xd1" + // 0x03B90304: 0x00001FD1 + "\x03\xca\x03\x00\x00\x00\x1f\xd2" + // 0x03CA0300: 0x00001FD2 + "\x03\xb9\x03B\x00\x00\x1f\xd6" + // 0x03B90342: 0x00001FD6 + "\x03\xca\x03B\x00\x00\x1f\xd7" + // 0x03CA0342: 0x00001FD7 + "\x03\x99\x03\x06\x00\x00\x1f\xd8" + // 0x03990306: 0x00001FD8 + "\x03\x99\x03\x04\x00\x00\x1f\xd9" + // 0x03990304: 0x00001FD9 + "\x03\x99\x03\x00\x00\x00\x1f\xda" + // 0x03990300: 0x00001FDA + "\x1f\xfe\x03\x00\x00\x00\x1f\xdd" + // 0x1FFE0300: 0x00001FDD + "\x1f\xfe\x03\x01\x00\x00\x1f\xde" + // 0x1FFE0301: 0x00001FDE + "\x1f\xfe\x03B\x00\x00\x1f\xdf" + // 0x1FFE0342: 0x00001FDF + "\x03\xc5\x03\x06\x00\x00\x1f\xe0" + // 0x03C50306: 0x00001FE0 + "\x03\xc5\x03\x04\x00\x00\x1f\xe1" + // 0x03C50304: 0x00001FE1 + "\x03\xcb\x03\x00\x00\x00\x1f\xe2" + // 0x03CB0300: 0x00001FE2 + "\x03\xc1\x03\x13\x00\x00\x1f\xe4" + // 0x03C10313: 0x00001FE4 + "\x03\xc1\x03\x14\x00\x00\x1f\xe5" + // 0x03C10314: 0x00001FE5 + "\x03\xc5\x03B\x00\x00\x1f\xe6" + // 0x03C50342: 0x00001FE6 + "\x03\xcb\x03B\x00\x00\x1f\xe7" + // 0x03CB0342: 0x00001FE7 + "\x03\xa5\x03\x06\x00\x00\x1f\xe8" + // 0x03A50306: 0x00001FE8 + "\x03\xa5\x03\x04\x00\x00\x1f\xe9" + // 0x03A50304: 0x00001FE9 + "\x03\xa5\x03\x00\x00\x00\x1f\xea" + // 0x03A50300: 0x00001FEA + "\x03\xa1\x03\x14\x00\x00\x1f\xec" + // 0x03A10314: 0x00001FEC + "\x00\xa8\x03\x00\x00\x00\x1f\xed" + // 0x00A80300: 0x00001FED + "\x1f|\x03E\x00\x00\x1f\xf2" + // 0x1F7C0345: 0x00001FF2 + "\x03\xc9\x03E\x00\x00\x1f\xf3" + // 0x03C90345: 0x00001FF3 + "\x03\xce\x03E\x00\x00\x1f\xf4" + // 0x03CE0345: 0x00001FF4 + "\x03\xc9\x03B\x00\x00\x1f\xf6" + // 0x03C90342: 0x00001FF6 + "\x1f\xf6\x03E\x00\x00\x1f\xf7" + // 0x1FF60345: 0x00001FF7 + "\x03\x9f\x03\x00\x00\x00\x1f\xf8" + // 0x039F0300: 0x00001FF8 + "\x03\xa9\x03\x00\x00\x00\x1f\xfa" + // 0x03A90300: 0x00001FFA + "\x03\xa9\x03E\x00\x00\x1f\xfc" + // 0x03A90345: 0x00001FFC + "!\x90\x038\x00\x00!\x9a" + // 0x21900338: 0x0000219A + "!\x92\x038\x00\x00!\x9b" + // 0x21920338: 0x0000219B + "!\x94\x038\x00\x00!\xae" + // 0x21940338: 0x000021AE + "!\xd0\x038\x00\x00!\xcd" + // 0x21D00338: 0x000021CD + "!\xd4\x038\x00\x00!\xce" + // 0x21D40338: 0x000021CE + "!\xd2\x038\x00\x00!\xcf" + // 0x21D20338: 0x000021CF + "\"\x03\x038\x00\x00\"\x04" + // 0x22030338: 0x00002204 + "\"\b\x038\x00\x00\"\t" + // 0x22080338: 0x00002209 + "\"\v\x038\x00\x00\"\f" + // 0x220B0338: 0x0000220C + "\"#\x038\x00\x00\"$" + // 0x22230338: 0x00002224 + "\"%\x038\x00\x00\"&" + // 0x22250338: 0x00002226 + "\"<\x038\x00\x00\"A" + // 0x223C0338: 0x00002241 + "\"C\x038\x00\x00\"D" + // 0x22430338: 0x00002244 + "\"E\x038\x00\x00\"G" + // 0x22450338: 0x00002247 + "\"H\x038\x00\x00\"I" + // 0x22480338: 0x00002249 + "\x00=\x038\x00\x00\"`" + // 0x003D0338: 0x00002260 + "\"a\x038\x00\x00\"b" + // 0x22610338: 0x00002262 + "\"M\x038\x00\x00\"m" + // 0x224D0338: 0x0000226D + "\x00<\x038\x00\x00\"n" + // 0x003C0338: 0x0000226E + "\x00>\x038\x00\x00\"o" + // 0x003E0338: 0x0000226F + "\"d\x038\x00\x00\"p" + // 0x22640338: 0x00002270 + "\"e\x038\x00\x00\"q" + // 0x22650338: 0x00002271 + "\"r\x038\x00\x00\"t" + // 0x22720338: 0x00002274 + "\"s\x038\x00\x00\"u" + // 0x22730338: 0x00002275 + "\"v\x038\x00\x00\"x" + // 0x22760338: 0x00002278 + "\"w\x038\x00\x00\"y" + // 0x22770338: 0x00002279 + "\"z\x038\x00\x00\"\x80" + // 0x227A0338: 0x00002280 + "\"{\x038\x00\x00\"\x81" + // 0x227B0338: 0x00002281 + "\"\x82\x038\x00\x00\"\x84" + // 0x22820338: 0x00002284 + "\"\x83\x038\x00\x00\"\x85" + // 0x22830338: 0x00002285 + "\"\x86\x038\x00\x00\"\x88" + // 0x22860338: 0x00002288 + "\"\x87\x038\x00\x00\"\x89" + // 0x22870338: 0x00002289 + "\"\xa2\x038\x00\x00\"\xac" + // 0x22A20338: 0x000022AC + "\"\xa8\x038\x00\x00\"\xad" + // 0x22A80338: 0x000022AD + "\"\xa9\x038\x00\x00\"\xae" + // 0x22A90338: 0x000022AE + "\"\xab\x038\x00\x00\"\xaf" + // 0x22AB0338: 0x000022AF + "\"|\x038\x00\x00\"\xe0" + // 0x227C0338: 0x000022E0 + "\"}\x038\x00\x00\"\xe1" + // 0x227D0338: 0x000022E1 + "\"\x91\x038\x00\x00\"\xe2" + // 0x22910338: 0x000022E2 + "\"\x92\x038\x00\x00\"\xe3" + // 0x22920338: 0x000022E3 + "\"\xb2\x038\x00\x00\"\xea" + // 0x22B20338: 0x000022EA + "\"\xb3\x038\x00\x00\"\xeb" + // 0x22B30338: 0x000022EB + "\"\xb4\x038\x00\x00\"\xec" + // 0x22B40338: 0x000022EC + "\"\xb5\x038\x00\x00\"\xed" + // 0x22B50338: 0x000022ED + "0K0\x99\x00\x000L" + // 0x304B3099: 0x0000304C + "0M0\x99\x00\x000N" + // 0x304D3099: 0x0000304E + "0O0\x99\x00\x000P" + // 0x304F3099: 0x00003050 + "0Q0\x99\x00\x000R" + // 0x30513099: 0x00003052 + "0S0\x99\x00\x000T" + // 0x30533099: 0x00003054 + "0U0\x99\x00\x000V" + // 0x30553099: 0x00003056 + "0W0\x99\x00\x000X" + // 0x30573099: 0x00003058 + "0Y0\x99\x00\x000Z" + // 0x30593099: 0x0000305A + "0[0\x99\x00\x000\\" + // 0x305B3099: 0x0000305C + "0]0\x99\x00\x000^" + // 0x305D3099: 0x0000305E + "0_0\x99\x00\x000`" + // 0x305F3099: 0x00003060 + "0a0\x99\x00\x000b" + // 0x30613099: 0x00003062 + "0d0\x99\x00\x000e" + // 0x30643099: 0x00003065 + "0f0\x99\x00\x000g" + // 0x30663099: 0x00003067 + "0h0\x99\x00\x000i" + // 0x30683099: 0x00003069 + "0o0\x99\x00\x000p" + // 0x306F3099: 0x00003070 + "0o0\x9a\x00\x000q" + // 0x306F309A: 0x00003071 + "0r0\x99\x00\x000s" + // 0x30723099: 0x00003073 + "0r0\x9a\x00\x000t" + // 0x3072309A: 0x00003074 + "0u0\x99\x00\x000v" + // 0x30753099: 0x00003076 + "0u0\x9a\x00\x000w" + // 0x3075309A: 0x00003077 + "0x0\x99\x00\x000y" + // 0x30783099: 0x00003079 + "0x0\x9a\x00\x000z" + // 0x3078309A: 0x0000307A + "0{0\x99\x00\x000|" + // 0x307B3099: 0x0000307C + "0{0\x9a\x00\x000}" + // 0x307B309A: 0x0000307D + "0F0\x99\x00\x000\x94" + // 0x30463099: 0x00003094 + "0\x9d0\x99\x00\x000\x9e" + // 0x309D3099: 0x0000309E + "0\xab0\x99\x00\x000\xac" + // 0x30AB3099: 0x000030AC + "0\xad0\x99\x00\x000\xae" + // 0x30AD3099: 0x000030AE + "0\xaf0\x99\x00\x000\xb0" + // 0x30AF3099: 0x000030B0 + "0\xb10\x99\x00\x000\xb2" + // 0x30B13099: 0x000030B2 + "0\xb30\x99\x00\x000\xb4" + // 0x30B33099: 0x000030B4 + "0\xb50\x99\x00\x000\xb6" + // 0x30B53099: 0x000030B6 + "0\xb70\x99\x00\x000\xb8" + // 0x30B73099: 0x000030B8 + "0\xb90\x99\x00\x000\xba" + // 0x30B93099: 0x000030BA + "0\xbb0\x99\x00\x000\xbc" + // 0x30BB3099: 0x000030BC + "0\xbd0\x99\x00\x000\xbe" + // 0x30BD3099: 0x000030BE + "0\xbf0\x99\x00\x000\xc0" + // 0x30BF3099: 0x000030C0 + "0\xc10\x99\x00\x000\xc2" + // 0x30C13099: 0x000030C2 + "0\xc40\x99\x00\x000\xc5" + // 0x30C43099: 0x000030C5 + "0\xc60\x99\x00\x000\xc7" + // 0x30C63099: 0x000030C7 + "0\xc80\x99\x00\x000\xc9" + // 0x30C83099: 0x000030C9 + "0\xcf0\x99\x00\x000\xd0" + // 0x30CF3099: 0x000030D0 + "0\xcf0\x9a\x00\x000\xd1" + // 0x30CF309A: 0x000030D1 + "0\xd20\x99\x00\x000\xd3" + // 0x30D23099: 0x000030D3 + "0\xd20\x9a\x00\x000\xd4" + // 0x30D2309A: 0x000030D4 + "0\xd50\x99\x00\x000\xd6" + // 0x30D53099: 0x000030D6 + "0\xd50\x9a\x00\x000\xd7" + // 0x30D5309A: 0x000030D7 + "0\xd80\x99\x00\x000\xd9" + // 0x30D83099: 0x000030D9 + "0\xd80\x9a\x00\x000\xda" + // 0x30D8309A: 0x000030DA + "0\xdb0\x99\x00\x000\xdc" + // 0x30DB3099: 0x000030DC + "0\xdb0\x9a\x00\x000\xdd" + // 0x30DB309A: 0x000030DD + "0\xa60\x99\x00\x000\xf4" + // 0x30A63099: 0x000030F4 + "0\xef0\x99\x00\x000\xf7" + // 0x30EF3099: 0x000030F7 + "0\xf00\x99\x00\x000\xf8" + // 0x30F03099: 0x000030F8 + "0\xf10\x99\x00\x000\xf9" + // 0x30F13099: 0x000030F9 + "0\xf20\x99\x00\x000\xfa" + // 0x30F23099: 0x000030FA + "0\xfd0\x99\x00\x000\xfe" + // 0x30FD3099: 0x000030FE + "\x10\x99\x10\xba\x00\x01\x10\x9a" + // 0x109910BA: 0x0001109A + "\x10\x9b\x10\xba\x00\x01\x10\x9c" + // 0x109B10BA: 0x0001109C + "\x10\xa5\x10\xba\x00\x01\x10\xab" + // 0x10A510BA: 0x000110AB + "\x111\x11'\x00\x01\x11." + // 0x11311127: 0x0001112E + "\x112\x11'\x00\x01\x11/" + // 0x11321127: 0x0001112F + "\x13G\x13>\x00\x01\x13K" + // 0x1347133E: 0x0001134B + "\x13G\x13W\x00\x01\x13L" + // 0x13471357: 0x0001134C + "\x14\xb9\x14\xba\x00\x01\x14\xbb" + // 0x14B914BA: 0x000114BB + "\x14\xb9\x14\xb0\x00\x01\x14\xbc" + // 0x14B914B0: 0x000114BC + "\x14\xb9\x14\xbd\x00\x01\x14\xbe" + // 0x14B914BD: 0x000114BE + "\x15\xb8\x15\xaf\x00\x01\x15\xba" + // 0x15B815AF: 0x000115BA + "\x15\xb9\x15\xaf\x00\x01\x15\xbb" + // 0x15B915AF: 0x000115BB + "" + // Total size of tables: 53KB (54226 bytes) diff --git a/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go new file mode 100644 index 00000000..7297cce3 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go @@ -0,0 +1,7693 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// +build go1.13 + +package norm + +import "sync" + +const ( + // Version is the Unicode edition from which the tables are derived. + Version = "11.0.0" + + // MaxTransformChunkSize indicates the maximum number of bytes that Transform + // may need to write atomically for any Form. Making a destination buffer at + // least this size ensures that Transform can always make progress and that + // the user does not need to grow the buffer on an ErrShortDst. + MaxTransformChunkSize = 35 + maxNonStarters*4 +) + +var ccc = [55]uint8{ + 0, 1, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, + 84, 91, 103, 107, 118, 122, 129, 130, + 132, 202, 214, 216, 218, 220, 222, 224, + 226, 228, 230, 232, 233, 234, 240, +} + +const ( + firstMulti = 0x186D + firstCCC = 0x2C9E + endMulti = 0x2F60 + firstLeadingCCC = 0x49AE + firstCCCZeroExcept = 0x4A78 + firstStarterWithNLead = 0x4A9F + lastDecomp = 0x4AA1 + maxDecomp = 0x8000 +) + +// decomps: 19105 bytes +var decomps = [...]byte{ + // Bytes 0 - 3f + 0x00, 0x41, 0x20, 0x41, 0x21, 0x41, 0x22, 0x41, + 0x23, 0x41, 0x24, 0x41, 0x25, 0x41, 0x26, 0x41, + 0x27, 0x41, 0x28, 0x41, 0x29, 0x41, 0x2A, 0x41, + 0x2B, 0x41, 0x2C, 0x41, 0x2D, 0x41, 0x2E, 0x41, + 0x2F, 0x41, 0x30, 0x41, 0x31, 0x41, 0x32, 0x41, + 0x33, 0x41, 0x34, 0x41, 0x35, 0x41, 0x36, 0x41, + 0x37, 0x41, 0x38, 0x41, 0x39, 0x41, 0x3A, 0x41, + 0x3B, 0x41, 0x3C, 0x41, 0x3D, 0x41, 0x3E, 0x41, + // Bytes 40 - 7f + 0x3F, 0x41, 0x40, 0x41, 0x41, 0x41, 0x42, 0x41, + 0x43, 0x41, 0x44, 0x41, 0x45, 0x41, 0x46, 0x41, + 0x47, 0x41, 0x48, 0x41, 0x49, 0x41, 0x4A, 0x41, + 0x4B, 0x41, 0x4C, 0x41, 0x4D, 0x41, 0x4E, 0x41, + 0x4F, 0x41, 0x50, 0x41, 0x51, 0x41, 0x52, 0x41, + 0x53, 0x41, 0x54, 0x41, 0x55, 0x41, 0x56, 0x41, + 0x57, 0x41, 0x58, 0x41, 0x59, 0x41, 0x5A, 0x41, + 0x5B, 0x41, 0x5C, 0x41, 0x5D, 0x41, 0x5E, 0x41, + // Bytes 80 - bf + 0x5F, 0x41, 0x60, 0x41, 0x61, 0x41, 0x62, 0x41, + 0x63, 0x41, 0x64, 0x41, 0x65, 0x41, 0x66, 0x41, + 0x67, 0x41, 0x68, 0x41, 0x69, 0x41, 0x6A, 0x41, + 0x6B, 0x41, 0x6C, 0x41, 0x6D, 0x41, 0x6E, 0x41, + 0x6F, 0x41, 0x70, 0x41, 0x71, 0x41, 0x72, 0x41, + 0x73, 0x41, 0x74, 0x41, 0x75, 0x41, 0x76, 0x41, + 0x77, 0x41, 0x78, 0x41, 0x79, 0x41, 0x7A, 0x41, + 0x7B, 0x41, 0x7C, 0x41, 0x7D, 0x41, 0x7E, 0x42, + // Bytes c0 - ff + 0xC2, 0xA2, 0x42, 0xC2, 0xA3, 0x42, 0xC2, 0xA5, + 0x42, 0xC2, 0xA6, 0x42, 0xC2, 0xAC, 0x42, 0xC2, + 0xB7, 0x42, 0xC3, 0x86, 0x42, 0xC3, 0xB0, 0x42, + 0xC4, 0xA6, 0x42, 0xC4, 0xA7, 0x42, 0xC4, 0xB1, + 0x42, 0xC5, 0x8B, 0x42, 0xC5, 0x93, 0x42, 0xC6, + 0x8E, 0x42, 0xC6, 0x90, 0x42, 0xC6, 0xAB, 0x42, + 0xC8, 0xA2, 0x42, 0xC8, 0xB7, 0x42, 0xC9, 0x90, + 0x42, 0xC9, 0x91, 0x42, 0xC9, 0x92, 0x42, 0xC9, + // Bytes 100 - 13f + 0x94, 0x42, 0xC9, 0x95, 0x42, 0xC9, 0x99, 0x42, + 0xC9, 0x9B, 0x42, 0xC9, 0x9C, 0x42, 0xC9, 0x9F, + 0x42, 0xC9, 0xA1, 0x42, 0xC9, 0xA3, 0x42, 0xC9, + 0xA5, 0x42, 0xC9, 0xA6, 0x42, 0xC9, 0xA8, 0x42, + 0xC9, 0xA9, 0x42, 0xC9, 0xAA, 0x42, 0xC9, 0xAB, + 0x42, 0xC9, 0xAD, 0x42, 0xC9, 0xAF, 0x42, 0xC9, + 0xB0, 0x42, 0xC9, 0xB1, 0x42, 0xC9, 0xB2, 0x42, + 0xC9, 0xB3, 0x42, 0xC9, 0xB4, 0x42, 0xC9, 0xB5, + // Bytes 140 - 17f + 0x42, 0xC9, 0xB8, 0x42, 0xC9, 0xB9, 0x42, 0xC9, + 0xBB, 0x42, 0xCA, 0x81, 0x42, 0xCA, 0x82, 0x42, + 0xCA, 0x83, 0x42, 0xCA, 0x89, 0x42, 0xCA, 0x8A, + 0x42, 0xCA, 0x8B, 0x42, 0xCA, 0x8C, 0x42, 0xCA, + 0x90, 0x42, 0xCA, 0x91, 0x42, 0xCA, 0x92, 0x42, + 0xCA, 0x95, 0x42, 0xCA, 0x9D, 0x42, 0xCA, 0x9F, + 0x42, 0xCA, 0xB9, 0x42, 0xCE, 0x91, 0x42, 0xCE, + 0x92, 0x42, 0xCE, 0x93, 0x42, 0xCE, 0x94, 0x42, + // Bytes 180 - 1bf + 0xCE, 0x95, 0x42, 0xCE, 0x96, 0x42, 0xCE, 0x97, + 0x42, 0xCE, 0x98, 0x42, 0xCE, 0x99, 0x42, 0xCE, + 0x9A, 0x42, 0xCE, 0x9B, 0x42, 0xCE, 0x9C, 0x42, + 0xCE, 0x9D, 0x42, 0xCE, 0x9E, 0x42, 0xCE, 0x9F, + 0x42, 0xCE, 0xA0, 0x42, 0xCE, 0xA1, 0x42, 0xCE, + 0xA3, 0x42, 0xCE, 0xA4, 0x42, 0xCE, 0xA5, 0x42, + 0xCE, 0xA6, 0x42, 0xCE, 0xA7, 0x42, 0xCE, 0xA8, + 0x42, 0xCE, 0xA9, 0x42, 0xCE, 0xB1, 0x42, 0xCE, + // Bytes 1c0 - 1ff + 0xB2, 0x42, 0xCE, 0xB3, 0x42, 0xCE, 0xB4, 0x42, + 0xCE, 0xB5, 0x42, 0xCE, 0xB6, 0x42, 0xCE, 0xB7, + 0x42, 0xCE, 0xB8, 0x42, 0xCE, 0xB9, 0x42, 0xCE, + 0xBA, 0x42, 0xCE, 0xBB, 0x42, 0xCE, 0xBC, 0x42, + 0xCE, 0xBD, 0x42, 0xCE, 0xBE, 0x42, 0xCE, 0xBF, + 0x42, 0xCF, 0x80, 0x42, 0xCF, 0x81, 0x42, 0xCF, + 0x82, 0x42, 0xCF, 0x83, 0x42, 0xCF, 0x84, 0x42, + 0xCF, 0x85, 0x42, 0xCF, 0x86, 0x42, 0xCF, 0x87, + // Bytes 200 - 23f + 0x42, 0xCF, 0x88, 0x42, 0xCF, 0x89, 0x42, 0xCF, + 0x9C, 0x42, 0xCF, 0x9D, 0x42, 0xD0, 0xBD, 0x42, + 0xD1, 0x8A, 0x42, 0xD1, 0x8C, 0x42, 0xD7, 0x90, + 0x42, 0xD7, 0x91, 0x42, 0xD7, 0x92, 0x42, 0xD7, + 0x93, 0x42, 0xD7, 0x94, 0x42, 0xD7, 0x9B, 0x42, + 0xD7, 0x9C, 0x42, 0xD7, 0x9D, 0x42, 0xD7, 0xA2, + 0x42, 0xD7, 0xA8, 0x42, 0xD7, 0xAA, 0x42, 0xD8, + 0xA1, 0x42, 0xD8, 0xA7, 0x42, 0xD8, 0xA8, 0x42, + // Bytes 240 - 27f + 0xD8, 0xA9, 0x42, 0xD8, 0xAA, 0x42, 0xD8, 0xAB, + 0x42, 0xD8, 0xAC, 0x42, 0xD8, 0xAD, 0x42, 0xD8, + 0xAE, 0x42, 0xD8, 0xAF, 0x42, 0xD8, 0xB0, 0x42, + 0xD8, 0xB1, 0x42, 0xD8, 0xB2, 0x42, 0xD8, 0xB3, + 0x42, 0xD8, 0xB4, 0x42, 0xD8, 0xB5, 0x42, 0xD8, + 0xB6, 0x42, 0xD8, 0xB7, 0x42, 0xD8, 0xB8, 0x42, + 0xD8, 0xB9, 0x42, 0xD8, 0xBA, 0x42, 0xD9, 0x81, + 0x42, 0xD9, 0x82, 0x42, 0xD9, 0x83, 0x42, 0xD9, + // Bytes 280 - 2bf + 0x84, 0x42, 0xD9, 0x85, 0x42, 0xD9, 0x86, 0x42, + 0xD9, 0x87, 0x42, 0xD9, 0x88, 0x42, 0xD9, 0x89, + 0x42, 0xD9, 0x8A, 0x42, 0xD9, 0xAE, 0x42, 0xD9, + 0xAF, 0x42, 0xD9, 0xB1, 0x42, 0xD9, 0xB9, 0x42, + 0xD9, 0xBA, 0x42, 0xD9, 0xBB, 0x42, 0xD9, 0xBE, + 0x42, 0xD9, 0xBF, 0x42, 0xDA, 0x80, 0x42, 0xDA, + 0x83, 0x42, 0xDA, 0x84, 0x42, 0xDA, 0x86, 0x42, + 0xDA, 0x87, 0x42, 0xDA, 0x88, 0x42, 0xDA, 0x8C, + // Bytes 2c0 - 2ff + 0x42, 0xDA, 0x8D, 0x42, 0xDA, 0x8E, 0x42, 0xDA, + 0x91, 0x42, 0xDA, 0x98, 0x42, 0xDA, 0xA1, 0x42, + 0xDA, 0xA4, 0x42, 0xDA, 0xA6, 0x42, 0xDA, 0xA9, + 0x42, 0xDA, 0xAD, 0x42, 0xDA, 0xAF, 0x42, 0xDA, + 0xB1, 0x42, 0xDA, 0xB3, 0x42, 0xDA, 0xBA, 0x42, + 0xDA, 0xBB, 0x42, 0xDA, 0xBE, 0x42, 0xDB, 0x81, + 0x42, 0xDB, 0x85, 0x42, 0xDB, 0x86, 0x42, 0xDB, + 0x87, 0x42, 0xDB, 0x88, 0x42, 0xDB, 0x89, 0x42, + // Bytes 300 - 33f + 0xDB, 0x8B, 0x42, 0xDB, 0x8C, 0x42, 0xDB, 0x90, + 0x42, 0xDB, 0x92, 0x43, 0xE0, 0xBC, 0x8B, 0x43, + 0xE1, 0x83, 0x9C, 0x43, 0xE1, 0x84, 0x80, 0x43, + 0xE1, 0x84, 0x81, 0x43, 0xE1, 0x84, 0x82, 0x43, + 0xE1, 0x84, 0x83, 0x43, 0xE1, 0x84, 0x84, 0x43, + 0xE1, 0x84, 0x85, 0x43, 0xE1, 0x84, 0x86, 0x43, + 0xE1, 0x84, 0x87, 0x43, 0xE1, 0x84, 0x88, 0x43, + 0xE1, 0x84, 0x89, 0x43, 0xE1, 0x84, 0x8A, 0x43, + // Bytes 340 - 37f + 0xE1, 0x84, 0x8B, 0x43, 0xE1, 0x84, 0x8C, 0x43, + 0xE1, 0x84, 0x8D, 0x43, 0xE1, 0x84, 0x8E, 0x43, + 0xE1, 0x84, 0x8F, 0x43, 0xE1, 0x84, 0x90, 0x43, + 0xE1, 0x84, 0x91, 0x43, 0xE1, 0x84, 0x92, 0x43, + 0xE1, 0x84, 0x94, 0x43, 0xE1, 0x84, 0x95, 0x43, + 0xE1, 0x84, 0x9A, 0x43, 0xE1, 0x84, 0x9C, 0x43, + 0xE1, 0x84, 0x9D, 0x43, 0xE1, 0x84, 0x9E, 0x43, + 0xE1, 0x84, 0xA0, 0x43, 0xE1, 0x84, 0xA1, 0x43, + // Bytes 380 - 3bf + 0xE1, 0x84, 0xA2, 0x43, 0xE1, 0x84, 0xA3, 0x43, + 0xE1, 0x84, 0xA7, 0x43, 0xE1, 0x84, 0xA9, 0x43, + 0xE1, 0x84, 0xAB, 0x43, 0xE1, 0x84, 0xAC, 0x43, + 0xE1, 0x84, 0xAD, 0x43, 0xE1, 0x84, 0xAE, 0x43, + 0xE1, 0x84, 0xAF, 0x43, 0xE1, 0x84, 0xB2, 0x43, + 0xE1, 0x84, 0xB6, 0x43, 0xE1, 0x85, 0x80, 0x43, + 0xE1, 0x85, 0x87, 0x43, 0xE1, 0x85, 0x8C, 0x43, + 0xE1, 0x85, 0x97, 0x43, 0xE1, 0x85, 0x98, 0x43, + // Bytes 3c0 - 3ff + 0xE1, 0x85, 0x99, 0x43, 0xE1, 0x85, 0xA0, 0x43, + 0xE1, 0x86, 0x84, 0x43, 0xE1, 0x86, 0x85, 0x43, + 0xE1, 0x86, 0x88, 0x43, 0xE1, 0x86, 0x91, 0x43, + 0xE1, 0x86, 0x92, 0x43, 0xE1, 0x86, 0x94, 0x43, + 0xE1, 0x86, 0x9E, 0x43, 0xE1, 0x86, 0xA1, 0x43, + 0xE1, 0x87, 0x87, 0x43, 0xE1, 0x87, 0x88, 0x43, + 0xE1, 0x87, 0x8C, 0x43, 0xE1, 0x87, 0x8E, 0x43, + 0xE1, 0x87, 0x93, 0x43, 0xE1, 0x87, 0x97, 0x43, + // Bytes 400 - 43f + 0xE1, 0x87, 0x99, 0x43, 0xE1, 0x87, 0x9D, 0x43, + 0xE1, 0x87, 0x9F, 0x43, 0xE1, 0x87, 0xB1, 0x43, + 0xE1, 0x87, 0xB2, 0x43, 0xE1, 0xB4, 0x82, 0x43, + 0xE1, 0xB4, 0x96, 0x43, 0xE1, 0xB4, 0x97, 0x43, + 0xE1, 0xB4, 0x9C, 0x43, 0xE1, 0xB4, 0x9D, 0x43, + 0xE1, 0xB4, 0xA5, 0x43, 0xE1, 0xB5, 0xBB, 0x43, + 0xE1, 0xB6, 0x85, 0x43, 0xE2, 0x80, 0x82, 0x43, + 0xE2, 0x80, 0x83, 0x43, 0xE2, 0x80, 0x90, 0x43, + // Bytes 440 - 47f + 0xE2, 0x80, 0x93, 0x43, 0xE2, 0x80, 0x94, 0x43, + 0xE2, 0x82, 0xA9, 0x43, 0xE2, 0x86, 0x90, 0x43, + 0xE2, 0x86, 0x91, 0x43, 0xE2, 0x86, 0x92, 0x43, + 0xE2, 0x86, 0x93, 0x43, 0xE2, 0x88, 0x82, 0x43, + 0xE2, 0x88, 0x87, 0x43, 0xE2, 0x88, 0x91, 0x43, + 0xE2, 0x88, 0x92, 0x43, 0xE2, 0x94, 0x82, 0x43, + 0xE2, 0x96, 0xA0, 0x43, 0xE2, 0x97, 0x8B, 0x43, + 0xE2, 0xA6, 0x85, 0x43, 0xE2, 0xA6, 0x86, 0x43, + // Bytes 480 - 4bf + 0xE2, 0xB5, 0xA1, 0x43, 0xE3, 0x80, 0x81, 0x43, + 0xE3, 0x80, 0x82, 0x43, 0xE3, 0x80, 0x88, 0x43, + 0xE3, 0x80, 0x89, 0x43, 0xE3, 0x80, 0x8A, 0x43, + 0xE3, 0x80, 0x8B, 0x43, 0xE3, 0x80, 0x8C, 0x43, + 0xE3, 0x80, 0x8D, 0x43, 0xE3, 0x80, 0x8E, 0x43, + 0xE3, 0x80, 0x8F, 0x43, 0xE3, 0x80, 0x90, 0x43, + 0xE3, 0x80, 0x91, 0x43, 0xE3, 0x80, 0x92, 0x43, + 0xE3, 0x80, 0x94, 0x43, 0xE3, 0x80, 0x95, 0x43, + // Bytes 4c0 - 4ff + 0xE3, 0x80, 0x96, 0x43, 0xE3, 0x80, 0x97, 0x43, + 0xE3, 0x82, 0xA1, 0x43, 0xE3, 0x82, 0xA2, 0x43, + 0xE3, 0x82, 0xA3, 0x43, 0xE3, 0x82, 0xA4, 0x43, + 0xE3, 0x82, 0xA5, 0x43, 0xE3, 0x82, 0xA6, 0x43, + 0xE3, 0x82, 0xA7, 0x43, 0xE3, 0x82, 0xA8, 0x43, + 0xE3, 0x82, 0xA9, 0x43, 0xE3, 0x82, 0xAA, 0x43, + 0xE3, 0x82, 0xAB, 0x43, 0xE3, 0x82, 0xAD, 0x43, + 0xE3, 0x82, 0xAF, 0x43, 0xE3, 0x82, 0xB1, 0x43, + // Bytes 500 - 53f + 0xE3, 0x82, 0xB3, 0x43, 0xE3, 0x82, 0xB5, 0x43, + 0xE3, 0x82, 0xB7, 0x43, 0xE3, 0x82, 0xB9, 0x43, + 0xE3, 0x82, 0xBB, 0x43, 0xE3, 0x82, 0xBD, 0x43, + 0xE3, 0x82, 0xBF, 0x43, 0xE3, 0x83, 0x81, 0x43, + 0xE3, 0x83, 0x83, 0x43, 0xE3, 0x83, 0x84, 0x43, + 0xE3, 0x83, 0x86, 0x43, 0xE3, 0x83, 0x88, 0x43, + 0xE3, 0x83, 0x8A, 0x43, 0xE3, 0x83, 0x8B, 0x43, + 0xE3, 0x83, 0x8C, 0x43, 0xE3, 0x83, 0x8D, 0x43, + // Bytes 540 - 57f + 0xE3, 0x83, 0x8E, 0x43, 0xE3, 0x83, 0x8F, 0x43, + 0xE3, 0x83, 0x92, 0x43, 0xE3, 0x83, 0x95, 0x43, + 0xE3, 0x83, 0x98, 0x43, 0xE3, 0x83, 0x9B, 0x43, + 0xE3, 0x83, 0x9E, 0x43, 0xE3, 0x83, 0x9F, 0x43, + 0xE3, 0x83, 0xA0, 0x43, 0xE3, 0x83, 0xA1, 0x43, + 0xE3, 0x83, 0xA2, 0x43, 0xE3, 0x83, 0xA3, 0x43, + 0xE3, 0x83, 0xA4, 0x43, 0xE3, 0x83, 0xA5, 0x43, + 0xE3, 0x83, 0xA6, 0x43, 0xE3, 0x83, 0xA7, 0x43, + // Bytes 580 - 5bf + 0xE3, 0x83, 0xA8, 0x43, 0xE3, 0x83, 0xA9, 0x43, + 0xE3, 0x83, 0xAA, 0x43, 0xE3, 0x83, 0xAB, 0x43, + 0xE3, 0x83, 0xAC, 0x43, 0xE3, 0x83, 0xAD, 0x43, + 0xE3, 0x83, 0xAF, 0x43, 0xE3, 0x83, 0xB0, 0x43, + 0xE3, 0x83, 0xB1, 0x43, 0xE3, 0x83, 0xB2, 0x43, + 0xE3, 0x83, 0xB3, 0x43, 0xE3, 0x83, 0xBB, 0x43, + 0xE3, 0x83, 0xBC, 0x43, 0xE3, 0x92, 0x9E, 0x43, + 0xE3, 0x92, 0xB9, 0x43, 0xE3, 0x92, 0xBB, 0x43, + // Bytes 5c0 - 5ff + 0xE3, 0x93, 0x9F, 0x43, 0xE3, 0x94, 0x95, 0x43, + 0xE3, 0x9B, 0xAE, 0x43, 0xE3, 0x9B, 0xBC, 0x43, + 0xE3, 0x9E, 0x81, 0x43, 0xE3, 0xA0, 0xAF, 0x43, + 0xE3, 0xA1, 0xA2, 0x43, 0xE3, 0xA1, 0xBC, 0x43, + 0xE3, 0xA3, 0x87, 0x43, 0xE3, 0xA3, 0xA3, 0x43, + 0xE3, 0xA4, 0x9C, 0x43, 0xE3, 0xA4, 0xBA, 0x43, + 0xE3, 0xA8, 0xAE, 0x43, 0xE3, 0xA9, 0xAC, 0x43, + 0xE3, 0xAB, 0xA4, 0x43, 0xE3, 0xAC, 0x88, 0x43, + // Bytes 600 - 63f + 0xE3, 0xAC, 0x99, 0x43, 0xE3, 0xAD, 0x89, 0x43, + 0xE3, 0xAE, 0x9D, 0x43, 0xE3, 0xB0, 0x98, 0x43, + 0xE3, 0xB1, 0x8E, 0x43, 0xE3, 0xB4, 0xB3, 0x43, + 0xE3, 0xB6, 0x96, 0x43, 0xE3, 0xBA, 0xAC, 0x43, + 0xE3, 0xBA, 0xB8, 0x43, 0xE3, 0xBC, 0x9B, 0x43, + 0xE3, 0xBF, 0xBC, 0x43, 0xE4, 0x80, 0x88, 0x43, + 0xE4, 0x80, 0x98, 0x43, 0xE4, 0x80, 0xB9, 0x43, + 0xE4, 0x81, 0x86, 0x43, 0xE4, 0x82, 0x96, 0x43, + // Bytes 640 - 67f + 0xE4, 0x83, 0xA3, 0x43, 0xE4, 0x84, 0xAF, 0x43, + 0xE4, 0x88, 0x82, 0x43, 0xE4, 0x88, 0xA7, 0x43, + 0xE4, 0x8A, 0xA0, 0x43, 0xE4, 0x8C, 0x81, 0x43, + 0xE4, 0x8C, 0xB4, 0x43, 0xE4, 0x8D, 0x99, 0x43, + 0xE4, 0x8F, 0x95, 0x43, 0xE4, 0x8F, 0x99, 0x43, + 0xE4, 0x90, 0x8B, 0x43, 0xE4, 0x91, 0xAB, 0x43, + 0xE4, 0x94, 0xAB, 0x43, 0xE4, 0x95, 0x9D, 0x43, + 0xE4, 0x95, 0xA1, 0x43, 0xE4, 0x95, 0xAB, 0x43, + // Bytes 680 - 6bf + 0xE4, 0x97, 0x97, 0x43, 0xE4, 0x97, 0xB9, 0x43, + 0xE4, 0x98, 0xB5, 0x43, 0xE4, 0x9A, 0xBE, 0x43, + 0xE4, 0x9B, 0x87, 0x43, 0xE4, 0xA6, 0x95, 0x43, + 0xE4, 0xA7, 0xA6, 0x43, 0xE4, 0xA9, 0xAE, 0x43, + 0xE4, 0xA9, 0xB6, 0x43, 0xE4, 0xAA, 0xB2, 0x43, + 0xE4, 0xAC, 0xB3, 0x43, 0xE4, 0xAF, 0x8E, 0x43, + 0xE4, 0xB3, 0x8E, 0x43, 0xE4, 0xB3, 0xAD, 0x43, + 0xE4, 0xB3, 0xB8, 0x43, 0xE4, 0xB5, 0x96, 0x43, + // Bytes 6c0 - 6ff + 0xE4, 0xB8, 0x80, 0x43, 0xE4, 0xB8, 0x81, 0x43, + 0xE4, 0xB8, 0x83, 0x43, 0xE4, 0xB8, 0x89, 0x43, + 0xE4, 0xB8, 0x8A, 0x43, 0xE4, 0xB8, 0x8B, 0x43, + 0xE4, 0xB8, 0x8D, 0x43, 0xE4, 0xB8, 0x99, 0x43, + 0xE4, 0xB8, 0xA6, 0x43, 0xE4, 0xB8, 0xA8, 0x43, + 0xE4, 0xB8, 0xAD, 0x43, 0xE4, 0xB8, 0xB2, 0x43, + 0xE4, 0xB8, 0xB6, 0x43, 0xE4, 0xB8, 0xB8, 0x43, + 0xE4, 0xB8, 0xB9, 0x43, 0xE4, 0xB8, 0xBD, 0x43, + // Bytes 700 - 73f + 0xE4, 0xB8, 0xBF, 0x43, 0xE4, 0xB9, 0x81, 0x43, + 0xE4, 0xB9, 0x99, 0x43, 0xE4, 0xB9, 0x9D, 0x43, + 0xE4, 0xBA, 0x82, 0x43, 0xE4, 0xBA, 0x85, 0x43, + 0xE4, 0xBA, 0x86, 0x43, 0xE4, 0xBA, 0x8C, 0x43, + 0xE4, 0xBA, 0x94, 0x43, 0xE4, 0xBA, 0xA0, 0x43, + 0xE4, 0xBA, 0xA4, 0x43, 0xE4, 0xBA, 0xAE, 0x43, + 0xE4, 0xBA, 0xBA, 0x43, 0xE4, 0xBB, 0x80, 0x43, + 0xE4, 0xBB, 0x8C, 0x43, 0xE4, 0xBB, 0xA4, 0x43, + // Bytes 740 - 77f + 0xE4, 0xBC, 0x81, 0x43, 0xE4, 0xBC, 0x91, 0x43, + 0xE4, 0xBD, 0xA0, 0x43, 0xE4, 0xBE, 0x80, 0x43, + 0xE4, 0xBE, 0x86, 0x43, 0xE4, 0xBE, 0x8B, 0x43, + 0xE4, 0xBE, 0xAE, 0x43, 0xE4, 0xBE, 0xBB, 0x43, + 0xE4, 0xBE, 0xBF, 0x43, 0xE5, 0x80, 0x82, 0x43, + 0xE5, 0x80, 0xAB, 0x43, 0xE5, 0x81, 0xBA, 0x43, + 0xE5, 0x82, 0x99, 0x43, 0xE5, 0x83, 0x8F, 0x43, + 0xE5, 0x83, 0x9A, 0x43, 0xE5, 0x83, 0xA7, 0x43, + // Bytes 780 - 7bf + 0xE5, 0x84, 0xAA, 0x43, 0xE5, 0x84, 0xBF, 0x43, + 0xE5, 0x85, 0x80, 0x43, 0xE5, 0x85, 0x85, 0x43, + 0xE5, 0x85, 0x8D, 0x43, 0xE5, 0x85, 0x94, 0x43, + 0xE5, 0x85, 0xA4, 0x43, 0xE5, 0x85, 0xA5, 0x43, + 0xE5, 0x85, 0xA7, 0x43, 0xE5, 0x85, 0xA8, 0x43, + 0xE5, 0x85, 0xA9, 0x43, 0xE5, 0x85, 0xAB, 0x43, + 0xE5, 0x85, 0xAD, 0x43, 0xE5, 0x85, 0xB7, 0x43, + 0xE5, 0x86, 0x80, 0x43, 0xE5, 0x86, 0x82, 0x43, + // Bytes 7c0 - 7ff + 0xE5, 0x86, 0x8D, 0x43, 0xE5, 0x86, 0x92, 0x43, + 0xE5, 0x86, 0x95, 0x43, 0xE5, 0x86, 0x96, 0x43, + 0xE5, 0x86, 0x97, 0x43, 0xE5, 0x86, 0x99, 0x43, + 0xE5, 0x86, 0xA4, 0x43, 0xE5, 0x86, 0xAB, 0x43, + 0xE5, 0x86, 0xAC, 0x43, 0xE5, 0x86, 0xB5, 0x43, + 0xE5, 0x86, 0xB7, 0x43, 0xE5, 0x87, 0x89, 0x43, + 0xE5, 0x87, 0x8C, 0x43, 0xE5, 0x87, 0x9C, 0x43, + 0xE5, 0x87, 0x9E, 0x43, 0xE5, 0x87, 0xA0, 0x43, + // Bytes 800 - 83f + 0xE5, 0x87, 0xB5, 0x43, 0xE5, 0x88, 0x80, 0x43, + 0xE5, 0x88, 0x83, 0x43, 0xE5, 0x88, 0x87, 0x43, + 0xE5, 0x88, 0x97, 0x43, 0xE5, 0x88, 0x9D, 0x43, + 0xE5, 0x88, 0xA9, 0x43, 0xE5, 0x88, 0xBA, 0x43, + 0xE5, 0x88, 0xBB, 0x43, 0xE5, 0x89, 0x86, 0x43, + 0xE5, 0x89, 0x8D, 0x43, 0xE5, 0x89, 0xB2, 0x43, + 0xE5, 0x89, 0xB7, 0x43, 0xE5, 0x8A, 0x89, 0x43, + 0xE5, 0x8A, 0x9B, 0x43, 0xE5, 0x8A, 0xA3, 0x43, + // Bytes 840 - 87f + 0xE5, 0x8A, 0xB3, 0x43, 0xE5, 0x8A, 0xB4, 0x43, + 0xE5, 0x8B, 0x87, 0x43, 0xE5, 0x8B, 0x89, 0x43, + 0xE5, 0x8B, 0x92, 0x43, 0xE5, 0x8B, 0x9E, 0x43, + 0xE5, 0x8B, 0xA4, 0x43, 0xE5, 0x8B, 0xB5, 0x43, + 0xE5, 0x8B, 0xB9, 0x43, 0xE5, 0x8B, 0xBA, 0x43, + 0xE5, 0x8C, 0x85, 0x43, 0xE5, 0x8C, 0x86, 0x43, + 0xE5, 0x8C, 0x95, 0x43, 0xE5, 0x8C, 0x97, 0x43, + 0xE5, 0x8C, 0x9A, 0x43, 0xE5, 0x8C, 0xB8, 0x43, + // Bytes 880 - 8bf + 0xE5, 0x8C, 0xBB, 0x43, 0xE5, 0x8C, 0xBF, 0x43, + 0xE5, 0x8D, 0x81, 0x43, 0xE5, 0x8D, 0x84, 0x43, + 0xE5, 0x8D, 0x85, 0x43, 0xE5, 0x8D, 0x89, 0x43, + 0xE5, 0x8D, 0x91, 0x43, 0xE5, 0x8D, 0x94, 0x43, + 0xE5, 0x8D, 0x9A, 0x43, 0xE5, 0x8D, 0x9C, 0x43, + 0xE5, 0x8D, 0xA9, 0x43, 0xE5, 0x8D, 0xB0, 0x43, + 0xE5, 0x8D, 0xB3, 0x43, 0xE5, 0x8D, 0xB5, 0x43, + 0xE5, 0x8D, 0xBD, 0x43, 0xE5, 0x8D, 0xBF, 0x43, + // Bytes 8c0 - 8ff + 0xE5, 0x8E, 0x82, 0x43, 0xE5, 0x8E, 0xB6, 0x43, + 0xE5, 0x8F, 0x83, 0x43, 0xE5, 0x8F, 0x88, 0x43, + 0xE5, 0x8F, 0x8A, 0x43, 0xE5, 0x8F, 0x8C, 0x43, + 0xE5, 0x8F, 0x9F, 0x43, 0xE5, 0x8F, 0xA3, 0x43, + 0xE5, 0x8F, 0xA5, 0x43, 0xE5, 0x8F, 0xAB, 0x43, + 0xE5, 0x8F, 0xAF, 0x43, 0xE5, 0x8F, 0xB1, 0x43, + 0xE5, 0x8F, 0xB3, 0x43, 0xE5, 0x90, 0x86, 0x43, + 0xE5, 0x90, 0x88, 0x43, 0xE5, 0x90, 0x8D, 0x43, + // Bytes 900 - 93f + 0xE5, 0x90, 0x8F, 0x43, 0xE5, 0x90, 0x9D, 0x43, + 0xE5, 0x90, 0xB8, 0x43, 0xE5, 0x90, 0xB9, 0x43, + 0xE5, 0x91, 0x82, 0x43, 0xE5, 0x91, 0x88, 0x43, + 0xE5, 0x91, 0xA8, 0x43, 0xE5, 0x92, 0x9E, 0x43, + 0xE5, 0x92, 0xA2, 0x43, 0xE5, 0x92, 0xBD, 0x43, + 0xE5, 0x93, 0xB6, 0x43, 0xE5, 0x94, 0x90, 0x43, + 0xE5, 0x95, 0x8F, 0x43, 0xE5, 0x95, 0x93, 0x43, + 0xE5, 0x95, 0x95, 0x43, 0xE5, 0x95, 0xA3, 0x43, + // Bytes 940 - 97f + 0xE5, 0x96, 0x84, 0x43, 0xE5, 0x96, 0x87, 0x43, + 0xE5, 0x96, 0x99, 0x43, 0xE5, 0x96, 0x9D, 0x43, + 0xE5, 0x96, 0xAB, 0x43, 0xE5, 0x96, 0xB3, 0x43, + 0xE5, 0x96, 0xB6, 0x43, 0xE5, 0x97, 0x80, 0x43, + 0xE5, 0x97, 0x82, 0x43, 0xE5, 0x97, 0xA2, 0x43, + 0xE5, 0x98, 0x86, 0x43, 0xE5, 0x99, 0x91, 0x43, + 0xE5, 0x99, 0xA8, 0x43, 0xE5, 0x99, 0xB4, 0x43, + 0xE5, 0x9B, 0x97, 0x43, 0xE5, 0x9B, 0x9B, 0x43, + // Bytes 980 - 9bf + 0xE5, 0x9B, 0xB9, 0x43, 0xE5, 0x9C, 0x96, 0x43, + 0xE5, 0x9C, 0x97, 0x43, 0xE5, 0x9C, 0x9F, 0x43, + 0xE5, 0x9C, 0xB0, 0x43, 0xE5, 0x9E, 0x8B, 0x43, + 0xE5, 0x9F, 0x8E, 0x43, 0xE5, 0x9F, 0xB4, 0x43, + 0xE5, 0xA0, 0x8D, 0x43, 0xE5, 0xA0, 0xB1, 0x43, + 0xE5, 0xA0, 0xB2, 0x43, 0xE5, 0xA1, 0x80, 0x43, + 0xE5, 0xA1, 0x9A, 0x43, 0xE5, 0xA1, 0x9E, 0x43, + 0xE5, 0xA2, 0xA8, 0x43, 0xE5, 0xA2, 0xAC, 0x43, + // Bytes 9c0 - 9ff + 0xE5, 0xA2, 0xB3, 0x43, 0xE5, 0xA3, 0x98, 0x43, + 0xE5, 0xA3, 0x9F, 0x43, 0xE5, 0xA3, 0xAB, 0x43, + 0xE5, 0xA3, 0xAE, 0x43, 0xE5, 0xA3, 0xB0, 0x43, + 0xE5, 0xA3, 0xB2, 0x43, 0xE5, 0xA3, 0xB7, 0x43, + 0xE5, 0xA4, 0x82, 0x43, 0xE5, 0xA4, 0x86, 0x43, + 0xE5, 0xA4, 0x8A, 0x43, 0xE5, 0xA4, 0x95, 0x43, + 0xE5, 0xA4, 0x9A, 0x43, 0xE5, 0xA4, 0x9C, 0x43, + 0xE5, 0xA4, 0xA2, 0x43, 0xE5, 0xA4, 0xA7, 0x43, + // Bytes a00 - a3f + 0xE5, 0xA4, 0xA9, 0x43, 0xE5, 0xA5, 0x84, 0x43, + 0xE5, 0xA5, 0x88, 0x43, 0xE5, 0xA5, 0x91, 0x43, + 0xE5, 0xA5, 0x94, 0x43, 0xE5, 0xA5, 0xA2, 0x43, + 0xE5, 0xA5, 0xB3, 0x43, 0xE5, 0xA7, 0x98, 0x43, + 0xE5, 0xA7, 0xAC, 0x43, 0xE5, 0xA8, 0x9B, 0x43, + 0xE5, 0xA8, 0xA7, 0x43, 0xE5, 0xA9, 0xA2, 0x43, + 0xE5, 0xA9, 0xA6, 0x43, 0xE5, 0xAA, 0xB5, 0x43, + 0xE5, 0xAC, 0x88, 0x43, 0xE5, 0xAC, 0xA8, 0x43, + // Bytes a40 - a7f + 0xE5, 0xAC, 0xBE, 0x43, 0xE5, 0xAD, 0x90, 0x43, + 0xE5, 0xAD, 0x97, 0x43, 0xE5, 0xAD, 0xA6, 0x43, + 0xE5, 0xAE, 0x80, 0x43, 0xE5, 0xAE, 0x85, 0x43, + 0xE5, 0xAE, 0x97, 0x43, 0xE5, 0xAF, 0x83, 0x43, + 0xE5, 0xAF, 0x98, 0x43, 0xE5, 0xAF, 0xA7, 0x43, + 0xE5, 0xAF, 0xAE, 0x43, 0xE5, 0xAF, 0xB3, 0x43, + 0xE5, 0xAF, 0xB8, 0x43, 0xE5, 0xAF, 0xBF, 0x43, + 0xE5, 0xB0, 0x86, 0x43, 0xE5, 0xB0, 0x8F, 0x43, + // Bytes a80 - abf + 0xE5, 0xB0, 0xA2, 0x43, 0xE5, 0xB0, 0xB8, 0x43, + 0xE5, 0xB0, 0xBF, 0x43, 0xE5, 0xB1, 0xA0, 0x43, + 0xE5, 0xB1, 0xA2, 0x43, 0xE5, 0xB1, 0xA4, 0x43, + 0xE5, 0xB1, 0xA5, 0x43, 0xE5, 0xB1, 0xAE, 0x43, + 0xE5, 0xB1, 0xB1, 0x43, 0xE5, 0xB2, 0x8D, 0x43, + 0xE5, 0xB3, 0x80, 0x43, 0xE5, 0xB4, 0x99, 0x43, + 0xE5, 0xB5, 0x83, 0x43, 0xE5, 0xB5, 0x90, 0x43, + 0xE5, 0xB5, 0xAB, 0x43, 0xE5, 0xB5, 0xAE, 0x43, + // Bytes ac0 - aff + 0xE5, 0xB5, 0xBC, 0x43, 0xE5, 0xB6, 0xB2, 0x43, + 0xE5, 0xB6, 0xBA, 0x43, 0xE5, 0xB7, 0x9B, 0x43, + 0xE5, 0xB7, 0xA1, 0x43, 0xE5, 0xB7, 0xA2, 0x43, + 0xE5, 0xB7, 0xA5, 0x43, 0xE5, 0xB7, 0xA6, 0x43, + 0xE5, 0xB7, 0xB1, 0x43, 0xE5, 0xB7, 0xBD, 0x43, + 0xE5, 0xB7, 0xBE, 0x43, 0xE5, 0xB8, 0xA8, 0x43, + 0xE5, 0xB8, 0xBD, 0x43, 0xE5, 0xB9, 0xA9, 0x43, + 0xE5, 0xB9, 0xB2, 0x43, 0xE5, 0xB9, 0xB4, 0x43, + // Bytes b00 - b3f + 0xE5, 0xB9, 0xBA, 0x43, 0xE5, 0xB9, 0xBC, 0x43, + 0xE5, 0xB9, 0xBF, 0x43, 0xE5, 0xBA, 0xA6, 0x43, + 0xE5, 0xBA, 0xB0, 0x43, 0xE5, 0xBA, 0xB3, 0x43, + 0xE5, 0xBA, 0xB6, 0x43, 0xE5, 0xBB, 0x89, 0x43, + 0xE5, 0xBB, 0x8A, 0x43, 0xE5, 0xBB, 0x92, 0x43, + 0xE5, 0xBB, 0x93, 0x43, 0xE5, 0xBB, 0x99, 0x43, + 0xE5, 0xBB, 0xAC, 0x43, 0xE5, 0xBB, 0xB4, 0x43, + 0xE5, 0xBB, 0xBE, 0x43, 0xE5, 0xBC, 0x84, 0x43, + // Bytes b40 - b7f + 0xE5, 0xBC, 0x8B, 0x43, 0xE5, 0xBC, 0x93, 0x43, + 0xE5, 0xBC, 0xA2, 0x43, 0xE5, 0xBD, 0x90, 0x43, + 0xE5, 0xBD, 0x93, 0x43, 0xE5, 0xBD, 0xA1, 0x43, + 0xE5, 0xBD, 0xA2, 0x43, 0xE5, 0xBD, 0xA9, 0x43, + 0xE5, 0xBD, 0xAB, 0x43, 0xE5, 0xBD, 0xB3, 0x43, + 0xE5, 0xBE, 0x8B, 0x43, 0xE5, 0xBE, 0x8C, 0x43, + 0xE5, 0xBE, 0x97, 0x43, 0xE5, 0xBE, 0x9A, 0x43, + 0xE5, 0xBE, 0xA9, 0x43, 0xE5, 0xBE, 0xAD, 0x43, + // Bytes b80 - bbf + 0xE5, 0xBF, 0x83, 0x43, 0xE5, 0xBF, 0x8D, 0x43, + 0xE5, 0xBF, 0x97, 0x43, 0xE5, 0xBF, 0xB5, 0x43, + 0xE5, 0xBF, 0xB9, 0x43, 0xE6, 0x80, 0x92, 0x43, + 0xE6, 0x80, 0x9C, 0x43, 0xE6, 0x81, 0xB5, 0x43, + 0xE6, 0x82, 0x81, 0x43, 0xE6, 0x82, 0x94, 0x43, + 0xE6, 0x83, 0x87, 0x43, 0xE6, 0x83, 0x98, 0x43, + 0xE6, 0x83, 0xA1, 0x43, 0xE6, 0x84, 0x88, 0x43, + 0xE6, 0x85, 0x84, 0x43, 0xE6, 0x85, 0x88, 0x43, + // Bytes bc0 - bff + 0xE6, 0x85, 0x8C, 0x43, 0xE6, 0x85, 0x8E, 0x43, + 0xE6, 0x85, 0xA0, 0x43, 0xE6, 0x85, 0xA8, 0x43, + 0xE6, 0x85, 0xBA, 0x43, 0xE6, 0x86, 0x8E, 0x43, + 0xE6, 0x86, 0x90, 0x43, 0xE6, 0x86, 0xA4, 0x43, + 0xE6, 0x86, 0xAF, 0x43, 0xE6, 0x86, 0xB2, 0x43, + 0xE6, 0x87, 0x9E, 0x43, 0xE6, 0x87, 0xB2, 0x43, + 0xE6, 0x87, 0xB6, 0x43, 0xE6, 0x88, 0x80, 0x43, + 0xE6, 0x88, 0x88, 0x43, 0xE6, 0x88, 0x90, 0x43, + // Bytes c00 - c3f + 0xE6, 0x88, 0x9B, 0x43, 0xE6, 0x88, 0xAE, 0x43, + 0xE6, 0x88, 0xB4, 0x43, 0xE6, 0x88, 0xB6, 0x43, + 0xE6, 0x89, 0x8B, 0x43, 0xE6, 0x89, 0x93, 0x43, + 0xE6, 0x89, 0x9D, 0x43, 0xE6, 0x8A, 0x95, 0x43, + 0xE6, 0x8A, 0xB1, 0x43, 0xE6, 0x8B, 0x89, 0x43, + 0xE6, 0x8B, 0x8F, 0x43, 0xE6, 0x8B, 0x93, 0x43, + 0xE6, 0x8B, 0x94, 0x43, 0xE6, 0x8B, 0xBC, 0x43, + 0xE6, 0x8B, 0xBE, 0x43, 0xE6, 0x8C, 0x87, 0x43, + // Bytes c40 - c7f + 0xE6, 0x8C, 0xBD, 0x43, 0xE6, 0x8D, 0x90, 0x43, + 0xE6, 0x8D, 0x95, 0x43, 0xE6, 0x8D, 0xA8, 0x43, + 0xE6, 0x8D, 0xBB, 0x43, 0xE6, 0x8E, 0x83, 0x43, + 0xE6, 0x8E, 0xA0, 0x43, 0xE6, 0x8E, 0xA9, 0x43, + 0xE6, 0x8F, 0x84, 0x43, 0xE6, 0x8F, 0x85, 0x43, + 0xE6, 0x8F, 0xA4, 0x43, 0xE6, 0x90, 0x9C, 0x43, + 0xE6, 0x90, 0xA2, 0x43, 0xE6, 0x91, 0x92, 0x43, + 0xE6, 0x91, 0xA9, 0x43, 0xE6, 0x91, 0xB7, 0x43, + // Bytes c80 - cbf + 0xE6, 0x91, 0xBE, 0x43, 0xE6, 0x92, 0x9A, 0x43, + 0xE6, 0x92, 0x9D, 0x43, 0xE6, 0x93, 0x84, 0x43, + 0xE6, 0x94, 0xAF, 0x43, 0xE6, 0x94, 0xB4, 0x43, + 0xE6, 0x95, 0x8F, 0x43, 0xE6, 0x95, 0x96, 0x43, + 0xE6, 0x95, 0xAC, 0x43, 0xE6, 0x95, 0xB8, 0x43, + 0xE6, 0x96, 0x87, 0x43, 0xE6, 0x96, 0x97, 0x43, + 0xE6, 0x96, 0x99, 0x43, 0xE6, 0x96, 0xA4, 0x43, + 0xE6, 0x96, 0xB0, 0x43, 0xE6, 0x96, 0xB9, 0x43, + // Bytes cc0 - cff + 0xE6, 0x97, 0x85, 0x43, 0xE6, 0x97, 0xA0, 0x43, + 0xE6, 0x97, 0xA2, 0x43, 0xE6, 0x97, 0xA3, 0x43, + 0xE6, 0x97, 0xA5, 0x43, 0xE6, 0x98, 0x93, 0x43, + 0xE6, 0x98, 0xA0, 0x43, 0xE6, 0x99, 0x89, 0x43, + 0xE6, 0x99, 0xB4, 0x43, 0xE6, 0x9A, 0x88, 0x43, + 0xE6, 0x9A, 0x91, 0x43, 0xE6, 0x9A, 0x9C, 0x43, + 0xE6, 0x9A, 0xB4, 0x43, 0xE6, 0x9B, 0x86, 0x43, + 0xE6, 0x9B, 0xB0, 0x43, 0xE6, 0x9B, 0xB4, 0x43, + // Bytes d00 - d3f + 0xE6, 0x9B, 0xB8, 0x43, 0xE6, 0x9C, 0x80, 0x43, + 0xE6, 0x9C, 0x88, 0x43, 0xE6, 0x9C, 0x89, 0x43, + 0xE6, 0x9C, 0x97, 0x43, 0xE6, 0x9C, 0x9B, 0x43, + 0xE6, 0x9C, 0xA1, 0x43, 0xE6, 0x9C, 0xA8, 0x43, + 0xE6, 0x9D, 0x8E, 0x43, 0xE6, 0x9D, 0x93, 0x43, + 0xE6, 0x9D, 0x96, 0x43, 0xE6, 0x9D, 0x9E, 0x43, + 0xE6, 0x9D, 0xBB, 0x43, 0xE6, 0x9E, 0x85, 0x43, + 0xE6, 0x9E, 0x97, 0x43, 0xE6, 0x9F, 0xB3, 0x43, + // Bytes d40 - d7f + 0xE6, 0x9F, 0xBA, 0x43, 0xE6, 0xA0, 0x97, 0x43, + 0xE6, 0xA0, 0x9F, 0x43, 0xE6, 0xA0, 0xAA, 0x43, + 0xE6, 0xA1, 0x92, 0x43, 0xE6, 0xA2, 0x81, 0x43, + 0xE6, 0xA2, 0x85, 0x43, 0xE6, 0xA2, 0x8E, 0x43, + 0xE6, 0xA2, 0xA8, 0x43, 0xE6, 0xA4, 0x94, 0x43, + 0xE6, 0xA5, 0x82, 0x43, 0xE6, 0xA6, 0xA3, 0x43, + 0xE6, 0xA7, 0xAA, 0x43, 0xE6, 0xA8, 0x82, 0x43, + 0xE6, 0xA8, 0x93, 0x43, 0xE6, 0xAA, 0xA8, 0x43, + // Bytes d80 - dbf + 0xE6, 0xAB, 0x93, 0x43, 0xE6, 0xAB, 0x9B, 0x43, + 0xE6, 0xAC, 0x84, 0x43, 0xE6, 0xAC, 0xA0, 0x43, + 0xE6, 0xAC, 0xA1, 0x43, 0xE6, 0xAD, 0x94, 0x43, + 0xE6, 0xAD, 0xA2, 0x43, 0xE6, 0xAD, 0xA3, 0x43, + 0xE6, 0xAD, 0xB2, 0x43, 0xE6, 0xAD, 0xB7, 0x43, + 0xE6, 0xAD, 0xB9, 0x43, 0xE6, 0xAE, 0x9F, 0x43, + 0xE6, 0xAE, 0xAE, 0x43, 0xE6, 0xAE, 0xB3, 0x43, + 0xE6, 0xAE, 0xBA, 0x43, 0xE6, 0xAE, 0xBB, 0x43, + // Bytes dc0 - dff + 0xE6, 0xAF, 0x8B, 0x43, 0xE6, 0xAF, 0x8D, 0x43, + 0xE6, 0xAF, 0x94, 0x43, 0xE6, 0xAF, 0x9B, 0x43, + 0xE6, 0xB0, 0x8F, 0x43, 0xE6, 0xB0, 0x94, 0x43, + 0xE6, 0xB0, 0xB4, 0x43, 0xE6, 0xB1, 0x8E, 0x43, + 0xE6, 0xB1, 0xA7, 0x43, 0xE6, 0xB2, 0x88, 0x43, + 0xE6, 0xB2, 0xBF, 0x43, 0xE6, 0xB3, 0x8C, 0x43, + 0xE6, 0xB3, 0x8D, 0x43, 0xE6, 0xB3, 0xA5, 0x43, + 0xE6, 0xB3, 0xA8, 0x43, 0xE6, 0xB4, 0x96, 0x43, + // Bytes e00 - e3f + 0xE6, 0xB4, 0x9B, 0x43, 0xE6, 0xB4, 0x9E, 0x43, + 0xE6, 0xB4, 0xB4, 0x43, 0xE6, 0xB4, 0xBE, 0x43, + 0xE6, 0xB5, 0x81, 0x43, 0xE6, 0xB5, 0xA9, 0x43, + 0xE6, 0xB5, 0xAA, 0x43, 0xE6, 0xB5, 0xB7, 0x43, + 0xE6, 0xB5, 0xB8, 0x43, 0xE6, 0xB6, 0x85, 0x43, + 0xE6, 0xB7, 0x8B, 0x43, 0xE6, 0xB7, 0x9A, 0x43, + 0xE6, 0xB7, 0xAA, 0x43, 0xE6, 0xB7, 0xB9, 0x43, + 0xE6, 0xB8, 0x9A, 0x43, 0xE6, 0xB8, 0xAF, 0x43, + // Bytes e40 - e7f + 0xE6, 0xB9, 0xAE, 0x43, 0xE6, 0xBA, 0x80, 0x43, + 0xE6, 0xBA, 0x9C, 0x43, 0xE6, 0xBA, 0xBA, 0x43, + 0xE6, 0xBB, 0x87, 0x43, 0xE6, 0xBB, 0x8B, 0x43, + 0xE6, 0xBB, 0x91, 0x43, 0xE6, 0xBB, 0x9B, 0x43, + 0xE6, 0xBC, 0x8F, 0x43, 0xE6, 0xBC, 0x94, 0x43, + 0xE6, 0xBC, 0xA2, 0x43, 0xE6, 0xBC, 0xA3, 0x43, + 0xE6, 0xBD, 0xAE, 0x43, 0xE6, 0xBF, 0x86, 0x43, + 0xE6, 0xBF, 0xAB, 0x43, 0xE6, 0xBF, 0xBE, 0x43, + // Bytes e80 - ebf + 0xE7, 0x80, 0x9B, 0x43, 0xE7, 0x80, 0x9E, 0x43, + 0xE7, 0x80, 0xB9, 0x43, 0xE7, 0x81, 0x8A, 0x43, + 0xE7, 0x81, 0xAB, 0x43, 0xE7, 0x81, 0xB0, 0x43, + 0xE7, 0x81, 0xB7, 0x43, 0xE7, 0x81, 0xBD, 0x43, + 0xE7, 0x82, 0x99, 0x43, 0xE7, 0x82, 0xAD, 0x43, + 0xE7, 0x83, 0x88, 0x43, 0xE7, 0x83, 0x99, 0x43, + 0xE7, 0x84, 0xA1, 0x43, 0xE7, 0x85, 0x85, 0x43, + 0xE7, 0x85, 0x89, 0x43, 0xE7, 0x85, 0xAE, 0x43, + // Bytes ec0 - eff + 0xE7, 0x86, 0x9C, 0x43, 0xE7, 0x87, 0x8E, 0x43, + 0xE7, 0x87, 0x90, 0x43, 0xE7, 0x88, 0x90, 0x43, + 0xE7, 0x88, 0x9B, 0x43, 0xE7, 0x88, 0xA8, 0x43, + 0xE7, 0x88, 0xAA, 0x43, 0xE7, 0x88, 0xAB, 0x43, + 0xE7, 0x88, 0xB5, 0x43, 0xE7, 0x88, 0xB6, 0x43, + 0xE7, 0x88, 0xBB, 0x43, 0xE7, 0x88, 0xBF, 0x43, + 0xE7, 0x89, 0x87, 0x43, 0xE7, 0x89, 0x90, 0x43, + 0xE7, 0x89, 0x99, 0x43, 0xE7, 0x89, 0x9B, 0x43, + // Bytes f00 - f3f + 0xE7, 0x89, 0xA2, 0x43, 0xE7, 0x89, 0xB9, 0x43, + 0xE7, 0x8A, 0x80, 0x43, 0xE7, 0x8A, 0x95, 0x43, + 0xE7, 0x8A, 0xAC, 0x43, 0xE7, 0x8A, 0xAF, 0x43, + 0xE7, 0x8B, 0x80, 0x43, 0xE7, 0x8B, 0xBC, 0x43, + 0xE7, 0x8C, 0xAA, 0x43, 0xE7, 0x8D, 0xB5, 0x43, + 0xE7, 0x8D, 0xBA, 0x43, 0xE7, 0x8E, 0x84, 0x43, + 0xE7, 0x8E, 0x87, 0x43, 0xE7, 0x8E, 0x89, 0x43, + 0xE7, 0x8E, 0x8B, 0x43, 0xE7, 0x8E, 0xA5, 0x43, + // Bytes f40 - f7f + 0xE7, 0x8E, 0xB2, 0x43, 0xE7, 0x8F, 0x9E, 0x43, + 0xE7, 0x90, 0x86, 0x43, 0xE7, 0x90, 0x89, 0x43, + 0xE7, 0x90, 0xA2, 0x43, 0xE7, 0x91, 0x87, 0x43, + 0xE7, 0x91, 0x9C, 0x43, 0xE7, 0x91, 0xA9, 0x43, + 0xE7, 0x91, 0xB1, 0x43, 0xE7, 0x92, 0x85, 0x43, + 0xE7, 0x92, 0x89, 0x43, 0xE7, 0x92, 0x98, 0x43, + 0xE7, 0x93, 0x8A, 0x43, 0xE7, 0x93, 0x9C, 0x43, + 0xE7, 0x93, 0xA6, 0x43, 0xE7, 0x94, 0x86, 0x43, + // Bytes f80 - fbf + 0xE7, 0x94, 0x98, 0x43, 0xE7, 0x94, 0x9F, 0x43, + 0xE7, 0x94, 0xA4, 0x43, 0xE7, 0x94, 0xA8, 0x43, + 0xE7, 0x94, 0xB0, 0x43, 0xE7, 0x94, 0xB2, 0x43, + 0xE7, 0x94, 0xB3, 0x43, 0xE7, 0x94, 0xB7, 0x43, + 0xE7, 0x94, 0xBB, 0x43, 0xE7, 0x94, 0xBE, 0x43, + 0xE7, 0x95, 0x99, 0x43, 0xE7, 0x95, 0xA5, 0x43, + 0xE7, 0x95, 0xB0, 0x43, 0xE7, 0x96, 0x8B, 0x43, + 0xE7, 0x96, 0x92, 0x43, 0xE7, 0x97, 0xA2, 0x43, + // Bytes fc0 - fff + 0xE7, 0x98, 0x90, 0x43, 0xE7, 0x98, 0x9D, 0x43, + 0xE7, 0x98, 0x9F, 0x43, 0xE7, 0x99, 0x82, 0x43, + 0xE7, 0x99, 0xA9, 0x43, 0xE7, 0x99, 0xB6, 0x43, + 0xE7, 0x99, 0xBD, 0x43, 0xE7, 0x9A, 0xAE, 0x43, + 0xE7, 0x9A, 0xBF, 0x43, 0xE7, 0x9B, 0x8A, 0x43, + 0xE7, 0x9B, 0x9B, 0x43, 0xE7, 0x9B, 0xA3, 0x43, + 0xE7, 0x9B, 0xA7, 0x43, 0xE7, 0x9B, 0xAE, 0x43, + 0xE7, 0x9B, 0xB4, 0x43, 0xE7, 0x9C, 0x81, 0x43, + // Bytes 1000 - 103f + 0xE7, 0x9C, 0x9E, 0x43, 0xE7, 0x9C, 0x9F, 0x43, + 0xE7, 0x9D, 0x80, 0x43, 0xE7, 0x9D, 0x8A, 0x43, + 0xE7, 0x9E, 0x8B, 0x43, 0xE7, 0x9E, 0xA7, 0x43, + 0xE7, 0x9F, 0x9B, 0x43, 0xE7, 0x9F, 0xA2, 0x43, + 0xE7, 0x9F, 0xB3, 0x43, 0xE7, 0xA1, 0x8E, 0x43, + 0xE7, 0xA1, 0xAB, 0x43, 0xE7, 0xA2, 0x8C, 0x43, + 0xE7, 0xA2, 0x91, 0x43, 0xE7, 0xA3, 0x8A, 0x43, + 0xE7, 0xA3, 0x8C, 0x43, 0xE7, 0xA3, 0xBB, 0x43, + // Bytes 1040 - 107f + 0xE7, 0xA4, 0xAA, 0x43, 0xE7, 0xA4, 0xBA, 0x43, + 0xE7, 0xA4, 0xBC, 0x43, 0xE7, 0xA4, 0xBE, 0x43, + 0xE7, 0xA5, 0x88, 0x43, 0xE7, 0xA5, 0x89, 0x43, + 0xE7, 0xA5, 0x90, 0x43, 0xE7, 0xA5, 0x96, 0x43, + 0xE7, 0xA5, 0x9D, 0x43, 0xE7, 0xA5, 0x9E, 0x43, + 0xE7, 0xA5, 0xA5, 0x43, 0xE7, 0xA5, 0xBF, 0x43, + 0xE7, 0xA6, 0x81, 0x43, 0xE7, 0xA6, 0x8D, 0x43, + 0xE7, 0xA6, 0x8E, 0x43, 0xE7, 0xA6, 0x8F, 0x43, + // Bytes 1080 - 10bf + 0xE7, 0xA6, 0xAE, 0x43, 0xE7, 0xA6, 0xB8, 0x43, + 0xE7, 0xA6, 0xBE, 0x43, 0xE7, 0xA7, 0x8A, 0x43, + 0xE7, 0xA7, 0x98, 0x43, 0xE7, 0xA7, 0xAB, 0x43, + 0xE7, 0xA8, 0x9C, 0x43, 0xE7, 0xA9, 0x80, 0x43, + 0xE7, 0xA9, 0x8A, 0x43, 0xE7, 0xA9, 0x8F, 0x43, + 0xE7, 0xA9, 0xB4, 0x43, 0xE7, 0xA9, 0xBA, 0x43, + 0xE7, 0xAA, 0x81, 0x43, 0xE7, 0xAA, 0xB1, 0x43, + 0xE7, 0xAB, 0x8B, 0x43, 0xE7, 0xAB, 0xAE, 0x43, + // Bytes 10c0 - 10ff + 0xE7, 0xAB, 0xB9, 0x43, 0xE7, 0xAC, 0xA0, 0x43, + 0xE7, 0xAE, 0x8F, 0x43, 0xE7, 0xAF, 0x80, 0x43, + 0xE7, 0xAF, 0x86, 0x43, 0xE7, 0xAF, 0x89, 0x43, + 0xE7, 0xB0, 0xBE, 0x43, 0xE7, 0xB1, 0xA0, 0x43, + 0xE7, 0xB1, 0xB3, 0x43, 0xE7, 0xB1, 0xBB, 0x43, + 0xE7, 0xB2, 0x92, 0x43, 0xE7, 0xB2, 0xBE, 0x43, + 0xE7, 0xB3, 0x92, 0x43, 0xE7, 0xB3, 0x96, 0x43, + 0xE7, 0xB3, 0xA3, 0x43, 0xE7, 0xB3, 0xA7, 0x43, + // Bytes 1100 - 113f + 0xE7, 0xB3, 0xA8, 0x43, 0xE7, 0xB3, 0xB8, 0x43, + 0xE7, 0xB4, 0x80, 0x43, 0xE7, 0xB4, 0x90, 0x43, + 0xE7, 0xB4, 0xA2, 0x43, 0xE7, 0xB4, 0xAF, 0x43, + 0xE7, 0xB5, 0x82, 0x43, 0xE7, 0xB5, 0x9B, 0x43, + 0xE7, 0xB5, 0xA3, 0x43, 0xE7, 0xB6, 0xA0, 0x43, + 0xE7, 0xB6, 0xBE, 0x43, 0xE7, 0xB7, 0x87, 0x43, + 0xE7, 0xB7, 0xB4, 0x43, 0xE7, 0xB8, 0x82, 0x43, + 0xE7, 0xB8, 0x89, 0x43, 0xE7, 0xB8, 0xB7, 0x43, + // Bytes 1140 - 117f + 0xE7, 0xB9, 0x81, 0x43, 0xE7, 0xB9, 0x85, 0x43, + 0xE7, 0xBC, 0xB6, 0x43, 0xE7, 0xBC, 0xBE, 0x43, + 0xE7, 0xBD, 0x91, 0x43, 0xE7, 0xBD, 0xB2, 0x43, + 0xE7, 0xBD, 0xB9, 0x43, 0xE7, 0xBD, 0xBA, 0x43, + 0xE7, 0xBE, 0x85, 0x43, 0xE7, 0xBE, 0x8A, 0x43, + 0xE7, 0xBE, 0x95, 0x43, 0xE7, 0xBE, 0x9A, 0x43, + 0xE7, 0xBE, 0xBD, 0x43, 0xE7, 0xBF, 0xBA, 0x43, + 0xE8, 0x80, 0x81, 0x43, 0xE8, 0x80, 0x85, 0x43, + // Bytes 1180 - 11bf + 0xE8, 0x80, 0x8C, 0x43, 0xE8, 0x80, 0x92, 0x43, + 0xE8, 0x80, 0xB3, 0x43, 0xE8, 0x81, 0x86, 0x43, + 0xE8, 0x81, 0xA0, 0x43, 0xE8, 0x81, 0xAF, 0x43, + 0xE8, 0x81, 0xB0, 0x43, 0xE8, 0x81, 0xBE, 0x43, + 0xE8, 0x81, 0xBF, 0x43, 0xE8, 0x82, 0x89, 0x43, + 0xE8, 0x82, 0x8B, 0x43, 0xE8, 0x82, 0xAD, 0x43, + 0xE8, 0x82, 0xB2, 0x43, 0xE8, 0x84, 0x83, 0x43, + 0xE8, 0x84, 0xBE, 0x43, 0xE8, 0x87, 0x98, 0x43, + // Bytes 11c0 - 11ff + 0xE8, 0x87, 0xA3, 0x43, 0xE8, 0x87, 0xA8, 0x43, + 0xE8, 0x87, 0xAA, 0x43, 0xE8, 0x87, 0xAD, 0x43, + 0xE8, 0x87, 0xB3, 0x43, 0xE8, 0x87, 0xBC, 0x43, + 0xE8, 0x88, 0x81, 0x43, 0xE8, 0x88, 0x84, 0x43, + 0xE8, 0x88, 0x8C, 0x43, 0xE8, 0x88, 0x98, 0x43, + 0xE8, 0x88, 0x9B, 0x43, 0xE8, 0x88, 0x9F, 0x43, + 0xE8, 0x89, 0xAE, 0x43, 0xE8, 0x89, 0xAF, 0x43, + 0xE8, 0x89, 0xB2, 0x43, 0xE8, 0x89, 0xB8, 0x43, + // Bytes 1200 - 123f + 0xE8, 0x89, 0xB9, 0x43, 0xE8, 0x8A, 0x8B, 0x43, + 0xE8, 0x8A, 0x91, 0x43, 0xE8, 0x8A, 0x9D, 0x43, + 0xE8, 0x8A, 0xB1, 0x43, 0xE8, 0x8A, 0xB3, 0x43, + 0xE8, 0x8A, 0xBD, 0x43, 0xE8, 0x8B, 0xA5, 0x43, + 0xE8, 0x8B, 0xA6, 0x43, 0xE8, 0x8C, 0x9D, 0x43, + 0xE8, 0x8C, 0xA3, 0x43, 0xE8, 0x8C, 0xB6, 0x43, + 0xE8, 0x8D, 0x92, 0x43, 0xE8, 0x8D, 0x93, 0x43, + 0xE8, 0x8D, 0xA3, 0x43, 0xE8, 0x8E, 0xAD, 0x43, + // Bytes 1240 - 127f + 0xE8, 0x8E, 0xBD, 0x43, 0xE8, 0x8F, 0x89, 0x43, + 0xE8, 0x8F, 0x8A, 0x43, 0xE8, 0x8F, 0x8C, 0x43, + 0xE8, 0x8F, 0x9C, 0x43, 0xE8, 0x8F, 0xA7, 0x43, + 0xE8, 0x8F, 0xAF, 0x43, 0xE8, 0x8F, 0xB1, 0x43, + 0xE8, 0x90, 0xBD, 0x43, 0xE8, 0x91, 0x89, 0x43, + 0xE8, 0x91, 0x97, 0x43, 0xE8, 0x93, 0xAE, 0x43, + 0xE8, 0x93, 0xB1, 0x43, 0xE8, 0x93, 0xB3, 0x43, + 0xE8, 0x93, 0xBC, 0x43, 0xE8, 0x94, 0x96, 0x43, + // Bytes 1280 - 12bf + 0xE8, 0x95, 0xA4, 0x43, 0xE8, 0x97, 0x8D, 0x43, + 0xE8, 0x97, 0xBA, 0x43, 0xE8, 0x98, 0x86, 0x43, + 0xE8, 0x98, 0x92, 0x43, 0xE8, 0x98, 0xAD, 0x43, + 0xE8, 0x98, 0xBF, 0x43, 0xE8, 0x99, 0x8D, 0x43, + 0xE8, 0x99, 0x90, 0x43, 0xE8, 0x99, 0x9C, 0x43, + 0xE8, 0x99, 0xA7, 0x43, 0xE8, 0x99, 0xA9, 0x43, + 0xE8, 0x99, 0xAB, 0x43, 0xE8, 0x9A, 0x88, 0x43, + 0xE8, 0x9A, 0xA9, 0x43, 0xE8, 0x9B, 0xA2, 0x43, + // Bytes 12c0 - 12ff + 0xE8, 0x9C, 0x8E, 0x43, 0xE8, 0x9C, 0xA8, 0x43, + 0xE8, 0x9D, 0xAB, 0x43, 0xE8, 0x9D, 0xB9, 0x43, + 0xE8, 0x9E, 0x86, 0x43, 0xE8, 0x9E, 0xBA, 0x43, + 0xE8, 0x9F, 0xA1, 0x43, 0xE8, 0xA0, 0x81, 0x43, + 0xE8, 0xA0, 0x9F, 0x43, 0xE8, 0xA1, 0x80, 0x43, + 0xE8, 0xA1, 0x8C, 0x43, 0xE8, 0xA1, 0xA0, 0x43, + 0xE8, 0xA1, 0xA3, 0x43, 0xE8, 0xA3, 0x82, 0x43, + 0xE8, 0xA3, 0x8F, 0x43, 0xE8, 0xA3, 0x97, 0x43, + // Bytes 1300 - 133f + 0xE8, 0xA3, 0x9E, 0x43, 0xE8, 0xA3, 0xA1, 0x43, + 0xE8, 0xA3, 0xB8, 0x43, 0xE8, 0xA3, 0xBA, 0x43, + 0xE8, 0xA4, 0x90, 0x43, 0xE8, 0xA5, 0x81, 0x43, + 0xE8, 0xA5, 0xA4, 0x43, 0xE8, 0xA5, 0xBE, 0x43, + 0xE8, 0xA6, 0x86, 0x43, 0xE8, 0xA6, 0x8B, 0x43, + 0xE8, 0xA6, 0x96, 0x43, 0xE8, 0xA7, 0x92, 0x43, + 0xE8, 0xA7, 0xA3, 0x43, 0xE8, 0xA8, 0x80, 0x43, + 0xE8, 0xAA, 0xA0, 0x43, 0xE8, 0xAA, 0xAA, 0x43, + // Bytes 1340 - 137f + 0xE8, 0xAA, 0xBF, 0x43, 0xE8, 0xAB, 0x8B, 0x43, + 0xE8, 0xAB, 0x92, 0x43, 0xE8, 0xAB, 0x96, 0x43, + 0xE8, 0xAB, 0xAD, 0x43, 0xE8, 0xAB, 0xB8, 0x43, + 0xE8, 0xAB, 0xBE, 0x43, 0xE8, 0xAC, 0x81, 0x43, + 0xE8, 0xAC, 0xB9, 0x43, 0xE8, 0xAD, 0x98, 0x43, + 0xE8, 0xAE, 0x80, 0x43, 0xE8, 0xAE, 0x8A, 0x43, + 0xE8, 0xB0, 0xB7, 0x43, 0xE8, 0xB1, 0x86, 0x43, + 0xE8, 0xB1, 0x88, 0x43, 0xE8, 0xB1, 0x95, 0x43, + // Bytes 1380 - 13bf + 0xE8, 0xB1, 0xB8, 0x43, 0xE8, 0xB2, 0x9D, 0x43, + 0xE8, 0xB2, 0xA1, 0x43, 0xE8, 0xB2, 0xA9, 0x43, + 0xE8, 0xB2, 0xAB, 0x43, 0xE8, 0xB3, 0x81, 0x43, + 0xE8, 0xB3, 0x82, 0x43, 0xE8, 0xB3, 0x87, 0x43, + 0xE8, 0xB3, 0x88, 0x43, 0xE8, 0xB3, 0x93, 0x43, + 0xE8, 0xB4, 0x88, 0x43, 0xE8, 0xB4, 0x9B, 0x43, + 0xE8, 0xB5, 0xA4, 0x43, 0xE8, 0xB5, 0xB0, 0x43, + 0xE8, 0xB5, 0xB7, 0x43, 0xE8, 0xB6, 0xB3, 0x43, + // Bytes 13c0 - 13ff + 0xE8, 0xB6, 0xBC, 0x43, 0xE8, 0xB7, 0x8B, 0x43, + 0xE8, 0xB7, 0xAF, 0x43, 0xE8, 0xB7, 0xB0, 0x43, + 0xE8, 0xBA, 0xAB, 0x43, 0xE8, 0xBB, 0x8A, 0x43, + 0xE8, 0xBB, 0x94, 0x43, 0xE8, 0xBC, 0xA6, 0x43, + 0xE8, 0xBC, 0xAA, 0x43, 0xE8, 0xBC, 0xB8, 0x43, + 0xE8, 0xBC, 0xBB, 0x43, 0xE8, 0xBD, 0xA2, 0x43, + 0xE8, 0xBE, 0x9B, 0x43, 0xE8, 0xBE, 0x9E, 0x43, + 0xE8, 0xBE, 0xB0, 0x43, 0xE8, 0xBE, 0xB5, 0x43, + // Bytes 1400 - 143f + 0xE8, 0xBE, 0xB6, 0x43, 0xE9, 0x80, 0xA3, 0x43, + 0xE9, 0x80, 0xB8, 0x43, 0xE9, 0x81, 0x8A, 0x43, + 0xE9, 0x81, 0xA9, 0x43, 0xE9, 0x81, 0xB2, 0x43, + 0xE9, 0x81, 0xBC, 0x43, 0xE9, 0x82, 0x8F, 0x43, + 0xE9, 0x82, 0x91, 0x43, 0xE9, 0x82, 0x94, 0x43, + 0xE9, 0x83, 0x8E, 0x43, 0xE9, 0x83, 0x9E, 0x43, + 0xE9, 0x83, 0xB1, 0x43, 0xE9, 0x83, 0xBD, 0x43, + 0xE9, 0x84, 0x91, 0x43, 0xE9, 0x84, 0x9B, 0x43, + // Bytes 1440 - 147f + 0xE9, 0x85, 0x89, 0x43, 0xE9, 0x85, 0x8D, 0x43, + 0xE9, 0x85, 0xAA, 0x43, 0xE9, 0x86, 0x99, 0x43, + 0xE9, 0x86, 0xB4, 0x43, 0xE9, 0x87, 0x86, 0x43, + 0xE9, 0x87, 0x8C, 0x43, 0xE9, 0x87, 0x8F, 0x43, + 0xE9, 0x87, 0x91, 0x43, 0xE9, 0x88, 0xB4, 0x43, + 0xE9, 0x88, 0xB8, 0x43, 0xE9, 0x89, 0xB6, 0x43, + 0xE9, 0x89, 0xBC, 0x43, 0xE9, 0x8B, 0x97, 0x43, + 0xE9, 0x8B, 0x98, 0x43, 0xE9, 0x8C, 0x84, 0x43, + // Bytes 1480 - 14bf + 0xE9, 0x8D, 0x8A, 0x43, 0xE9, 0x8F, 0xB9, 0x43, + 0xE9, 0x90, 0x95, 0x43, 0xE9, 0x95, 0xB7, 0x43, + 0xE9, 0x96, 0x80, 0x43, 0xE9, 0x96, 0x8B, 0x43, + 0xE9, 0x96, 0xAD, 0x43, 0xE9, 0x96, 0xB7, 0x43, + 0xE9, 0x98, 0x9C, 0x43, 0xE9, 0x98, 0xAE, 0x43, + 0xE9, 0x99, 0x8B, 0x43, 0xE9, 0x99, 0x8D, 0x43, + 0xE9, 0x99, 0xB5, 0x43, 0xE9, 0x99, 0xB8, 0x43, + 0xE9, 0x99, 0xBC, 0x43, 0xE9, 0x9A, 0x86, 0x43, + // Bytes 14c0 - 14ff + 0xE9, 0x9A, 0xA3, 0x43, 0xE9, 0x9A, 0xB6, 0x43, + 0xE9, 0x9A, 0xB7, 0x43, 0xE9, 0x9A, 0xB8, 0x43, + 0xE9, 0x9A, 0xB9, 0x43, 0xE9, 0x9B, 0x83, 0x43, + 0xE9, 0x9B, 0xA2, 0x43, 0xE9, 0x9B, 0xA3, 0x43, + 0xE9, 0x9B, 0xA8, 0x43, 0xE9, 0x9B, 0xB6, 0x43, + 0xE9, 0x9B, 0xB7, 0x43, 0xE9, 0x9C, 0xA3, 0x43, + 0xE9, 0x9C, 0xB2, 0x43, 0xE9, 0x9D, 0x88, 0x43, + 0xE9, 0x9D, 0x91, 0x43, 0xE9, 0x9D, 0x96, 0x43, + // Bytes 1500 - 153f + 0xE9, 0x9D, 0x9E, 0x43, 0xE9, 0x9D, 0xA2, 0x43, + 0xE9, 0x9D, 0xA9, 0x43, 0xE9, 0x9F, 0x8B, 0x43, + 0xE9, 0x9F, 0x9B, 0x43, 0xE9, 0x9F, 0xA0, 0x43, + 0xE9, 0x9F, 0xAD, 0x43, 0xE9, 0x9F, 0xB3, 0x43, + 0xE9, 0x9F, 0xBF, 0x43, 0xE9, 0xA0, 0x81, 0x43, + 0xE9, 0xA0, 0x85, 0x43, 0xE9, 0xA0, 0x8B, 0x43, + 0xE9, 0xA0, 0x98, 0x43, 0xE9, 0xA0, 0xA9, 0x43, + 0xE9, 0xA0, 0xBB, 0x43, 0xE9, 0xA1, 0x9E, 0x43, + // Bytes 1540 - 157f + 0xE9, 0xA2, 0xA8, 0x43, 0xE9, 0xA3, 0x9B, 0x43, + 0xE9, 0xA3, 0x9F, 0x43, 0xE9, 0xA3, 0xA2, 0x43, + 0xE9, 0xA3, 0xAF, 0x43, 0xE9, 0xA3, 0xBC, 0x43, + 0xE9, 0xA4, 0xA8, 0x43, 0xE9, 0xA4, 0xA9, 0x43, + 0xE9, 0xA6, 0x96, 0x43, 0xE9, 0xA6, 0x99, 0x43, + 0xE9, 0xA6, 0xA7, 0x43, 0xE9, 0xA6, 0xAC, 0x43, + 0xE9, 0xA7, 0x82, 0x43, 0xE9, 0xA7, 0xB1, 0x43, + 0xE9, 0xA7, 0xBE, 0x43, 0xE9, 0xA9, 0xAA, 0x43, + // Bytes 1580 - 15bf + 0xE9, 0xAA, 0xA8, 0x43, 0xE9, 0xAB, 0x98, 0x43, + 0xE9, 0xAB, 0x9F, 0x43, 0xE9, 0xAC, 0x92, 0x43, + 0xE9, 0xAC, 0xA5, 0x43, 0xE9, 0xAC, 0xAF, 0x43, + 0xE9, 0xAC, 0xB2, 0x43, 0xE9, 0xAC, 0xBC, 0x43, + 0xE9, 0xAD, 0x9A, 0x43, 0xE9, 0xAD, 0xAF, 0x43, + 0xE9, 0xB1, 0x80, 0x43, 0xE9, 0xB1, 0x97, 0x43, + 0xE9, 0xB3, 0xA5, 0x43, 0xE9, 0xB3, 0xBD, 0x43, + 0xE9, 0xB5, 0xA7, 0x43, 0xE9, 0xB6, 0xB4, 0x43, + // Bytes 15c0 - 15ff + 0xE9, 0xB7, 0xBA, 0x43, 0xE9, 0xB8, 0x9E, 0x43, + 0xE9, 0xB9, 0xB5, 0x43, 0xE9, 0xB9, 0xBF, 0x43, + 0xE9, 0xBA, 0x97, 0x43, 0xE9, 0xBA, 0x9F, 0x43, + 0xE9, 0xBA, 0xA5, 0x43, 0xE9, 0xBA, 0xBB, 0x43, + 0xE9, 0xBB, 0x83, 0x43, 0xE9, 0xBB, 0x8D, 0x43, + 0xE9, 0xBB, 0x8E, 0x43, 0xE9, 0xBB, 0x91, 0x43, + 0xE9, 0xBB, 0xB9, 0x43, 0xE9, 0xBB, 0xBD, 0x43, + 0xE9, 0xBB, 0xBE, 0x43, 0xE9, 0xBC, 0x85, 0x43, + // Bytes 1600 - 163f + 0xE9, 0xBC, 0x8E, 0x43, 0xE9, 0xBC, 0x8F, 0x43, + 0xE9, 0xBC, 0x93, 0x43, 0xE9, 0xBC, 0x96, 0x43, + 0xE9, 0xBC, 0xA0, 0x43, 0xE9, 0xBC, 0xBB, 0x43, + 0xE9, 0xBD, 0x83, 0x43, 0xE9, 0xBD, 0x8A, 0x43, + 0xE9, 0xBD, 0x92, 0x43, 0xE9, 0xBE, 0x8D, 0x43, + 0xE9, 0xBE, 0x8E, 0x43, 0xE9, 0xBE, 0x9C, 0x43, + 0xE9, 0xBE, 0x9F, 0x43, 0xE9, 0xBE, 0xA0, 0x43, + 0xEA, 0x9C, 0xA7, 0x43, 0xEA, 0x9D, 0xAF, 0x43, + // Bytes 1640 - 167f + 0xEA, 0xAC, 0xB7, 0x43, 0xEA, 0xAD, 0x92, 0x44, + 0xF0, 0xA0, 0x84, 0xA2, 0x44, 0xF0, 0xA0, 0x94, + 0x9C, 0x44, 0xF0, 0xA0, 0x94, 0xA5, 0x44, 0xF0, + 0xA0, 0x95, 0x8B, 0x44, 0xF0, 0xA0, 0x98, 0xBA, + 0x44, 0xF0, 0xA0, 0xA0, 0x84, 0x44, 0xF0, 0xA0, + 0xA3, 0x9E, 0x44, 0xF0, 0xA0, 0xA8, 0xAC, 0x44, + 0xF0, 0xA0, 0xAD, 0xA3, 0x44, 0xF0, 0xA1, 0x93, + 0xA4, 0x44, 0xF0, 0xA1, 0x9A, 0xA8, 0x44, 0xF0, + // Bytes 1680 - 16bf + 0xA1, 0x9B, 0xAA, 0x44, 0xF0, 0xA1, 0xA7, 0x88, + 0x44, 0xF0, 0xA1, 0xAC, 0x98, 0x44, 0xF0, 0xA1, + 0xB4, 0x8B, 0x44, 0xF0, 0xA1, 0xB7, 0xA4, 0x44, + 0xF0, 0xA1, 0xB7, 0xA6, 0x44, 0xF0, 0xA2, 0x86, + 0x83, 0x44, 0xF0, 0xA2, 0x86, 0x9F, 0x44, 0xF0, + 0xA2, 0x8C, 0xB1, 0x44, 0xF0, 0xA2, 0x9B, 0x94, + 0x44, 0xF0, 0xA2, 0xA1, 0x84, 0x44, 0xF0, 0xA2, + 0xA1, 0x8A, 0x44, 0xF0, 0xA2, 0xAC, 0x8C, 0x44, + // Bytes 16c0 - 16ff + 0xF0, 0xA2, 0xAF, 0xB1, 0x44, 0xF0, 0xA3, 0x80, + 0x8A, 0x44, 0xF0, 0xA3, 0x8A, 0xB8, 0x44, 0xF0, + 0xA3, 0x8D, 0x9F, 0x44, 0xF0, 0xA3, 0x8E, 0x93, + 0x44, 0xF0, 0xA3, 0x8E, 0x9C, 0x44, 0xF0, 0xA3, + 0x8F, 0x83, 0x44, 0xF0, 0xA3, 0x8F, 0x95, 0x44, + 0xF0, 0xA3, 0x91, 0xAD, 0x44, 0xF0, 0xA3, 0x9A, + 0xA3, 0x44, 0xF0, 0xA3, 0xA2, 0xA7, 0x44, 0xF0, + 0xA3, 0xAA, 0x8D, 0x44, 0xF0, 0xA3, 0xAB, 0xBA, + // Bytes 1700 - 173f + 0x44, 0xF0, 0xA3, 0xB2, 0xBC, 0x44, 0xF0, 0xA3, + 0xB4, 0x9E, 0x44, 0xF0, 0xA3, 0xBB, 0x91, 0x44, + 0xF0, 0xA3, 0xBD, 0x9E, 0x44, 0xF0, 0xA3, 0xBE, + 0x8E, 0x44, 0xF0, 0xA4, 0x89, 0xA3, 0x44, 0xF0, + 0xA4, 0x8B, 0xAE, 0x44, 0xF0, 0xA4, 0x8E, 0xAB, + 0x44, 0xF0, 0xA4, 0x98, 0x88, 0x44, 0xF0, 0xA4, + 0x9C, 0xB5, 0x44, 0xF0, 0xA4, 0xA0, 0x94, 0x44, + 0xF0, 0xA4, 0xB0, 0xB6, 0x44, 0xF0, 0xA4, 0xB2, + // Bytes 1740 - 177f + 0x92, 0x44, 0xF0, 0xA4, 0xBE, 0xA1, 0x44, 0xF0, + 0xA4, 0xBE, 0xB8, 0x44, 0xF0, 0xA5, 0x81, 0x84, + 0x44, 0xF0, 0xA5, 0x83, 0xB2, 0x44, 0xF0, 0xA5, + 0x83, 0xB3, 0x44, 0xF0, 0xA5, 0x84, 0x99, 0x44, + 0xF0, 0xA5, 0x84, 0xB3, 0x44, 0xF0, 0xA5, 0x89, + 0x89, 0x44, 0xF0, 0xA5, 0x90, 0x9D, 0x44, 0xF0, + 0xA5, 0x98, 0xA6, 0x44, 0xF0, 0xA5, 0x9A, 0x9A, + 0x44, 0xF0, 0xA5, 0x9B, 0x85, 0x44, 0xF0, 0xA5, + // Bytes 1780 - 17bf + 0xA5, 0xBC, 0x44, 0xF0, 0xA5, 0xAA, 0xA7, 0x44, + 0xF0, 0xA5, 0xAE, 0xAB, 0x44, 0xF0, 0xA5, 0xB2, + 0x80, 0x44, 0xF0, 0xA5, 0xB3, 0x90, 0x44, 0xF0, + 0xA5, 0xBE, 0x86, 0x44, 0xF0, 0xA6, 0x87, 0x9A, + 0x44, 0xF0, 0xA6, 0x88, 0xA8, 0x44, 0xF0, 0xA6, + 0x89, 0x87, 0x44, 0xF0, 0xA6, 0x8B, 0x99, 0x44, + 0xF0, 0xA6, 0x8C, 0xBE, 0x44, 0xF0, 0xA6, 0x93, + 0x9A, 0x44, 0xF0, 0xA6, 0x94, 0xA3, 0x44, 0xF0, + // Bytes 17c0 - 17ff + 0xA6, 0x96, 0xA8, 0x44, 0xF0, 0xA6, 0x9E, 0xA7, + 0x44, 0xF0, 0xA6, 0x9E, 0xB5, 0x44, 0xF0, 0xA6, + 0xAC, 0xBC, 0x44, 0xF0, 0xA6, 0xB0, 0xB6, 0x44, + 0xF0, 0xA6, 0xB3, 0x95, 0x44, 0xF0, 0xA6, 0xB5, + 0xAB, 0x44, 0xF0, 0xA6, 0xBC, 0xAC, 0x44, 0xF0, + 0xA6, 0xBE, 0xB1, 0x44, 0xF0, 0xA7, 0x83, 0x92, + 0x44, 0xF0, 0xA7, 0x8F, 0x8A, 0x44, 0xF0, 0xA7, + 0x99, 0xA7, 0x44, 0xF0, 0xA7, 0xA2, 0xAE, 0x44, + // Bytes 1800 - 183f + 0xF0, 0xA7, 0xA5, 0xA6, 0x44, 0xF0, 0xA7, 0xB2, + 0xA8, 0x44, 0xF0, 0xA7, 0xBB, 0x93, 0x44, 0xF0, + 0xA7, 0xBC, 0xAF, 0x44, 0xF0, 0xA8, 0x97, 0x92, + 0x44, 0xF0, 0xA8, 0x97, 0xAD, 0x44, 0xF0, 0xA8, + 0x9C, 0xAE, 0x44, 0xF0, 0xA8, 0xAF, 0xBA, 0x44, + 0xF0, 0xA8, 0xB5, 0xB7, 0x44, 0xF0, 0xA9, 0x85, + 0x85, 0x44, 0xF0, 0xA9, 0x87, 0x9F, 0x44, 0xF0, + 0xA9, 0x88, 0x9A, 0x44, 0xF0, 0xA9, 0x90, 0x8A, + // Bytes 1840 - 187f + 0x44, 0xF0, 0xA9, 0x92, 0x96, 0x44, 0xF0, 0xA9, + 0x96, 0xB6, 0x44, 0xF0, 0xA9, 0xAC, 0xB0, 0x44, + 0xF0, 0xAA, 0x83, 0x8E, 0x44, 0xF0, 0xAA, 0x84, + 0x85, 0x44, 0xF0, 0xAA, 0x88, 0x8E, 0x44, 0xF0, + 0xAA, 0x8A, 0x91, 0x44, 0xF0, 0xAA, 0x8E, 0x92, + 0x44, 0xF0, 0xAA, 0x98, 0x80, 0x42, 0x21, 0x21, + 0x42, 0x21, 0x3F, 0x42, 0x2E, 0x2E, 0x42, 0x30, + 0x2C, 0x42, 0x30, 0x2E, 0x42, 0x31, 0x2C, 0x42, + // Bytes 1880 - 18bf + 0x31, 0x2E, 0x42, 0x31, 0x30, 0x42, 0x31, 0x31, + 0x42, 0x31, 0x32, 0x42, 0x31, 0x33, 0x42, 0x31, + 0x34, 0x42, 0x31, 0x35, 0x42, 0x31, 0x36, 0x42, + 0x31, 0x37, 0x42, 0x31, 0x38, 0x42, 0x31, 0x39, + 0x42, 0x32, 0x2C, 0x42, 0x32, 0x2E, 0x42, 0x32, + 0x30, 0x42, 0x32, 0x31, 0x42, 0x32, 0x32, 0x42, + 0x32, 0x33, 0x42, 0x32, 0x34, 0x42, 0x32, 0x35, + 0x42, 0x32, 0x36, 0x42, 0x32, 0x37, 0x42, 0x32, + // Bytes 18c0 - 18ff + 0x38, 0x42, 0x32, 0x39, 0x42, 0x33, 0x2C, 0x42, + 0x33, 0x2E, 0x42, 0x33, 0x30, 0x42, 0x33, 0x31, + 0x42, 0x33, 0x32, 0x42, 0x33, 0x33, 0x42, 0x33, + 0x34, 0x42, 0x33, 0x35, 0x42, 0x33, 0x36, 0x42, + 0x33, 0x37, 0x42, 0x33, 0x38, 0x42, 0x33, 0x39, + 0x42, 0x34, 0x2C, 0x42, 0x34, 0x2E, 0x42, 0x34, + 0x30, 0x42, 0x34, 0x31, 0x42, 0x34, 0x32, 0x42, + 0x34, 0x33, 0x42, 0x34, 0x34, 0x42, 0x34, 0x35, + // Bytes 1900 - 193f + 0x42, 0x34, 0x36, 0x42, 0x34, 0x37, 0x42, 0x34, + 0x38, 0x42, 0x34, 0x39, 0x42, 0x35, 0x2C, 0x42, + 0x35, 0x2E, 0x42, 0x35, 0x30, 0x42, 0x36, 0x2C, + 0x42, 0x36, 0x2E, 0x42, 0x37, 0x2C, 0x42, 0x37, + 0x2E, 0x42, 0x38, 0x2C, 0x42, 0x38, 0x2E, 0x42, + 0x39, 0x2C, 0x42, 0x39, 0x2E, 0x42, 0x3D, 0x3D, + 0x42, 0x3F, 0x21, 0x42, 0x3F, 0x3F, 0x42, 0x41, + 0x55, 0x42, 0x42, 0x71, 0x42, 0x43, 0x44, 0x42, + // Bytes 1940 - 197f + 0x44, 0x4A, 0x42, 0x44, 0x5A, 0x42, 0x44, 0x7A, + 0x42, 0x47, 0x42, 0x42, 0x47, 0x79, 0x42, 0x48, + 0x50, 0x42, 0x48, 0x56, 0x42, 0x48, 0x67, 0x42, + 0x48, 0x7A, 0x42, 0x49, 0x49, 0x42, 0x49, 0x4A, + 0x42, 0x49, 0x55, 0x42, 0x49, 0x56, 0x42, 0x49, + 0x58, 0x42, 0x4B, 0x42, 0x42, 0x4B, 0x4B, 0x42, + 0x4B, 0x4D, 0x42, 0x4C, 0x4A, 0x42, 0x4C, 0x6A, + 0x42, 0x4D, 0x42, 0x42, 0x4D, 0x43, 0x42, 0x4D, + // Bytes 1980 - 19bf + 0x44, 0x42, 0x4D, 0x56, 0x42, 0x4D, 0x57, 0x42, + 0x4E, 0x4A, 0x42, 0x4E, 0x6A, 0x42, 0x4E, 0x6F, + 0x42, 0x50, 0x48, 0x42, 0x50, 0x52, 0x42, 0x50, + 0x61, 0x42, 0x52, 0x73, 0x42, 0x53, 0x44, 0x42, + 0x53, 0x4D, 0x42, 0x53, 0x53, 0x42, 0x53, 0x76, + 0x42, 0x54, 0x4D, 0x42, 0x56, 0x49, 0x42, 0x57, + 0x43, 0x42, 0x57, 0x5A, 0x42, 0x57, 0x62, 0x42, + 0x58, 0x49, 0x42, 0x63, 0x63, 0x42, 0x63, 0x64, + // Bytes 19c0 - 19ff + 0x42, 0x63, 0x6D, 0x42, 0x64, 0x42, 0x42, 0x64, + 0x61, 0x42, 0x64, 0x6C, 0x42, 0x64, 0x6D, 0x42, + 0x64, 0x7A, 0x42, 0x65, 0x56, 0x42, 0x66, 0x66, + 0x42, 0x66, 0x69, 0x42, 0x66, 0x6C, 0x42, 0x66, + 0x6D, 0x42, 0x68, 0x61, 0x42, 0x69, 0x69, 0x42, + 0x69, 0x6A, 0x42, 0x69, 0x6E, 0x42, 0x69, 0x76, + 0x42, 0x69, 0x78, 0x42, 0x6B, 0x41, 0x42, 0x6B, + 0x56, 0x42, 0x6B, 0x57, 0x42, 0x6B, 0x67, 0x42, + // Bytes 1a00 - 1a3f + 0x6B, 0x6C, 0x42, 0x6B, 0x6D, 0x42, 0x6B, 0x74, + 0x42, 0x6C, 0x6A, 0x42, 0x6C, 0x6D, 0x42, 0x6C, + 0x6E, 0x42, 0x6C, 0x78, 0x42, 0x6D, 0x32, 0x42, + 0x6D, 0x33, 0x42, 0x6D, 0x41, 0x42, 0x6D, 0x56, + 0x42, 0x6D, 0x57, 0x42, 0x6D, 0x62, 0x42, 0x6D, + 0x67, 0x42, 0x6D, 0x6C, 0x42, 0x6D, 0x6D, 0x42, + 0x6D, 0x73, 0x42, 0x6E, 0x41, 0x42, 0x6E, 0x46, + 0x42, 0x6E, 0x56, 0x42, 0x6E, 0x57, 0x42, 0x6E, + // Bytes 1a40 - 1a7f + 0x6A, 0x42, 0x6E, 0x6D, 0x42, 0x6E, 0x73, 0x42, + 0x6F, 0x56, 0x42, 0x70, 0x41, 0x42, 0x70, 0x46, + 0x42, 0x70, 0x56, 0x42, 0x70, 0x57, 0x42, 0x70, + 0x63, 0x42, 0x70, 0x73, 0x42, 0x73, 0x72, 0x42, + 0x73, 0x74, 0x42, 0x76, 0x69, 0x42, 0x78, 0x69, + 0x43, 0x28, 0x31, 0x29, 0x43, 0x28, 0x32, 0x29, + 0x43, 0x28, 0x33, 0x29, 0x43, 0x28, 0x34, 0x29, + 0x43, 0x28, 0x35, 0x29, 0x43, 0x28, 0x36, 0x29, + // Bytes 1a80 - 1abf + 0x43, 0x28, 0x37, 0x29, 0x43, 0x28, 0x38, 0x29, + 0x43, 0x28, 0x39, 0x29, 0x43, 0x28, 0x41, 0x29, + 0x43, 0x28, 0x42, 0x29, 0x43, 0x28, 0x43, 0x29, + 0x43, 0x28, 0x44, 0x29, 0x43, 0x28, 0x45, 0x29, + 0x43, 0x28, 0x46, 0x29, 0x43, 0x28, 0x47, 0x29, + 0x43, 0x28, 0x48, 0x29, 0x43, 0x28, 0x49, 0x29, + 0x43, 0x28, 0x4A, 0x29, 0x43, 0x28, 0x4B, 0x29, + 0x43, 0x28, 0x4C, 0x29, 0x43, 0x28, 0x4D, 0x29, + // Bytes 1ac0 - 1aff + 0x43, 0x28, 0x4E, 0x29, 0x43, 0x28, 0x4F, 0x29, + 0x43, 0x28, 0x50, 0x29, 0x43, 0x28, 0x51, 0x29, + 0x43, 0x28, 0x52, 0x29, 0x43, 0x28, 0x53, 0x29, + 0x43, 0x28, 0x54, 0x29, 0x43, 0x28, 0x55, 0x29, + 0x43, 0x28, 0x56, 0x29, 0x43, 0x28, 0x57, 0x29, + 0x43, 0x28, 0x58, 0x29, 0x43, 0x28, 0x59, 0x29, + 0x43, 0x28, 0x5A, 0x29, 0x43, 0x28, 0x61, 0x29, + 0x43, 0x28, 0x62, 0x29, 0x43, 0x28, 0x63, 0x29, + // Bytes 1b00 - 1b3f + 0x43, 0x28, 0x64, 0x29, 0x43, 0x28, 0x65, 0x29, + 0x43, 0x28, 0x66, 0x29, 0x43, 0x28, 0x67, 0x29, + 0x43, 0x28, 0x68, 0x29, 0x43, 0x28, 0x69, 0x29, + 0x43, 0x28, 0x6A, 0x29, 0x43, 0x28, 0x6B, 0x29, + 0x43, 0x28, 0x6C, 0x29, 0x43, 0x28, 0x6D, 0x29, + 0x43, 0x28, 0x6E, 0x29, 0x43, 0x28, 0x6F, 0x29, + 0x43, 0x28, 0x70, 0x29, 0x43, 0x28, 0x71, 0x29, + 0x43, 0x28, 0x72, 0x29, 0x43, 0x28, 0x73, 0x29, + // Bytes 1b40 - 1b7f + 0x43, 0x28, 0x74, 0x29, 0x43, 0x28, 0x75, 0x29, + 0x43, 0x28, 0x76, 0x29, 0x43, 0x28, 0x77, 0x29, + 0x43, 0x28, 0x78, 0x29, 0x43, 0x28, 0x79, 0x29, + 0x43, 0x28, 0x7A, 0x29, 0x43, 0x2E, 0x2E, 0x2E, + 0x43, 0x31, 0x30, 0x2E, 0x43, 0x31, 0x31, 0x2E, + 0x43, 0x31, 0x32, 0x2E, 0x43, 0x31, 0x33, 0x2E, + 0x43, 0x31, 0x34, 0x2E, 0x43, 0x31, 0x35, 0x2E, + 0x43, 0x31, 0x36, 0x2E, 0x43, 0x31, 0x37, 0x2E, + // Bytes 1b80 - 1bbf + 0x43, 0x31, 0x38, 0x2E, 0x43, 0x31, 0x39, 0x2E, + 0x43, 0x32, 0x30, 0x2E, 0x43, 0x3A, 0x3A, 0x3D, + 0x43, 0x3D, 0x3D, 0x3D, 0x43, 0x43, 0x6F, 0x2E, + 0x43, 0x46, 0x41, 0x58, 0x43, 0x47, 0x48, 0x7A, + 0x43, 0x47, 0x50, 0x61, 0x43, 0x49, 0x49, 0x49, + 0x43, 0x4C, 0x54, 0x44, 0x43, 0x4C, 0xC2, 0xB7, + 0x43, 0x4D, 0x48, 0x7A, 0x43, 0x4D, 0x50, 0x61, + 0x43, 0x4D, 0xCE, 0xA9, 0x43, 0x50, 0x50, 0x4D, + // Bytes 1bc0 - 1bff + 0x43, 0x50, 0x50, 0x56, 0x43, 0x50, 0x54, 0x45, + 0x43, 0x54, 0x45, 0x4C, 0x43, 0x54, 0x48, 0x7A, + 0x43, 0x56, 0x49, 0x49, 0x43, 0x58, 0x49, 0x49, + 0x43, 0x61, 0x2F, 0x63, 0x43, 0x61, 0x2F, 0x73, + 0x43, 0x61, 0xCA, 0xBE, 0x43, 0x62, 0x61, 0x72, + 0x43, 0x63, 0x2F, 0x6F, 0x43, 0x63, 0x2F, 0x75, + 0x43, 0x63, 0x61, 0x6C, 0x43, 0x63, 0x6D, 0x32, + 0x43, 0x63, 0x6D, 0x33, 0x43, 0x64, 0x6D, 0x32, + // Bytes 1c00 - 1c3f + 0x43, 0x64, 0x6D, 0x33, 0x43, 0x65, 0x72, 0x67, + 0x43, 0x66, 0x66, 0x69, 0x43, 0x66, 0x66, 0x6C, + 0x43, 0x67, 0x61, 0x6C, 0x43, 0x68, 0x50, 0x61, + 0x43, 0x69, 0x69, 0x69, 0x43, 0x6B, 0x48, 0x7A, + 0x43, 0x6B, 0x50, 0x61, 0x43, 0x6B, 0x6D, 0x32, + 0x43, 0x6B, 0x6D, 0x33, 0x43, 0x6B, 0xCE, 0xA9, + 0x43, 0x6C, 0x6F, 0x67, 0x43, 0x6C, 0xC2, 0xB7, + 0x43, 0x6D, 0x69, 0x6C, 0x43, 0x6D, 0x6D, 0x32, + // Bytes 1c40 - 1c7f + 0x43, 0x6D, 0x6D, 0x33, 0x43, 0x6D, 0x6F, 0x6C, + 0x43, 0x72, 0x61, 0x64, 0x43, 0x76, 0x69, 0x69, + 0x43, 0x78, 0x69, 0x69, 0x43, 0xC2, 0xB0, 0x43, + 0x43, 0xC2, 0xB0, 0x46, 0x43, 0xCA, 0xBC, 0x6E, + 0x43, 0xCE, 0xBC, 0x41, 0x43, 0xCE, 0xBC, 0x46, + 0x43, 0xCE, 0xBC, 0x56, 0x43, 0xCE, 0xBC, 0x57, + 0x43, 0xCE, 0xBC, 0x67, 0x43, 0xCE, 0xBC, 0x6C, + 0x43, 0xCE, 0xBC, 0x6D, 0x43, 0xCE, 0xBC, 0x73, + // Bytes 1c80 - 1cbf + 0x44, 0x28, 0x31, 0x30, 0x29, 0x44, 0x28, 0x31, + 0x31, 0x29, 0x44, 0x28, 0x31, 0x32, 0x29, 0x44, + 0x28, 0x31, 0x33, 0x29, 0x44, 0x28, 0x31, 0x34, + 0x29, 0x44, 0x28, 0x31, 0x35, 0x29, 0x44, 0x28, + 0x31, 0x36, 0x29, 0x44, 0x28, 0x31, 0x37, 0x29, + 0x44, 0x28, 0x31, 0x38, 0x29, 0x44, 0x28, 0x31, + 0x39, 0x29, 0x44, 0x28, 0x32, 0x30, 0x29, 0x44, + 0x30, 0xE7, 0x82, 0xB9, 0x44, 0x31, 0xE2, 0x81, + // Bytes 1cc0 - 1cff + 0x84, 0x44, 0x31, 0xE6, 0x97, 0xA5, 0x44, 0x31, + 0xE6, 0x9C, 0x88, 0x44, 0x31, 0xE7, 0x82, 0xB9, + 0x44, 0x32, 0xE6, 0x97, 0xA5, 0x44, 0x32, 0xE6, + 0x9C, 0x88, 0x44, 0x32, 0xE7, 0x82, 0xB9, 0x44, + 0x33, 0xE6, 0x97, 0xA5, 0x44, 0x33, 0xE6, 0x9C, + 0x88, 0x44, 0x33, 0xE7, 0x82, 0xB9, 0x44, 0x34, + 0xE6, 0x97, 0xA5, 0x44, 0x34, 0xE6, 0x9C, 0x88, + 0x44, 0x34, 0xE7, 0x82, 0xB9, 0x44, 0x35, 0xE6, + // Bytes 1d00 - 1d3f + 0x97, 0xA5, 0x44, 0x35, 0xE6, 0x9C, 0x88, 0x44, + 0x35, 0xE7, 0x82, 0xB9, 0x44, 0x36, 0xE6, 0x97, + 0xA5, 0x44, 0x36, 0xE6, 0x9C, 0x88, 0x44, 0x36, + 0xE7, 0x82, 0xB9, 0x44, 0x37, 0xE6, 0x97, 0xA5, + 0x44, 0x37, 0xE6, 0x9C, 0x88, 0x44, 0x37, 0xE7, + 0x82, 0xB9, 0x44, 0x38, 0xE6, 0x97, 0xA5, 0x44, + 0x38, 0xE6, 0x9C, 0x88, 0x44, 0x38, 0xE7, 0x82, + 0xB9, 0x44, 0x39, 0xE6, 0x97, 0xA5, 0x44, 0x39, + // Bytes 1d40 - 1d7f + 0xE6, 0x9C, 0x88, 0x44, 0x39, 0xE7, 0x82, 0xB9, + 0x44, 0x56, 0x49, 0x49, 0x49, 0x44, 0x61, 0x2E, + 0x6D, 0x2E, 0x44, 0x6B, 0x63, 0x61, 0x6C, 0x44, + 0x70, 0x2E, 0x6D, 0x2E, 0x44, 0x76, 0x69, 0x69, + 0x69, 0x44, 0xD5, 0xA5, 0xD6, 0x82, 0x44, 0xD5, + 0xB4, 0xD5, 0xA5, 0x44, 0xD5, 0xB4, 0xD5, 0xAB, + 0x44, 0xD5, 0xB4, 0xD5, 0xAD, 0x44, 0xD5, 0xB4, + 0xD5, 0xB6, 0x44, 0xD5, 0xBE, 0xD5, 0xB6, 0x44, + // Bytes 1d80 - 1dbf + 0xD7, 0x90, 0xD7, 0x9C, 0x44, 0xD8, 0xA7, 0xD9, + 0xB4, 0x44, 0xD8, 0xA8, 0xD8, 0xAC, 0x44, 0xD8, + 0xA8, 0xD8, 0xAD, 0x44, 0xD8, 0xA8, 0xD8, 0xAE, + 0x44, 0xD8, 0xA8, 0xD8, 0xB1, 0x44, 0xD8, 0xA8, + 0xD8, 0xB2, 0x44, 0xD8, 0xA8, 0xD9, 0x85, 0x44, + 0xD8, 0xA8, 0xD9, 0x86, 0x44, 0xD8, 0xA8, 0xD9, + 0x87, 0x44, 0xD8, 0xA8, 0xD9, 0x89, 0x44, 0xD8, + 0xA8, 0xD9, 0x8A, 0x44, 0xD8, 0xAA, 0xD8, 0xAC, + // Bytes 1dc0 - 1dff + 0x44, 0xD8, 0xAA, 0xD8, 0xAD, 0x44, 0xD8, 0xAA, + 0xD8, 0xAE, 0x44, 0xD8, 0xAA, 0xD8, 0xB1, 0x44, + 0xD8, 0xAA, 0xD8, 0xB2, 0x44, 0xD8, 0xAA, 0xD9, + 0x85, 0x44, 0xD8, 0xAA, 0xD9, 0x86, 0x44, 0xD8, + 0xAA, 0xD9, 0x87, 0x44, 0xD8, 0xAA, 0xD9, 0x89, + 0x44, 0xD8, 0xAA, 0xD9, 0x8A, 0x44, 0xD8, 0xAB, + 0xD8, 0xAC, 0x44, 0xD8, 0xAB, 0xD8, 0xB1, 0x44, + 0xD8, 0xAB, 0xD8, 0xB2, 0x44, 0xD8, 0xAB, 0xD9, + // Bytes 1e00 - 1e3f + 0x85, 0x44, 0xD8, 0xAB, 0xD9, 0x86, 0x44, 0xD8, + 0xAB, 0xD9, 0x87, 0x44, 0xD8, 0xAB, 0xD9, 0x89, + 0x44, 0xD8, 0xAB, 0xD9, 0x8A, 0x44, 0xD8, 0xAC, + 0xD8, 0xAD, 0x44, 0xD8, 0xAC, 0xD9, 0x85, 0x44, + 0xD8, 0xAC, 0xD9, 0x89, 0x44, 0xD8, 0xAC, 0xD9, + 0x8A, 0x44, 0xD8, 0xAD, 0xD8, 0xAC, 0x44, 0xD8, + 0xAD, 0xD9, 0x85, 0x44, 0xD8, 0xAD, 0xD9, 0x89, + 0x44, 0xD8, 0xAD, 0xD9, 0x8A, 0x44, 0xD8, 0xAE, + // Bytes 1e40 - 1e7f + 0xD8, 0xAC, 0x44, 0xD8, 0xAE, 0xD8, 0xAD, 0x44, + 0xD8, 0xAE, 0xD9, 0x85, 0x44, 0xD8, 0xAE, 0xD9, + 0x89, 0x44, 0xD8, 0xAE, 0xD9, 0x8A, 0x44, 0xD8, + 0xB3, 0xD8, 0xAC, 0x44, 0xD8, 0xB3, 0xD8, 0xAD, + 0x44, 0xD8, 0xB3, 0xD8, 0xAE, 0x44, 0xD8, 0xB3, + 0xD8, 0xB1, 0x44, 0xD8, 0xB3, 0xD9, 0x85, 0x44, + 0xD8, 0xB3, 0xD9, 0x87, 0x44, 0xD8, 0xB3, 0xD9, + 0x89, 0x44, 0xD8, 0xB3, 0xD9, 0x8A, 0x44, 0xD8, + // Bytes 1e80 - 1ebf + 0xB4, 0xD8, 0xAC, 0x44, 0xD8, 0xB4, 0xD8, 0xAD, + 0x44, 0xD8, 0xB4, 0xD8, 0xAE, 0x44, 0xD8, 0xB4, + 0xD8, 0xB1, 0x44, 0xD8, 0xB4, 0xD9, 0x85, 0x44, + 0xD8, 0xB4, 0xD9, 0x87, 0x44, 0xD8, 0xB4, 0xD9, + 0x89, 0x44, 0xD8, 0xB4, 0xD9, 0x8A, 0x44, 0xD8, + 0xB5, 0xD8, 0xAD, 0x44, 0xD8, 0xB5, 0xD8, 0xAE, + 0x44, 0xD8, 0xB5, 0xD8, 0xB1, 0x44, 0xD8, 0xB5, + 0xD9, 0x85, 0x44, 0xD8, 0xB5, 0xD9, 0x89, 0x44, + // Bytes 1ec0 - 1eff + 0xD8, 0xB5, 0xD9, 0x8A, 0x44, 0xD8, 0xB6, 0xD8, + 0xAC, 0x44, 0xD8, 0xB6, 0xD8, 0xAD, 0x44, 0xD8, + 0xB6, 0xD8, 0xAE, 0x44, 0xD8, 0xB6, 0xD8, 0xB1, + 0x44, 0xD8, 0xB6, 0xD9, 0x85, 0x44, 0xD8, 0xB6, + 0xD9, 0x89, 0x44, 0xD8, 0xB6, 0xD9, 0x8A, 0x44, + 0xD8, 0xB7, 0xD8, 0xAD, 0x44, 0xD8, 0xB7, 0xD9, + 0x85, 0x44, 0xD8, 0xB7, 0xD9, 0x89, 0x44, 0xD8, + 0xB7, 0xD9, 0x8A, 0x44, 0xD8, 0xB8, 0xD9, 0x85, + // Bytes 1f00 - 1f3f + 0x44, 0xD8, 0xB9, 0xD8, 0xAC, 0x44, 0xD8, 0xB9, + 0xD9, 0x85, 0x44, 0xD8, 0xB9, 0xD9, 0x89, 0x44, + 0xD8, 0xB9, 0xD9, 0x8A, 0x44, 0xD8, 0xBA, 0xD8, + 0xAC, 0x44, 0xD8, 0xBA, 0xD9, 0x85, 0x44, 0xD8, + 0xBA, 0xD9, 0x89, 0x44, 0xD8, 0xBA, 0xD9, 0x8A, + 0x44, 0xD9, 0x81, 0xD8, 0xAC, 0x44, 0xD9, 0x81, + 0xD8, 0xAD, 0x44, 0xD9, 0x81, 0xD8, 0xAE, 0x44, + 0xD9, 0x81, 0xD9, 0x85, 0x44, 0xD9, 0x81, 0xD9, + // Bytes 1f40 - 1f7f + 0x89, 0x44, 0xD9, 0x81, 0xD9, 0x8A, 0x44, 0xD9, + 0x82, 0xD8, 0xAD, 0x44, 0xD9, 0x82, 0xD9, 0x85, + 0x44, 0xD9, 0x82, 0xD9, 0x89, 0x44, 0xD9, 0x82, + 0xD9, 0x8A, 0x44, 0xD9, 0x83, 0xD8, 0xA7, 0x44, + 0xD9, 0x83, 0xD8, 0xAC, 0x44, 0xD9, 0x83, 0xD8, + 0xAD, 0x44, 0xD9, 0x83, 0xD8, 0xAE, 0x44, 0xD9, + 0x83, 0xD9, 0x84, 0x44, 0xD9, 0x83, 0xD9, 0x85, + 0x44, 0xD9, 0x83, 0xD9, 0x89, 0x44, 0xD9, 0x83, + // Bytes 1f80 - 1fbf + 0xD9, 0x8A, 0x44, 0xD9, 0x84, 0xD8, 0xA7, 0x44, + 0xD9, 0x84, 0xD8, 0xAC, 0x44, 0xD9, 0x84, 0xD8, + 0xAD, 0x44, 0xD9, 0x84, 0xD8, 0xAE, 0x44, 0xD9, + 0x84, 0xD9, 0x85, 0x44, 0xD9, 0x84, 0xD9, 0x87, + 0x44, 0xD9, 0x84, 0xD9, 0x89, 0x44, 0xD9, 0x84, + 0xD9, 0x8A, 0x44, 0xD9, 0x85, 0xD8, 0xA7, 0x44, + 0xD9, 0x85, 0xD8, 0xAC, 0x44, 0xD9, 0x85, 0xD8, + 0xAD, 0x44, 0xD9, 0x85, 0xD8, 0xAE, 0x44, 0xD9, + // Bytes 1fc0 - 1fff + 0x85, 0xD9, 0x85, 0x44, 0xD9, 0x85, 0xD9, 0x89, + 0x44, 0xD9, 0x85, 0xD9, 0x8A, 0x44, 0xD9, 0x86, + 0xD8, 0xAC, 0x44, 0xD9, 0x86, 0xD8, 0xAD, 0x44, + 0xD9, 0x86, 0xD8, 0xAE, 0x44, 0xD9, 0x86, 0xD8, + 0xB1, 0x44, 0xD9, 0x86, 0xD8, 0xB2, 0x44, 0xD9, + 0x86, 0xD9, 0x85, 0x44, 0xD9, 0x86, 0xD9, 0x86, + 0x44, 0xD9, 0x86, 0xD9, 0x87, 0x44, 0xD9, 0x86, + 0xD9, 0x89, 0x44, 0xD9, 0x86, 0xD9, 0x8A, 0x44, + // Bytes 2000 - 203f + 0xD9, 0x87, 0xD8, 0xAC, 0x44, 0xD9, 0x87, 0xD9, + 0x85, 0x44, 0xD9, 0x87, 0xD9, 0x89, 0x44, 0xD9, + 0x87, 0xD9, 0x8A, 0x44, 0xD9, 0x88, 0xD9, 0xB4, + 0x44, 0xD9, 0x8A, 0xD8, 0xAC, 0x44, 0xD9, 0x8A, + 0xD8, 0xAD, 0x44, 0xD9, 0x8A, 0xD8, 0xAE, 0x44, + 0xD9, 0x8A, 0xD8, 0xB1, 0x44, 0xD9, 0x8A, 0xD8, + 0xB2, 0x44, 0xD9, 0x8A, 0xD9, 0x85, 0x44, 0xD9, + 0x8A, 0xD9, 0x86, 0x44, 0xD9, 0x8A, 0xD9, 0x87, + // Bytes 2040 - 207f + 0x44, 0xD9, 0x8A, 0xD9, 0x89, 0x44, 0xD9, 0x8A, + 0xD9, 0x8A, 0x44, 0xD9, 0x8A, 0xD9, 0xB4, 0x44, + 0xDB, 0x87, 0xD9, 0xB4, 0x45, 0x28, 0xE1, 0x84, + 0x80, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x82, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x83, 0x29, 0x45, 0x28, + 0xE1, 0x84, 0x85, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x86, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x87, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x89, 0x29, 0x45, 0x28, + // Bytes 2080 - 20bf + 0xE1, 0x84, 0x8B, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x8C, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x8E, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x8F, 0x29, 0x45, 0x28, + 0xE1, 0x84, 0x90, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x91, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x92, 0x29, + 0x45, 0x28, 0xE4, 0xB8, 0x80, 0x29, 0x45, 0x28, + 0xE4, 0xB8, 0x83, 0x29, 0x45, 0x28, 0xE4, 0xB8, + 0x89, 0x29, 0x45, 0x28, 0xE4, 0xB9, 0x9D, 0x29, + // Bytes 20c0 - 20ff + 0x45, 0x28, 0xE4, 0xBA, 0x8C, 0x29, 0x45, 0x28, + 0xE4, 0xBA, 0x94, 0x29, 0x45, 0x28, 0xE4, 0xBB, + 0xA3, 0x29, 0x45, 0x28, 0xE4, 0xBC, 0x81, 0x29, + 0x45, 0x28, 0xE4, 0xBC, 0x91, 0x29, 0x45, 0x28, + 0xE5, 0x85, 0xAB, 0x29, 0x45, 0x28, 0xE5, 0x85, + 0xAD, 0x29, 0x45, 0x28, 0xE5, 0x8A, 0xB4, 0x29, + 0x45, 0x28, 0xE5, 0x8D, 0x81, 0x29, 0x45, 0x28, + 0xE5, 0x8D, 0x94, 0x29, 0x45, 0x28, 0xE5, 0x90, + // Bytes 2100 - 213f + 0x8D, 0x29, 0x45, 0x28, 0xE5, 0x91, 0xBC, 0x29, + 0x45, 0x28, 0xE5, 0x9B, 0x9B, 0x29, 0x45, 0x28, + 0xE5, 0x9C, 0x9F, 0x29, 0x45, 0x28, 0xE5, 0xAD, + 0xA6, 0x29, 0x45, 0x28, 0xE6, 0x97, 0xA5, 0x29, + 0x45, 0x28, 0xE6, 0x9C, 0x88, 0x29, 0x45, 0x28, + 0xE6, 0x9C, 0x89, 0x29, 0x45, 0x28, 0xE6, 0x9C, + 0xA8, 0x29, 0x45, 0x28, 0xE6, 0xA0, 0xAA, 0x29, + 0x45, 0x28, 0xE6, 0xB0, 0xB4, 0x29, 0x45, 0x28, + // Bytes 2140 - 217f + 0xE7, 0x81, 0xAB, 0x29, 0x45, 0x28, 0xE7, 0x89, + 0xB9, 0x29, 0x45, 0x28, 0xE7, 0x9B, 0xA3, 0x29, + 0x45, 0x28, 0xE7, 0xA4, 0xBE, 0x29, 0x45, 0x28, + 0xE7, 0xA5, 0x9D, 0x29, 0x45, 0x28, 0xE7, 0xA5, + 0xAD, 0x29, 0x45, 0x28, 0xE8, 0x87, 0xAA, 0x29, + 0x45, 0x28, 0xE8, 0x87, 0xB3, 0x29, 0x45, 0x28, + 0xE8, 0xB2, 0xA1, 0x29, 0x45, 0x28, 0xE8, 0xB3, + 0x87, 0x29, 0x45, 0x28, 0xE9, 0x87, 0x91, 0x29, + // Bytes 2180 - 21bf + 0x45, 0x30, 0xE2, 0x81, 0x84, 0x33, 0x45, 0x31, + 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x30, 0xE6, + 0x9C, 0x88, 0x45, 0x31, 0x30, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x31, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x31, 0xE6, 0x9C, 0x88, 0x45, 0x31, 0x31, 0xE7, + 0x82, 0xB9, 0x45, 0x31, 0x32, 0xE6, 0x97, 0xA5, + 0x45, 0x31, 0x32, 0xE6, 0x9C, 0x88, 0x45, 0x31, + 0x32, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x33, 0xE6, + // Bytes 21c0 - 21ff + 0x97, 0xA5, 0x45, 0x31, 0x33, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x34, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x35, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x35, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x36, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x36, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x37, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x37, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x38, 0xE6, 0x97, 0xA5, 0x45, 0x31, + // Bytes 2200 - 223f + 0x38, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x39, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x39, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0xE2, 0x81, 0x84, 0x32, 0x45, 0x31, + 0xE2, 0x81, 0x84, 0x33, 0x45, 0x31, 0xE2, 0x81, + 0x84, 0x34, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x35, + 0x45, 0x31, 0xE2, 0x81, 0x84, 0x36, 0x45, 0x31, + 0xE2, 0x81, 0x84, 0x37, 0x45, 0x31, 0xE2, 0x81, + 0x84, 0x38, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x39, + // Bytes 2240 - 227f + 0x45, 0x32, 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x30, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x31, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0x31, 0xE7, 0x82, 0xB9, + 0x45, 0x32, 0x32, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x32, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x33, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0x33, 0xE7, 0x82, 0xB9, + 0x45, 0x32, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x34, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x35, 0xE6, + // Bytes 2280 - 22bf + 0x97, 0xA5, 0x45, 0x32, 0x36, 0xE6, 0x97, 0xA5, + 0x45, 0x32, 0x37, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x38, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x39, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0xE2, 0x81, 0x84, 0x33, + 0x45, 0x32, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33, + 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x33, 0x31, 0xE6, + 0x97, 0xA5, 0x45, 0x33, 0xE2, 0x81, 0x84, 0x34, + 0x45, 0x33, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33, + // Bytes 22c0 - 22ff + 0xE2, 0x81, 0x84, 0x38, 0x45, 0x34, 0xE2, 0x81, + 0x84, 0x35, 0x45, 0x35, 0xE2, 0x81, 0x84, 0x36, + 0x45, 0x35, 0xE2, 0x81, 0x84, 0x38, 0x45, 0x37, + 0xE2, 0x81, 0x84, 0x38, 0x45, 0x41, 0xE2, 0x88, + 0x95, 0x6D, 0x45, 0x56, 0xE2, 0x88, 0x95, 0x6D, + 0x45, 0x6D, 0xE2, 0x88, 0x95, 0x73, 0x46, 0x31, + 0xE2, 0x81, 0x84, 0x31, 0x30, 0x46, 0x43, 0xE2, + 0x88, 0x95, 0x6B, 0x67, 0x46, 0x6D, 0xE2, 0x88, + // Bytes 2300 - 233f + 0x95, 0x73, 0x32, 0x46, 0xD8, 0xA8, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD8, 0xA8, 0xD8, 0xAE, 0xD9, + 0x8A, 0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x85, + 0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x89, 0x46, + 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8, + 0xAA, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, 0xD8, 0xAA, + 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, + 0xAE, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, + // Bytes 2340 - 237f + 0xD9, 0x89, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, 0xD9, + 0x8A, 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAC, + 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAD, 0x46, + 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAE, 0x46, 0xD8, + 0xAA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAA, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD8, + 0xAD, 0xD9, 0x89, 0x46, 0xD8, 0xAC, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD8, + // Bytes 2380 - 23bf + 0xAD, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x89, + 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x8A, 0x46, + 0xD8, 0xAD, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8, + 0xAD, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAD, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB3, 0xD8, + 0xAC, 0xD8, 0xAD, 0x46, 0xD8, 0xB3, 0xD8, 0xAC, + 0xD9, 0x89, 0x46, 0xD8, 0xB3, 0xD8, 0xAD, 0xD8, + 0xAC, 0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x89, + // Bytes 23c0 - 23ff + 0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x8A, 0x46, + 0xD8, 0xB3, 0xD9, 0x85, 0xD8, 0xAC, 0x46, 0xD8, + 0xB3, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, 0xB3, + 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8, + 0xAC, 0xD9, 0x8A, 0x46, 0xD8, 0xB4, 0xD8, 0xAD, + 0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8, 0xAD, 0xD9, + 0x8A, 0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD8, 0xAE, + 0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD9, 0x85, 0x46, + // Bytes 2400 - 243f + 0xD8, 0xB5, 0xD8, 0xAD, 0xD8, 0xAD, 0x46, 0xD8, + 0xB5, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xB5, + 0xD9, 0x84, 0xD9, 0x89, 0x46, 0xD8, 0xB5, 0xD9, + 0x84, 0xDB, 0x92, 0x46, 0xD8, 0xB5, 0xD9, 0x85, + 0xD9, 0x85, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, + 0x89, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, 0x8A, + 0x46, 0xD8, 0xB6, 0xD8, 0xAE, 0xD9, 0x85, 0x46, + 0xD8, 0xB7, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, + // Bytes 2440 - 247f + 0xB7, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB7, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB9, 0xD8, + 0xAC, 0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85, + 0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, + 0x89, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, 0x8A, + 0x46, 0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x85, 0x46, + 0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, + 0xBA, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x81, + // Bytes 2480 - 24bf + 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x81, 0xD9, + 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x82, 0xD9, 0x84, + 0xDB, 0x92, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD8, + 0xAD, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x85, + 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x8A, 0x46, + 0xD9, 0x83, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, + 0x83, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x84, + 0xD8, 0xAC, 0xD8, 0xAC, 0x46, 0xD9, 0x84, 0xD8, + // Bytes 24c0 - 24ff + 0xAC, 0xD9, 0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAC, + 0xD9, 0x8A, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, + 0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x89, + 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, + 0xD9, 0x84, 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, + 0x84, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD9, 0x84, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD8, + 0xAC, 0xD8, 0xAD, 0x46, 0xD9, 0x85, 0xD8, 0xAC, + // Bytes 2500 - 253f + 0xD8, 0xAE, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9, + 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9, 0x8A, + 0x46, 0xD9, 0x85, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, + 0xD9, 0x85, 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, + 0x85, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x85, + 0xD8, 0xAE, 0xD8, 0xAC, 0x46, 0xD9, 0x85, 0xD8, + 0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAE, + 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD9, 0x85, 0xD9, + // Bytes 2540 - 257f + 0x8A, 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD8, 0xAD, + 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x85, 0x46, + 0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x89, 0x46, 0xD9, + 0x86, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x86, + 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, 0x86, 0xD8, + 0xAD, 0xD9, 0x89, 0x46, 0xD9, 0x86, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9, + 0x89, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9, 0x8A, + // Bytes 2580 - 25bf + 0x46, 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xAC, 0x46, + 0xD9, 0x87, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, + 0x8A, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, + 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, + 0x85, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x85, + 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, + 0xA7, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAC, + 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAD, 0x46, + // Bytes 25c0 - 25ff + 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAE, 0x46, 0xD9, + 0x8A, 0xD9, 0x94, 0xD8, 0xB1, 0x46, 0xD9, 0x8A, + 0xD9, 0x94, 0xD8, 0xB2, 0x46, 0xD9, 0x8A, 0xD9, + 0x94, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x94, + 0xD9, 0x86, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, + 0x87, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x88, + 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x89, 0x46, + 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x8A, 0x46, 0xD9, + // Bytes 2600 - 263f + 0x8A, 0xD9, 0x94, 0xDB, 0x86, 0x46, 0xD9, 0x8A, + 0xD9, 0x94, 0xDB, 0x87, 0x46, 0xD9, 0x8A, 0xD9, + 0x94, 0xDB, 0x88, 0x46, 0xD9, 0x8A, 0xD9, 0x94, + 0xDB, 0x90, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB, + 0x95, 0x46, 0xE0, 0xB9, 0x8D, 0xE0, 0xB8, 0xB2, + 0x46, 0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0x99, 0x46, + 0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0xA1, 0x46, 0xE0, + 0xBB, 0x8D, 0xE0, 0xBA, 0xB2, 0x46, 0xE0, 0xBD, + // Bytes 2640 - 267f + 0x80, 0xE0, 0xBE, 0xB5, 0x46, 0xE0, 0xBD, 0x82, + 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x8C, 0xE0, + 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x91, 0xE0, 0xBE, + 0xB7, 0x46, 0xE0, 0xBD, 0x96, 0xE0, 0xBE, 0xB7, + 0x46, 0xE0, 0xBD, 0x9B, 0xE0, 0xBE, 0xB7, 0x46, + 0xE0, 0xBE, 0x90, 0xE0, 0xBE, 0xB5, 0x46, 0xE0, + 0xBE, 0x92, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, + 0x9C, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA1, + // Bytes 2680 - 26bf + 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA6, 0xE0, + 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xAB, 0xE0, 0xBE, + 0xB7, 0x46, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0x46, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0x46, + 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0x46, 0xE2, + 0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x46, 0xE3, 0x81, + 0xBB, 0xE3, 0x81, 0x8B, 0x46, 0xE3, 0x82, 0x88, + 0xE3, 0x82, 0x8A, 0x46, 0xE3, 0x82, 0xAD, 0xE3, + // Bytes 26c0 - 26ff + 0x83, 0xAD, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x82, + 0xB3, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0x88, + 0x46, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xB3, 0x46, + 0xE3, 0x83, 0x8A, 0xE3, 0x83, 0x8E, 0x46, 0xE3, + 0x83, 0x9B, 0xE3, 0x83, 0xB3, 0x46, 0xE3, 0x83, + 0x9F, 0xE3, 0x83, 0xAA, 0x46, 0xE3, 0x83, 0xAA, + 0xE3, 0x83, 0xA9, 0x46, 0xE3, 0x83, 0xAC, 0xE3, + 0x83, 0xA0, 0x46, 0xE5, 0xA4, 0xA7, 0xE6, 0xAD, + // Bytes 2700 - 273f + 0xA3, 0x46, 0xE5, 0xB9, 0xB3, 0xE6, 0x88, 0x90, + 0x46, 0xE6, 0x98, 0x8E, 0xE6, 0xB2, 0xBB, 0x46, + 0xE6, 0x98, 0xAD, 0xE5, 0x92, 0x8C, 0x47, 0x72, + 0x61, 0x64, 0xE2, 0x88, 0x95, 0x73, 0x47, 0xE3, + 0x80, 0x94, 0x53, 0xE3, 0x80, 0x95, 0x48, 0x28, + 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x29, 0x48, + 0x28, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x29, + 0x48, 0x28, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1, + // Bytes 2740 - 277f + 0x29, 0x48, 0x28, 0xE1, 0x84, 0x85, 0xE1, 0x85, + 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x86, 0xE1, + 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x87, + 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, + 0x89, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, + 0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, + 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x29, 0x48, + 0x28, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xAE, 0x29, + // Bytes 2780 - 27bf + 0x48, 0x28, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1, + 0x29, 0x48, 0x28, 0xE1, 0x84, 0x8F, 0xE1, 0x85, + 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x90, 0xE1, + 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x91, + 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, + 0x92, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x72, 0x61, + 0x64, 0xE2, 0x88, 0x95, 0x73, 0x32, 0x48, 0xD8, + 0xA7, 0xD9, 0x83, 0xD8, 0xA8, 0xD8, 0xB1, 0x48, + // Bytes 27c0 - 27ff + 0xD8, 0xA7, 0xD9, 0x84, 0xD9, 0x84, 0xD9, 0x87, + 0x48, 0xD8, 0xB1, 0xD8, 0xB3, 0xD9, 0x88, 0xD9, + 0x84, 0x48, 0xD8, 0xB1, 0xDB, 0x8C, 0xD8, 0xA7, + 0xD9, 0x84, 0x48, 0xD8, 0xB5, 0xD9, 0x84, 0xD8, + 0xB9, 0xD9, 0x85, 0x48, 0xD8, 0xB9, 0xD9, 0x84, + 0xD9, 0x8A, 0xD9, 0x87, 0x48, 0xD9, 0x85, 0xD8, + 0xAD, 0xD9, 0x85, 0xD8, 0xAF, 0x48, 0xD9, 0x88, + 0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x49, 0xE2, + // Bytes 2800 - 283f + 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0x49, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0xE2, + 0x80, 0xB5, 0x49, 0xE2, 0x88, 0xAB, 0xE2, 0x88, + 0xAB, 0xE2, 0x88, 0xAB, 0x49, 0xE2, 0x88, 0xAE, + 0xE2, 0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x49, 0xE3, + 0x80, 0x94, 0xE4, 0xB8, 0x89, 0xE3, 0x80, 0x95, + 0x49, 0xE3, 0x80, 0x94, 0xE4, 0xBA, 0x8C, 0xE3, + 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE5, 0x8B, + // Bytes 2840 - 287f + 0x9D, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, + 0xE5, 0xAE, 0x89, 0xE3, 0x80, 0x95, 0x49, 0xE3, + 0x80, 0x94, 0xE6, 0x89, 0x93, 0xE3, 0x80, 0x95, + 0x49, 0xE3, 0x80, 0x94, 0xE6, 0x95, 0x97, 0xE3, + 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE6, 0x9C, + 0xAC, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, + 0xE7, 0x82, 0xB9, 0xE3, 0x80, 0x95, 0x49, 0xE3, + 0x80, 0x94, 0xE7, 0x9B, 0x97, 0xE3, 0x80, 0x95, + // Bytes 2880 - 28bf + 0x49, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xAB, 0x49, 0xE3, 0x82, 0xA4, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x81, 0x49, 0xE3, 0x82, 0xA6, + 0xE3, 0x82, 0xA9, 0xE3, 0x83, 0xB3, 0x49, 0xE3, + 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB9, + 0x49, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xA0, 0x49, 0xE3, 0x82, 0xAB, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0xAA, 0x49, 0xE3, 0x82, 0xB1, + // Bytes 28c0 - 28ff + 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB9, 0x49, 0xE3, + 0x82, 0xB3, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x8A, + 0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3, + 0x83, 0x81, 0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x88, 0x49, 0xE3, 0x83, 0x86, + 0xE3, 0x82, 0x99, 0xE3, 0x82, 0xB7, 0x49, 0xE3, + 0x83, 0x88, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, + 0x49, 0xE3, 0x83, 0x8E, 0xE3, 0x83, 0x83, 0xE3, + // Bytes 2900 - 293f + 0x83, 0x88, 0x49, 0xE3, 0x83, 0x8F, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0x84, 0x49, 0xE3, 0x83, 0x92, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, 0x49, 0xE3, + 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xB3, + 0x49, 0xE3, 0x83, 0x95, 0xE3, 0x83, 0xA9, 0xE3, + 0x83, 0xB3, 0x49, 0xE3, 0x83, 0x98, 0xE3, 0x82, + 0x9A, 0xE3, 0x82, 0xBD, 0x49, 0xE3, 0x83, 0x98, + 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x84, 0x49, 0xE3, + // Bytes 2940 - 297f + 0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAB, + 0x49, 0xE3, 0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xB3, 0x49, 0xE3, 0x83, 0x9E, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, 0x9E, + 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x8F, 0x49, 0xE3, + 0x83, 0x9E, 0xE3, 0x83, 0xAB, 0xE3, 0x82, 0xAF, + 0x49, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xAB, 0x49, 0xE3, 0x83, 0xA6, 0xE3, 0x82, + // Bytes 2980 - 29bf + 0xA2, 0xE3, 0x83, 0xB3, 0x49, 0xE3, 0x83, 0xAF, + 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0x4C, 0xE2, + 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0xE2, 0x80, 0xB2, 0x4C, 0xE2, 0x88, 0xAB, 0xE2, + 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, + 0x4C, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xAB, 0xE3, + 0x83, 0x95, 0xE3, 0x82, 0xA1, 0x4C, 0xE3, 0x82, + 0xA8, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xAB, 0xE3, + // Bytes 29c0 - 29ff + 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xB3, 0x4C, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x9E, 0x4C, 0xE3, 0x82, 0xAB, + 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0x83, 0xE3, 0x83, + 0x88, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0xAD, + 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0x4C, 0xE3, + 0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0x8B, + // Bytes 2a00 - 2a3f + 0xE3, 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, + 0x83, 0xA5, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, + 0x4C, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, + 0x83, 0xA9, 0xE3, 0x83, 0xA0, 0x4C, 0xE3, 0x82, + 0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0x8D, 0x4C, 0xE3, 0x82, 0xB5, 0xE3, 0x82, + 0xA4, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C, + 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + // Bytes 2a40 - 2a7f + 0xBC, 0xE3, 0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0x84, 0x4C, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, + 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C, 0xE3, + 0x83, 0x95, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, + 0xE3, 0x83, 0x88, 0x4C, 0xE3, 0x83, 0x98, 0xE3, + 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xBF, + 0x4C, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, + // Bytes 2a80 - 2abf + 0x83, 0x8B, 0xE3, 0x83, 0x92, 0x4C, 0xE3, 0x83, + 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xB3, 0xE3, + 0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x9B, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x88, 0x4C, + 0xE3, 0x83, 0x9E, 0xE3, 0x82, 0xA4, 0xE3, 0x82, + 0xAF, 0xE3, 0x83, 0xAD, 0x4C, 0xE3, 0x83, 0x9F, + 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83, + 0xB3, 0x4C, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xBC, + // Bytes 2ac0 - 2aff + 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x4C, 0xE3, + 0x83, 0xAA, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, + 0xE3, 0x83, 0xAB, 0x4C, 0xE3, 0x83, 0xAB, 0xE3, + 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, + 0x4C, 0xE6, 0xA0, 0xAA, 0xE5, 0xBC, 0x8F, 0xE4, + 0xBC, 0x9A, 0xE7, 0xA4, 0xBE, 0x4E, 0x28, 0xE1, + 0x84, 0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x92, + 0xE1, 0x85, 0xAE, 0x29, 0x4F, 0xD8, 0xAC, 0xD9, + // Bytes 2b00 - 2b3f + 0x84, 0x20, 0xD8, 0xAC, 0xD9, 0x84, 0xD8, 0xA7, + 0xD9, 0x84, 0xD9, 0x87, 0x4F, 0xE3, 0x82, 0xA2, + 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xA2, + 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x98, 0xE3, 0x82, + 0x9A, 0xE3, 0x82, 0xA2, 0x4F, 0xE3, 0x82, 0xAD, + 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xAF, 0xE3, 0x83, + 0x83, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xB5, + // Bytes 2b40 - 2b7f + 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x81, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0xA0, 0x4F, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0xAC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x98, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xBF, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x9B, + 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xA4, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x83, 0x9E, + // Bytes 2b80 - 2bbf + 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, + 0xA7, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xA1, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0x88, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xAB, + 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x95, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xAB, 0x51, 0x28, 0xE1, 0x84, + 0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x8C, 0xE1, + 0x85, 0xA5, 0xE1, 0x86, 0xAB, 0x29, 0x52, 0xE3, + // Bytes 2bc0 - 2bff + 0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, + 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xBC, 0x52, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xA9, 0xE3, 0x83, 0xA0, 0x52, 0xE3, 0x82, 0xAD, + 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xA1, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x52, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + // Bytes 2c00 - 2c3f + 0xA9, 0xE3, 0x83, 0xA0, 0xE3, 0x83, 0x88, 0xE3, + 0x83, 0xB3, 0x52, 0xE3, 0x82, 0xAF, 0xE3, 0x83, + 0xAB, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0xE3, + 0x82, 0xA4, 0xE3, 0x83, 0xAD, 0x52, 0xE3, 0x83, + 0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, + 0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, + 0x52, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, + 0x82, 0xA2, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, + // Bytes 2c40 - 2c7f + 0xE3, 0x83, 0xAB, 0x52, 0xE3, 0x83, 0x95, 0xE3, + 0x82, 0x99, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xB7, + 0xE3, 0x82, 0xA7, 0xE3, 0x83, 0xAB, 0x52, 0xE3, + 0x83, 0x9F, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0xAB, 0x52, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xB3, + 0xE3, 0x83, 0x88, 0xE3, 0x82, 0xB1, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xB3, 0x61, 0xD8, 0xB5, 0xD9, + // Bytes 2c80 - 2cbf + 0x84, 0xD9, 0x89, 0x20, 0xD8, 0xA7, 0xD9, 0x84, + 0xD9, 0x84, 0xD9, 0x87, 0x20, 0xD8, 0xB9, 0xD9, + 0x84, 0xD9, 0x8A, 0xD9, 0x87, 0x20, 0xD9, 0x88, + 0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x06, 0xE0, + 0xA7, 0x87, 0xE0, 0xA6, 0xBE, 0x01, 0x06, 0xE0, + 0xA7, 0x87, 0xE0, 0xA7, 0x97, 0x01, 0x06, 0xE0, + 0xAD, 0x87, 0xE0, 0xAC, 0xBE, 0x01, 0x06, 0xE0, + 0xAD, 0x87, 0xE0, 0xAD, 0x96, 0x01, 0x06, 0xE0, + // Bytes 2cc0 - 2cff + 0xAD, 0x87, 0xE0, 0xAD, 0x97, 0x01, 0x06, 0xE0, + 0xAE, 0x92, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0, + 0xAF, 0x86, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0, + 0xAF, 0x86, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0, + 0xAF, 0x87, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0, + 0xB2, 0xBF, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0, + 0xB3, 0x86, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0, + 0xB3, 0x86, 0xE0, 0xB3, 0x96, 0x01, 0x06, 0xE0, + // Bytes 2d00 - 2d3f + 0xB5, 0x86, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0, + 0xB5, 0x86, 0xE0, 0xB5, 0x97, 0x01, 0x06, 0xE0, + 0xB5, 0x87, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0, + 0xB7, 0x99, 0xE0, 0xB7, 0x9F, 0x01, 0x06, 0xE1, + 0x80, 0xA5, 0xE1, 0x80, 0xAE, 0x01, 0x06, 0xE1, + 0xAC, 0x85, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x87, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x89, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + // Bytes 2d40 - 2d7f + 0xAC, 0x8B, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x8D, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x91, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBA, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBC, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBE, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBF, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAD, 0x82, 0xE1, 0xAC, 0xB5, 0x01, 0x08, 0xF0, + // Bytes 2d80 - 2dbf + 0x91, 0x84, 0xB1, 0xF0, 0x91, 0x84, 0xA7, 0x01, + 0x08, 0xF0, 0x91, 0x84, 0xB2, 0xF0, 0x91, 0x84, + 0xA7, 0x01, 0x08, 0xF0, 0x91, 0x8D, 0x87, 0xF0, + 0x91, 0x8C, 0xBE, 0x01, 0x08, 0xF0, 0x91, 0x8D, + 0x87, 0xF0, 0x91, 0x8D, 0x97, 0x01, 0x08, 0xF0, + 0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92, 0xB0, 0x01, + 0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92, + 0xBA, 0x01, 0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0, + // Bytes 2dc0 - 2dff + 0x91, 0x92, 0xBD, 0x01, 0x08, 0xF0, 0x91, 0x96, + 0xB8, 0xF0, 0x91, 0x96, 0xAF, 0x01, 0x08, 0xF0, + 0x91, 0x96, 0xB9, 0xF0, 0x91, 0x96, 0xAF, 0x01, + 0x09, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0xE0, + 0xB3, 0x95, 0x02, 0x09, 0xE0, 0xB7, 0x99, 0xE0, + 0xB7, 0x8F, 0xE0, 0xB7, 0x8A, 0x12, 0x44, 0x44, + 0x5A, 0xCC, 0x8C, 0xC9, 0x44, 0x44, 0x7A, 0xCC, + 0x8C, 0xC9, 0x44, 0x64, 0x7A, 0xCC, 0x8C, 0xC9, + // Bytes 2e00 - 2e3f + 0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x93, 0xC9, + 0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x94, 0xC9, + 0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x95, 0xB5, + 0x46, 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x85, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x86, 0xE1, 0x85, 0xA1, 0x01, + // Bytes 2e40 - 2e7f + 0x46, 0xE1, 0x84, 0x87, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x89, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xAE, 0x01, + 0x46, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8F, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x90, 0xE1, 0x85, 0xA1, 0x01, + // Bytes 2e80 - 2ebf + 0x46, 0xE1, 0x84, 0x91, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xA1, 0x01, + 0x49, 0xE3, 0x83, 0xA1, 0xE3, 0x82, 0xAB, 0xE3, + 0x82, 0x99, 0x0D, 0x4C, 0xE1, 0x84, 0x8C, 0xE1, + 0x85, 0xAE, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xB4, + 0x01, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D, 0x4C, + 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + // Bytes 2ec0 - 2eff + 0x9B, 0xE3, 0x82, 0x9A, 0x0D, 0x4C, 0xE3, 0x83, + 0xA4, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0xE3, + 0x82, 0x99, 0x0D, 0x4F, 0xE1, 0x84, 0x8E, 0xE1, + 0x85, 0xA1, 0xE1, 0x86, 0xB7, 0xE1, 0x84, 0x80, + 0xE1, 0x85, 0xA9, 0x01, 0x4F, 0xE3, 0x82, 0xA4, + 0xE3, 0x83, 0x8B, 0xE3, 0x83, 0xB3, 0xE3, 0x82, + 0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3, 0x82, + 0xB7, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, + // Bytes 2f00 - 2f3f + 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3, + 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, + 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D, 0x4F, + 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, + 0x52, 0xE3, 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3, + 0x82, 0xAF, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, + 0xE3, 0x82, 0x99, 0x0D, 0x52, 0xE3, 0x83, 0x95, + // Bytes 2f40 - 2f7f + 0xE3, 0x82, 0xA1, 0xE3, 0x83, 0xA9, 0xE3, 0x83, + 0x83, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, + 0x86, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0x01, + 0x86, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8F, 0x01, + 0x03, 0x3C, 0xCC, 0xB8, 0x05, 0x03, 0x3D, 0xCC, + 0xB8, 0x05, 0x03, 0x3E, 0xCC, 0xB8, 0x05, 0x03, + 0x41, 0xCC, 0x80, 0xC9, 0x03, 0x41, 0xCC, 0x81, + 0xC9, 0x03, 0x41, 0xCC, 0x83, 0xC9, 0x03, 0x41, + // Bytes 2f80 - 2fbf + 0xCC, 0x84, 0xC9, 0x03, 0x41, 0xCC, 0x89, 0xC9, + 0x03, 0x41, 0xCC, 0x8C, 0xC9, 0x03, 0x41, 0xCC, + 0x8F, 0xC9, 0x03, 0x41, 0xCC, 0x91, 0xC9, 0x03, + 0x41, 0xCC, 0xA5, 0xB5, 0x03, 0x41, 0xCC, 0xA8, + 0xA5, 0x03, 0x42, 0xCC, 0x87, 0xC9, 0x03, 0x42, + 0xCC, 0xA3, 0xB5, 0x03, 0x42, 0xCC, 0xB1, 0xB5, + 0x03, 0x43, 0xCC, 0x81, 0xC9, 0x03, 0x43, 0xCC, + 0x82, 0xC9, 0x03, 0x43, 0xCC, 0x87, 0xC9, 0x03, + // Bytes 2fc0 - 2fff + 0x43, 0xCC, 0x8C, 0xC9, 0x03, 0x44, 0xCC, 0x87, + 0xC9, 0x03, 0x44, 0xCC, 0x8C, 0xC9, 0x03, 0x44, + 0xCC, 0xA3, 0xB5, 0x03, 0x44, 0xCC, 0xA7, 0xA5, + 0x03, 0x44, 0xCC, 0xAD, 0xB5, 0x03, 0x44, 0xCC, + 0xB1, 0xB5, 0x03, 0x45, 0xCC, 0x80, 0xC9, 0x03, + 0x45, 0xCC, 0x81, 0xC9, 0x03, 0x45, 0xCC, 0x83, + 0xC9, 0x03, 0x45, 0xCC, 0x86, 0xC9, 0x03, 0x45, + 0xCC, 0x87, 0xC9, 0x03, 0x45, 0xCC, 0x88, 0xC9, + // Bytes 3000 - 303f + 0x03, 0x45, 0xCC, 0x89, 0xC9, 0x03, 0x45, 0xCC, + 0x8C, 0xC9, 0x03, 0x45, 0xCC, 0x8F, 0xC9, 0x03, + 0x45, 0xCC, 0x91, 0xC9, 0x03, 0x45, 0xCC, 0xA8, + 0xA5, 0x03, 0x45, 0xCC, 0xAD, 0xB5, 0x03, 0x45, + 0xCC, 0xB0, 0xB5, 0x03, 0x46, 0xCC, 0x87, 0xC9, + 0x03, 0x47, 0xCC, 0x81, 0xC9, 0x03, 0x47, 0xCC, + 0x82, 0xC9, 0x03, 0x47, 0xCC, 0x84, 0xC9, 0x03, + 0x47, 0xCC, 0x86, 0xC9, 0x03, 0x47, 0xCC, 0x87, + // Bytes 3040 - 307f + 0xC9, 0x03, 0x47, 0xCC, 0x8C, 0xC9, 0x03, 0x47, + 0xCC, 0xA7, 0xA5, 0x03, 0x48, 0xCC, 0x82, 0xC9, + 0x03, 0x48, 0xCC, 0x87, 0xC9, 0x03, 0x48, 0xCC, + 0x88, 0xC9, 0x03, 0x48, 0xCC, 0x8C, 0xC9, 0x03, + 0x48, 0xCC, 0xA3, 0xB5, 0x03, 0x48, 0xCC, 0xA7, + 0xA5, 0x03, 0x48, 0xCC, 0xAE, 0xB5, 0x03, 0x49, + 0xCC, 0x80, 0xC9, 0x03, 0x49, 0xCC, 0x81, 0xC9, + 0x03, 0x49, 0xCC, 0x82, 0xC9, 0x03, 0x49, 0xCC, + // Bytes 3080 - 30bf + 0x83, 0xC9, 0x03, 0x49, 0xCC, 0x84, 0xC9, 0x03, + 0x49, 0xCC, 0x86, 0xC9, 0x03, 0x49, 0xCC, 0x87, + 0xC9, 0x03, 0x49, 0xCC, 0x89, 0xC9, 0x03, 0x49, + 0xCC, 0x8C, 0xC9, 0x03, 0x49, 0xCC, 0x8F, 0xC9, + 0x03, 0x49, 0xCC, 0x91, 0xC9, 0x03, 0x49, 0xCC, + 0xA3, 0xB5, 0x03, 0x49, 0xCC, 0xA8, 0xA5, 0x03, + 0x49, 0xCC, 0xB0, 0xB5, 0x03, 0x4A, 0xCC, 0x82, + 0xC9, 0x03, 0x4B, 0xCC, 0x81, 0xC9, 0x03, 0x4B, + // Bytes 30c0 - 30ff + 0xCC, 0x8C, 0xC9, 0x03, 0x4B, 0xCC, 0xA3, 0xB5, + 0x03, 0x4B, 0xCC, 0xA7, 0xA5, 0x03, 0x4B, 0xCC, + 0xB1, 0xB5, 0x03, 0x4C, 0xCC, 0x81, 0xC9, 0x03, + 0x4C, 0xCC, 0x8C, 0xC9, 0x03, 0x4C, 0xCC, 0xA7, + 0xA5, 0x03, 0x4C, 0xCC, 0xAD, 0xB5, 0x03, 0x4C, + 0xCC, 0xB1, 0xB5, 0x03, 0x4D, 0xCC, 0x81, 0xC9, + 0x03, 0x4D, 0xCC, 0x87, 0xC9, 0x03, 0x4D, 0xCC, + 0xA3, 0xB5, 0x03, 0x4E, 0xCC, 0x80, 0xC9, 0x03, + // Bytes 3100 - 313f + 0x4E, 0xCC, 0x81, 0xC9, 0x03, 0x4E, 0xCC, 0x83, + 0xC9, 0x03, 0x4E, 0xCC, 0x87, 0xC9, 0x03, 0x4E, + 0xCC, 0x8C, 0xC9, 0x03, 0x4E, 0xCC, 0xA3, 0xB5, + 0x03, 0x4E, 0xCC, 0xA7, 0xA5, 0x03, 0x4E, 0xCC, + 0xAD, 0xB5, 0x03, 0x4E, 0xCC, 0xB1, 0xB5, 0x03, + 0x4F, 0xCC, 0x80, 0xC9, 0x03, 0x4F, 0xCC, 0x81, + 0xC9, 0x03, 0x4F, 0xCC, 0x86, 0xC9, 0x03, 0x4F, + 0xCC, 0x89, 0xC9, 0x03, 0x4F, 0xCC, 0x8B, 0xC9, + // Bytes 3140 - 317f + 0x03, 0x4F, 0xCC, 0x8C, 0xC9, 0x03, 0x4F, 0xCC, + 0x8F, 0xC9, 0x03, 0x4F, 0xCC, 0x91, 0xC9, 0x03, + 0x50, 0xCC, 0x81, 0xC9, 0x03, 0x50, 0xCC, 0x87, + 0xC9, 0x03, 0x52, 0xCC, 0x81, 0xC9, 0x03, 0x52, + 0xCC, 0x87, 0xC9, 0x03, 0x52, 0xCC, 0x8C, 0xC9, + 0x03, 0x52, 0xCC, 0x8F, 0xC9, 0x03, 0x52, 0xCC, + 0x91, 0xC9, 0x03, 0x52, 0xCC, 0xA7, 0xA5, 0x03, + 0x52, 0xCC, 0xB1, 0xB5, 0x03, 0x53, 0xCC, 0x82, + // Bytes 3180 - 31bf + 0xC9, 0x03, 0x53, 0xCC, 0x87, 0xC9, 0x03, 0x53, + 0xCC, 0xA6, 0xB5, 0x03, 0x53, 0xCC, 0xA7, 0xA5, + 0x03, 0x54, 0xCC, 0x87, 0xC9, 0x03, 0x54, 0xCC, + 0x8C, 0xC9, 0x03, 0x54, 0xCC, 0xA3, 0xB5, 0x03, + 0x54, 0xCC, 0xA6, 0xB5, 0x03, 0x54, 0xCC, 0xA7, + 0xA5, 0x03, 0x54, 0xCC, 0xAD, 0xB5, 0x03, 0x54, + 0xCC, 0xB1, 0xB5, 0x03, 0x55, 0xCC, 0x80, 0xC9, + 0x03, 0x55, 0xCC, 0x81, 0xC9, 0x03, 0x55, 0xCC, + // Bytes 31c0 - 31ff + 0x82, 0xC9, 0x03, 0x55, 0xCC, 0x86, 0xC9, 0x03, + 0x55, 0xCC, 0x89, 0xC9, 0x03, 0x55, 0xCC, 0x8A, + 0xC9, 0x03, 0x55, 0xCC, 0x8B, 0xC9, 0x03, 0x55, + 0xCC, 0x8C, 0xC9, 0x03, 0x55, 0xCC, 0x8F, 0xC9, + 0x03, 0x55, 0xCC, 0x91, 0xC9, 0x03, 0x55, 0xCC, + 0xA3, 0xB5, 0x03, 0x55, 0xCC, 0xA4, 0xB5, 0x03, + 0x55, 0xCC, 0xA8, 0xA5, 0x03, 0x55, 0xCC, 0xAD, + 0xB5, 0x03, 0x55, 0xCC, 0xB0, 0xB5, 0x03, 0x56, + // Bytes 3200 - 323f + 0xCC, 0x83, 0xC9, 0x03, 0x56, 0xCC, 0xA3, 0xB5, + 0x03, 0x57, 0xCC, 0x80, 0xC9, 0x03, 0x57, 0xCC, + 0x81, 0xC9, 0x03, 0x57, 0xCC, 0x82, 0xC9, 0x03, + 0x57, 0xCC, 0x87, 0xC9, 0x03, 0x57, 0xCC, 0x88, + 0xC9, 0x03, 0x57, 0xCC, 0xA3, 0xB5, 0x03, 0x58, + 0xCC, 0x87, 0xC9, 0x03, 0x58, 0xCC, 0x88, 0xC9, + 0x03, 0x59, 0xCC, 0x80, 0xC9, 0x03, 0x59, 0xCC, + 0x81, 0xC9, 0x03, 0x59, 0xCC, 0x82, 0xC9, 0x03, + // Bytes 3240 - 327f + 0x59, 0xCC, 0x83, 0xC9, 0x03, 0x59, 0xCC, 0x84, + 0xC9, 0x03, 0x59, 0xCC, 0x87, 0xC9, 0x03, 0x59, + 0xCC, 0x88, 0xC9, 0x03, 0x59, 0xCC, 0x89, 0xC9, + 0x03, 0x59, 0xCC, 0xA3, 0xB5, 0x03, 0x5A, 0xCC, + 0x81, 0xC9, 0x03, 0x5A, 0xCC, 0x82, 0xC9, 0x03, + 0x5A, 0xCC, 0x87, 0xC9, 0x03, 0x5A, 0xCC, 0x8C, + 0xC9, 0x03, 0x5A, 0xCC, 0xA3, 0xB5, 0x03, 0x5A, + 0xCC, 0xB1, 0xB5, 0x03, 0x61, 0xCC, 0x80, 0xC9, + // Bytes 3280 - 32bf + 0x03, 0x61, 0xCC, 0x81, 0xC9, 0x03, 0x61, 0xCC, + 0x83, 0xC9, 0x03, 0x61, 0xCC, 0x84, 0xC9, 0x03, + 0x61, 0xCC, 0x89, 0xC9, 0x03, 0x61, 0xCC, 0x8C, + 0xC9, 0x03, 0x61, 0xCC, 0x8F, 0xC9, 0x03, 0x61, + 0xCC, 0x91, 0xC9, 0x03, 0x61, 0xCC, 0xA5, 0xB5, + 0x03, 0x61, 0xCC, 0xA8, 0xA5, 0x03, 0x62, 0xCC, + 0x87, 0xC9, 0x03, 0x62, 0xCC, 0xA3, 0xB5, 0x03, + 0x62, 0xCC, 0xB1, 0xB5, 0x03, 0x63, 0xCC, 0x81, + // Bytes 32c0 - 32ff + 0xC9, 0x03, 0x63, 0xCC, 0x82, 0xC9, 0x03, 0x63, + 0xCC, 0x87, 0xC9, 0x03, 0x63, 0xCC, 0x8C, 0xC9, + 0x03, 0x64, 0xCC, 0x87, 0xC9, 0x03, 0x64, 0xCC, + 0x8C, 0xC9, 0x03, 0x64, 0xCC, 0xA3, 0xB5, 0x03, + 0x64, 0xCC, 0xA7, 0xA5, 0x03, 0x64, 0xCC, 0xAD, + 0xB5, 0x03, 0x64, 0xCC, 0xB1, 0xB5, 0x03, 0x65, + 0xCC, 0x80, 0xC9, 0x03, 0x65, 0xCC, 0x81, 0xC9, + 0x03, 0x65, 0xCC, 0x83, 0xC9, 0x03, 0x65, 0xCC, + // Bytes 3300 - 333f + 0x86, 0xC9, 0x03, 0x65, 0xCC, 0x87, 0xC9, 0x03, + 0x65, 0xCC, 0x88, 0xC9, 0x03, 0x65, 0xCC, 0x89, + 0xC9, 0x03, 0x65, 0xCC, 0x8C, 0xC9, 0x03, 0x65, + 0xCC, 0x8F, 0xC9, 0x03, 0x65, 0xCC, 0x91, 0xC9, + 0x03, 0x65, 0xCC, 0xA8, 0xA5, 0x03, 0x65, 0xCC, + 0xAD, 0xB5, 0x03, 0x65, 0xCC, 0xB0, 0xB5, 0x03, + 0x66, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC, 0x81, + 0xC9, 0x03, 0x67, 0xCC, 0x82, 0xC9, 0x03, 0x67, + // Bytes 3340 - 337f + 0xCC, 0x84, 0xC9, 0x03, 0x67, 0xCC, 0x86, 0xC9, + 0x03, 0x67, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC, + 0x8C, 0xC9, 0x03, 0x67, 0xCC, 0xA7, 0xA5, 0x03, + 0x68, 0xCC, 0x82, 0xC9, 0x03, 0x68, 0xCC, 0x87, + 0xC9, 0x03, 0x68, 0xCC, 0x88, 0xC9, 0x03, 0x68, + 0xCC, 0x8C, 0xC9, 0x03, 0x68, 0xCC, 0xA3, 0xB5, + 0x03, 0x68, 0xCC, 0xA7, 0xA5, 0x03, 0x68, 0xCC, + 0xAE, 0xB5, 0x03, 0x68, 0xCC, 0xB1, 0xB5, 0x03, + // Bytes 3380 - 33bf + 0x69, 0xCC, 0x80, 0xC9, 0x03, 0x69, 0xCC, 0x81, + 0xC9, 0x03, 0x69, 0xCC, 0x82, 0xC9, 0x03, 0x69, + 0xCC, 0x83, 0xC9, 0x03, 0x69, 0xCC, 0x84, 0xC9, + 0x03, 0x69, 0xCC, 0x86, 0xC9, 0x03, 0x69, 0xCC, + 0x89, 0xC9, 0x03, 0x69, 0xCC, 0x8C, 0xC9, 0x03, + 0x69, 0xCC, 0x8F, 0xC9, 0x03, 0x69, 0xCC, 0x91, + 0xC9, 0x03, 0x69, 0xCC, 0xA3, 0xB5, 0x03, 0x69, + 0xCC, 0xA8, 0xA5, 0x03, 0x69, 0xCC, 0xB0, 0xB5, + // Bytes 33c0 - 33ff + 0x03, 0x6A, 0xCC, 0x82, 0xC9, 0x03, 0x6A, 0xCC, + 0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0x81, 0xC9, 0x03, + 0x6B, 0xCC, 0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0xA3, + 0xB5, 0x03, 0x6B, 0xCC, 0xA7, 0xA5, 0x03, 0x6B, + 0xCC, 0xB1, 0xB5, 0x03, 0x6C, 0xCC, 0x81, 0xC9, + 0x03, 0x6C, 0xCC, 0x8C, 0xC9, 0x03, 0x6C, 0xCC, + 0xA7, 0xA5, 0x03, 0x6C, 0xCC, 0xAD, 0xB5, 0x03, + 0x6C, 0xCC, 0xB1, 0xB5, 0x03, 0x6D, 0xCC, 0x81, + // Bytes 3400 - 343f + 0xC9, 0x03, 0x6D, 0xCC, 0x87, 0xC9, 0x03, 0x6D, + 0xCC, 0xA3, 0xB5, 0x03, 0x6E, 0xCC, 0x80, 0xC9, + 0x03, 0x6E, 0xCC, 0x81, 0xC9, 0x03, 0x6E, 0xCC, + 0x83, 0xC9, 0x03, 0x6E, 0xCC, 0x87, 0xC9, 0x03, + 0x6E, 0xCC, 0x8C, 0xC9, 0x03, 0x6E, 0xCC, 0xA3, + 0xB5, 0x03, 0x6E, 0xCC, 0xA7, 0xA5, 0x03, 0x6E, + 0xCC, 0xAD, 0xB5, 0x03, 0x6E, 0xCC, 0xB1, 0xB5, + 0x03, 0x6F, 0xCC, 0x80, 0xC9, 0x03, 0x6F, 0xCC, + // Bytes 3440 - 347f + 0x81, 0xC9, 0x03, 0x6F, 0xCC, 0x86, 0xC9, 0x03, + 0x6F, 0xCC, 0x89, 0xC9, 0x03, 0x6F, 0xCC, 0x8B, + 0xC9, 0x03, 0x6F, 0xCC, 0x8C, 0xC9, 0x03, 0x6F, + 0xCC, 0x8F, 0xC9, 0x03, 0x6F, 0xCC, 0x91, 0xC9, + 0x03, 0x70, 0xCC, 0x81, 0xC9, 0x03, 0x70, 0xCC, + 0x87, 0xC9, 0x03, 0x72, 0xCC, 0x81, 0xC9, 0x03, + 0x72, 0xCC, 0x87, 0xC9, 0x03, 0x72, 0xCC, 0x8C, + 0xC9, 0x03, 0x72, 0xCC, 0x8F, 0xC9, 0x03, 0x72, + // Bytes 3480 - 34bf + 0xCC, 0x91, 0xC9, 0x03, 0x72, 0xCC, 0xA7, 0xA5, + 0x03, 0x72, 0xCC, 0xB1, 0xB5, 0x03, 0x73, 0xCC, + 0x82, 0xC9, 0x03, 0x73, 0xCC, 0x87, 0xC9, 0x03, + 0x73, 0xCC, 0xA6, 0xB5, 0x03, 0x73, 0xCC, 0xA7, + 0xA5, 0x03, 0x74, 0xCC, 0x87, 0xC9, 0x03, 0x74, + 0xCC, 0x88, 0xC9, 0x03, 0x74, 0xCC, 0x8C, 0xC9, + 0x03, 0x74, 0xCC, 0xA3, 0xB5, 0x03, 0x74, 0xCC, + 0xA6, 0xB5, 0x03, 0x74, 0xCC, 0xA7, 0xA5, 0x03, + // Bytes 34c0 - 34ff + 0x74, 0xCC, 0xAD, 0xB5, 0x03, 0x74, 0xCC, 0xB1, + 0xB5, 0x03, 0x75, 0xCC, 0x80, 0xC9, 0x03, 0x75, + 0xCC, 0x81, 0xC9, 0x03, 0x75, 0xCC, 0x82, 0xC9, + 0x03, 0x75, 0xCC, 0x86, 0xC9, 0x03, 0x75, 0xCC, + 0x89, 0xC9, 0x03, 0x75, 0xCC, 0x8A, 0xC9, 0x03, + 0x75, 0xCC, 0x8B, 0xC9, 0x03, 0x75, 0xCC, 0x8C, + 0xC9, 0x03, 0x75, 0xCC, 0x8F, 0xC9, 0x03, 0x75, + 0xCC, 0x91, 0xC9, 0x03, 0x75, 0xCC, 0xA3, 0xB5, + // Bytes 3500 - 353f + 0x03, 0x75, 0xCC, 0xA4, 0xB5, 0x03, 0x75, 0xCC, + 0xA8, 0xA5, 0x03, 0x75, 0xCC, 0xAD, 0xB5, 0x03, + 0x75, 0xCC, 0xB0, 0xB5, 0x03, 0x76, 0xCC, 0x83, + 0xC9, 0x03, 0x76, 0xCC, 0xA3, 0xB5, 0x03, 0x77, + 0xCC, 0x80, 0xC9, 0x03, 0x77, 0xCC, 0x81, 0xC9, + 0x03, 0x77, 0xCC, 0x82, 0xC9, 0x03, 0x77, 0xCC, + 0x87, 0xC9, 0x03, 0x77, 0xCC, 0x88, 0xC9, 0x03, + 0x77, 0xCC, 0x8A, 0xC9, 0x03, 0x77, 0xCC, 0xA3, + // Bytes 3540 - 357f + 0xB5, 0x03, 0x78, 0xCC, 0x87, 0xC9, 0x03, 0x78, + 0xCC, 0x88, 0xC9, 0x03, 0x79, 0xCC, 0x80, 0xC9, + 0x03, 0x79, 0xCC, 0x81, 0xC9, 0x03, 0x79, 0xCC, + 0x82, 0xC9, 0x03, 0x79, 0xCC, 0x83, 0xC9, 0x03, + 0x79, 0xCC, 0x84, 0xC9, 0x03, 0x79, 0xCC, 0x87, + 0xC9, 0x03, 0x79, 0xCC, 0x88, 0xC9, 0x03, 0x79, + 0xCC, 0x89, 0xC9, 0x03, 0x79, 0xCC, 0x8A, 0xC9, + 0x03, 0x79, 0xCC, 0xA3, 0xB5, 0x03, 0x7A, 0xCC, + // Bytes 3580 - 35bf + 0x81, 0xC9, 0x03, 0x7A, 0xCC, 0x82, 0xC9, 0x03, + 0x7A, 0xCC, 0x87, 0xC9, 0x03, 0x7A, 0xCC, 0x8C, + 0xC9, 0x03, 0x7A, 0xCC, 0xA3, 0xB5, 0x03, 0x7A, + 0xCC, 0xB1, 0xB5, 0x04, 0xC2, 0xA8, 0xCC, 0x80, + 0xCA, 0x04, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x04, + 0xC2, 0xA8, 0xCD, 0x82, 0xCA, 0x04, 0xC3, 0x86, + 0xCC, 0x81, 0xC9, 0x04, 0xC3, 0x86, 0xCC, 0x84, + 0xC9, 0x04, 0xC3, 0x98, 0xCC, 0x81, 0xC9, 0x04, + // Bytes 35c0 - 35ff + 0xC3, 0xA6, 0xCC, 0x81, 0xC9, 0x04, 0xC3, 0xA6, + 0xCC, 0x84, 0xC9, 0x04, 0xC3, 0xB8, 0xCC, 0x81, + 0xC9, 0x04, 0xC5, 0xBF, 0xCC, 0x87, 0xC9, 0x04, + 0xC6, 0xB7, 0xCC, 0x8C, 0xC9, 0x04, 0xCA, 0x92, + 0xCC, 0x8C, 0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x80, + 0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x81, 0xC9, 0x04, + 0xCE, 0x91, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0x91, + 0xCC, 0x86, 0xC9, 0x04, 0xCE, 0x91, 0xCD, 0x85, + // Bytes 3600 - 363f + 0xD9, 0x04, 0xCE, 0x95, 0xCC, 0x80, 0xC9, 0x04, + 0xCE, 0x95, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x97, + 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x97, 0xCC, 0x81, + 0xC9, 0x04, 0xCE, 0x97, 0xCD, 0x85, 0xD9, 0x04, + 0xCE, 0x99, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x99, + 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x84, + 0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x86, 0xC9, 0x04, + 0xCE, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0x9F, + // Bytes 3640 - 367f + 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x9F, 0xCC, 0x81, + 0xC9, 0x04, 0xCE, 0xA1, 0xCC, 0x94, 0xC9, 0x04, + 0xCE, 0xA5, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA5, + 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x84, + 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x86, 0xC9, 0x04, + 0xCE, 0xA5, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0xA9, + 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA9, 0xCC, 0x81, + 0xC9, 0x04, 0xCE, 0xA9, 0xCD, 0x85, 0xD9, 0x04, + // Bytes 3680 - 36bf + 0xCE, 0xB1, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB1, + 0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB1, 0xCD, 0x85, + 0xD9, 0x04, 0xCE, 0xB5, 0xCC, 0x80, 0xC9, 0x04, + 0xCE, 0xB5, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xB7, + 0xCD, 0x85, 0xD9, 0x04, 0xCE, 0xB9, 0xCC, 0x80, + 0xC9, 0x04, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x04, + 0xCE, 0xB9, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB9, + 0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB9, 0xCD, 0x82, + // Bytes 36c0 - 36ff + 0xC9, 0x04, 0xCE, 0xBF, 0xCC, 0x80, 0xC9, 0x04, + 0xCE, 0xBF, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x81, + 0xCC, 0x93, 0xC9, 0x04, 0xCF, 0x81, 0xCC, 0x94, + 0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x80, 0xC9, 0x04, + 0xCF, 0x85, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x85, + 0xCC, 0x84, 0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x86, + 0xC9, 0x04, 0xCF, 0x85, 0xCD, 0x82, 0xC9, 0x04, + 0xCF, 0x89, 0xCD, 0x85, 0xD9, 0x04, 0xCF, 0x92, + // Bytes 3700 - 373f + 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x92, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0x86, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0x90, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x90, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x93, 0xCC, 0x81, + 0xC9, 0x04, 0xD0, 0x95, 0xCC, 0x80, 0xC9, 0x04, + 0xD0, 0x95, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x95, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x86, + 0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x88, 0xC9, 0x04, + // Bytes 3740 - 377f + 0xD0, 0x97, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x98, + 0xCC, 0x80, 0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x84, + 0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x86, 0xC9, 0x04, + 0xD0, 0x98, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x9A, + 0xCC, 0x81, 0xC9, 0x04, 0xD0, 0x9E, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x84, 0xC9, 0x04, + 0xD0, 0xA3, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xA3, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x8B, + // Bytes 3780 - 37bf + 0xC9, 0x04, 0xD0, 0xA7, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0xAB, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xAD, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x86, + 0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0xB3, 0xCC, 0x81, 0xC9, 0x04, 0xD0, 0xB5, + 0xCC, 0x80, 0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x86, + 0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0xB6, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB6, + // Bytes 37c0 - 37ff + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB7, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x80, 0xC9, 0x04, + 0xD0, 0xB8, 0xCC, 0x84, 0xC9, 0x04, 0xD0, 0xB8, + 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0xBA, 0xCC, 0x81, 0xC9, 0x04, + 0xD0, 0xBE, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x83, + 0xCC, 0x84, 0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x86, + 0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x88, 0xC9, 0x04, + // Bytes 3800 - 383f + 0xD1, 0x83, 0xCC, 0x8B, 0xC9, 0x04, 0xD1, 0x87, + 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x8B, 0xCC, 0x88, + 0xC9, 0x04, 0xD1, 0x8D, 0xCC, 0x88, 0xC9, 0x04, + 0xD1, 0x96, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0xB4, + 0xCC, 0x8F, 0xC9, 0x04, 0xD1, 0xB5, 0xCC, 0x8F, + 0xC9, 0x04, 0xD3, 0x98, 0xCC, 0x88, 0xC9, 0x04, + 0xD3, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA8, + 0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA9, 0xCC, 0x88, + // Bytes 3840 - 387f + 0xC9, 0x04, 0xD8, 0xA7, 0xD9, 0x93, 0xC9, 0x04, + 0xD8, 0xA7, 0xD9, 0x94, 0xC9, 0x04, 0xD8, 0xA7, + 0xD9, 0x95, 0xB5, 0x04, 0xD9, 0x88, 0xD9, 0x94, + 0xC9, 0x04, 0xD9, 0x8A, 0xD9, 0x94, 0xC9, 0x04, + 0xDB, 0x81, 0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x92, + 0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x95, 0xD9, 0x94, + 0xC9, 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x80, 0xCA, + 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, + // Bytes 3880 - 38bf + 0x41, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x41, + 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x41, 0xCC, + 0x86, 0xCC, 0x80, 0xCA, 0x05, 0x41, 0xCC, 0x86, + 0xCC, 0x81, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC, + 0x83, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC, 0x89, + 0xCA, 0x05, 0x41, 0xCC, 0x87, 0xCC, 0x84, 0xCA, + 0x05, 0x41, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, + 0x41, 0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x41, + // Bytes 38c0 - 38ff + 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x41, 0xCC, + 0xA3, 0xCC, 0x86, 0xCA, 0x05, 0x43, 0xCC, 0xA7, + 0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, + 0x80, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x81, + 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x83, 0xCA, + 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, + 0x45, 0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x45, + 0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC, + // Bytes 3900 - 393f + 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x45, 0xCC, 0xA7, + 0xCC, 0x86, 0xCA, 0x05, 0x49, 0xCC, 0x88, 0xCC, + 0x81, 0xCA, 0x05, 0x4C, 0xCC, 0xA3, 0xCC, 0x84, + 0xCA, 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x80, 0xCA, + 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, + 0x4F, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x4F, + 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x4F, 0xCC, + 0x83, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x83, + // Bytes 3940 - 397f + 0xCC, 0x84, 0xCA, 0x05, 0x4F, 0xCC, 0x83, 0xCC, + 0x88, 0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x80, + 0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x81, 0xCA, + 0x05, 0x4F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, + 0x4F, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x4F, + 0xCC, 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x4F, 0xCC, + 0x9B, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, + 0xCC, 0x83, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, + // Bytes 3980 - 39bf + 0x89, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, 0xA3, + 0xB6, 0x05, 0x4F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, + 0x05, 0x4F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05, + 0x52, 0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x53, + 0xCC, 0x81, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC, + 0x8C, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC, 0xA3, + 0xCC, 0x87, 0xCA, 0x05, 0x55, 0xCC, 0x83, 0xCC, + 0x81, 0xCA, 0x05, 0x55, 0xCC, 0x84, 0xCC, 0x88, + // Bytes 39c0 - 39ff + 0xCA, 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x80, 0xCA, + 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05, + 0x55, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x55, + 0xCC, 0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x55, 0xCC, + 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x55, 0xCC, 0x9B, + 0xCC, 0x81, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, + 0x83, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0x89, + 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, + // Bytes 3a00 - 3a3f + 0x05, 0x61, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05, + 0x61, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x61, + 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x61, 0xCC, + 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x61, 0xCC, 0x86, + 0xCC, 0x80, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, + 0x81, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x83, + 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x89, 0xCA, + 0x05, 0x61, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, + // Bytes 3a40 - 3a7f + 0x61, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x61, + 0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x61, 0xCC, + 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x61, 0xCC, 0xA3, + 0xCC, 0x86, 0xCA, 0x05, 0x63, 0xCC, 0xA7, 0xCC, + 0x81, 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x80, + 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x81, 0xCA, + 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, + 0x65, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x65, + // Bytes 3a80 - 3abf + 0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x65, 0xCC, + 0x84, 0xCC, 0x81, 0xCA, 0x05, 0x65, 0xCC, 0xA3, + 0xCC, 0x82, 0xCA, 0x05, 0x65, 0xCC, 0xA7, 0xCC, + 0x86, 0xCA, 0x05, 0x69, 0xCC, 0x88, 0xCC, 0x81, + 0xCA, 0x05, 0x6C, 0xCC, 0xA3, 0xCC, 0x84, 0xCA, + 0x05, 0x6F, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05, + 0x6F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x6F, + 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x6F, 0xCC, + // Bytes 3ac0 - 3aff + 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x6F, 0xCC, 0x83, + 0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC, + 0x84, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC, 0x88, + 0xCA, 0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x80, 0xCA, + 0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05, + 0x6F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, 0x6F, + 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x6F, 0xCC, + 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, + // Bytes 3b00 - 3b3f + 0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, + 0x83, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0x89, + 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, + 0x05, 0x6F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, + 0x6F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05, 0x72, + 0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x73, 0xCC, + 0x81, 0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0x8C, + 0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0xA3, 0xCC, + // Bytes 3b40 - 3b7f + 0x87, 0xCA, 0x05, 0x75, 0xCC, 0x83, 0xCC, 0x81, + 0xCA, 0x05, 0x75, 0xCC, 0x84, 0xCC, 0x88, 0xCA, + 0x05, 0x75, 0xCC, 0x88, 0xCC, 0x80, 0xCA, 0x05, + 0x75, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05, 0x75, + 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x75, 0xCC, + 0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x75, 0xCC, 0x9B, + 0xCC, 0x80, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, + 0x81, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x83, + // Bytes 3b80 - 3bbf + 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x89, 0xCA, + 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, 0x05, + 0xE1, 0xBE, 0xBF, 0xCC, 0x80, 0xCA, 0x05, 0xE1, + 0xBE, 0xBF, 0xCC, 0x81, 0xCA, 0x05, 0xE1, 0xBE, + 0xBF, 0xCD, 0x82, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, + 0xCC, 0x80, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCC, + 0x81, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCD, 0x82, + 0xCA, 0x05, 0xE2, 0x86, 0x90, 0xCC, 0xB8, 0x05, + // Bytes 3bc0 - 3bff + 0x05, 0xE2, 0x86, 0x92, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x86, 0x94, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x87, 0x90, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, + 0x92, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, 0x94, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x83, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x88, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x88, 0x8B, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x88, 0xA3, 0xCC, 0xB8, 0x05, 0x05, + // Bytes 3c00 - 3c3f + 0xE2, 0x88, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x88, 0xBC, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, + 0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x85, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x88, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x8D, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x89, 0xA1, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x89, 0xA4, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x89, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + // Bytes 3c40 - 3c7f + 0x89, 0xB2, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, + 0xB3, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB6, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB7, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xBA, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x89, 0xBB, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x89, 0xBC, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x89, 0xBD, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x8A, 0x82, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, + // Bytes 3c80 - 3cbf + 0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x86, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x87, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x91, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x8A, 0x92, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x8A, 0xA2, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x8A, 0xA8, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x8A, 0xA9, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, + 0xAB, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB2, + // Bytes 3cc0 - 3cff + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB3, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB4, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x8A, 0xB5, 0xCC, 0xB8, 0x05, + 0x06, 0xCE, 0x91, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x91, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + // Bytes 3d00 - 3d3f + 0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x97, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + // Bytes 3d40 - 3d7f + 0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + // Bytes 3d80 - 3dbf + 0x06, 0xCE, 0xA9, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x80, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x81, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCD, 0x82, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + // Bytes 3dc0 - 3dff + 0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB7, 0xCC, 0x80, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCC, 0x81, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCD, 0x82, 0xCD, 0x85, 0xDA, + // Bytes 3e00 - 3e3f + 0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + // Bytes 3e40 - 3e7f + 0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x80, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCD, 0x82, 0xCA, + // Bytes 3e80 - 3ebf + 0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCD, 0x82, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + 0x06, 0xCF, 0x89, 0xCC, 0x80, 0xCD, 0x85, 0xDA, + 0x06, 0xCF, 0x89, 0xCC, 0x81, 0xCD, 0x85, 0xDA, + // Bytes 3ec0 - 3eff + 0x06, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCF, 0x89, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCF, 0x89, 0xCD, 0x82, 0xCD, 0x85, 0xDA, + 0x06, 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBC, 0x09, + 0x06, 0xE0, 0xA4, 0xB0, 0xE0, 0xA4, 0xBC, 0x09, + 0x06, 0xE0, 0xA4, 0xB3, 0xE0, 0xA4, 0xBC, 0x09, + 0x06, 0xE0, 0xB1, 0x86, 0xE0, 0xB1, 0x96, 0x85, + 0x06, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8A, 0x11, + // Bytes 3f00 - 3f3f + 0x06, 0xE3, 0x81, 0x86, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x8D, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x8F, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x91, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x93, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x97, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 3f40 - 3f7f + 0x06, 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x9D, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA4, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA6, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA8, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 3f80 - 3fbf + 0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x9A, 0x0D, + // Bytes 3fc0 - 3fff + 0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x82, 0x9D, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xA6, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB1, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4000 - 403f + 0x06, 0xE3, 0x82, 0xB3, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB5, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB9, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xBD, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x81, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4040 - 407f + 0x06, 0xE3, 0x83, 0x84, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4080 - 40bf + 0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0xB0, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0xB1, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 40c0 - 40ff + 0x06, 0xE3, 0x83, 0xB2, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0xBD, 0xE3, 0x82, 0x99, 0x0D, + 0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC, + 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, + 0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCD, + // Bytes 4100 - 413f + 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCD, + 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, + 0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, 0x94, 0xCC, + 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, + 0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + // Bytes 4140 - 417f + 0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, + 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, + 0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, + // Bytes 4180 - 41bf + 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, + 0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, 0x94, 0xCC, + 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, + 0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, + // Bytes 41c0 - 41ff + 0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, + 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, + 0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, + 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, + // Bytes 4200 - 423f + 0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF, + 0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, + 0x08, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCD, + 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, 0x94, 0xCC, + 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, + 0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCF, + 0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, + 0x08, 0xF0, 0x91, 0x82, 0x99, 0xF0, 0x91, 0x82, + // Bytes 4240 - 427f + 0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82, 0x9B, 0xF0, + 0x91, 0x82, 0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82, + 0xA5, 0xF0, 0x91, 0x82, 0xBA, 0x09, 0x42, 0xC2, + 0xB4, 0x01, 0x43, 0x20, 0xCC, 0x81, 0xC9, 0x43, + 0x20, 0xCC, 0x83, 0xC9, 0x43, 0x20, 0xCC, 0x84, + 0xC9, 0x43, 0x20, 0xCC, 0x85, 0xC9, 0x43, 0x20, + 0xCC, 0x86, 0xC9, 0x43, 0x20, 0xCC, 0x87, 0xC9, + 0x43, 0x20, 0xCC, 0x88, 0xC9, 0x43, 0x20, 0xCC, + // Bytes 4280 - 42bf + 0x8A, 0xC9, 0x43, 0x20, 0xCC, 0x8B, 0xC9, 0x43, + 0x20, 0xCC, 0x93, 0xC9, 0x43, 0x20, 0xCC, 0x94, + 0xC9, 0x43, 0x20, 0xCC, 0xA7, 0xA5, 0x43, 0x20, + 0xCC, 0xA8, 0xA5, 0x43, 0x20, 0xCC, 0xB3, 0xB5, + 0x43, 0x20, 0xCD, 0x82, 0xC9, 0x43, 0x20, 0xCD, + 0x85, 0xD9, 0x43, 0x20, 0xD9, 0x8B, 0x59, 0x43, + 0x20, 0xD9, 0x8C, 0x5D, 0x43, 0x20, 0xD9, 0x8D, + 0x61, 0x43, 0x20, 0xD9, 0x8E, 0x65, 0x43, 0x20, + // Bytes 42c0 - 42ff + 0xD9, 0x8F, 0x69, 0x43, 0x20, 0xD9, 0x90, 0x6D, + 0x43, 0x20, 0xD9, 0x91, 0x71, 0x43, 0x20, 0xD9, + 0x92, 0x75, 0x43, 0x41, 0xCC, 0x8A, 0xC9, 0x43, + 0x73, 0xCC, 0x87, 0xC9, 0x44, 0x20, 0xE3, 0x82, + 0x99, 0x0D, 0x44, 0x20, 0xE3, 0x82, 0x9A, 0x0D, + 0x44, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x44, 0xCE, + 0x91, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0x95, 0xCC, + 0x81, 0xC9, 0x44, 0xCE, 0x97, 0xCC, 0x81, 0xC9, + // Bytes 4300 - 433f + 0x44, 0xCE, 0x99, 0xCC, 0x81, 0xC9, 0x44, 0xCE, + 0x9F, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC, + 0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC, 0x88, 0xC9, + 0x44, 0xCE, 0xA9, 0xCC, 0x81, 0xC9, 0x44, 0xCE, + 0xB1, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xB5, 0xCC, + 0x81, 0xC9, 0x44, 0xCE, 0xB7, 0xCC, 0x81, 0xC9, + 0x44, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x44, 0xCE, + 0xBF, 0xCC, 0x81, 0xC9, 0x44, 0xCF, 0x85, 0xCC, + // Bytes 4340 - 437f + 0x81, 0xC9, 0x44, 0xCF, 0x89, 0xCC, 0x81, 0xC9, + 0x44, 0xD7, 0x90, 0xD6, 0xB7, 0x31, 0x44, 0xD7, + 0x90, 0xD6, 0xB8, 0x35, 0x44, 0xD7, 0x90, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x91, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x91, 0xD6, 0xBF, 0x49, 0x44, 0xD7, + 0x92, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x93, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x94, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x95, 0xD6, 0xB9, 0x39, 0x44, 0xD7, + // Bytes 4380 - 43bf + 0x95, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x96, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x98, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x99, 0xD6, 0xB4, 0x25, 0x44, 0xD7, + 0x99, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9A, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x9B, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x9B, 0xD6, 0xBF, 0x49, 0x44, 0xD7, + 0x9C, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9E, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0xA0, 0xD6, 0xBC, 0x41, + // Bytes 43c0 - 43ff + 0x44, 0xD7, 0xA1, 0xD6, 0xBC, 0x41, 0x44, 0xD7, + 0xA3, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6, 0xBF, 0x49, + 0x44, 0xD7, 0xA6, 0xD6, 0xBC, 0x41, 0x44, 0xD7, + 0xA7, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA8, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0xA9, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0xA9, 0xD7, 0x81, 0x4D, 0x44, 0xD7, + 0xA9, 0xD7, 0x82, 0x51, 0x44, 0xD7, 0xAA, 0xD6, + // Bytes 4400 - 443f + 0xBC, 0x41, 0x44, 0xD7, 0xB2, 0xD6, 0xB7, 0x31, + 0x44, 0xD8, 0xA7, 0xD9, 0x8B, 0x59, 0x44, 0xD8, + 0xA7, 0xD9, 0x93, 0xC9, 0x44, 0xD8, 0xA7, 0xD9, + 0x94, 0xC9, 0x44, 0xD8, 0xA7, 0xD9, 0x95, 0xB5, + 0x44, 0xD8, 0xB0, 0xD9, 0xB0, 0x79, 0x44, 0xD8, + 0xB1, 0xD9, 0xB0, 0x79, 0x44, 0xD9, 0x80, 0xD9, + 0x8B, 0x59, 0x44, 0xD9, 0x80, 0xD9, 0x8E, 0x65, + 0x44, 0xD9, 0x80, 0xD9, 0x8F, 0x69, 0x44, 0xD9, + // Bytes 4440 - 447f + 0x80, 0xD9, 0x90, 0x6D, 0x44, 0xD9, 0x80, 0xD9, + 0x91, 0x71, 0x44, 0xD9, 0x80, 0xD9, 0x92, 0x75, + 0x44, 0xD9, 0x87, 0xD9, 0xB0, 0x79, 0x44, 0xD9, + 0x88, 0xD9, 0x94, 0xC9, 0x44, 0xD9, 0x89, 0xD9, + 0xB0, 0x79, 0x44, 0xD9, 0x8A, 0xD9, 0x94, 0xC9, + 0x44, 0xDB, 0x92, 0xD9, 0x94, 0xC9, 0x44, 0xDB, + 0x95, 0xD9, 0x94, 0xC9, 0x45, 0x20, 0xCC, 0x88, + 0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCC, + // Bytes 4480 - 44bf + 0x81, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCD, 0x82, + 0xCA, 0x45, 0x20, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x45, 0x20, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x45, + 0x20, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x45, 0x20, + 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC, + 0x94, 0xCC, 0x81, 0xCA, 0x45, 0x20, 0xCC, 0x94, + 0xCD, 0x82, 0xCA, 0x45, 0x20, 0xD9, 0x8C, 0xD9, + 0x91, 0x72, 0x45, 0x20, 0xD9, 0x8D, 0xD9, 0x91, + // Bytes 44c0 - 44ff + 0x72, 0x45, 0x20, 0xD9, 0x8E, 0xD9, 0x91, 0x72, + 0x45, 0x20, 0xD9, 0x8F, 0xD9, 0x91, 0x72, 0x45, + 0x20, 0xD9, 0x90, 0xD9, 0x91, 0x72, 0x45, 0x20, + 0xD9, 0x91, 0xD9, 0xB0, 0x7A, 0x45, 0xE2, 0xAB, + 0x9D, 0xCC, 0xB8, 0x05, 0x46, 0xCE, 0xB9, 0xCC, + 0x88, 0xCC, 0x81, 0xCA, 0x46, 0xCF, 0x85, 0xCC, + 0x88, 0xCC, 0x81, 0xCA, 0x46, 0xD7, 0xA9, 0xD6, + 0xBC, 0xD7, 0x81, 0x4E, 0x46, 0xD7, 0xA9, 0xD6, + // Bytes 4500 - 453f + 0xBC, 0xD7, 0x82, 0x52, 0x46, 0xD9, 0x80, 0xD9, + 0x8E, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9, + 0x8F, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9, + 0x90, 0xD9, 0x91, 0x72, 0x46, 0xE0, 0xA4, 0x95, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x96, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x97, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x9C, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA1, + // Bytes 4540 - 457f + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA2, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAB, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAF, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA1, + 0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA2, + 0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xAF, + 0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x96, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x97, + // Bytes 4580 - 45bf + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x9C, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xAB, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB2, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB8, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA1, + 0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA2, + 0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xBE, 0xB2, + 0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE0, 0xBE, 0xB3, + // Bytes 45c0 - 45ff + 0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE3, 0x83, 0x86, + 0xE3, 0x82, 0x99, 0x0D, 0x48, 0xF0, 0x9D, 0x85, + 0x97, 0xF0, 0x9D, 0x85, 0xA5, 0xAD, 0x48, 0xF0, + 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xAD, + 0x48, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, + 0xA5, 0xAD, 0x48, 0xF0, 0x9D, 0x86, 0xBA, 0xF0, + 0x9D, 0x85, 0xA5, 0xAD, 0x49, 0xE0, 0xBE, 0xB2, + 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x49, + // Bytes 4600 - 463f + 0xE0, 0xBE, 0xB3, 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, + 0x80, 0x9E, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, + 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE, + 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, + 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0, + 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, + 0x9D, 0x85, 0xB0, 0xAE, 0x4C, 0xF0, 0x9D, 0x85, + 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, + // Bytes 4640 - 467f + 0xB1, 0xAE, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, + 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xB2, 0xAE, + 0x4C, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, + 0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE, 0x4C, 0xF0, + 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, + 0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0, 0x9D, 0x86, + 0xBA, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, + 0xAE, 0xAE, 0x4C, 0xF0, 0x9D, 0x86, 0xBA, 0xF0, + // Bytes 4680 - 46bf + 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE, + 0x83, 0x41, 0xCC, 0x82, 0xC9, 0x83, 0x41, 0xCC, + 0x86, 0xC9, 0x83, 0x41, 0xCC, 0x87, 0xC9, 0x83, + 0x41, 0xCC, 0x88, 0xC9, 0x83, 0x41, 0xCC, 0x8A, + 0xC9, 0x83, 0x41, 0xCC, 0xA3, 0xB5, 0x83, 0x43, + 0xCC, 0xA7, 0xA5, 0x83, 0x45, 0xCC, 0x82, 0xC9, + 0x83, 0x45, 0xCC, 0x84, 0xC9, 0x83, 0x45, 0xCC, + 0xA3, 0xB5, 0x83, 0x45, 0xCC, 0xA7, 0xA5, 0x83, + // Bytes 46c0 - 46ff + 0x49, 0xCC, 0x88, 0xC9, 0x83, 0x4C, 0xCC, 0xA3, + 0xB5, 0x83, 0x4F, 0xCC, 0x82, 0xC9, 0x83, 0x4F, + 0xCC, 0x83, 0xC9, 0x83, 0x4F, 0xCC, 0x84, 0xC9, + 0x83, 0x4F, 0xCC, 0x87, 0xC9, 0x83, 0x4F, 0xCC, + 0x88, 0xC9, 0x83, 0x4F, 0xCC, 0x9B, 0xAD, 0x83, + 0x4F, 0xCC, 0xA3, 0xB5, 0x83, 0x4F, 0xCC, 0xA8, + 0xA5, 0x83, 0x52, 0xCC, 0xA3, 0xB5, 0x83, 0x53, + 0xCC, 0x81, 0xC9, 0x83, 0x53, 0xCC, 0x8C, 0xC9, + // Bytes 4700 - 473f + 0x83, 0x53, 0xCC, 0xA3, 0xB5, 0x83, 0x55, 0xCC, + 0x83, 0xC9, 0x83, 0x55, 0xCC, 0x84, 0xC9, 0x83, + 0x55, 0xCC, 0x88, 0xC9, 0x83, 0x55, 0xCC, 0x9B, + 0xAD, 0x83, 0x61, 0xCC, 0x82, 0xC9, 0x83, 0x61, + 0xCC, 0x86, 0xC9, 0x83, 0x61, 0xCC, 0x87, 0xC9, + 0x83, 0x61, 0xCC, 0x88, 0xC9, 0x83, 0x61, 0xCC, + 0x8A, 0xC9, 0x83, 0x61, 0xCC, 0xA3, 0xB5, 0x83, + 0x63, 0xCC, 0xA7, 0xA5, 0x83, 0x65, 0xCC, 0x82, + // Bytes 4740 - 477f + 0xC9, 0x83, 0x65, 0xCC, 0x84, 0xC9, 0x83, 0x65, + 0xCC, 0xA3, 0xB5, 0x83, 0x65, 0xCC, 0xA7, 0xA5, + 0x83, 0x69, 0xCC, 0x88, 0xC9, 0x83, 0x6C, 0xCC, + 0xA3, 0xB5, 0x83, 0x6F, 0xCC, 0x82, 0xC9, 0x83, + 0x6F, 0xCC, 0x83, 0xC9, 0x83, 0x6F, 0xCC, 0x84, + 0xC9, 0x83, 0x6F, 0xCC, 0x87, 0xC9, 0x83, 0x6F, + 0xCC, 0x88, 0xC9, 0x83, 0x6F, 0xCC, 0x9B, 0xAD, + 0x83, 0x6F, 0xCC, 0xA3, 0xB5, 0x83, 0x6F, 0xCC, + // Bytes 4780 - 47bf + 0xA8, 0xA5, 0x83, 0x72, 0xCC, 0xA3, 0xB5, 0x83, + 0x73, 0xCC, 0x81, 0xC9, 0x83, 0x73, 0xCC, 0x8C, + 0xC9, 0x83, 0x73, 0xCC, 0xA3, 0xB5, 0x83, 0x75, + 0xCC, 0x83, 0xC9, 0x83, 0x75, 0xCC, 0x84, 0xC9, + 0x83, 0x75, 0xCC, 0x88, 0xC9, 0x83, 0x75, 0xCC, + 0x9B, 0xAD, 0x84, 0xCE, 0x91, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0x91, 0xCC, 0x94, 0xC9, 0x84, 0xCE, + 0x95, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x95, 0xCC, + // Bytes 47c0 - 47ff + 0x94, 0xC9, 0x84, 0xCE, 0x97, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0x97, 0xCC, 0x94, 0xC9, 0x84, 0xCE, + 0x99, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x99, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0x9F, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0x9F, 0xCC, 0x94, 0xC9, 0x84, 0xCE, + 0xA5, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xA9, 0xCC, + 0x93, 0xC9, 0x84, 0xCE, 0xA9, 0xCC, 0x94, 0xC9, + 0x84, 0xCE, 0xB1, 0xCC, 0x80, 0xC9, 0x84, 0xCE, + // Bytes 4800 - 483f + 0xB1, 0xCC, 0x81, 0xC9, 0x84, 0xCE, 0xB1, 0xCC, + 0x93, 0xC9, 0x84, 0xCE, 0xB1, 0xCC, 0x94, 0xC9, + 0x84, 0xCE, 0xB1, 0xCD, 0x82, 0xC9, 0x84, 0xCE, + 0xB5, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB5, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCC, 0x80, 0xC9, + 0x84, 0xCE, 0xB7, 0xCC, 0x81, 0xC9, 0x84, 0xCE, + 0xB7, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB7, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCD, 0x82, 0xC9, + // Bytes 4840 - 487f + 0x84, 0xCE, 0xB9, 0xCC, 0x88, 0xC9, 0x84, 0xCE, + 0xB9, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB9, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0xBF, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0xBF, 0xCC, 0x94, 0xC9, 0x84, 0xCF, + 0x85, 0xCC, 0x88, 0xC9, 0x84, 0xCF, 0x85, 0xCC, + 0x93, 0xC9, 0x84, 0xCF, 0x85, 0xCC, 0x94, 0xC9, + 0x84, 0xCF, 0x89, 0xCC, 0x80, 0xC9, 0x84, 0xCF, + 0x89, 0xCC, 0x81, 0xC9, 0x84, 0xCF, 0x89, 0xCC, + // Bytes 4880 - 48bf + 0x93, 0xC9, 0x84, 0xCF, 0x89, 0xCC, 0x94, 0xC9, + 0x84, 0xCF, 0x89, 0xCD, 0x82, 0xC9, 0x86, 0xCE, + 0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + // Bytes 48c0 - 48ff + 0x97, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + // Bytes 4900 - 493f + 0xA9, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + // Bytes 4940 - 497f + 0xB1, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCF, + // Bytes 4980 - 49bf + 0x89, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x42, 0xCC, + 0x80, 0xC9, 0x32, 0x42, 0xCC, 0x81, 0xC9, 0x32, + 0x42, 0xCC, 0x93, 0xC9, 0x32, 0x43, 0xE1, 0x85, + // Bytes 49c0 - 49ff + 0xA1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA2, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xA3, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xA4, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xA5, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA6, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xA7, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xA8, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xA9, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAA, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xAB, 0x01, 0x00, 0x43, + // Bytes 4a00 - 4a3f + 0xE1, 0x85, 0xAC, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xAD, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAE, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xAF, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xB0, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xB1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB2, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xB3, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xB4, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xB5, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xAA, 0x01, + // Bytes 4a40 - 4a7f + 0x00, 0x43, 0xE1, 0x86, 0xAC, 0x01, 0x00, 0x43, + 0xE1, 0x86, 0xAD, 0x01, 0x00, 0x43, 0xE1, 0x86, + 0xB0, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB1, 0x01, + 0x00, 0x43, 0xE1, 0x86, 0xB2, 0x01, 0x00, 0x43, + 0xE1, 0x86, 0xB3, 0x01, 0x00, 0x43, 0xE1, 0x86, + 0xB4, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB5, 0x01, + 0x00, 0x44, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x32, + 0x43, 0xE3, 0x82, 0x99, 0x0D, 0x03, 0x43, 0xE3, + // Bytes 4a80 - 4abf + 0x82, 0x9A, 0x0D, 0x03, 0x46, 0xE0, 0xBD, 0xB1, + 0xE0, 0xBD, 0xB2, 0x9E, 0x26, 0x46, 0xE0, 0xBD, + 0xB1, 0xE0, 0xBD, 0xB4, 0xA2, 0x26, 0x46, 0xE0, + 0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x26, 0x00, + 0x01, +} + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfcTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfcTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfcValues[c0] + } + i := nfcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfcTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfcTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfcValues[c0] + } + i := nfcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// nfcTrie. Total size: 10586 bytes (10.34 KiB). Checksum: dd926e82067bee11. +type nfcTrie struct{} + +func newNfcTrie(i int) *nfcTrie { + return &nfcTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *nfcTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 46: + return uint16(nfcValues[n<<6+uint32(b)]) + default: + n -= 46 + return uint16(nfcSparse.lookup(n, b)) + } +} + +// nfcValues: 48 blocks, 3072 entries, 6144 bytes +// The third block is the zero block. +var nfcValues = [3072]uint16{ + // Block 0x0, offset 0x0 + 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, + // Block 0x1, offset 0x40 + 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, + 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, + 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, + 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, + 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, + 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, + 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, + 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, + 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, + 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c, + 0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb, + 0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104, + 0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd, + 0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235, + 0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285, + 0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3, + 0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750, + 0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f, + 0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3, + 0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569, + // Block 0x4, offset 0x100 + 0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8, + 0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6, + 0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5, + 0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302, + 0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339, + 0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352, + 0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e, + 0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6, + 0x130: 0x308c, 0x134: 0x30b4, 0x135: 0x33c0, + 0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc, + 0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8, + // Block 0x5, offset 0x140 + 0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118, + 0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f, + 0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c, + 0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483, + 0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d, + 0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba, + 0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796, + 0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2, + 0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528, + 0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267, + 0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0xa000, + // Block 0x6, offset 0x180 + 0x184: 0x8100, 0x185: 0x8100, + 0x186: 0x8100, + 0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140, + 0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8, + 0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50, + 0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5, + 0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf, + 0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd, + 0x1b0: 0x33c5, 0x1b4: 0x3028, 0x1b5: 0x3334, + 0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46, + 0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316, + 0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac, + 0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479, + 0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6, + 0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5, + 0x1de: 0x305a, 0x1df: 0x3366, + 0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b, + 0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769, + 0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f, + // Block 0x8, offset 0x200 + 0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132, + 0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932, + 0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932, + 0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d, + 0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d, + 0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d, + 0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d, + 0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d, + 0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101, + 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d, + 0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132, + // Block 0x9, offset 0x240 + 0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936, + 0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132, + 0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132, + 0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132, + 0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135, + 0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132, + 0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132, + 0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132, + 0x274: 0x0170, + 0x27a: 0x8100, + 0x27e: 0x0037, + // Block 0xa, offset 0x280 + 0x284: 0x8100, 0x285: 0x35a1, + 0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625, + 0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000, + 0x295: 0xa000, 0x297: 0xa000, + 0x299: 0xa000, + 0x29f: 0xa000, 0x2a1: 0xa000, + 0x2a5: 0xa000, 0x2a9: 0xa000, + 0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9, + 0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000, + 0x2b7: 0xa000, 0x2b9: 0xa000, + 0x2bf: 0xa000, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x3721, 0x2c1: 0x372d, 0x2c3: 0x371b, + 0x2c6: 0xa000, 0x2c7: 0x3709, + 0x2cc: 0x375d, 0x2cd: 0x3745, 0x2ce: 0x376f, 0x2d0: 0xa000, + 0x2d3: 0xa000, 0x2d5: 0xa000, 0x2d6: 0xa000, 0x2d7: 0xa000, + 0x2d8: 0xa000, 0x2d9: 0x3751, 0x2da: 0xa000, + 0x2de: 0xa000, 0x2e3: 0xa000, + 0x2e7: 0xa000, + 0x2eb: 0xa000, 0x2ed: 0xa000, + 0x2f0: 0xa000, 0x2f3: 0xa000, 0x2f5: 0xa000, + 0x2f6: 0xa000, 0x2f7: 0xa000, 0x2f8: 0xa000, 0x2f9: 0x37d5, 0x2fa: 0xa000, + 0x2fe: 0xa000, + // Block 0xc, offset 0x300 + 0x301: 0x3733, 0x302: 0x37b7, + 0x310: 0x370f, 0x311: 0x3793, + 0x312: 0x3715, 0x313: 0x3799, 0x316: 0x3727, 0x317: 0x37ab, + 0x318: 0xa000, 0x319: 0xa000, 0x31a: 0x3829, 0x31b: 0x382f, 0x31c: 0x3739, 0x31d: 0x37bd, + 0x31e: 0x373f, 0x31f: 0x37c3, 0x322: 0x374b, 0x323: 0x37cf, + 0x324: 0x3757, 0x325: 0x37db, 0x326: 0x3763, 0x327: 0x37e7, 0x328: 0xa000, 0x329: 0xa000, + 0x32a: 0x3835, 0x32b: 0x383b, 0x32c: 0x378d, 0x32d: 0x3811, 0x32e: 0x3769, 0x32f: 0x37ed, + 0x330: 0x3775, 0x331: 0x37f9, 0x332: 0x377b, 0x333: 0x37ff, 0x334: 0x3781, 0x335: 0x3805, + 0x338: 0x3787, 0x339: 0x380b, + // Block 0xd, offset 0x340 + 0x351: 0x812d, + 0x352: 0x8132, 0x353: 0x8132, 0x354: 0x8132, 0x355: 0x8132, 0x356: 0x812d, 0x357: 0x8132, + 0x358: 0x8132, 0x359: 0x8132, 0x35a: 0x812e, 0x35b: 0x812d, 0x35c: 0x8132, 0x35d: 0x8132, + 0x35e: 0x8132, 0x35f: 0x8132, 0x360: 0x8132, 0x361: 0x8132, 0x362: 0x812d, 0x363: 0x812d, + 0x364: 0x812d, 0x365: 0x812d, 0x366: 0x812d, 0x367: 0x812d, 0x368: 0x8132, 0x369: 0x8132, + 0x36a: 0x812d, 0x36b: 0x8132, 0x36c: 0x8132, 0x36d: 0x812e, 0x36e: 0x8131, 0x36f: 0x8132, + 0x370: 0x8105, 0x371: 0x8106, 0x372: 0x8107, 0x373: 0x8108, 0x374: 0x8109, 0x375: 0x810a, + 0x376: 0x810b, 0x377: 0x810c, 0x378: 0x810d, 0x379: 0x810e, 0x37a: 0x810e, 0x37b: 0x810f, + 0x37c: 0x8110, 0x37d: 0x8111, 0x37f: 0x8112, + // Block 0xe, offset 0x380 + 0x388: 0xa000, 0x38a: 0xa000, 0x38b: 0x8116, + 0x38c: 0x8117, 0x38d: 0x8118, 0x38e: 0x8119, 0x38f: 0x811a, 0x390: 0x811b, 0x391: 0x811c, + 0x392: 0x811d, 0x393: 0x9932, 0x394: 0x9932, 0x395: 0x992d, 0x396: 0x812d, 0x397: 0x8132, + 0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x8132, 0x39b: 0x8132, 0x39c: 0x812d, 0x39d: 0x8132, + 0x39e: 0x8132, 0x39f: 0x812d, + 0x3b0: 0x811e, + // Block 0xf, offset 0x3c0 + 0x3d3: 0x812d, 0x3d4: 0x8132, 0x3d5: 0x8132, 0x3d6: 0x8132, 0x3d7: 0x8132, + 0x3d8: 0x8132, 0x3d9: 0x8132, 0x3da: 0x8132, 0x3db: 0x8132, 0x3dc: 0x8132, 0x3dd: 0x8132, + 0x3de: 0x8132, 0x3df: 0x8132, 0x3e0: 0x8132, 0x3e1: 0x8132, 0x3e3: 0x812d, + 0x3e4: 0x8132, 0x3e5: 0x8132, 0x3e6: 0x812d, 0x3e7: 0x8132, 0x3e8: 0x8132, 0x3e9: 0x812d, + 0x3ea: 0x8132, 0x3eb: 0x8132, 0x3ec: 0x8132, 0x3ed: 0x812d, 0x3ee: 0x812d, 0x3ef: 0x812d, + 0x3f0: 0x8116, 0x3f1: 0x8117, 0x3f2: 0x8118, 0x3f3: 0x8132, 0x3f4: 0x8132, 0x3f5: 0x8132, + 0x3f6: 0x812d, 0x3f7: 0x8132, 0x3f8: 0x8132, 0x3f9: 0x812d, 0x3fa: 0x812d, 0x3fb: 0x8132, + 0x3fc: 0x8132, 0x3fd: 0x8132, 0x3fe: 0x8132, 0x3ff: 0x8132, + // Block 0x10, offset 0x400 + 0x405: 0xa000, + 0x406: 0x2d26, 0x407: 0xa000, 0x408: 0x2d2e, 0x409: 0xa000, 0x40a: 0x2d36, 0x40b: 0xa000, + 0x40c: 0x2d3e, 0x40d: 0xa000, 0x40e: 0x2d46, 0x411: 0xa000, + 0x412: 0x2d4e, + 0x434: 0x8102, 0x435: 0x9900, + 0x43a: 0xa000, 0x43b: 0x2d56, + 0x43c: 0xa000, 0x43d: 0x2d5e, 0x43e: 0xa000, 0x43f: 0xa000, + // Block 0x11, offset 0x440 + 0x440: 0x8132, 0x441: 0x8132, 0x442: 0x812d, 0x443: 0x8132, 0x444: 0x8132, 0x445: 0x8132, + 0x446: 0x8132, 0x447: 0x8132, 0x448: 0x8132, 0x449: 0x8132, 0x44a: 0x812d, 0x44b: 0x8132, + 0x44c: 0x8132, 0x44d: 0x8135, 0x44e: 0x812a, 0x44f: 0x812d, 0x450: 0x8129, 0x451: 0x8132, + 0x452: 0x8132, 0x453: 0x8132, 0x454: 0x8132, 0x455: 0x8132, 0x456: 0x8132, 0x457: 0x8132, + 0x458: 0x8132, 0x459: 0x8132, 0x45a: 0x8132, 0x45b: 0x8132, 0x45c: 0x8132, 0x45d: 0x8132, + 0x45e: 0x8132, 0x45f: 0x8132, 0x460: 0x8132, 0x461: 0x8132, 0x462: 0x8132, 0x463: 0x8132, + 0x464: 0x8132, 0x465: 0x8132, 0x466: 0x8132, 0x467: 0x8132, 0x468: 0x8132, 0x469: 0x8132, + 0x46a: 0x8132, 0x46b: 0x8132, 0x46c: 0x8132, 0x46d: 0x8132, 0x46e: 0x8132, 0x46f: 0x8132, + 0x470: 0x8132, 0x471: 0x8132, 0x472: 0x8132, 0x473: 0x8132, 0x474: 0x8132, 0x475: 0x8132, + 0x476: 0x8133, 0x477: 0x8131, 0x478: 0x8131, 0x479: 0x812d, 0x47b: 0x8132, + 0x47c: 0x8134, 0x47d: 0x812d, 0x47e: 0x8132, 0x47f: 0x812d, + // Block 0x12, offset 0x480 + 0x480: 0x2f97, 0x481: 0x32a3, 0x482: 0x2fa1, 0x483: 0x32ad, 0x484: 0x2fa6, 0x485: 0x32b2, + 0x486: 0x2fab, 0x487: 0x32b7, 0x488: 0x38cc, 0x489: 0x3a5b, 0x48a: 0x2fc4, 0x48b: 0x32d0, + 0x48c: 0x2fce, 0x48d: 0x32da, 0x48e: 0x2fdd, 0x48f: 0x32e9, 0x490: 0x2fd3, 0x491: 0x32df, + 0x492: 0x2fd8, 0x493: 0x32e4, 0x494: 0x38ef, 0x495: 0x3a7e, 0x496: 0x38f6, 0x497: 0x3a85, + 0x498: 0x3019, 0x499: 0x3325, 0x49a: 0x301e, 0x49b: 0x332a, 0x49c: 0x3904, 0x49d: 0x3a93, + 0x49e: 0x3023, 0x49f: 0x332f, 0x4a0: 0x3032, 0x4a1: 0x333e, 0x4a2: 0x3050, 0x4a3: 0x335c, + 0x4a4: 0x305f, 0x4a5: 0x336b, 0x4a6: 0x3055, 0x4a7: 0x3361, 0x4a8: 0x3064, 0x4a9: 0x3370, + 0x4aa: 0x3069, 0x4ab: 0x3375, 0x4ac: 0x30af, 0x4ad: 0x33bb, 0x4ae: 0x390b, 0x4af: 0x3a9a, + 0x4b0: 0x30b9, 0x4b1: 0x33ca, 0x4b2: 0x30c3, 0x4b3: 0x33d4, 0x4b4: 0x30cd, 0x4b5: 0x33de, + 0x4b6: 0x46c4, 0x4b7: 0x4755, 0x4b8: 0x3912, 0x4b9: 0x3aa1, 0x4ba: 0x30e6, 0x4bb: 0x33f7, + 0x4bc: 0x30e1, 0x4bd: 0x33f2, 0x4be: 0x30eb, 0x4bf: 0x33fc, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x30f0, 0x4c1: 0x3401, 0x4c2: 0x30f5, 0x4c3: 0x3406, 0x4c4: 0x3109, 0x4c5: 0x341a, + 0x4c6: 0x3113, 0x4c7: 0x3424, 0x4c8: 0x3122, 0x4c9: 0x3433, 0x4ca: 0x311d, 0x4cb: 0x342e, + 0x4cc: 0x3935, 0x4cd: 0x3ac4, 0x4ce: 0x3943, 0x4cf: 0x3ad2, 0x4d0: 0x394a, 0x4d1: 0x3ad9, + 0x4d2: 0x3951, 0x4d3: 0x3ae0, 0x4d4: 0x314f, 0x4d5: 0x3460, 0x4d6: 0x3154, 0x4d7: 0x3465, + 0x4d8: 0x315e, 0x4d9: 0x346f, 0x4da: 0x46f1, 0x4db: 0x4782, 0x4dc: 0x3997, 0x4dd: 0x3b26, + 0x4de: 0x3177, 0x4df: 0x3488, 0x4e0: 0x3181, 0x4e1: 0x3492, 0x4e2: 0x4700, 0x4e3: 0x4791, + 0x4e4: 0x399e, 0x4e5: 0x3b2d, 0x4e6: 0x39a5, 0x4e7: 0x3b34, 0x4e8: 0x39ac, 0x4e9: 0x3b3b, + 0x4ea: 0x3190, 0x4eb: 0x34a1, 0x4ec: 0x319a, 0x4ed: 0x34b0, 0x4ee: 0x31ae, 0x4ef: 0x34c4, + 0x4f0: 0x31a9, 0x4f1: 0x34bf, 0x4f2: 0x31ea, 0x4f3: 0x3500, 0x4f4: 0x31f9, 0x4f5: 0x350f, + 0x4f6: 0x31f4, 0x4f7: 0x350a, 0x4f8: 0x39b3, 0x4f9: 0x3b42, 0x4fa: 0x39ba, 0x4fb: 0x3b49, + 0x4fc: 0x31fe, 0x4fd: 0x3514, 0x4fe: 0x3203, 0x4ff: 0x3519, + // Block 0x14, offset 0x500 + 0x500: 0x3208, 0x501: 0x351e, 0x502: 0x320d, 0x503: 0x3523, 0x504: 0x321c, 0x505: 0x3532, + 0x506: 0x3217, 0x507: 0x352d, 0x508: 0x3221, 0x509: 0x353c, 0x50a: 0x3226, 0x50b: 0x3541, + 0x50c: 0x322b, 0x50d: 0x3546, 0x50e: 0x3249, 0x50f: 0x3564, 0x510: 0x3262, 0x511: 0x3582, + 0x512: 0x3271, 0x513: 0x3591, 0x514: 0x3276, 0x515: 0x3596, 0x516: 0x337a, 0x517: 0x34a6, + 0x518: 0x3537, 0x519: 0x3573, 0x51b: 0x35d1, + 0x520: 0x46a1, 0x521: 0x4732, 0x522: 0x2f83, 0x523: 0x328f, + 0x524: 0x3878, 0x525: 0x3a07, 0x526: 0x3871, 0x527: 0x3a00, 0x528: 0x3886, 0x529: 0x3a15, + 0x52a: 0x387f, 0x52b: 0x3a0e, 0x52c: 0x38be, 0x52d: 0x3a4d, 0x52e: 0x3894, 0x52f: 0x3a23, + 0x530: 0x388d, 0x531: 0x3a1c, 0x532: 0x38a2, 0x533: 0x3a31, 0x534: 0x389b, 0x535: 0x3a2a, + 0x536: 0x38c5, 0x537: 0x3a54, 0x538: 0x46b5, 0x539: 0x4746, 0x53a: 0x3000, 0x53b: 0x330c, + 0x53c: 0x2fec, 0x53d: 0x32f8, 0x53e: 0x38da, 0x53f: 0x3a69, + // Block 0x15, offset 0x540 + 0x540: 0x38d3, 0x541: 0x3a62, 0x542: 0x38e8, 0x543: 0x3a77, 0x544: 0x38e1, 0x545: 0x3a70, + 0x546: 0x38fd, 0x547: 0x3a8c, 0x548: 0x3091, 0x549: 0x339d, 0x54a: 0x30a5, 0x54b: 0x33b1, + 0x54c: 0x46e7, 0x54d: 0x4778, 0x54e: 0x3136, 0x54f: 0x3447, 0x550: 0x3920, 0x551: 0x3aaf, + 0x552: 0x3919, 0x553: 0x3aa8, 0x554: 0x392e, 0x555: 0x3abd, 0x556: 0x3927, 0x557: 0x3ab6, + 0x558: 0x3989, 0x559: 0x3b18, 0x55a: 0x396d, 0x55b: 0x3afc, 0x55c: 0x3966, 0x55d: 0x3af5, + 0x55e: 0x397b, 0x55f: 0x3b0a, 0x560: 0x3974, 0x561: 0x3b03, 0x562: 0x3982, 0x563: 0x3b11, + 0x564: 0x31e5, 0x565: 0x34fb, 0x566: 0x31c7, 0x567: 0x34dd, 0x568: 0x39e4, 0x569: 0x3b73, + 0x56a: 0x39dd, 0x56b: 0x3b6c, 0x56c: 0x39f2, 0x56d: 0x3b81, 0x56e: 0x39eb, 0x56f: 0x3b7a, + 0x570: 0x39f9, 0x571: 0x3b88, 0x572: 0x3230, 0x573: 0x354b, 0x574: 0x3258, 0x575: 0x3578, + 0x576: 0x3253, 0x577: 0x356e, 0x578: 0x323f, 0x579: 0x355a, + // Block 0x16, offset 0x580 + 0x580: 0x4804, 0x581: 0x480a, 0x582: 0x491e, 0x583: 0x4936, 0x584: 0x4926, 0x585: 0x493e, + 0x586: 0x492e, 0x587: 0x4946, 0x588: 0x47aa, 0x589: 0x47b0, 0x58a: 0x488e, 0x58b: 0x48a6, + 0x58c: 0x4896, 0x58d: 0x48ae, 0x58e: 0x489e, 0x58f: 0x48b6, 0x590: 0x4816, 0x591: 0x481c, + 0x592: 0x3db8, 0x593: 0x3dc8, 0x594: 0x3dc0, 0x595: 0x3dd0, + 0x598: 0x47b6, 0x599: 0x47bc, 0x59a: 0x3ce8, 0x59b: 0x3cf8, 0x59c: 0x3cf0, 0x59d: 0x3d00, + 0x5a0: 0x482e, 0x5a1: 0x4834, 0x5a2: 0x494e, 0x5a3: 0x4966, + 0x5a4: 0x4956, 0x5a5: 0x496e, 0x5a6: 0x495e, 0x5a7: 0x4976, 0x5a8: 0x47c2, 0x5a9: 0x47c8, + 0x5aa: 0x48be, 0x5ab: 0x48d6, 0x5ac: 0x48c6, 0x5ad: 0x48de, 0x5ae: 0x48ce, 0x5af: 0x48e6, + 0x5b0: 0x4846, 0x5b1: 0x484c, 0x5b2: 0x3e18, 0x5b3: 0x3e30, 0x5b4: 0x3e20, 0x5b5: 0x3e38, + 0x5b6: 0x3e28, 0x5b7: 0x3e40, 0x5b8: 0x47ce, 0x5b9: 0x47d4, 0x5ba: 0x3d18, 0x5bb: 0x3d30, + 0x5bc: 0x3d20, 0x5bd: 0x3d38, 0x5be: 0x3d28, 0x5bf: 0x3d40, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x4852, 0x5c1: 0x4858, 0x5c2: 0x3e48, 0x5c3: 0x3e58, 0x5c4: 0x3e50, 0x5c5: 0x3e60, + 0x5c8: 0x47da, 0x5c9: 0x47e0, 0x5ca: 0x3d48, 0x5cb: 0x3d58, + 0x5cc: 0x3d50, 0x5cd: 0x3d60, 0x5d0: 0x4864, 0x5d1: 0x486a, + 0x5d2: 0x3e80, 0x5d3: 0x3e98, 0x5d4: 0x3e88, 0x5d5: 0x3ea0, 0x5d6: 0x3e90, 0x5d7: 0x3ea8, + 0x5d9: 0x47e6, 0x5db: 0x3d68, 0x5dd: 0x3d70, + 0x5df: 0x3d78, 0x5e0: 0x487c, 0x5e1: 0x4882, 0x5e2: 0x497e, 0x5e3: 0x4996, + 0x5e4: 0x4986, 0x5e5: 0x499e, 0x5e6: 0x498e, 0x5e7: 0x49a6, 0x5e8: 0x47ec, 0x5e9: 0x47f2, + 0x5ea: 0x48ee, 0x5eb: 0x4906, 0x5ec: 0x48f6, 0x5ed: 0x490e, 0x5ee: 0x48fe, 0x5ef: 0x4916, + 0x5f0: 0x47f8, 0x5f1: 0x431e, 0x5f2: 0x3691, 0x5f3: 0x4324, 0x5f4: 0x4822, 0x5f5: 0x432a, + 0x5f6: 0x36a3, 0x5f7: 0x4330, 0x5f8: 0x36c1, 0x5f9: 0x4336, 0x5fa: 0x36d9, 0x5fb: 0x433c, + 0x5fc: 0x4870, 0x5fd: 0x4342, + // Block 0x18, offset 0x600 + 0x600: 0x3da0, 0x601: 0x3da8, 0x602: 0x4184, 0x603: 0x41a2, 0x604: 0x418e, 0x605: 0x41ac, + 0x606: 0x4198, 0x607: 0x41b6, 0x608: 0x3cd8, 0x609: 0x3ce0, 0x60a: 0x40d0, 0x60b: 0x40ee, + 0x60c: 0x40da, 0x60d: 0x40f8, 0x60e: 0x40e4, 0x60f: 0x4102, 0x610: 0x3de8, 0x611: 0x3df0, + 0x612: 0x41c0, 0x613: 0x41de, 0x614: 0x41ca, 0x615: 0x41e8, 0x616: 0x41d4, 0x617: 0x41f2, + 0x618: 0x3d08, 0x619: 0x3d10, 0x61a: 0x410c, 0x61b: 0x412a, 0x61c: 0x4116, 0x61d: 0x4134, + 0x61e: 0x4120, 0x61f: 0x413e, 0x620: 0x3ec0, 0x621: 0x3ec8, 0x622: 0x41fc, 0x623: 0x421a, + 0x624: 0x4206, 0x625: 0x4224, 0x626: 0x4210, 0x627: 0x422e, 0x628: 0x3d80, 0x629: 0x3d88, + 0x62a: 0x4148, 0x62b: 0x4166, 0x62c: 0x4152, 0x62d: 0x4170, 0x62e: 0x415c, 0x62f: 0x417a, + 0x630: 0x3685, 0x631: 0x367f, 0x632: 0x3d90, 0x633: 0x368b, 0x634: 0x3d98, + 0x636: 0x4810, 0x637: 0x3db0, 0x638: 0x35f5, 0x639: 0x35ef, 0x63a: 0x35e3, 0x63b: 0x42ee, + 0x63c: 0x35fb, 0x63d: 0x8100, 0x63e: 0x01d3, 0x63f: 0xa100, + // Block 0x19, offset 0x640 + 0x640: 0x8100, 0x641: 0x35a7, 0x642: 0x3dd8, 0x643: 0x369d, 0x644: 0x3de0, + 0x646: 0x483a, 0x647: 0x3df8, 0x648: 0x3601, 0x649: 0x42f4, 0x64a: 0x360d, 0x64b: 0x42fa, + 0x64c: 0x3619, 0x64d: 0x3b8f, 0x64e: 0x3b96, 0x64f: 0x3b9d, 0x650: 0x36b5, 0x651: 0x36af, + 0x652: 0x3e00, 0x653: 0x44e4, 0x656: 0x36bb, 0x657: 0x3e10, + 0x658: 0x3631, 0x659: 0x362b, 0x65a: 0x361f, 0x65b: 0x4300, 0x65d: 0x3ba4, + 0x65e: 0x3bab, 0x65f: 0x3bb2, 0x660: 0x36eb, 0x661: 0x36e5, 0x662: 0x3e68, 0x663: 0x44ec, + 0x664: 0x36cd, 0x665: 0x36d3, 0x666: 0x36f1, 0x667: 0x3e78, 0x668: 0x3661, 0x669: 0x365b, + 0x66a: 0x364f, 0x66b: 0x430c, 0x66c: 0x3649, 0x66d: 0x359b, 0x66e: 0x42e8, 0x66f: 0x0081, + 0x672: 0x3eb0, 0x673: 0x36f7, 0x674: 0x3eb8, + 0x676: 0x4888, 0x677: 0x3ed0, 0x678: 0x363d, 0x679: 0x4306, 0x67a: 0x366d, 0x67b: 0x4318, + 0x67c: 0x3679, 0x67d: 0x4256, 0x67e: 0xa100, + // Block 0x1a, offset 0x680 + 0x681: 0x3c06, 0x683: 0xa000, 0x684: 0x3c0d, 0x685: 0xa000, + 0x687: 0x3c14, 0x688: 0xa000, 0x689: 0x3c1b, + 0x68d: 0xa000, + 0x6a0: 0x2f65, 0x6a1: 0xa000, 0x6a2: 0x3c29, + 0x6a4: 0xa000, 0x6a5: 0xa000, + 0x6ad: 0x3c22, 0x6ae: 0x2f60, 0x6af: 0x2f6a, + 0x6b0: 0x3c30, 0x6b1: 0x3c37, 0x6b2: 0xa000, 0x6b3: 0xa000, 0x6b4: 0x3c3e, 0x6b5: 0x3c45, + 0x6b6: 0xa000, 0x6b7: 0xa000, 0x6b8: 0x3c4c, 0x6b9: 0x3c53, 0x6ba: 0xa000, 0x6bb: 0xa000, + 0x6bc: 0xa000, 0x6bd: 0xa000, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x3c5a, 0x6c1: 0x3c61, 0x6c2: 0xa000, 0x6c3: 0xa000, 0x6c4: 0x3c76, 0x6c5: 0x3c7d, + 0x6c6: 0xa000, 0x6c7: 0xa000, 0x6c8: 0x3c84, 0x6c9: 0x3c8b, + 0x6d1: 0xa000, + 0x6d2: 0xa000, + 0x6e2: 0xa000, + 0x6e8: 0xa000, 0x6e9: 0xa000, + 0x6eb: 0xa000, 0x6ec: 0x3ca0, 0x6ed: 0x3ca7, 0x6ee: 0x3cae, 0x6ef: 0x3cb5, + 0x6f2: 0xa000, 0x6f3: 0xa000, 0x6f4: 0xa000, 0x6f5: 0xa000, + // Block 0x1c, offset 0x700 + 0x706: 0xa000, 0x70b: 0xa000, + 0x70c: 0x3f08, 0x70d: 0xa000, 0x70e: 0x3f10, 0x70f: 0xa000, 0x710: 0x3f18, 0x711: 0xa000, + 0x712: 0x3f20, 0x713: 0xa000, 0x714: 0x3f28, 0x715: 0xa000, 0x716: 0x3f30, 0x717: 0xa000, + 0x718: 0x3f38, 0x719: 0xa000, 0x71a: 0x3f40, 0x71b: 0xa000, 0x71c: 0x3f48, 0x71d: 0xa000, + 0x71e: 0x3f50, 0x71f: 0xa000, 0x720: 0x3f58, 0x721: 0xa000, 0x722: 0x3f60, + 0x724: 0xa000, 0x725: 0x3f68, 0x726: 0xa000, 0x727: 0x3f70, 0x728: 0xa000, 0x729: 0x3f78, + 0x72f: 0xa000, + 0x730: 0x3f80, 0x731: 0x3f88, 0x732: 0xa000, 0x733: 0x3f90, 0x734: 0x3f98, 0x735: 0xa000, + 0x736: 0x3fa0, 0x737: 0x3fa8, 0x738: 0xa000, 0x739: 0x3fb0, 0x73a: 0x3fb8, 0x73b: 0xa000, + 0x73c: 0x3fc0, 0x73d: 0x3fc8, + // Block 0x1d, offset 0x740 + 0x754: 0x3f00, + 0x759: 0x9903, 0x75a: 0x9903, 0x75b: 0x8100, 0x75c: 0x8100, 0x75d: 0xa000, + 0x75e: 0x3fd0, + 0x766: 0xa000, + 0x76b: 0xa000, 0x76c: 0x3fe0, 0x76d: 0xa000, 0x76e: 0x3fe8, 0x76f: 0xa000, + 0x770: 0x3ff0, 0x771: 0xa000, 0x772: 0x3ff8, 0x773: 0xa000, 0x774: 0x4000, 0x775: 0xa000, + 0x776: 0x4008, 0x777: 0xa000, 0x778: 0x4010, 0x779: 0xa000, 0x77a: 0x4018, 0x77b: 0xa000, + 0x77c: 0x4020, 0x77d: 0xa000, 0x77e: 0x4028, 0x77f: 0xa000, + // Block 0x1e, offset 0x780 + 0x780: 0x4030, 0x781: 0xa000, 0x782: 0x4038, 0x784: 0xa000, 0x785: 0x4040, + 0x786: 0xa000, 0x787: 0x4048, 0x788: 0xa000, 0x789: 0x4050, + 0x78f: 0xa000, 0x790: 0x4058, 0x791: 0x4060, + 0x792: 0xa000, 0x793: 0x4068, 0x794: 0x4070, 0x795: 0xa000, 0x796: 0x4078, 0x797: 0x4080, + 0x798: 0xa000, 0x799: 0x4088, 0x79a: 0x4090, 0x79b: 0xa000, 0x79c: 0x4098, 0x79d: 0x40a0, + 0x7af: 0xa000, + 0x7b0: 0xa000, 0x7b1: 0xa000, 0x7b2: 0xa000, 0x7b4: 0x3fd8, + 0x7b7: 0x40a8, 0x7b8: 0x40b0, 0x7b9: 0x40b8, 0x7ba: 0x40c0, + 0x7bd: 0xa000, 0x7be: 0x40c8, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x1377, 0x7c1: 0x0cfb, 0x7c2: 0x13d3, 0x7c3: 0x139f, 0x7c4: 0x0e57, 0x7c5: 0x06eb, + 0x7c6: 0x08df, 0x7c7: 0x162b, 0x7c8: 0x162b, 0x7c9: 0x0a0b, 0x7ca: 0x145f, 0x7cb: 0x0943, + 0x7cc: 0x0a07, 0x7cd: 0x0bef, 0x7ce: 0x0fcf, 0x7cf: 0x115f, 0x7d0: 0x1297, 0x7d1: 0x12d3, + 0x7d2: 0x1307, 0x7d3: 0x141b, 0x7d4: 0x0d73, 0x7d5: 0x0dff, 0x7d6: 0x0eab, 0x7d7: 0x0f43, + 0x7d8: 0x125f, 0x7d9: 0x1447, 0x7da: 0x1573, 0x7db: 0x070f, 0x7dc: 0x08b3, 0x7dd: 0x0d87, + 0x7de: 0x0ecf, 0x7df: 0x1293, 0x7e0: 0x15c3, 0x7e1: 0x0ab3, 0x7e2: 0x0e77, 0x7e3: 0x1283, + 0x7e4: 0x1317, 0x7e5: 0x0c23, 0x7e6: 0x11bb, 0x7e7: 0x12df, 0x7e8: 0x0b1f, 0x7e9: 0x0d0f, + 0x7ea: 0x0e17, 0x7eb: 0x0f1b, 0x7ec: 0x1427, 0x7ed: 0x074f, 0x7ee: 0x07e7, 0x7ef: 0x0853, + 0x7f0: 0x0c8b, 0x7f1: 0x0d7f, 0x7f2: 0x0ecb, 0x7f3: 0x0fef, 0x7f4: 0x1177, 0x7f5: 0x128b, + 0x7f6: 0x12a3, 0x7f7: 0x13c7, 0x7f8: 0x14ef, 0x7f9: 0x15a3, 0x7fa: 0x15bf, 0x7fb: 0x102b, + 0x7fc: 0x106b, 0x7fd: 0x1123, 0x7fe: 0x1243, 0x7ff: 0x147b, + // Block 0x20, offset 0x800 + 0x800: 0x15cb, 0x801: 0x134b, 0x802: 0x09c7, 0x803: 0x0b3b, 0x804: 0x10db, 0x805: 0x119b, + 0x806: 0x0eff, 0x807: 0x1033, 0x808: 0x1397, 0x809: 0x14e7, 0x80a: 0x09c3, 0x80b: 0x0a8f, + 0x80c: 0x0d77, 0x80d: 0x0e2b, 0x80e: 0x0e5f, 0x80f: 0x1113, 0x810: 0x113b, 0x811: 0x14a7, + 0x812: 0x084f, 0x813: 0x11a7, 0x814: 0x07f3, 0x815: 0x07ef, 0x816: 0x1097, 0x817: 0x1127, + 0x818: 0x125b, 0x819: 0x14af, 0x81a: 0x1367, 0x81b: 0x0c27, 0x81c: 0x0d73, 0x81d: 0x1357, + 0x81e: 0x06f7, 0x81f: 0x0a63, 0x820: 0x0b93, 0x821: 0x0f2f, 0x822: 0x0faf, 0x823: 0x0873, + 0x824: 0x103b, 0x825: 0x075f, 0x826: 0x0b77, 0x827: 0x06d7, 0x828: 0x0deb, 0x829: 0x0ca3, + 0x82a: 0x110f, 0x82b: 0x08c7, 0x82c: 0x09b3, 0x82d: 0x0ffb, 0x82e: 0x1263, 0x82f: 0x133b, + 0x830: 0x0db7, 0x831: 0x13f7, 0x832: 0x0de3, 0x833: 0x0c37, 0x834: 0x121b, 0x835: 0x0c57, + 0x836: 0x0fab, 0x837: 0x072b, 0x838: 0x07a7, 0x839: 0x07eb, 0x83a: 0x0d53, 0x83b: 0x10fb, + 0x83c: 0x11f3, 0x83d: 0x1347, 0x83e: 0x145b, 0x83f: 0x085b, + // Block 0x21, offset 0x840 + 0x840: 0x090f, 0x841: 0x0a17, 0x842: 0x0b2f, 0x843: 0x0cbf, 0x844: 0x0e7b, 0x845: 0x103f, + 0x846: 0x1497, 0x847: 0x157b, 0x848: 0x15cf, 0x849: 0x15e7, 0x84a: 0x0837, 0x84b: 0x0cf3, + 0x84c: 0x0da3, 0x84d: 0x13eb, 0x84e: 0x0afb, 0x84f: 0x0bd7, 0x850: 0x0bf3, 0x851: 0x0c83, + 0x852: 0x0e6b, 0x853: 0x0eb7, 0x854: 0x0f67, 0x855: 0x108b, 0x856: 0x112f, 0x857: 0x1193, + 0x858: 0x13db, 0x859: 0x126b, 0x85a: 0x1403, 0x85b: 0x147f, 0x85c: 0x080f, 0x85d: 0x083b, + 0x85e: 0x0923, 0x85f: 0x0ea7, 0x860: 0x12f3, 0x861: 0x133b, 0x862: 0x0b1b, 0x863: 0x0b8b, + 0x864: 0x0c4f, 0x865: 0x0daf, 0x866: 0x10d7, 0x867: 0x0f23, 0x868: 0x073b, 0x869: 0x097f, + 0x86a: 0x0a63, 0x86b: 0x0ac7, 0x86c: 0x0b97, 0x86d: 0x0f3f, 0x86e: 0x0f5b, 0x86f: 0x116b, + 0x870: 0x118b, 0x871: 0x1463, 0x872: 0x14e3, 0x873: 0x14f3, 0x874: 0x152f, 0x875: 0x0753, + 0x876: 0x107f, 0x877: 0x144f, 0x878: 0x14cb, 0x879: 0x0baf, 0x87a: 0x0717, 0x87b: 0x0777, + 0x87c: 0x0a67, 0x87d: 0x0a87, 0x87e: 0x0caf, 0x87f: 0x0d73, + // Block 0x22, offset 0x880 + 0x880: 0x0ec3, 0x881: 0x0fcb, 0x882: 0x1277, 0x883: 0x1417, 0x884: 0x1623, 0x885: 0x0ce3, + 0x886: 0x14a3, 0x887: 0x0833, 0x888: 0x0d2f, 0x889: 0x0d3b, 0x88a: 0x0e0f, 0x88b: 0x0e47, + 0x88c: 0x0f4b, 0x88d: 0x0fa7, 0x88e: 0x1027, 0x88f: 0x110b, 0x890: 0x153b, 0x891: 0x07af, + 0x892: 0x0c03, 0x893: 0x14b3, 0x894: 0x0767, 0x895: 0x0aab, 0x896: 0x0e2f, 0x897: 0x13df, + 0x898: 0x0b67, 0x899: 0x0bb7, 0x89a: 0x0d43, 0x89b: 0x0f2f, 0x89c: 0x14bb, 0x89d: 0x0817, + 0x89e: 0x08ff, 0x89f: 0x0a97, 0x8a0: 0x0cd3, 0x8a1: 0x0d1f, 0x8a2: 0x0d5f, 0x8a3: 0x0df3, + 0x8a4: 0x0f47, 0x8a5: 0x0fbb, 0x8a6: 0x1157, 0x8a7: 0x12f7, 0x8a8: 0x1303, 0x8a9: 0x1457, + 0x8aa: 0x14d7, 0x8ab: 0x0883, 0x8ac: 0x0e4b, 0x8ad: 0x0903, 0x8ae: 0x0ec7, 0x8af: 0x0f6b, + 0x8b0: 0x1287, 0x8b1: 0x14bf, 0x8b2: 0x15ab, 0x8b3: 0x15d3, 0x8b4: 0x0d37, 0x8b5: 0x0e27, + 0x8b6: 0x11c3, 0x8b7: 0x10b7, 0x8b8: 0x10c3, 0x8b9: 0x10e7, 0x8ba: 0x0f17, 0x8bb: 0x0e9f, + 0x8bc: 0x1363, 0x8bd: 0x0733, 0x8be: 0x122b, 0x8bf: 0x081b, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x080b, 0x8c1: 0x0b0b, 0x8c2: 0x0c2b, 0x8c3: 0x10f3, 0x8c4: 0x0a53, 0x8c5: 0x0e03, + 0x8c6: 0x0cef, 0x8c7: 0x13e7, 0x8c8: 0x12e7, 0x8c9: 0x14ab, 0x8ca: 0x1323, 0x8cb: 0x0b27, + 0x8cc: 0x0787, 0x8cd: 0x095b, 0x8d0: 0x09af, + 0x8d2: 0x0cdf, 0x8d5: 0x07f7, 0x8d6: 0x0f1f, 0x8d7: 0x0fe3, + 0x8d8: 0x1047, 0x8d9: 0x1063, 0x8da: 0x1067, 0x8db: 0x107b, 0x8dc: 0x14fb, 0x8dd: 0x10eb, + 0x8de: 0x116f, 0x8e0: 0x128f, 0x8e2: 0x1353, + 0x8e5: 0x1407, 0x8e6: 0x1433, + 0x8ea: 0x154f, 0x8eb: 0x1553, 0x8ec: 0x1557, 0x8ed: 0x15bb, 0x8ee: 0x142b, 0x8ef: 0x14c7, + 0x8f0: 0x0757, 0x8f1: 0x077b, 0x8f2: 0x078f, 0x8f3: 0x084b, 0x8f4: 0x0857, 0x8f5: 0x0897, + 0x8f6: 0x094b, 0x8f7: 0x0967, 0x8f8: 0x096f, 0x8f9: 0x09ab, 0x8fa: 0x09b7, 0x8fb: 0x0a93, + 0x8fc: 0x0a9b, 0x8fd: 0x0ba3, 0x8fe: 0x0bcb, 0x8ff: 0x0bd3, + // Block 0x24, offset 0x900 + 0x900: 0x0beb, 0x901: 0x0c97, 0x902: 0x0cc7, 0x903: 0x0ce7, 0x904: 0x0d57, 0x905: 0x0e1b, + 0x906: 0x0e37, 0x907: 0x0e67, 0x908: 0x0ebb, 0x909: 0x0edb, 0x90a: 0x0f4f, 0x90b: 0x102f, + 0x90c: 0x104b, 0x90d: 0x1053, 0x90e: 0x104f, 0x90f: 0x1057, 0x910: 0x105b, 0x911: 0x105f, + 0x912: 0x1073, 0x913: 0x1077, 0x914: 0x109b, 0x915: 0x10af, 0x916: 0x10cb, 0x917: 0x112f, + 0x918: 0x1137, 0x919: 0x113f, 0x91a: 0x1153, 0x91b: 0x117b, 0x91c: 0x11cb, 0x91d: 0x11ff, + 0x91e: 0x11ff, 0x91f: 0x1267, 0x920: 0x130f, 0x921: 0x1327, 0x922: 0x135b, 0x923: 0x135f, + 0x924: 0x13a3, 0x925: 0x13a7, 0x926: 0x13ff, 0x927: 0x1407, 0x928: 0x14db, 0x929: 0x151f, + 0x92a: 0x1537, 0x92b: 0x0b9b, 0x92c: 0x171e, 0x92d: 0x11e3, + 0x930: 0x06df, 0x931: 0x07e3, 0x932: 0x07a3, 0x933: 0x074b, 0x934: 0x078b, 0x935: 0x07b7, + 0x936: 0x0847, 0x937: 0x0863, 0x938: 0x094b, 0x939: 0x0937, 0x93a: 0x0947, 0x93b: 0x0963, + 0x93c: 0x09af, 0x93d: 0x09bf, 0x93e: 0x0a03, 0x93f: 0x0a0f, + // Block 0x25, offset 0x940 + 0x940: 0x0a2b, 0x941: 0x0a3b, 0x942: 0x0b23, 0x943: 0x0b2b, 0x944: 0x0b5b, 0x945: 0x0b7b, + 0x946: 0x0bab, 0x947: 0x0bc3, 0x948: 0x0bb3, 0x949: 0x0bd3, 0x94a: 0x0bc7, 0x94b: 0x0beb, + 0x94c: 0x0c07, 0x94d: 0x0c5f, 0x94e: 0x0c6b, 0x94f: 0x0c73, 0x950: 0x0c9b, 0x951: 0x0cdf, + 0x952: 0x0d0f, 0x953: 0x0d13, 0x954: 0x0d27, 0x955: 0x0da7, 0x956: 0x0db7, 0x957: 0x0e0f, + 0x958: 0x0e5b, 0x959: 0x0e53, 0x95a: 0x0e67, 0x95b: 0x0e83, 0x95c: 0x0ebb, 0x95d: 0x1013, + 0x95e: 0x0edf, 0x95f: 0x0f13, 0x960: 0x0f1f, 0x961: 0x0f5f, 0x962: 0x0f7b, 0x963: 0x0f9f, + 0x964: 0x0fc3, 0x965: 0x0fc7, 0x966: 0x0fe3, 0x967: 0x0fe7, 0x968: 0x0ff7, 0x969: 0x100b, + 0x96a: 0x1007, 0x96b: 0x1037, 0x96c: 0x10b3, 0x96d: 0x10cb, 0x96e: 0x10e3, 0x96f: 0x111b, + 0x970: 0x112f, 0x971: 0x114b, 0x972: 0x117b, 0x973: 0x122f, 0x974: 0x1257, 0x975: 0x12cb, + 0x976: 0x1313, 0x977: 0x131f, 0x978: 0x1327, 0x979: 0x133f, 0x97a: 0x1353, 0x97b: 0x1343, + 0x97c: 0x135b, 0x97d: 0x1357, 0x97e: 0x134f, 0x97f: 0x135f, + // Block 0x26, offset 0x980 + 0x980: 0x136b, 0x981: 0x13a7, 0x982: 0x13e3, 0x983: 0x1413, 0x984: 0x144b, 0x985: 0x146b, + 0x986: 0x14b7, 0x987: 0x14db, 0x988: 0x14fb, 0x989: 0x150f, 0x98a: 0x151f, 0x98b: 0x152b, + 0x98c: 0x1537, 0x98d: 0x158b, 0x98e: 0x162b, 0x98f: 0x16b5, 0x990: 0x16b0, 0x991: 0x16e2, + 0x992: 0x0607, 0x993: 0x062f, 0x994: 0x0633, 0x995: 0x1764, 0x996: 0x1791, 0x997: 0x1809, + 0x998: 0x1617, 0x999: 0x1627, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x06fb, 0x9c1: 0x06f3, 0x9c2: 0x0703, 0x9c3: 0x1647, 0x9c4: 0x0747, 0x9c5: 0x0757, + 0x9c6: 0x075b, 0x9c7: 0x0763, 0x9c8: 0x076b, 0x9c9: 0x076f, 0x9ca: 0x077b, 0x9cb: 0x0773, + 0x9cc: 0x05b3, 0x9cd: 0x165b, 0x9ce: 0x078f, 0x9cf: 0x0793, 0x9d0: 0x0797, 0x9d1: 0x07b3, + 0x9d2: 0x164c, 0x9d3: 0x05b7, 0x9d4: 0x079f, 0x9d5: 0x07bf, 0x9d6: 0x1656, 0x9d7: 0x07cf, + 0x9d8: 0x07d7, 0x9d9: 0x0737, 0x9da: 0x07df, 0x9db: 0x07e3, 0x9dc: 0x1831, 0x9dd: 0x07ff, + 0x9de: 0x0807, 0x9df: 0x05bf, 0x9e0: 0x081f, 0x9e1: 0x0823, 0x9e2: 0x082b, 0x9e3: 0x082f, + 0x9e4: 0x05c3, 0x9e5: 0x0847, 0x9e6: 0x084b, 0x9e7: 0x0857, 0x9e8: 0x0863, 0x9e9: 0x0867, + 0x9ea: 0x086b, 0x9eb: 0x0873, 0x9ec: 0x0893, 0x9ed: 0x0897, 0x9ee: 0x089f, 0x9ef: 0x08af, + 0x9f0: 0x08b7, 0x9f1: 0x08bb, 0x9f2: 0x08bb, 0x9f3: 0x08bb, 0x9f4: 0x166a, 0x9f5: 0x0e93, + 0x9f6: 0x08cf, 0x9f7: 0x08d7, 0x9f8: 0x166f, 0x9f9: 0x08e3, 0x9fa: 0x08eb, 0x9fb: 0x08f3, + 0x9fc: 0x091b, 0x9fd: 0x0907, 0x9fe: 0x0913, 0x9ff: 0x0917, + // Block 0x28, offset 0xa00 + 0xa00: 0x091f, 0xa01: 0x0927, 0xa02: 0x092b, 0xa03: 0x0933, 0xa04: 0x093b, 0xa05: 0x093f, + 0xa06: 0x093f, 0xa07: 0x0947, 0xa08: 0x094f, 0xa09: 0x0953, 0xa0a: 0x095f, 0xa0b: 0x0983, + 0xa0c: 0x0967, 0xa0d: 0x0987, 0xa0e: 0x096b, 0xa0f: 0x0973, 0xa10: 0x080b, 0xa11: 0x09cf, + 0xa12: 0x0997, 0xa13: 0x099b, 0xa14: 0x099f, 0xa15: 0x0993, 0xa16: 0x09a7, 0xa17: 0x09a3, + 0xa18: 0x09bb, 0xa19: 0x1674, 0xa1a: 0x09d7, 0xa1b: 0x09db, 0xa1c: 0x09e3, 0xa1d: 0x09ef, + 0xa1e: 0x09f7, 0xa1f: 0x0a13, 0xa20: 0x1679, 0xa21: 0x167e, 0xa22: 0x0a1f, 0xa23: 0x0a23, + 0xa24: 0x0a27, 0xa25: 0x0a1b, 0xa26: 0x0a2f, 0xa27: 0x05c7, 0xa28: 0x05cb, 0xa29: 0x0a37, + 0xa2a: 0x0a3f, 0xa2b: 0x0a3f, 0xa2c: 0x1683, 0xa2d: 0x0a5b, 0xa2e: 0x0a5f, 0xa2f: 0x0a63, + 0xa30: 0x0a6b, 0xa31: 0x1688, 0xa32: 0x0a73, 0xa33: 0x0a77, 0xa34: 0x0b4f, 0xa35: 0x0a7f, + 0xa36: 0x05cf, 0xa37: 0x0a8b, 0xa38: 0x0a9b, 0xa39: 0x0aa7, 0xa3a: 0x0aa3, 0xa3b: 0x1692, + 0xa3c: 0x0aaf, 0xa3d: 0x1697, 0xa3e: 0x0abb, 0xa3f: 0x0ab7, + // Block 0x29, offset 0xa40 + 0xa40: 0x0abf, 0xa41: 0x0acf, 0xa42: 0x0ad3, 0xa43: 0x05d3, 0xa44: 0x0ae3, 0xa45: 0x0aeb, + 0xa46: 0x0aef, 0xa47: 0x0af3, 0xa48: 0x05d7, 0xa49: 0x169c, 0xa4a: 0x05db, 0xa4b: 0x0b0f, + 0xa4c: 0x0b13, 0xa4d: 0x0b17, 0xa4e: 0x0b1f, 0xa4f: 0x1863, 0xa50: 0x0b37, 0xa51: 0x16a6, + 0xa52: 0x16a6, 0xa53: 0x11d7, 0xa54: 0x0b47, 0xa55: 0x0b47, 0xa56: 0x05df, 0xa57: 0x16c9, + 0xa58: 0x179b, 0xa59: 0x0b57, 0xa5a: 0x0b5f, 0xa5b: 0x05e3, 0xa5c: 0x0b73, 0xa5d: 0x0b83, + 0xa5e: 0x0b87, 0xa5f: 0x0b8f, 0xa60: 0x0b9f, 0xa61: 0x05eb, 0xa62: 0x05e7, 0xa63: 0x0ba3, + 0xa64: 0x16ab, 0xa65: 0x0ba7, 0xa66: 0x0bbb, 0xa67: 0x0bbf, 0xa68: 0x0bc3, 0xa69: 0x0bbf, + 0xa6a: 0x0bcf, 0xa6b: 0x0bd3, 0xa6c: 0x0be3, 0xa6d: 0x0bdb, 0xa6e: 0x0bdf, 0xa6f: 0x0be7, + 0xa70: 0x0beb, 0xa71: 0x0bef, 0xa72: 0x0bfb, 0xa73: 0x0bff, 0xa74: 0x0c17, 0xa75: 0x0c1f, + 0xa76: 0x0c2f, 0xa77: 0x0c43, 0xa78: 0x16ba, 0xa79: 0x0c3f, 0xa7a: 0x0c33, 0xa7b: 0x0c4b, + 0xa7c: 0x0c53, 0xa7d: 0x0c67, 0xa7e: 0x16bf, 0xa7f: 0x0c6f, + // Block 0x2a, offset 0xa80 + 0xa80: 0x0c63, 0xa81: 0x0c5b, 0xa82: 0x05ef, 0xa83: 0x0c77, 0xa84: 0x0c7f, 0xa85: 0x0c87, + 0xa86: 0x0c7b, 0xa87: 0x05f3, 0xa88: 0x0c97, 0xa89: 0x0c9f, 0xa8a: 0x16c4, 0xa8b: 0x0ccb, + 0xa8c: 0x0cff, 0xa8d: 0x0cdb, 0xa8e: 0x05ff, 0xa8f: 0x0ce7, 0xa90: 0x05fb, 0xa91: 0x05f7, + 0xa92: 0x07c3, 0xa93: 0x07c7, 0xa94: 0x0d03, 0xa95: 0x0ceb, 0xa96: 0x11ab, 0xa97: 0x0663, + 0xa98: 0x0d0f, 0xa99: 0x0d13, 0xa9a: 0x0d17, 0xa9b: 0x0d2b, 0xa9c: 0x0d23, 0xa9d: 0x16dd, + 0xa9e: 0x0603, 0xa9f: 0x0d3f, 0xaa0: 0x0d33, 0xaa1: 0x0d4f, 0xaa2: 0x0d57, 0xaa3: 0x16e7, + 0xaa4: 0x0d5b, 0xaa5: 0x0d47, 0xaa6: 0x0d63, 0xaa7: 0x0607, 0xaa8: 0x0d67, 0xaa9: 0x0d6b, + 0xaaa: 0x0d6f, 0xaab: 0x0d7b, 0xaac: 0x16ec, 0xaad: 0x0d83, 0xaae: 0x060b, 0xaaf: 0x0d8f, + 0xab0: 0x16f1, 0xab1: 0x0d93, 0xab2: 0x060f, 0xab3: 0x0d9f, 0xab4: 0x0dab, 0xab5: 0x0db7, + 0xab6: 0x0dbb, 0xab7: 0x16f6, 0xab8: 0x168d, 0xab9: 0x16fb, 0xaba: 0x0ddb, 0xabb: 0x1700, + 0xabc: 0x0de7, 0xabd: 0x0def, 0xabe: 0x0ddf, 0xabf: 0x0dfb, + // Block 0x2b, offset 0xac0 + 0xac0: 0x0e0b, 0xac1: 0x0e1b, 0xac2: 0x0e0f, 0xac3: 0x0e13, 0xac4: 0x0e1f, 0xac5: 0x0e23, + 0xac6: 0x1705, 0xac7: 0x0e07, 0xac8: 0x0e3b, 0xac9: 0x0e3f, 0xaca: 0x0613, 0xacb: 0x0e53, + 0xacc: 0x0e4f, 0xacd: 0x170a, 0xace: 0x0e33, 0xacf: 0x0e6f, 0xad0: 0x170f, 0xad1: 0x1714, + 0xad2: 0x0e73, 0xad3: 0x0e87, 0xad4: 0x0e83, 0xad5: 0x0e7f, 0xad6: 0x0617, 0xad7: 0x0e8b, + 0xad8: 0x0e9b, 0xad9: 0x0e97, 0xada: 0x0ea3, 0xadb: 0x1651, 0xadc: 0x0eb3, 0xadd: 0x1719, + 0xade: 0x0ebf, 0xadf: 0x1723, 0xae0: 0x0ed3, 0xae1: 0x0edf, 0xae2: 0x0ef3, 0xae3: 0x1728, + 0xae4: 0x0f07, 0xae5: 0x0f0b, 0xae6: 0x172d, 0xae7: 0x1732, 0xae8: 0x0f27, 0xae9: 0x0f37, + 0xaea: 0x061b, 0xaeb: 0x0f3b, 0xaec: 0x061f, 0xaed: 0x061f, 0xaee: 0x0f53, 0xaef: 0x0f57, + 0xaf0: 0x0f5f, 0xaf1: 0x0f63, 0xaf2: 0x0f6f, 0xaf3: 0x0623, 0xaf4: 0x0f87, 0xaf5: 0x1737, + 0xaf6: 0x0fa3, 0xaf7: 0x173c, 0xaf8: 0x0faf, 0xaf9: 0x16a1, 0xafa: 0x0fbf, 0xafb: 0x1741, + 0xafc: 0x1746, 0xafd: 0x174b, 0xafe: 0x0627, 0xaff: 0x062b, + // Block 0x2c, offset 0xb00 + 0xb00: 0x0ff7, 0xb01: 0x1755, 0xb02: 0x1750, 0xb03: 0x175a, 0xb04: 0x175f, 0xb05: 0x0fff, + 0xb06: 0x1003, 0xb07: 0x1003, 0xb08: 0x100b, 0xb09: 0x0633, 0xb0a: 0x100f, 0xb0b: 0x0637, + 0xb0c: 0x063b, 0xb0d: 0x1769, 0xb0e: 0x1023, 0xb0f: 0x102b, 0xb10: 0x1037, 0xb11: 0x063f, + 0xb12: 0x176e, 0xb13: 0x105b, 0xb14: 0x1773, 0xb15: 0x1778, 0xb16: 0x107b, 0xb17: 0x1093, + 0xb18: 0x0643, 0xb19: 0x109b, 0xb1a: 0x109f, 0xb1b: 0x10a3, 0xb1c: 0x177d, 0xb1d: 0x1782, + 0xb1e: 0x1782, 0xb1f: 0x10bb, 0xb20: 0x0647, 0xb21: 0x1787, 0xb22: 0x10cf, 0xb23: 0x10d3, + 0xb24: 0x064b, 0xb25: 0x178c, 0xb26: 0x10ef, 0xb27: 0x064f, 0xb28: 0x10ff, 0xb29: 0x10f7, + 0xb2a: 0x1107, 0xb2b: 0x1796, 0xb2c: 0x111f, 0xb2d: 0x0653, 0xb2e: 0x112b, 0xb2f: 0x1133, + 0xb30: 0x1143, 0xb31: 0x0657, 0xb32: 0x17a0, 0xb33: 0x17a5, 0xb34: 0x065b, 0xb35: 0x17aa, + 0xb36: 0x115b, 0xb37: 0x17af, 0xb38: 0x1167, 0xb39: 0x1173, 0xb3a: 0x117b, 0xb3b: 0x17b4, + 0xb3c: 0x17b9, 0xb3d: 0x118f, 0xb3e: 0x17be, 0xb3f: 0x1197, + // Block 0x2d, offset 0xb40 + 0xb40: 0x16ce, 0xb41: 0x065f, 0xb42: 0x11af, 0xb43: 0x11b3, 0xb44: 0x0667, 0xb45: 0x11b7, + 0xb46: 0x0a33, 0xb47: 0x17c3, 0xb48: 0x17c8, 0xb49: 0x16d3, 0xb4a: 0x16d8, 0xb4b: 0x11d7, + 0xb4c: 0x11db, 0xb4d: 0x13f3, 0xb4e: 0x066b, 0xb4f: 0x1207, 0xb50: 0x1203, 0xb51: 0x120b, + 0xb52: 0x083f, 0xb53: 0x120f, 0xb54: 0x1213, 0xb55: 0x1217, 0xb56: 0x121f, 0xb57: 0x17cd, + 0xb58: 0x121b, 0xb59: 0x1223, 0xb5a: 0x1237, 0xb5b: 0x123b, 0xb5c: 0x1227, 0xb5d: 0x123f, + 0xb5e: 0x1253, 0xb5f: 0x1267, 0xb60: 0x1233, 0xb61: 0x1247, 0xb62: 0x124b, 0xb63: 0x124f, + 0xb64: 0x17d2, 0xb65: 0x17dc, 0xb66: 0x17d7, 0xb67: 0x066f, 0xb68: 0x126f, 0xb69: 0x1273, + 0xb6a: 0x127b, 0xb6b: 0x17f0, 0xb6c: 0x127f, 0xb6d: 0x17e1, 0xb6e: 0x0673, 0xb6f: 0x0677, + 0xb70: 0x17e6, 0xb71: 0x17eb, 0xb72: 0x067b, 0xb73: 0x129f, 0xb74: 0x12a3, 0xb75: 0x12a7, + 0xb76: 0x12ab, 0xb77: 0x12b7, 0xb78: 0x12b3, 0xb79: 0x12bf, 0xb7a: 0x12bb, 0xb7b: 0x12cb, + 0xb7c: 0x12c3, 0xb7d: 0x12c7, 0xb7e: 0x12cf, 0xb7f: 0x067f, + // Block 0x2e, offset 0xb80 + 0xb80: 0x12d7, 0xb81: 0x12db, 0xb82: 0x0683, 0xb83: 0x12eb, 0xb84: 0x12ef, 0xb85: 0x17f5, + 0xb86: 0x12fb, 0xb87: 0x12ff, 0xb88: 0x0687, 0xb89: 0x130b, 0xb8a: 0x05bb, 0xb8b: 0x17fa, + 0xb8c: 0x17ff, 0xb8d: 0x068b, 0xb8e: 0x068f, 0xb8f: 0x1337, 0xb90: 0x134f, 0xb91: 0x136b, + 0xb92: 0x137b, 0xb93: 0x1804, 0xb94: 0x138f, 0xb95: 0x1393, 0xb96: 0x13ab, 0xb97: 0x13b7, + 0xb98: 0x180e, 0xb99: 0x1660, 0xb9a: 0x13c3, 0xb9b: 0x13bf, 0xb9c: 0x13cb, 0xb9d: 0x1665, + 0xb9e: 0x13d7, 0xb9f: 0x13e3, 0xba0: 0x1813, 0xba1: 0x1818, 0xba2: 0x1423, 0xba3: 0x142f, + 0xba4: 0x1437, 0xba5: 0x181d, 0xba6: 0x143b, 0xba7: 0x1467, 0xba8: 0x1473, 0xba9: 0x1477, + 0xbaa: 0x146f, 0xbab: 0x1483, 0xbac: 0x1487, 0xbad: 0x1822, 0xbae: 0x1493, 0xbaf: 0x0693, + 0xbb0: 0x149b, 0xbb1: 0x1827, 0xbb2: 0x0697, 0xbb3: 0x14d3, 0xbb4: 0x0ac3, 0xbb5: 0x14eb, + 0xbb6: 0x182c, 0xbb7: 0x1836, 0xbb8: 0x069b, 0xbb9: 0x069f, 0xbba: 0x1513, 0xbbb: 0x183b, + 0xbbc: 0x06a3, 0xbbd: 0x1840, 0xbbe: 0x152b, 0xbbf: 0x152b, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x1533, 0xbc1: 0x1845, 0xbc2: 0x154b, 0xbc3: 0x06a7, 0xbc4: 0x155b, 0xbc5: 0x1567, + 0xbc6: 0x156f, 0xbc7: 0x1577, 0xbc8: 0x06ab, 0xbc9: 0x184a, 0xbca: 0x158b, 0xbcb: 0x15a7, + 0xbcc: 0x15b3, 0xbcd: 0x06af, 0xbce: 0x06b3, 0xbcf: 0x15b7, 0xbd0: 0x184f, 0xbd1: 0x06b7, + 0xbd2: 0x1854, 0xbd3: 0x1859, 0xbd4: 0x185e, 0xbd5: 0x15db, 0xbd6: 0x06bb, 0xbd7: 0x15ef, + 0xbd8: 0x15f7, 0xbd9: 0x15fb, 0xbda: 0x1603, 0xbdb: 0x160b, 0xbdc: 0x1613, 0xbdd: 0x1868, +} + +// nfcIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var nfcIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x2e, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x2f, 0xc7: 0x04, + 0xc8: 0x05, 0xca: 0x30, 0xcb: 0x31, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x32, + 0xd0: 0x09, 0xd1: 0x33, 0xd2: 0x34, 0xd3: 0x0a, 0xd6: 0x0b, 0xd7: 0x35, + 0xd8: 0x36, 0xd9: 0x0c, 0xdb: 0x37, 0xdc: 0x38, 0xdd: 0x39, 0xdf: 0x3a, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, + 0xf0: 0x13, + // Block 0x4, offset 0x100 + 0x120: 0x3b, 0x121: 0x3c, 0x123: 0x0d, 0x124: 0x3d, 0x125: 0x3e, 0x126: 0x3f, 0x127: 0x40, + 0x128: 0x41, 0x129: 0x42, 0x12a: 0x43, 0x12b: 0x44, 0x12c: 0x3f, 0x12d: 0x45, 0x12e: 0x46, 0x12f: 0x47, + 0x131: 0x48, 0x132: 0x49, 0x133: 0x4a, 0x134: 0x4b, 0x135: 0x4c, 0x137: 0x4d, + 0x138: 0x4e, 0x139: 0x4f, 0x13a: 0x50, 0x13b: 0x51, 0x13c: 0x52, 0x13d: 0x53, 0x13e: 0x54, 0x13f: 0x55, + // Block 0x5, offset 0x140 + 0x140: 0x56, 0x142: 0x57, 0x144: 0x58, 0x145: 0x59, 0x146: 0x5a, 0x147: 0x5b, + 0x14d: 0x5c, + 0x15c: 0x5d, 0x15f: 0x5e, + 0x162: 0x5f, 0x164: 0x60, + 0x168: 0x61, 0x169: 0x62, 0x16a: 0x63, 0x16c: 0x0e, 0x16d: 0x64, 0x16e: 0x65, 0x16f: 0x66, + 0x170: 0x67, 0x173: 0x68, 0x177: 0x0f, + 0x178: 0x10, 0x179: 0x11, 0x17a: 0x12, 0x17b: 0x13, 0x17c: 0x14, 0x17d: 0x15, 0x17e: 0x16, 0x17f: 0x17, + // Block 0x6, offset 0x180 + 0x180: 0x69, 0x183: 0x6a, 0x184: 0x6b, 0x186: 0x6c, 0x187: 0x6d, + 0x188: 0x6e, 0x189: 0x18, 0x18a: 0x19, 0x18b: 0x6f, 0x18c: 0x70, + 0x1ab: 0x71, + 0x1b3: 0x72, 0x1b5: 0x73, 0x1b7: 0x74, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x75, 0x1c1: 0x1a, 0x1c2: 0x1b, 0x1c3: 0x1c, 0x1c4: 0x76, 0x1c5: 0x77, + 0x1c9: 0x78, 0x1cc: 0x79, 0x1cd: 0x7a, + // Block 0x8, offset 0x200 + 0x219: 0x7b, 0x21a: 0x7c, 0x21b: 0x7d, + 0x220: 0x7e, 0x223: 0x7f, 0x224: 0x80, 0x225: 0x81, 0x226: 0x82, 0x227: 0x83, + 0x22a: 0x84, 0x22b: 0x85, 0x22f: 0x86, + 0x230: 0x87, 0x231: 0x88, 0x232: 0x89, 0x233: 0x8a, 0x234: 0x8b, 0x235: 0x8c, 0x236: 0x8d, 0x237: 0x87, + 0x238: 0x88, 0x239: 0x89, 0x23a: 0x8a, 0x23b: 0x8b, 0x23c: 0x8c, 0x23d: 0x8d, 0x23e: 0x87, 0x23f: 0x88, + // Block 0x9, offset 0x240 + 0x240: 0x89, 0x241: 0x8a, 0x242: 0x8b, 0x243: 0x8c, 0x244: 0x8d, 0x245: 0x87, 0x246: 0x88, 0x247: 0x89, + 0x248: 0x8a, 0x249: 0x8b, 0x24a: 0x8c, 0x24b: 0x8d, 0x24c: 0x87, 0x24d: 0x88, 0x24e: 0x89, 0x24f: 0x8a, + 0x250: 0x8b, 0x251: 0x8c, 0x252: 0x8d, 0x253: 0x87, 0x254: 0x88, 0x255: 0x89, 0x256: 0x8a, 0x257: 0x8b, + 0x258: 0x8c, 0x259: 0x8d, 0x25a: 0x87, 0x25b: 0x88, 0x25c: 0x89, 0x25d: 0x8a, 0x25e: 0x8b, 0x25f: 0x8c, + 0x260: 0x8d, 0x261: 0x87, 0x262: 0x88, 0x263: 0x89, 0x264: 0x8a, 0x265: 0x8b, 0x266: 0x8c, 0x267: 0x8d, + 0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26c: 0x8b, 0x26d: 0x8c, 0x26e: 0x8d, 0x26f: 0x87, + 0x270: 0x88, 0x271: 0x89, 0x272: 0x8a, 0x273: 0x8b, 0x274: 0x8c, 0x275: 0x8d, 0x276: 0x87, 0x277: 0x88, + 0x278: 0x89, 0x279: 0x8a, 0x27a: 0x8b, 0x27b: 0x8c, 0x27c: 0x8d, 0x27d: 0x87, 0x27e: 0x88, 0x27f: 0x89, + // Block 0xa, offset 0x280 + 0x280: 0x8a, 0x281: 0x8b, 0x282: 0x8c, 0x283: 0x8d, 0x284: 0x87, 0x285: 0x88, 0x286: 0x89, 0x287: 0x8a, + 0x288: 0x8b, 0x289: 0x8c, 0x28a: 0x8d, 0x28b: 0x87, 0x28c: 0x88, 0x28d: 0x89, 0x28e: 0x8a, 0x28f: 0x8b, + 0x290: 0x8c, 0x291: 0x8d, 0x292: 0x87, 0x293: 0x88, 0x294: 0x89, 0x295: 0x8a, 0x296: 0x8b, 0x297: 0x8c, + 0x298: 0x8d, 0x299: 0x87, 0x29a: 0x88, 0x29b: 0x89, 0x29c: 0x8a, 0x29d: 0x8b, 0x29e: 0x8c, 0x29f: 0x8d, + 0x2a0: 0x87, 0x2a1: 0x88, 0x2a2: 0x89, 0x2a3: 0x8a, 0x2a4: 0x8b, 0x2a5: 0x8c, 0x2a6: 0x8d, 0x2a7: 0x87, + 0x2a8: 0x88, 0x2a9: 0x89, 0x2aa: 0x8a, 0x2ab: 0x8b, 0x2ac: 0x8c, 0x2ad: 0x8d, 0x2ae: 0x87, 0x2af: 0x88, + 0x2b0: 0x89, 0x2b1: 0x8a, 0x2b2: 0x8b, 0x2b3: 0x8c, 0x2b4: 0x8d, 0x2b5: 0x87, 0x2b6: 0x88, 0x2b7: 0x89, + 0x2b8: 0x8a, 0x2b9: 0x8b, 0x2ba: 0x8c, 0x2bb: 0x8d, 0x2bc: 0x87, 0x2bd: 0x88, 0x2be: 0x89, 0x2bf: 0x8a, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x8b, 0x2c1: 0x8c, 0x2c2: 0x8d, 0x2c3: 0x87, 0x2c4: 0x88, 0x2c5: 0x89, 0x2c6: 0x8a, 0x2c7: 0x8b, + 0x2c8: 0x8c, 0x2c9: 0x8d, 0x2ca: 0x87, 0x2cb: 0x88, 0x2cc: 0x89, 0x2cd: 0x8a, 0x2ce: 0x8b, 0x2cf: 0x8c, + 0x2d0: 0x8d, 0x2d1: 0x87, 0x2d2: 0x88, 0x2d3: 0x89, 0x2d4: 0x8a, 0x2d5: 0x8b, 0x2d6: 0x8c, 0x2d7: 0x8d, + 0x2d8: 0x87, 0x2d9: 0x88, 0x2da: 0x89, 0x2db: 0x8a, 0x2dc: 0x8b, 0x2dd: 0x8c, 0x2de: 0x8e, + // Block 0xc, offset 0x300 + 0x324: 0x1d, 0x325: 0x1e, 0x326: 0x1f, 0x327: 0x20, + 0x328: 0x21, 0x329: 0x22, 0x32a: 0x23, 0x32b: 0x24, 0x32c: 0x8f, 0x32d: 0x90, 0x32e: 0x91, + 0x331: 0x92, 0x332: 0x93, 0x333: 0x94, 0x334: 0x95, + 0x338: 0x96, 0x339: 0x97, 0x33a: 0x98, 0x33b: 0x99, 0x33e: 0x9a, 0x33f: 0x9b, + // Block 0xd, offset 0x340 + 0x347: 0x9c, + 0x34b: 0x9d, 0x34d: 0x9e, + 0x368: 0x9f, 0x36b: 0xa0, + 0x374: 0xa1, + 0x37d: 0xa2, + // Block 0xe, offset 0x380 + 0x381: 0xa3, 0x382: 0xa4, 0x384: 0xa5, 0x385: 0x82, 0x387: 0xa6, + 0x388: 0xa7, 0x38b: 0xa8, 0x38c: 0xa9, 0x38d: 0xaa, + 0x391: 0xab, 0x392: 0xac, 0x393: 0xad, 0x396: 0xae, 0x397: 0xaf, + 0x398: 0x73, 0x39a: 0xb0, 0x39c: 0xb1, + 0x3a0: 0xb2, + 0x3a8: 0xb3, 0x3a9: 0xb4, 0x3aa: 0xb5, + 0x3b0: 0x73, 0x3b5: 0xb6, 0x3b6: 0xb7, + // Block 0xf, offset 0x3c0 + 0x3eb: 0xb8, 0x3ec: 0xb9, + // Block 0x10, offset 0x400 + 0x432: 0xba, + // Block 0x11, offset 0x440 + 0x445: 0xbb, 0x446: 0xbc, 0x447: 0xbd, + 0x449: 0xbe, + // Block 0x12, offset 0x480 + 0x480: 0xbf, + 0x4a3: 0xc0, 0x4a5: 0xc1, + // Block 0x13, offset 0x4c0 + 0x4c8: 0xc2, + // Block 0x14, offset 0x500 + 0x520: 0x25, 0x521: 0x26, 0x522: 0x27, 0x523: 0x28, 0x524: 0x29, 0x525: 0x2a, 0x526: 0x2b, 0x527: 0x2c, + 0x528: 0x2d, + // Block 0x15, offset 0x540 + 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, + 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, + 0x56f: 0x12, +} + +// nfcSparseOffset: 149 entries, 298 bytes +var nfcSparseOffset = []uint16{0x0, 0x5, 0x9, 0xb, 0xd, 0x18, 0x28, 0x2a, 0x2f, 0x3a, 0x49, 0x56, 0x5e, 0x63, 0x68, 0x6a, 0x72, 0x79, 0x7c, 0x84, 0x88, 0x8c, 0x8e, 0x90, 0x99, 0x9d, 0xa4, 0xa9, 0xac, 0xb6, 0xb9, 0xc0, 0xc8, 0xcb, 0xcd, 0xcf, 0xd1, 0xd6, 0xe7, 0xf3, 0xf5, 0xfb, 0xfd, 0xff, 0x101, 0x103, 0x105, 0x107, 0x10a, 0x10d, 0x10f, 0x112, 0x115, 0x119, 0x11e, 0x127, 0x129, 0x12c, 0x12e, 0x139, 0x13d, 0x14b, 0x14e, 0x154, 0x15a, 0x165, 0x169, 0x16b, 0x16d, 0x16f, 0x171, 0x173, 0x179, 0x17d, 0x17f, 0x181, 0x189, 0x18d, 0x190, 0x192, 0x194, 0x196, 0x199, 0x19b, 0x19d, 0x19f, 0x1a1, 0x1a7, 0x1aa, 0x1ac, 0x1b3, 0x1b9, 0x1bf, 0x1c7, 0x1cd, 0x1d3, 0x1d9, 0x1dd, 0x1eb, 0x1f4, 0x1f7, 0x1fa, 0x1fc, 0x1ff, 0x201, 0x205, 0x20a, 0x20c, 0x20e, 0x213, 0x219, 0x21b, 0x21d, 0x21f, 0x225, 0x228, 0x22a, 0x230, 0x233, 0x23b, 0x242, 0x245, 0x248, 0x24a, 0x24d, 0x255, 0x259, 0x260, 0x263, 0x269, 0x26b, 0x26e, 0x270, 0x273, 0x275, 0x277, 0x279, 0x27c, 0x27e, 0x280, 0x282, 0x284, 0x291, 0x29b, 0x29d, 0x29f, 0x2a5, 0x2a7, 0x2aa} + +// nfcSparseValues: 684 entries, 2736 bytes +var nfcSparseValues = [684]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0000, lo: 0x04}, + {value: 0xa100, lo: 0xa8, hi: 0xa8}, + {value: 0x8100, lo: 0xaf, hi: 0xaf}, + {value: 0x8100, lo: 0xb4, hi: 0xb4}, + {value: 0x8100, lo: 0xb8, hi: 0xb8}, + // Block 0x1, offset 0x5 + {value: 0x0091, lo: 0x03}, + {value: 0x46e2, lo: 0xa0, hi: 0xa1}, + {value: 0x4714, lo: 0xaf, hi: 0xb0}, + {value: 0xa000, lo: 0xb7, hi: 0xb7}, + // Block 0x2, offset 0x9 + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + // Block 0x3, offset 0xb + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x98, hi: 0x9d}, + // Block 0x4, offset 0xd + {value: 0x0006, lo: 0x0a}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x85, hi: 0x85}, + {value: 0xa000, lo: 0x89, hi: 0x89}, + {value: 0x4840, lo: 0x8a, hi: 0x8a}, + {value: 0x485e, lo: 0x8b, hi: 0x8b}, + {value: 0x36c7, lo: 0x8c, hi: 0x8c}, + {value: 0x36df, lo: 0x8d, hi: 0x8d}, + {value: 0x4876, lo: 0x8e, hi: 0x8e}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x36fd, lo: 0x93, hi: 0x94}, + // Block 0x5, offset 0x18 + {value: 0x0000, lo: 0x0f}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0xa000, lo: 0x8d, hi: 0x8d}, + {value: 0x37a5, lo: 0x90, hi: 0x90}, + {value: 0x37b1, lo: 0x91, hi: 0x91}, + {value: 0x379f, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x96, hi: 0x96}, + {value: 0x3817, lo: 0x97, hi: 0x97}, + {value: 0x37e1, lo: 0x9c, hi: 0x9c}, + {value: 0x37c9, lo: 0x9d, hi: 0x9d}, + {value: 0x37f3, lo: 0x9e, hi: 0x9e}, + {value: 0xa000, lo: 0xb4, hi: 0xb5}, + {value: 0x381d, lo: 0xb6, hi: 0xb6}, + {value: 0x3823, lo: 0xb7, hi: 0xb7}, + // Block 0x6, offset 0x28 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x83, hi: 0x87}, + // Block 0x7, offset 0x2a + {value: 0x0001, lo: 0x04}, + {value: 0x8113, lo: 0x81, hi: 0x82}, + {value: 0x8132, lo: 0x84, hi: 0x84}, + {value: 0x812d, lo: 0x85, hi: 0x85}, + {value: 0x810d, lo: 0x87, hi: 0x87}, + // Block 0x8, offset 0x2f + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x97}, + {value: 0x8119, lo: 0x98, hi: 0x98}, + {value: 0x811a, lo: 0x99, hi: 0x99}, + {value: 0x811b, lo: 0x9a, hi: 0x9a}, + {value: 0x3841, lo: 0xa2, hi: 0xa2}, + {value: 0x3847, lo: 0xa3, hi: 0xa3}, + {value: 0x3853, lo: 0xa4, hi: 0xa4}, + {value: 0x384d, lo: 0xa5, hi: 0xa5}, + {value: 0x3859, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xa7, hi: 0xa7}, + // Block 0x9, offset 0x3a + {value: 0x0000, lo: 0x0e}, + {value: 0x386b, lo: 0x80, hi: 0x80}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0x385f, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x3865, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x95, hi: 0x95}, + {value: 0x8132, lo: 0x96, hi: 0x9c}, + {value: 0x8132, lo: 0x9f, hi: 0xa2}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa4}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xaa, hi: 0xaa}, + {value: 0x8132, lo: 0xab, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + // Block 0xa, offset 0x49 + {value: 0x0000, lo: 0x0c}, + {value: 0x811f, lo: 0x91, hi: 0x91}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x812d, lo: 0xb1, hi: 0xb1}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb5, hi: 0xb6}, + {value: 0x812d, lo: 0xb7, hi: 0xb9}, + {value: 0x8132, lo: 0xba, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbc}, + {value: 0x8132, lo: 0xbd, hi: 0xbd}, + {value: 0x812d, lo: 0xbe, hi: 0xbe}, + {value: 0x8132, lo: 0xbf, hi: 0xbf}, + // Block 0xb, offset 0x56 + {value: 0x0005, lo: 0x07}, + {value: 0x8132, lo: 0x80, hi: 0x80}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x812d, lo: 0x82, hi: 0x83}, + {value: 0x812d, lo: 0x84, hi: 0x85}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x812d, lo: 0x88, hi: 0x89}, + {value: 0x8132, lo: 0x8a, hi: 0x8a}, + // Block 0xc, offset 0x5e + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xab, hi: 0xb1}, + {value: 0x812d, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb3}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0xd, offset 0x63 + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0x96, hi: 0x99}, + {value: 0x8132, lo: 0x9b, hi: 0xa3}, + {value: 0x8132, lo: 0xa5, hi: 0xa7}, + {value: 0x8132, lo: 0xa9, hi: 0xad}, + // Block 0xe, offset 0x68 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x99, hi: 0x9b}, + // Block 0xf, offset 0x6a + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0xa8, hi: 0xa8}, + {value: 0x3ed8, lo: 0xa9, hi: 0xa9}, + {value: 0xa000, lo: 0xb0, hi: 0xb0}, + {value: 0x3ee0, lo: 0xb1, hi: 0xb1}, + {value: 0xa000, lo: 0xb3, hi: 0xb3}, + {value: 0x3ee8, lo: 0xb4, hi: 0xb4}, + {value: 0x9902, lo: 0xbc, hi: 0xbc}, + // Block 0x10, offset 0x72 + {value: 0x0008, lo: 0x06}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x91, hi: 0x91}, + {value: 0x812d, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x93, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x94}, + {value: 0x451c, lo: 0x98, hi: 0x9f}, + // Block 0x11, offset 0x79 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x12, offset 0x7c + {value: 0x0008, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2c9e, lo: 0x8b, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x455c, lo: 0x9c, hi: 0x9d}, + {value: 0x456c, lo: 0x9f, hi: 0x9f}, + {value: 0x8132, lo: 0xbe, hi: 0xbe}, + // Block 0x13, offset 0x84 + {value: 0x0000, lo: 0x03}, + {value: 0x4594, lo: 0xb3, hi: 0xb3}, + {value: 0x459c, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x14, offset 0x88 + {value: 0x0008, lo: 0x03}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x4574, lo: 0x99, hi: 0x9b}, + {value: 0x458c, lo: 0x9e, hi: 0x9e}, + // Block 0x15, offset 0x8c + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x16, offset 0x8e + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + // Block 0x17, offset 0x90 + {value: 0x0000, lo: 0x08}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2cb6, lo: 0x88, hi: 0x88}, + {value: 0x2cae, lo: 0x8b, hi: 0x8b}, + {value: 0x2cbe, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x96, hi: 0x97}, + {value: 0x45a4, lo: 0x9c, hi: 0x9c}, + {value: 0x45ac, lo: 0x9d, hi: 0x9d}, + // Block 0x18, offset 0x99 + {value: 0x0000, lo: 0x03}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x2cc6, lo: 0x94, hi: 0x94}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x19, offset 0x9d + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cce, lo: 0x8a, hi: 0x8a}, + {value: 0x2cde, lo: 0x8b, hi: 0x8b}, + {value: 0x2cd6, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1a, offset 0xa4 + {value: 0x1801, lo: 0x04}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x3ef0, lo: 0x88, hi: 0x88}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8120, lo: 0x95, hi: 0x96}, + // Block 0x1b, offset 0xa9 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0xa000, lo: 0xbf, hi: 0xbf}, + // Block 0x1c, offset 0xac + {value: 0x0000, lo: 0x09}, + {value: 0x2ce6, lo: 0x80, hi: 0x80}, + {value: 0x9900, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x2cee, lo: 0x87, hi: 0x87}, + {value: 0x2cf6, lo: 0x88, hi: 0x88}, + {value: 0x2f50, lo: 0x8a, hi: 0x8a}, + {value: 0x2dd8, lo: 0x8b, hi: 0x8b}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x95, hi: 0x96}, + // Block 0x1d, offset 0xb6 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1e, offset 0xb9 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cfe, lo: 0x8a, hi: 0x8a}, + {value: 0x2d0e, lo: 0x8b, hi: 0x8b}, + {value: 0x2d06, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1f, offset 0xc0 + {value: 0x6bea, lo: 0x07}, + {value: 0x9904, lo: 0x8a, hi: 0x8a}, + {value: 0x9900, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x3ef8, lo: 0x9a, hi: 0x9a}, + {value: 0x2f58, lo: 0x9c, hi: 0x9c}, + {value: 0x2de3, lo: 0x9d, hi: 0x9d}, + {value: 0x2d16, lo: 0x9e, hi: 0x9f}, + // Block 0x20, offset 0xc8 + {value: 0x0000, lo: 0x02}, + {value: 0x8122, lo: 0xb8, hi: 0xb9}, + {value: 0x8104, lo: 0xba, hi: 0xba}, + // Block 0x21, offset 0xcb + {value: 0x0000, lo: 0x01}, + {value: 0x8123, lo: 0x88, hi: 0x8b}, + // Block 0x22, offset 0xcd + {value: 0x0000, lo: 0x01}, + {value: 0x8124, lo: 0xb8, hi: 0xb9}, + // Block 0x23, offset 0xcf + {value: 0x0000, lo: 0x01}, + {value: 0x8125, lo: 0x88, hi: 0x8b}, + // Block 0x24, offset 0xd1 + {value: 0x0000, lo: 0x04}, + {value: 0x812d, lo: 0x98, hi: 0x99}, + {value: 0x812d, lo: 0xb5, hi: 0xb5}, + {value: 0x812d, lo: 0xb7, hi: 0xb7}, + {value: 0x812b, lo: 0xb9, hi: 0xb9}, + // Block 0x25, offset 0xd6 + {value: 0x0000, lo: 0x10}, + {value: 0x2644, lo: 0x83, hi: 0x83}, + {value: 0x264b, lo: 0x8d, hi: 0x8d}, + {value: 0x2652, lo: 0x92, hi: 0x92}, + {value: 0x2659, lo: 0x97, hi: 0x97}, + {value: 0x2660, lo: 0x9c, hi: 0x9c}, + {value: 0x263d, lo: 0xa9, hi: 0xa9}, + {value: 0x8126, lo: 0xb1, hi: 0xb1}, + {value: 0x8127, lo: 0xb2, hi: 0xb2}, + {value: 0x4a84, lo: 0xb3, hi: 0xb3}, + {value: 0x8128, lo: 0xb4, hi: 0xb4}, + {value: 0x4a8d, lo: 0xb5, hi: 0xb5}, + {value: 0x45b4, lo: 0xb6, hi: 0xb6}, + {value: 0x8200, lo: 0xb7, hi: 0xb7}, + {value: 0x45bc, lo: 0xb8, hi: 0xb8}, + {value: 0x8200, lo: 0xb9, hi: 0xb9}, + {value: 0x8127, lo: 0xba, hi: 0xbd}, + // Block 0x26, offset 0xe7 + {value: 0x0000, lo: 0x0b}, + {value: 0x8127, lo: 0x80, hi: 0x80}, + {value: 0x4a96, lo: 0x81, hi: 0x81}, + {value: 0x8132, lo: 0x82, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0x86, hi: 0x87}, + {value: 0x266e, lo: 0x93, hi: 0x93}, + {value: 0x2675, lo: 0x9d, hi: 0x9d}, + {value: 0x267c, lo: 0xa2, hi: 0xa2}, + {value: 0x2683, lo: 0xa7, hi: 0xa7}, + {value: 0x268a, lo: 0xac, hi: 0xac}, + {value: 0x2667, lo: 0xb9, hi: 0xb9}, + // Block 0x27, offset 0xf3 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x86, hi: 0x86}, + // Block 0x28, offset 0xf5 + {value: 0x0000, lo: 0x05}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x2d1e, lo: 0xa6, hi: 0xa6}, + {value: 0x9900, lo: 0xae, hi: 0xae}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x29, offset 0xfb + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + // Block 0x2a, offset 0xfd + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x80, hi: 0x92}, + // Block 0x2b, offset 0xff + {value: 0x0000, lo: 0x01}, + {value: 0xb900, lo: 0xa1, hi: 0xb5}, + // Block 0x2c, offset 0x101 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xa8, hi: 0xbf}, + // Block 0x2d, offset 0x103 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0x80, hi: 0x82}, + // Block 0x2e, offset 0x105 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9d, hi: 0x9f}, + // Block 0x2f, offset 0x107 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x94, hi: 0x94}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x30, offset 0x10a + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x9d, hi: 0x9d}, + // Block 0x31, offset 0x10d + {value: 0x0000, lo: 0x01}, + {value: 0x8131, lo: 0xa9, hi: 0xa9}, + // Block 0x32, offset 0x10f + {value: 0x0004, lo: 0x02}, + {value: 0x812e, lo: 0xb9, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbb}, + // Block 0x33, offset 0x112 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x97, hi: 0x97}, + {value: 0x812d, lo: 0x98, hi: 0x98}, + // Block 0x34, offset 0x115 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0xa0, hi: 0xa0}, + {value: 0x8132, lo: 0xb5, hi: 0xbc}, + {value: 0x812d, lo: 0xbf, hi: 0xbf}, + // Block 0x35, offset 0x119 + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + {value: 0x812d, lo: 0xb5, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbc}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x36, offset 0x11e + {value: 0x0000, lo: 0x08}, + {value: 0x2d66, lo: 0x80, hi: 0x80}, + {value: 0x2d6e, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x82, hi: 0x82}, + {value: 0x2d76, lo: 0x83, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xab, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xac}, + {value: 0x8132, lo: 0xad, hi: 0xb3}, + // Block 0x37, offset 0x127 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xaa, hi: 0xab}, + // Block 0x38, offset 0x129 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xa6, hi: 0xa6}, + {value: 0x8104, lo: 0xb2, hi: 0xb3}, + // Block 0x39, offset 0x12c + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x3a, offset 0x12e + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x92}, + {value: 0x8101, lo: 0x94, hi: 0x94}, + {value: 0x812d, lo: 0x95, hi: 0x99}, + {value: 0x8132, lo: 0x9a, hi: 0x9b}, + {value: 0x812d, lo: 0x9c, hi: 0x9f}, + {value: 0x8132, lo: 0xa0, hi: 0xa0}, + {value: 0x8101, lo: 0xa2, hi: 0xa8}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + {value: 0x8132, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb8, hi: 0xb9}, + // Block 0x3b, offset 0x139 + {value: 0x0004, lo: 0x03}, + {value: 0x0433, lo: 0x80, hi: 0x81}, + {value: 0x8100, lo: 0x97, hi: 0x97}, + {value: 0x8100, lo: 0xbe, hi: 0xbe}, + // Block 0x3c, offset 0x13d + {value: 0x0000, lo: 0x0d}, + {value: 0x8132, lo: 0x90, hi: 0x91}, + {value: 0x8101, lo: 0x92, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x97}, + {value: 0x8101, lo: 0x98, hi: 0x9a}, + {value: 0x8132, lo: 0x9b, hi: 0x9c}, + {value: 0x8132, lo: 0xa1, hi: 0xa1}, + {value: 0x8101, lo: 0xa5, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa7}, + {value: 0x812d, lo: 0xa8, hi: 0xa8}, + {value: 0x8132, lo: 0xa9, hi: 0xa9}, + {value: 0x8101, lo: 0xaa, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xaf}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + // Block 0x3d, offset 0x14b + {value: 0x427b, lo: 0x02}, + {value: 0x01b8, lo: 0xa6, hi: 0xa6}, + {value: 0x0057, lo: 0xaa, hi: 0xab}, + // Block 0x3e, offset 0x14e + {value: 0x0007, lo: 0x05}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + {value: 0x3bb9, lo: 0x9a, hi: 0x9b}, + {value: 0x3bc7, lo: 0xae, hi: 0xae}, + // Block 0x3f, offset 0x154 + {value: 0x000e, lo: 0x05}, + {value: 0x3bce, lo: 0x8d, hi: 0x8e}, + {value: 0x3bd5, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + // Block 0x40, offset 0x15a + {value: 0x6408, lo: 0x0a}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0x3be3, lo: 0x84, hi: 0x84}, + {value: 0xa000, lo: 0x88, hi: 0x88}, + {value: 0x3bea, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0x3bf1, lo: 0x8c, hi: 0x8c}, + {value: 0xa000, lo: 0xa3, hi: 0xa3}, + {value: 0x3bf8, lo: 0xa4, hi: 0xa5}, + {value: 0x3bff, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xbc, hi: 0xbc}, + // Block 0x41, offset 0x165 + {value: 0x0007, lo: 0x03}, + {value: 0x3c68, lo: 0xa0, hi: 0xa1}, + {value: 0x3c92, lo: 0xa2, hi: 0xa3}, + {value: 0x3cbc, lo: 0xaa, hi: 0xad}, + // Block 0x42, offset 0x169 + {value: 0x0004, lo: 0x01}, + {value: 0x048b, lo: 0xa9, hi: 0xaa}, + // Block 0x43, offset 0x16b + {value: 0x0000, lo: 0x01}, + {value: 0x44dd, lo: 0x9c, hi: 0x9c}, + // Block 0x44, offset 0x16d + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xaf, hi: 0xb1}, + // Block 0x45, offset 0x16f + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x46, offset 0x171 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa0, hi: 0xbf}, + // Block 0x47, offset 0x173 + {value: 0x0000, lo: 0x05}, + {value: 0x812c, lo: 0xaa, hi: 0xaa}, + {value: 0x8131, lo: 0xab, hi: 0xab}, + {value: 0x8133, lo: 0xac, hi: 0xac}, + {value: 0x812e, lo: 0xad, hi: 0xad}, + {value: 0x812f, lo: 0xae, hi: 0xaf}, + // Block 0x48, offset 0x179 + {value: 0x0000, lo: 0x03}, + {value: 0x4a9f, lo: 0xb3, hi: 0xb3}, + {value: 0x4a9f, lo: 0xb5, hi: 0xb6}, + {value: 0x4a9f, lo: 0xba, hi: 0xbf}, + // Block 0x49, offset 0x17d + {value: 0x0000, lo: 0x01}, + {value: 0x4a9f, lo: 0x8f, hi: 0xa3}, + // Block 0x4a, offset 0x17f + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xae, hi: 0xbe}, + // Block 0x4b, offset 0x181 + {value: 0x0000, lo: 0x07}, + {value: 0x8100, lo: 0x84, hi: 0x84}, + {value: 0x8100, lo: 0x87, hi: 0x87}, + {value: 0x8100, lo: 0x90, hi: 0x90}, + {value: 0x8100, lo: 0x9e, hi: 0x9e}, + {value: 0x8100, lo: 0xa1, hi: 0xa1}, + {value: 0x8100, lo: 0xb2, hi: 0xb2}, + {value: 0x8100, lo: 0xbb, hi: 0xbb}, + // Block 0x4c, offset 0x189 + {value: 0x0000, lo: 0x03}, + {value: 0x8100, lo: 0x80, hi: 0x80}, + {value: 0x8100, lo: 0x8b, hi: 0x8b}, + {value: 0x8100, lo: 0x8e, hi: 0x8e}, + // Block 0x4d, offset 0x18d + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xaf, hi: 0xaf}, + {value: 0x8132, lo: 0xb4, hi: 0xbd}, + // Block 0x4e, offset 0x190 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9e, hi: 0x9f}, + // Block 0x4f, offset 0x192 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb1}, + // Block 0x50, offset 0x194 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + // Block 0x51, offset 0x196 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xa0, hi: 0xb1}, + // Block 0x52, offset 0x199 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xab, hi: 0xad}, + // Block 0x53, offset 0x19b + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x93, hi: 0x93}, + // Block 0x54, offset 0x19d + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb3, hi: 0xb3}, + // Block 0x55, offset 0x19f + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + // Block 0x56, offset 0x1a1 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x8132, lo: 0xbe, hi: 0xbf}, + // Block 0x57, offset 0x1a7 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + // Block 0x58, offset 0x1aa + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xad, hi: 0xad}, + // Block 0x59, offset 0x1ac + {value: 0x0000, lo: 0x06}, + {value: 0xe500, lo: 0x80, hi: 0x80}, + {value: 0xc600, lo: 0x81, hi: 0x9b}, + {value: 0xe500, lo: 0x9c, hi: 0x9c}, + {value: 0xc600, lo: 0x9d, hi: 0xb7}, + {value: 0xe500, lo: 0xb8, hi: 0xb8}, + {value: 0xc600, lo: 0xb9, hi: 0xbf}, + // Block 0x5a, offset 0x1b3 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x93}, + {value: 0xe500, lo: 0x94, hi: 0x94}, + {value: 0xc600, lo: 0x95, hi: 0xaf}, + {value: 0xe500, lo: 0xb0, hi: 0xb0}, + {value: 0xc600, lo: 0xb1, hi: 0xbf}, + // Block 0x5b, offset 0x1b9 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8b}, + {value: 0xe500, lo: 0x8c, hi: 0x8c}, + {value: 0xc600, lo: 0x8d, hi: 0xa7}, + {value: 0xe500, lo: 0xa8, hi: 0xa8}, + {value: 0xc600, lo: 0xa9, hi: 0xbf}, + // Block 0x5c, offset 0x1bf + {value: 0x0000, lo: 0x07}, + {value: 0xc600, lo: 0x80, hi: 0x83}, + {value: 0xe500, lo: 0x84, hi: 0x84}, + {value: 0xc600, lo: 0x85, hi: 0x9f}, + {value: 0xe500, lo: 0xa0, hi: 0xa0}, + {value: 0xc600, lo: 0xa1, hi: 0xbb}, + {value: 0xe500, lo: 0xbc, hi: 0xbc}, + {value: 0xc600, lo: 0xbd, hi: 0xbf}, + // Block 0x5d, offset 0x1c7 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x97}, + {value: 0xe500, lo: 0x98, hi: 0x98}, + {value: 0xc600, lo: 0x99, hi: 0xb3}, + {value: 0xe500, lo: 0xb4, hi: 0xb4}, + {value: 0xc600, lo: 0xb5, hi: 0xbf}, + // Block 0x5e, offset 0x1cd + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8f}, + {value: 0xe500, lo: 0x90, hi: 0x90}, + {value: 0xc600, lo: 0x91, hi: 0xab}, + {value: 0xe500, lo: 0xac, hi: 0xac}, + {value: 0xc600, lo: 0xad, hi: 0xbf}, + // Block 0x5f, offset 0x1d3 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + {value: 0xe500, lo: 0xa4, hi: 0xa4}, + {value: 0xc600, lo: 0xa5, hi: 0xbf}, + // Block 0x60, offset 0x1d9 + {value: 0x0000, lo: 0x03}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + // Block 0x61, offset 0x1dd + {value: 0x0006, lo: 0x0d}, + {value: 0x4390, lo: 0x9d, hi: 0x9d}, + {value: 0x8115, lo: 0x9e, hi: 0x9e}, + {value: 0x4402, lo: 0x9f, hi: 0x9f}, + {value: 0x43f0, lo: 0xaa, hi: 0xab}, + {value: 0x44f4, lo: 0xac, hi: 0xac}, + {value: 0x44fc, lo: 0xad, hi: 0xad}, + {value: 0x4348, lo: 0xae, hi: 0xb1}, + {value: 0x4366, lo: 0xb2, hi: 0xb4}, + {value: 0x437e, lo: 0xb5, hi: 0xb6}, + {value: 0x438a, lo: 0xb8, hi: 0xb8}, + {value: 0x4396, lo: 0xb9, hi: 0xbb}, + {value: 0x43ae, lo: 0xbc, hi: 0xbc}, + {value: 0x43b4, lo: 0xbe, hi: 0xbe}, + // Block 0x62, offset 0x1eb + {value: 0x0006, lo: 0x08}, + {value: 0x43ba, lo: 0x80, hi: 0x81}, + {value: 0x43c6, lo: 0x83, hi: 0x84}, + {value: 0x43d8, lo: 0x86, hi: 0x89}, + {value: 0x43fc, lo: 0x8a, hi: 0x8a}, + {value: 0x4378, lo: 0x8b, hi: 0x8b}, + {value: 0x4360, lo: 0x8c, hi: 0x8c}, + {value: 0x43a8, lo: 0x8d, hi: 0x8d}, + {value: 0x43d2, lo: 0x8e, hi: 0x8e}, + // Block 0x63, offset 0x1f4 + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0xa4, hi: 0xa5}, + {value: 0x8100, lo: 0xb0, hi: 0xb1}, + // Block 0x64, offset 0x1f7 + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0x9b, hi: 0x9d}, + {value: 0x8200, lo: 0x9e, hi: 0xa3}, + // Block 0x65, offset 0x1fa + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x90, hi: 0x90}, + // Block 0x66, offset 0x1fc + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0x99, hi: 0x99}, + {value: 0x8200, lo: 0xb2, hi: 0xb4}, + // Block 0x67, offset 0x1ff + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xbc, hi: 0xbd}, + // Block 0x68, offset 0x201 + {value: 0x0000, lo: 0x03}, + {value: 0x8132, lo: 0xa0, hi: 0xa6}, + {value: 0x812d, lo: 0xa7, hi: 0xad}, + {value: 0x8132, lo: 0xae, hi: 0xaf}, + // Block 0x69, offset 0x205 + {value: 0x0000, lo: 0x04}, + {value: 0x8100, lo: 0x89, hi: 0x8c}, + {value: 0x8100, lo: 0xb0, hi: 0xb2}, + {value: 0x8100, lo: 0xb4, hi: 0xb4}, + {value: 0x8100, lo: 0xb6, hi: 0xbf}, + // Block 0x6a, offset 0x20a + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x81, hi: 0x8c}, + // Block 0x6b, offset 0x20c + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xb5, hi: 0xba}, + // Block 0x6c, offset 0x20e + {value: 0x0000, lo: 0x04}, + {value: 0x4a9f, lo: 0x9e, hi: 0x9f}, + {value: 0x4a9f, lo: 0xa3, hi: 0xa3}, + {value: 0x4a9f, lo: 0xa5, hi: 0xa6}, + {value: 0x4a9f, lo: 0xaa, hi: 0xaf}, + // Block 0x6d, offset 0x213 + {value: 0x0000, lo: 0x05}, + {value: 0x4a9f, lo: 0x82, hi: 0x87}, + {value: 0x4a9f, lo: 0x8a, hi: 0x8f}, + {value: 0x4a9f, lo: 0x92, hi: 0x97}, + {value: 0x4a9f, lo: 0x9a, hi: 0x9c}, + {value: 0x8100, lo: 0xa3, hi: 0xa3}, + // Block 0x6e, offset 0x219 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x6f, offset 0x21b + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xa0, hi: 0xa0}, + // Block 0x70, offset 0x21d + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb6, hi: 0xba}, + // Block 0x71, offset 0x21f + {value: 0x002c, lo: 0x05}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x8f, hi: 0x8f}, + {value: 0x8132, lo: 0xb8, hi: 0xb8}, + {value: 0x8101, lo: 0xb9, hi: 0xba}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x72, offset 0x225 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xa5, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + // Block 0x73, offset 0x228 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa4, hi: 0xa7}, + // Block 0x74, offset 0x22a + {value: 0x0000, lo: 0x05}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x8132, lo: 0x88, hi: 0x8a}, + {value: 0x812d, lo: 0x8b, hi: 0x8b}, + {value: 0x8132, lo: 0x8c, hi: 0x8c}, + {value: 0x812d, lo: 0x8d, hi: 0x90}, + // Block 0x75, offset 0x230 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x76, offset 0x233 + {value: 0x17fe, lo: 0x07}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x4238, lo: 0x9a, hi: 0x9a}, + {value: 0xa000, lo: 0x9b, hi: 0x9b}, + {value: 0x4242, lo: 0x9c, hi: 0x9c}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x424c, lo: 0xab, hi: 0xab}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x77, offset 0x23b + {value: 0x0000, lo: 0x06}, + {value: 0x8132, lo: 0x80, hi: 0x82}, + {value: 0x9900, lo: 0xa7, hi: 0xa7}, + {value: 0x2d7e, lo: 0xae, hi: 0xae}, + {value: 0x2d88, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb1, hi: 0xb2}, + {value: 0x8104, lo: 0xb3, hi: 0xb4}, + // Block 0x78, offset 0x242 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x79, offset 0x245 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb5, hi: 0xb5}, + {value: 0x8102, lo: 0xb6, hi: 0xb6}, + // Block 0x7a, offset 0x248 + {value: 0x0002, lo: 0x01}, + {value: 0x8102, lo: 0xa9, hi: 0xaa}, + // Block 0x7b, offset 0x24a + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x7c, offset 0x24d + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2d92, lo: 0x8b, hi: 0x8b}, + {value: 0x2d9c, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x8132, lo: 0xa6, hi: 0xac}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + // Block 0x7d, offset 0x255 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x86, hi: 0x86}, + {value: 0x8132, lo: 0x9e, hi: 0x9e}, + // Block 0x7e, offset 0x259 + {value: 0x6b5a, lo: 0x06}, + {value: 0x9900, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xb9, hi: 0xb9}, + {value: 0x9900, lo: 0xba, hi: 0xba}, + {value: 0x2db0, lo: 0xbb, hi: 0xbb}, + {value: 0x2da6, lo: 0xbc, hi: 0xbd}, + {value: 0x2dba, lo: 0xbe, hi: 0xbe}, + // Block 0x7f, offset 0x260 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x83, hi: 0x83}, + // Block 0x80, offset 0x263 + {value: 0x0000, lo: 0x05}, + {value: 0x9900, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb8, hi: 0xb9}, + {value: 0x2dc4, lo: 0xba, hi: 0xba}, + {value: 0x2dce, lo: 0xbb, hi: 0xbb}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x81, offset 0x269 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0x80, hi: 0x80}, + // Block 0x82, offset 0x26b + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x83, offset 0x26e + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xab, hi: 0xab}, + // Block 0x84, offset 0x270 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb9, hi: 0xb9}, + {value: 0x8102, lo: 0xba, hi: 0xba}, + // Block 0x85, offset 0x273 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x86, offset 0x275 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x87, hi: 0x87}, + // Block 0x87, offset 0x277 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x99, hi: 0x99}, + // Block 0x88, offset 0x279 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0x82, hi: 0x82}, + {value: 0x8104, lo: 0x84, hi: 0x85}, + // Block 0x89, offset 0x27c + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x97, hi: 0x97}, + // Block 0x8a, offset 0x27e + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0xb0, hi: 0xb4}, + // Block 0x8b, offset 0x280 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb6}, + // Block 0x8c, offset 0x282 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0x9e, hi: 0x9e}, + // Block 0x8d, offset 0x284 + {value: 0x0000, lo: 0x0c}, + {value: 0x45cc, lo: 0x9e, hi: 0x9e}, + {value: 0x45d6, lo: 0x9f, hi: 0x9f}, + {value: 0x460a, lo: 0xa0, hi: 0xa0}, + {value: 0x4618, lo: 0xa1, hi: 0xa1}, + {value: 0x4626, lo: 0xa2, hi: 0xa2}, + {value: 0x4634, lo: 0xa3, hi: 0xa3}, + {value: 0x4642, lo: 0xa4, hi: 0xa4}, + {value: 0x812b, lo: 0xa5, hi: 0xa6}, + {value: 0x8101, lo: 0xa7, hi: 0xa9}, + {value: 0x8130, lo: 0xad, hi: 0xad}, + {value: 0x812b, lo: 0xae, hi: 0xb2}, + {value: 0x812d, lo: 0xbb, hi: 0xbf}, + // Block 0x8e, offset 0x291 + {value: 0x0000, lo: 0x09}, + {value: 0x812d, lo: 0x80, hi: 0x82}, + {value: 0x8132, lo: 0x85, hi: 0x89}, + {value: 0x812d, lo: 0x8a, hi: 0x8b}, + {value: 0x8132, lo: 0xaa, hi: 0xad}, + {value: 0x45e0, lo: 0xbb, hi: 0xbb}, + {value: 0x45ea, lo: 0xbc, hi: 0xbc}, + {value: 0x4650, lo: 0xbd, hi: 0xbd}, + {value: 0x466c, lo: 0xbe, hi: 0xbe}, + {value: 0x465e, lo: 0xbf, hi: 0xbf}, + // Block 0x8f, offset 0x29b + {value: 0x0000, lo: 0x01}, + {value: 0x467a, lo: 0x80, hi: 0x80}, + // Block 0x90, offset 0x29d + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x82, hi: 0x84}, + // Block 0x91, offset 0x29f + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0x80, hi: 0x86}, + {value: 0x8132, lo: 0x88, hi: 0x98}, + {value: 0x8132, lo: 0x9b, hi: 0xa1}, + {value: 0x8132, lo: 0xa3, hi: 0xa4}, + {value: 0x8132, lo: 0xa6, hi: 0xaa}, + // Block 0x92, offset 0x2a5 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x90, hi: 0x96}, + // Block 0x93, offset 0x2a7 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x84, hi: 0x89}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x94, offset 0x2aa + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x93, hi: 0x93}, +} + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfkcTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfkcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfkcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfkcTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfkcValues[c0] + } + i := nfkcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfkcTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfkcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfkcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfkcTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfkcValues[c0] + } + i := nfkcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// nfkcTrie. Total size: 17248 bytes (16.84 KiB). Checksum: 4fb368372b6b1b27. +type nfkcTrie struct{} + +func newNfkcTrie(i int) *nfkcTrie { + return &nfkcTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *nfkcTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 92: + return uint16(nfkcValues[n<<6+uint32(b)]) + default: + n -= 92 + return uint16(nfkcSparse.lookup(n, b)) + } +} + +// nfkcValues: 94 blocks, 6016 entries, 12032 bytes +// The third block is the zero block. +var nfkcValues = [6016]uint16{ + // Block 0x0, offset 0x0 + 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, + // Block 0x1, offset 0x40 + 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, + 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, + 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, + 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, + 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, + 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, + 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, + 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, + 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, + 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c, + 0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb, + 0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104, + 0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd, + 0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235, + 0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285, + 0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3, + 0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750, + 0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f, + 0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3, + 0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569, + // Block 0x4, offset 0x100 + 0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8, + 0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6, + 0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5, + 0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302, + 0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339, + 0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352, + 0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e, + 0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6, + 0x130: 0x308c, 0x132: 0x195d, 0x133: 0x19e7, 0x134: 0x30b4, 0x135: 0x33c0, + 0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc, + 0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8, 0x13f: 0x1bac, + // Block 0x5, offset 0x140 + 0x140: 0x1c34, 0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118, + 0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f, 0x149: 0x1c5c, + 0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c, + 0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483, + 0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d, + 0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba, + 0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796, + 0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2, + 0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528, + 0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267, + 0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0x00a7, + // Block 0x6, offset 0x180 + 0x184: 0x2dee, 0x185: 0x2df4, + 0x186: 0x2dfa, 0x187: 0x1972, 0x188: 0x1975, 0x189: 0x1a08, 0x18a: 0x1987, 0x18b: 0x198a, + 0x18c: 0x1a3e, 0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140, + 0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8, + 0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50, + 0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5, + 0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf, + 0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd, + 0x1b0: 0x33c5, 0x1b1: 0x1942, 0x1b2: 0x1945, 0x1b3: 0x19cf, 0x1b4: 0x3028, 0x1b5: 0x3334, + 0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46, + 0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316, + 0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac, + 0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479, + 0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6, + 0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5, + 0x1de: 0x305a, 0x1df: 0x3366, + 0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b, + 0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769, + 0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f, + // Block 0x8, offset 0x200 + 0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132, + 0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932, + 0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932, + 0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d, + 0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d, + 0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d, + 0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d, + 0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d, + 0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101, + 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d, + 0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132, + // Block 0x9, offset 0x240 + 0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936, + 0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132, + 0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132, + 0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132, + 0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135, + 0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132, + 0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132, + 0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132, + 0x274: 0x0170, + 0x27a: 0x42a5, + 0x27e: 0x0037, + // Block 0xa, offset 0x280 + 0x284: 0x425a, 0x285: 0x447b, + 0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625, + 0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000, + 0x295: 0xa000, 0x297: 0xa000, + 0x299: 0xa000, + 0x29f: 0xa000, 0x2a1: 0xa000, + 0x2a5: 0xa000, 0x2a9: 0xa000, + 0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9, + 0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000, + 0x2b7: 0xa000, 0x2b9: 0xa000, + 0x2bf: 0xa000, + // Block 0xb, offset 0x2c0 + 0x2c1: 0xa000, 0x2c5: 0xa000, + 0x2c9: 0xa000, 0x2ca: 0x4840, 0x2cb: 0x485e, + 0x2cc: 0x36c7, 0x2cd: 0x36df, 0x2ce: 0x4876, 0x2d0: 0x01be, 0x2d1: 0x01d0, + 0x2d2: 0x01ac, 0x2d3: 0x430c, 0x2d4: 0x4312, 0x2d5: 0x01fa, 0x2d6: 0x01e8, + 0x2f0: 0x01d6, 0x2f1: 0x01eb, 0x2f2: 0x01ee, 0x2f4: 0x0188, 0x2f5: 0x01c7, + 0x2f9: 0x01a6, + // Block 0xc, offset 0x300 + 0x300: 0x3721, 0x301: 0x372d, 0x303: 0x371b, + 0x306: 0xa000, 0x307: 0x3709, + 0x30c: 0x375d, 0x30d: 0x3745, 0x30e: 0x376f, 0x310: 0xa000, + 0x313: 0xa000, 0x315: 0xa000, 0x316: 0xa000, 0x317: 0xa000, + 0x318: 0xa000, 0x319: 0x3751, 0x31a: 0xa000, + 0x31e: 0xa000, 0x323: 0xa000, + 0x327: 0xa000, + 0x32b: 0xa000, 0x32d: 0xa000, + 0x330: 0xa000, 0x333: 0xa000, 0x335: 0xa000, + 0x336: 0xa000, 0x337: 0xa000, 0x338: 0xa000, 0x339: 0x37d5, 0x33a: 0xa000, + 0x33e: 0xa000, + // Block 0xd, offset 0x340 + 0x341: 0x3733, 0x342: 0x37b7, + 0x350: 0x370f, 0x351: 0x3793, + 0x352: 0x3715, 0x353: 0x3799, 0x356: 0x3727, 0x357: 0x37ab, + 0x358: 0xa000, 0x359: 0xa000, 0x35a: 0x3829, 0x35b: 0x382f, 0x35c: 0x3739, 0x35d: 0x37bd, + 0x35e: 0x373f, 0x35f: 0x37c3, 0x362: 0x374b, 0x363: 0x37cf, + 0x364: 0x3757, 0x365: 0x37db, 0x366: 0x3763, 0x367: 0x37e7, 0x368: 0xa000, 0x369: 0xa000, + 0x36a: 0x3835, 0x36b: 0x383b, 0x36c: 0x378d, 0x36d: 0x3811, 0x36e: 0x3769, 0x36f: 0x37ed, + 0x370: 0x3775, 0x371: 0x37f9, 0x372: 0x377b, 0x373: 0x37ff, 0x374: 0x3781, 0x375: 0x3805, + 0x378: 0x3787, 0x379: 0x380b, + // Block 0xe, offset 0x380 + 0x387: 0x1d61, + 0x391: 0x812d, + 0x392: 0x8132, 0x393: 0x8132, 0x394: 0x8132, 0x395: 0x8132, 0x396: 0x812d, 0x397: 0x8132, + 0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x812e, 0x39b: 0x812d, 0x39c: 0x8132, 0x39d: 0x8132, + 0x39e: 0x8132, 0x39f: 0x8132, 0x3a0: 0x8132, 0x3a1: 0x8132, 0x3a2: 0x812d, 0x3a3: 0x812d, + 0x3a4: 0x812d, 0x3a5: 0x812d, 0x3a6: 0x812d, 0x3a7: 0x812d, 0x3a8: 0x8132, 0x3a9: 0x8132, + 0x3aa: 0x812d, 0x3ab: 0x8132, 0x3ac: 0x8132, 0x3ad: 0x812e, 0x3ae: 0x8131, 0x3af: 0x8132, + 0x3b0: 0x8105, 0x3b1: 0x8106, 0x3b2: 0x8107, 0x3b3: 0x8108, 0x3b4: 0x8109, 0x3b5: 0x810a, + 0x3b6: 0x810b, 0x3b7: 0x810c, 0x3b8: 0x810d, 0x3b9: 0x810e, 0x3ba: 0x810e, 0x3bb: 0x810f, + 0x3bc: 0x8110, 0x3bd: 0x8111, 0x3bf: 0x8112, + // Block 0xf, offset 0x3c0 + 0x3c8: 0xa000, 0x3ca: 0xa000, 0x3cb: 0x8116, + 0x3cc: 0x8117, 0x3cd: 0x8118, 0x3ce: 0x8119, 0x3cf: 0x811a, 0x3d0: 0x811b, 0x3d1: 0x811c, + 0x3d2: 0x811d, 0x3d3: 0x9932, 0x3d4: 0x9932, 0x3d5: 0x992d, 0x3d6: 0x812d, 0x3d7: 0x8132, + 0x3d8: 0x8132, 0x3d9: 0x8132, 0x3da: 0x8132, 0x3db: 0x8132, 0x3dc: 0x812d, 0x3dd: 0x8132, + 0x3de: 0x8132, 0x3df: 0x812d, + 0x3f0: 0x811e, 0x3f5: 0x1d84, + 0x3f6: 0x2013, 0x3f7: 0x204f, 0x3f8: 0x204a, + // Block 0x10, offset 0x400 + 0x413: 0x812d, 0x414: 0x8132, 0x415: 0x8132, 0x416: 0x8132, 0x417: 0x8132, + 0x418: 0x8132, 0x419: 0x8132, 0x41a: 0x8132, 0x41b: 0x8132, 0x41c: 0x8132, 0x41d: 0x8132, + 0x41e: 0x8132, 0x41f: 0x8132, 0x420: 0x8132, 0x421: 0x8132, 0x423: 0x812d, + 0x424: 0x8132, 0x425: 0x8132, 0x426: 0x812d, 0x427: 0x8132, 0x428: 0x8132, 0x429: 0x812d, + 0x42a: 0x8132, 0x42b: 0x8132, 0x42c: 0x8132, 0x42d: 0x812d, 0x42e: 0x812d, 0x42f: 0x812d, + 0x430: 0x8116, 0x431: 0x8117, 0x432: 0x8118, 0x433: 0x8132, 0x434: 0x8132, 0x435: 0x8132, + 0x436: 0x812d, 0x437: 0x8132, 0x438: 0x8132, 0x439: 0x812d, 0x43a: 0x812d, 0x43b: 0x8132, + 0x43c: 0x8132, 0x43d: 0x8132, 0x43e: 0x8132, 0x43f: 0x8132, + // Block 0x11, offset 0x440 + 0x445: 0xa000, + 0x446: 0x2d26, 0x447: 0xa000, 0x448: 0x2d2e, 0x449: 0xa000, 0x44a: 0x2d36, 0x44b: 0xa000, + 0x44c: 0x2d3e, 0x44d: 0xa000, 0x44e: 0x2d46, 0x451: 0xa000, + 0x452: 0x2d4e, + 0x474: 0x8102, 0x475: 0x9900, + 0x47a: 0xa000, 0x47b: 0x2d56, + 0x47c: 0xa000, 0x47d: 0x2d5e, 0x47e: 0xa000, 0x47f: 0xa000, + // Block 0x12, offset 0x480 + 0x480: 0x0069, 0x481: 0x006b, 0x482: 0x006f, 0x483: 0x0083, 0x484: 0x00f5, 0x485: 0x00f8, + 0x486: 0x0413, 0x487: 0x0085, 0x488: 0x0089, 0x489: 0x008b, 0x48a: 0x0104, 0x48b: 0x0107, + 0x48c: 0x010a, 0x48d: 0x008f, 0x48f: 0x0097, 0x490: 0x009b, 0x491: 0x00e0, + 0x492: 0x009f, 0x493: 0x00fe, 0x494: 0x0417, 0x495: 0x041b, 0x496: 0x00a1, 0x497: 0x00a9, + 0x498: 0x00ab, 0x499: 0x0423, 0x49a: 0x012b, 0x49b: 0x00ad, 0x49c: 0x0427, 0x49d: 0x01be, + 0x49e: 0x01c1, 0x49f: 0x01c4, 0x4a0: 0x01fa, 0x4a1: 0x01fd, 0x4a2: 0x0093, 0x4a3: 0x00a5, + 0x4a4: 0x00ab, 0x4a5: 0x00ad, 0x4a6: 0x01be, 0x4a7: 0x01c1, 0x4a8: 0x01eb, 0x4a9: 0x01fa, + 0x4aa: 0x01fd, + 0x4b8: 0x020c, + // Block 0x13, offset 0x4c0 + 0x4db: 0x00fb, 0x4dc: 0x0087, 0x4dd: 0x0101, + 0x4de: 0x00d4, 0x4df: 0x010a, 0x4e0: 0x008d, 0x4e1: 0x010d, 0x4e2: 0x0110, 0x4e3: 0x0116, + 0x4e4: 0x011c, 0x4e5: 0x011f, 0x4e6: 0x0122, 0x4e7: 0x042b, 0x4e8: 0x016a, 0x4e9: 0x0128, + 0x4ea: 0x042f, 0x4eb: 0x016d, 0x4ec: 0x0131, 0x4ed: 0x012e, 0x4ee: 0x0134, 0x4ef: 0x0137, + 0x4f0: 0x013a, 0x4f1: 0x013d, 0x4f2: 0x0140, 0x4f3: 0x014c, 0x4f4: 0x014f, 0x4f5: 0x00ec, + 0x4f6: 0x0152, 0x4f7: 0x0155, 0x4f8: 0x041f, 0x4f9: 0x0158, 0x4fa: 0x015b, 0x4fb: 0x00b5, + 0x4fc: 0x015e, 0x4fd: 0x0161, 0x4fe: 0x0164, 0x4ff: 0x01d0, + // Block 0x14, offset 0x500 + 0x500: 0x8132, 0x501: 0x8132, 0x502: 0x812d, 0x503: 0x8132, 0x504: 0x8132, 0x505: 0x8132, + 0x506: 0x8132, 0x507: 0x8132, 0x508: 0x8132, 0x509: 0x8132, 0x50a: 0x812d, 0x50b: 0x8132, + 0x50c: 0x8132, 0x50d: 0x8135, 0x50e: 0x812a, 0x50f: 0x812d, 0x510: 0x8129, 0x511: 0x8132, + 0x512: 0x8132, 0x513: 0x8132, 0x514: 0x8132, 0x515: 0x8132, 0x516: 0x8132, 0x517: 0x8132, + 0x518: 0x8132, 0x519: 0x8132, 0x51a: 0x8132, 0x51b: 0x8132, 0x51c: 0x8132, 0x51d: 0x8132, + 0x51e: 0x8132, 0x51f: 0x8132, 0x520: 0x8132, 0x521: 0x8132, 0x522: 0x8132, 0x523: 0x8132, + 0x524: 0x8132, 0x525: 0x8132, 0x526: 0x8132, 0x527: 0x8132, 0x528: 0x8132, 0x529: 0x8132, + 0x52a: 0x8132, 0x52b: 0x8132, 0x52c: 0x8132, 0x52d: 0x8132, 0x52e: 0x8132, 0x52f: 0x8132, + 0x530: 0x8132, 0x531: 0x8132, 0x532: 0x8132, 0x533: 0x8132, 0x534: 0x8132, 0x535: 0x8132, + 0x536: 0x8133, 0x537: 0x8131, 0x538: 0x8131, 0x539: 0x812d, 0x53b: 0x8132, + 0x53c: 0x8134, 0x53d: 0x812d, 0x53e: 0x8132, 0x53f: 0x812d, + // Block 0x15, offset 0x540 + 0x540: 0x2f97, 0x541: 0x32a3, 0x542: 0x2fa1, 0x543: 0x32ad, 0x544: 0x2fa6, 0x545: 0x32b2, + 0x546: 0x2fab, 0x547: 0x32b7, 0x548: 0x38cc, 0x549: 0x3a5b, 0x54a: 0x2fc4, 0x54b: 0x32d0, + 0x54c: 0x2fce, 0x54d: 0x32da, 0x54e: 0x2fdd, 0x54f: 0x32e9, 0x550: 0x2fd3, 0x551: 0x32df, + 0x552: 0x2fd8, 0x553: 0x32e4, 0x554: 0x38ef, 0x555: 0x3a7e, 0x556: 0x38f6, 0x557: 0x3a85, + 0x558: 0x3019, 0x559: 0x3325, 0x55a: 0x301e, 0x55b: 0x332a, 0x55c: 0x3904, 0x55d: 0x3a93, + 0x55e: 0x3023, 0x55f: 0x332f, 0x560: 0x3032, 0x561: 0x333e, 0x562: 0x3050, 0x563: 0x335c, + 0x564: 0x305f, 0x565: 0x336b, 0x566: 0x3055, 0x567: 0x3361, 0x568: 0x3064, 0x569: 0x3370, + 0x56a: 0x3069, 0x56b: 0x3375, 0x56c: 0x30af, 0x56d: 0x33bb, 0x56e: 0x390b, 0x56f: 0x3a9a, + 0x570: 0x30b9, 0x571: 0x33ca, 0x572: 0x30c3, 0x573: 0x33d4, 0x574: 0x30cd, 0x575: 0x33de, + 0x576: 0x46c4, 0x577: 0x4755, 0x578: 0x3912, 0x579: 0x3aa1, 0x57a: 0x30e6, 0x57b: 0x33f7, + 0x57c: 0x30e1, 0x57d: 0x33f2, 0x57e: 0x30eb, 0x57f: 0x33fc, + // Block 0x16, offset 0x580 + 0x580: 0x30f0, 0x581: 0x3401, 0x582: 0x30f5, 0x583: 0x3406, 0x584: 0x3109, 0x585: 0x341a, + 0x586: 0x3113, 0x587: 0x3424, 0x588: 0x3122, 0x589: 0x3433, 0x58a: 0x311d, 0x58b: 0x342e, + 0x58c: 0x3935, 0x58d: 0x3ac4, 0x58e: 0x3943, 0x58f: 0x3ad2, 0x590: 0x394a, 0x591: 0x3ad9, + 0x592: 0x3951, 0x593: 0x3ae0, 0x594: 0x314f, 0x595: 0x3460, 0x596: 0x3154, 0x597: 0x3465, + 0x598: 0x315e, 0x599: 0x346f, 0x59a: 0x46f1, 0x59b: 0x4782, 0x59c: 0x3997, 0x59d: 0x3b26, + 0x59e: 0x3177, 0x59f: 0x3488, 0x5a0: 0x3181, 0x5a1: 0x3492, 0x5a2: 0x4700, 0x5a3: 0x4791, + 0x5a4: 0x399e, 0x5a5: 0x3b2d, 0x5a6: 0x39a5, 0x5a7: 0x3b34, 0x5a8: 0x39ac, 0x5a9: 0x3b3b, + 0x5aa: 0x3190, 0x5ab: 0x34a1, 0x5ac: 0x319a, 0x5ad: 0x34b0, 0x5ae: 0x31ae, 0x5af: 0x34c4, + 0x5b0: 0x31a9, 0x5b1: 0x34bf, 0x5b2: 0x31ea, 0x5b3: 0x3500, 0x5b4: 0x31f9, 0x5b5: 0x350f, + 0x5b6: 0x31f4, 0x5b7: 0x350a, 0x5b8: 0x39b3, 0x5b9: 0x3b42, 0x5ba: 0x39ba, 0x5bb: 0x3b49, + 0x5bc: 0x31fe, 0x5bd: 0x3514, 0x5be: 0x3203, 0x5bf: 0x3519, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x3208, 0x5c1: 0x351e, 0x5c2: 0x320d, 0x5c3: 0x3523, 0x5c4: 0x321c, 0x5c5: 0x3532, + 0x5c6: 0x3217, 0x5c7: 0x352d, 0x5c8: 0x3221, 0x5c9: 0x353c, 0x5ca: 0x3226, 0x5cb: 0x3541, + 0x5cc: 0x322b, 0x5cd: 0x3546, 0x5ce: 0x3249, 0x5cf: 0x3564, 0x5d0: 0x3262, 0x5d1: 0x3582, + 0x5d2: 0x3271, 0x5d3: 0x3591, 0x5d4: 0x3276, 0x5d5: 0x3596, 0x5d6: 0x337a, 0x5d7: 0x34a6, + 0x5d8: 0x3537, 0x5d9: 0x3573, 0x5da: 0x1be0, 0x5db: 0x42d7, + 0x5e0: 0x46a1, 0x5e1: 0x4732, 0x5e2: 0x2f83, 0x5e3: 0x328f, + 0x5e4: 0x3878, 0x5e5: 0x3a07, 0x5e6: 0x3871, 0x5e7: 0x3a00, 0x5e8: 0x3886, 0x5e9: 0x3a15, + 0x5ea: 0x387f, 0x5eb: 0x3a0e, 0x5ec: 0x38be, 0x5ed: 0x3a4d, 0x5ee: 0x3894, 0x5ef: 0x3a23, + 0x5f0: 0x388d, 0x5f1: 0x3a1c, 0x5f2: 0x38a2, 0x5f3: 0x3a31, 0x5f4: 0x389b, 0x5f5: 0x3a2a, + 0x5f6: 0x38c5, 0x5f7: 0x3a54, 0x5f8: 0x46b5, 0x5f9: 0x4746, 0x5fa: 0x3000, 0x5fb: 0x330c, + 0x5fc: 0x2fec, 0x5fd: 0x32f8, 0x5fe: 0x38da, 0x5ff: 0x3a69, + // Block 0x18, offset 0x600 + 0x600: 0x38d3, 0x601: 0x3a62, 0x602: 0x38e8, 0x603: 0x3a77, 0x604: 0x38e1, 0x605: 0x3a70, + 0x606: 0x38fd, 0x607: 0x3a8c, 0x608: 0x3091, 0x609: 0x339d, 0x60a: 0x30a5, 0x60b: 0x33b1, + 0x60c: 0x46e7, 0x60d: 0x4778, 0x60e: 0x3136, 0x60f: 0x3447, 0x610: 0x3920, 0x611: 0x3aaf, + 0x612: 0x3919, 0x613: 0x3aa8, 0x614: 0x392e, 0x615: 0x3abd, 0x616: 0x3927, 0x617: 0x3ab6, + 0x618: 0x3989, 0x619: 0x3b18, 0x61a: 0x396d, 0x61b: 0x3afc, 0x61c: 0x3966, 0x61d: 0x3af5, + 0x61e: 0x397b, 0x61f: 0x3b0a, 0x620: 0x3974, 0x621: 0x3b03, 0x622: 0x3982, 0x623: 0x3b11, + 0x624: 0x31e5, 0x625: 0x34fb, 0x626: 0x31c7, 0x627: 0x34dd, 0x628: 0x39e4, 0x629: 0x3b73, + 0x62a: 0x39dd, 0x62b: 0x3b6c, 0x62c: 0x39f2, 0x62d: 0x3b81, 0x62e: 0x39eb, 0x62f: 0x3b7a, + 0x630: 0x39f9, 0x631: 0x3b88, 0x632: 0x3230, 0x633: 0x354b, 0x634: 0x3258, 0x635: 0x3578, + 0x636: 0x3253, 0x637: 0x356e, 0x638: 0x323f, 0x639: 0x355a, + // Block 0x19, offset 0x640 + 0x640: 0x4804, 0x641: 0x480a, 0x642: 0x491e, 0x643: 0x4936, 0x644: 0x4926, 0x645: 0x493e, + 0x646: 0x492e, 0x647: 0x4946, 0x648: 0x47aa, 0x649: 0x47b0, 0x64a: 0x488e, 0x64b: 0x48a6, + 0x64c: 0x4896, 0x64d: 0x48ae, 0x64e: 0x489e, 0x64f: 0x48b6, 0x650: 0x4816, 0x651: 0x481c, + 0x652: 0x3db8, 0x653: 0x3dc8, 0x654: 0x3dc0, 0x655: 0x3dd0, + 0x658: 0x47b6, 0x659: 0x47bc, 0x65a: 0x3ce8, 0x65b: 0x3cf8, 0x65c: 0x3cf0, 0x65d: 0x3d00, + 0x660: 0x482e, 0x661: 0x4834, 0x662: 0x494e, 0x663: 0x4966, + 0x664: 0x4956, 0x665: 0x496e, 0x666: 0x495e, 0x667: 0x4976, 0x668: 0x47c2, 0x669: 0x47c8, + 0x66a: 0x48be, 0x66b: 0x48d6, 0x66c: 0x48c6, 0x66d: 0x48de, 0x66e: 0x48ce, 0x66f: 0x48e6, + 0x670: 0x4846, 0x671: 0x484c, 0x672: 0x3e18, 0x673: 0x3e30, 0x674: 0x3e20, 0x675: 0x3e38, + 0x676: 0x3e28, 0x677: 0x3e40, 0x678: 0x47ce, 0x679: 0x47d4, 0x67a: 0x3d18, 0x67b: 0x3d30, + 0x67c: 0x3d20, 0x67d: 0x3d38, 0x67e: 0x3d28, 0x67f: 0x3d40, + // Block 0x1a, offset 0x680 + 0x680: 0x4852, 0x681: 0x4858, 0x682: 0x3e48, 0x683: 0x3e58, 0x684: 0x3e50, 0x685: 0x3e60, + 0x688: 0x47da, 0x689: 0x47e0, 0x68a: 0x3d48, 0x68b: 0x3d58, + 0x68c: 0x3d50, 0x68d: 0x3d60, 0x690: 0x4864, 0x691: 0x486a, + 0x692: 0x3e80, 0x693: 0x3e98, 0x694: 0x3e88, 0x695: 0x3ea0, 0x696: 0x3e90, 0x697: 0x3ea8, + 0x699: 0x47e6, 0x69b: 0x3d68, 0x69d: 0x3d70, + 0x69f: 0x3d78, 0x6a0: 0x487c, 0x6a1: 0x4882, 0x6a2: 0x497e, 0x6a3: 0x4996, + 0x6a4: 0x4986, 0x6a5: 0x499e, 0x6a6: 0x498e, 0x6a7: 0x49a6, 0x6a8: 0x47ec, 0x6a9: 0x47f2, + 0x6aa: 0x48ee, 0x6ab: 0x4906, 0x6ac: 0x48f6, 0x6ad: 0x490e, 0x6ae: 0x48fe, 0x6af: 0x4916, + 0x6b0: 0x47f8, 0x6b1: 0x431e, 0x6b2: 0x3691, 0x6b3: 0x4324, 0x6b4: 0x4822, 0x6b5: 0x432a, + 0x6b6: 0x36a3, 0x6b7: 0x4330, 0x6b8: 0x36c1, 0x6b9: 0x4336, 0x6ba: 0x36d9, 0x6bb: 0x433c, + 0x6bc: 0x4870, 0x6bd: 0x4342, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x3da0, 0x6c1: 0x3da8, 0x6c2: 0x4184, 0x6c3: 0x41a2, 0x6c4: 0x418e, 0x6c5: 0x41ac, + 0x6c6: 0x4198, 0x6c7: 0x41b6, 0x6c8: 0x3cd8, 0x6c9: 0x3ce0, 0x6ca: 0x40d0, 0x6cb: 0x40ee, + 0x6cc: 0x40da, 0x6cd: 0x40f8, 0x6ce: 0x40e4, 0x6cf: 0x4102, 0x6d0: 0x3de8, 0x6d1: 0x3df0, + 0x6d2: 0x41c0, 0x6d3: 0x41de, 0x6d4: 0x41ca, 0x6d5: 0x41e8, 0x6d6: 0x41d4, 0x6d7: 0x41f2, + 0x6d8: 0x3d08, 0x6d9: 0x3d10, 0x6da: 0x410c, 0x6db: 0x412a, 0x6dc: 0x4116, 0x6dd: 0x4134, + 0x6de: 0x4120, 0x6df: 0x413e, 0x6e0: 0x3ec0, 0x6e1: 0x3ec8, 0x6e2: 0x41fc, 0x6e3: 0x421a, + 0x6e4: 0x4206, 0x6e5: 0x4224, 0x6e6: 0x4210, 0x6e7: 0x422e, 0x6e8: 0x3d80, 0x6e9: 0x3d88, + 0x6ea: 0x4148, 0x6eb: 0x4166, 0x6ec: 0x4152, 0x6ed: 0x4170, 0x6ee: 0x415c, 0x6ef: 0x417a, + 0x6f0: 0x3685, 0x6f1: 0x367f, 0x6f2: 0x3d90, 0x6f3: 0x368b, 0x6f4: 0x3d98, + 0x6f6: 0x4810, 0x6f7: 0x3db0, 0x6f8: 0x35f5, 0x6f9: 0x35ef, 0x6fa: 0x35e3, 0x6fb: 0x42ee, + 0x6fc: 0x35fb, 0x6fd: 0x4287, 0x6fe: 0x01d3, 0x6ff: 0x4287, + // Block 0x1c, offset 0x700 + 0x700: 0x42a0, 0x701: 0x4482, 0x702: 0x3dd8, 0x703: 0x369d, 0x704: 0x3de0, + 0x706: 0x483a, 0x707: 0x3df8, 0x708: 0x3601, 0x709: 0x42f4, 0x70a: 0x360d, 0x70b: 0x42fa, + 0x70c: 0x3619, 0x70d: 0x4489, 0x70e: 0x4490, 0x70f: 0x4497, 0x710: 0x36b5, 0x711: 0x36af, + 0x712: 0x3e00, 0x713: 0x44e4, 0x716: 0x36bb, 0x717: 0x3e10, + 0x718: 0x3631, 0x719: 0x362b, 0x71a: 0x361f, 0x71b: 0x4300, 0x71d: 0x449e, + 0x71e: 0x44a5, 0x71f: 0x44ac, 0x720: 0x36eb, 0x721: 0x36e5, 0x722: 0x3e68, 0x723: 0x44ec, + 0x724: 0x36cd, 0x725: 0x36d3, 0x726: 0x36f1, 0x727: 0x3e78, 0x728: 0x3661, 0x729: 0x365b, + 0x72a: 0x364f, 0x72b: 0x430c, 0x72c: 0x3649, 0x72d: 0x4474, 0x72e: 0x447b, 0x72f: 0x0081, + 0x732: 0x3eb0, 0x733: 0x36f7, 0x734: 0x3eb8, + 0x736: 0x4888, 0x737: 0x3ed0, 0x738: 0x363d, 0x739: 0x4306, 0x73a: 0x366d, 0x73b: 0x4318, + 0x73c: 0x3679, 0x73d: 0x425a, 0x73e: 0x428c, + // Block 0x1d, offset 0x740 + 0x740: 0x1bd8, 0x741: 0x1bdc, 0x742: 0x0047, 0x743: 0x1c54, 0x745: 0x1be8, + 0x746: 0x1bec, 0x747: 0x00e9, 0x749: 0x1c58, 0x74a: 0x008f, 0x74b: 0x0051, + 0x74c: 0x0051, 0x74d: 0x0051, 0x74e: 0x0091, 0x74f: 0x00da, 0x750: 0x0053, 0x751: 0x0053, + 0x752: 0x0059, 0x753: 0x0099, 0x755: 0x005d, 0x756: 0x198d, + 0x759: 0x0061, 0x75a: 0x0063, 0x75b: 0x0065, 0x75c: 0x0065, 0x75d: 0x0065, + 0x760: 0x199f, 0x761: 0x1bc8, 0x762: 0x19a8, + 0x764: 0x0075, 0x766: 0x01b8, 0x768: 0x0075, + 0x76a: 0x0057, 0x76b: 0x42d2, 0x76c: 0x0045, 0x76d: 0x0047, 0x76f: 0x008b, + 0x770: 0x004b, 0x771: 0x004d, 0x773: 0x005b, 0x774: 0x009f, 0x775: 0x0215, + 0x776: 0x0218, 0x777: 0x021b, 0x778: 0x021e, 0x779: 0x0093, 0x77b: 0x1b98, + 0x77c: 0x01e8, 0x77d: 0x01c1, 0x77e: 0x0179, 0x77f: 0x01a0, + // Block 0x1e, offset 0x780 + 0x780: 0x0463, 0x785: 0x0049, + 0x786: 0x0089, 0x787: 0x008b, 0x788: 0x0093, 0x789: 0x0095, + 0x790: 0x222e, 0x791: 0x223a, + 0x792: 0x22ee, 0x793: 0x2216, 0x794: 0x229a, 0x795: 0x2222, 0x796: 0x22a0, 0x797: 0x22b8, + 0x798: 0x22c4, 0x799: 0x2228, 0x79a: 0x22ca, 0x79b: 0x2234, 0x79c: 0x22be, 0x79d: 0x22d0, + 0x79e: 0x22d6, 0x79f: 0x1cbc, 0x7a0: 0x0053, 0x7a1: 0x195a, 0x7a2: 0x1ba4, 0x7a3: 0x1963, + 0x7a4: 0x006d, 0x7a5: 0x19ab, 0x7a6: 0x1bd0, 0x7a7: 0x1d48, 0x7a8: 0x1966, 0x7a9: 0x0071, + 0x7aa: 0x19b7, 0x7ab: 0x1bd4, 0x7ac: 0x0059, 0x7ad: 0x0047, 0x7ae: 0x0049, 0x7af: 0x005b, + 0x7b0: 0x0093, 0x7b1: 0x19e4, 0x7b2: 0x1c18, 0x7b3: 0x19ed, 0x7b4: 0x00ad, 0x7b5: 0x1a62, + 0x7b6: 0x1c4c, 0x7b7: 0x1d5c, 0x7b8: 0x19f0, 0x7b9: 0x00b1, 0x7ba: 0x1a65, 0x7bb: 0x1c50, + 0x7bc: 0x0099, 0x7bd: 0x0087, 0x7be: 0x0089, 0x7bf: 0x009b, + // Block 0x1f, offset 0x7c0 + 0x7c1: 0x3c06, 0x7c3: 0xa000, 0x7c4: 0x3c0d, 0x7c5: 0xa000, + 0x7c7: 0x3c14, 0x7c8: 0xa000, 0x7c9: 0x3c1b, + 0x7cd: 0xa000, + 0x7e0: 0x2f65, 0x7e1: 0xa000, 0x7e2: 0x3c29, + 0x7e4: 0xa000, 0x7e5: 0xa000, + 0x7ed: 0x3c22, 0x7ee: 0x2f60, 0x7ef: 0x2f6a, + 0x7f0: 0x3c30, 0x7f1: 0x3c37, 0x7f2: 0xa000, 0x7f3: 0xa000, 0x7f4: 0x3c3e, 0x7f5: 0x3c45, + 0x7f6: 0xa000, 0x7f7: 0xa000, 0x7f8: 0x3c4c, 0x7f9: 0x3c53, 0x7fa: 0xa000, 0x7fb: 0xa000, + 0x7fc: 0xa000, 0x7fd: 0xa000, + // Block 0x20, offset 0x800 + 0x800: 0x3c5a, 0x801: 0x3c61, 0x802: 0xa000, 0x803: 0xa000, 0x804: 0x3c76, 0x805: 0x3c7d, + 0x806: 0xa000, 0x807: 0xa000, 0x808: 0x3c84, 0x809: 0x3c8b, + 0x811: 0xa000, + 0x812: 0xa000, + 0x822: 0xa000, + 0x828: 0xa000, 0x829: 0xa000, + 0x82b: 0xa000, 0x82c: 0x3ca0, 0x82d: 0x3ca7, 0x82e: 0x3cae, 0x82f: 0x3cb5, + 0x832: 0xa000, 0x833: 0xa000, 0x834: 0xa000, 0x835: 0xa000, + // Block 0x21, offset 0x840 + 0x860: 0x0023, 0x861: 0x0025, 0x862: 0x0027, 0x863: 0x0029, + 0x864: 0x002b, 0x865: 0x002d, 0x866: 0x002f, 0x867: 0x0031, 0x868: 0x0033, 0x869: 0x1882, + 0x86a: 0x1885, 0x86b: 0x1888, 0x86c: 0x188b, 0x86d: 0x188e, 0x86e: 0x1891, 0x86f: 0x1894, + 0x870: 0x1897, 0x871: 0x189a, 0x872: 0x189d, 0x873: 0x18a6, 0x874: 0x1a68, 0x875: 0x1a6c, + 0x876: 0x1a70, 0x877: 0x1a74, 0x878: 0x1a78, 0x879: 0x1a7c, 0x87a: 0x1a80, 0x87b: 0x1a84, + 0x87c: 0x1a88, 0x87d: 0x1c80, 0x87e: 0x1c85, 0x87f: 0x1c8a, + // Block 0x22, offset 0x880 + 0x880: 0x1c8f, 0x881: 0x1c94, 0x882: 0x1c99, 0x883: 0x1c9e, 0x884: 0x1ca3, 0x885: 0x1ca8, + 0x886: 0x1cad, 0x887: 0x1cb2, 0x888: 0x187f, 0x889: 0x18a3, 0x88a: 0x18c7, 0x88b: 0x18eb, + 0x88c: 0x190f, 0x88d: 0x1918, 0x88e: 0x191e, 0x88f: 0x1924, 0x890: 0x192a, 0x891: 0x1b60, + 0x892: 0x1b64, 0x893: 0x1b68, 0x894: 0x1b6c, 0x895: 0x1b70, 0x896: 0x1b74, 0x897: 0x1b78, + 0x898: 0x1b7c, 0x899: 0x1b80, 0x89a: 0x1b84, 0x89b: 0x1b88, 0x89c: 0x1af4, 0x89d: 0x1af8, + 0x89e: 0x1afc, 0x89f: 0x1b00, 0x8a0: 0x1b04, 0x8a1: 0x1b08, 0x8a2: 0x1b0c, 0x8a3: 0x1b10, + 0x8a4: 0x1b14, 0x8a5: 0x1b18, 0x8a6: 0x1b1c, 0x8a7: 0x1b20, 0x8a8: 0x1b24, 0x8a9: 0x1b28, + 0x8aa: 0x1b2c, 0x8ab: 0x1b30, 0x8ac: 0x1b34, 0x8ad: 0x1b38, 0x8ae: 0x1b3c, 0x8af: 0x1b40, + 0x8b0: 0x1b44, 0x8b1: 0x1b48, 0x8b2: 0x1b4c, 0x8b3: 0x1b50, 0x8b4: 0x1b54, 0x8b5: 0x1b58, + 0x8b6: 0x0043, 0x8b7: 0x0045, 0x8b8: 0x0047, 0x8b9: 0x0049, 0x8ba: 0x004b, 0x8bb: 0x004d, + 0x8bc: 0x004f, 0x8bd: 0x0051, 0x8be: 0x0053, 0x8bf: 0x0055, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x06bf, 0x8c1: 0x06e3, 0x8c2: 0x06ef, 0x8c3: 0x06ff, 0x8c4: 0x0707, 0x8c5: 0x0713, + 0x8c6: 0x071b, 0x8c7: 0x0723, 0x8c8: 0x072f, 0x8c9: 0x0783, 0x8ca: 0x079b, 0x8cb: 0x07ab, + 0x8cc: 0x07bb, 0x8cd: 0x07cb, 0x8ce: 0x07db, 0x8cf: 0x07fb, 0x8d0: 0x07ff, 0x8d1: 0x0803, + 0x8d2: 0x0837, 0x8d3: 0x085f, 0x8d4: 0x086f, 0x8d5: 0x0877, 0x8d6: 0x087b, 0x8d7: 0x0887, + 0x8d8: 0x08a3, 0x8d9: 0x08a7, 0x8da: 0x08bf, 0x8db: 0x08c3, 0x8dc: 0x08cb, 0x8dd: 0x08db, + 0x8de: 0x0977, 0x8df: 0x098b, 0x8e0: 0x09cb, 0x8e1: 0x09df, 0x8e2: 0x09e7, 0x8e3: 0x09eb, + 0x8e4: 0x09fb, 0x8e5: 0x0a17, 0x8e6: 0x0a43, 0x8e7: 0x0a4f, 0x8e8: 0x0a6f, 0x8e9: 0x0a7b, + 0x8ea: 0x0a7f, 0x8eb: 0x0a83, 0x8ec: 0x0a9b, 0x8ed: 0x0a9f, 0x8ee: 0x0acb, 0x8ef: 0x0ad7, + 0x8f0: 0x0adf, 0x8f1: 0x0ae7, 0x8f2: 0x0af7, 0x8f3: 0x0aff, 0x8f4: 0x0b07, 0x8f5: 0x0b33, + 0x8f6: 0x0b37, 0x8f7: 0x0b3f, 0x8f8: 0x0b43, 0x8f9: 0x0b4b, 0x8fa: 0x0b53, 0x8fb: 0x0b63, + 0x8fc: 0x0b7f, 0x8fd: 0x0bf7, 0x8fe: 0x0c0b, 0x8ff: 0x0c0f, + // Block 0x24, offset 0x900 + 0x900: 0x0c8f, 0x901: 0x0c93, 0x902: 0x0ca7, 0x903: 0x0cab, 0x904: 0x0cb3, 0x905: 0x0cbb, + 0x906: 0x0cc3, 0x907: 0x0ccf, 0x908: 0x0cf7, 0x909: 0x0d07, 0x90a: 0x0d1b, 0x90b: 0x0d8b, + 0x90c: 0x0d97, 0x90d: 0x0da7, 0x90e: 0x0db3, 0x90f: 0x0dbf, 0x910: 0x0dc7, 0x911: 0x0dcb, + 0x912: 0x0dcf, 0x913: 0x0dd3, 0x914: 0x0dd7, 0x915: 0x0e8f, 0x916: 0x0ed7, 0x917: 0x0ee3, + 0x918: 0x0ee7, 0x919: 0x0eeb, 0x91a: 0x0eef, 0x91b: 0x0ef7, 0x91c: 0x0efb, 0x91d: 0x0f0f, + 0x91e: 0x0f2b, 0x91f: 0x0f33, 0x920: 0x0f73, 0x921: 0x0f77, 0x922: 0x0f7f, 0x923: 0x0f83, + 0x924: 0x0f8b, 0x925: 0x0f8f, 0x926: 0x0fb3, 0x927: 0x0fb7, 0x928: 0x0fd3, 0x929: 0x0fd7, + 0x92a: 0x0fdb, 0x92b: 0x0fdf, 0x92c: 0x0ff3, 0x92d: 0x1017, 0x92e: 0x101b, 0x92f: 0x101f, + 0x930: 0x1043, 0x931: 0x1083, 0x932: 0x1087, 0x933: 0x10a7, 0x934: 0x10b7, 0x935: 0x10bf, + 0x936: 0x10df, 0x937: 0x1103, 0x938: 0x1147, 0x939: 0x114f, 0x93a: 0x1163, 0x93b: 0x116f, + 0x93c: 0x1177, 0x93d: 0x117f, 0x93e: 0x1183, 0x93f: 0x1187, + // Block 0x25, offset 0x940 + 0x940: 0x119f, 0x941: 0x11a3, 0x942: 0x11bf, 0x943: 0x11c7, 0x944: 0x11cf, 0x945: 0x11d3, + 0x946: 0x11df, 0x947: 0x11e7, 0x948: 0x11eb, 0x949: 0x11ef, 0x94a: 0x11f7, 0x94b: 0x11fb, + 0x94c: 0x129b, 0x94d: 0x12af, 0x94e: 0x12e3, 0x94f: 0x12e7, 0x950: 0x12ef, 0x951: 0x131b, + 0x952: 0x1323, 0x953: 0x132b, 0x954: 0x1333, 0x955: 0x136f, 0x956: 0x1373, 0x957: 0x137b, + 0x958: 0x137f, 0x959: 0x1383, 0x95a: 0x13af, 0x95b: 0x13b3, 0x95c: 0x13bb, 0x95d: 0x13cf, + 0x95e: 0x13d3, 0x95f: 0x13ef, 0x960: 0x13f7, 0x961: 0x13fb, 0x962: 0x141f, 0x963: 0x143f, + 0x964: 0x1453, 0x965: 0x1457, 0x966: 0x145f, 0x967: 0x148b, 0x968: 0x148f, 0x969: 0x149f, + 0x96a: 0x14c3, 0x96b: 0x14cf, 0x96c: 0x14df, 0x96d: 0x14f7, 0x96e: 0x14ff, 0x96f: 0x1503, + 0x970: 0x1507, 0x971: 0x150b, 0x972: 0x1517, 0x973: 0x151b, 0x974: 0x1523, 0x975: 0x153f, + 0x976: 0x1543, 0x977: 0x1547, 0x978: 0x155f, 0x979: 0x1563, 0x97a: 0x156b, 0x97b: 0x157f, + 0x97c: 0x1583, 0x97d: 0x1587, 0x97e: 0x158f, 0x97f: 0x1593, + // Block 0x26, offset 0x980 + 0x986: 0xa000, 0x98b: 0xa000, + 0x98c: 0x3f08, 0x98d: 0xa000, 0x98e: 0x3f10, 0x98f: 0xa000, 0x990: 0x3f18, 0x991: 0xa000, + 0x992: 0x3f20, 0x993: 0xa000, 0x994: 0x3f28, 0x995: 0xa000, 0x996: 0x3f30, 0x997: 0xa000, + 0x998: 0x3f38, 0x999: 0xa000, 0x99a: 0x3f40, 0x99b: 0xa000, 0x99c: 0x3f48, 0x99d: 0xa000, + 0x99e: 0x3f50, 0x99f: 0xa000, 0x9a0: 0x3f58, 0x9a1: 0xa000, 0x9a2: 0x3f60, + 0x9a4: 0xa000, 0x9a5: 0x3f68, 0x9a6: 0xa000, 0x9a7: 0x3f70, 0x9a8: 0xa000, 0x9a9: 0x3f78, + 0x9af: 0xa000, + 0x9b0: 0x3f80, 0x9b1: 0x3f88, 0x9b2: 0xa000, 0x9b3: 0x3f90, 0x9b4: 0x3f98, 0x9b5: 0xa000, + 0x9b6: 0x3fa0, 0x9b7: 0x3fa8, 0x9b8: 0xa000, 0x9b9: 0x3fb0, 0x9ba: 0x3fb8, 0x9bb: 0xa000, + 0x9bc: 0x3fc0, 0x9bd: 0x3fc8, + // Block 0x27, offset 0x9c0 + 0x9d4: 0x3f00, + 0x9d9: 0x9903, 0x9da: 0x9903, 0x9db: 0x42dc, 0x9dc: 0x42e2, 0x9dd: 0xa000, + 0x9de: 0x3fd0, 0x9df: 0x26b4, + 0x9e6: 0xa000, + 0x9eb: 0xa000, 0x9ec: 0x3fe0, 0x9ed: 0xa000, 0x9ee: 0x3fe8, 0x9ef: 0xa000, + 0x9f0: 0x3ff0, 0x9f1: 0xa000, 0x9f2: 0x3ff8, 0x9f3: 0xa000, 0x9f4: 0x4000, 0x9f5: 0xa000, + 0x9f6: 0x4008, 0x9f7: 0xa000, 0x9f8: 0x4010, 0x9f9: 0xa000, 0x9fa: 0x4018, 0x9fb: 0xa000, + 0x9fc: 0x4020, 0x9fd: 0xa000, 0x9fe: 0x4028, 0x9ff: 0xa000, + // Block 0x28, offset 0xa00 + 0xa00: 0x4030, 0xa01: 0xa000, 0xa02: 0x4038, 0xa04: 0xa000, 0xa05: 0x4040, + 0xa06: 0xa000, 0xa07: 0x4048, 0xa08: 0xa000, 0xa09: 0x4050, + 0xa0f: 0xa000, 0xa10: 0x4058, 0xa11: 0x4060, + 0xa12: 0xa000, 0xa13: 0x4068, 0xa14: 0x4070, 0xa15: 0xa000, 0xa16: 0x4078, 0xa17: 0x4080, + 0xa18: 0xa000, 0xa19: 0x4088, 0xa1a: 0x4090, 0xa1b: 0xa000, 0xa1c: 0x4098, 0xa1d: 0x40a0, + 0xa2f: 0xa000, + 0xa30: 0xa000, 0xa31: 0xa000, 0xa32: 0xa000, 0xa34: 0x3fd8, + 0xa37: 0x40a8, 0xa38: 0x40b0, 0xa39: 0x40b8, 0xa3a: 0x40c0, + 0xa3d: 0xa000, 0xa3e: 0x40c8, 0xa3f: 0x26c9, + // Block 0x29, offset 0xa40 + 0xa40: 0x0367, 0xa41: 0x032b, 0xa42: 0x032f, 0xa43: 0x0333, 0xa44: 0x037b, 0xa45: 0x0337, + 0xa46: 0x033b, 0xa47: 0x033f, 0xa48: 0x0343, 0xa49: 0x0347, 0xa4a: 0x034b, 0xa4b: 0x034f, + 0xa4c: 0x0353, 0xa4d: 0x0357, 0xa4e: 0x035b, 0xa4f: 0x49bd, 0xa50: 0x49c3, 0xa51: 0x49c9, + 0xa52: 0x49cf, 0xa53: 0x49d5, 0xa54: 0x49db, 0xa55: 0x49e1, 0xa56: 0x49e7, 0xa57: 0x49ed, + 0xa58: 0x49f3, 0xa59: 0x49f9, 0xa5a: 0x49ff, 0xa5b: 0x4a05, 0xa5c: 0x4a0b, 0xa5d: 0x4a11, + 0xa5e: 0x4a17, 0xa5f: 0x4a1d, 0xa60: 0x4a23, 0xa61: 0x4a29, 0xa62: 0x4a2f, 0xa63: 0x4a35, + 0xa64: 0x03c3, 0xa65: 0x035f, 0xa66: 0x0363, 0xa67: 0x03e7, 0xa68: 0x03eb, 0xa69: 0x03ef, + 0xa6a: 0x03f3, 0xa6b: 0x03f7, 0xa6c: 0x03fb, 0xa6d: 0x03ff, 0xa6e: 0x036b, 0xa6f: 0x0403, + 0xa70: 0x0407, 0xa71: 0x036f, 0xa72: 0x0373, 0xa73: 0x0377, 0xa74: 0x037f, 0xa75: 0x0383, + 0xa76: 0x0387, 0xa77: 0x038b, 0xa78: 0x038f, 0xa79: 0x0393, 0xa7a: 0x0397, 0xa7b: 0x039b, + 0xa7c: 0x039f, 0xa7d: 0x03a3, 0xa7e: 0x03a7, 0xa7f: 0x03ab, + // Block 0x2a, offset 0xa80 + 0xa80: 0x03af, 0xa81: 0x03b3, 0xa82: 0x040b, 0xa83: 0x040f, 0xa84: 0x03b7, 0xa85: 0x03bb, + 0xa86: 0x03bf, 0xa87: 0x03c7, 0xa88: 0x03cb, 0xa89: 0x03cf, 0xa8a: 0x03d3, 0xa8b: 0x03d7, + 0xa8c: 0x03db, 0xa8d: 0x03df, 0xa8e: 0x03e3, + 0xa92: 0x06bf, 0xa93: 0x071b, 0xa94: 0x06cb, 0xa95: 0x097b, 0xa96: 0x06cf, 0xa97: 0x06e7, + 0xa98: 0x06d3, 0xa99: 0x0f93, 0xa9a: 0x0707, 0xa9b: 0x06db, 0xa9c: 0x06c3, 0xa9d: 0x09ff, + 0xa9e: 0x098f, 0xa9f: 0x072f, + // Block 0x2b, offset 0xac0 + 0xac0: 0x2054, 0xac1: 0x205a, 0xac2: 0x2060, 0xac3: 0x2066, 0xac4: 0x206c, 0xac5: 0x2072, + 0xac6: 0x2078, 0xac7: 0x207e, 0xac8: 0x2084, 0xac9: 0x208a, 0xaca: 0x2090, 0xacb: 0x2096, + 0xacc: 0x209c, 0xacd: 0x20a2, 0xace: 0x2726, 0xacf: 0x272f, 0xad0: 0x2738, 0xad1: 0x2741, + 0xad2: 0x274a, 0xad3: 0x2753, 0xad4: 0x275c, 0xad5: 0x2765, 0xad6: 0x276e, 0xad7: 0x2780, + 0xad8: 0x2789, 0xad9: 0x2792, 0xada: 0x279b, 0xadb: 0x27a4, 0xadc: 0x2777, 0xadd: 0x2bac, + 0xade: 0x2aed, 0xae0: 0x20a8, 0xae1: 0x20c0, 0xae2: 0x20b4, 0xae3: 0x2108, + 0xae4: 0x20c6, 0xae5: 0x20e4, 0xae6: 0x20ae, 0xae7: 0x20de, 0xae8: 0x20ba, 0xae9: 0x20f0, + 0xaea: 0x2120, 0xaeb: 0x213e, 0xaec: 0x2138, 0xaed: 0x212c, 0xaee: 0x217a, 0xaef: 0x210e, + 0xaf0: 0x211a, 0xaf1: 0x2132, 0xaf2: 0x2126, 0xaf3: 0x2150, 0xaf4: 0x20fc, 0xaf5: 0x2144, + 0xaf6: 0x216e, 0xaf7: 0x2156, 0xaf8: 0x20ea, 0xaf9: 0x20cc, 0xafa: 0x2102, 0xafb: 0x2114, + 0xafc: 0x214a, 0xafd: 0x20d2, 0xafe: 0x2174, 0xaff: 0x20f6, + // Block 0x2c, offset 0xb00 + 0xb00: 0x215c, 0xb01: 0x20d8, 0xb02: 0x2162, 0xb03: 0x2168, 0xb04: 0x092f, 0xb05: 0x0b03, + 0xb06: 0x0ca7, 0xb07: 0x10c7, + 0xb10: 0x1bc4, 0xb11: 0x18a9, + 0xb12: 0x18ac, 0xb13: 0x18af, 0xb14: 0x18b2, 0xb15: 0x18b5, 0xb16: 0x18b8, 0xb17: 0x18bb, + 0xb18: 0x18be, 0xb19: 0x18c1, 0xb1a: 0x18ca, 0xb1b: 0x18cd, 0xb1c: 0x18d0, 0xb1d: 0x18d3, + 0xb1e: 0x18d6, 0xb1f: 0x18d9, 0xb20: 0x0313, 0xb21: 0x031b, 0xb22: 0x031f, 0xb23: 0x0327, + 0xb24: 0x032b, 0xb25: 0x032f, 0xb26: 0x0337, 0xb27: 0x033f, 0xb28: 0x0343, 0xb29: 0x034b, + 0xb2a: 0x034f, 0xb2b: 0x0353, 0xb2c: 0x0357, 0xb2d: 0x035b, 0xb2e: 0x2e18, 0xb2f: 0x2e20, + 0xb30: 0x2e28, 0xb31: 0x2e30, 0xb32: 0x2e38, 0xb33: 0x2e40, 0xb34: 0x2e48, 0xb35: 0x2e50, + 0xb36: 0x2e60, 0xb37: 0x2e68, 0xb38: 0x2e70, 0xb39: 0x2e78, 0xb3a: 0x2e80, 0xb3b: 0x2e88, + 0xb3c: 0x2ed3, 0xb3d: 0x2e9b, 0xb3e: 0x2e58, + // Block 0x2d, offset 0xb40 + 0xb40: 0x06bf, 0xb41: 0x071b, 0xb42: 0x06cb, 0xb43: 0x097b, 0xb44: 0x071f, 0xb45: 0x07af, + 0xb46: 0x06c7, 0xb47: 0x07ab, 0xb48: 0x070b, 0xb49: 0x0887, 0xb4a: 0x0d07, 0xb4b: 0x0e8f, + 0xb4c: 0x0dd7, 0xb4d: 0x0d1b, 0xb4e: 0x145f, 0xb4f: 0x098b, 0xb50: 0x0ccf, 0xb51: 0x0d4b, + 0xb52: 0x0d0b, 0xb53: 0x104b, 0xb54: 0x08fb, 0xb55: 0x0f03, 0xb56: 0x1387, 0xb57: 0x105f, + 0xb58: 0x0843, 0xb59: 0x108f, 0xb5a: 0x0f9b, 0xb5b: 0x0a17, 0xb5c: 0x140f, 0xb5d: 0x077f, + 0xb5e: 0x08ab, 0xb5f: 0x0df7, 0xb60: 0x1527, 0xb61: 0x0743, 0xb62: 0x07d3, 0xb63: 0x0d9b, + 0xb64: 0x06cf, 0xb65: 0x06e7, 0xb66: 0x06d3, 0xb67: 0x0adb, 0xb68: 0x08ef, 0xb69: 0x087f, + 0xb6a: 0x0a57, 0xb6b: 0x0a4b, 0xb6c: 0x0feb, 0xb6d: 0x073f, 0xb6e: 0x139b, 0xb6f: 0x089b, + 0xb70: 0x09f3, 0xb71: 0x18dc, 0xb72: 0x18df, 0xb73: 0x18e2, 0xb74: 0x18e5, 0xb75: 0x18ee, + 0xb76: 0x18f1, 0xb77: 0x18f4, 0xb78: 0x18f7, 0xb79: 0x18fa, 0xb7a: 0x18fd, 0xb7b: 0x1900, + 0xb7c: 0x1903, 0xb7d: 0x1906, 0xb7e: 0x1909, 0xb7f: 0x1912, + // Block 0x2e, offset 0xb80 + 0xb80: 0x1cc6, 0xb81: 0x1cd5, 0xb82: 0x1ce4, 0xb83: 0x1cf3, 0xb84: 0x1d02, 0xb85: 0x1d11, + 0xb86: 0x1d20, 0xb87: 0x1d2f, 0xb88: 0x1d3e, 0xb89: 0x218c, 0xb8a: 0x219e, 0xb8b: 0x21b0, + 0xb8c: 0x1954, 0xb8d: 0x1c04, 0xb8e: 0x19d2, 0xb8f: 0x1ba8, 0xb90: 0x04cb, 0xb91: 0x04d3, + 0xb92: 0x04db, 0xb93: 0x04e3, 0xb94: 0x04eb, 0xb95: 0x04ef, 0xb96: 0x04f3, 0xb97: 0x04f7, + 0xb98: 0x04fb, 0xb99: 0x04ff, 0xb9a: 0x0503, 0xb9b: 0x0507, 0xb9c: 0x050b, 0xb9d: 0x050f, + 0xb9e: 0x0513, 0xb9f: 0x0517, 0xba0: 0x051b, 0xba1: 0x0523, 0xba2: 0x0527, 0xba3: 0x052b, + 0xba4: 0x052f, 0xba5: 0x0533, 0xba6: 0x0537, 0xba7: 0x053b, 0xba8: 0x053f, 0xba9: 0x0543, + 0xbaa: 0x0547, 0xbab: 0x054b, 0xbac: 0x054f, 0xbad: 0x0553, 0xbae: 0x0557, 0xbaf: 0x055b, + 0xbb0: 0x055f, 0xbb1: 0x0563, 0xbb2: 0x0567, 0xbb3: 0x056f, 0xbb4: 0x0577, 0xbb5: 0x057f, + 0xbb6: 0x0583, 0xbb7: 0x0587, 0xbb8: 0x058b, 0xbb9: 0x058f, 0xbba: 0x0593, 0xbbb: 0x0597, + 0xbbc: 0x059b, 0xbbd: 0x059f, 0xbbe: 0x05a3, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x2b0c, 0xbc1: 0x29a8, 0xbc2: 0x2b1c, 0xbc3: 0x2880, 0xbc4: 0x2ee4, 0xbc5: 0x288a, + 0xbc6: 0x2894, 0xbc7: 0x2f28, 0xbc8: 0x29b5, 0xbc9: 0x289e, 0xbca: 0x28a8, 0xbcb: 0x28b2, + 0xbcc: 0x29dc, 0xbcd: 0x29e9, 0xbce: 0x29c2, 0xbcf: 0x29cf, 0xbd0: 0x2ea9, 0xbd1: 0x29f6, + 0xbd2: 0x2a03, 0xbd3: 0x2bbe, 0xbd4: 0x26bb, 0xbd5: 0x2bd1, 0xbd6: 0x2be4, 0xbd7: 0x2b2c, + 0xbd8: 0x2a10, 0xbd9: 0x2bf7, 0xbda: 0x2c0a, 0xbdb: 0x2a1d, 0xbdc: 0x28bc, 0xbdd: 0x28c6, + 0xbde: 0x2eb7, 0xbdf: 0x2a2a, 0xbe0: 0x2b3c, 0xbe1: 0x2ef5, 0xbe2: 0x28d0, 0xbe3: 0x28da, + 0xbe4: 0x2a37, 0xbe5: 0x28e4, 0xbe6: 0x28ee, 0xbe7: 0x26d0, 0xbe8: 0x26d7, 0xbe9: 0x28f8, + 0xbea: 0x2902, 0xbeb: 0x2c1d, 0xbec: 0x2a44, 0xbed: 0x2b4c, 0xbee: 0x2c30, 0xbef: 0x2a51, + 0xbf0: 0x2916, 0xbf1: 0x290c, 0xbf2: 0x2f3c, 0xbf3: 0x2a5e, 0xbf4: 0x2c43, 0xbf5: 0x2920, + 0xbf6: 0x2b5c, 0xbf7: 0x292a, 0xbf8: 0x2a78, 0xbf9: 0x2934, 0xbfa: 0x2a85, 0xbfb: 0x2f06, + 0xbfc: 0x2a6b, 0xbfd: 0x2b6c, 0xbfe: 0x2a92, 0xbff: 0x26de, + // Block 0x30, offset 0xc00 + 0xc00: 0x2f17, 0xc01: 0x293e, 0xc02: 0x2948, 0xc03: 0x2a9f, 0xc04: 0x2952, 0xc05: 0x295c, + 0xc06: 0x2966, 0xc07: 0x2b7c, 0xc08: 0x2aac, 0xc09: 0x26e5, 0xc0a: 0x2c56, 0xc0b: 0x2e90, + 0xc0c: 0x2b8c, 0xc0d: 0x2ab9, 0xc0e: 0x2ec5, 0xc0f: 0x2970, 0xc10: 0x297a, 0xc11: 0x2ac6, + 0xc12: 0x26ec, 0xc13: 0x2ad3, 0xc14: 0x2b9c, 0xc15: 0x26f3, 0xc16: 0x2c69, 0xc17: 0x2984, + 0xc18: 0x1cb7, 0xc19: 0x1ccb, 0xc1a: 0x1cda, 0xc1b: 0x1ce9, 0xc1c: 0x1cf8, 0xc1d: 0x1d07, + 0xc1e: 0x1d16, 0xc1f: 0x1d25, 0xc20: 0x1d34, 0xc21: 0x1d43, 0xc22: 0x2192, 0xc23: 0x21a4, + 0xc24: 0x21b6, 0xc25: 0x21c2, 0xc26: 0x21ce, 0xc27: 0x21da, 0xc28: 0x21e6, 0xc29: 0x21f2, + 0xc2a: 0x21fe, 0xc2b: 0x220a, 0xc2c: 0x2246, 0xc2d: 0x2252, 0xc2e: 0x225e, 0xc2f: 0x226a, + 0xc30: 0x2276, 0xc31: 0x1c14, 0xc32: 0x19c6, 0xc33: 0x1936, 0xc34: 0x1be4, 0xc35: 0x1a47, + 0xc36: 0x1a56, 0xc37: 0x19cc, 0xc38: 0x1bfc, 0xc39: 0x1c00, 0xc3a: 0x1960, 0xc3b: 0x2701, + 0xc3c: 0x270f, 0xc3d: 0x26fa, 0xc3e: 0x2708, 0xc3f: 0x2ae0, + // Block 0x31, offset 0xc40 + 0xc40: 0x1a4a, 0xc41: 0x1a32, 0xc42: 0x1c60, 0xc43: 0x1a1a, 0xc44: 0x19f3, 0xc45: 0x1969, + 0xc46: 0x1978, 0xc47: 0x1948, 0xc48: 0x1bf0, 0xc49: 0x1d52, 0xc4a: 0x1a4d, 0xc4b: 0x1a35, + 0xc4c: 0x1c64, 0xc4d: 0x1c70, 0xc4e: 0x1a26, 0xc4f: 0x19fc, 0xc50: 0x1957, 0xc51: 0x1c1c, + 0xc52: 0x1bb0, 0xc53: 0x1b9c, 0xc54: 0x1bcc, 0xc55: 0x1c74, 0xc56: 0x1a29, 0xc57: 0x19c9, + 0xc58: 0x19ff, 0xc59: 0x19de, 0xc5a: 0x1a41, 0xc5b: 0x1c78, 0xc5c: 0x1a2c, 0xc5d: 0x19c0, + 0xc5e: 0x1a02, 0xc5f: 0x1c3c, 0xc60: 0x1bf4, 0xc61: 0x1a14, 0xc62: 0x1c24, 0xc63: 0x1c40, + 0xc64: 0x1bf8, 0xc65: 0x1a17, 0xc66: 0x1c28, 0xc67: 0x22e8, 0xc68: 0x22fc, 0xc69: 0x1996, + 0xc6a: 0x1c20, 0xc6b: 0x1bb4, 0xc6c: 0x1ba0, 0xc6d: 0x1c48, 0xc6e: 0x2716, 0xc6f: 0x27ad, + 0xc70: 0x1a59, 0xc71: 0x1a44, 0xc72: 0x1c7c, 0xc73: 0x1a2f, 0xc74: 0x1a50, 0xc75: 0x1a38, + 0xc76: 0x1c68, 0xc77: 0x1a1d, 0xc78: 0x19f6, 0xc79: 0x1981, 0xc7a: 0x1a53, 0xc7b: 0x1a3b, + 0xc7c: 0x1c6c, 0xc7d: 0x1a20, 0xc7e: 0x19f9, 0xc7f: 0x1984, + // Block 0x32, offset 0xc80 + 0xc80: 0x1c2c, 0xc81: 0x1bb8, 0xc82: 0x1d4d, 0xc83: 0x1939, 0xc84: 0x19ba, 0xc85: 0x19bd, + 0xc86: 0x22f5, 0xc87: 0x1b94, 0xc88: 0x19c3, 0xc89: 0x194b, 0xc8a: 0x19e1, 0xc8b: 0x194e, + 0xc8c: 0x19ea, 0xc8d: 0x196c, 0xc8e: 0x196f, 0xc8f: 0x1a05, 0xc90: 0x1a0b, 0xc91: 0x1a0e, + 0xc92: 0x1c30, 0xc93: 0x1a11, 0xc94: 0x1a23, 0xc95: 0x1c38, 0xc96: 0x1c44, 0xc97: 0x1990, + 0xc98: 0x1d57, 0xc99: 0x1bbc, 0xc9a: 0x1993, 0xc9b: 0x1a5c, 0xc9c: 0x19a5, 0xc9d: 0x19b4, + 0xc9e: 0x22e2, 0xc9f: 0x22dc, 0xca0: 0x1cc1, 0xca1: 0x1cd0, 0xca2: 0x1cdf, 0xca3: 0x1cee, + 0xca4: 0x1cfd, 0xca5: 0x1d0c, 0xca6: 0x1d1b, 0xca7: 0x1d2a, 0xca8: 0x1d39, 0xca9: 0x2186, + 0xcaa: 0x2198, 0xcab: 0x21aa, 0xcac: 0x21bc, 0xcad: 0x21c8, 0xcae: 0x21d4, 0xcaf: 0x21e0, + 0xcb0: 0x21ec, 0xcb1: 0x21f8, 0xcb2: 0x2204, 0xcb3: 0x2240, 0xcb4: 0x224c, 0xcb5: 0x2258, + 0xcb6: 0x2264, 0xcb7: 0x2270, 0xcb8: 0x227c, 0xcb9: 0x2282, 0xcba: 0x2288, 0xcbb: 0x228e, + 0xcbc: 0x2294, 0xcbd: 0x22a6, 0xcbe: 0x22ac, 0xcbf: 0x1c10, + // Block 0x33, offset 0xcc0 + 0xcc0: 0x1377, 0xcc1: 0x0cfb, 0xcc2: 0x13d3, 0xcc3: 0x139f, 0xcc4: 0x0e57, 0xcc5: 0x06eb, + 0xcc6: 0x08df, 0xcc7: 0x162b, 0xcc8: 0x162b, 0xcc9: 0x0a0b, 0xcca: 0x145f, 0xccb: 0x0943, + 0xccc: 0x0a07, 0xccd: 0x0bef, 0xcce: 0x0fcf, 0xccf: 0x115f, 0xcd0: 0x1297, 0xcd1: 0x12d3, + 0xcd2: 0x1307, 0xcd3: 0x141b, 0xcd4: 0x0d73, 0xcd5: 0x0dff, 0xcd6: 0x0eab, 0xcd7: 0x0f43, + 0xcd8: 0x125f, 0xcd9: 0x1447, 0xcda: 0x1573, 0xcdb: 0x070f, 0xcdc: 0x08b3, 0xcdd: 0x0d87, + 0xcde: 0x0ecf, 0xcdf: 0x1293, 0xce0: 0x15c3, 0xce1: 0x0ab3, 0xce2: 0x0e77, 0xce3: 0x1283, + 0xce4: 0x1317, 0xce5: 0x0c23, 0xce6: 0x11bb, 0xce7: 0x12df, 0xce8: 0x0b1f, 0xce9: 0x0d0f, + 0xcea: 0x0e17, 0xceb: 0x0f1b, 0xcec: 0x1427, 0xced: 0x074f, 0xcee: 0x07e7, 0xcef: 0x0853, + 0xcf0: 0x0c8b, 0xcf1: 0x0d7f, 0xcf2: 0x0ecb, 0xcf3: 0x0fef, 0xcf4: 0x1177, 0xcf5: 0x128b, + 0xcf6: 0x12a3, 0xcf7: 0x13c7, 0xcf8: 0x14ef, 0xcf9: 0x15a3, 0xcfa: 0x15bf, 0xcfb: 0x102b, + 0xcfc: 0x106b, 0xcfd: 0x1123, 0xcfe: 0x1243, 0xcff: 0x147b, + // Block 0x34, offset 0xd00 + 0xd00: 0x15cb, 0xd01: 0x134b, 0xd02: 0x09c7, 0xd03: 0x0b3b, 0xd04: 0x10db, 0xd05: 0x119b, + 0xd06: 0x0eff, 0xd07: 0x1033, 0xd08: 0x1397, 0xd09: 0x14e7, 0xd0a: 0x09c3, 0xd0b: 0x0a8f, + 0xd0c: 0x0d77, 0xd0d: 0x0e2b, 0xd0e: 0x0e5f, 0xd0f: 0x1113, 0xd10: 0x113b, 0xd11: 0x14a7, + 0xd12: 0x084f, 0xd13: 0x11a7, 0xd14: 0x07f3, 0xd15: 0x07ef, 0xd16: 0x1097, 0xd17: 0x1127, + 0xd18: 0x125b, 0xd19: 0x14af, 0xd1a: 0x1367, 0xd1b: 0x0c27, 0xd1c: 0x0d73, 0xd1d: 0x1357, + 0xd1e: 0x06f7, 0xd1f: 0x0a63, 0xd20: 0x0b93, 0xd21: 0x0f2f, 0xd22: 0x0faf, 0xd23: 0x0873, + 0xd24: 0x103b, 0xd25: 0x075f, 0xd26: 0x0b77, 0xd27: 0x06d7, 0xd28: 0x0deb, 0xd29: 0x0ca3, + 0xd2a: 0x110f, 0xd2b: 0x08c7, 0xd2c: 0x09b3, 0xd2d: 0x0ffb, 0xd2e: 0x1263, 0xd2f: 0x133b, + 0xd30: 0x0db7, 0xd31: 0x13f7, 0xd32: 0x0de3, 0xd33: 0x0c37, 0xd34: 0x121b, 0xd35: 0x0c57, + 0xd36: 0x0fab, 0xd37: 0x072b, 0xd38: 0x07a7, 0xd39: 0x07eb, 0xd3a: 0x0d53, 0xd3b: 0x10fb, + 0xd3c: 0x11f3, 0xd3d: 0x1347, 0xd3e: 0x145b, 0xd3f: 0x085b, + // Block 0x35, offset 0xd40 + 0xd40: 0x090f, 0xd41: 0x0a17, 0xd42: 0x0b2f, 0xd43: 0x0cbf, 0xd44: 0x0e7b, 0xd45: 0x103f, + 0xd46: 0x1497, 0xd47: 0x157b, 0xd48: 0x15cf, 0xd49: 0x15e7, 0xd4a: 0x0837, 0xd4b: 0x0cf3, + 0xd4c: 0x0da3, 0xd4d: 0x13eb, 0xd4e: 0x0afb, 0xd4f: 0x0bd7, 0xd50: 0x0bf3, 0xd51: 0x0c83, + 0xd52: 0x0e6b, 0xd53: 0x0eb7, 0xd54: 0x0f67, 0xd55: 0x108b, 0xd56: 0x112f, 0xd57: 0x1193, + 0xd58: 0x13db, 0xd59: 0x126b, 0xd5a: 0x1403, 0xd5b: 0x147f, 0xd5c: 0x080f, 0xd5d: 0x083b, + 0xd5e: 0x0923, 0xd5f: 0x0ea7, 0xd60: 0x12f3, 0xd61: 0x133b, 0xd62: 0x0b1b, 0xd63: 0x0b8b, + 0xd64: 0x0c4f, 0xd65: 0x0daf, 0xd66: 0x10d7, 0xd67: 0x0f23, 0xd68: 0x073b, 0xd69: 0x097f, + 0xd6a: 0x0a63, 0xd6b: 0x0ac7, 0xd6c: 0x0b97, 0xd6d: 0x0f3f, 0xd6e: 0x0f5b, 0xd6f: 0x116b, + 0xd70: 0x118b, 0xd71: 0x1463, 0xd72: 0x14e3, 0xd73: 0x14f3, 0xd74: 0x152f, 0xd75: 0x0753, + 0xd76: 0x107f, 0xd77: 0x144f, 0xd78: 0x14cb, 0xd79: 0x0baf, 0xd7a: 0x0717, 0xd7b: 0x0777, + 0xd7c: 0x0a67, 0xd7d: 0x0a87, 0xd7e: 0x0caf, 0xd7f: 0x0d73, + // Block 0x36, offset 0xd80 + 0xd80: 0x0ec3, 0xd81: 0x0fcb, 0xd82: 0x1277, 0xd83: 0x1417, 0xd84: 0x1623, 0xd85: 0x0ce3, + 0xd86: 0x14a3, 0xd87: 0x0833, 0xd88: 0x0d2f, 0xd89: 0x0d3b, 0xd8a: 0x0e0f, 0xd8b: 0x0e47, + 0xd8c: 0x0f4b, 0xd8d: 0x0fa7, 0xd8e: 0x1027, 0xd8f: 0x110b, 0xd90: 0x153b, 0xd91: 0x07af, + 0xd92: 0x0c03, 0xd93: 0x14b3, 0xd94: 0x0767, 0xd95: 0x0aab, 0xd96: 0x0e2f, 0xd97: 0x13df, + 0xd98: 0x0b67, 0xd99: 0x0bb7, 0xd9a: 0x0d43, 0xd9b: 0x0f2f, 0xd9c: 0x14bb, 0xd9d: 0x0817, + 0xd9e: 0x08ff, 0xd9f: 0x0a97, 0xda0: 0x0cd3, 0xda1: 0x0d1f, 0xda2: 0x0d5f, 0xda3: 0x0df3, + 0xda4: 0x0f47, 0xda5: 0x0fbb, 0xda6: 0x1157, 0xda7: 0x12f7, 0xda8: 0x1303, 0xda9: 0x1457, + 0xdaa: 0x14d7, 0xdab: 0x0883, 0xdac: 0x0e4b, 0xdad: 0x0903, 0xdae: 0x0ec7, 0xdaf: 0x0f6b, + 0xdb0: 0x1287, 0xdb1: 0x14bf, 0xdb2: 0x15ab, 0xdb3: 0x15d3, 0xdb4: 0x0d37, 0xdb5: 0x0e27, + 0xdb6: 0x11c3, 0xdb7: 0x10b7, 0xdb8: 0x10c3, 0xdb9: 0x10e7, 0xdba: 0x0f17, 0xdbb: 0x0e9f, + 0xdbc: 0x1363, 0xdbd: 0x0733, 0xdbe: 0x122b, 0xdbf: 0x081b, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x080b, 0xdc1: 0x0b0b, 0xdc2: 0x0c2b, 0xdc3: 0x10f3, 0xdc4: 0x0a53, 0xdc5: 0x0e03, + 0xdc6: 0x0cef, 0xdc7: 0x13e7, 0xdc8: 0x12e7, 0xdc9: 0x14ab, 0xdca: 0x1323, 0xdcb: 0x0b27, + 0xdcc: 0x0787, 0xdcd: 0x095b, 0xdd0: 0x09af, + 0xdd2: 0x0cdf, 0xdd5: 0x07f7, 0xdd6: 0x0f1f, 0xdd7: 0x0fe3, + 0xdd8: 0x1047, 0xdd9: 0x1063, 0xdda: 0x1067, 0xddb: 0x107b, 0xddc: 0x14fb, 0xddd: 0x10eb, + 0xdde: 0x116f, 0xde0: 0x128f, 0xde2: 0x1353, + 0xde5: 0x1407, 0xde6: 0x1433, + 0xdea: 0x154f, 0xdeb: 0x1553, 0xdec: 0x1557, 0xded: 0x15bb, 0xdee: 0x142b, 0xdef: 0x14c7, + 0xdf0: 0x0757, 0xdf1: 0x077b, 0xdf2: 0x078f, 0xdf3: 0x084b, 0xdf4: 0x0857, 0xdf5: 0x0897, + 0xdf6: 0x094b, 0xdf7: 0x0967, 0xdf8: 0x096f, 0xdf9: 0x09ab, 0xdfa: 0x09b7, 0xdfb: 0x0a93, + 0xdfc: 0x0a9b, 0xdfd: 0x0ba3, 0xdfe: 0x0bcb, 0xdff: 0x0bd3, + // Block 0x38, offset 0xe00 + 0xe00: 0x0beb, 0xe01: 0x0c97, 0xe02: 0x0cc7, 0xe03: 0x0ce7, 0xe04: 0x0d57, 0xe05: 0x0e1b, + 0xe06: 0x0e37, 0xe07: 0x0e67, 0xe08: 0x0ebb, 0xe09: 0x0edb, 0xe0a: 0x0f4f, 0xe0b: 0x102f, + 0xe0c: 0x104b, 0xe0d: 0x1053, 0xe0e: 0x104f, 0xe0f: 0x1057, 0xe10: 0x105b, 0xe11: 0x105f, + 0xe12: 0x1073, 0xe13: 0x1077, 0xe14: 0x109b, 0xe15: 0x10af, 0xe16: 0x10cb, 0xe17: 0x112f, + 0xe18: 0x1137, 0xe19: 0x113f, 0xe1a: 0x1153, 0xe1b: 0x117b, 0xe1c: 0x11cb, 0xe1d: 0x11ff, + 0xe1e: 0x11ff, 0xe1f: 0x1267, 0xe20: 0x130f, 0xe21: 0x1327, 0xe22: 0x135b, 0xe23: 0x135f, + 0xe24: 0x13a3, 0xe25: 0x13a7, 0xe26: 0x13ff, 0xe27: 0x1407, 0xe28: 0x14db, 0xe29: 0x151f, + 0xe2a: 0x1537, 0xe2b: 0x0b9b, 0xe2c: 0x171e, 0xe2d: 0x11e3, + 0xe30: 0x06df, 0xe31: 0x07e3, 0xe32: 0x07a3, 0xe33: 0x074b, 0xe34: 0x078b, 0xe35: 0x07b7, + 0xe36: 0x0847, 0xe37: 0x0863, 0xe38: 0x094b, 0xe39: 0x0937, 0xe3a: 0x0947, 0xe3b: 0x0963, + 0xe3c: 0x09af, 0xe3d: 0x09bf, 0xe3e: 0x0a03, 0xe3f: 0x0a0f, + // Block 0x39, offset 0xe40 + 0xe40: 0x0a2b, 0xe41: 0x0a3b, 0xe42: 0x0b23, 0xe43: 0x0b2b, 0xe44: 0x0b5b, 0xe45: 0x0b7b, + 0xe46: 0x0bab, 0xe47: 0x0bc3, 0xe48: 0x0bb3, 0xe49: 0x0bd3, 0xe4a: 0x0bc7, 0xe4b: 0x0beb, + 0xe4c: 0x0c07, 0xe4d: 0x0c5f, 0xe4e: 0x0c6b, 0xe4f: 0x0c73, 0xe50: 0x0c9b, 0xe51: 0x0cdf, + 0xe52: 0x0d0f, 0xe53: 0x0d13, 0xe54: 0x0d27, 0xe55: 0x0da7, 0xe56: 0x0db7, 0xe57: 0x0e0f, + 0xe58: 0x0e5b, 0xe59: 0x0e53, 0xe5a: 0x0e67, 0xe5b: 0x0e83, 0xe5c: 0x0ebb, 0xe5d: 0x1013, + 0xe5e: 0x0edf, 0xe5f: 0x0f13, 0xe60: 0x0f1f, 0xe61: 0x0f5f, 0xe62: 0x0f7b, 0xe63: 0x0f9f, + 0xe64: 0x0fc3, 0xe65: 0x0fc7, 0xe66: 0x0fe3, 0xe67: 0x0fe7, 0xe68: 0x0ff7, 0xe69: 0x100b, + 0xe6a: 0x1007, 0xe6b: 0x1037, 0xe6c: 0x10b3, 0xe6d: 0x10cb, 0xe6e: 0x10e3, 0xe6f: 0x111b, + 0xe70: 0x112f, 0xe71: 0x114b, 0xe72: 0x117b, 0xe73: 0x122f, 0xe74: 0x1257, 0xe75: 0x12cb, + 0xe76: 0x1313, 0xe77: 0x131f, 0xe78: 0x1327, 0xe79: 0x133f, 0xe7a: 0x1353, 0xe7b: 0x1343, + 0xe7c: 0x135b, 0xe7d: 0x1357, 0xe7e: 0x134f, 0xe7f: 0x135f, + // Block 0x3a, offset 0xe80 + 0xe80: 0x136b, 0xe81: 0x13a7, 0xe82: 0x13e3, 0xe83: 0x1413, 0xe84: 0x144b, 0xe85: 0x146b, + 0xe86: 0x14b7, 0xe87: 0x14db, 0xe88: 0x14fb, 0xe89: 0x150f, 0xe8a: 0x151f, 0xe8b: 0x152b, + 0xe8c: 0x1537, 0xe8d: 0x158b, 0xe8e: 0x162b, 0xe8f: 0x16b5, 0xe90: 0x16b0, 0xe91: 0x16e2, + 0xe92: 0x0607, 0xe93: 0x062f, 0xe94: 0x0633, 0xe95: 0x1764, 0xe96: 0x1791, 0xe97: 0x1809, + 0xe98: 0x1617, 0xe99: 0x1627, + // Block 0x3b, offset 0xec0 + 0xec0: 0x19d5, 0xec1: 0x19d8, 0xec2: 0x19db, 0xec3: 0x1c08, 0xec4: 0x1c0c, 0xec5: 0x1a5f, + 0xec6: 0x1a5f, + 0xed3: 0x1d75, 0xed4: 0x1d66, 0xed5: 0x1d6b, 0xed6: 0x1d7a, 0xed7: 0x1d70, + 0xedd: 0x4390, + 0xede: 0x8115, 0xedf: 0x4402, 0xee0: 0x022d, 0xee1: 0x0215, 0xee2: 0x021e, 0xee3: 0x0221, + 0xee4: 0x0224, 0xee5: 0x0227, 0xee6: 0x022a, 0xee7: 0x0230, 0xee8: 0x0233, 0xee9: 0x0017, + 0xeea: 0x43f0, 0xeeb: 0x43f6, 0xeec: 0x44f4, 0xeed: 0x44fc, 0xeee: 0x4348, 0xeef: 0x434e, + 0xef0: 0x4354, 0xef1: 0x435a, 0xef2: 0x4366, 0xef3: 0x436c, 0xef4: 0x4372, 0xef5: 0x437e, + 0xef6: 0x4384, 0xef8: 0x438a, 0xef9: 0x4396, 0xefa: 0x439c, 0xefb: 0x43a2, + 0xefc: 0x43ae, 0xefe: 0x43b4, + // Block 0x3c, offset 0xf00 + 0xf00: 0x43ba, 0xf01: 0x43c0, 0xf03: 0x43c6, 0xf04: 0x43cc, + 0xf06: 0x43d8, 0xf07: 0x43de, 0xf08: 0x43e4, 0xf09: 0x43ea, 0xf0a: 0x43fc, 0xf0b: 0x4378, + 0xf0c: 0x4360, 0xf0d: 0x43a8, 0xf0e: 0x43d2, 0xf0f: 0x1d7f, 0xf10: 0x0299, 0xf11: 0x0299, + 0xf12: 0x02a2, 0xf13: 0x02a2, 0xf14: 0x02a2, 0xf15: 0x02a2, 0xf16: 0x02a5, 0xf17: 0x02a5, + 0xf18: 0x02a5, 0xf19: 0x02a5, 0xf1a: 0x02ab, 0xf1b: 0x02ab, 0xf1c: 0x02ab, 0xf1d: 0x02ab, + 0xf1e: 0x029f, 0xf1f: 0x029f, 0xf20: 0x029f, 0xf21: 0x029f, 0xf22: 0x02a8, 0xf23: 0x02a8, + 0xf24: 0x02a8, 0xf25: 0x02a8, 0xf26: 0x029c, 0xf27: 0x029c, 0xf28: 0x029c, 0xf29: 0x029c, + 0xf2a: 0x02cf, 0xf2b: 0x02cf, 0xf2c: 0x02cf, 0xf2d: 0x02cf, 0xf2e: 0x02d2, 0xf2f: 0x02d2, + 0xf30: 0x02d2, 0xf31: 0x02d2, 0xf32: 0x02b1, 0xf33: 0x02b1, 0xf34: 0x02b1, 0xf35: 0x02b1, + 0xf36: 0x02ae, 0xf37: 0x02ae, 0xf38: 0x02ae, 0xf39: 0x02ae, 0xf3a: 0x02b4, 0xf3b: 0x02b4, + 0xf3c: 0x02b4, 0xf3d: 0x02b4, 0xf3e: 0x02b7, 0xf3f: 0x02b7, + // Block 0x3d, offset 0xf40 + 0xf40: 0x02b7, 0xf41: 0x02b7, 0xf42: 0x02c0, 0xf43: 0x02c0, 0xf44: 0x02bd, 0xf45: 0x02bd, + 0xf46: 0x02c3, 0xf47: 0x02c3, 0xf48: 0x02ba, 0xf49: 0x02ba, 0xf4a: 0x02c9, 0xf4b: 0x02c9, + 0xf4c: 0x02c6, 0xf4d: 0x02c6, 0xf4e: 0x02d5, 0xf4f: 0x02d5, 0xf50: 0x02d5, 0xf51: 0x02d5, + 0xf52: 0x02db, 0xf53: 0x02db, 0xf54: 0x02db, 0xf55: 0x02db, 0xf56: 0x02e1, 0xf57: 0x02e1, + 0xf58: 0x02e1, 0xf59: 0x02e1, 0xf5a: 0x02de, 0xf5b: 0x02de, 0xf5c: 0x02de, 0xf5d: 0x02de, + 0xf5e: 0x02e4, 0xf5f: 0x02e4, 0xf60: 0x02e7, 0xf61: 0x02e7, 0xf62: 0x02e7, 0xf63: 0x02e7, + 0xf64: 0x446e, 0xf65: 0x446e, 0xf66: 0x02ed, 0xf67: 0x02ed, 0xf68: 0x02ed, 0xf69: 0x02ed, + 0xf6a: 0x02ea, 0xf6b: 0x02ea, 0xf6c: 0x02ea, 0xf6d: 0x02ea, 0xf6e: 0x0308, 0xf6f: 0x0308, + 0xf70: 0x4468, 0xf71: 0x4468, + // Block 0x3e, offset 0xf80 + 0xf93: 0x02d8, 0xf94: 0x02d8, 0xf95: 0x02d8, 0xf96: 0x02d8, 0xf97: 0x02f6, + 0xf98: 0x02f6, 0xf99: 0x02f3, 0xf9a: 0x02f3, 0xf9b: 0x02f9, 0xf9c: 0x02f9, 0xf9d: 0x204f, + 0xf9e: 0x02ff, 0xf9f: 0x02ff, 0xfa0: 0x02f0, 0xfa1: 0x02f0, 0xfa2: 0x02fc, 0xfa3: 0x02fc, + 0xfa4: 0x0305, 0xfa5: 0x0305, 0xfa6: 0x0305, 0xfa7: 0x0305, 0xfa8: 0x028d, 0xfa9: 0x028d, + 0xfaa: 0x25aa, 0xfab: 0x25aa, 0xfac: 0x261a, 0xfad: 0x261a, 0xfae: 0x25e9, 0xfaf: 0x25e9, + 0xfb0: 0x2605, 0xfb1: 0x2605, 0xfb2: 0x25fe, 0xfb3: 0x25fe, 0xfb4: 0x260c, 0xfb5: 0x260c, + 0xfb6: 0x2613, 0xfb7: 0x2613, 0xfb8: 0x2613, 0xfb9: 0x25f0, 0xfba: 0x25f0, 0xfbb: 0x25f0, + 0xfbc: 0x0302, 0xfbd: 0x0302, 0xfbe: 0x0302, 0xfbf: 0x0302, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x25b1, 0xfc1: 0x25b8, 0xfc2: 0x25d4, 0xfc3: 0x25f0, 0xfc4: 0x25f7, 0xfc5: 0x1d89, + 0xfc6: 0x1d8e, 0xfc7: 0x1d93, 0xfc8: 0x1da2, 0xfc9: 0x1db1, 0xfca: 0x1db6, 0xfcb: 0x1dbb, + 0xfcc: 0x1dc0, 0xfcd: 0x1dc5, 0xfce: 0x1dd4, 0xfcf: 0x1de3, 0xfd0: 0x1de8, 0xfd1: 0x1ded, + 0xfd2: 0x1dfc, 0xfd3: 0x1e0b, 0xfd4: 0x1e10, 0xfd5: 0x1e15, 0xfd6: 0x1e1a, 0xfd7: 0x1e29, + 0xfd8: 0x1e2e, 0xfd9: 0x1e3d, 0xfda: 0x1e42, 0xfdb: 0x1e47, 0xfdc: 0x1e56, 0xfdd: 0x1e5b, + 0xfde: 0x1e60, 0xfdf: 0x1e6a, 0xfe0: 0x1ea6, 0xfe1: 0x1eb5, 0xfe2: 0x1ec4, 0xfe3: 0x1ec9, + 0xfe4: 0x1ece, 0xfe5: 0x1ed8, 0xfe6: 0x1ee7, 0xfe7: 0x1eec, 0xfe8: 0x1efb, 0xfe9: 0x1f00, + 0xfea: 0x1f05, 0xfeb: 0x1f14, 0xfec: 0x1f19, 0xfed: 0x1f28, 0xfee: 0x1f2d, 0xfef: 0x1f32, + 0xff0: 0x1f37, 0xff1: 0x1f3c, 0xff2: 0x1f41, 0xff3: 0x1f46, 0xff4: 0x1f4b, 0xff5: 0x1f50, + 0xff6: 0x1f55, 0xff7: 0x1f5a, 0xff8: 0x1f5f, 0xff9: 0x1f64, 0xffa: 0x1f69, 0xffb: 0x1f6e, + 0xffc: 0x1f73, 0xffd: 0x1f78, 0xffe: 0x1f7d, 0xfff: 0x1f87, + // Block 0x40, offset 0x1000 + 0x1000: 0x1f8c, 0x1001: 0x1f91, 0x1002: 0x1f96, 0x1003: 0x1fa0, 0x1004: 0x1fa5, 0x1005: 0x1faf, + 0x1006: 0x1fb4, 0x1007: 0x1fb9, 0x1008: 0x1fbe, 0x1009: 0x1fc3, 0x100a: 0x1fc8, 0x100b: 0x1fcd, + 0x100c: 0x1fd2, 0x100d: 0x1fd7, 0x100e: 0x1fe6, 0x100f: 0x1ff5, 0x1010: 0x1ffa, 0x1011: 0x1fff, + 0x1012: 0x2004, 0x1013: 0x2009, 0x1014: 0x200e, 0x1015: 0x2018, 0x1016: 0x201d, 0x1017: 0x2022, + 0x1018: 0x2031, 0x1019: 0x2040, 0x101a: 0x2045, 0x101b: 0x4420, 0x101c: 0x4426, 0x101d: 0x445c, + 0x101e: 0x44b3, 0x101f: 0x44ba, 0x1020: 0x44c1, 0x1021: 0x44c8, 0x1022: 0x44cf, 0x1023: 0x44d6, + 0x1024: 0x25c6, 0x1025: 0x25cd, 0x1026: 0x25d4, 0x1027: 0x25db, 0x1028: 0x25f0, 0x1029: 0x25f7, + 0x102a: 0x1d98, 0x102b: 0x1d9d, 0x102c: 0x1da2, 0x102d: 0x1da7, 0x102e: 0x1db1, 0x102f: 0x1db6, + 0x1030: 0x1dca, 0x1031: 0x1dcf, 0x1032: 0x1dd4, 0x1033: 0x1dd9, 0x1034: 0x1de3, 0x1035: 0x1de8, + 0x1036: 0x1df2, 0x1037: 0x1df7, 0x1038: 0x1dfc, 0x1039: 0x1e01, 0x103a: 0x1e0b, 0x103b: 0x1e10, + 0x103c: 0x1f3c, 0x103d: 0x1f41, 0x103e: 0x1f50, 0x103f: 0x1f55, + // Block 0x41, offset 0x1040 + 0x1040: 0x1f5a, 0x1041: 0x1f6e, 0x1042: 0x1f73, 0x1043: 0x1f78, 0x1044: 0x1f7d, 0x1045: 0x1f96, + 0x1046: 0x1fa0, 0x1047: 0x1fa5, 0x1048: 0x1faa, 0x1049: 0x1fbe, 0x104a: 0x1fdc, 0x104b: 0x1fe1, + 0x104c: 0x1fe6, 0x104d: 0x1feb, 0x104e: 0x1ff5, 0x104f: 0x1ffa, 0x1050: 0x445c, 0x1051: 0x2027, + 0x1052: 0x202c, 0x1053: 0x2031, 0x1054: 0x2036, 0x1055: 0x2040, 0x1056: 0x2045, 0x1057: 0x25b1, + 0x1058: 0x25b8, 0x1059: 0x25bf, 0x105a: 0x25d4, 0x105b: 0x25e2, 0x105c: 0x1d89, 0x105d: 0x1d8e, + 0x105e: 0x1d93, 0x105f: 0x1da2, 0x1060: 0x1dac, 0x1061: 0x1dbb, 0x1062: 0x1dc0, 0x1063: 0x1dc5, + 0x1064: 0x1dd4, 0x1065: 0x1dde, 0x1066: 0x1dfc, 0x1067: 0x1e15, 0x1068: 0x1e1a, 0x1069: 0x1e29, + 0x106a: 0x1e2e, 0x106b: 0x1e3d, 0x106c: 0x1e47, 0x106d: 0x1e56, 0x106e: 0x1e5b, 0x106f: 0x1e60, + 0x1070: 0x1e6a, 0x1071: 0x1ea6, 0x1072: 0x1eab, 0x1073: 0x1eb5, 0x1074: 0x1ec4, 0x1075: 0x1ec9, + 0x1076: 0x1ece, 0x1077: 0x1ed8, 0x1078: 0x1ee7, 0x1079: 0x1efb, 0x107a: 0x1f00, 0x107b: 0x1f05, + 0x107c: 0x1f14, 0x107d: 0x1f19, 0x107e: 0x1f28, 0x107f: 0x1f2d, + // Block 0x42, offset 0x1080 + 0x1080: 0x1f32, 0x1081: 0x1f37, 0x1082: 0x1f46, 0x1083: 0x1f4b, 0x1084: 0x1f5f, 0x1085: 0x1f64, + 0x1086: 0x1f69, 0x1087: 0x1f6e, 0x1088: 0x1f73, 0x1089: 0x1f87, 0x108a: 0x1f8c, 0x108b: 0x1f91, + 0x108c: 0x1f96, 0x108d: 0x1f9b, 0x108e: 0x1faf, 0x108f: 0x1fb4, 0x1090: 0x1fb9, 0x1091: 0x1fbe, + 0x1092: 0x1fcd, 0x1093: 0x1fd2, 0x1094: 0x1fd7, 0x1095: 0x1fe6, 0x1096: 0x1ff0, 0x1097: 0x1fff, + 0x1098: 0x2004, 0x1099: 0x4450, 0x109a: 0x2018, 0x109b: 0x201d, 0x109c: 0x2022, 0x109d: 0x2031, + 0x109e: 0x203b, 0x109f: 0x25d4, 0x10a0: 0x25e2, 0x10a1: 0x1da2, 0x10a2: 0x1dac, 0x10a3: 0x1dd4, + 0x10a4: 0x1dde, 0x10a5: 0x1dfc, 0x10a6: 0x1e06, 0x10a7: 0x1e6a, 0x10a8: 0x1e6f, 0x10a9: 0x1e92, + 0x10aa: 0x1e97, 0x10ab: 0x1f6e, 0x10ac: 0x1f73, 0x10ad: 0x1f96, 0x10ae: 0x1fe6, 0x10af: 0x1ff0, + 0x10b0: 0x2031, 0x10b1: 0x203b, 0x10b2: 0x4504, 0x10b3: 0x450c, 0x10b4: 0x4514, 0x10b5: 0x1ef1, + 0x10b6: 0x1ef6, 0x10b7: 0x1f0a, 0x10b8: 0x1f0f, 0x10b9: 0x1f1e, 0x10ba: 0x1f23, 0x10bb: 0x1e74, + 0x10bc: 0x1e79, 0x10bd: 0x1e9c, 0x10be: 0x1ea1, 0x10bf: 0x1e33, + // Block 0x43, offset 0x10c0 + 0x10c0: 0x1e38, 0x10c1: 0x1e1f, 0x10c2: 0x1e24, 0x10c3: 0x1e4c, 0x10c4: 0x1e51, 0x10c5: 0x1eba, + 0x10c6: 0x1ebf, 0x10c7: 0x1edd, 0x10c8: 0x1ee2, 0x10c9: 0x1e7e, 0x10ca: 0x1e83, 0x10cb: 0x1e88, + 0x10cc: 0x1e92, 0x10cd: 0x1e8d, 0x10ce: 0x1e65, 0x10cf: 0x1eb0, 0x10d0: 0x1ed3, 0x10d1: 0x1ef1, + 0x10d2: 0x1ef6, 0x10d3: 0x1f0a, 0x10d4: 0x1f0f, 0x10d5: 0x1f1e, 0x10d6: 0x1f23, 0x10d7: 0x1e74, + 0x10d8: 0x1e79, 0x10d9: 0x1e9c, 0x10da: 0x1ea1, 0x10db: 0x1e33, 0x10dc: 0x1e38, 0x10dd: 0x1e1f, + 0x10de: 0x1e24, 0x10df: 0x1e4c, 0x10e0: 0x1e51, 0x10e1: 0x1eba, 0x10e2: 0x1ebf, 0x10e3: 0x1edd, + 0x10e4: 0x1ee2, 0x10e5: 0x1e7e, 0x10e6: 0x1e83, 0x10e7: 0x1e88, 0x10e8: 0x1e92, 0x10e9: 0x1e8d, + 0x10ea: 0x1e65, 0x10eb: 0x1eb0, 0x10ec: 0x1ed3, 0x10ed: 0x1e7e, 0x10ee: 0x1e83, 0x10ef: 0x1e88, + 0x10f0: 0x1e92, 0x10f1: 0x1e6f, 0x10f2: 0x1e97, 0x10f3: 0x1eec, 0x10f4: 0x1e56, 0x10f5: 0x1e5b, + 0x10f6: 0x1e60, 0x10f7: 0x1e7e, 0x10f8: 0x1e83, 0x10f9: 0x1e88, 0x10fa: 0x1eec, 0x10fb: 0x1efb, + 0x10fc: 0x4408, 0x10fd: 0x4408, + // Block 0x44, offset 0x1100 + 0x1110: 0x2311, 0x1111: 0x2326, + 0x1112: 0x2326, 0x1113: 0x232d, 0x1114: 0x2334, 0x1115: 0x2349, 0x1116: 0x2350, 0x1117: 0x2357, + 0x1118: 0x237a, 0x1119: 0x237a, 0x111a: 0x239d, 0x111b: 0x2396, 0x111c: 0x23b2, 0x111d: 0x23a4, + 0x111e: 0x23ab, 0x111f: 0x23ce, 0x1120: 0x23ce, 0x1121: 0x23c7, 0x1122: 0x23d5, 0x1123: 0x23d5, + 0x1124: 0x23ff, 0x1125: 0x23ff, 0x1126: 0x241b, 0x1127: 0x23e3, 0x1128: 0x23e3, 0x1129: 0x23dc, + 0x112a: 0x23f1, 0x112b: 0x23f1, 0x112c: 0x23f8, 0x112d: 0x23f8, 0x112e: 0x2422, 0x112f: 0x2430, + 0x1130: 0x2430, 0x1131: 0x2437, 0x1132: 0x2437, 0x1133: 0x243e, 0x1134: 0x2445, 0x1135: 0x244c, + 0x1136: 0x2453, 0x1137: 0x2453, 0x1138: 0x245a, 0x1139: 0x2468, 0x113a: 0x2476, 0x113b: 0x246f, + 0x113c: 0x247d, 0x113d: 0x247d, 0x113e: 0x2492, 0x113f: 0x2499, + // Block 0x45, offset 0x1140 + 0x1140: 0x24ca, 0x1141: 0x24d8, 0x1142: 0x24d1, 0x1143: 0x24b5, 0x1144: 0x24b5, 0x1145: 0x24df, + 0x1146: 0x24df, 0x1147: 0x24e6, 0x1148: 0x24e6, 0x1149: 0x2510, 0x114a: 0x2517, 0x114b: 0x251e, + 0x114c: 0x24f4, 0x114d: 0x2502, 0x114e: 0x2525, 0x114f: 0x252c, + 0x1152: 0x24fb, 0x1153: 0x2580, 0x1154: 0x2587, 0x1155: 0x255d, 0x1156: 0x2564, 0x1157: 0x2548, + 0x1158: 0x2548, 0x1159: 0x254f, 0x115a: 0x2579, 0x115b: 0x2572, 0x115c: 0x259c, 0x115d: 0x259c, + 0x115e: 0x230a, 0x115f: 0x231f, 0x1160: 0x2318, 0x1161: 0x2342, 0x1162: 0x233b, 0x1163: 0x2365, + 0x1164: 0x235e, 0x1165: 0x2388, 0x1166: 0x236c, 0x1167: 0x2381, 0x1168: 0x23b9, 0x1169: 0x2406, + 0x116a: 0x23ea, 0x116b: 0x2429, 0x116c: 0x24c3, 0x116d: 0x24ed, 0x116e: 0x2595, 0x116f: 0x258e, + 0x1170: 0x25a3, 0x1171: 0x253a, 0x1172: 0x24a0, 0x1173: 0x256b, 0x1174: 0x2492, 0x1175: 0x24ca, + 0x1176: 0x2461, 0x1177: 0x24ae, 0x1178: 0x2541, 0x1179: 0x2533, 0x117a: 0x24bc, 0x117b: 0x24a7, + 0x117c: 0x24bc, 0x117d: 0x2541, 0x117e: 0x2373, 0x117f: 0x238f, + // Block 0x46, offset 0x1180 + 0x1180: 0x2509, 0x1181: 0x2484, 0x1182: 0x2303, 0x1183: 0x24a7, 0x1184: 0x244c, 0x1185: 0x241b, + 0x1186: 0x23c0, 0x1187: 0x2556, + 0x11b0: 0x2414, 0x11b1: 0x248b, 0x11b2: 0x27bf, 0x11b3: 0x27b6, 0x11b4: 0x27ec, 0x11b5: 0x27da, + 0x11b6: 0x27c8, 0x11b7: 0x27e3, 0x11b8: 0x27f5, 0x11b9: 0x240d, 0x11ba: 0x2c7c, 0x11bb: 0x2afc, + 0x11bc: 0x27d1, + // Block 0x47, offset 0x11c0 + 0x11d0: 0x0019, 0x11d1: 0x0483, + 0x11d2: 0x0487, 0x11d3: 0x0035, 0x11d4: 0x0037, 0x11d5: 0x0003, 0x11d6: 0x003f, 0x11d7: 0x04bf, + 0x11d8: 0x04c3, 0x11d9: 0x1b5c, + 0x11e0: 0x8132, 0x11e1: 0x8132, 0x11e2: 0x8132, 0x11e3: 0x8132, + 0x11e4: 0x8132, 0x11e5: 0x8132, 0x11e6: 0x8132, 0x11e7: 0x812d, 0x11e8: 0x812d, 0x11e9: 0x812d, + 0x11ea: 0x812d, 0x11eb: 0x812d, 0x11ec: 0x812d, 0x11ed: 0x812d, 0x11ee: 0x8132, 0x11ef: 0x8132, + 0x11f0: 0x1873, 0x11f1: 0x0443, 0x11f2: 0x043f, 0x11f3: 0x007f, 0x11f4: 0x007f, 0x11f5: 0x0011, + 0x11f6: 0x0013, 0x11f7: 0x00b7, 0x11f8: 0x00bb, 0x11f9: 0x04b7, 0x11fa: 0x04bb, 0x11fb: 0x04ab, + 0x11fc: 0x04af, 0x11fd: 0x0493, 0x11fe: 0x0497, 0x11ff: 0x048b, + // Block 0x48, offset 0x1200 + 0x1200: 0x048f, 0x1201: 0x049b, 0x1202: 0x049f, 0x1203: 0x04a3, 0x1204: 0x04a7, + 0x1207: 0x0077, 0x1208: 0x007b, 0x1209: 0x4269, 0x120a: 0x4269, 0x120b: 0x4269, + 0x120c: 0x4269, 0x120d: 0x007f, 0x120e: 0x007f, 0x120f: 0x007f, 0x1210: 0x0019, 0x1211: 0x0483, + 0x1212: 0x001d, 0x1214: 0x0037, 0x1215: 0x0035, 0x1216: 0x003f, 0x1217: 0x0003, + 0x1218: 0x0443, 0x1219: 0x0011, 0x121a: 0x0013, 0x121b: 0x00b7, 0x121c: 0x00bb, 0x121d: 0x04b7, + 0x121e: 0x04bb, 0x121f: 0x0007, 0x1220: 0x000d, 0x1221: 0x0015, 0x1222: 0x0017, 0x1223: 0x001b, + 0x1224: 0x0039, 0x1225: 0x003d, 0x1226: 0x003b, 0x1228: 0x0079, 0x1229: 0x0009, + 0x122a: 0x000b, 0x122b: 0x0041, + 0x1230: 0x42aa, 0x1231: 0x442c, 0x1232: 0x42af, 0x1234: 0x42b4, + 0x1236: 0x42b9, 0x1237: 0x4432, 0x1238: 0x42be, 0x1239: 0x4438, 0x123a: 0x42c3, 0x123b: 0x443e, + 0x123c: 0x42c8, 0x123d: 0x4444, 0x123e: 0x42cd, 0x123f: 0x444a, + // Block 0x49, offset 0x1240 + 0x1240: 0x0236, 0x1241: 0x440e, 0x1242: 0x440e, 0x1243: 0x4414, 0x1244: 0x4414, 0x1245: 0x4456, + 0x1246: 0x4456, 0x1247: 0x441a, 0x1248: 0x441a, 0x1249: 0x4462, 0x124a: 0x4462, 0x124b: 0x4462, + 0x124c: 0x4462, 0x124d: 0x0239, 0x124e: 0x0239, 0x124f: 0x023c, 0x1250: 0x023c, 0x1251: 0x023c, + 0x1252: 0x023c, 0x1253: 0x023f, 0x1254: 0x023f, 0x1255: 0x0242, 0x1256: 0x0242, 0x1257: 0x0242, + 0x1258: 0x0242, 0x1259: 0x0245, 0x125a: 0x0245, 0x125b: 0x0245, 0x125c: 0x0245, 0x125d: 0x0248, + 0x125e: 0x0248, 0x125f: 0x0248, 0x1260: 0x0248, 0x1261: 0x024b, 0x1262: 0x024b, 0x1263: 0x024b, + 0x1264: 0x024b, 0x1265: 0x024e, 0x1266: 0x024e, 0x1267: 0x024e, 0x1268: 0x024e, 0x1269: 0x0251, + 0x126a: 0x0251, 0x126b: 0x0254, 0x126c: 0x0254, 0x126d: 0x0257, 0x126e: 0x0257, 0x126f: 0x025a, + 0x1270: 0x025a, 0x1271: 0x025d, 0x1272: 0x025d, 0x1273: 0x025d, 0x1274: 0x025d, 0x1275: 0x0260, + 0x1276: 0x0260, 0x1277: 0x0260, 0x1278: 0x0260, 0x1279: 0x0263, 0x127a: 0x0263, 0x127b: 0x0263, + 0x127c: 0x0263, 0x127d: 0x0266, 0x127e: 0x0266, 0x127f: 0x0266, + // Block 0x4a, offset 0x1280 + 0x1280: 0x0266, 0x1281: 0x0269, 0x1282: 0x0269, 0x1283: 0x0269, 0x1284: 0x0269, 0x1285: 0x026c, + 0x1286: 0x026c, 0x1287: 0x026c, 0x1288: 0x026c, 0x1289: 0x026f, 0x128a: 0x026f, 0x128b: 0x026f, + 0x128c: 0x026f, 0x128d: 0x0272, 0x128e: 0x0272, 0x128f: 0x0272, 0x1290: 0x0272, 0x1291: 0x0275, + 0x1292: 0x0275, 0x1293: 0x0275, 0x1294: 0x0275, 0x1295: 0x0278, 0x1296: 0x0278, 0x1297: 0x0278, + 0x1298: 0x0278, 0x1299: 0x027b, 0x129a: 0x027b, 0x129b: 0x027b, 0x129c: 0x027b, 0x129d: 0x027e, + 0x129e: 0x027e, 0x129f: 0x027e, 0x12a0: 0x027e, 0x12a1: 0x0281, 0x12a2: 0x0281, 0x12a3: 0x0281, + 0x12a4: 0x0281, 0x12a5: 0x0284, 0x12a6: 0x0284, 0x12a7: 0x0284, 0x12a8: 0x0284, 0x12a9: 0x0287, + 0x12aa: 0x0287, 0x12ab: 0x0287, 0x12ac: 0x0287, 0x12ad: 0x028a, 0x12ae: 0x028a, 0x12af: 0x028d, + 0x12b0: 0x028d, 0x12b1: 0x0290, 0x12b2: 0x0290, 0x12b3: 0x0290, 0x12b4: 0x0290, 0x12b5: 0x2e00, + 0x12b6: 0x2e00, 0x12b7: 0x2e08, 0x12b8: 0x2e08, 0x12b9: 0x2e10, 0x12ba: 0x2e10, 0x12bb: 0x1f82, + 0x12bc: 0x1f82, + // Block 0x4b, offset 0x12c0 + 0x12c0: 0x0081, 0x12c1: 0x0083, 0x12c2: 0x0085, 0x12c3: 0x0087, 0x12c4: 0x0089, 0x12c5: 0x008b, + 0x12c6: 0x008d, 0x12c7: 0x008f, 0x12c8: 0x0091, 0x12c9: 0x0093, 0x12ca: 0x0095, 0x12cb: 0x0097, + 0x12cc: 0x0099, 0x12cd: 0x009b, 0x12ce: 0x009d, 0x12cf: 0x009f, 0x12d0: 0x00a1, 0x12d1: 0x00a3, + 0x12d2: 0x00a5, 0x12d3: 0x00a7, 0x12d4: 0x00a9, 0x12d5: 0x00ab, 0x12d6: 0x00ad, 0x12d7: 0x00af, + 0x12d8: 0x00b1, 0x12d9: 0x00b3, 0x12da: 0x00b5, 0x12db: 0x00b7, 0x12dc: 0x00b9, 0x12dd: 0x00bb, + 0x12de: 0x00bd, 0x12df: 0x0477, 0x12e0: 0x047b, 0x12e1: 0x0487, 0x12e2: 0x049b, 0x12e3: 0x049f, + 0x12e4: 0x0483, 0x12e5: 0x05ab, 0x12e6: 0x05a3, 0x12e7: 0x04c7, 0x12e8: 0x04cf, 0x12e9: 0x04d7, + 0x12ea: 0x04df, 0x12eb: 0x04e7, 0x12ec: 0x056b, 0x12ed: 0x0573, 0x12ee: 0x057b, 0x12ef: 0x051f, + 0x12f0: 0x05af, 0x12f1: 0x04cb, 0x12f2: 0x04d3, 0x12f3: 0x04db, 0x12f4: 0x04e3, 0x12f5: 0x04eb, + 0x12f6: 0x04ef, 0x12f7: 0x04f3, 0x12f8: 0x04f7, 0x12f9: 0x04fb, 0x12fa: 0x04ff, 0x12fb: 0x0503, + 0x12fc: 0x0507, 0x12fd: 0x050b, 0x12fe: 0x050f, 0x12ff: 0x0513, + // Block 0x4c, offset 0x1300 + 0x1300: 0x0517, 0x1301: 0x051b, 0x1302: 0x0523, 0x1303: 0x0527, 0x1304: 0x052b, 0x1305: 0x052f, + 0x1306: 0x0533, 0x1307: 0x0537, 0x1308: 0x053b, 0x1309: 0x053f, 0x130a: 0x0543, 0x130b: 0x0547, + 0x130c: 0x054b, 0x130d: 0x054f, 0x130e: 0x0553, 0x130f: 0x0557, 0x1310: 0x055b, 0x1311: 0x055f, + 0x1312: 0x0563, 0x1313: 0x0567, 0x1314: 0x056f, 0x1315: 0x0577, 0x1316: 0x057f, 0x1317: 0x0583, + 0x1318: 0x0587, 0x1319: 0x058b, 0x131a: 0x058f, 0x131b: 0x0593, 0x131c: 0x0597, 0x131d: 0x05a7, + 0x131e: 0x4a78, 0x131f: 0x4a7e, 0x1320: 0x03c3, 0x1321: 0x0313, 0x1322: 0x0317, 0x1323: 0x4a3b, + 0x1324: 0x031b, 0x1325: 0x4a41, 0x1326: 0x4a47, 0x1327: 0x031f, 0x1328: 0x0323, 0x1329: 0x0327, + 0x132a: 0x4a4d, 0x132b: 0x4a53, 0x132c: 0x4a59, 0x132d: 0x4a5f, 0x132e: 0x4a65, 0x132f: 0x4a6b, + 0x1330: 0x0367, 0x1331: 0x032b, 0x1332: 0x032f, 0x1333: 0x0333, 0x1334: 0x037b, 0x1335: 0x0337, + 0x1336: 0x033b, 0x1337: 0x033f, 0x1338: 0x0343, 0x1339: 0x0347, 0x133a: 0x034b, 0x133b: 0x034f, + 0x133c: 0x0353, 0x133d: 0x0357, 0x133e: 0x035b, + // Block 0x4d, offset 0x1340 + 0x1342: 0x49bd, 0x1343: 0x49c3, 0x1344: 0x49c9, 0x1345: 0x49cf, + 0x1346: 0x49d5, 0x1347: 0x49db, 0x134a: 0x49e1, 0x134b: 0x49e7, + 0x134c: 0x49ed, 0x134d: 0x49f3, 0x134e: 0x49f9, 0x134f: 0x49ff, + 0x1352: 0x4a05, 0x1353: 0x4a0b, 0x1354: 0x4a11, 0x1355: 0x4a17, 0x1356: 0x4a1d, 0x1357: 0x4a23, + 0x135a: 0x4a29, 0x135b: 0x4a2f, 0x135c: 0x4a35, + 0x1360: 0x00bf, 0x1361: 0x00c2, 0x1362: 0x00cb, 0x1363: 0x4264, + 0x1364: 0x00c8, 0x1365: 0x00c5, 0x1366: 0x0447, 0x1368: 0x046b, 0x1369: 0x044b, + 0x136a: 0x044f, 0x136b: 0x0453, 0x136c: 0x0457, 0x136d: 0x046f, 0x136e: 0x0473, + // Block 0x4e, offset 0x1380 + 0x1380: 0x0063, 0x1381: 0x0065, 0x1382: 0x0067, 0x1383: 0x0069, 0x1384: 0x006b, 0x1385: 0x006d, + 0x1386: 0x006f, 0x1387: 0x0071, 0x1388: 0x0073, 0x1389: 0x0075, 0x138a: 0x0083, 0x138b: 0x0085, + 0x138c: 0x0087, 0x138d: 0x0089, 0x138e: 0x008b, 0x138f: 0x008d, 0x1390: 0x008f, 0x1391: 0x0091, + 0x1392: 0x0093, 0x1393: 0x0095, 0x1394: 0x0097, 0x1395: 0x0099, 0x1396: 0x009b, 0x1397: 0x009d, + 0x1398: 0x009f, 0x1399: 0x00a1, 0x139a: 0x00a3, 0x139b: 0x00a5, 0x139c: 0x00a7, 0x139d: 0x00a9, + 0x139e: 0x00ab, 0x139f: 0x00ad, 0x13a0: 0x00af, 0x13a1: 0x00b1, 0x13a2: 0x00b3, 0x13a3: 0x00b5, + 0x13a4: 0x00dd, 0x13a5: 0x00f2, 0x13a8: 0x0173, 0x13a9: 0x0176, + 0x13aa: 0x0179, 0x13ab: 0x017c, 0x13ac: 0x017f, 0x13ad: 0x0182, 0x13ae: 0x0185, 0x13af: 0x0188, + 0x13b0: 0x018b, 0x13b1: 0x018e, 0x13b2: 0x0191, 0x13b3: 0x0194, 0x13b4: 0x0197, 0x13b5: 0x019a, + 0x13b6: 0x019d, 0x13b7: 0x01a0, 0x13b8: 0x01a3, 0x13b9: 0x0188, 0x13ba: 0x01a6, 0x13bb: 0x01a9, + 0x13bc: 0x01ac, 0x13bd: 0x01af, 0x13be: 0x01b2, 0x13bf: 0x01b5, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x01fd, 0x13c1: 0x0200, 0x13c2: 0x0203, 0x13c3: 0x045b, 0x13c4: 0x01c7, 0x13c5: 0x01d0, + 0x13c6: 0x01d6, 0x13c7: 0x01fa, 0x13c8: 0x01eb, 0x13c9: 0x01e8, 0x13ca: 0x0206, 0x13cb: 0x0209, + 0x13ce: 0x0021, 0x13cf: 0x0023, 0x13d0: 0x0025, 0x13d1: 0x0027, + 0x13d2: 0x0029, 0x13d3: 0x002b, 0x13d4: 0x002d, 0x13d5: 0x002f, 0x13d6: 0x0031, 0x13d7: 0x0033, + 0x13d8: 0x0021, 0x13d9: 0x0023, 0x13da: 0x0025, 0x13db: 0x0027, 0x13dc: 0x0029, 0x13dd: 0x002b, + 0x13de: 0x002d, 0x13df: 0x002f, 0x13e0: 0x0031, 0x13e1: 0x0033, 0x13e2: 0x0021, 0x13e3: 0x0023, + 0x13e4: 0x0025, 0x13e5: 0x0027, 0x13e6: 0x0029, 0x13e7: 0x002b, 0x13e8: 0x002d, 0x13e9: 0x002f, + 0x13ea: 0x0031, 0x13eb: 0x0033, 0x13ec: 0x0021, 0x13ed: 0x0023, 0x13ee: 0x0025, 0x13ef: 0x0027, + 0x13f0: 0x0029, 0x13f1: 0x002b, 0x13f2: 0x002d, 0x13f3: 0x002f, 0x13f4: 0x0031, 0x13f5: 0x0033, + 0x13f6: 0x0021, 0x13f7: 0x0023, 0x13f8: 0x0025, 0x13f9: 0x0027, 0x13fa: 0x0029, 0x13fb: 0x002b, + 0x13fc: 0x002d, 0x13fd: 0x002f, 0x13fe: 0x0031, 0x13ff: 0x0033, + // Block 0x50, offset 0x1400 + 0x1400: 0x0239, 0x1401: 0x023c, 0x1402: 0x0248, 0x1403: 0x0251, 0x1405: 0x028a, + 0x1406: 0x025a, 0x1407: 0x024b, 0x1408: 0x0269, 0x1409: 0x0290, 0x140a: 0x027b, 0x140b: 0x027e, + 0x140c: 0x0281, 0x140d: 0x0284, 0x140e: 0x025d, 0x140f: 0x026f, 0x1410: 0x0275, 0x1411: 0x0263, + 0x1412: 0x0278, 0x1413: 0x0257, 0x1414: 0x0260, 0x1415: 0x0242, 0x1416: 0x0245, 0x1417: 0x024e, + 0x1418: 0x0254, 0x1419: 0x0266, 0x141a: 0x026c, 0x141b: 0x0272, 0x141c: 0x0293, 0x141d: 0x02e4, + 0x141e: 0x02cc, 0x141f: 0x0296, 0x1421: 0x023c, 0x1422: 0x0248, + 0x1424: 0x0287, 0x1427: 0x024b, 0x1429: 0x0290, + 0x142a: 0x027b, 0x142b: 0x027e, 0x142c: 0x0281, 0x142d: 0x0284, 0x142e: 0x025d, 0x142f: 0x026f, + 0x1430: 0x0275, 0x1431: 0x0263, 0x1432: 0x0278, 0x1434: 0x0260, 0x1435: 0x0242, + 0x1436: 0x0245, 0x1437: 0x024e, 0x1439: 0x0266, 0x143b: 0x0272, + // Block 0x51, offset 0x1440 + 0x1442: 0x0248, + 0x1447: 0x024b, 0x1449: 0x0290, 0x144b: 0x027e, + 0x144d: 0x0284, 0x144e: 0x025d, 0x144f: 0x026f, 0x1451: 0x0263, + 0x1452: 0x0278, 0x1454: 0x0260, 0x1457: 0x024e, + 0x1459: 0x0266, 0x145b: 0x0272, 0x145d: 0x02e4, + 0x145f: 0x0296, 0x1461: 0x023c, 0x1462: 0x0248, + 0x1464: 0x0287, 0x1467: 0x024b, 0x1468: 0x0269, 0x1469: 0x0290, + 0x146a: 0x027b, 0x146c: 0x0281, 0x146d: 0x0284, 0x146e: 0x025d, 0x146f: 0x026f, + 0x1470: 0x0275, 0x1471: 0x0263, 0x1472: 0x0278, 0x1474: 0x0260, 0x1475: 0x0242, + 0x1476: 0x0245, 0x1477: 0x024e, 0x1479: 0x0266, 0x147a: 0x026c, 0x147b: 0x0272, + 0x147c: 0x0293, 0x147e: 0x02cc, + // Block 0x52, offset 0x1480 + 0x1480: 0x0239, 0x1481: 0x023c, 0x1482: 0x0248, 0x1483: 0x0251, 0x1484: 0x0287, 0x1485: 0x028a, + 0x1486: 0x025a, 0x1487: 0x024b, 0x1488: 0x0269, 0x1489: 0x0290, 0x148b: 0x027e, + 0x148c: 0x0281, 0x148d: 0x0284, 0x148e: 0x025d, 0x148f: 0x026f, 0x1490: 0x0275, 0x1491: 0x0263, + 0x1492: 0x0278, 0x1493: 0x0257, 0x1494: 0x0260, 0x1495: 0x0242, 0x1496: 0x0245, 0x1497: 0x024e, + 0x1498: 0x0254, 0x1499: 0x0266, 0x149a: 0x026c, 0x149b: 0x0272, + 0x14a1: 0x023c, 0x14a2: 0x0248, 0x14a3: 0x0251, + 0x14a5: 0x028a, 0x14a6: 0x025a, 0x14a7: 0x024b, 0x14a8: 0x0269, 0x14a9: 0x0290, + 0x14ab: 0x027e, 0x14ac: 0x0281, 0x14ad: 0x0284, 0x14ae: 0x025d, 0x14af: 0x026f, + 0x14b0: 0x0275, 0x14b1: 0x0263, 0x14b2: 0x0278, 0x14b3: 0x0257, 0x14b4: 0x0260, 0x14b5: 0x0242, + 0x14b6: 0x0245, 0x14b7: 0x024e, 0x14b8: 0x0254, 0x14b9: 0x0266, 0x14ba: 0x026c, 0x14bb: 0x0272, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x1879, 0x14c1: 0x1876, 0x14c2: 0x187c, 0x14c3: 0x18a0, 0x14c4: 0x18c4, 0x14c5: 0x18e8, + 0x14c6: 0x190c, 0x14c7: 0x1915, 0x14c8: 0x191b, 0x14c9: 0x1921, 0x14ca: 0x1927, + 0x14d0: 0x1a8c, 0x14d1: 0x1a90, + 0x14d2: 0x1a94, 0x14d3: 0x1a98, 0x14d4: 0x1a9c, 0x14d5: 0x1aa0, 0x14d6: 0x1aa4, 0x14d7: 0x1aa8, + 0x14d8: 0x1aac, 0x14d9: 0x1ab0, 0x14da: 0x1ab4, 0x14db: 0x1ab8, 0x14dc: 0x1abc, 0x14dd: 0x1ac0, + 0x14de: 0x1ac4, 0x14df: 0x1ac8, 0x14e0: 0x1acc, 0x14e1: 0x1ad0, 0x14e2: 0x1ad4, 0x14e3: 0x1ad8, + 0x14e4: 0x1adc, 0x14e5: 0x1ae0, 0x14e6: 0x1ae4, 0x14e7: 0x1ae8, 0x14e8: 0x1aec, 0x14e9: 0x1af0, + 0x14ea: 0x271e, 0x14eb: 0x0047, 0x14ec: 0x0065, 0x14ed: 0x193c, 0x14ee: 0x19b1, + 0x14f0: 0x0043, 0x14f1: 0x0045, 0x14f2: 0x0047, 0x14f3: 0x0049, 0x14f4: 0x004b, 0x14f5: 0x004d, + 0x14f6: 0x004f, 0x14f7: 0x0051, 0x14f8: 0x0053, 0x14f9: 0x0055, 0x14fa: 0x0057, 0x14fb: 0x0059, + 0x14fc: 0x005b, 0x14fd: 0x005d, 0x14fe: 0x005f, 0x14ff: 0x0061, + // Block 0x54, offset 0x1500 + 0x1500: 0x26ad, 0x1501: 0x26c2, 0x1502: 0x0503, + 0x1510: 0x0c0f, 0x1511: 0x0a47, + 0x1512: 0x08d3, 0x1513: 0x45c4, 0x1514: 0x071b, 0x1515: 0x09ef, 0x1516: 0x132f, 0x1517: 0x09ff, + 0x1518: 0x0727, 0x1519: 0x0cd7, 0x151a: 0x0eaf, 0x151b: 0x0caf, 0x151c: 0x0827, 0x151d: 0x0b6b, + 0x151e: 0x07bf, 0x151f: 0x0cb7, 0x1520: 0x0813, 0x1521: 0x1117, 0x1522: 0x0f83, 0x1523: 0x138b, + 0x1524: 0x09d3, 0x1525: 0x090b, 0x1526: 0x0e63, 0x1527: 0x0c1b, 0x1528: 0x0c47, 0x1529: 0x06bf, + 0x152a: 0x06cb, 0x152b: 0x140b, 0x152c: 0x0adb, 0x152d: 0x06e7, 0x152e: 0x08ef, 0x152f: 0x0c3b, + 0x1530: 0x13b3, 0x1531: 0x0c13, 0x1532: 0x106f, 0x1533: 0x10ab, 0x1534: 0x08f7, 0x1535: 0x0e43, + 0x1536: 0x0d0b, 0x1537: 0x0d07, 0x1538: 0x0f97, 0x1539: 0x082b, 0x153a: 0x0957, 0x153b: 0x1443, + // Block 0x55, offset 0x1540 + 0x1540: 0x06fb, 0x1541: 0x06f3, 0x1542: 0x0703, 0x1543: 0x1647, 0x1544: 0x0747, 0x1545: 0x0757, + 0x1546: 0x075b, 0x1547: 0x0763, 0x1548: 0x076b, 0x1549: 0x076f, 0x154a: 0x077b, 0x154b: 0x0773, + 0x154c: 0x05b3, 0x154d: 0x165b, 0x154e: 0x078f, 0x154f: 0x0793, 0x1550: 0x0797, 0x1551: 0x07b3, + 0x1552: 0x164c, 0x1553: 0x05b7, 0x1554: 0x079f, 0x1555: 0x07bf, 0x1556: 0x1656, 0x1557: 0x07cf, + 0x1558: 0x07d7, 0x1559: 0x0737, 0x155a: 0x07df, 0x155b: 0x07e3, 0x155c: 0x1831, 0x155d: 0x07ff, + 0x155e: 0x0807, 0x155f: 0x05bf, 0x1560: 0x081f, 0x1561: 0x0823, 0x1562: 0x082b, 0x1563: 0x082f, + 0x1564: 0x05c3, 0x1565: 0x0847, 0x1566: 0x084b, 0x1567: 0x0857, 0x1568: 0x0863, 0x1569: 0x0867, + 0x156a: 0x086b, 0x156b: 0x0873, 0x156c: 0x0893, 0x156d: 0x0897, 0x156e: 0x089f, 0x156f: 0x08af, + 0x1570: 0x08b7, 0x1571: 0x08bb, 0x1572: 0x08bb, 0x1573: 0x08bb, 0x1574: 0x166a, 0x1575: 0x0e93, + 0x1576: 0x08cf, 0x1577: 0x08d7, 0x1578: 0x166f, 0x1579: 0x08e3, 0x157a: 0x08eb, 0x157b: 0x08f3, + 0x157c: 0x091b, 0x157d: 0x0907, 0x157e: 0x0913, 0x157f: 0x0917, + // Block 0x56, offset 0x1580 + 0x1580: 0x091f, 0x1581: 0x0927, 0x1582: 0x092b, 0x1583: 0x0933, 0x1584: 0x093b, 0x1585: 0x093f, + 0x1586: 0x093f, 0x1587: 0x0947, 0x1588: 0x094f, 0x1589: 0x0953, 0x158a: 0x095f, 0x158b: 0x0983, + 0x158c: 0x0967, 0x158d: 0x0987, 0x158e: 0x096b, 0x158f: 0x0973, 0x1590: 0x080b, 0x1591: 0x09cf, + 0x1592: 0x0997, 0x1593: 0x099b, 0x1594: 0x099f, 0x1595: 0x0993, 0x1596: 0x09a7, 0x1597: 0x09a3, + 0x1598: 0x09bb, 0x1599: 0x1674, 0x159a: 0x09d7, 0x159b: 0x09db, 0x159c: 0x09e3, 0x159d: 0x09ef, + 0x159e: 0x09f7, 0x159f: 0x0a13, 0x15a0: 0x1679, 0x15a1: 0x167e, 0x15a2: 0x0a1f, 0x15a3: 0x0a23, + 0x15a4: 0x0a27, 0x15a5: 0x0a1b, 0x15a6: 0x0a2f, 0x15a7: 0x05c7, 0x15a8: 0x05cb, 0x15a9: 0x0a37, + 0x15aa: 0x0a3f, 0x15ab: 0x0a3f, 0x15ac: 0x1683, 0x15ad: 0x0a5b, 0x15ae: 0x0a5f, 0x15af: 0x0a63, + 0x15b0: 0x0a6b, 0x15b1: 0x1688, 0x15b2: 0x0a73, 0x15b3: 0x0a77, 0x15b4: 0x0b4f, 0x15b5: 0x0a7f, + 0x15b6: 0x05cf, 0x15b7: 0x0a8b, 0x15b8: 0x0a9b, 0x15b9: 0x0aa7, 0x15ba: 0x0aa3, 0x15bb: 0x1692, + 0x15bc: 0x0aaf, 0x15bd: 0x1697, 0x15be: 0x0abb, 0x15bf: 0x0ab7, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x0abf, 0x15c1: 0x0acf, 0x15c2: 0x0ad3, 0x15c3: 0x05d3, 0x15c4: 0x0ae3, 0x15c5: 0x0aeb, + 0x15c6: 0x0aef, 0x15c7: 0x0af3, 0x15c8: 0x05d7, 0x15c9: 0x169c, 0x15ca: 0x05db, 0x15cb: 0x0b0f, + 0x15cc: 0x0b13, 0x15cd: 0x0b17, 0x15ce: 0x0b1f, 0x15cf: 0x1863, 0x15d0: 0x0b37, 0x15d1: 0x16a6, + 0x15d2: 0x16a6, 0x15d3: 0x11d7, 0x15d4: 0x0b47, 0x15d5: 0x0b47, 0x15d6: 0x05df, 0x15d7: 0x16c9, + 0x15d8: 0x179b, 0x15d9: 0x0b57, 0x15da: 0x0b5f, 0x15db: 0x05e3, 0x15dc: 0x0b73, 0x15dd: 0x0b83, + 0x15de: 0x0b87, 0x15df: 0x0b8f, 0x15e0: 0x0b9f, 0x15e1: 0x05eb, 0x15e2: 0x05e7, 0x15e3: 0x0ba3, + 0x15e4: 0x16ab, 0x15e5: 0x0ba7, 0x15e6: 0x0bbb, 0x15e7: 0x0bbf, 0x15e8: 0x0bc3, 0x15e9: 0x0bbf, + 0x15ea: 0x0bcf, 0x15eb: 0x0bd3, 0x15ec: 0x0be3, 0x15ed: 0x0bdb, 0x15ee: 0x0bdf, 0x15ef: 0x0be7, + 0x15f0: 0x0beb, 0x15f1: 0x0bef, 0x15f2: 0x0bfb, 0x15f3: 0x0bff, 0x15f4: 0x0c17, 0x15f5: 0x0c1f, + 0x15f6: 0x0c2f, 0x15f7: 0x0c43, 0x15f8: 0x16ba, 0x15f9: 0x0c3f, 0x15fa: 0x0c33, 0x15fb: 0x0c4b, + 0x15fc: 0x0c53, 0x15fd: 0x0c67, 0x15fe: 0x16bf, 0x15ff: 0x0c6f, + // Block 0x58, offset 0x1600 + 0x1600: 0x0c63, 0x1601: 0x0c5b, 0x1602: 0x05ef, 0x1603: 0x0c77, 0x1604: 0x0c7f, 0x1605: 0x0c87, + 0x1606: 0x0c7b, 0x1607: 0x05f3, 0x1608: 0x0c97, 0x1609: 0x0c9f, 0x160a: 0x16c4, 0x160b: 0x0ccb, + 0x160c: 0x0cff, 0x160d: 0x0cdb, 0x160e: 0x05ff, 0x160f: 0x0ce7, 0x1610: 0x05fb, 0x1611: 0x05f7, + 0x1612: 0x07c3, 0x1613: 0x07c7, 0x1614: 0x0d03, 0x1615: 0x0ceb, 0x1616: 0x11ab, 0x1617: 0x0663, + 0x1618: 0x0d0f, 0x1619: 0x0d13, 0x161a: 0x0d17, 0x161b: 0x0d2b, 0x161c: 0x0d23, 0x161d: 0x16dd, + 0x161e: 0x0603, 0x161f: 0x0d3f, 0x1620: 0x0d33, 0x1621: 0x0d4f, 0x1622: 0x0d57, 0x1623: 0x16e7, + 0x1624: 0x0d5b, 0x1625: 0x0d47, 0x1626: 0x0d63, 0x1627: 0x0607, 0x1628: 0x0d67, 0x1629: 0x0d6b, + 0x162a: 0x0d6f, 0x162b: 0x0d7b, 0x162c: 0x16ec, 0x162d: 0x0d83, 0x162e: 0x060b, 0x162f: 0x0d8f, + 0x1630: 0x16f1, 0x1631: 0x0d93, 0x1632: 0x060f, 0x1633: 0x0d9f, 0x1634: 0x0dab, 0x1635: 0x0db7, + 0x1636: 0x0dbb, 0x1637: 0x16f6, 0x1638: 0x168d, 0x1639: 0x16fb, 0x163a: 0x0ddb, 0x163b: 0x1700, + 0x163c: 0x0de7, 0x163d: 0x0def, 0x163e: 0x0ddf, 0x163f: 0x0dfb, + // Block 0x59, offset 0x1640 + 0x1640: 0x0e0b, 0x1641: 0x0e1b, 0x1642: 0x0e0f, 0x1643: 0x0e13, 0x1644: 0x0e1f, 0x1645: 0x0e23, + 0x1646: 0x1705, 0x1647: 0x0e07, 0x1648: 0x0e3b, 0x1649: 0x0e3f, 0x164a: 0x0613, 0x164b: 0x0e53, + 0x164c: 0x0e4f, 0x164d: 0x170a, 0x164e: 0x0e33, 0x164f: 0x0e6f, 0x1650: 0x170f, 0x1651: 0x1714, + 0x1652: 0x0e73, 0x1653: 0x0e87, 0x1654: 0x0e83, 0x1655: 0x0e7f, 0x1656: 0x0617, 0x1657: 0x0e8b, + 0x1658: 0x0e9b, 0x1659: 0x0e97, 0x165a: 0x0ea3, 0x165b: 0x1651, 0x165c: 0x0eb3, 0x165d: 0x1719, + 0x165e: 0x0ebf, 0x165f: 0x1723, 0x1660: 0x0ed3, 0x1661: 0x0edf, 0x1662: 0x0ef3, 0x1663: 0x1728, + 0x1664: 0x0f07, 0x1665: 0x0f0b, 0x1666: 0x172d, 0x1667: 0x1732, 0x1668: 0x0f27, 0x1669: 0x0f37, + 0x166a: 0x061b, 0x166b: 0x0f3b, 0x166c: 0x061f, 0x166d: 0x061f, 0x166e: 0x0f53, 0x166f: 0x0f57, + 0x1670: 0x0f5f, 0x1671: 0x0f63, 0x1672: 0x0f6f, 0x1673: 0x0623, 0x1674: 0x0f87, 0x1675: 0x1737, + 0x1676: 0x0fa3, 0x1677: 0x173c, 0x1678: 0x0faf, 0x1679: 0x16a1, 0x167a: 0x0fbf, 0x167b: 0x1741, + 0x167c: 0x1746, 0x167d: 0x174b, 0x167e: 0x0627, 0x167f: 0x062b, + // Block 0x5a, offset 0x1680 + 0x1680: 0x0ff7, 0x1681: 0x1755, 0x1682: 0x1750, 0x1683: 0x175a, 0x1684: 0x175f, 0x1685: 0x0fff, + 0x1686: 0x1003, 0x1687: 0x1003, 0x1688: 0x100b, 0x1689: 0x0633, 0x168a: 0x100f, 0x168b: 0x0637, + 0x168c: 0x063b, 0x168d: 0x1769, 0x168e: 0x1023, 0x168f: 0x102b, 0x1690: 0x1037, 0x1691: 0x063f, + 0x1692: 0x176e, 0x1693: 0x105b, 0x1694: 0x1773, 0x1695: 0x1778, 0x1696: 0x107b, 0x1697: 0x1093, + 0x1698: 0x0643, 0x1699: 0x109b, 0x169a: 0x109f, 0x169b: 0x10a3, 0x169c: 0x177d, 0x169d: 0x1782, + 0x169e: 0x1782, 0x169f: 0x10bb, 0x16a0: 0x0647, 0x16a1: 0x1787, 0x16a2: 0x10cf, 0x16a3: 0x10d3, + 0x16a4: 0x064b, 0x16a5: 0x178c, 0x16a6: 0x10ef, 0x16a7: 0x064f, 0x16a8: 0x10ff, 0x16a9: 0x10f7, + 0x16aa: 0x1107, 0x16ab: 0x1796, 0x16ac: 0x111f, 0x16ad: 0x0653, 0x16ae: 0x112b, 0x16af: 0x1133, + 0x16b0: 0x1143, 0x16b1: 0x0657, 0x16b2: 0x17a0, 0x16b3: 0x17a5, 0x16b4: 0x065b, 0x16b5: 0x17aa, + 0x16b6: 0x115b, 0x16b7: 0x17af, 0x16b8: 0x1167, 0x16b9: 0x1173, 0x16ba: 0x117b, 0x16bb: 0x17b4, + 0x16bc: 0x17b9, 0x16bd: 0x118f, 0x16be: 0x17be, 0x16bf: 0x1197, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x16ce, 0x16c1: 0x065f, 0x16c2: 0x11af, 0x16c3: 0x11b3, 0x16c4: 0x0667, 0x16c5: 0x11b7, + 0x16c6: 0x0a33, 0x16c7: 0x17c3, 0x16c8: 0x17c8, 0x16c9: 0x16d3, 0x16ca: 0x16d8, 0x16cb: 0x11d7, + 0x16cc: 0x11db, 0x16cd: 0x13f3, 0x16ce: 0x066b, 0x16cf: 0x1207, 0x16d0: 0x1203, 0x16d1: 0x120b, + 0x16d2: 0x083f, 0x16d3: 0x120f, 0x16d4: 0x1213, 0x16d5: 0x1217, 0x16d6: 0x121f, 0x16d7: 0x17cd, + 0x16d8: 0x121b, 0x16d9: 0x1223, 0x16da: 0x1237, 0x16db: 0x123b, 0x16dc: 0x1227, 0x16dd: 0x123f, + 0x16de: 0x1253, 0x16df: 0x1267, 0x16e0: 0x1233, 0x16e1: 0x1247, 0x16e2: 0x124b, 0x16e3: 0x124f, + 0x16e4: 0x17d2, 0x16e5: 0x17dc, 0x16e6: 0x17d7, 0x16e7: 0x066f, 0x16e8: 0x126f, 0x16e9: 0x1273, + 0x16ea: 0x127b, 0x16eb: 0x17f0, 0x16ec: 0x127f, 0x16ed: 0x17e1, 0x16ee: 0x0673, 0x16ef: 0x0677, + 0x16f0: 0x17e6, 0x16f1: 0x17eb, 0x16f2: 0x067b, 0x16f3: 0x129f, 0x16f4: 0x12a3, 0x16f5: 0x12a7, + 0x16f6: 0x12ab, 0x16f7: 0x12b7, 0x16f8: 0x12b3, 0x16f9: 0x12bf, 0x16fa: 0x12bb, 0x16fb: 0x12cb, + 0x16fc: 0x12c3, 0x16fd: 0x12c7, 0x16fe: 0x12cf, 0x16ff: 0x067f, + // Block 0x5c, offset 0x1700 + 0x1700: 0x12d7, 0x1701: 0x12db, 0x1702: 0x0683, 0x1703: 0x12eb, 0x1704: 0x12ef, 0x1705: 0x17f5, + 0x1706: 0x12fb, 0x1707: 0x12ff, 0x1708: 0x0687, 0x1709: 0x130b, 0x170a: 0x05bb, 0x170b: 0x17fa, + 0x170c: 0x17ff, 0x170d: 0x068b, 0x170e: 0x068f, 0x170f: 0x1337, 0x1710: 0x134f, 0x1711: 0x136b, + 0x1712: 0x137b, 0x1713: 0x1804, 0x1714: 0x138f, 0x1715: 0x1393, 0x1716: 0x13ab, 0x1717: 0x13b7, + 0x1718: 0x180e, 0x1719: 0x1660, 0x171a: 0x13c3, 0x171b: 0x13bf, 0x171c: 0x13cb, 0x171d: 0x1665, + 0x171e: 0x13d7, 0x171f: 0x13e3, 0x1720: 0x1813, 0x1721: 0x1818, 0x1722: 0x1423, 0x1723: 0x142f, + 0x1724: 0x1437, 0x1725: 0x181d, 0x1726: 0x143b, 0x1727: 0x1467, 0x1728: 0x1473, 0x1729: 0x1477, + 0x172a: 0x146f, 0x172b: 0x1483, 0x172c: 0x1487, 0x172d: 0x1822, 0x172e: 0x1493, 0x172f: 0x0693, + 0x1730: 0x149b, 0x1731: 0x1827, 0x1732: 0x0697, 0x1733: 0x14d3, 0x1734: 0x0ac3, 0x1735: 0x14eb, + 0x1736: 0x182c, 0x1737: 0x1836, 0x1738: 0x069b, 0x1739: 0x069f, 0x173a: 0x1513, 0x173b: 0x183b, + 0x173c: 0x06a3, 0x173d: 0x1840, 0x173e: 0x152b, 0x173f: 0x152b, + // Block 0x5d, offset 0x1740 + 0x1740: 0x1533, 0x1741: 0x1845, 0x1742: 0x154b, 0x1743: 0x06a7, 0x1744: 0x155b, 0x1745: 0x1567, + 0x1746: 0x156f, 0x1747: 0x1577, 0x1748: 0x06ab, 0x1749: 0x184a, 0x174a: 0x158b, 0x174b: 0x15a7, + 0x174c: 0x15b3, 0x174d: 0x06af, 0x174e: 0x06b3, 0x174f: 0x15b7, 0x1750: 0x184f, 0x1751: 0x06b7, + 0x1752: 0x1854, 0x1753: 0x1859, 0x1754: 0x185e, 0x1755: 0x15db, 0x1756: 0x06bb, 0x1757: 0x15ef, + 0x1758: 0x15f7, 0x1759: 0x15fb, 0x175a: 0x1603, 0x175b: 0x160b, 0x175c: 0x1613, 0x175d: 0x1868, +} + +// nfkcIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var nfkcIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x5c, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x5d, 0xc7: 0x04, + 0xc8: 0x05, 0xca: 0x5e, 0xcb: 0x5f, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x09, + 0xd0: 0x0a, 0xd1: 0x60, 0xd2: 0x61, 0xd3: 0x0b, 0xd6: 0x0c, 0xd7: 0x62, + 0xd8: 0x63, 0xd9: 0x0d, 0xdb: 0x64, 0xdc: 0x65, 0xdd: 0x66, 0xdf: 0x67, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, + 0xf0: 0x13, + // Block 0x4, offset 0x100 + 0x120: 0x68, 0x121: 0x69, 0x123: 0x0e, 0x124: 0x6a, 0x125: 0x6b, 0x126: 0x6c, 0x127: 0x6d, + 0x128: 0x6e, 0x129: 0x6f, 0x12a: 0x70, 0x12b: 0x71, 0x12c: 0x6c, 0x12d: 0x72, 0x12e: 0x73, 0x12f: 0x74, + 0x131: 0x75, 0x132: 0x76, 0x133: 0x77, 0x134: 0x78, 0x135: 0x79, 0x137: 0x7a, + 0x138: 0x7b, 0x139: 0x7c, 0x13a: 0x7d, 0x13b: 0x7e, 0x13c: 0x7f, 0x13d: 0x80, 0x13e: 0x81, 0x13f: 0x82, + // Block 0x5, offset 0x140 + 0x140: 0x83, 0x142: 0x84, 0x143: 0x85, 0x144: 0x86, 0x145: 0x87, 0x146: 0x88, 0x147: 0x89, + 0x14d: 0x8a, + 0x15c: 0x8b, 0x15f: 0x8c, + 0x162: 0x8d, 0x164: 0x8e, + 0x168: 0x8f, 0x169: 0x90, 0x16a: 0x91, 0x16c: 0x0f, 0x16d: 0x92, 0x16e: 0x93, 0x16f: 0x94, + 0x170: 0x95, 0x173: 0x96, 0x174: 0x97, 0x175: 0x10, 0x176: 0x11, 0x177: 0x12, + 0x178: 0x13, 0x179: 0x14, 0x17a: 0x15, 0x17b: 0x16, 0x17c: 0x17, 0x17d: 0x18, 0x17e: 0x19, 0x17f: 0x1a, + // Block 0x6, offset 0x180 + 0x180: 0x98, 0x181: 0x99, 0x182: 0x9a, 0x183: 0x9b, 0x184: 0x1b, 0x185: 0x1c, 0x186: 0x9c, 0x187: 0x9d, + 0x188: 0x9e, 0x189: 0x1d, 0x18a: 0x1e, 0x18b: 0x9f, 0x18c: 0xa0, + 0x191: 0x1f, 0x192: 0x20, 0x193: 0xa1, + 0x1a8: 0xa2, 0x1a9: 0xa3, 0x1ab: 0xa4, + 0x1b1: 0xa5, 0x1b3: 0xa6, 0x1b5: 0xa7, 0x1b7: 0xa8, + 0x1ba: 0xa9, 0x1bb: 0xaa, 0x1bc: 0x21, 0x1bd: 0x22, 0x1be: 0x23, 0x1bf: 0xab, + // Block 0x7, offset 0x1c0 + 0x1c0: 0xac, 0x1c1: 0x24, 0x1c2: 0x25, 0x1c3: 0x26, 0x1c4: 0xad, 0x1c5: 0x27, 0x1c6: 0x28, + 0x1c8: 0x29, 0x1c9: 0x2a, 0x1ca: 0x2b, 0x1cb: 0x2c, 0x1cc: 0x2d, 0x1cd: 0x2e, 0x1ce: 0x2f, 0x1cf: 0x30, + // Block 0x8, offset 0x200 + 0x219: 0xae, 0x21a: 0xaf, 0x21b: 0xb0, 0x21d: 0xb1, 0x21f: 0xb2, + 0x220: 0xb3, 0x223: 0xb4, 0x224: 0xb5, 0x225: 0xb6, 0x226: 0xb7, 0x227: 0xb8, + 0x22a: 0xb9, 0x22b: 0xba, 0x22d: 0xbb, 0x22f: 0xbc, + 0x230: 0xbd, 0x231: 0xbe, 0x232: 0xbf, 0x233: 0xc0, 0x234: 0xc1, 0x235: 0xc2, 0x236: 0xc3, 0x237: 0xbd, + 0x238: 0xbe, 0x239: 0xbf, 0x23a: 0xc0, 0x23b: 0xc1, 0x23c: 0xc2, 0x23d: 0xc3, 0x23e: 0xbd, 0x23f: 0xbe, + // Block 0x9, offset 0x240 + 0x240: 0xbf, 0x241: 0xc0, 0x242: 0xc1, 0x243: 0xc2, 0x244: 0xc3, 0x245: 0xbd, 0x246: 0xbe, 0x247: 0xbf, + 0x248: 0xc0, 0x249: 0xc1, 0x24a: 0xc2, 0x24b: 0xc3, 0x24c: 0xbd, 0x24d: 0xbe, 0x24e: 0xbf, 0x24f: 0xc0, + 0x250: 0xc1, 0x251: 0xc2, 0x252: 0xc3, 0x253: 0xbd, 0x254: 0xbe, 0x255: 0xbf, 0x256: 0xc0, 0x257: 0xc1, + 0x258: 0xc2, 0x259: 0xc3, 0x25a: 0xbd, 0x25b: 0xbe, 0x25c: 0xbf, 0x25d: 0xc0, 0x25e: 0xc1, 0x25f: 0xc2, + 0x260: 0xc3, 0x261: 0xbd, 0x262: 0xbe, 0x263: 0xbf, 0x264: 0xc0, 0x265: 0xc1, 0x266: 0xc2, 0x267: 0xc3, + 0x268: 0xbd, 0x269: 0xbe, 0x26a: 0xbf, 0x26b: 0xc0, 0x26c: 0xc1, 0x26d: 0xc2, 0x26e: 0xc3, 0x26f: 0xbd, + 0x270: 0xbe, 0x271: 0xbf, 0x272: 0xc0, 0x273: 0xc1, 0x274: 0xc2, 0x275: 0xc3, 0x276: 0xbd, 0x277: 0xbe, + 0x278: 0xbf, 0x279: 0xc0, 0x27a: 0xc1, 0x27b: 0xc2, 0x27c: 0xc3, 0x27d: 0xbd, 0x27e: 0xbe, 0x27f: 0xbf, + // Block 0xa, offset 0x280 + 0x280: 0xc0, 0x281: 0xc1, 0x282: 0xc2, 0x283: 0xc3, 0x284: 0xbd, 0x285: 0xbe, 0x286: 0xbf, 0x287: 0xc0, + 0x288: 0xc1, 0x289: 0xc2, 0x28a: 0xc3, 0x28b: 0xbd, 0x28c: 0xbe, 0x28d: 0xbf, 0x28e: 0xc0, 0x28f: 0xc1, + 0x290: 0xc2, 0x291: 0xc3, 0x292: 0xbd, 0x293: 0xbe, 0x294: 0xbf, 0x295: 0xc0, 0x296: 0xc1, 0x297: 0xc2, + 0x298: 0xc3, 0x299: 0xbd, 0x29a: 0xbe, 0x29b: 0xbf, 0x29c: 0xc0, 0x29d: 0xc1, 0x29e: 0xc2, 0x29f: 0xc3, + 0x2a0: 0xbd, 0x2a1: 0xbe, 0x2a2: 0xbf, 0x2a3: 0xc0, 0x2a4: 0xc1, 0x2a5: 0xc2, 0x2a6: 0xc3, 0x2a7: 0xbd, + 0x2a8: 0xbe, 0x2a9: 0xbf, 0x2aa: 0xc0, 0x2ab: 0xc1, 0x2ac: 0xc2, 0x2ad: 0xc3, 0x2ae: 0xbd, 0x2af: 0xbe, + 0x2b0: 0xbf, 0x2b1: 0xc0, 0x2b2: 0xc1, 0x2b3: 0xc2, 0x2b4: 0xc3, 0x2b5: 0xbd, 0x2b6: 0xbe, 0x2b7: 0xbf, + 0x2b8: 0xc0, 0x2b9: 0xc1, 0x2ba: 0xc2, 0x2bb: 0xc3, 0x2bc: 0xbd, 0x2bd: 0xbe, 0x2be: 0xbf, 0x2bf: 0xc0, + // Block 0xb, offset 0x2c0 + 0x2c0: 0xc1, 0x2c1: 0xc2, 0x2c2: 0xc3, 0x2c3: 0xbd, 0x2c4: 0xbe, 0x2c5: 0xbf, 0x2c6: 0xc0, 0x2c7: 0xc1, + 0x2c8: 0xc2, 0x2c9: 0xc3, 0x2ca: 0xbd, 0x2cb: 0xbe, 0x2cc: 0xbf, 0x2cd: 0xc0, 0x2ce: 0xc1, 0x2cf: 0xc2, + 0x2d0: 0xc3, 0x2d1: 0xbd, 0x2d2: 0xbe, 0x2d3: 0xbf, 0x2d4: 0xc0, 0x2d5: 0xc1, 0x2d6: 0xc2, 0x2d7: 0xc3, + 0x2d8: 0xbd, 0x2d9: 0xbe, 0x2da: 0xbf, 0x2db: 0xc0, 0x2dc: 0xc1, 0x2dd: 0xc2, 0x2de: 0xc4, + // Block 0xc, offset 0x300 + 0x324: 0x31, 0x325: 0x32, 0x326: 0x33, 0x327: 0x34, + 0x328: 0x35, 0x329: 0x36, 0x32a: 0x37, 0x32b: 0x38, 0x32c: 0x39, 0x32d: 0x3a, 0x32e: 0x3b, 0x32f: 0x3c, + 0x330: 0x3d, 0x331: 0x3e, 0x332: 0x3f, 0x333: 0x40, 0x334: 0x41, 0x335: 0x42, 0x336: 0x43, 0x337: 0x44, + 0x338: 0x45, 0x339: 0x46, 0x33a: 0x47, 0x33b: 0x48, 0x33c: 0xc5, 0x33d: 0x49, 0x33e: 0x4a, 0x33f: 0x4b, + // Block 0xd, offset 0x340 + 0x347: 0xc6, + 0x34b: 0xc7, 0x34d: 0xc8, + 0x368: 0xc9, 0x36b: 0xca, + 0x374: 0xcb, + 0x37d: 0xcc, + // Block 0xe, offset 0x380 + 0x381: 0xcd, 0x382: 0xce, 0x384: 0xcf, 0x385: 0xb7, 0x387: 0xd0, + 0x388: 0xd1, 0x38b: 0xd2, 0x38c: 0xd3, 0x38d: 0xd4, + 0x391: 0xd5, 0x392: 0xd6, 0x393: 0xd7, 0x396: 0xd8, 0x397: 0xd9, + 0x398: 0xda, 0x39a: 0xdb, 0x39c: 0xdc, + 0x3a0: 0xdd, + 0x3a8: 0xde, 0x3a9: 0xdf, 0x3aa: 0xe0, + 0x3b0: 0xda, 0x3b5: 0xe1, 0x3b6: 0xe2, + // Block 0xf, offset 0x3c0 + 0x3eb: 0xe3, 0x3ec: 0xe4, + // Block 0x10, offset 0x400 + 0x432: 0xe5, + // Block 0x11, offset 0x440 + 0x445: 0xe6, 0x446: 0xe7, 0x447: 0xe8, + 0x449: 0xe9, + 0x450: 0xea, 0x451: 0xeb, 0x452: 0xec, 0x453: 0xed, 0x454: 0xee, 0x455: 0xef, 0x456: 0xf0, 0x457: 0xf1, + 0x458: 0xf2, 0x459: 0xf3, 0x45a: 0x4c, 0x45b: 0xf4, 0x45c: 0xf5, 0x45d: 0xf6, 0x45e: 0xf7, 0x45f: 0x4d, + // Block 0x12, offset 0x480 + 0x480: 0xf8, + 0x4a3: 0xf9, 0x4a5: 0xfa, + 0x4b8: 0x4e, 0x4b9: 0x4f, 0x4ba: 0x50, + // Block 0x13, offset 0x4c0 + 0x4c4: 0x51, 0x4c5: 0xfb, 0x4c6: 0xfc, + 0x4c8: 0x52, 0x4c9: 0xfd, + // Block 0x14, offset 0x500 + 0x520: 0x53, 0x521: 0x54, 0x522: 0x55, 0x523: 0x56, 0x524: 0x57, 0x525: 0x58, 0x526: 0x59, 0x527: 0x5a, + 0x528: 0x5b, + // Block 0x15, offset 0x540 + 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, + 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, + 0x56f: 0x12, +} + +// nfkcSparseOffset: 162 entries, 324 bytes +var nfkcSparseOffset = []uint16{0x0, 0xe, 0x12, 0x1b, 0x25, 0x35, 0x37, 0x3c, 0x47, 0x56, 0x63, 0x6b, 0x70, 0x75, 0x77, 0x7f, 0x86, 0x89, 0x91, 0x95, 0x99, 0x9b, 0x9d, 0xa6, 0xaa, 0xb1, 0xb6, 0xb9, 0xc3, 0xc6, 0xcd, 0xd5, 0xd9, 0xdb, 0xde, 0xe2, 0xe8, 0xf9, 0x105, 0x107, 0x10d, 0x10f, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11b, 0x11e, 0x121, 0x123, 0x126, 0x129, 0x12d, 0x132, 0x13b, 0x13d, 0x140, 0x142, 0x14d, 0x158, 0x166, 0x174, 0x184, 0x192, 0x199, 0x19f, 0x1ae, 0x1b2, 0x1b4, 0x1b8, 0x1ba, 0x1bd, 0x1bf, 0x1c2, 0x1c4, 0x1c7, 0x1c9, 0x1cb, 0x1cd, 0x1d9, 0x1e3, 0x1ed, 0x1f0, 0x1f4, 0x1f6, 0x1f8, 0x1fa, 0x1fc, 0x1ff, 0x201, 0x203, 0x205, 0x207, 0x20d, 0x210, 0x214, 0x216, 0x21d, 0x223, 0x229, 0x231, 0x237, 0x23d, 0x243, 0x247, 0x249, 0x24b, 0x24d, 0x24f, 0x255, 0x258, 0x25a, 0x260, 0x263, 0x26b, 0x272, 0x275, 0x278, 0x27a, 0x27d, 0x285, 0x289, 0x290, 0x293, 0x299, 0x29b, 0x29d, 0x2a0, 0x2a2, 0x2a5, 0x2a7, 0x2a9, 0x2ab, 0x2ae, 0x2b0, 0x2b2, 0x2b4, 0x2b6, 0x2c3, 0x2cd, 0x2cf, 0x2d1, 0x2d5, 0x2da, 0x2e6, 0x2eb, 0x2f4, 0x2fa, 0x2ff, 0x303, 0x308, 0x30c, 0x31c, 0x32a, 0x338, 0x346, 0x34c, 0x34e, 0x351, 0x35b, 0x35d} + +// nfkcSparseValues: 871 entries, 3484 bytes +var nfkcSparseValues = [871]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0002, lo: 0x0d}, + {value: 0x0001, lo: 0xa0, hi: 0xa0}, + {value: 0x4278, lo: 0xa8, hi: 0xa8}, + {value: 0x0083, lo: 0xaa, hi: 0xaa}, + {value: 0x4264, lo: 0xaf, hi: 0xaf}, + {value: 0x0025, lo: 0xb2, hi: 0xb3}, + {value: 0x425a, lo: 0xb4, hi: 0xb4}, + {value: 0x01dc, lo: 0xb5, hi: 0xb5}, + {value: 0x4291, lo: 0xb8, hi: 0xb8}, + {value: 0x0023, lo: 0xb9, hi: 0xb9}, + {value: 0x009f, lo: 0xba, hi: 0xba}, + {value: 0x221c, lo: 0xbc, hi: 0xbc}, + {value: 0x2210, lo: 0xbd, hi: 0xbd}, + {value: 0x22b2, lo: 0xbe, hi: 0xbe}, + // Block 0x1, offset 0xe + {value: 0x0091, lo: 0x03}, + {value: 0x46e2, lo: 0xa0, hi: 0xa1}, + {value: 0x4714, lo: 0xaf, hi: 0xb0}, + {value: 0xa000, lo: 0xb7, hi: 0xb7}, + // Block 0x2, offset 0x12 + {value: 0x0003, lo: 0x08}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x0091, lo: 0xb0, hi: 0xb0}, + {value: 0x0119, lo: 0xb1, hi: 0xb1}, + {value: 0x0095, lo: 0xb2, hi: 0xb2}, + {value: 0x00a5, lo: 0xb3, hi: 0xb3}, + {value: 0x0143, lo: 0xb4, hi: 0xb6}, + {value: 0x00af, lo: 0xb7, hi: 0xb7}, + {value: 0x00b3, lo: 0xb8, hi: 0xb8}, + // Block 0x3, offset 0x1b + {value: 0x000a, lo: 0x09}, + {value: 0x426e, lo: 0x98, hi: 0x98}, + {value: 0x4273, lo: 0x99, hi: 0x9a}, + {value: 0x4296, lo: 0x9b, hi: 0x9b}, + {value: 0x425f, lo: 0x9c, hi: 0x9c}, + {value: 0x4282, lo: 0x9d, hi: 0x9d}, + {value: 0x0113, lo: 0xa0, hi: 0xa0}, + {value: 0x0099, lo: 0xa1, hi: 0xa1}, + {value: 0x00a7, lo: 0xa2, hi: 0xa3}, + {value: 0x0167, lo: 0xa4, hi: 0xa4}, + // Block 0x4, offset 0x25 + {value: 0x0000, lo: 0x0f}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0xa000, lo: 0x8d, hi: 0x8d}, + {value: 0x37a5, lo: 0x90, hi: 0x90}, + {value: 0x37b1, lo: 0x91, hi: 0x91}, + {value: 0x379f, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x96, hi: 0x96}, + {value: 0x3817, lo: 0x97, hi: 0x97}, + {value: 0x37e1, lo: 0x9c, hi: 0x9c}, + {value: 0x37c9, lo: 0x9d, hi: 0x9d}, + {value: 0x37f3, lo: 0x9e, hi: 0x9e}, + {value: 0xa000, lo: 0xb4, hi: 0xb5}, + {value: 0x381d, lo: 0xb6, hi: 0xb6}, + {value: 0x3823, lo: 0xb7, hi: 0xb7}, + // Block 0x5, offset 0x35 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x83, hi: 0x87}, + // Block 0x6, offset 0x37 + {value: 0x0001, lo: 0x04}, + {value: 0x8113, lo: 0x81, hi: 0x82}, + {value: 0x8132, lo: 0x84, hi: 0x84}, + {value: 0x812d, lo: 0x85, hi: 0x85}, + {value: 0x810d, lo: 0x87, hi: 0x87}, + // Block 0x7, offset 0x3c + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x97}, + {value: 0x8119, lo: 0x98, hi: 0x98}, + {value: 0x811a, lo: 0x99, hi: 0x99}, + {value: 0x811b, lo: 0x9a, hi: 0x9a}, + {value: 0x3841, lo: 0xa2, hi: 0xa2}, + {value: 0x3847, lo: 0xa3, hi: 0xa3}, + {value: 0x3853, lo: 0xa4, hi: 0xa4}, + {value: 0x384d, lo: 0xa5, hi: 0xa5}, + {value: 0x3859, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xa7, hi: 0xa7}, + // Block 0x8, offset 0x47 + {value: 0x0000, lo: 0x0e}, + {value: 0x386b, lo: 0x80, hi: 0x80}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0x385f, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x3865, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x95, hi: 0x95}, + {value: 0x8132, lo: 0x96, hi: 0x9c}, + {value: 0x8132, lo: 0x9f, hi: 0xa2}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa4}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xaa, hi: 0xaa}, + {value: 0x8132, lo: 0xab, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + // Block 0x9, offset 0x56 + {value: 0x0000, lo: 0x0c}, + {value: 0x811f, lo: 0x91, hi: 0x91}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x812d, lo: 0xb1, hi: 0xb1}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb5, hi: 0xb6}, + {value: 0x812d, lo: 0xb7, hi: 0xb9}, + {value: 0x8132, lo: 0xba, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbc}, + {value: 0x8132, lo: 0xbd, hi: 0xbd}, + {value: 0x812d, lo: 0xbe, hi: 0xbe}, + {value: 0x8132, lo: 0xbf, hi: 0xbf}, + // Block 0xa, offset 0x63 + {value: 0x0005, lo: 0x07}, + {value: 0x8132, lo: 0x80, hi: 0x80}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x812d, lo: 0x82, hi: 0x83}, + {value: 0x812d, lo: 0x84, hi: 0x85}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x812d, lo: 0x88, hi: 0x89}, + {value: 0x8132, lo: 0x8a, hi: 0x8a}, + // Block 0xb, offset 0x6b + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xab, hi: 0xb1}, + {value: 0x812d, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb3}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0xc, offset 0x70 + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0x96, hi: 0x99}, + {value: 0x8132, lo: 0x9b, hi: 0xa3}, + {value: 0x8132, lo: 0xa5, hi: 0xa7}, + {value: 0x8132, lo: 0xa9, hi: 0xad}, + // Block 0xd, offset 0x75 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x99, hi: 0x9b}, + // Block 0xe, offset 0x77 + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0xa8, hi: 0xa8}, + {value: 0x3ed8, lo: 0xa9, hi: 0xa9}, + {value: 0xa000, lo: 0xb0, hi: 0xb0}, + {value: 0x3ee0, lo: 0xb1, hi: 0xb1}, + {value: 0xa000, lo: 0xb3, hi: 0xb3}, + {value: 0x3ee8, lo: 0xb4, hi: 0xb4}, + {value: 0x9902, lo: 0xbc, hi: 0xbc}, + // Block 0xf, offset 0x7f + {value: 0x0008, lo: 0x06}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x91, hi: 0x91}, + {value: 0x812d, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x93, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x94}, + {value: 0x451c, lo: 0x98, hi: 0x9f}, + // Block 0x10, offset 0x86 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x11, offset 0x89 + {value: 0x0008, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2c9e, lo: 0x8b, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x455c, lo: 0x9c, hi: 0x9d}, + {value: 0x456c, lo: 0x9f, hi: 0x9f}, + {value: 0x8132, lo: 0xbe, hi: 0xbe}, + // Block 0x12, offset 0x91 + {value: 0x0000, lo: 0x03}, + {value: 0x4594, lo: 0xb3, hi: 0xb3}, + {value: 0x459c, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x13, offset 0x95 + {value: 0x0008, lo: 0x03}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x4574, lo: 0x99, hi: 0x9b}, + {value: 0x458c, lo: 0x9e, hi: 0x9e}, + // Block 0x14, offset 0x99 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x15, offset 0x9b + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + // Block 0x16, offset 0x9d + {value: 0x0000, lo: 0x08}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2cb6, lo: 0x88, hi: 0x88}, + {value: 0x2cae, lo: 0x8b, hi: 0x8b}, + {value: 0x2cbe, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x96, hi: 0x97}, + {value: 0x45a4, lo: 0x9c, hi: 0x9c}, + {value: 0x45ac, lo: 0x9d, hi: 0x9d}, + // Block 0x17, offset 0xa6 + {value: 0x0000, lo: 0x03}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x2cc6, lo: 0x94, hi: 0x94}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x18, offset 0xaa + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cce, lo: 0x8a, hi: 0x8a}, + {value: 0x2cde, lo: 0x8b, hi: 0x8b}, + {value: 0x2cd6, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x19, offset 0xb1 + {value: 0x1801, lo: 0x04}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x3ef0, lo: 0x88, hi: 0x88}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8120, lo: 0x95, hi: 0x96}, + // Block 0x1a, offset 0xb6 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0xa000, lo: 0xbf, hi: 0xbf}, + // Block 0x1b, offset 0xb9 + {value: 0x0000, lo: 0x09}, + {value: 0x2ce6, lo: 0x80, hi: 0x80}, + {value: 0x9900, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x2cee, lo: 0x87, hi: 0x87}, + {value: 0x2cf6, lo: 0x88, hi: 0x88}, + {value: 0x2f50, lo: 0x8a, hi: 0x8a}, + {value: 0x2dd8, lo: 0x8b, hi: 0x8b}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x95, hi: 0x96}, + // Block 0x1c, offset 0xc3 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1d, offset 0xc6 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cfe, lo: 0x8a, hi: 0x8a}, + {value: 0x2d0e, lo: 0x8b, hi: 0x8b}, + {value: 0x2d06, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1e, offset 0xcd + {value: 0x6bea, lo: 0x07}, + {value: 0x9904, lo: 0x8a, hi: 0x8a}, + {value: 0x9900, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x3ef8, lo: 0x9a, hi: 0x9a}, + {value: 0x2f58, lo: 0x9c, hi: 0x9c}, + {value: 0x2de3, lo: 0x9d, hi: 0x9d}, + {value: 0x2d16, lo: 0x9e, hi: 0x9f}, + // Block 0x1f, offset 0xd5 + {value: 0x0000, lo: 0x03}, + {value: 0x2621, lo: 0xb3, hi: 0xb3}, + {value: 0x8122, lo: 0xb8, hi: 0xb9}, + {value: 0x8104, lo: 0xba, hi: 0xba}, + // Block 0x20, offset 0xd9 + {value: 0x0000, lo: 0x01}, + {value: 0x8123, lo: 0x88, hi: 0x8b}, + // Block 0x21, offset 0xdb + {value: 0x0000, lo: 0x02}, + {value: 0x2636, lo: 0xb3, hi: 0xb3}, + {value: 0x8124, lo: 0xb8, hi: 0xb9}, + // Block 0x22, offset 0xde + {value: 0x0000, lo: 0x03}, + {value: 0x8125, lo: 0x88, hi: 0x8b}, + {value: 0x2628, lo: 0x9c, hi: 0x9c}, + {value: 0x262f, lo: 0x9d, hi: 0x9d}, + // Block 0x23, offset 0xe2 + {value: 0x0000, lo: 0x05}, + {value: 0x030b, lo: 0x8c, hi: 0x8c}, + {value: 0x812d, lo: 0x98, hi: 0x99}, + {value: 0x812d, lo: 0xb5, hi: 0xb5}, + {value: 0x812d, lo: 0xb7, hi: 0xb7}, + {value: 0x812b, lo: 0xb9, hi: 0xb9}, + // Block 0x24, offset 0xe8 + {value: 0x0000, lo: 0x10}, + {value: 0x2644, lo: 0x83, hi: 0x83}, + {value: 0x264b, lo: 0x8d, hi: 0x8d}, + {value: 0x2652, lo: 0x92, hi: 0x92}, + {value: 0x2659, lo: 0x97, hi: 0x97}, + {value: 0x2660, lo: 0x9c, hi: 0x9c}, + {value: 0x263d, lo: 0xa9, hi: 0xa9}, + {value: 0x8126, lo: 0xb1, hi: 0xb1}, + {value: 0x8127, lo: 0xb2, hi: 0xb2}, + {value: 0x4a84, lo: 0xb3, hi: 0xb3}, + {value: 0x8128, lo: 0xb4, hi: 0xb4}, + {value: 0x4a8d, lo: 0xb5, hi: 0xb5}, + {value: 0x45b4, lo: 0xb6, hi: 0xb6}, + {value: 0x45f4, lo: 0xb7, hi: 0xb7}, + {value: 0x45bc, lo: 0xb8, hi: 0xb8}, + {value: 0x45ff, lo: 0xb9, hi: 0xb9}, + {value: 0x8127, lo: 0xba, hi: 0xbd}, + // Block 0x25, offset 0xf9 + {value: 0x0000, lo: 0x0b}, + {value: 0x8127, lo: 0x80, hi: 0x80}, + {value: 0x4a96, lo: 0x81, hi: 0x81}, + {value: 0x8132, lo: 0x82, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0x86, hi: 0x87}, + {value: 0x266e, lo: 0x93, hi: 0x93}, + {value: 0x2675, lo: 0x9d, hi: 0x9d}, + {value: 0x267c, lo: 0xa2, hi: 0xa2}, + {value: 0x2683, lo: 0xa7, hi: 0xa7}, + {value: 0x268a, lo: 0xac, hi: 0xac}, + {value: 0x2667, lo: 0xb9, hi: 0xb9}, + // Block 0x26, offset 0x105 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x86, hi: 0x86}, + // Block 0x27, offset 0x107 + {value: 0x0000, lo: 0x05}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x2d1e, lo: 0xa6, hi: 0xa6}, + {value: 0x9900, lo: 0xae, hi: 0xae}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x28, offset 0x10d + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + // Block 0x29, offset 0x10f + {value: 0x0000, lo: 0x01}, + {value: 0x030f, lo: 0xbc, hi: 0xbc}, + // Block 0x2a, offset 0x111 + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x80, hi: 0x92}, + // Block 0x2b, offset 0x113 + {value: 0x0000, lo: 0x01}, + {value: 0xb900, lo: 0xa1, hi: 0xb5}, + // Block 0x2c, offset 0x115 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xa8, hi: 0xbf}, + // Block 0x2d, offset 0x117 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0x80, hi: 0x82}, + // Block 0x2e, offset 0x119 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9d, hi: 0x9f}, + // Block 0x2f, offset 0x11b + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x94, hi: 0x94}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x30, offset 0x11e + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x9d, hi: 0x9d}, + // Block 0x31, offset 0x121 + {value: 0x0000, lo: 0x01}, + {value: 0x8131, lo: 0xa9, hi: 0xa9}, + // Block 0x32, offset 0x123 + {value: 0x0004, lo: 0x02}, + {value: 0x812e, lo: 0xb9, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbb}, + // Block 0x33, offset 0x126 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x97, hi: 0x97}, + {value: 0x812d, lo: 0x98, hi: 0x98}, + // Block 0x34, offset 0x129 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0xa0, hi: 0xa0}, + {value: 0x8132, lo: 0xb5, hi: 0xbc}, + {value: 0x812d, lo: 0xbf, hi: 0xbf}, + // Block 0x35, offset 0x12d + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + {value: 0x812d, lo: 0xb5, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbc}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x36, offset 0x132 + {value: 0x0000, lo: 0x08}, + {value: 0x2d66, lo: 0x80, hi: 0x80}, + {value: 0x2d6e, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x82, hi: 0x82}, + {value: 0x2d76, lo: 0x83, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xab, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xac}, + {value: 0x8132, lo: 0xad, hi: 0xb3}, + // Block 0x37, offset 0x13b + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xaa, hi: 0xab}, + // Block 0x38, offset 0x13d + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xa6, hi: 0xa6}, + {value: 0x8104, lo: 0xb2, hi: 0xb3}, + // Block 0x39, offset 0x140 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x3a, offset 0x142 + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x92}, + {value: 0x8101, lo: 0x94, hi: 0x94}, + {value: 0x812d, lo: 0x95, hi: 0x99}, + {value: 0x8132, lo: 0x9a, hi: 0x9b}, + {value: 0x812d, lo: 0x9c, hi: 0x9f}, + {value: 0x8132, lo: 0xa0, hi: 0xa0}, + {value: 0x8101, lo: 0xa2, hi: 0xa8}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + {value: 0x8132, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb8, hi: 0xb9}, + // Block 0x3b, offset 0x14d + {value: 0x0002, lo: 0x0a}, + {value: 0x0043, lo: 0xac, hi: 0xac}, + {value: 0x00d1, lo: 0xad, hi: 0xad}, + {value: 0x0045, lo: 0xae, hi: 0xae}, + {value: 0x0049, lo: 0xb0, hi: 0xb1}, + {value: 0x00e6, lo: 0xb2, hi: 0xb2}, + {value: 0x004f, lo: 0xb3, hi: 0xba}, + {value: 0x005f, lo: 0xbc, hi: 0xbc}, + {value: 0x00ef, lo: 0xbd, hi: 0xbd}, + {value: 0x0061, lo: 0xbe, hi: 0xbe}, + {value: 0x0065, lo: 0xbf, hi: 0xbf}, + // Block 0x3c, offset 0x158 + {value: 0x0000, lo: 0x0d}, + {value: 0x0001, lo: 0x80, hi: 0x8a}, + {value: 0x043b, lo: 0x91, hi: 0x91}, + {value: 0x429b, lo: 0x97, hi: 0x97}, + {value: 0x001d, lo: 0xa4, hi: 0xa4}, + {value: 0x1873, lo: 0xa5, hi: 0xa5}, + {value: 0x1b5c, lo: 0xa6, hi: 0xa6}, + {value: 0x0001, lo: 0xaf, hi: 0xaf}, + {value: 0x2691, lo: 0xb3, hi: 0xb3}, + {value: 0x27fe, lo: 0xb4, hi: 0xb4}, + {value: 0x2698, lo: 0xb6, hi: 0xb6}, + {value: 0x2808, lo: 0xb7, hi: 0xb7}, + {value: 0x186d, lo: 0xbc, hi: 0xbc}, + {value: 0x4269, lo: 0xbe, hi: 0xbe}, + // Block 0x3d, offset 0x166 + {value: 0x0002, lo: 0x0d}, + {value: 0x1933, lo: 0x87, hi: 0x87}, + {value: 0x1930, lo: 0x88, hi: 0x88}, + {value: 0x1870, lo: 0x89, hi: 0x89}, + {value: 0x298e, lo: 0x97, hi: 0x97}, + {value: 0x0001, lo: 0x9f, hi: 0x9f}, + {value: 0x0021, lo: 0xb0, hi: 0xb0}, + {value: 0x0093, lo: 0xb1, hi: 0xb1}, + {value: 0x0029, lo: 0xb4, hi: 0xb9}, + {value: 0x0017, lo: 0xba, hi: 0xba}, + {value: 0x0467, lo: 0xbb, hi: 0xbb}, + {value: 0x003b, lo: 0xbc, hi: 0xbc}, + {value: 0x0011, lo: 0xbd, hi: 0xbe}, + {value: 0x009d, lo: 0xbf, hi: 0xbf}, + // Block 0x3e, offset 0x174 + {value: 0x0002, lo: 0x0f}, + {value: 0x0021, lo: 0x80, hi: 0x89}, + {value: 0x0017, lo: 0x8a, hi: 0x8a}, + {value: 0x0467, lo: 0x8b, hi: 0x8b}, + {value: 0x003b, lo: 0x8c, hi: 0x8c}, + {value: 0x0011, lo: 0x8d, hi: 0x8e}, + {value: 0x0083, lo: 0x90, hi: 0x90}, + {value: 0x008b, lo: 0x91, hi: 0x91}, + {value: 0x009f, lo: 0x92, hi: 0x92}, + {value: 0x00b1, lo: 0x93, hi: 0x93}, + {value: 0x0104, lo: 0x94, hi: 0x94}, + {value: 0x0091, lo: 0x95, hi: 0x95}, + {value: 0x0097, lo: 0x96, hi: 0x99}, + {value: 0x00a1, lo: 0x9a, hi: 0x9a}, + {value: 0x00a7, lo: 0x9b, hi: 0x9c}, + {value: 0x1999, lo: 0xa8, hi: 0xa8}, + // Block 0x3f, offset 0x184 + {value: 0x0000, lo: 0x0d}, + {value: 0x8132, lo: 0x90, hi: 0x91}, + {value: 0x8101, lo: 0x92, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x97}, + {value: 0x8101, lo: 0x98, hi: 0x9a}, + {value: 0x8132, lo: 0x9b, hi: 0x9c}, + {value: 0x8132, lo: 0xa1, hi: 0xa1}, + {value: 0x8101, lo: 0xa5, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa7}, + {value: 0x812d, lo: 0xa8, hi: 0xa8}, + {value: 0x8132, lo: 0xa9, hi: 0xa9}, + {value: 0x8101, lo: 0xaa, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xaf}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + // Block 0x40, offset 0x192 + {value: 0x0007, lo: 0x06}, + {value: 0x2180, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + {value: 0x3bb9, lo: 0x9a, hi: 0x9b}, + {value: 0x3bc7, lo: 0xae, hi: 0xae}, + // Block 0x41, offset 0x199 + {value: 0x000e, lo: 0x05}, + {value: 0x3bce, lo: 0x8d, hi: 0x8e}, + {value: 0x3bd5, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + // Block 0x42, offset 0x19f + {value: 0x0173, lo: 0x0e}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0x3be3, lo: 0x84, hi: 0x84}, + {value: 0xa000, lo: 0x88, hi: 0x88}, + {value: 0x3bea, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0x3bf1, lo: 0x8c, hi: 0x8c}, + {value: 0xa000, lo: 0xa3, hi: 0xa3}, + {value: 0x3bf8, lo: 0xa4, hi: 0xa4}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x3bff, lo: 0xa6, hi: 0xa6}, + {value: 0x269f, lo: 0xac, hi: 0xad}, + {value: 0x26a6, lo: 0xaf, hi: 0xaf}, + {value: 0x281c, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xbc, hi: 0xbc}, + // Block 0x43, offset 0x1ae + {value: 0x0007, lo: 0x03}, + {value: 0x3c68, lo: 0xa0, hi: 0xa1}, + {value: 0x3c92, lo: 0xa2, hi: 0xa3}, + {value: 0x3cbc, lo: 0xaa, hi: 0xad}, + // Block 0x44, offset 0x1b2 + {value: 0x0004, lo: 0x01}, + {value: 0x048b, lo: 0xa9, hi: 0xaa}, + // Block 0x45, offset 0x1b4 + {value: 0x0002, lo: 0x03}, + {value: 0x0057, lo: 0x80, hi: 0x8f}, + {value: 0x0083, lo: 0x90, hi: 0xa9}, + {value: 0x0021, lo: 0xaa, hi: 0xaa}, + // Block 0x46, offset 0x1b8 + {value: 0x0000, lo: 0x01}, + {value: 0x299b, lo: 0x8c, hi: 0x8c}, + // Block 0x47, offset 0x1ba + {value: 0x0263, lo: 0x02}, + {value: 0x1b8c, lo: 0xb4, hi: 0xb4}, + {value: 0x192d, lo: 0xb5, hi: 0xb6}, + // Block 0x48, offset 0x1bd + {value: 0x0000, lo: 0x01}, + {value: 0x44dd, lo: 0x9c, hi: 0x9c}, + // Block 0x49, offset 0x1bf + {value: 0x0000, lo: 0x02}, + {value: 0x0095, lo: 0xbc, hi: 0xbc}, + {value: 0x006d, lo: 0xbd, hi: 0xbd}, + // Block 0x4a, offset 0x1c2 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xaf, hi: 0xb1}, + // Block 0x4b, offset 0x1c4 + {value: 0x0000, lo: 0x02}, + {value: 0x047f, lo: 0xaf, hi: 0xaf}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x4c, offset 0x1c7 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa0, hi: 0xbf}, + // Block 0x4d, offset 0x1c9 + {value: 0x0000, lo: 0x01}, + {value: 0x0dc3, lo: 0x9f, hi: 0x9f}, + // Block 0x4e, offset 0x1cb + {value: 0x0000, lo: 0x01}, + {value: 0x162f, lo: 0xb3, hi: 0xb3}, + // Block 0x4f, offset 0x1cd + {value: 0x0004, lo: 0x0b}, + {value: 0x1597, lo: 0x80, hi: 0x82}, + {value: 0x15af, lo: 0x83, hi: 0x83}, + {value: 0x15c7, lo: 0x84, hi: 0x85}, + {value: 0x15d7, lo: 0x86, hi: 0x89}, + {value: 0x15eb, lo: 0x8a, hi: 0x8c}, + {value: 0x15ff, lo: 0x8d, hi: 0x8d}, + {value: 0x1607, lo: 0x8e, hi: 0x8e}, + {value: 0x160f, lo: 0x8f, hi: 0x90}, + {value: 0x161b, lo: 0x91, hi: 0x93}, + {value: 0x162b, lo: 0x94, hi: 0x94}, + {value: 0x1633, lo: 0x95, hi: 0x95}, + // Block 0x50, offset 0x1d9 + {value: 0x0004, lo: 0x09}, + {value: 0x0001, lo: 0x80, hi: 0x80}, + {value: 0x812c, lo: 0xaa, hi: 0xaa}, + {value: 0x8131, lo: 0xab, hi: 0xab}, + {value: 0x8133, lo: 0xac, hi: 0xac}, + {value: 0x812e, lo: 0xad, hi: 0xad}, + {value: 0x812f, lo: 0xae, hi: 0xae}, + {value: 0x812f, lo: 0xaf, hi: 0xaf}, + {value: 0x04b3, lo: 0xb6, hi: 0xb6}, + {value: 0x0887, lo: 0xb8, hi: 0xba}, + // Block 0x51, offset 0x1e3 + {value: 0x0006, lo: 0x09}, + {value: 0x0313, lo: 0xb1, hi: 0xb1}, + {value: 0x0317, lo: 0xb2, hi: 0xb2}, + {value: 0x4a3b, lo: 0xb3, hi: 0xb3}, + {value: 0x031b, lo: 0xb4, hi: 0xb4}, + {value: 0x4a41, lo: 0xb5, hi: 0xb6}, + {value: 0x031f, lo: 0xb7, hi: 0xb7}, + {value: 0x0323, lo: 0xb8, hi: 0xb8}, + {value: 0x0327, lo: 0xb9, hi: 0xb9}, + {value: 0x4a4d, lo: 0xba, hi: 0xbf}, + // Block 0x52, offset 0x1ed + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xaf, hi: 0xaf}, + {value: 0x8132, lo: 0xb4, hi: 0xbd}, + // Block 0x53, offset 0x1f0 + {value: 0x0000, lo: 0x03}, + {value: 0x020f, lo: 0x9c, hi: 0x9c}, + {value: 0x0212, lo: 0x9d, hi: 0x9d}, + {value: 0x8132, lo: 0x9e, hi: 0x9f}, + // Block 0x54, offset 0x1f4 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb1}, + // Block 0x55, offset 0x1f6 + {value: 0x0000, lo: 0x01}, + {value: 0x163b, lo: 0xb0, hi: 0xb0}, + // Block 0x56, offset 0x1f8 + {value: 0x000c, lo: 0x01}, + {value: 0x00d7, lo: 0xb8, hi: 0xb9}, + // Block 0x57, offset 0x1fa + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + // Block 0x58, offset 0x1fc + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xa0, hi: 0xb1}, + // Block 0x59, offset 0x1ff + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xab, hi: 0xad}, + // Block 0x5a, offset 0x201 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x93, hi: 0x93}, + // Block 0x5b, offset 0x203 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb3, hi: 0xb3}, + // Block 0x5c, offset 0x205 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + // Block 0x5d, offset 0x207 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x8132, lo: 0xbe, hi: 0xbf}, + // Block 0x5e, offset 0x20d + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + // Block 0x5f, offset 0x210 + {value: 0x0008, lo: 0x03}, + {value: 0x1637, lo: 0x9c, hi: 0x9d}, + {value: 0x0125, lo: 0x9e, hi: 0x9e}, + {value: 0x1643, lo: 0x9f, hi: 0x9f}, + // Block 0x60, offset 0x214 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xad, hi: 0xad}, + // Block 0x61, offset 0x216 + {value: 0x0000, lo: 0x06}, + {value: 0xe500, lo: 0x80, hi: 0x80}, + {value: 0xc600, lo: 0x81, hi: 0x9b}, + {value: 0xe500, lo: 0x9c, hi: 0x9c}, + {value: 0xc600, lo: 0x9d, hi: 0xb7}, + {value: 0xe500, lo: 0xb8, hi: 0xb8}, + {value: 0xc600, lo: 0xb9, hi: 0xbf}, + // Block 0x62, offset 0x21d + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x93}, + {value: 0xe500, lo: 0x94, hi: 0x94}, + {value: 0xc600, lo: 0x95, hi: 0xaf}, + {value: 0xe500, lo: 0xb0, hi: 0xb0}, + {value: 0xc600, lo: 0xb1, hi: 0xbf}, + // Block 0x63, offset 0x223 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8b}, + {value: 0xe500, lo: 0x8c, hi: 0x8c}, + {value: 0xc600, lo: 0x8d, hi: 0xa7}, + {value: 0xe500, lo: 0xa8, hi: 0xa8}, + {value: 0xc600, lo: 0xa9, hi: 0xbf}, + // Block 0x64, offset 0x229 + {value: 0x0000, lo: 0x07}, + {value: 0xc600, lo: 0x80, hi: 0x83}, + {value: 0xe500, lo: 0x84, hi: 0x84}, + {value: 0xc600, lo: 0x85, hi: 0x9f}, + {value: 0xe500, lo: 0xa0, hi: 0xa0}, + {value: 0xc600, lo: 0xa1, hi: 0xbb}, + {value: 0xe500, lo: 0xbc, hi: 0xbc}, + {value: 0xc600, lo: 0xbd, hi: 0xbf}, + // Block 0x65, offset 0x231 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x97}, + {value: 0xe500, lo: 0x98, hi: 0x98}, + {value: 0xc600, lo: 0x99, hi: 0xb3}, + {value: 0xe500, lo: 0xb4, hi: 0xb4}, + {value: 0xc600, lo: 0xb5, hi: 0xbf}, + // Block 0x66, offset 0x237 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8f}, + {value: 0xe500, lo: 0x90, hi: 0x90}, + {value: 0xc600, lo: 0x91, hi: 0xab}, + {value: 0xe500, lo: 0xac, hi: 0xac}, + {value: 0xc600, lo: 0xad, hi: 0xbf}, + // Block 0x67, offset 0x23d + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + {value: 0xe500, lo: 0xa4, hi: 0xa4}, + {value: 0xc600, lo: 0xa5, hi: 0xbf}, + // Block 0x68, offset 0x243 + {value: 0x0000, lo: 0x03}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + // Block 0x69, offset 0x247 + {value: 0x0002, lo: 0x01}, + {value: 0x0003, lo: 0x81, hi: 0xbf}, + // Block 0x6a, offset 0x249 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x6b, offset 0x24b + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xa0, hi: 0xa0}, + // Block 0x6c, offset 0x24d + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb6, hi: 0xba}, + // Block 0x6d, offset 0x24f + {value: 0x002c, lo: 0x05}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x8f, hi: 0x8f}, + {value: 0x8132, lo: 0xb8, hi: 0xb8}, + {value: 0x8101, lo: 0xb9, hi: 0xba}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x6e, offset 0x255 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xa5, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + // Block 0x6f, offset 0x258 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa4, hi: 0xa7}, + // Block 0x70, offset 0x25a + {value: 0x0000, lo: 0x05}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x8132, lo: 0x88, hi: 0x8a}, + {value: 0x812d, lo: 0x8b, hi: 0x8b}, + {value: 0x8132, lo: 0x8c, hi: 0x8c}, + {value: 0x812d, lo: 0x8d, hi: 0x90}, + // Block 0x71, offset 0x260 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x72, offset 0x263 + {value: 0x17fe, lo: 0x07}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x4238, lo: 0x9a, hi: 0x9a}, + {value: 0xa000, lo: 0x9b, hi: 0x9b}, + {value: 0x4242, lo: 0x9c, hi: 0x9c}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x424c, lo: 0xab, hi: 0xab}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x73, offset 0x26b + {value: 0x0000, lo: 0x06}, + {value: 0x8132, lo: 0x80, hi: 0x82}, + {value: 0x9900, lo: 0xa7, hi: 0xa7}, + {value: 0x2d7e, lo: 0xae, hi: 0xae}, + {value: 0x2d88, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb1, hi: 0xb2}, + {value: 0x8104, lo: 0xb3, hi: 0xb4}, + // Block 0x74, offset 0x272 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x75, offset 0x275 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb5, hi: 0xb5}, + {value: 0x8102, lo: 0xb6, hi: 0xb6}, + // Block 0x76, offset 0x278 + {value: 0x0002, lo: 0x01}, + {value: 0x8102, lo: 0xa9, hi: 0xaa}, + // Block 0x77, offset 0x27a + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x78, offset 0x27d + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2d92, lo: 0x8b, hi: 0x8b}, + {value: 0x2d9c, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x8132, lo: 0xa6, hi: 0xac}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + // Block 0x79, offset 0x285 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x86, hi: 0x86}, + {value: 0x8132, lo: 0x9e, hi: 0x9e}, + // Block 0x7a, offset 0x289 + {value: 0x6b5a, lo: 0x06}, + {value: 0x9900, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xb9, hi: 0xb9}, + {value: 0x9900, lo: 0xba, hi: 0xba}, + {value: 0x2db0, lo: 0xbb, hi: 0xbb}, + {value: 0x2da6, lo: 0xbc, hi: 0xbd}, + {value: 0x2dba, lo: 0xbe, hi: 0xbe}, + // Block 0x7b, offset 0x290 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x83, hi: 0x83}, + // Block 0x7c, offset 0x293 + {value: 0x0000, lo: 0x05}, + {value: 0x9900, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb8, hi: 0xb9}, + {value: 0x2dc4, lo: 0xba, hi: 0xba}, + {value: 0x2dce, lo: 0xbb, hi: 0xbb}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x7d, offset 0x299 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0x80, hi: 0x80}, + // Block 0x7e, offset 0x29b + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x7f, offset 0x29d + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x80, offset 0x2a0 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xab, hi: 0xab}, + // Block 0x81, offset 0x2a2 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb9, hi: 0xb9}, + {value: 0x8102, lo: 0xba, hi: 0xba}, + // Block 0x82, offset 0x2a5 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x83, offset 0x2a7 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x87, hi: 0x87}, + // Block 0x84, offset 0x2a9 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x99, hi: 0x99}, + // Block 0x85, offset 0x2ab + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0x82, hi: 0x82}, + {value: 0x8104, lo: 0x84, hi: 0x85}, + // Block 0x86, offset 0x2ae + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x97, hi: 0x97}, + // Block 0x87, offset 0x2b0 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0xb0, hi: 0xb4}, + // Block 0x88, offset 0x2b2 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb6}, + // Block 0x89, offset 0x2b4 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0x9e, hi: 0x9e}, + // Block 0x8a, offset 0x2b6 + {value: 0x0000, lo: 0x0c}, + {value: 0x45cc, lo: 0x9e, hi: 0x9e}, + {value: 0x45d6, lo: 0x9f, hi: 0x9f}, + {value: 0x460a, lo: 0xa0, hi: 0xa0}, + {value: 0x4618, lo: 0xa1, hi: 0xa1}, + {value: 0x4626, lo: 0xa2, hi: 0xa2}, + {value: 0x4634, lo: 0xa3, hi: 0xa3}, + {value: 0x4642, lo: 0xa4, hi: 0xa4}, + {value: 0x812b, lo: 0xa5, hi: 0xa6}, + {value: 0x8101, lo: 0xa7, hi: 0xa9}, + {value: 0x8130, lo: 0xad, hi: 0xad}, + {value: 0x812b, lo: 0xae, hi: 0xb2}, + {value: 0x812d, lo: 0xbb, hi: 0xbf}, + // Block 0x8b, offset 0x2c3 + {value: 0x0000, lo: 0x09}, + {value: 0x812d, lo: 0x80, hi: 0x82}, + {value: 0x8132, lo: 0x85, hi: 0x89}, + {value: 0x812d, lo: 0x8a, hi: 0x8b}, + {value: 0x8132, lo: 0xaa, hi: 0xad}, + {value: 0x45e0, lo: 0xbb, hi: 0xbb}, + {value: 0x45ea, lo: 0xbc, hi: 0xbc}, + {value: 0x4650, lo: 0xbd, hi: 0xbd}, + {value: 0x466c, lo: 0xbe, hi: 0xbe}, + {value: 0x465e, lo: 0xbf, hi: 0xbf}, + // Block 0x8c, offset 0x2cd + {value: 0x0000, lo: 0x01}, + {value: 0x467a, lo: 0x80, hi: 0x80}, + // Block 0x8d, offset 0x2cf + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x82, hi: 0x84}, + // Block 0x8e, offset 0x2d1 + {value: 0x0002, lo: 0x03}, + {value: 0x0043, lo: 0x80, hi: 0x99}, + {value: 0x0083, lo: 0x9a, hi: 0xb3}, + {value: 0x0043, lo: 0xb4, hi: 0xbf}, + // Block 0x8f, offset 0x2d5 + {value: 0x0002, lo: 0x04}, + {value: 0x005b, lo: 0x80, hi: 0x8d}, + {value: 0x0083, lo: 0x8e, hi: 0x94}, + {value: 0x0093, lo: 0x96, hi: 0xa7}, + {value: 0x0043, lo: 0xa8, hi: 0xbf}, + // Block 0x90, offset 0x2da + {value: 0x0002, lo: 0x0b}, + {value: 0x0073, lo: 0x80, hi: 0x81}, + {value: 0x0083, lo: 0x82, hi: 0x9b}, + {value: 0x0043, lo: 0x9c, hi: 0x9c}, + {value: 0x0047, lo: 0x9e, hi: 0x9f}, + {value: 0x004f, lo: 0xa2, hi: 0xa2}, + {value: 0x0055, lo: 0xa5, hi: 0xa6}, + {value: 0x005d, lo: 0xa9, hi: 0xac}, + {value: 0x0067, lo: 0xae, hi: 0xb5}, + {value: 0x0083, lo: 0xb6, hi: 0xb9}, + {value: 0x008d, lo: 0xbb, hi: 0xbb}, + {value: 0x0091, lo: 0xbd, hi: 0xbf}, + // Block 0x91, offset 0x2e6 + {value: 0x0002, lo: 0x04}, + {value: 0x0097, lo: 0x80, hi: 0x83}, + {value: 0x00a1, lo: 0x85, hi: 0x8f}, + {value: 0x0043, lo: 0x90, hi: 0xa9}, + {value: 0x0083, lo: 0xaa, hi: 0xbf}, + // Block 0x92, offset 0x2eb + {value: 0x0002, lo: 0x08}, + {value: 0x00af, lo: 0x80, hi: 0x83}, + {value: 0x0043, lo: 0x84, hi: 0x85}, + {value: 0x0049, lo: 0x87, hi: 0x8a}, + {value: 0x0055, lo: 0x8d, hi: 0x94}, + {value: 0x0067, lo: 0x96, hi: 0x9c}, + {value: 0x0083, lo: 0x9e, hi: 0xb7}, + {value: 0x0043, lo: 0xb8, hi: 0xb9}, + {value: 0x0049, lo: 0xbb, hi: 0xbe}, + // Block 0x93, offset 0x2f4 + {value: 0x0002, lo: 0x05}, + {value: 0x0053, lo: 0x80, hi: 0x84}, + {value: 0x005f, lo: 0x86, hi: 0x86}, + {value: 0x0067, lo: 0x8a, hi: 0x90}, + {value: 0x0083, lo: 0x92, hi: 0xab}, + {value: 0x0043, lo: 0xac, hi: 0xbf}, + // Block 0x94, offset 0x2fa + {value: 0x0002, lo: 0x04}, + {value: 0x006b, lo: 0x80, hi: 0x85}, + {value: 0x0083, lo: 0x86, hi: 0x9f}, + {value: 0x0043, lo: 0xa0, hi: 0xb9}, + {value: 0x0083, lo: 0xba, hi: 0xbf}, + // Block 0x95, offset 0x2ff + {value: 0x0002, lo: 0x03}, + {value: 0x008f, lo: 0x80, hi: 0x93}, + {value: 0x0043, lo: 0x94, hi: 0xad}, + {value: 0x0083, lo: 0xae, hi: 0xbf}, + // Block 0x96, offset 0x303 + {value: 0x0002, lo: 0x04}, + {value: 0x00a7, lo: 0x80, hi: 0x87}, + {value: 0x0043, lo: 0x88, hi: 0xa1}, + {value: 0x0083, lo: 0xa2, hi: 0xbb}, + {value: 0x0043, lo: 0xbc, hi: 0xbf}, + // Block 0x97, offset 0x308 + {value: 0x0002, lo: 0x03}, + {value: 0x004b, lo: 0x80, hi: 0x95}, + {value: 0x0083, lo: 0x96, hi: 0xaf}, + {value: 0x0043, lo: 0xb0, hi: 0xbf}, + // Block 0x98, offset 0x30c + {value: 0x0003, lo: 0x0f}, + {value: 0x01b8, lo: 0x80, hi: 0x80}, + {value: 0x045f, lo: 0x81, hi: 0x81}, + {value: 0x01bb, lo: 0x82, hi: 0x9a}, + {value: 0x045b, lo: 0x9b, hi: 0x9b}, + {value: 0x01c7, lo: 0x9c, hi: 0x9c}, + {value: 0x01d0, lo: 0x9d, hi: 0x9d}, + {value: 0x01d6, lo: 0x9e, hi: 0x9e}, + {value: 0x01fa, lo: 0x9f, hi: 0x9f}, + {value: 0x01eb, lo: 0xa0, hi: 0xa0}, + {value: 0x01e8, lo: 0xa1, hi: 0xa1}, + {value: 0x0173, lo: 0xa2, hi: 0xb2}, + {value: 0x0188, lo: 0xb3, hi: 0xb3}, + {value: 0x01a6, lo: 0xb4, hi: 0xba}, + {value: 0x045f, lo: 0xbb, hi: 0xbb}, + {value: 0x01bb, lo: 0xbc, hi: 0xbf}, + // Block 0x99, offset 0x31c + {value: 0x0003, lo: 0x0d}, + {value: 0x01c7, lo: 0x80, hi: 0x94}, + {value: 0x045b, lo: 0x95, hi: 0x95}, + {value: 0x01c7, lo: 0x96, hi: 0x96}, + {value: 0x01d0, lo: 0x97, hi: 0x97}, + {value: 0x01d6, lo: 0x98, hi: 0x98}, + {value: 0x01fa, lo: 0x99, hi: 0x99}, + {value: 0x01eb, lo: 0x9a, hi: 0x9a}, + {value: 0x01e8, lo: 0x9b, hi: 0x9b}, + {value: 0x0173, lo: 0x9c, hi: 0xac}, + {value: 0x0188, lo: 0xad, hi: 0xad}, + {value: 0x01a6, lo: 0xae, hi: 0xb4}, + {value: 0x045f, lo: 0xb5, hi: 0xb5}, + {value: 0x01bb, lo: 0xb6, hi: 0xbf}, + // Block 0x9a, offset 0x32a + {value: 0x0003, lo: 0x0d}, + {value: 0x01d9, lo: 0x80, hi: 0x8e}, + {value: 0x045b, lo: 0x8f, hi: 0x8f}, + {value: 0x01c7, lo: 0x90, hi: 0x90}, + {value: 0x01d0, lo: 0x91, hi: 0x91}, + {value: 0x01d6, lo: 0x92, hi: 0x92}, + {value: 0x01fa, lo: 0x93, hi: 0x93}, + {value: 0x01eb, lo: 0x94, hi: 0x94}, + {value: 0x01e8, lo: 0x95, hi: 0x95}, + {value: 0x0173, lo: 0x96, hi: 0xa6}, + {value: 0x0188, lo: 0xa7, hi: 0xa7}, + {value: 0x01a6, lo: 0xa8, hi: 0xae}, + {value: 0x045f, lo: 0xaf, hi: 0xaf}, + {value: 0x01bb, lo: 0xb0, hi: 0xbf}, + // Block 0x9b, offset 0x338 + {value: 0x0003, lo: 0x0d}, + {value: 0x01eb, lo: 0x80, hi: 0x88}, + {value: 0x045b, lo: 0x89, hi: 0x89}, + {value: 0x01c7, lo: 0x8a, hi: 0x8a}, + {value: 0x01d0, lo: 0x8b, hi: 0x8b}, + {value: 0x01d6, lo: 0x8c, hi: 0x8c}, + {value: 0x01fa, lo: 0x8d, hi: 0x8d}, + {value: 0x01eb, lo: 0x8e, hi: 0x8e}, + {value: 0x01e8, lo: 0x8f, hi: 0x8f}, + {value: 0x0173, lo: 0x90, hi: 0xa0}, + {value: 0x0188, lo: 0xa1, hi: 0xa1}, + {value: 0x01a6, lo: 0xa2, hi: 0xa8}, + {value: 0x045f, lo: 0xa9, hi: 0xa9}, + {value: 0x01bb, lo: 0xaa, hi: 0xbf}, + // Block 0x9c, offset 0x346 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0x80, hi: 0x86}, + {value: 0x8132, lo: 0x88, hi: 0x98}, + {value: 0x8132, lo: 0x9b, hi: 0xa1}, + {value: 0x8132, lo: 0xa3, hi: 0xa4}, + {value: 0x8132, lo: 0xa6, hi: 0xaa}, + // Block 0x9d, offset 0x34c + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x90, hi: 0x96}, + // Block 0x9e, offset 0x34e + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x84, hi: 0x89}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x9f, offset 0x351 + {value: 0x0002, lo: 0x09}, + {value: 0x0063, lo: 0x80, hi: 0x89}, + {value: 0x1951, lo: 0x8a, hi: 0x8a}, + {value: 0x1981, lo: 0x8b, hi: 0x8b}, + {value: 0x199c, lo: 0x8c, hi: 0x8c}, + {value: 0x19a2, lo: 0x8d, hi: 0x8d}, + {value: 0x1bc0, lo: 0x8e, hi: 0x8e}, + {value: 0x19ae, lo: 0x8f, hi: 0x8f}, + {value: 0x197b, lo: 0xaa, hi: 0xaa}, + {value: 0x197e, lo: 0xab, hi: 0xab}, + // Block 0xa0, offset 0x35b + {value: 0x0000, lo: 0x01}, + {value: 0x193f, lo: 0x90, hi: 0x90}, + // Block 0xa1, offset 0x35d + {value: 0x0028, lo: 0x09}, + {value: 0x2862, lo: 0x80, hi: 0x80}, + {value: 0x2826, lo: 0x81, hi: 0x81}, + {value: 0x2830, lo: 0x82, hi: 0x82}, + {value: 0x2844, lo: 0x83, hi: 0x84}, + {value: 0x284e, lo: 0x85, hi: 0x86}, + {value: 0x283a, lo: 0x87, hi: 0x87}, + {value: 0x2858, lo: 0x88, hi: 0x88}, + {value: 0x0b6f, lo: 0x90, hi: 0x90}, + {value: 0x08e7, lo: 0x91, hi: 0x91}, +} + +// recompMap: 7520 bytes (entries only) +var recompMap map[uint32]rune +var recompMapOnce sync.Once + +const recompMapPacked = "" + + "\x00A\x03\x00\x00\x00\x00\xc0" + // 0x00410300: 0x000000C0 + "\x00A\x03\x01\x00\x00\x00\xc1" + // 0x00410301: 0x000000C1 + "\x00A\x03\x02\x00\x00\x00\xc2" + // 0x00410302: 0x000000C2 + "\x00A\x03\x03\x00\x00\x00\xc3" + // 0x00410303: 0x000000C3 + "\x00A\x03\b\x00\x00\x00\xc4" + // 0x00410308: 0x000000C4 + "\x00A\x03\n\x00\x00\x00\xc5" + // 0x0041030A: 0x000000C5 + "\x00C\x03'\x00\x00\x00\xc7" + // 0x00430327: 0x000000C7 + "\x00E\x03\x00\x00\x00\x00\xc8" + // 0x00450300: 0x000000C8 + "\x00E\x03\x01\x00\x00\x00\xc9" + // 0x00450301: 0x000000C9 + "\x00E\x03\x02\x00\x00\x00\xca" + // 0x00450302: 0x000000CA + "\x00E\x03\b\x00\x00\x00\xcb" + // 0x00450308: 0x000000CB + "\x00I\x03\x00\x00\x00\x00\xcc" + // 0x00490300: 0x000000CC + "\x00I\x03\x01\x00\x00\x00\xcd" + // 0x00490301: 0x000000CD + "\x00I\x03\x02\x00\x00\x00\xce" + // 0x00490302: 0x000000CE + "\x00I\x03\b\x00\x00\x00\xcf" + // 0x00490308: 0x000000CF + "\x00N\x03\x03\x00\x00\x00\xd1" + // 0x004E0303: 0x000000D1 + "\x00O\x03\x00\x00\x00\x00\xd2" + // 0x004F0300: 0x000000D2 + "\x00O\x03\x01\x00\x00\x00\xd3" + // 0x004F0301: 0x000000D3 + "\x00O\x03\x02\x00\x00\x00\xd4" + // 0x004F0302: 0x000000D4 + "\x00O\x03\x03\x00\x00\x00\xd5" + // 0x004F0303: 0x000000D5 + "\x00O\x03\b\x00\x00\x00\xd6" + // 0x004F0308: 0x000000D6 + "\x00U\x03\x00\x00\x00\x00\xd9" + // 0x00550300: 0x000000D9 + "\x00U\x03\x01\x00\x00\x00\xda" + // 0x00550301: 0x000000DA + "\x00U\x03\x02\x00\x00\x00\xdb" + // 0x00550302: 0x000000DB + "\x00U\x03\b\x00\x00\x00\xdc" + // 0x00550308: 0x000000DC + "\x00Y\x03\x01\x00\x00\x00\xdd" + // 0x00590301: 0x000000DD + "\x00a\x03\x00\x00\x00\x00\xe0" + // 0x00610300: 0x000000E0 + "\x00a\x03\x01\x00\x00\x00\xe1" + // 0x00610301: 0x000000E1 + "\x00a\x03\x02\x00\x00\x00\xe2" + // 0x00610302: 0x000000E2 + "\x00a\x03\x03\x00\x00\x00\xe3" + // 0x00610303: 0x000000E3 + "\x00a\x03\b\x00\x00\x00\xe4" + // 0x00610308: 0x000000E4 + "\x00a\x03\n\x00\x00\x00\xe5" + // 0x0061030A: 0x000000E5 + "\x00c\x03'\x00\x00\x00\xe7" + // 0x00630327: 0x000000E7 + "\x00e\x03\x00\x00\x00\x00\xe8" + // 0x00650300: 0x000000E8 + "\x00e\x03\x01\x00\x00\x00\xe9" + // 0x00650301: 0x000000E9 + "\x00e\x03\x02\x00\x00\x00\xea" + // 0x00650302: 0x000000EA + "\x00e\x03\b\x00\x00\x00\xeb" + // 0x00650308: 0x000000EB + "\x00i\x03\x00\x00\x00\x00\xec" + // 0x00690300: 0x000000EC + "\x00i\x03\x01\x00\x00\x00\xed" + // 0x00690301: 0x000000ED + "\x00i\x03\x02\x00\x00\x00\xee" + // 0x00690302: 0x000000EE + "\x00i\x03\b\x00\x00\x00\xef" + // 0x00690308: 0x000000EF + "\x00n\x03\x03\x00\x00\x00\xf1" + // 0x006E0303: 0x000000F1 + "\x00o\x03\x00\x00\x00\x00\xf2" + // 0x006F0300: 0x000000F2 + "\x00o\x03\x01\x00\x00\x00\xf3" + // 0x006F0301: 0x000000F3 + "\x00o\x03\x02\x00\x00\x00\xf4" + // 0x006F0302: 0x000000F4 + "\x00o\x03\x03\x00\x00\x00\xf5" + // 0x006F0303: 0x000000F5 + "\x00o\x03\b\x00\x00\x00\xf6" + // 0x006F0308: 0x000000F6 + "\x00u\x03\x00\x00\x00\x00\xf9" + // 0x00750300: 0x000000F9 + "\x00u\x03\x01\x00\x00\x00\xfa" + // 0x00750301: 0x000000FA + "\x00u\x03\x02\x00\x00\x00\xfb" + // 0x00750302: 0x000000FB + "\x00u\x03\b\x00\x00\x00\xfc" + // 0x00750308: 0x000000FC + "\x00y\x03\x01\x00\x00\x00\xfd" + // 0x00790301: 0x000000FD + "\x00y\x03\b\x00\x00\x00\xff" + // 0x00790308: 0x000000FF + "\x00A\x03\x04\x00\x00\x01\x00" + // 0x00410304: 0x00000100 + "\x00a\x03\x04\x00\x00\x01\x01" + // 0x00610304: 0x00000101 + "\x00A\x03\x06\x00\x00\x01\x02" + // 0x00410306: 0x00000102 + "\x00a\x03\x06\x00\x00\x01\x03" + // 0x00610306: 0x00000103 + "\x00A\x03(\x00\x00\x01\x04" + // 0x00410328: 0x00000104 + "\x00a\x03(\x00\x00\x01\x05" + // 0x00610328: 0x00000105 + "\x00C\x03\x01\x00\x00\x01\x06" + // 0x00430301: 0x00000106 + "\x00c\x03\x01\x00\x00\x01\a" + // 0x00630301: 0x00000107 + "\x00C\x03\x02\x00\x00\x01\b" + // 0x00430302: 0x00000108 + "\x00c\x03\x02\x00\x00\x01\t" + // 0x00630302: 0x00000109 + "\x00C\x03\a\x00\x00\x01\n" + // 0x00430307: 0x0000010A + "\x00c\x03\a\x00\x00\x01\v" + // 0x00630307: 0x0000010B + "\x00C\x03\f\x00\x00\x01\f" + // 0x0043030C: 0x0000010C + "\x00c\x03\f\x00\x00\x01\r" + // 0x0063030C: 0x0000010D + "\x00D\x03\f\x00\x00\x01\x0e" + // 0x0044030C: 0x0000010E + "\x00d\x03\f\x00\x00\x01\x0f" + // 0x0064030C: 0x0000010F + "\x00E\x03\x04\x00\x00\x01\x12" + // 0x00450304: 0x00000112 + "\x00e\x03\x04\x00\x00\x01\x13" + // 0x00650304: 0x00000113 + "\x00E\x03\x06\x00\x00\x01\x14" + // 0x00450306: 0x00000114 + "\x00e\x03\x06\x00\x00\x01\x15" + // 0x00650306: 0x00000115 + "\x00E\x03\a\x00\x00\x01\x16" + // 0x00450307: 0x00000116 + "\x00e\x03\a\x00\x00\x01\x17" + // 0x00650307: 0x00000117 + "\x00E\x03(\x00\x00\x01\x18" + // 0x00450328: 0x00000118 + "\x00e\x03(\x00\x00\x01\x19" + // 0x00650328: 0x00000119 + "\x00E\x03\f\x00\x00\x01\x1a" + // 0x0045030C: 0x0000011A + "\x00e\x03\f\x00\x00\x01\x1b" + // 0x0065030C: 0x0000011B + "\x00G\x03\x02\x00\x00\x01\x1c" + // 0x00470302: 0x0000011C + "\x00g\x03\x02\x00\x00\x01\x1d" + // 0x00670302: 0x0000011D + "\x00G\x03\x06\x00\x00\x01\x1e" + // 0x00470306: 0x0000011E + "\x00g\x03\x06\x00\x00\x01\x1f" + // 0x00670306: 0x0000011F + "\x00G\x03\a\x00\x00\x01 " + // 0x00470307: 0x00000120 + "\x00g\x03\a\x00\x00\x01!" + // 0x00670307: 0x00000121 + "\x00G\x03'\x00\x00\x01\"" + // 0x00470327: 0x00000122 + "\x00g\x03'\x00\x00\x01#" + // 0x00670327: 0x00000123 + "\x00H\x03\x02\x00\x00\x01$" + // 0x00480302: 0x00000124 + "\x00h\x03\x02\x00\x00\x01%" + // 0x00680302: 0x00000125 + "\x00I\x03\x03\x00\x00\x01(" + // 0x00490303: 0x00000128 + "\x00i\x03\x03\x00\x00\x01)" + // 0x00690303: 0x00000129 + "\x00I\x03\x04\x00\x00\x01*" + // 0x00490304: 0x0000012A + "\x00i\x03\x04\x00\x00\x01+" + // 0x00690304: 0x0000012B + "\x00I\x03\x06\x00\x00\x01," + // 0x00490306: 0x0000012C + "\x00i\x03\x06\x00\x00\x01-" + // 0x00690306: 0x0000012D + "\x00I\x03(\x00\x00\x01." + // 0x00490328: 0x0000012E + "\x00i\x03(\x00\x00\x01/" + // 0x00690328: 0x0000012F + "\x00I\x03\a\x00\x00\x010" + // 0x00490307: 0x00000130 + "\x00J\x03\x02\x00\x00\x014" + // 0x004A0302: 0x00000134 + "\x00j\x03\x02\x00\x00\x015" + // 0x006A0302: 0x00000135 + "\x00K\x03'\x00\x00\x016" + // 0x004B0327: 0x00000136 + "\x00k\x03'\x00\x00\x017" + // 0x006B0327: 0x00000137 + "\x00L\x03\x01\x00\x00\x019" + // 0x004C0301: 0x00000139 + "\x00l\x03\x01\x00\x00\x01:" + // 0x006C0301: 0x0000013A + "\x00L\x03'\x00\x00\x01;" + // 0x004C0327: 0x0000013B + "\x00l\x03'\x00\x00\x01<" + // 0x006C0327: 0x0000013C + "\x00L\x03\f\x00\x00\x01=" + // 0x004C030C: 0x0000013D + "\x00l\x03\f\x00\x00\x01>" + // 0x006C030C: 0x0000013E + "\x00N\x03\x01\x00\x00\x01C" + // 0x004E0301: 0x00000143 + "\x00n\x03\x01\x00\x00\x01D" + // 0x006E0301: 0x00000144 + "\x00N\x03'\x00\x00\x01E" + // 0x004E0327: 0x00000145 + "\x00n\x03'\x00\x00\x01F" + // 0x006E0327: 0x00000146 + "\x00N\x03\f\x00\x00\x01G" + // 0x004E030C: 0x00000147 + "\x00n\x03\f\x00\x00\x01H" + // 0x006E030C: 0x00000148 + "\x00O\x03\x04\x00\x00\x01L" + // 0x004F0304: 0x0000014C + "\x00o\x03\x04\x00\x00\x01M" + // 0x006F0304: 0x0000014D + "\x00O\x03\x06\x00\x00\x01N" + // 0x004F0306: 0x0000014E + "\x00o\x03\x06\x00\x00\x01O" + // 0x006F0306: 0x0000014F + "\x00O\x03\v\x00\x00\x01P" + // 0x004F030B: 0x00000150 + "\x00o\x03\v\x00\x00\x01Q" + // 0x006F030B: 0x00000151 + "\x00R\x03\x01\x00\x00\x01T" + // 0x00520301: 0x00000154 + "\x00r\x03\x01\x00\x00\x01U" + // 0x00720301: 0x00000155 + "\x00R\x03'\x00\x00\x01V" + // 0x00520327: 0x00000156 + "\x00r\x03'\x00\x00\x01W" + // 0x00720327: 0x00000157 + "\x00R\x03\f\x00\x00\x01X" + // 0x0052030C: 0x00000158 + "\x00r\x03\f\x00\x00\x01Y" + // 0x0072030C: 0x00000159 + "\x00S\x03\x01\x00\x00\x01Z" + // 0x00530301: 0x0000015A + "\x00s\x03\x01\x00\x00\x01[" + // 0x00730301: 0x0000015B + "\x00S\x03\x02\x00\x00\x01\\" + // 0x00530302: 0x0000015C + "\x00s\x03\x02\x00\x00\x01]" + // 0x00730302: 0x0000015D + "\x00S\x03'\x00\x00\x01^" + // 0x00530327: 0x0000015E + "\x00s\x03'\x00\x00\x01_" + // 0x00730327: 0x0000015F + "\x00S\x03\f\x00\x00\x01`" + // 0x0053030C: 0x00000160 + "\x00s\x03\f\x00\x00\x01a" + // 0x0073030C: 0x00000161 + "\x00T\x03'\x00\x00\x01b" + // 0x00540327: 0x00000162 + "\x00t\x03'\x00\x00\x01c" + // 0x00740327: 0x00000163 + "\x00T\x03\f\x00\x00\x01d" + // 0x0054030C: 0x00000164 + "\x00t\x03\f\x00\x00\x01e" + // 0x0074030C: 0x00000165 + "\x00U\x03\x03\x00\x00\x01h" + // 0x00550303: 0x00000168 + "\x00u\x03\x03\x00\x00\x01i" + // 0x00750303: 0x00000169 + "\x00U\x03\x04\x00\x00\x01j" + // 0x00550304: 0x0000016A + "\x00u\x03\x04\x00\x00\x01k" + // 0x00750304: 0x0000016B + "\x00U\x03\x06\x00\x00\x01l" + // 0x00550306: 0x0000016C + "\x00u\x03\x06\x00\x00\x01m" + // 0x00750306: 0x0000016D + "\x00U\x03\n\x00\x00\x01n" + // 0x0055030A: 0x0000016E + "\x00u\x03\n\x00\x00\x01o" + // 0x0075030A: 0x0000016F + "\x00U\x03\v\x00\x00\x01p" + // 0x0055030B: 0x00000170 + "\x00u\x03\v\x00\x00\x01q" + // 0x0075030B: 0x00000171 + "\x00U\x03(\x00\x00\x01r" + // 0x00550328: 0x00000172 + "\x00u\x03(\x00\x00\x01s" + // 0x00750328: 0x00000173 + "\x00W\x03\x02\x00\x00\x01t" + // 0x00570302: 0x00000174 + "\x00w\x03\x02\x00\x00\x01u" + // 0x00770302: 0x00000175 + "\x00Y\x03\x02\x00\x00\x01v" + // 0x00590302: 0x00000176 + "\x00y\x03\x02\x00\x00\x01w" + // 0x00790302: 0x00000177 + "\x00Y\x03\b\x00\x00\x01x" + // 0x00590308: 0x00000178 + "\x00Z\x03\x01\x00\x00\x01y" + // 0x005A0301: 0x00000179 + "\x00z\x03\x01\x00\x00\x01z" + // 0x007A0301: 0x0000017A + "\x00Z\x03\a\x00\x00\x01{" + // 0x005A0307: 0x0000017B + "\x00z\x03\a\x00\x00\x01|" + // 0x007A0307: 0x0000017C + "\x00Z\x03\f\x00\x00\x01}" + // 0x005A030C: 0x0000017D + "\x00z\x03\f\x00\x00\x01~" + // 0x007A030C: 0x0000017E + "\x00O\x03\x1b\x00\x00\x01\xa0" + // 0x004F031B: 0x000001A0 + "\x00o\x03\x1b\x00\x00\x01\xa1" + // 0x006F031B: 0x000001A1 + "\x00U\x03\x1b\x00\x00\x01\xaf" + // 0x0055031B: 0x000001AF + "\x00u\x03\x1b\x00\x00\x01\xb0" + // 0x0075031B: 0x000001B0 + "\x00A\x03\f\x00\x00\x01\xcd" + // 0x0041030C: 0x000001CD + "\x00a\x03\f\x00\x00\x01\xce" + // 0x0061030C: 0x000001CE + "\x00I\x03\f\x00\x00\x01\xcf" + // 0x0049030C: 0x000001CF + "\x00i\x03\f\x00\x00\x01\xd0" + // 0x0069030C: 0x000001D0 + "\x00O\x03\f\x00\x00\x01\xd1" + // 0x004F030C: 0x000001D1 + "\x00o\x03\f\x00\x00\x01\xd2" + // 0x006F030C: 0x000001D2 + "\x00U\x03\f\x00\x00\x01\xd3" + // 0x0055030C: 0x000001D3 + "\x00u\x03\f\x00\x00\x01\xd4" + // 0x0075030C: 0x000001D4 + "\x00\xdc\x03\x04\x00\x00\x01\xd5" + // 0x00DC0304: 0x000001D5 + "\x00\xfc\x03\x04\x00\x00\x01\xd6" + // 0x00FC0304: 0x000001D6 + "\x00\xdc\x03\x01\x00\x00\x01\xd7" + // 0x00DC0301: 0x000001D7 + "\x00\xfc\x03\x01\x00\x00\x01\xd8" + // 0x00FC0301: 0x000001D8 + "\x00\xdc\x03\f\x00\x00\x01\xd9" + // 0x00DC030C: 0x000001D9 + "\x00\xfc\x03\f\x00\x00\x01\xda" + // 0x00FC030C: 0x000001DA + "\x00\xdc\x03\x00\x00\x00\x01\xdb" + // 0x00DC0300: 0x000001DB + "\x00\xfc\x03\x00\x00\x00\x01\xdc" + // 0x00FC0300: 0x000001DC + "\x00\xc4\x03\x04\x00\x00\x01\xde" + // 0x00C40304: 0x000001DE + "\x00\xe4\x03\x04\x00\x00\x01\xdf" + // 0x00E40304: 0x000001DF + "\x02&\x03\x04\x00\x00\x01\xe0" + // 0x02260304: 0x000001E0 + "\x02'\x03\x04\x00\x00\x01\xe1" + // 0x02270304: 0x000001E1 + "\x00\xc6\x03\x04\x00\x00\x01\xe2" + // 0x00C60304: 0x000001E2 + "\x00\xe6\x03\x04\x00\x00\x01\xe3" + // 0x00E60304: 0x000001E3 + "\x00G\x03\f\x00\x00\x01\xe6" + // 0x0047030C: 0x000001E6 + "\x00g\x03\f\x00\x00\x01\xe7" + // 0x0067030C: 0x000001E7 + "\x00K\x03\f\x00\x00\x01\xe8" + // 0x004B030C: 0x000001E8 + "\x00k\x03\f\x00\x00\x01\xe9" + // 0x006B030C: 0x000001E9 + "\x00O\x03(\x00\x00\x01\xea" + // 0x004F0328: 0x000001EA + "\x00o\x03(\x00\x00\x01\xeb" + // 0x006F0328: 0x000001EB + "\x01\xea\x03\x04\x00\x00\x01\xec" + // 0x01EA0304: 0x000001EC + "\x01\xeb\x03\x04\x00\x00\x01\xed" + // 0x01EB0304: 0x000001ED + "\x01\xb7\x03\f\x00\x00\x01\xee" + // 0x01B7030C: 0x000001EE + "\x02\x92\x03\f\x00\x00\x01\xef" + // 0x0292030C: 0x000001EF + "\x00j\x03\f\x00\x00\x01\xf0" + // 0x006A030C: 0x000001F0 + "\x00G\x03\x01\x00\x00\x01\xf4" + // 0x00470301: 0x000001F4 + "\x00g\x03\x01\x00\x00\x01\xf5" + // 0x00670301: 0x000001F5 + "\x00N\x03\x00\x00\x00\x01\xf8" + // 0x004E0300: 0x000001F8 + "\x00n\x03\x00\x00\x00\x01\xf9" + // 0x006E0300: 0x000001F9 + "\x00\xc5\x03\x01\x00\x00\x01\xfa" + // 0x00C50301: 0x000001FA + "\x00\xe5\x03\x01\x00\x00\x01\xfb" + // 0x00E50301: 0x000001FB + "\x00\xc6\x03\x01\x00\x00\x01\xfc" + // 0x00C60301: 0x000001FC + "\x00\xe6\x03\x01\x00\x00\x01\xfd" + // 0x00E60301: 0x000001FD + "\x00\xd8\x03\x01\x00\x00\x01\xfe" + // 0x00D80301: 0x000001FE + "\x00\xf8\x03\x01\x00\x00\x01\xff" + // 0x00F80301: 0x000001FF + "\x00A\x03\x0f\x00\x00\x02\x00" + // 0x0041030F: 0x00000200 + "\x00a\x03\x0f\x00\x00\x02\x01" + // 0x0061030F: 0x00000201 + "\x00A\x03\x11\x00\x00\x02\x02" + // 0x00410311: 0x00000202 + "\x00a\x03\x11\x00\x00\x02\x03" + // 0x00610311: 0x00000203 + "\x00E\x03\x0f\x00\x00\x02\x04" + // 0x0045030F: 0x00000204 + "\x00e\x03\x0f\x00\x00\x02\x05" + // 0x0065030F: 0x00000205 + "\x00E\x03\x11\x00\x00\x02\x06" + // 0x00450311: 0x00000206 + "\x00e\x03\x11\x00\x00\x02\a" + // 0x00650311: 0x00000207 + "\x00I\x03\x0f\x00\x00\x02\b" + // 0x0049030F: 0x00000208 + "\x00i\x03\x0f\x00\x00\x02\t" + // 0x0069030F: 0x00000209 + "\x00I\x03\x11\x00\x00\x02\n" + // 0x00490311: 0x0000020A + "\x00i\x03\x11\x00\x00\x02\v" + // 0x00690311: 0x0000020B + "\x00O\x03\x0f\x00\x00\x02\f" + // 0x004F030F: 0x0000020C + "\x00o\x03\x0f\x00\x00\x02\r" + // 0x006F030F: 0x0000020D + "\x00O\x03\x11\x00\x00\x02\x0e" + // 0x004F0311: 0x0000020E + "\x00o\x03\x11\x00\x00\x02\x0f" + // 0x006F0311: 0x0000020F + "\x00R\x03\x0f\x00\x00\x02\x10" + // 0x0052030F: 0x00000210 + "\x00r\x03\x0f\x00\x00\x02\x11" + // 0x0072030F: 0x00000211 + "\x00R\x03\x11\x00\x00\x02\x12" + // 0x00520311: 0x00000212 + "\x00r\x03\x11\x00\x00\x02\x13" + // 0x00720311: 0x00000213 + "\x00U\x03\x0f\x00\x00\x02\x14" + // 0x0055030F: 0x00000214 + "\x00u\x03\x0f\x00\x00\x02\x15" + // 0x0075030F: 0x00000215 + "\x00U\x03\x11\x00\x00\x02\x16" + // 0x00550311: 0x00000216 + "\x00u\x03\x11\x00\x00\x02\x17" + // 0x00750311: 0x00000217 + "\x00S\x03&\x00\x00\x02\x18" + // 0x00530326: 0x00000218 + "\x00s\x03&\x00\x00\x02\x19" + // 0x00730326: 0x00000219 + "\x00T\x03&\x00\x00\x02\x1a" + // 0x00540326: 0x0000021A + "\x00t\x03&\x00\x00\x02\x1b" + // 0x00740326: 0x0000021B + "\x00H\x03\f\x00\x00\x02\x1e" + // 0x0048030C: 0x0000021E + "\x00h\x03\f\x00\x00\x02\x1f" + // 0x0068030C: 0x0000021F + "\x00A\x03\a\x00\x00\x02&" + // 0x00410307: 0x00000226 + "\x00a\x03\a\x00\x00\x02'" + // 0x00610307: 0x00000227 + "\x00E\x03'\x00\x00\x02(" + // 0x00450327: 0x00000228 + "\x00e\x03'\x00\x00\x02)" + // 0x00650327: 0x00000229 + "\x00\xd6\x03\x04\x00\x00\x02*" + // 0x00D60304: 0x0000022A + "\x00\xf6\x03\x04\x00\x00\x02+" + // 0x00F60304: 0x0000022B + "\x00\xd5\x03\x04\x00\x00\x02," + // 0x00D50304: 0x0000022C + "\x00\xf5\x03\x04\x00\x00\x02-" + // 0x00F50304: 0x0000022D + "\x00O\x03\a\x00\x00\x02." + // 0x004F0307: 0x0000022E + "\x00o\x03\a\x00\x00\x02/" + // 0x006F0307: 0x0000022F + "\x02.\x03\x04\x00\x00\x020" + // 0x022E0304: 0x00000230 + "\x02/\x03\x04\x00\x00\x021" + // 0x022F0304: 0x00000231 + "\x00Y\x03\x04\x00\x00\x022" + // 0x00590304: 0x00000232 + "\x00y\x03\x04\x00\x00\x023" + // 0x00790304: 0x00000233 + "\x00\xa8\x03\x01\x00\x00\x03\x85" + // 0x00A80301: 0x00000385 + "\x03\x91\x03\x01\x00\x00\x03\x86" + // 0x03910301: 0x00000386 + "\x03\x95\x03\x01\x00\x00\x03\x88" + // 0x03950301: 0x00000388 + "\x03\x97\x03\x01\x00\x00\x03\x89" + // 0x03970301: 0x00000389 + "\x03\x99\x03\x01\x00\x00\x03\x8a" + // 0x03990301: 0x0000038A + "\x03\x9f\x03\x01\x00\x00\x03\x8c" + // 0x039F0301: 0x0000038C + "\x03\xa5\x03\x01\x00\x00\x03\x8e" + // 0x03A50301: 0x0000038E + "\x03\xa9\x03\x01\x00\x00\x03\x8f" + // 0x03A90301: 0x0000038F + "\x03\xca\x03\x01\x00\x00\x03\x90" + // 0x03CA0301: 0x00000390 + "\x03\x99\x03\b\x00\x00\x03\xaa" + // 0x03990308: 0x000003AA + "\x03\xa5\x03\b\x00\x00\x03\xab" + // 0x03A50308: 0x000003AB + "\x03\xb1\x03\x01\x00\x00\x03\xac" + // 0x03B10301: 0x000003AC + "\x03\xb5\x03\x01\x00\x00\x03\xad" + // 0x03B50301: 0x000003AD + "\x03\xb7\x03\x01\x00\x00\x03\xae" + // 0x03B70301: 0x000003AE + "\x03\xb9\x03\x01\x00\x00\x03\xaf" + // 0x03B90301: 0x000003AF + "\x03\xcb\x03\x01\x00\x00\x03\xb0" + // 0x03CB0301: 0x000003B0 + "\x03\xb9\x03\b\x00\x00\x03\xca" + // 0x03B90308: 0x000003CA + "\x03\xc5\x03\b\x00\x00\x03\xcb" + // 0x03C50308: 0x000003CB + "\x03\xbf\x03\x01\x00\x00\x03\xcc" + // 0x03BF0301: 0x000003CC + "\x03\xc5\x03\x01\x00\x00\x03\xcd" + // 0x03C50301: 0x000003CD + "\x03\xc9\x03\x01\x00\x00\x03\xce" + // 0x03C90301: 0x000003CE + "\x03\xd2\x03\x01\x00\x00\x03\xd3" + // 0x03D20301: 0x000003D3 + "\x03\xd2\x03\b\x00\x00\x03\xd4" + // 0x03D20308: 0x000003D4 + "\x04\x15\x03\x00\x00\x00\x04\x00" + // 0x04150300: 0x00000400 + "\x04\x15\x03\b\x00\x00\x04\x01" + // 0x04150308: 0x00000401 + "\x04\x13\x03\x01\x00\x00\x04\x03" + // 0x04130301: 0x00000403 + "\x04\x06\x03\b\x00\x00\x04\a" + // 0x04060308: 0x00000407 + "\x04\x1a\x03\x01\x00\x00\x04\f" + // 0x041A0301: 0x0000040C + "\x04\x18\x03\x00\x00\x00\x04\r" + // 0x04180300: 0x0000040D + "\x04#\x03\x06\x00\x00\x04\x0e" + // 0x04230306: 0x0000040E + "\x04\x18\x03\x06\x00\x00\x04\x19" + // 0x04180306: 0x00000419 + "\x048\x03\x06\x00\x00\x049" + // 0x04380306: 0x00000439 + "\x045\x03\x00\x00\x00\x04P" + // 0x04350300: 0x00000450 + "\x045\x03\b\x00\x00\x04Q" + // 0x04350308: 0x00000451 + "\x043\x03\x01\x00\x00\x04S" + // 0x04330301: 0x00000453 + "\x04V\x03\b\x00\x00\x04W" + // 0x04560308: 0x00000457 + "\x04:\x03\x01\x00\x00\x04\\" + // 0x043A0301: 0x0000045C + "\x048\x03\x00\x00\x00\x04]" + // 0x04380300: 0x0000045D + "\x04C\x03\x06\x00\x00\x04^" + // 0x04430306: 0x0000045E + "\x04t\x03\x0f\x00\x00\x04v" + // 0x0474030F: 0x00000476 + "\x04u\x03\x0f\x00\x00\x04w" + // 0x0475030F: 0x00000477 + "\x04\x16\x03\x06\x00\x00\x04\xc1" + // 0x04160306: 0x000004C1 + "\x046\x03\x06\x00\x00\x04\xc2" + // 0x04360306: 0x000004C2 + "\x04\x10\x03\x06\x00\x00\x04\xd0" + // 0x04100306: 0x000004D0 + "\x040\x03\x06\x00\x00\x04\xd1" + // 0x04300306: 0x000004D1 + "\x04\x10\x03\b\x00\x00\x04\xd2" + // 0x04100308: 0x000004D2 + "\x040\x03\b\x00\x00\x04\xd3" + // 0x04300308: 0x000004D3 + "\x04\x15\x03\x06\x00\x00\x04\xd6" + // 0x04150306: 0x000004D6 + "\x045\x03\x06\x00\x00\x04\xd7" + // 0x04350306: 0x000004D7 + "\x04\xd8\x03\b\x00\x00\x04\xda" + // 0x04D80308: 0x000004DA + "\x04\xd9\x03\b\x00\x00\x04\xdb" + // 0x04D90308: 0x000004DB + "\x04\x16\x03\b\x00\x00\x04\xdc" + // 0x04160308: 0x000004DC + "\x046\x03\b\x00\x00\x04\xdd" + // 0x04360308: 0x000004DD + "\x04\x17\x03\b\x00\x00\x04\xde" + // 0x04170308: 0x000004DE + "\x047\x03\b\x00\x00\x04\xdf" + // 0x04370308: 0x000004DF + "\x04\x18\x03\x04\x00\x00\x04\xe2" + // 0x04180304: 0x000004E2 + "\x048\x03\x04\x00\x00\x04\xe3" + // 0x04380304: 0x000004E3 + "\x04\x18\x03\b\x00\x00\x04\xe4" + // 0x04180308: 0x000004E4 + "\x048\x03\b\x00\x00\x04\xe5" + // 0x04380308: 0x000004E5 + "\x04\x1e\x03\b\x00\x00\x04\xe6" + // 0x041E0308: 0x000004E6 + "\x04>\x03\b\x00\x00\x04\xe7" + // 0x043E0308: 0x000004E7 + "\x04\xe8\x03\b\x00\x00\x04\xea" + // 0x04E80308: 0x000004EA + "\x04\xe9\x03\b\x00\x00\x04\xeb" + // 0x04E90308: 0x000004EB + "\x04-\x03\b\x00\x00\x04\xec" + // 0x042D0308: 0x000004EC + "\x04M\x03\b\x00\x00\x04\xed" + // 0x044D0308: 0x000004ED + "\x04#\x03\x04\x00\x00\x04\xee" + // 0x04230304: 0x000004EE + "\x04C\x03\x04\x00\x00\x04\xef" + // 0x04430304: 0x000004EF + "\x04#\x03\b\x00\x00\x04\xf0" + // 0x04230308: 0x000004F0 + "\x04C\x03\b\x00\x00\x04\xf1" + // 0x04430308: 0x000004F1 + "\x04#\x03\v\x00\x00\x04\xf2" + // 0x0423030B: 0x000004F2 + "\x04C\x03\v\x00\x00\x04\xf3" + // 0x0443030B: 0x000004F3 + "\x04'\x03\b\x00\x00\x04\xf4" + // 0x04270308: 0x000004F4 + "\x04G\x03\b\x00\x00\x04\xf5" + // 0x04470308: 0x000004F5 + "\x04+\x03\b\x00\x00\x04\xf8" + // 0x042B0308: 0x000004F8 + "\x04K\x03\b\x00\x00\x04\xf9" + // 0x044B0308: 0x000004F9 + "\x06'\x06S\x00\x00\x06\"" + // 0x06270653: 0x00000622 + "\x06'\x06T\x00\x00\x06#" + // 0x06270654: 0x00000623 + "\x06H\x06T\x00\x00\x06$" + // 0x06480654: 0x00000624 + "\x06'\x06U\x00\x00\x06%" + // 0x06270655: 0x00000625 + "\x06J\x06T\x00\x00\x06&" + // 0x064A0654: 0x00000626 + "\x06\xd5\x06T\x00\x00\x06\xc0" + // 0x06D50654: 0x000006C0 + "\x06\xc1\x06T\x00\x00\x06\xc2" + // 0x06C10654: 0x000006C2 + "\x06\xd2\x06T\x00\x00\x06\xd3" + // 0x06D20654: 0x000006D3 + "\t(\t<\x00\x00\t)" + // 0x0928093C: 0x00000929 + "\t0\t<\x00\x00\t1" + // 0x0930093C: 0x00000931 + "\t3\t<\x00\x00\t4" + // 0x0933093C: 0x00000934 + "\t\xc7\t\xbe\x00\x00\t\xcb" + // 0x09C709BE: 0x000009CB + "\t\xc7\t\xd7\x00\x00\t\xcc" + // 0x09C709D7: 0x000009CC + "\vG\vV\x00\x00\vH" + // 0x0B470B56: 0x00000B48 + "\vG\v>\x00\x00\vK" + // 0x0B470B3E: 0x00000B4B + "\vG\vW\x00\x00\vL" + // 0x0B470B57: 0x00000B4C + "\v\x92\v\xd7\x00\x00\v\x94" + // 0x0B920BD7: 0x00000B94 + "\v\xc6\v\xbe\x00\x00\v\xca" + // 0x0BC60BBE: 0x00000BCA + "\v\xc7\v\xbe\x00\x00\v\xcb" + // 0x0BC70BBE: 0x00000BCB + "\v\xc6\v\xd7\x00\x00\v\xcc" + // 0x0BC60BD7: 0x00000BCC + "\fF\fV\x00\x00\fH" + // 0x0C460C56: 0x00000C48 + "\f\xbf\f\xd5\x00\x00\f\xc0" + // 0x0CBF0CD5: 0x00000CC0 + "\f\xc6\f\xd5\x00\x00\f\xc7" + // 0x0CC60CD5: 0x00000CC7 + "\f\xc6\f\xd6\x00\x00\f\xc8" + // 0x0CC60CD6: 0x00000CC8 + "\f\xc6\f\xc2\x00\x00\f\xca" + // 0x0CC60CC2: 0x00000CCA + "\f\xca\f\xd5\x00\x00\f\xcb" + // 0x0CCA0CD5: 0x00000CCB + "\rF\r>\x00\x00\rJ" + // 0x0D460D3E: 0x00000D4A + "\rG\r>\x00\x00\rK" + // 0x0D470D3E: 0x00000D4B + "\rF\rW\x00\x00\rL" + // 0x0D460D57: 0x00000D4C + "\r\xd9\r\xca\x00\x00\r\xda" + // 0x0DD90DCA: 0x00000DDA + "\r\xd9\r\xcf\x00\x00\r\xdc" + // 0x0DD90DCF: 0x00000DDC + "\r\xdc\r\xca\x00\x00\r\xdd" + // 0x0DDC0DCA: 0x00000DDD + "\r\xd9\r\xdf\x00\x00\r\xde" + // 0x0DD90DDF: 0x00000DDE + "\x10%\x10.\x00\x00\x10&" + // 0x1025102E: 0x00001026 + "\x1b\x05\x1b5\x00\x00\x1b\x06" + // 0x1B051B35: 0x00001B06 + "\x1b\a\x1b5\x00\x00\x1b\b" + // 0x1B071B35: 0x00001B08 + "\x1b\t\x1b5\x00\x00\x1b\n" + // 0x1B091B35: 0x00001B0A + "\x1b\v\x1b5\x00\x00\x1b\f" + // 0x1B0B1B35: 0x00001B0C + "\x1b\r\x1b5\x00\x00\x1b\x0e" + // 0x1B0D1B35: 0x00001B0E + "\x1b\x11\x1b5\x00\x00\x1b\x12" + // 0x1B111B35: 0x00001B12 + "\x1b:\x1b5\x00\x00\x1b;" + // 0x1B3A1B35: 0x00001B3B + "\x1b<\x1b5\x00\x00\x1b=" + // 0x1B3C1B35: 0x00001B3D + "\x1b>\x1b5\x00\x00\x1b@" + // 0x1B3E1B35: 0x00001B40 + "\x1b?\x1b5\x00\x00\x1bA" + // 0x1B3F1B35: 0x00001B41 + "\x1bB\x1b5\x00\x00\x1bC" + // 0x1B421B35: 0x00001B43 + "\x00A\x03%\x00\x00\x1e\x00" + // 0x00410325: 0x00001E00 + "\x00a\x03%\x00\x00\x1e\x01" + // 0x00610325: 0x00001E01 + "\x00B\x03\a\x00\x00\x1e\x02" + // 0x00420307: 0x00001E02 + "\x00b\x03\a\x00\x00\x1e\x03" + // 0x00620307: 0x00001E03 + "\x00B\x03#\x00\x00\x1e\x04" + // 0x00420323: 0x00001E04 + "\x00b\x03#\x00\x00\x1e\x05" + // 0x00620323: 0x00001E05 + "\x00B\x031\x00\x00\x1e\x06" + // 0x00420331: 0x00001E06 + "\x00b\x031\x00\x00\x1e\a" + // 0x00620331: 0x00001E07 + "\x00\xc7\x03\x01\x00\x00\x1e\b" + // 0x00C70301: 0x00001E08 + "\x00\xe7\x03\x01\x00\x00\x1e\t" + // 0x00E70301: 0x00001E09 + "\x00D\x03\a\x00\x00\x1e\n" + // 0x00440307: 0x00001E0A + "\x00d\x03\a\x00\x00\x1e\v" + // 0x00640307: 0x00001E0B + "\x00D\x03#\x00\x00\x1e\f" + // 0x00440323: 0x00001E0C + "\x00d\x03#\x00\x00\x1e\r" + // 0x00640323: 0x00001E0D + "\x00D\x031\x00\x00\x1e\x0e" + // 0x00440331: 0x00001E0E + "\x00d\x031\x00\x00\x1e\x0f" + // 0x00640331: 0x00001E0F + "\x00D\x03'\x00\x00\x1e\x10" + // 0x00440327: 0x00001E10 + "\x00d\x03'\x00\x00\x1e\x11" + // 0x00640327: 0x00001E11 + "\x00D\x03-\x00\x00\x1e\x12" + // 0x0044032D: 0x00001E12 + "\x00d\x03-\x00\x00\x1e\x13" + // 0x0064032D: 0x00001E13 + "\x01\x12\x03\x00\x00\x00\x1e\x14" + // 0x01120300: 0x00001E14 + "\x01\x13\x03\x00\x00\x00\x1e\x15" + // 0x01130300: 0x00001E15 + "\x01\x12\x03\x01\x00\x00\x1e\x16" + // 0x01120301: 0x00001E16 + "\x01\x13\x03\x01\x00\x00\x1e\x17" + // 0x01130301: 0x00001E17 + "\x00E\x03-\x00\x00\x1e\x18" + // 0x0045032D: 0x00001E18 + "\x00e\x03-\x00\x00\x1e\x19" + // 0x0065032D: 0x00001E19 + "\x00E\x030\x00\x00\x1e\x1a" + // 0x00450330: 0x00001E1A + "\x00e\x030\x00\x00\x1e\x1b" + // 0x00650330: 0x00001E1B + "\x02(\x03\x06\x00\x00\x1e\x1c" + // 0x02280306: 0x00001E1C + "\x02)\x03\x06\x00\x00\x1e\x1d" + // 0x02290306: 0x00001E1D + "\x00F\x03\a\x00\x00\x1e\x1e" + // 0x00460307: 0x00001E1E + "\x00f\x03\a\x00\x00\x1e\x1f" + // 0x00660307: 0x00001E1F + "\x00G\x03\x04\x00\x00\x1e " + // 0x00470304: 0x00001E20 + "\x00g\x03\x04\x00\x00\x1e!" + // 0x00670304: 0x00001E21 + "\x00H\x03\a\x00\x00\x1e\"" + // 0x00480307: 0x00001E22 + "\x00h\x03\a\x00\x00\x1e#" + // 0x00680307: 0x00001E23 + "\x00H\x03#\x00\x00\x1e$" + // 0x00480323: 0x00001E24 + "\x00h\x03#\x00\x00\x1e%" + // 0x00680323: 0x00001E25 + "\x00H\x03\b\x00\x00\x1e&" + // 0x00480308: 0x00001E26 + "\x00h\x03\b\x00\x00\x1e'" + // 0x00680308: 0x00001E27 + "\x00H\x03'\x00\x00\x1e(" + // 0x00480327: 0x00001E28 + "\x00h\x03'\x00\x00\x1e)" + // 0x00680327: 0x00001E29 + "\x00H\x03.\x00\x00\x1e*" + // 0x0048032E: 0x00001E2A + "\x00h\x03.\x00\x00\x1e+" + // 0x0068032E: 0x00001E2B + "\x00I\x030\x00\x00\x1e," + // 0x00490330: 0x00001E2C + "\x00i\x030\x00\x00\x1e-" + // 0x00690330: 0x00001E2D + "\x00\xcf\x03\x01\x00\x00\x1e." + // 0x00CF0301: 0x00001E2E + "\x00\xef\x03\x01\x00\x00\x1e/" + // 0x00EF0301: 0x00001E2F + "\x00K\x03\x01\x00\x00\x1e0" + // 0x004B0301: 0x00001E30 + "\x00k\x03\x01\x00\x00\x1e1" + // 0x006B0301: 0x00001E31 + "\x00K\x03#\x00\x00\x1e2" + // 0x004B0323: 0x00001E32 + "\x00k\x03#\x00\x00\x1e3" + // 0x006B0323: 0x00001E33 + "\x00K\x031\x00\x00\x1e4" + // 0x004B0331: 0x00001E34 + "\x00k\x031\x00\x00\x1e5" + // 0x006B0331: 0x00001E35 + "\x00L\x03#\x00\x00\x1e6" + // 0x004C0323: 0x00001E36 + "\x00l\x03#\x00\x00\x1e7" + // 0x006C0323: 0x00001E37 + "\x1e6\x03\x04\x00\x00\x1e8" + // 0x1E360304: 0x00001E38 + "\x1e7\x03\x04\x00\x00\x1e9" + // 0x1E370304: 0x00001E39 + "\x00L\x031\x00\x00\x1e:" + // 0x004C0331: 0x00001E3A + "\x00l\x031\x00\x00\x1e;" + // 0x006C0331: 0x00001E3B + "\x00L\x03-\x00\x00\x1e<" + // 0x004C032D: 0x00001E3C + "\x00l\x03-\x00\x00\x1e=" + // 0x006C032D: 0x00001E3D + "\x00M\x03\x01\x00\x00\x1e>" + // 0x004D0301: 0x00001E3E + "\x00m\x03\x01\x00\x00\x1e?" + // 0x006D0301: 0x00001E3F + "\x00M\x03\a\x00\x00\x1e@" + // 0x004D0307: 0x00001E40 + "\x00m\x03\a\x00\x00\x1eA" + // 0x006D0307: 0x00001E41 + "\x00M\x03#\x00\x00\x1eB" + // 0x004D0323: 0x00001E42 + "\x00m\x03#\x00\x00\x1eC" + // 0x006D0323: 0x00001E43 + "\x00N\x03\a\x00\x00\x1eD" + // 0x004E0307: 0x00001E44 + "\x00n\x03\a\x00\x00\x1eE" + // 0x006E0307: 0x00001E45 + "\x00N\x03#\x00\x00\x1eF" + // 0x004E0323: 0x00001E46 + "\x00n\x03#\x00\x00\x1eG" + // 0x006E0323: 0x00001E47 + "\x00N\x031\x00\x00\x1eH" + // 0x004E0331: 0x00001E48 + "\x00n\x031\x00\x00\x1eI" + // 0x006E0331: 0x00001E49 + "\x00N\x03-\x00\x00\x1eJ" + // 0x004E032D: 0x00001E4A + "\x00n\x03-\x00\x00\x1eK" + // 0x006E032D: 0x00001E4B + "\x00\xd5\x03\x01\x00\x00\x1eL" + // 0x00D50301: 0x00001E4C + "\x00\xf5\x03\x01\x00\x00\x1eM" + // 0x00F50301: 0x00001E4D + "\x00\xd5\x03\b\x00\x00\x1eN" + // 0x00D50308: 0x00001E4E + "\x00\xf5\x03\b\x00\x00\x1eO" + // 0x00F50308: 0x00001E4F + "\x01L\x03\x00\x00\x00\x1eP" + // 0x014C0300: 0x00001E50 + "\x01M\x03\x00\x00\x00\x1eQ" + // 0x014D0300: 0x00001E51 + "\x01L\x03\x01\x00\x00\x1eR" + // 0x014C0301: 0x00001E52 + "\x01M\x03\x01\x00\x00\x1eS" + // 0x014D0301: 0x00001E53 + "\x00P\x03\x01\x00\x00\x1eT" + // 0x00500301: 0x00001E54 + "\x00p\x03\x01\x00\x00\x1eU" + // 0x00700301: 0x00001E55 + "\x00P\x03\a\x00\x00\x1eV" + // 0x00500307: 0x00001E56 + "\x00p\x03\a\x00\x00\x1eW" + // 0x00700307: 0x00001E57 + "\x00R\x03\a\x00\x00\x1eX" + // 0x00520307: 0x00001E58 + "\x00r\x03\a\x00\x00\x1eY" + // 0x00720307: 0x00001E59 + "\x00R\x03#\x00\x00\x1eZ" + // 0x00520323: 0x00001E5A + "\x00r\x03#\x00\x00\x1e[" + // 0x00720323: 0x00001E5B + "\x1eZ\x03\x04\x00\x00\x1e\\" + // 0x1E5A0304: 0x00001E5C + "\x1e[\x03\x04\x00\x00\x1e]" + // 0x1E5B0304: 0x00001E5D + "\x00R\x031\x00\x00\x1e^" + // 0x00520331: 0x00001E5E + "\x00r\x031\x00\x00\x1e_" + // 0x00720331: 0x00001E5F + "\x00S\x03\a\x00\x00\x1e`" + // 0x00530307: 0x00001E60 + "\x00s\x03\a\x00\x00\x1ea" + // 0x00730307: 0x00001E61 + "\x00S\x03#\x00\x00\x1eb" + // 0x00530323: 0x00001E62 + "\x00s\x03#\x00\x00\x1ec" + // 0x00730323: 0x00001E63 + "\x01Z\x03\a\x00\x00\x1ed" + // 0x015A0307: 0x00001E64 + "\x01[\x03\a\x00\x00\x1ee" + // 0x015B0307: 0x00001E65 + "\x01`\x03\a\x00\x00\x1ef" + // 0x01600307: 0x00001E66 + "\x01a\x03\a\x00\x00\x1eg" + // 0x01610307: 0x00001E67 + "\x1eb\x03\a\x00\x00\x1eh" + // 0x1E620307: 0x00001E68 + "\x1ec\x03\a\x00\x00\x1ei" + // 0x1E630307: 0x00001E69 + "\x00T\x03\a\x00\x00\x1ej" + // 0x00540307: 0x00001E6A + "\x00t\x03\a\x00\x00\x1ek" + // 0x00740307: 0x00001E6B + "\x00T\x03#\x00\x00\x1el" + // 0x00540323: 0x00001E6C + "\x00t\x03#\x00\x00\x1em" + // 0x00740323: 0x00001E6D + "\x00T\x031\x00\x00\x1en" + // 0x00540331: 0x00001E6E + "\x00t\x031\x00\x00\x1eo" + // 0x00740331: 0x00001E6F + "\x00T\x03-\x00\x00\x1ep" + // 0x0054032D: 0x00001E70 + "\x00t\x03-\x00\x00\x1eq" + // 0x0074032D: 0x00001E71 + "\x00U\x03$\x00\x00\x1er" + // 0x00550324: 0x00001E72 + "\x00u\x03$\x00\x00\x1es" + // 0x00750324: 0x00001E73 + "\x00U\x030\x00\x00\x1et" + // 0x00550330: 0x00001E74 + "\x00u\x030\x00\x00\x1eu" + // 0x00750330: 0x00001E75 + "\x00U\x03-\x00\x00\x1ev" + // 0x0055032D: 0x00001E76 + "\x00u\x03-\x00\x00\x1ew" + // 0x0075032D: 0x00001E77 + "\x01h\x03\x01\x00\x00\x1ex" + // 0x01680301: 0x00001E78 + "\x01i\x03\x01\x00\x00\x1ey" + // 0x01690301: 0x00001E79 + "\x01j\x03\b\x00\x00\x1ez" + // 0x016A0308: 0x00001E7A + "\x01k\x03\b\x00\x00\x1e{" + // 0x016B0308: 0x00001E7B + "\x00V\x03\x03\x00\x00\x1e|" + // 0x00560303: 0x00001E7C + "\x00v\x03\x03\x00\x00\x1e}" + // 0x00760303: 0x00001E7D + "\x00V\x03#\x00\x00\x1e~" + // 0x00560323: 0x00001E7E + "\x00v\x03#\x00\x00\x1e\u007f" + // 0x00760323: 0x00001E7F + "\x00W\x03\x00\x00\x00\x1e\x80" + // 0x00570300: 0x00001E80 + "\x00w\x03\x00\x00\x00\x1e\x81" + // 0x00770300: 0x00001E81 + "\x00W\x03\x01\x00\x00\x1e\x82" + // 0x00570301: 0x00001E82 + "\x00w\x03\x01\x00\x00\x1e\x83" + // 0x00770301: 0x00001E83 + "\x00W\x03\b\x00\x00\x1e\x84" + // 0x00570308: 0x00001E84 + "\x00w\x03\b\x00\x00\x1e\x85" + // 0x00770308: 0x00001E85 + "\x00W\x03\a\x00\x00\x1e\x86" + // 0x00570307: 0x00001E86 + "\x00w\x03\a\x00\x00\x1e\x87" + // 0x00770307: 0x00001E87 + "\x00W\x03#\x00\x00\x1e\x88" + // 0x00570323: 0x00001E88 + "\x00w\x03#\x00\x00\x1e\x89" + // 0x00770323: 0x00001E89 + "\x00X\x03\a\x00\x00\x1e\x8a" + // 0x00580307: 0x00001E8A + "\x00x\x03\a\x00\x00\x1e\x8b" + // 0x00780307: 0x00001E8B + "\x00X\x03\b\x00\x00\x1e\x8c" + // 0x00580308: 0x00001E8C + "\x00x\x03\b\x00\x00\x1e\x8d" + // 0x00780308: 0x00001E8D + "\x00Y\x03\a\x00\x00\x1e\x8e" + // 0x00590307: 0x00001E8E + "\x00y\x03\a\x00\x00\x1e\x8f" + // 0x00790307: 0x00001E8F + "\x00Z\x03\x02\x00\x00\x1e\x90" + // 0x005A0302: 0x00001E90 + "\x00z\x03\x02\x00\x00\x1e\x91" + // 0x007A0302: 0x00001E91 + "\x00Z\x03#\x00\x00\x1e\x92" + // 0x005A0323: 0x00001E92 + "\x00z\x03#\x00\x00\x1e\x93" + // 0x007A0323: 0x00001E93 + "\x00Z\x031\x00\x00\x1e\x94" + // 0x005A0331: 0x00001E94 + "\x00z\x031\x00\x00\x1e\x95" + // 0x007A0331: 0x00001E95 + "\x00h\x031\x00\x00\x1e\x96" + // 0x00680331: 0x00001E96 + "\x00t\x03\b\x00\x00\x1e\x97" + // 0x00740308: 0x00001E97 + "\x00w\x03\n\x00\x00\x1e\x98" + // 0x0077030A: 0x00001E98 + "\x00y\x03\n\x00\x00\x1e\x99" + // 0x0079030A: 0x00001E99 + "\x01\u007f\x03\a\x00\x00\x1e\x9b" + // 0x017F0307: 0x00001E9B + "\x00A\x03#\x00\x00\x1e\xa0" + // 0x00410323: 0x00001EA0 + "\x00a\x03#\x00\x00\x1e\xa1" + // 0x00610323: 0x00001EA1 + "\x00A\x03\t\x00\x00\x1e\xa2" + // 0x00410309: 0x00001EA2 + "\x00a\x03\t\x00\x00\x1e\xa3" + // 0x00610309: 0x00001EA3 + "\x00\xc2\x03\x01\x00\x00\x1e\xa4" + // 0x00C20301: 0x00001EA4 + "\x00\xe2\x03\x01\x00\x00\x1e\xa5" + // 0x00E20301: 0x00001EA5 + "\x00\xc2\x03\x00\x00\x00\x1e\xa6" + // 0x00C20300: 0x00001EA6 + "\x00\xe2\x03\x00\x00\x00\x1e\xa7" + // 0x00E20300: 0x00001EA7 + "\x00\xc2\x03\t\x00\x00\x1e\xa8" + // 0x00C20309: 0x00001EA8 + "\x00\xe2\x03\t\x00\x00\x1e\xa9" + // 0x00E20309: 0x00001EA9 + "\x00\xc2\x03\x03\x00\x00\x1e\xaa" + // 0x00C20303: 0x00001EAA + "\x00\xe2\x03\x03\x00\x00\x1e\xab" + // 0x00E20303: 0x00001EAB + "\x1e\xa0\x03\x02\x00\x00\x1e\xac" + // 0x1EA00302: 0x00001EAC + "\x1e\xa1\x03\x02\x00\x00\x1e\xad" + // 0x1EA10302: 0x00001EAD + "\x01\x02\x03\x01\x00\x00\x1e\xae" + // 0x01020301: 0x00001EAE + "\x01\x03\x03\x01\x00\x00\x1e\xaf" + // 0x01030301: 0x00001EAF + "\x01\x02\x03\x00\x00\x00\x1e\xb0" + // 0x01020300: 0x00001EB0 + "\x01\x03\x03\x00\x00\x00\x1e\xb1" + // 0x01030300: 0x00001EB1 + "\x01\x02\x03\t\x00\x00\x1e\xb2" + // 0x01020309: 0x00001EB2 + "\x01\x03\x03\t\x00\x00\x1e\xb3" + // 0x01030309: 0x00001EB3 + "\x01\x02\x03\x03\x00\x00\x1e\xb4" + // 0x01020303: 0x00001EB4 + "\x01\x03\x03\x03\x00\x00\x1e\xb5" + // 0x01030303: 0x00001EB5 + "\x1e\xa0\x03\x06\x00\x00\x1e\xb6" + // 0x1EA00306: 0x00001EB6 + "\x1e\xa1\x03\x06\x00\x00\x1e\xb7" + // 0x1EA10306: 0x00001EB7 + "\x00E\x03#\x00\x00\x1e\xb8" + // 0x00450323: 0x00001EB8 + "\x00e\x03#\x00\x00\x1e\xb9" + // 0x00650323: 0x00001EB9 + "\x00E\x03\t\x00\x00\x1e\xba" + // 0x00450309: 0x00001EBA + "\x00e\x03\t\x00\x00\x1e\xbb" + // 0x00650309: 0x00001EBB + "\x00E\x03\x03\x00\x00\x1e\xbc" + // 0x00450303: 0x00001EBC + "\x00e\x03\x03\x00\x00\x1e\xbd" + // 0x00650303: 0x00001EBD + "\x00\xca\x03\x01\x00\x00\x1e\xbe" + // 0x00CA0301: 0x00001EBE + "\x00\xea\x03\x01\x00\x00\x1e\xbf" + // 0x00EA0301: 0x00001EBF + "\x00\xca\x03\x00\x00\x00\x1e\xc0" + // 0x00CA0300: 0x00001EC0 + "\x00\xea\x03\x00\x00\x00\x1e\xc1" + // 0x00EA0300: 0x00001EC1 + "\x00\xca\x03\t\x00\x00\x1e\xc2" + // 0x00CA0309: 0x00001EC2 + "\x00\xea\x03\t\x00\x00\x1e\xc3" + // 0x00EA0309: 0x00001EC3 + "\x00\xca\x03\x03\x00\x00\x1e\xc4" + // 0x00CA0303: 0x00001EC4 + "\x00\xea\x03\x03\x00\x00\x1e\xc5" + // 0x00EA0303: 0x00001EC5 + "\x1e\xb8\x03\x02\x00\x00\x1e\xc6" + // 0x1EB80302: 0x00001EC6 + "\x1e\xb9\x03\x02\x00\x00\x1e\xc7" + // 0x1EB90302: 0x00001EC7 + "\x00I\x03\t\x00\x00\x1e\xc8" + // 0x00490309: 0x00001EC8 + "\x00i\x03\t\x00\x00\x1e\xc9" + // 0x00690309: 0x00001EC9 + "\x00I\x03#\x00\x00\x1e\xca" + // 0x00490323: 0x00001ECA + "\x00i\x03#\x00\x00\x1e\xcb" + // 0x00690323: 0x00001ECB + "\x00O\x03#\x00\x00\x1e\xcc" + // 0x004F0323: 0x00001ECC + "\x00o\x03#\x00\x00\x1e\xcd" + // 0x006F0323: 0x00001ECD + "\x00O\x03\t\x00\x00\x1e\xce" + // 0x004F0309: 0x00001ECE + "\x00o\x03\t\x00\x00\x1e\xcf" + // 0x006F0309: 0x00001ECF + "\x00\xd4\x03\x01\x00\x00\x1e\xd0" + // 0x00D40301: 0x00001ED0 + "\x00\xf4\x03\x01\x00\x00\x1e\xd1" + // 0x00F40301: 0x00001ED1 + "\x00\xd4\x03\x00\x00\x00\x1e\xd2" + // 0x00D40300: 0x00001ED2 + "\x00\xf4\x03\x00\x00\x00\x1e\xd3" + // 0x00F40300: 0x00001ED3 + "\x00\xd4\x03\t\x00\x00\x1e\xd4" + // 0x00D40309: 0x00001ED4 + "\x00\xf4\x03\t\x00\x00\x1e\xd5" + // 0x00F40309: 0x00001ED5 + "\x00\xd4\x03\x03\x00\x00\x1e\xd6" + // 0x00D40303: 0x00001ED6 + "\x00\xf4\x03\x03\x00\x00\x1e\xd7" + // 0x00F40303: 0x00001ED7 + "\x1e\xcc\x03\x02\x00\x00\x1e\xd8" + // 0x1ECC0302: 0x00001ED8 + "\x1e\xcd\x03\x02\x00\x00\x1e\xd9" + // 0x1ECD0302: 0x00001ED9 + "\x01\xa0\x03\x01\x00\x00\x1e\xda" + // 0x01A00301: 0x00001EDA + "\x01\xa1\x03\x01\x00\x00\x1e\xdb" + // 0x01A10301: 0x00001EDB + "\x01\xa0\x03\x00\x00\x00\x1e\xdc" + // 0x01A00300: 0x00001EDC + "\x01\xa1\x03\x00\x00\x00\x1e\xdd" + // 0x01A10300: 0x00001EDD + "\x01\xa0\x03\t\x00\x00\x1e\xde" + // 0x01A00309: 0x00001EDE + "\x01\xa1\x03\t\x00\x00\x1e\xdf" + // 0x01A10309: 0x00001EDF + "\x01\xa0\x03\x03\x00\x00\x1e\xe0" + // 0x01A00303: 0x00001EE0 + "\x01\xa1\x03\x03\x00\x00\x1e\xe1" + // 0x01A10303: 0x00001EE1 + "\x01\xa0\x03#\x00\x00\x1e\xe2" + // 0x01A00323: 0x00001EE2 + "\x01\xa1\x03#\x00\x00\x1e\xe3" + // 0x01A10323: 0x00001EE3 + "\x00U\x03#\x00\x00\x1e\xe4" + // 0x00550323: 0x00001EE4 + "\x00u\x03#\x00\x00\x1e\xe5" + // 0x00750323: 0x00001EE5 + "\x00U\x03\t\x00\x00\x1e\xe6" + // 0x00550309: 0x00001EE6 + "\x00u\x03\t\x00\x00\x1e\xe7" + // 0x00750309: 0x00001EE7 + "\x01\xaf\x03\x01\x00\x00\x1e\xe8" + // 0x01AF0301: 0x00001EE8 + "\x01\xb0\x03\x01\x00\x00\x1e\xe9" + // 0x01B00301: 0x00001EE9 + "\x01\xaf\x03\x00\x00\x00\x1e\xea" + // 0x01AF0300: 0x00001EEA + "\x01\xb0\x03\x00\x00\x00\x1e\xeb" + // 0x01B00300: 0x00001EEB + "\x01\xaf\x03\t\x00\x00\x1e\xec" + // 0x01AF0309: 0x00001EEC + "\x01\xb0\x03\t\x00\x00\x1e\xed" + // 0x01B00309: 0x00001EED + "\x01\xaf\x03\x03\x00\x00\x1e\xee" + // 0x01AF0303: 0x00001EEE + "\x01\xb0\x03\x03\x00\x00\x1e\xef" + // 0x01B00303: 0x00001EEF + "\x01\xaf\x03#\x00\x00\x1e\xf0" + // 0x01AF0323: 0x00001EF0 + "\x01\xb0\x03#\x00\x00\x1e\xf1" + // 0x01B00323: 0x00001EF1 + "\x00Y\x03\x00\x00\x00\x1e\xf2" + // 0x00590300: 0x00001EF2 + "\x00y\x03\x00\x00\x00\x1e\xf3" + // 0x00790300: 0x00001EF3 + "\x00Y\x03#\x00\x00\x1e\xf4" + // 0x00590323: 0x00001EF4 + "\x00y\x03#\x00\x00\x1e\xf5" + // 0x00790323: 0x00001EF5 + "\x00Y\x03\t\x00\x00\x1e\xf6" + // 0x00590309: 0x00001EF6 + "\x00y\x03\t\x00\x00\x1e\xf7" + // 0x00790309: 0x00001EF7 + "\x00Y\x03\x03\x00\x00\x1e\xf8" + // 0x00590303: 0x00001EF8 + "\x00y\x03\x03\x00\x00\x1e\xf9" + // 0x00790303: 0x00001EF9 + "\x03\xb1\x03\x13\x00\x00\x1f\x00" + // 0x03B10313: 0x00001F00 + "\x03\xb1\x03\x14\x00\x00\x1f\x01" + // 0x03B10314: 0x00001F01 + "\x1f\x00\x03\x00\x00\x00\x1f\x02" + // 0x1F000300: 0x00001F02 + "\x1f\x01\x03\x00\x00\x00\x1f\x03" + // 0x1F010300: 0x00001F03 + "\x1f\x00\x03\x01\x00\x00\x1f\x04" + // 0x1F000301: 0x00001F04 + "\x1f\x01\x03\x01\x00\x00\x1f\x05" + // 0x1F010301: 0x00001F05 + "\x1f\x00\x03B\x00\x00\x1f\x06" + // 0x1F000342: 0x00001F06 + "\x1f\x01\x03B\x00\x00\x1f\a" + // 0x1F010342: 0x00001F07 + "\x03\x91\x03\x13\x00\x00\x1f\b" + // 0x03910313: 0x00001F08 + "\x03\x91\x03\x14\x00\x00\x1f\t" + // 0x03910314: 0x00001F09 + "\x1f\b\x03\x00\x00\x00\x1f\n" + // 0x1F080300: 0x00001F0A + "\x1f\t\x03\x00\x00\x00\x1f\v" + // 0x1F090300: 0x00001F0B + "\x1f\b\x03\x01\x00\x00\x1f\f" + // 0x1F080301: 0x00001F0C + "\x1f\t\x03\x01\x00\x00\x1f\r" + // 0x1F090301: 0x00001F0D + "\x1f\b\x03B\x00\x00\x1f\x0e" + // 0x1F080342: 0x00001F0E + "\x1f\t\x03B\x00\x00\x1f\x0f" + // 0x1F090342: 0x00001F0F + "\x03\xb5\x03\x13\x00\x00\x1f\x10" + // 0x03B50313: 0x00001F10 + "\x03\xb5\x03\x14\x00\x00\x1f\x11" + // 0x03B50314: 0x00001F11 + "\x1f\x10\x03\x00\x00\x00\x1f\x12" + // 0x1F100300: 0x00001F12 + "\x1f\x11\x03\x00\x00\x00\x1f\x13" + // 0x1F110300: 0x00001F13 + "\x1f\x10\x03\x01\x00\x00\x1f\x14" + // 0x1F100301: 0x00001F14 + "\x1f\x11\x03\x01\x00\x00\x1f\x15" + // 0x1F110301: 0x00001F15 + "\x03\x95\x03\x13\x00\x00\x1f\x18" + // 0x03950313: 0x00001F18 + "\x03\x95\x03\x14\x00\x00\x1f\x19" + // 0x03950314: 0x00001F19 + "\x1f\x18\x03\x00\x00\x00\x1f\x1a" + // 0x1F180300: 0x00001F1A + "\x1f\x19\x03\x00\x00\x00\x1f\x1b" + // 0x1F190300: 0x00001F1B + "\x1f\x18\x03\x01\x00\x00\x1f\x1c" + // 0x1F180301: 0x00001F1C + "\x1f\x19\x03\x01\x00\x00\x1f\x1d" + // 0x1F190301: 0x00001F1D + "\x03\xb7\x03\x13\x00\x00\x1f " + // 0x03B70313: 0x00001F20 + "\x03\xb7\x03\x14\x00\x00\x1f!" + // 0x03B70314: 0x00001F21 + "\x1f \x03\x00\x00\x00\x1f\"" + // 0x1F200300: 0x00001F22 + "\x1f!\x03\x00\x00\x00\x1f#" + // 0x1F210300: 0x00001F23 + "\x1f \x03\x01\x00\x00\x1f$" + // 0x1F200301: 0x00001F24 + "\x1f!\x03\x01\x00\x00\x1f%" + // 0x1F210301: 0x00001F25 + "\x1f \x03B\x00\x00\x1f&" + // 0x1F200342: 0x00001F26 + "\x1f!\x03B\x00\x00\x1f'" + // 0x1F210342: 0x00001F27 + "\x03\x97\x03\x13\x00\x00\x1f(" + // 0x03970313: 0x00001F28 + "\x03\x97\x03\x14\x00\x00\x1f)" + // 0x03970314: 0x00001F29 + "\x1f(\x03\x00\x00\x00\x1f*" + // 0x1F280300: 0x00001F2A + "\x1f)\x03\x00\x00\x00\x1f+" + // 0x1F290300: 0x00001F2B + "\x1f(\x03\x01\x00\x00\x1f," + // 0x1F280301: 0x00001F2C + "\x1f)\x03\x01\x00\x00\x1f-" + // 0x1F290301: 0x00001F2D + "\x1f(\x03B\x00\x00\x1f." + // 0x1F280342: 0x00001F2E + "\x1f)\x03B\x00\x00\x1f/" + // 0x1F290342: 0x00001F2F + "\x03\xb9\x03\x13\x00\x00\x1f0" + // 0x03B90313: 0x00001F30 + "\x03\xb9\x03\x14\x00\x00\x1f1" + // 0x03B90314: 0x00001F31 + "\x1f0\x03\x00\x00\x00\x1f2" + // 0x1F300300: 0x00001F32 + "\x1f1\x03\x00\x00\x00\x1f3" + // 0x1F310300: 0x00001F33 + "\x1f0\x03\x01\x00\x00\x1f4" + // 0x1F300301: 0x00001F34 + "\x1f1\x03\x01\x00\x00\x1f5" + // 0x1F310301: 0x00001F35 + "\x1f0\x03B\x00\x00\x1f6" + // 0x1F300342: 0x00001F36 + "\x1f1\x03B\x00\x00\x1f7" + // 0x1F310342: 0x00001F37 + "\x03\x99\x03\x13\x00\x00\x1f8" + // 0x03990313: 0x00001F38 + "\x03\x99\x03\x14\x00\x00\x1f9" + // 0x03990314: 0x00001F39 + "\x1f8\x03\x00\x00\x00\x1f:" + // 0x1F380300: 0x00001F3A + "\x1f9\x03\x00\x00\x00\x1f;" + // 0x1F390300: 0x00001F3B + "\x1f8\x03\x01\x00\x00\x1f<" + // 0x1F380301: 0x00001F3C + "\x1f9\x03\x01\x00\x00\x1f=" + // 0x1F390301: 0x00001F3D + "\x1f8\x03B\x00\x00\x1f>" + // 0x1F380342: 0x00001F3E + "\x1f9\x03B\x00\x00\x1f?" + // 0x1F390342: 0x00001F3F + "\x03\xbf\x03\x13\x00\x00\x1f@" + // 0x03BF0313: 0x00001F40 + "\x03\xbf\x03\x14\x00\x00\x1fA" + // 0x03BF0314: 0x00001F41 + "\x1f@\x03\x00\x00\x00\x1fB" + // 0x1F400300: 0x00001F42 + "\x1fA\x03\x00\x00\x00\x1fC" + // 0x1F410300: 0x00001F43 + "\x1f@\x03\x01\x00\x00\x1fD" + // 0x1F400301: 0x00001F44 + "\x1fA\x03\x01\x00\x00\x1fE" + // 0x1F410301: 0x00001F45 + "\x03\x9f\x03\x13\x00\x00\x1fH" + // 0x039F0313: 0x00001F48 + "\x03\x9f\x03\x14\x00\x00\x1fI" + // 0x039F0314: 0x00001F49 + "\x1fH\x03\x00\x00\x00\x1fJ" + // 0x1F480300: 0x00001F4A + "\x1fI\x03\x00\x00\x00\x1fK" + // 0x1F490300: 0x00001F4B + "\x1fH\x03\x01\x00\x00\x1fL" + // 0x1F480301: 0x00001F4C + "\x1fI\x03\x01\x00\x00\x1fM" + // 0x1F490301: 0x00001F4D + "\x03\xc5\x03\x13\x00\x00\x1fP" + // 0x03C50313: 0x00001F50 + "\x03\xc5\x03\x14\x00\x00\x1fQ" + // 0x03C50314: 0x00001F51 + "\x1fP\x03\x00\x00\x00\x1fR" + // 0x1F500300: 0x00001F52 + "\x1fQ\x03\x00\x00\x00\x1fS" + // 0x1F510300: 0x00001F53 + "\x1fP\x03\x01\x00\x00\x1fT" + // 0x1F500301: 0x00001F54 + "\x1fQ\x03\x01\x00\x00\x1fU" + // 0x1F510301: 0x00001F55 + "\x1fP\x03B\x00\x00\x1fV" + // 0x1F500342: 0x00001F56 + "\x1fQ\x03B\x00\x00\x1fW" + // 0x1F510342: 0x00001F57 + "\x03\xa5\x03\x14\x00\x00\x1fY" + // 0x03A50314: 0x00001F59 + "\x1fY\x03\x00\x00\x00\x1f[" + // 0x1F590300: 0x00001F5B + "\x1fY\x03\x01\x00\x00\x1f]" + // 0x1F590301: 0x00001F5D + "\x1fY\x03B\x00\x00\x1f_" + // 0x1F590342: 0x00001F5F + "\x03\xc9\x03\x13\x00\x00\x1f`" + // 0x03C90313: 0x00001F60 + "\x03\xc9\x03\x14\x00\x00\x1fa" + // 0x03C90314: 0x00001F61 + "\x1f`\x03\x00\x00\x00\x1fb" + // 0x1F600300: 0x00001F62 + "\x1fa\x03\x00\x00\x00\x1fc" + // 0x1F610300: 0x00001F63 + "\x1f`\x03\x01\x00\x00\x1fd" + // 0x1F600301: 0x00001F64 + "\x1fa\x03\x01\x00\x00\x1fe" + // 0x1F610301: 0x00001F65 + "\x1f`\x03B\x00\x00\x1ff" + // 0x1F600342: 0x00001F66 + "\x1fa\x03B\x00\x00\x1fg" + // 0x1F610342: 0x00001F67 + "\x03\xa9\x03\x13\x00\x00\x1fh" + // 0x03A90313: 0x00001F68 + "\x03\xa9\x03\x14\x00\x00\x1fi" + // 0x03A90314: 0x00001F69 + "\x1fh\x03\x00\x00\x00\x1fj" + // 0x1F680300: 0x00001F6A + "\x1fi\x03\x00\x00\x00\x1fk" + // 0x1F690300: 0x00001F6B + "\x1fh\x03\x01\x00\x00\x1fl" + // 0x1F680301: 0x00001F6C + "\x1fi\x03\x01\x00\x00\x1fm" + // 0x1F690301: 0x00001F6D + "\x1fh\x03B\x00\x00\x1fn" + // 0x1F680342: 0x00001F6E + "\x1fi\x03B\x00\x00\x1fo" + // 0x1F690342: 0x00001F6F + "\x03\xb1\x03\x00\x00\x00\x1fp" + // 0x03B10300: 0x00001F70 + "\x03\xb5\x03\x00\x00\x00\x1fr" + // 0x03B50300: 0x00001F72 + "\x03\xb7\x03\x00\x00\x00\x1ft" + // 0x03B70300: 0x00001F74 + "\x03\xb9\x03\x00\x00\x00\x1fv" + // 0x03B90300: 0x00001F76 + "\x03\xbf\x03\x00\x00\x00\x1fx" + // 0x03BF0300: 0x00001F78 + "\x03\xc5\x03\x00\x00\x00\x1fz" + // 0x03C50300: 0x00001F7A + "\x03\xc9\x03\x00\x00\x00\x1f|" + // 0x03C90300: 0x00001F7C + "\x1f\x00\x03E\x00\x00\x1f\x80" + // 0x1F000345: 0x00001F80 + "\x1f\x01\x03E\x00\x00\x1f\x81" + // 0x1F010345: 0x00001F81 + "\x1f\x02\x03E\x00\x00\x1f\x82" + // 0x1F020345: 0x00001F82 + "\x1f\x03\x03E\x00\x00\x1f\x83" + // 0x1F030345: 0x00001F83 + "\x1f\x04\x03E\x00\x00\x1f\x84" + // 0x1F040345: 0x00001F84 + "\x1f\x05\x03E\x00\x00\x1f\x85" + // 0x1F050345: 0x00001F85 + "\x1f\x06\x03E\x00\x00\x1f\x86" + // 0x1F060345: 0x00001F86 + "\x1f\a\x03E\x00\x00\x1f\x87" + // 0x1F070345: 0x00001F87 + "\x1f\b\x03E\x00\x00\x1f\x88" + // 0x1F080345: 0x00001F88 + "\x1f\t\x03E\x00\x00\x1f\x89" + // 0x1F090345: 0x00001F89 + "\x1f\n\x03E\x00\x00\x1f\x8a" + // 0x1F0A0345: 0x00001F8A + "\x1f\v\x03E\x00\x00\x1f\x8b" + // 0x1F0B0345: 0x00001F8B + "\x1f\f\x03E\x00\x00\x1f\x8c" + // 0x1F0C0345: 0x00001F8C + "\x1f\r\x03E\x00\x00\x1f\x8d" + // 0x1F0D0345: 0x00001F8D + "\x1f\x0e\x03E\x00\x00\x1f\x8e" + // 0x1F0E0345: 0x00001F8E + "\x1f\x0f\x03E\x00\x00\x1f\x8f" + // 0x1F0F0345: 0x00001F8F + "\x1f \x03E\x00\x00\x1f\x90" + // 0x1F200345: 0x00001F90 + "\x1f!\x03E\x00\x00\x1f\x91" + // 0x1F210345: 0x00001F91 + "\x1f\"\x03E\x00\x00\x1f\x92" + // 0x1F220345: 0x00001F92 + "\x1f#\x03E\x00\x00\x1f\x93" + // 0x1F230345: 0x00001F93 + "\x1f$\x03E\x00\x00\x1f\x94" + // 0x1F240345: 0x00001F94 + "\x1f%\x03E\x00\x00\x1f\x95" + // 0x1F250345: 0x00001F95 + "\x1f&\x03E\x00\x00\x1f\x96" + // 0x1F260345: 0x00001F96 + "\x1f'\x03E\x00\x00\x1f\x97" + // 0x1F270345: 0x00001F97 + "\x1f(\x03E\x00\x00\x1f\x98" + // 0x1F280345: 0x00001F98 + "\x1f)\x03E\x00\x00\x1f\x99" + // 0x1F290345: 0x00001F99 + "\x1f*\x03E\x00\x00\x1f\x9a" + // 0x1F2A0345: 0x00001F9A + "\x1f+\x03E\x00\x00\x1f\x9b" + // 0x1F2B0345: 0x00001F9B + "\x1f,\x03E\x00\x00\x1f\x9c" + // 0x1F2C0345: 0x00001F9C + "\x1f-\x03E\x00\x00\x1f\x9d" + // 0x1F2D0345: 0x00001F9D + "\x1f.\x03E\x00\x00\x1f\x9e" + // 0x1F2E0345: 0x00001F9E + "\x1f/\x03E\x00\x00\x1f\x9f" + // 0x1F2F0345: 0x00001F9F + "\x1f`\x03E\x00\x00\x1f\xa0" + // 0x1F600345: 0x00001FA0 + "\x1fa\x03E\x00\x00\x1f\xa1" + // 0x1F610345: 0x00001FA1 + "\x1fb\x03E\x00\x00\x1f\xa2" + // 0x1F620345: 0x00001FA2 + "\x1fc\x03E\x00\x00\x1f\xa3" + // 0x1F630345: 0x00001FA3 + "\x1fd\x03E\x00\x00\x1f\xa4" + // 0x1F640345: 0x00001FA4 + "\x1fe\x03E\x00\x00\x1f\xa5" + // 0x1F650345: 0x00001FA5 + "\x1ff\x03E\x00\x00\x1f\xa6" + // 0x1F660345: 0x00001FA6 + "\x1fg\x03E\x00\x00\x1f\xa7" + // 0x1F670345: 0x00001FA7 + "\x1fh\x03E\x00\x00\x1f\xa8" + // 0x1F680345: 0x00001FA8 + "\x1fi\x03E\x00\x00\x1f\xa9" + // 0x1F690345: 0x00001FA9 + "\x1fj\x03E\x00\x00\x1f\xaa" + // 0x1F6A0345: 0x00001FAA + "\x1fk\x03E\x00\x00\x1f\xab" + // 0x1F6B0345: 0x00001FAB + "\x1fl\x03E\x00\x00\x1f\xac" + // 0x1F6C0345: 0x00001FAC + "\x1fm\x03E\x00\x00\x1f\xad" + // 0x1F6D0345: 0x00001FAD + "\x1fn\x03E\x00\x00\x1f\xae" + // 0x1F6E0345: 0x00001FAE + "\x1fo\x03E\x00\x00\x1f\xaf" + // 0x1F6F0345: 0x00001FAF + "\x03\xb1\x03\x06\x00\x00\x1f\xb0" + // 0x03B10306: 0x00001FB0 + "\x03\xb1\x03\x04\x00\x00\x1f\xb1" + // 0x03B10304: 0x00001FB1 + "\x1fp\x03E\x00\x00\x1f\xb2" + // 0x1F700345: 0x00001FB2 + "\x03\xb1\x03E\x00\x00\x1f\xb3" + // 0x03B10345: 0x00001FB3 + "\x03\xac\x03E\x00\x00\x1f\xb4" + // 0x03AC0345: 0x00001FB4 + "\x03\xb1\x03B\x00\x00\x1f\xb6" + // 0x03B10342: 0x00001FB6 + "\x1f\xb6\x03E\x00\x00\x1f\xb7" + // 0x1FB60345: 0x00001FB7 + "\x03\x91\x03\x06\x00\x00\x1f\xb8" + // 0x03910306: 0x00001FB8 + "\x03\x91\x03\x04\x00\x00\x1f\xb9" + // 0x03910304: 0x00001FB9 + "\x03\x91\x03\x00\x00\x00\x1f\xba" + // 0x03910300: 0x00001FBA + "\x03\x91\x03E\x00\x00\x1f\xbc" + // 0x03910345: 0x00001FBC + "\x00\xa8\x03B\x00\x00\x1f\xc1" + // 0x00A80342: 0x00001FC1 + "\x1ft\x03E\x00\x00\x1f\xc2" + // 0x1F740345: 0x00001FC2 + "\x03\xb7\x03E\x00\x00\x1f\xc3" + // 0x03B70345: 0x00001FC3 + "\x03\xae\x03E\x00\x00\x1f\xc4" + // 0x03AE0345: 0x00001FC4 + "\x03\xb7\x03B\x00\x00\x1f\xc6" + // 0x03B70342: 0x00001FC6 + "\x1f\xc6\x03E\x00\x00\x1f\xc7" + // 0x1FC60345: 0x00001FC7 + "\x03\x95\x03\x00\x00\x00\x1f\xc8" + // 0x03950300: 0x00001FC8 + "\x03\x97\x03\x00\x00\x00\x1f\xca" + // 0x03970300: 0x00001FCA + "\x03\x97\x03E\x00\x00\x1f\xcc" + // 0x03970345: 0x00001FCC + "\x1f\xbf\x03\x00\x00\x00\x1f\xcd" + // 0x1FBF0300: 0x00001FCD + "\x1f\xbf\x03\x01\x00\x00\x1f\xce" + // 0x1FBF0301: 0x00001FCE + "\x1f\xbf\x03B\x00\x00\x1f\xcf" + // 0x1FBF0342: 0x00001FCF + "\x03\xb9\x03\x06\x00\x00\x1f\xd0" + // 0x03B90306: 0x00001FD0 + "\x03\xb9\x03\x04\x00\x00\x1f\xd1" + // 0x03B90304: 0x00001FD1 + "\x03\xca\x03\x00\x00\x00\x1f\xd2" + // 0x03CA0300: 0x00001FD2 + "\x03\xb9\x03B\x00\x00\x1f\xd6" + // 0x03B90342: 0x00001FD6 + "\x03\xca\x03B\x00\x00\x1f\xd7" + // 0x03CA0342: 0x00001FD7 + "\x03\x99\x03\x06\x00\x00\x1f\xd8" + // 0x03990306: 0x00001FD8 + "\x03\x99\x03\x04\x00\x00\x1f\xd9" + // 0x03990304: 0x00001FD9 + "\x03\x99\x03\x00\x00\x00\x1f\xda" + // 0x03990300: 0x00001FDA + "\x1f\xfe\x03\x00\x00\x00\x1f\xdd" + // 0x1FFE0300: 0x00001FDD + "\x1f\xfe\x03\x01\x00\x00\x1f\xde" + // 0x1FFE0301: 0x00001FDE + "\x1f\xfe\x03B\x00\x00\x1f\xdf" + // 0x1FFE0342: 0x00001FDF + "\x03\xc5\x03\x06\x00\x00\x1f\xe0" + // 0x03C50306: 0x00001FE0 + "\x03\xc5\x03\x04\x00\x00\x1f\xe1" + // 0x03C50304: 0x00001FE1 + "\x03\xcb\x03\x00\x00\x00\x1f\xe2" + // 0x03CB0300: 0x00001FE2 + "\x03\xc1\x03\x13\x00\x00\x1f\xe4" + // 0x03C10313: 0x00001FE4 + "\x03\xc1\x03\x14\x00\x00\x1f\xe5" + // 0x03C10314: 0x00001FE5 + "\x03\xc5\x03B\x00\x00\x1f\xe6" + // 0x03C50342: 0x00001FE6 + "\x03\xcb\x03B\x00\x00\x1f\xe7" + // 0x03CB0342: 0x00001FE7 + "\x03\xa5\x03\x06\x00\x00\x1f\xe8" + // 0x03A50306: 0x00001FE8 + "\x03\xa5\x03\x04\x00\x00\x1f\xe9" + // 0x03A50304: 0x00001FE9 + "\x03\xa5\x03\x00\x00\x00\x1f\xea" + // 0x03A50300: 0x00001FEA + "\x03\xa1\x03\x14\x00\x00\x1f\xec" + // 0x03A10314: 0x00001FEC + "\x00\xa8\x03\x00\x00\x00\x1f\xed" + // 0x00A80300: 0x00001FED + "\x1f|\x03E\x00\x00\x1f\xf2" + // 0x1F7C0345: 0x00001FF2 + "\x03\xc9\x03E\x00\x00\x1f\xf3" + // 0x03C90345: 0x00001FF3 + "\x03\xce\x03E\x00\x00\x1f\xf4" + // 0x03CE0345: 0x00001FF4 + "\x03\xc9\x03B\x00\x00\x1f\xf6" + // 0x03C90342: 0x00001FF6 + "\x1f\xf6\x03E\x00\x00\x1f\xf7" + // 0x1FF60345: 0x00001FF7 + "\x03\x9f\x03\x00\x00\x00\x1f\xf8" + // 0x039F0300: 0x00001FF8 + "\x03\xa9\x03\x00\x00\x00\x1f\xfa" + // 0x03A90300: 0x00001FFA + "\x03\xa9\x03E\x00\x00\x1f\xfc" + // 0x03A90345: 0x00001FFC + "!\x90\x038\x00\x00!\x9a" + // 0x21900338: 0x0000219A + "!\x92\x038\x00\x00!\x9b" + // 0x21920338: 0x0000219B + "!\x94\x038\x00\x00!\xae" + // 0x21940338: 0x000021AE + "!\xd0\x038\x00\x00!\xcd" + // 0x21D00338: 0x000021CD + "!\xd4\x038\x00\x00!\xce" + // 0x21D40338: 0x000021CE + "!\xd2\x038\x00\x00!\xcf" + // 0x21D20338: 0x000021CF + "\"\x03\x038\x00\x00\"\x04" + // 0x22030338: 0x00002204 + "\"\b\x038\x00\x00\"\t" + // 0x22080338: 0x00002209 + "\"\v\x038\x00\x00\"\f" + // 0x220B0338: 0x0000220C + "\"#\x038\x00\x00\"$" + // 0x22230338: 0x00002224 + "\"%\x038\x00\x00\"&" + // 0x22250338: 0x00002226 + "\"<\x038\x00\x00\"A" + // 0x223C0338: 0x00002241 + "\"C\x038\x00\x00\"D" + // 0x22430338: 0x00002244 + "\"E\x038\x00\x00\"G" + // 0x22450338: 0x00002247 + "\"H\x038\x00\x00\"I" + // 0x22480338: 0x00002249 + "\x00=\x038\x00\x00\"`" + // 0x003D0338: 0x00002260 + "\"a\x038\x00\x00\"b" + // 0x22610338: 0x00002262 + "\"M\x038\x00\x00\"m" + // 0x224D0338: 0x0000226D + "\x00<\x038\x00\x00\"n" + // 0x003C0338: 0x0000226E + "\x00>\x038\x00\x00\"o" + // 0x003E0338: 0x0000226F + "\"d\x038\x00\x00\"p" + // 0x22640338: 0x00002270 + "\"e\x038\x00\x00\"q" + // 0x22650338: 0x00002271 + "\"r\x038\x00\x00\"t" + // 0x22720338: 0x00002274 + "\"s\x038\x00\x00\"u" + // 0x22730338: 0x00002275 + "\"v\x038\x00\x00\"x" + // 0x22760338: 0x00002278 + "\"w\x038\x00\x00\"y" + // 0x22770338: 0x00002279 + "\"z\x038\x00\x00\"\x80" + // 0x227A0338: 0x00002280 + "\"{\x038\x00\x00\"\x81" + // 0x227B0338: 0x00002281 + "\"\x82\x038\x00\x00\"\x84" + // 0x22820338: 0x00002284 + "\"\x83\x038\x00\x00\"\x85" + // 0x22830338: 0x00002285 + "\"\x86\x038\x00\x00\"\x88" + // 0x22860338: 0x00002288 + "\"\x87\x038\x00\x00\"\x89" + // 0x22870338: 0x00002289 + "\"\xa2\x038\x00\x00\"\xac" + // 0x22A20338: 0x000022AC + "\"\xa8\x038\x00\x00\"\xad" + // 0x22A80338: 0x000022AD + "\"\xa9\x038\x00\x00\"\xae" + // 0x22A90338: 0x000022AE + "\"\xab\x038\x00\x00\"\xaf" + // 0x22AB0338: 0x000022AF + "\"|\x038\x00\x00\"\xe0" + // 0x227C0338: 0x000022E0 + "\"}\x038\x00\x00\"\xe1" + // 0x227D0338: 0x000022E1 + "\"\x91\x038\x00\x00\"\xe2" + // 0x22910338: 0x000022E2 + "\"\x92\x038\x00\x00\"\xe3" + // 0x22920338: 0x000022E3 + "\"\xb2\x038\x00\x00\"\xea" + // 0x22B20338: 0x000022EA + "\"\xb3\x038\x00\x00\"\xeb" + // 0x22B30338: 0x000022EB + "\"\xb4\x038\x00\x00\"\xec" + // 0x22B40338: 0x000022EC + "\"\xb5\x038\x00\x00\"\xed" + // 0x22B50338: 0x000022ED + "0K0\x99\x00\x000L" + // 0x304B3099: 0x0000304C + "0M0\x99\x00\x000N" + // 0x304D3099: 0x0000304E + "0O0\x99\x00\x000P" + // 0x304F3099: 0x00003050 + "0Q0\x99\x00\x000R" + // 0x30513099: 0x00003052 + "0S0\x99\x00\x000T" + // 0x30533099: 0x00003054 + "0U0\x99\x00\x000V" + // 0x30553099: 0x00003056 + "0W0\x99\x00\x000X" + // 0x30573099: 0x00003058 + "0Y0\x99\x00\x000Z" + // 0x30593099: 0x0000305A + "0[0\x99\x00\x000\\" + // 0x305B3099: 0x0000305C + "0]0\x99\x00\x000^" + // 0x305D3099: 0x0000305E + "0_0\x99\x00\x000`" + // 0x305F3099: 0x00003060 + "0a0\x99\x00\x000b" + // 0x30613099: 0x00003062 + "0d0\x99\x00\x000e" + // 0x30643099: 0x00003065 + "0f0\x99\x00\x000g" + // 0x30663099: 0x00003067 + "0h0\x99\x00\x000i" + // 0x30683099: 0x00003069 + "0o0\x99\x00\x000p" + // 0x306F3099: 0x00003070 + "0o0\x9a\x00\x000q" + // 0x306F309A: 0x00003071 + "0r0\x99\x00\x000s" + // 0x30723099: 0x00003073 + "0r0\x9a\x00\x000t" + // 0x3072309A: 0x00003074 + "0u0\x99\x00\x000v" + // 0x30753099: 0x00003076 + "0u0\x9a\x00\x000w" + // 0x3075309A: 0x00003077 + "0x0\x99\x00\x000y" + // 0x30783099: 0x00003079 + "0x0\x9a\x00\x000z" + // 0x3078309A: 0x0000307A + "0{0\x99\x00\x000|" + // 0x307B3099: 0x0000307C + "0{0\x9a\x00\x000}" + // 0x307B309A: 0x0000307D + "0F0\x99\x00\x000\x94" + // 0x30463099: 0x00003094 + "0\x9d0\x99\x00\x000\x9e" + // 0x309D3099: 0x0000309E + "0\xab0\x99\x00\x000\xac" + // 0x30AB3099: 0x000030AC + "0\xad0\x99\x00\x000\xae" + // 0x30AD3099: 0x000030AE + "0\xaf0\x99\x00\x000\xb0" + // 0x30AF3099: 0x000030B0 + "0\xb10\x99\x00\x000\xb2" + // 0x30B13099: 0x000030B2 + "0\xb30\x99\x00\x000\xb4" + // 0x30B33099: 0x000030B4 + "0\xb50\x99\x00\x000\xb6" + // 0x30B53099: 0x000030B6 + "0\xb70\x99\x00\x000\xb8" + // 0x30B73099: 0x000030B8 + "0\xb90\x99\x00\x000\xba" + // 0x30B93099: 0x000030BA + "0\xbb0\x99\x00\x000\xbc" + // 0x30BB3099: 0x000030BC + "0\xbd0\x99\x00\x000\xbe" + // 0x30BD3099: 0x000030BE + "0\xbf0\x99\x00\x000\xc0" + // 0x30BF3099: 0x000030C0 + "0\xc10\x99\x00\x000\xc2" + // 0x30C13099: 0x000030C2 + "0\xc40\x99\x00\x000\xc5" + // 0x30C43099: 0x000030C5 + "0\xc60\x99\x00\x000\xc7" + // 0x30C63099: 0x000030C7 + "0\xc80\x99\x00\x000\xc9" + // 0x30C83099: 0x000030C9 + "0\xcf0\x99\x00\x000\xd0" + // 0x30CF3099: 0x000030D0 + "0\xcf0\x9a\x00\x000\xd1" + // 0x30CF309A: 0x000030D1 + "0\xd20\x99\x00\x000\xd3" + // 0x30D23099: 0x000030D3 + "0\xd20\x9a\x00\x000\xd4" + // 0x30D2309A: 0x000030D4 + "0\xd50\x99\x00\x000\xd6" + // 0x30D53099: 0x000030D6 + "0\xd50\x9a\x00\x000\xd7" + // 0x30D5309A: 0x000030D7 + "0\xd80\x99\x00\x000\xd9" + // 0x30D83099: 0x000030D9 + "0\xd80\x9a\x00\x000\xda" + // 0x30D8309A: 0x000030DA + "0\xdb0\x99\x00\x000\xdc" + // 0x30DB3099: 0x000030DC + "0\xdb0\x9a\x00\x000\xdd" + // 0x30DB309A: 0x000030DD + "0\xa60\x99\x00\x000\xf4" + // 0x30A63099: 0x000030F4 + "0\xef0\x99\x00\x000\xf7" + // 0x30EF3099: 0x000030F7 + "0\xf00\x99\x00\x000\xf8" + // 0x30F03099: 0x000030F8 + "0\xf10\x99\x00\x000\xf9" + // 0x30F13099: 0x000030F9 + "0\xf20\x99\x00\x000\xfa" + // 0x30F23099: 0x000030FA + "0\xfd0\x99\x00\x000\xfe" + // 0x30FD3099: 0x000030FE + "\x10\x99\x10\xba\x00\x01\x10\x9a" + // 0x109910BA: 0x0001109A + "\x10\x9b\x10\xba\x00\x01\x10\x9c" + // 0x109B10BA: 0x0001109C + "\x10\xa5\x10\xba\x00\x01\x10\xab" + // 0x10A510BA: 0x000110AB + "\x111\x11'\x00\x01\x11." + // 0x11311127: 0x0001112E + "\x112\x11'\x00\x01\x11/" + // 0x11321127: 0x0001112F + "\x13G\x13>\x00\x01\x13K" + // 0x1347133E: 0x0001134B + "\x13G\x13W\x00\x01\x13L" + // 0x13471357: 0x0001134C + "\x14\xb9\x14\xba\x00\x01\x14\xbb" + // 0x14B914BA: 0x000114BB + "\x14\xb9\x14\xb0\x00\x01\x14\xbc" + // 0x14B914B0: 0x000114BC + "\x14\xb9\x14\xbd\x00\x01\x14\xbe" + // 0x14B914BD: 0x000114BE + "\x15\xb8\x15\xaf\x00\x01\x15\xba" + // 0x15B815AF: 0x000115BA + "\x15\xb9\x15\xaf\x00\x01\x15\xbb" + // 0x15B915AF: 0x000115BB + "" + // Total size of tables: 53KB (54514 bytes) diff --git a/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go index a01274a8..94290692 100644 --- a/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go +++ b/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go @@ -4,6 +4,8 @@ package norm +import "sync" + const ( // Version is the Unicode edition from which the tables are derived. Version = "9.0.0" @@ -6687,947 +6689,949 @@ var nfkcSparseValues = [875]valueRange{ } // recompMap: 7520 bytes (entries only) -var recompMap = map[uint32]rune{ - 0x00410300: 0x00C0, - 0x00410301: 0x00C1, - 0x00410302: 0x00C2, - 0x00410303: 0x00C3, - 0x00410308: 0x00C4, - 0x0041030A: 0x00C5, - 0x00430327: 0x00C7, - 0x00450300: 0x00C8, - 0x00450301: 0x00C9, - 0x00450302: 0x00CA, - 0x00450308: 0x00CB, - 0x00490300: 0x00CC, - 0x00490301: 0x00CD, - 0x00490302: 0x00CE, - 0x00490308: 0x00CF, - 0x004E0303: 0x00D1, - 0x004F0300: 0x00D2, - 0x004F0301: 0x00D3, - 0x004F0302: 0x00D4, - 0x004F0303: 0x00D5, - 0x004F0308: 0x00D6, - 0x00550300: 0x00D9, - 0x00550301: 0x00DA, - 0x00550302: 0x00DB, - 0x00550308: 0x00DC, - 0x00590301: 0x00DD, - 0x00610300: 0x00E0, - 0x00610301: 0x00E1, - 0x00610302: 0x00E2, - 0x00610303: 0x00E3, - 0x00610308: 0x00E4, - 0x0061030A: 0x00E5, - 0x00630327: 0x00E7, - 0x00650300: 0x00E8, - 0x00650301: 0x00E9, - 0x00650302: 0x00EA, - 0x00650308: 0x00EB, - 0x00690300: 0x00EC, - 0x00690301: 0x00ED, - 0x00690302: 0x00EE, - 0x00690308: 0x00EF, - 0x006E0303: 0x00F1, - 0x006F0300: 0x00F2, - 0x006F0301: 0x00F3, - 0x006F0302: 0x00F4, - 0x006F0303: 0x00F5, - 0x006F0308: 0x00F6, - 0x00750300: 0x00F9, - 0x00750301: 0x00FA, - 0x00750302: 0x00FB, - 0x00750308: 0x00FC, - 0x00790301: 0x00FD, - 0x00790308: 0x00FF, - 0x00410304: 0x0100, - 0x00610304: 0x0101, - 0x00410306: 0x0102, - 0x00610306: 0x0103, - 0x00410328: 0x0104, - 0x00610328: 0x0105, - 0x00430301: 0x0106, - 0x00630301: 0x0107, - 0x00430302: 0x0108, - 0x00630302: 0x0109, - 0x00430307: 0x010A, - 0x00630307: 0x010B, - 0x0043030C: 0x010C, - 0x0063030C: 0x010D, - 0x0044030C: 0x010E, - 0x0064030C: 0x010F, - 0x00450304: 0x0112, - 0x00650304: 0x0113, - 0x00450306: 0x0114, - 0x00650306: 0x0115, - 0x00450307: 0x0116, - 0x00650307: 0x0117, - 0x00450328: 0x0118, - 0x00650328: 0x0119, - 0x0045030C: 0x011A, - 0x0065030C: 0x011B, - 0x00470302: 0x011C, - 0x00670302: 0x011D, - 0x00470306: 0x011E, - 0x00670306: 0x011F, - 0x00470307: 0x0120, - 0x00670307: 0x0121, - 0x00470327: 0x0122, - 0x00670327: 0x0123, - 0x00480302: 0x0124, - 0x00680302: 0x0125, - 0x00490303: 0x0128, - 0x00690303: 0x0129, - 0x00490304: 0x012A, - 0x00690304: 0x012B, - 0x00490306: 0x012C, - 0x00690306: 0x012D, - 0x00490328: 0x012E, - 0x00690328: 0x012F, - 0x00490307: 0x0130, - 0x004A0302: 0x0134, - 0x006A0302: 0x0135, - 0x004B0327: 0x0136, - 0x006B0327: 0x0137, - 0x004C0301: 0x0139, - 0x006C0301: 0x013A, - 0x004C0327: 0x013B, - 0x006C0327: 0x013C, - 0x004C030C: 0x013D, - 0x006C030C: 0x013E, - 0x004E0301: 0x0143, - 0x006E0301: 0x0144, - 0x004E0327: 0x0145, - 0x006E0327: 0x0146, - 0x004E030C: 0x0147, - 0x006E030C: 0x0148, - 0x004F0304: 0x014C, - 0x006F0304: 0x014D, - 0x004F0306: 0x014E, - 0x006F0306: 0x014F, - 0x004F030B: 0x0150, - 0x006F030B: 0x0151, - 0x00520301: 0x0154, - 0x00720301: 0x0155, - 0x00520327: 0x0156, - 0x00720327: 0x0157, - 0x0052030C: 0x0158, - 0x0072030C: 0x0159, - 0x00530301: 0x015A, - 0x00730301: 0x015B, - 0x00530302: 0x015C, - 0x00730302: 0x015D, - 0x00530327: 0x015E, - 0x00730327: 0x015F, - 0x0053030C: 0x0160, - 0x0073030C: 0x0161, - 0x00540327: 0x0162, - 0x00740327: 0x0163, - 0x0054030C: 0x0164, - 0x0074030C: 0x0165, - 0x00550303: 0x0168, - 0x00750303: 0x0169, - 0x00550304: 0x016A, - 0x00750304: 0x016B, - 0x00550306: 0x016C, - 0x00750306: 0x016D, - 0x0055030A: 0x016E, - 0x0075030A: 0x016F, - 0x0055030B: 0x0170, - 0x0075030B: 0x0171, - 0x00550328: 0x0172, - 0x00750328: 0x0173, - 0x00570302: 0x0174, - 0x00770302: 0x0175, - 0x00590302: 0x0176, - 0x00790302: 0x0177, - 0x00590308: 0x0178, - 0x005A0301: 0x0179, - 0x007A0301: 0x017A, - 0x005A0307: 0x017B, - 0x007A0307: 0x017C, - 0x005A030C: 0x017D, - 0x007A030C: 0x017E, - 0x004F031B: 0x01A0, - 0x006F031B: 0x01A1, - 0x0055031B: 0x01AF, - 0x0075031B: 0x01B0, - 0x0041030C: 0x01CD, - 0x0061030C: 0x01CE, - 0x0049030C: 0x01CF, - 0x0069030C: 0x01D0, - 0x004F030C: 0x01D1, - 0x006F030C: 0x01D2, - 0x0055030C: 0x01D3, - 0x0075030C: 0x01D4, - 0x00DC0304: 0x01D5, - 0x00FC0304: 0x01D6, - 0x00DC0301: 0x01D7, - 0x00FC0301: 0x01D8, - 0x00DC030C: 0x01D9, - 0x00FC030C: 0x01DA, - 0x00DC0300: 0x01DB, - 0x00FC0300: 0x01DC, - 0x00C40304: 0x01DE, - 0x00E40304: 0x01DF, - 0x02260304: 0x01E0, - 0x02270304: 0x01E1, - 0x00C60304: 0x01E2, - 0x00E60304: 0x01E3, - 0x0047030C: 0x01E6, - 0x0067030C: 0x01E7, - 0x004B030C: 0x01E8, - 0x006B030C: 0x01E9, - 0x004F0328: 0x01EA, - 0x006F0328: 0x01EB, - 0x01EA0304: 0x01EC, - 0x01EB0304: 0x01ED, - 0x01B7030C: 0x01EE, - 0x0292030C: 0x01EF, - 0x006A030C: 0x01F0, - 0x00470301: 0x01F4, - 0x00670301: 0x01F5, - 0x004E0300: 0x01F8, - 0x006E0300: 0x01F9, - 0x00C50301: 0x01FA, - 0x00E50301: 0x01FB, - 0x00C60301: 0x01FC, - 0x00E60301: 0x01FD, - 0x00D80301: 0x01FE, - 0x00F80301: 0x01FF, - 0x0041030F: 0x0200, - 0x0061030F: 0x0201, - 0x00410311: 0x0202, - 0x00610311: 0x0203, - 0x0045030F: 0x0204, - 0x0065030F: 0x0205, - 0x00450311: 0x0206, - 0x00650311: 0x0207, - 0x0049030F: 0x0208, - 0x0069030F: 0x0209, - 0x00490311: 0x020A, - 0x00690311: 0x020B, - 0x004F030F: 0x020C, - 0x006F030F: 0x020D, - 0x004F0311: 0x020E, - 0x006F0311: 0x020F, - 0x0052030F: 0x0210, - 0x0072030F: 0x0211, - 0x00520311: 0x0212, - 0x00720311: 0x0213, - 0x0055030F: 0x0214, - 0x0075030F: 0x0215, - 0x00550311: 0x0216, - 0x00750311: 0x0217, - 0x00530326: 0x0218, - 0x00730326: 0x0219, - 0x00540326: 0x021A, - 0x00740326: 0x021B, - 0x0048030C: 0x021E, - 0x0068030C: 0x021F, - 0x00410307: 0x0226, - 0x00610307: 0x0227, - 0x00450327: 0x0228, - 0x00650327: 0x0229, - 0x00D60304: 0x022A, - 0x00F60304: 0x022B, - 0x00D50304: 0x022C, - 0x00F50304: 0x022D, - 0x004F0307: 0x022E, - 0x006F0307: 0x022F, - 0x022E0304: 0x0230, - 0x022F0304: 0x0231, - 0x00590304: 0x0232, - 0x00790304: 0x0233, - 0x00A80301: 0x0385, - 0x03910301: 0x0386, - 0x03950301: 0x0388, - 0x03970301: 0x0389, - 0x03990301: 0x038A, - 0x039F0301: 0x038C, - 0x03A50301: 0x038E, - 0x03A90301: 0x038F, - 0x03CA0301: 0x0390, - 0x03990308: 0x03AA, - 0x03A50308: 0x03AB, - 0x03B10301: 0x03AC, - 0x03B50301: 0x03AD, - 0x03B70301: 0x03AE, - 0x03B90301: 0x03AF, - 0x03CB0301: 0x03B0, - 0x03B90308: 0x03CA, - 0x03C50308: 0x03CB, - 0x03BF0301: 0x03CC, - 0x03C50301: 0x03CD, - 0x03C90301: 0x03CE, - 0x03D20301: 0x03D3, - 0x03D20308: 0x03D4, - 0x04150300: 0x0400, - 0x04150308: 0x0401, - 0x04130301: 0x0403, - 0x04060308: 0x0407, - 0x041A0301: 0x040C, - 0x04180300: 0x040D, - 0x04230306: 0x040E, - 0x04180306: 0x0419, - 0x04380306: 0x0439, - 0x04350300: 0x0450, - 0x04350308: 0x0451, - 0x04330301: 0x0453, - 0x04560308: 0x0457, - 0x043A0301: 0x045C, - 0x04380300: 0x045D, - 0x04430306: 0x045E, - 0x0474030F: 0x0476, - 0x0475030F: 0x0477, - 0x04160306: 0x04C1, - 0x04360306: 0x04C2, - 0x04100306: 0x04D0, - 0x04300306: 0x04D1, - 0x04100308: 0x04D2, - 0x04300308: 0x04D3, - 0x04150306: 0x04D6, - 0x04350306: 0x04D7, - 0x04D80308: 0x04DA, - 0x04D90308: 0x04DB, - 0x04160308: 0x04DC, - 0x04360308: 0x04DD, - 0x04170308: 0x04DE, - 0x04370308: 0x04DF, - 0x04180304: 0x04E2, - 0x04380304: 0x04E3, - 0x04180308: 0x04E4, - 0x04380308: 0x04E5, - 0x041E0308: 0x04E6, - 0x043E0308: 0x04E7, - 0x04E80308: 0x04EA, - 0x04E90308: 0x04EB, - 0x042D0308: 0x04EC, - 0x044D0308: 0x04ED, - 0x04230304: 0x04EE, - 0x04430304: 0x04EF, - 0x04230308: 0x04F0, - 0x04430308: 0x04F1, - 0x0423030B: 0x04F2, - 0x0443030B: 0x04F3, - 0x04270308: 0x04F4, - 0x04470308: 0x04F5, - 0x042B0308: 0x04F8, - 0x044B0308: 0x04F9, - 0x06270653: 0x0622, - 0x06270654: 0x0623, - 0x06480654: 0x0624, - 0x06270655: 0x0625, - 0x064A0654: 0x0626, - 0x06D50654: 0x06C0, - 0x06C10654: 0x06C2, - 0x06D20654: 0x06D3, - 0x0928093C: 0x0929, - 0x0930093C: 0x0931, - 0x0933093C: 0x0934, - 0x09C709BE: 0x09CB, - 0x09C709D7: 0x09CC, - 0x0B470B56: 0x0B48, - 0x0B470B3E: 0x0B4B, - 0x0B470B57: 0x0B4C, - 0x0B920BD7: 0x0B94, - 0x0BC60BBE: 0x0BCA, - 0x0BC70BBE: 0x0BCB, - 0x0BC60BD7: 0x0BCC, - 0x0C460C56: 0x0C48, - 0x0CBF0CD5: 0x0CC0, - 0x0CC60CD5: 0x0CC7, - 0x0CC60CD6: 0x0CC8, - 0x0CC60CC2: 0x0CCA, - 0x0CCA0CD5: 0x0CCB, - 0x0D460D3E: 0x0D4A, - 0x0D470D3E: 0x0D4B, - 0x0D460D57: 0x0D4C, - 0x0DD90DCA: 0x0DDA, - 0x0DD90DCF: 0x0DDC, - 0x0DDC0DCA: 0x0DDD, - 0x0DD90DDF: 0x0DDE, - 0x1025102E: 0x1026, - 0x1B051B35: 0x1B06, - 0x1B071B35: 0x1B08, - 0x1B091B35: 0x1B0A, - 0x1B0B1B35: 0x1B0C, - 0x1B0D1B35: 0x1B0E, - 0x1B111B35: 0x1B12, - 0x1B3A1B35: 0x1B3B, - 0x1B3C1B35: 0x1B3D, - 0x1B3E1B35: 0x1B40, - 0x1B3F1B35: 0x1B41, - 0x1B421B35: 0x1B43, - 0x00410325: 0x1E00, - 0x00610325: 0x1E01, - 0x00420307: 0x1E02, - 0x00620307: 0x1E03, - 0x00420323: 0x1E04, - 0x00620323: 0x1E05, - 0x00420331: 0x1E06, - 0x00620331: 0x1E07, - 0x00C70301: 0x1E08, - 0x00E70301: 0x1E09, - 0x00440307: 0x1E0A, - 0x00640307: 0x1E0B, - 0x00440323: 0x1E0C, - 0x00640323: 0x1E0D, - 0x00440331: 0x1E0E, - 0x00640331: 0x1E0F, - 0x00440327: 0x1E10, - 0x00640327: 0x1E11, - 0x0044032D: 0x1E12, - 0x0064032D: 0x1E13, - 0x01120300: 0x1E14, - 0x01130300: 0x1E15, - 0x01120301: 0x1E16, - 0x01130301: 0x1E17, - 0x0045032D: 0x1E18, - 0x0065032D: 0x1E19, - 0x00450330: 0x1E1A, - 0x00650330: 0x1E1B, - 0x02280306: 0x1E1C, - 0x02290306: 0x1E1D, - 0x00460307: 0x1E1E, - 0x00660307: 0x1E1F, - 0x00470304: 0x1E20, - 0x00670304: 0x1E21, - 0x00480307: 0x1E22, - 0x00680307: 0x1E23, - 0x00480323: 0x1E24, - 0x00680323: 0x1E25, - 0x00480308: 0x1E26, - 0x00680308: 0x1E27, - 0x00480327: 0x1E28, - 0x00680327: 0x1E29, - 0x0048032E: 0x1E2A, - 0x0068032E: 0x1E2B, - 0x00490330: 0x1E2C, - 0x00690330: 0x1E2D, - 0x00CF0301: 0x1E2E, - 0x00EF0301: 0x1E2F, - 0x004B0301: 0x1E30, - 0x006B0301: 0x1E31, - 0x004B0323: 0x1E32, - 0x006B0323: 0x1E33, - 0x004B0331: 0x1E34, - 0x006B0331: 0x1E35, - 0x004C0323: 0x1E36, - 0x006C0323: 0x1E37, - 0x1E360304: 0x1E38, - 0x1E370304: 0x1E39, - 0x004C0331: 0x1E3A, - 0x006C0331: 0x1E3B, - 0x004C032D: 0x1E3C, - 0x006C032D: 0x1E3D, - 0x004D0301: 0x1E3E, - 0x006D0301: 0x1E3F, - 0x004D0307: 0x1E40, - 0x006D0307: 0x1E41, - 0x004D0323: 0x1E42, - 0x006D0323: 0x1E43, - 0x004E0307: 0x1E44, - 0x006E0307: 0x1E45, - 0x004E0323: 0x1E46, - 0x006E0323: 0x1E47, - 0x004E0331: 0x1E48, - 0x006E0331: 0x1E49, - 0x004E032D: 0x1E4A, - 0x006E032D: 0x1E4B, - 0x00D50301: 0x1E4C, - 0x00F50301: 0x1E4D, - 0x00D50308: 0x1E4E, - 0x00F50308: 0x1E4F, - 0x014C0300: 0x1E50, - 0x014D0300: 0x1E51, - 0x014C0301: 0x1E52, - 0x014D0301: 0x1E53, - 0x00500301: 0x1E54, - 0x00700301: 0x1E55, - 0x00500307: 0x1E56, - 0x00700307: 0x1E57, - 0x00520307: 0x1E58, - 0x00720307: 0x1E59, - 0x00520323: 0x1E5A, - 0x00720323: 0x1E5B, - 0x1E5A0304: 0x1E5C, - 0x1E5B0304: 0x1E5D, - 0x00520331: 0x1E5E, - 0x00720331: 0x1E5F, - 0x00530307: 0x1E60, - 0x00730307: 0x1E61, - 0x00530323: 0x1E62, - 0x00730323: 0x1E63, - 0x015A0307: 0x1E64, - 0x015B0307: 0x1E65, - 0x01600307: 0x1E66, - 0x01610307: 0x1E67, - 0x1E620307: 0x1E68, - 0x1E630307: 0x1E69, - 0x00540307: 0x1E6A, - 0x00740307: 0x1E6B, - 0x00540323: 0x1E6C, - 0x00740323: 0x1E6D, - 0x00540331: 0x1E6E, - 0x00740331: 0x1E6F, - 0x0054032D: 0x1E70, - 0x0074032D: 0x1E71, - 0x00550324: 0x1E72, - 0x00750324: 0x1E73, - 0x00550330: 0x1E74, - 0x00750330: 0x1E75, - 0x0055032D: 0x1E76, - 0x0075032D: 0x1E77, - 0x01680301: 0x1E78, - 0x01690301: 0x1E79, - 0x016A0308: 0x1E7A, - 0x016B0308: 0x1E7B, - 0x00560303: 0x1E7C, - 0x00760303: 0x1E7D, - 0x00560323: 0x1E7E, - 0x00760323: 0x1E7F, - 0x00570300: 0x1E80, - 0x00770300: 0x1E81, - 0x00570301: 0x1E82, - 0x00770301: 0x1E83, - 0x00570308: 0x1E84, - 0x00770308: 0x1E85, - 0x00570307: 0x1E86, - 0x00770307: 0x1E87, - 0x00570323: 0x1E88, - 0x00770323: 0x1E89, - 0x00580307: 0x1E8A, - 0x00780307: 0x1E8B, - 0x00580308: 0x1E8C, - 0x00780308: 0x1E8D, - 0x00590307: 0x1E8E, - 0x00790307: 0x1E8F, - 0x005A0302: 0x1E90, - 0x007A0302: 0x1E91, - 0x005A0323: 0x1E92, - 0x007A0323: 0x1E93, - 0x005A0331: 0x1E94, - 0x007A0331: 0x1E95, - 0x00680331: 0x1E96, - 0x00740308: 0x1E97, - 0x0077030A: 0x1E98, - 0x0079030A: 0x1E99, - 0x017F0307: 0x1E9B, - 0x00410323: 0x1EA0, - 0x00610323: 0x1EA1, - 0x00410309: 0x1EA2, - 0x00610309: 0x1EA3, - 0x00C20301: 0x1EA4, - 0x00E20301: 0x1EA5, - 0x00C20300: 0x1EA6, - 0x00E20300: 0x1EA7, - 0x00C20309: 0x1EA8, - 0x00E20309: 0x1EA9, - 0x00C20303: 0x1EAA, - 0x00E20303: 0x1EAB, - 0x1EA00302: 0x1EAC, - 0x1EA10302: 0x1EAD, - 0x01020301: 0x1EAE, - 0x01030301: 0x1EAF, - 0x01020300: 0x1EB0, - 0x01030300: 0x1EB1, - 0x01020309: 0x1EB2, - 0x01030309: 0x1EB3, - 0x01020303: 0x1EB4, - 0x01030303: 0x1EB5, - 0x1EA00306: 0x1EB6, - 0x1EA10306: 0x1EB7, - 0x00450323: 0x1EB8, - 0x00650323: 0x1EB9, - 0x00450309: 0x1EBA, - 0x00650309: 0x1EBB, - 0x00450303: 0x1EBC, - 0x00650303: 0x1EBD, - 0x00CA0301: 0x1EBE, - 0x00EA0301: 0x1EBF, - 0x00CA0300: 0x1EC0, - 0x00EA0300: 0x1EC1, - 0x00CA0309: 0x1EC2, - 0x00EA0309: 0x1EC3, - 0x00CA0303: 0x1EC4, - 0x00EA0303: 0x1EC5, - 0x1EB80302: 0x1EC6, - 0x1EB90302: 0x1EC7, - 0x00490309: 0x1EC8, - 0x00690309: 0x1EC9, - 0x00490323: 0x1ECA, - 0x00690323: 0x1ECB, - 0x004F0323: 0x1ECC, - 0x006F0323: 0x1ECD, - 0x004F0309: 0x1ECE, - 0x006F0309: 0x1ECF, - 0x00D40301: 0x1ED0, - 0x00F40301: 0x1ED1, - 0x00D40300: 0x1ED2, - 0x00F40300: 0x1ED3, - 0x00D40309: 0x1ED4, - 0x00F40309: 0x1ED5, - 0x00D40303: 0x1ED6, - 0x00F40303: 0x1ED7, - 0x1ECC0302: 0x1ED8, - 0x1ECD0302: 0x1ED9, - 0x01A00301: 0x1EDA, - 0x01A10301: 0x1EDB, - 0x01A00300: 0x1EDC, - 0x01A10300: 0x1EDD, - 0x01A00309: 0x1EDE, - 0x01A10309: 0x1EDF, - 0x01A00303: 0x1EE0, - 0x01A10303: 0x1EE1, - 0x01A00323: 0x1EE2, - 0x01A10323: 0x1EE3, - 0x00550323: 0x1EE4, - 0x00750323: 0x1EE5, - 0x00550309: 0x1EE6, - 0x00750309: 0x1EE7, - 0x01AF0301: 0x1EE8, - 0x01B00301: 0x1EE9, - 0x01AF0300: 0x1EEA, - 0x01B00300: 0x1EEB, - 0x01AF0309: 0x1EEC, - 0x01B00309: 0x1EED, - 0x01AF0303: 0x1EEE, - 0x01B00303: 0x1EEF, - 0x01AF0323: 0x1EF0, - 0x01B00323: 0x1EF1, - 0x00590300: 0x1EF2, - 0x00790300: 0x1EF3, - 0x00590323: 0x1EF4, - 0x00790323: 0x1EF5, - 0x00590309: 0x1EF6, - 0x00790309: 0x1EF7, - 0x00590303: 0x1EF8, - 0x00790303: 0x1EF9, - 0x03B10313: 0x1F00, - 0x03B10314: 0x1F01, - 0x1F000300: 0x1F02, - 0x1F010300: 0x1F03, - 0x1F000301: 0x1F04, - 0x1F010301: 0x1F05, - 0x1F000342: 0x1F06, - 0x1F010342: 0x1F07, - 0x03910313: 0x1F08, - 0x03910314: 0x1F09, - 0x1F080300: 0x1F0A, - 0x1F090300: 0x1F0B, - 0x1F080301: 0x1F0C, - 0x1F090301: 0x1F0D, - 0x1F080342: 0x1F0E, - 0x1F090342: 0x1F0F, - 0x03B50313: 0x1F10, - 0x03B50314: 0x1F11, - 0x1F100300: 0x1F12, - 0x1F110300: 0x1F13, - 0x1F100301: 0x1F14, - 0x1F110301: 0x1F15, - 0x03950313: 0x1F18, - 0x03950314: 0x1F19, - 0x1F180300: 0x1F1A, - 0x1F190300: 0x1F1B, - 0x1F180301: 0x1F1C, - 0x1F190301: 0x1F1D, - 0x03B70313: 0x1F20, - 0x03B70314: 0x1F21, - 0x1F200300: 0x1F22, - 0x1F210300: 0x1F23, - 0x1F200301: 0x1F24, - 0x1F210301: 0x1F25, - 0x1F200342: 0x1F26, - 0x1F210342: 0x1F27, - 0x03970313: 0x1F28, - 0x03970314: 0x1F29, - 0x1F280300: 0x1F2A, - 0x1F290300: 0x1F2B, - 0x1F280301: 0x1F2C, - 0x1F290301: 0x1F2D, - 0x1F280342: 0x1F2E, - 0x1F290342: 0x1F2F, - 0x03B90313: 0x1F30, - 0x03B90314: 0x1F31, - 0x1F300300: 0x1F32, - 0x1F310300: 0x1F33, - 0x1F300301: 0x1F34, - 0x1F310301: 0x1F35, - 0x1F300342: 0x1F36, - 0x1F310342: 0x1F37, - 0x03990313: 0x1F38, - 0x03990314: 0x1F39, - 0x1F380300: 0x1F3A, - 0x1F390300: 0x1F3B, - 0x1F380301: 0x1F3C, - 0x1F390301: 0x1F3D, - 0x1F380342: 0x1F3E, - 0x1F390342: 0x1F3F, - 0x03BF0313: 0x1F40, - 0x03BF0314: 0x1F41, - 0x1F400300: 0x1F42, - 0x1F410300: 0x1F43, - 0x1F400301: 0x1F44, - 0x1F410301: 0x1F45, - 0x039F0313: 0x1F48, - 0x039F0314: 0x1F49, - 0x1F480300: 0x1F4A, - 0x1F490300: 0x1F4B, - 0x1F480301: 0x1F4C, - 0x1F490301: 0x1F4D, - 0x03C50313: 0x1F50, - 0x03C50314: 0x1F51, - 0x1F500300: 0x1F52, - 0x1F510300: 0x1F53, - 0x1F500301: 0x1F54, - 0x1F510301: 0x1F55, - 0x1F500342: 0x1F56, - 0x1F510342: 0x1F57, - 0x03A50314: 0x1F59, - 0x1F590300: 0x1F5B, - 0x1F590301: 0x1F5D, - 0x1F590342: 0x1F5F, - 0x03C90313: 0x1F60, - 0x03C90314: 0x1F61, - 0x1F600300: 0x1F62, - 0x1F610300: 0x1F63, - 0x1F600301: 0x1F64, - 0x1F610301: 0x1F65, - 0x1F600342: 0x1F66, - 0x1F610342: 0x1F67, - 0x03A90313: 0x1F68, - 0x03A90314: 0x1F69, - 0x1F680300: 0x1F6A, - 0x1F690300: 0x1F6B, - 0x1F680301: 0x1F6C, - 0x1F690301: 0x1F6D, - 0x1F680342: 0x1F6E, - 0x1F690342: 0x1F6F, - 0x03B10300: 0x1F70, - 0x03B50300: 0x1F72, - 0x03B70300: 0x1F74, - 0x03B90300: 0x1F76, - 0x03BF0300: 0x1F78, - 0x03C50300: 0x1F7A, - 0x03C90300: 0x1F7C, - 0x1F000345: 0x1F80, - 0x1F010345: 0x1F81, - 0x1F020345: 0x1F82, - 0x1F030345: 0x1F83, - 0x1F040345: 0x1F84, - 0x1F050345: 0x1F85, - 0x1F060345: 0x1F86, - 0x1F070345: 0x1F87, - 0x1F080345: 0x1F88, - 0x1F090345: 0x1F89, - 0x1F0A0345: 0x1F8A, - 0x1F0B0345: 0x1F8B, - 0x1F0C0345: 0x1F8C, - 0x1F0D0345: 0x1F8D, - 0x1F0E0345: 0x1F8E, - 0x1F0F0345: 0x1F8F, - 0x1F200345: 0x1F90, - 0x1F210345: 0x1F91, - 0x1F220345: 0x1F92, - 0x1F230345: 0x1F93, - 0x1F240345: 0x1F94, - 0x1F250345: 0x1F95, - 0x1F260345: 0x1F96, - 0x1F270345: 0x1F97, - 0x1F280345: 0x1F98, - 0x1F290345: 0x1F99, - 0x1F2A0345: 0x1F9A, - 0x1F2B0345: 0x1F9B, - 0x1F2C0345: 0x1F9C, - 0x1F2D0345: 0x1F9D, - 0x1F2E0345: 0x1F9E, - 0x1F2F0345: 0x1F9F, - 0x1F600345: 0x1FA0, - 0x1F610345: 0x1FA1, - 0x1F620345: 0x1FA2, - 0x1F630345: 0x1FA3, - 0x1F640345: 0x1FA4, - 0x1F650345: 0x1FA5, - 0x1F660345: 0x1FA6, - 0x1F670345: 0x1FA7, - 0x1F680345: 0x1FA8, - 0x1F690345: 0x1FA9, - 0x1F6A0345: 0x1FAA, - 0x1F6B0345: 0x1FAB, - 0x1F6C0345: 0x1FAC, - 0x1F6D0345: 0x1FAD, - 0x1F6E0345: 0x1FAE, - 0x1F6F0345: 0x1FAF, - 0x03B10306: 0x1FB0, - 0x03B10304: 0x1FB1, - 0x1F700345: 0x1FB2, - 0x03B10345: 0x1FB3, - 0x03AC0345: 0x1FB4, - 0x03B10342: 0x1FB6, - 0x1FB60345: 0x1FB7, - 0x03910306: 0x1FB8, - 0x03910304: 0x1FB9, - 0x03910300: 0x1FBA, - 0x03910345: 0x1FBC, - 0x00A80342: 0x1FC1, - 0x1F740345: 0x1FC2, - 0x03B70345: 0x1FC3, - 0x03AE0345: 0x1FC4, - 0x03B70342: 0x1FC6, - 0x1FC60345: 0x1FC7, - 0x03950300: 0x1FC8, - 0x03970300: 0x1FCA, - 0x03970345: 0x1FCC, - 0x1FBF0300: 0x1FCD, - 0x1FBF0301: 0x1FCE, - 0x1FBF0342: 0x1FCF, - 0x03B90306: 0x1FD0, - 0x03B90304: 0x1FD1, - 0x03CA0300: 0x1FD2, - 0x03B90342: 0x1FD6, - 0x03CA0342: 0x1FD7, - 0x03990306: 0x1FD8, - 0x03990304: 0x1FD9, - 0x03990300: 0x1FDA, - 0x1FFE0300: 0x1FDD, - 0x1FFE0301: 0x1FDE, - 0x1FFE0342: 0x1FDF, - 0x03C50306: 0x1FE0, - 0x03C50304: 0x1FE1, - 0x03CB0300: 0x1FE2, - 0x03C10313: 0x1FE4, - 0x03C10314: 0x1FE5, - 0x03C50342: 0x1FE6, - 0x03CB0342: 0x1FE7, - 0x03A50306: 0x1FE8, - 0x03A50304: 0x1FE9, - 0x03A50300: 0x1FEA, - 0x03A10314: 0x1FEC, - 0x00A80300: 0x1FED, - 0x1F7C0345: 0x1FF2, - 0x03C90345: 0x1FF3, - 0x03CE0345: 0x1FF4, - 0x03C90342: 0x1FF6, - 0x1FF60345: 0x1FF7, - 0x039F0300: 0x1FF8, - 0x03A90300: 0x1FFA, - 0x03A90345: 0x1FFC, - 0x21900338: 0x219A, - 0x21920338: 0x219B, - 0x21940338: 0x21AE, - 0x21D00338: 0x21CD, - 0x21D40338: 0x21CE, - 0x21D20338: 0x21CF, - 0x22030338: 0x2204, - 0x22080338: 0x2209, - 0x220B0338: 0x220C, - 0x22230338: 0x2224, - 0x22250338: 0x2226, - 0x223C0338: 0x2241, - 0x22430338: 0x2244, - 0x22450338: 0x2247, - 0x22480338: 0x2249, - 0x003D0338: 0x2260, - 0x22610338: 0x2262, - 0x224D0338: 0x226D, - 0x003C0338: 0x226E, - 0x003E0338: 0x226F, - 0x22640338: 0x2270, - 0x22650338: 0x2271, - 0x22720338: 0x2274, - 0x22730338: 0x2275, - 0x22760338: 0x2278, - 0x22770338: 0x2279, - 0x227A0338: 0x2280, - 0x227B0338: 0x2281, - 0x22820338: 0x2284, - 0x22830338: 0x2285, - 0x22860338: 0x2288, - 0x22870338: 0x2289, - 0x22A20338: 0x22AC, - 0x22A80338: 0x22AD, - 0x22A90338: 0x22AE, - 0x22AB0338: 0x22AF, - 0x227C0338: 0x22E0, - 0x227D0338: 0x22E1, - 0x22910338: 0x22E2, - 0x22920338: 0x22E3, - 0x22B20338: 0x22EA, - 0x22B30338: 0x22EB, - 0x22B40338: 0x22EC, - 0x22B50338: 0x22ED, - 0x304B3099: 0x304C, - 0x304D3099: 0x304E, - 0x304F3099: 0x3050, - 0x30513099: 0x3052, - 0x30533099: 0x3054, - 0x30553099: 0x3056, - 0x30573099: 0x3058, - 0x30593099: 0x305A, - 0x305B3099: 0x305C, - 0x305D3099: 0x305E, - 0x305F3099: 0x3060, - 0x30613099: 0x3062, - 0x30643099: 0x3065, - 0x30663099: 0x3067, - 0x30683099: 0x3069, - 0x306F3099: 0x3070, - 0x306F309A: 0x3071, - 0x30723099: 0x3073, - 0x3072309A: 0x3074, - 0x30753099: 0x3076, - 0x3075309A: 0x3077, - 0x30783099: 0x3079, - 0x3078309A: 0x307A, - 0x307B3099: 0x307C, - 0x307B309A: 0x307D, - 0x30463099: 0x3094, - 0x309D3099: 0x309E, - 0x30AB3099: 0x30AC, - 0x30AD3099: 0x30AE, - 0x30AF3099: 0x30B0, - 0x30B13099: 0x30B2, - 0x30B33099: 0x30B4, - 0x30B53099: 0x30B6, - 0x30B73099: 0x30B8, - 0x30B93099: 0x30BA, - 0x30BB3099: 0x30BC, - 0x30BD3099: 0x30BE, - 0x30BF3099: 0x30C0, - 0x30C13099: 0x30C2, - 0x30C43099: 0x30C5, - 0x30C63099: 0x30C7, - 0x30C83099: 0x30C9, - 0x30CF3099: 0x30D0, - 0x30CF309A: 0x30D1, - 0x30D23099: 0x30D3, - 0x30D2309A: 0x30D4, - 0x30D53099: 0x30D6, - 0x30D5309A: 0x30D7, - 0x30D83099: 0x30D9, - 0x30D8309A: 0x30DA, - 0x30DB3099: 0x30DC, - 0x30DB309A: 0x30DD, - 0x30A63099: 0x30F4, - 0x30EF3099: 0x30F7, - 0x30F03099: 0x30F8, - 0x30F13099: 0x30F9, - 0x30F23099: 0x30FA, - 0x30FD3099: 0x30FE, - 0x109910BA: 0x1109A, - 0x109B10BA: 0x1109C, - 0x10A510BA: 0x110AB, - 0x11311127: 0x1112E, - 0x11321127: 0x1112F, - 0x1347133E: 0x1134B, - 0x13471357: 0x1134C, - 0x14B914BA: 0x114BB, - 0x14B914B0: 0x114BC, - 0x14B914BD: 0x114BE, - 0x15B815AF: 0x115BA, - 0x15B915AF: 0x115BB, -} +var recompMap map[uint32]rune +var recompMapOnce sync.Once -// Total size of tables: 53KB (54006 bytes) +const recompMapPacked = "" + + "\x00A\x03\x00\x00\x00\x00\xc0" + // 0x00410300: 0x000000C0 + "\x00A\x03\x01\x00\x00\x00\xc1" + // 0x00410301: 0x000000C1 + "\x00A\x03\x02\x00\x00\x00\xc2" + // 0x00410302: 0x000000C2 + "\x00A\x03\x03\x00\x00\x00\xc3" + // 0x00410303: 0x000000C3 + "\x00A\x03\b\x00\x00\x00\xc4" + // 0x00410308: 0x000000C4 + "\x00A\x03\n\x00\x00\x00\xc5" + // 0x0041030A: 0x000000C5 + "\x00C\x03'\x00\x00\x00\xc7" + // 0x00430327: 0x000000C7 + "\x00E\x03\x00\x00\x00\x00\xc8" + // 0x00450300: 0x000000C8 + "\x00E\x03\x01\x00\x00\x00\xc9" + // 0x00450301: 0x000000C9 + "\x00E\x03\x02\x00\x00\x00\xca" + // 0x00450302: 0x000000CA + "\x00E\x03\b\x00\x00\x00\xcb" + // 0x00450308: 0x000000CB + "\x00I\x03\x00\x00\x00\x00\xcc" + // 0x00490300: 0x000000CC + "\x00I\x03\x01\x00\x00\x00\xcd" + // 0x00490301: 0x000000CD + "\x00I\x03\x02\x00\x00\x00\xce" + // 0x00490302: 0x000000CE + "\x00I\x03\b\x00\x00\x00\xcf" + // 0x00490308: 0x000000CF + "\x00N\x03\x03\x00\x00\x00\xd1" + // 0x004E0303: 0x000000D1 + "\x00O\x03\x00\x00\x00\x00\xd2" + // 0x004F0300: 0x000000D2 + "\x00O\x03\x01\x00\x00\x00\xd3" + // 0x004F0301: 0x000000D3 + "\x00O\x03\x02\x00\x00\x00\xd4" + // 0x004F0302: 0x000000D4 + "\x00O\x03\x03\x00\x00\x00\xd5" + // 0x004F0303: 0x000000D5 + "\x00O\x03\b\x00\x00\x00\xd6" + // 0x004F0308: 0x000000D6 + "\x00U\x03\x00\x00\x00\x00\xd9" + // 0x00550300: 0x000000D9 + "\x00U\x03\x01\x00\x00\x00\xda" + // 0x00550301: 0x000000DA + "\x00U\x03\x02\x00\x00\x00\xdb" + // 0x00550302: 0x000000DB + "\x00U\x03\b\x00\x00\x00\xdc" + // 0x00550308: 0x000000DC + "\x00Y\x03\x01\x00\x00\x00\xdd" + // 0x00590301: 0x000000DD + "\x00a\x03\x00\x00\x00\x00\xe0" + // 0x00610300: 0x000000E0 + "\x00a\x03\x01\x00\x00\x00\xe1" + // 0x00610301: 0x000000E1 + "\x00a\x03\x02\x00\x00\x00\xe2" + // 0x00610302: 0x000000E2 + "\x00a\x03\x03\x00\x00\x00\xe3" + // 0x00610303: 0x000000E3 + "\x00a\x03\b\x00\x00\x00\xe4" + // 0x00610308: 0x000000E4 + "\x00a\x03\n\x00\x00\x00\xe5" + // 0x0061030A: 0x000000E5 + "\x00c\x03'\x00\x00\x00\xe7" + // 0x00630327: 0x000000E7 + "\x00e\x03\x00\x00\x00\x00\xe8" + // 0x00650300: 0x000000E8 + "\x00e\x03\x01\x00\x00\x00\xe9" + // 0x00650301: 0x000000E9 + "\x00e\x03\x02\x00\x00\x00\xea" + // 0x00650302: 0x000000EA + "\x00e\x03\b\x00\x00\x00\xeb" + // 0x00650308: 0x000000EB + "\x00i\x03\x00\x00\x00\x00\xec" + // 0x00690300: 0x000000EC + "\x00i\x03\x01\x00\x00\x00\xed" + // 0x00690301: 0x000000ED + "\x00i\x03\x02\x00\x00\x00\xee" + // 0x00690302: 0x000000EE + "\x00i\x03\b\x00\x00\x00\xef" + // 0x00690308: 0x000000EF + "\x00n\x03\x03\x00\x00\x00\xf1" + // 0x006E0303: 0x000000F1 + "\x00o\x03\x00\x00\x00\x00\xf2" + // 0x006F0300: 0x000000F2 + "\x00o\x03\x01\x00\x00\x00\xf3" + // 0x006F0301: 0x000000F3 + "\x00o\x03\x02\x00\x00\x00\xf4" + // 0x006F0302: 0x000000F4 + "\x00o\x03\x03\x00\x00\x00\xf5" + // 0x006F0303: 0x000000F5 + "\x00o\x03\b\x00\x00\x00\xf6" + // 0x006F0308: 0x000000F6 + "\x00u\x03\x00\x00\x00\x00\xf9" + // 0x00750300: 0x000000F9 + "\x00u\x03\x01\x00\x00\x00\xfa" + // 0x00750301: 0x000000FA + "\x00u\x03\x02\x00\x00\x00\xfb" + // 0x00750302: 0x000000FB + "\x00u\x03\b\x00\x00\x00\xfc" + // 0x00750308: 0x000000FC + "\x00y\x03\x01\x00\x00\x00\xfd" + // 0x00790301: 0x000000FD + "\x00y\x03\b\x00\x00\x00\xff" + // 0x00790308: 0x000000FF + "\x00A\x03\x04\x00\x00\x01\x00" + // 0x00410304: 0x00000100 + "\x00a\x03\x04\x00\x00\x01\x01" + // 0x00610304: 0x00000101 + "\x00A\x03\x06\x00\x00\x01\x02" + // 0x00410306: 0x00000102 + "\x00a\x03\x06\x00\x00\x01\x03" + // 0x00610306: 0x00000103 + "\x00A\x03(\x00\x00\x01\x04" + // 0x00410328: 0x00000104 + "\x00a\x03(\x00\x00\x01\x05" + // 0x00610328: 0x00000105 + "\x00C\x03\x01\x00\x00\x01\x06" + // 0x00430301: 0x00000106 + "\x00c\x03\x01\x00\x00\x01\a" + // 0x00630301: 0x00000107 + "\x00C\x03\x02\x00\x00\x01\b" + // 0x00430302: 0x00000108 + "\x00c\x03\x02\x00\x00\x01\t" + // 0x00630302: 0x00000109 + "\x00C\x03\a\x00\x00\x01\n" + // 0x00430307: 0x0000010A + "\x00c\x03\a\x00\x00\x01\v" + // 0x00630307: 0x0000010B + "\x00C\x03\f\x00\x00\x01\f" + // 0x0043030C: 0x0000010C + "\x00c\x03\f\x00\x00\x01\r" + // 0x0063030C: 0x0000010D + "\x00D\x03\f\x00\x00\x01\x0e" + // 0x0044030C: 0x0000010E + "\x00d\x03\f\x00\x00\x01\x0f" + // 0x0064030C: 0x0000010F + "\x00E\x03\x04\x00\x00\x01\x12" + // 0x00450304: 0x00000112 + "\x00e\x03\x04\x00\x00\x01\x13" + // 0x00650304: 0x00000113 + "\x00E\x03\x06\x00\x00\x01\x14" + // 0x00450306: 0x00000114 + "\x00e\x03\x06\x00\x00\x01\x15" + // 0x00650306: 0x00000115 + "\x00E\x03\a\x00\x00\x01\x16" + // 0x00450307: 0x00000116 + "\x00e\x03\a\x00\x00\x01\x17" + // 0x00650307: 0x00000117 + "\x00E\x03(\x00\x00\x01\x18" + // 0x00450328: 0x00000118 + "\x00e\x03(\x00\x00\x01\x19" + // 0x00650328: 0x00000119 + "\x00E\x03\f\x00\x00\x01\x1a" + // 0x0045030C: 0x0000011A + "\x00e\x03\f\x00\x00\x01\x1b" + // 0x0065030C: 0x0000011B + "\x00G\x03\x02\x00\x00\x01\x1c" + // 0x00470302: 0x0000011C + "\x00g\x03\x02\x00\x00\x01\x1d" + // 0x00670302: 0x0000011D + "\x00G\x03\x06\x00\x00\x01\x1e" + // 0x00470306: 0x0000011E + "\x00g\x03\x06\x00\x00\x01\x1f" + // 0x00670306: 0x0000011F + "\x00G\x03\a\x00\x00\x01 " + // 0x00470307: 0x00000120 + "\x00g\x03\a\x00\x00\x01!" + // 0x00670307: 0x00000121 + "\x00G\x03'\x00\x00\x01\"" + // 0x00470327: 0x00000122 + "\x00g\x03'\x00\x00\x01#" + // 0x00670327: 0x00000123 + "\x00H\x03\x02\x00\x00\x01$" + // 0x00480302: 0x00000124 + "\x00h\x03\x02\x00\x00\x01%" + // 0x00680302: 0x00000125 + "\x00I\x03\x03\x00\x00\x01(" + // 0x00490303: 0x00000128 + "\x00i\x03\x03\x00\x00\x01)" + // 0x00690303: 0x00000129 + "\x00I\x03\x04\x00\x00\x01*" + // 0x00490304: 0x0000012A + "\x00i\x03\x04\x00\x00\x01+" + // 0x00690304: 0x0000012B + "\x00I\x03\x06\x00\x00\x01," + // 0x00490306: 0x0000012C + "\x00i\x03\x06\x00\x00\x01-" + // 0x00690306: 0x0000012D + "\x00I\x03(\x00\x00\x01." + // 0x00490328: 0x0000012E + "\x00i\x03(\x00\x00\x01/" + // 0x00690328: 0x0000012F + "\x00I\x03\a\x00\x00\x010" + // 0x00490307: 0x00000130 + "\x00J\x03\x02\x00\x00\x014" + // 0x004A0302: 0x00000134 + "\x00j\x03\x02\x00\x00\x015" + // 0x006A0302: 0x00000135 + "\x00K\x03'\x00\x00\x016" + // 0x004B0327: 0x00000136 + "\x00k\x03'\x00\x00\x017" + // 0x006B0327: 0x00000137 + "\x00L\x03\x01\x00\x00\x019" + // 0x004C0301: 0x00000139 + "\x00l\x03\x01\x00\x00\x01:" + // 0x006C0301: 0x0000013A + "\x00L\x03'\x00\x00\x01;" + // 0x004C0327: 0x0000013B + "\x00l\x03'\x00\x00\x01<" + // 0x006C0327: 0x0000013C + "\x00L\x03\f\x00\x00\x01=" + // 0x004C030C: 0x0000013D + "\x00l\x03\f\x00\x00\x01>" + // 0x006C030C: 0x0000013E + "\x00N\x03\x01\x00\x00\x01C" + // 0x004E0301: 0x00000143 + "\x00n\x03\x01\x00\x00\x01D" + // 0x006E0301: 0x00000144 + "\x00N\x03'\x00\x00\x01E" + // 0x004E0327: 0x00000145 + "\x00n\x03'\x00\x00\x01F" + // 0x006E0327: 0x00000146 + "\x00N\x03\f\x00\x00\x01G" + // 0x004E030C: 0x00000147 + "\x00n\x03\f\x00\x00\x01H" + // 0x006E030C: 0x00000148 + "\x00O\x03\x04\x00\x00\x01L" + // 0x004F0304: 0x0000014C + "\x00o\x03\x04\x00\x00\x01M" + // 0x006F0304: 0x0000014D + "\x00O\x03\x06\x00\x00\x01N" + // 0x004F0306: 0x0000014E + "\x00o\x03\x06\x00\x00\x01O" + // 0x006F0306: 0x0000014F + "\x00O\x03\v\x00\x00\x01P" + // 0x004F030B: 0x00000150 + "\x00o\x03\v\x00\x00\x01Q" + // 0x006F030B: 0x00000151 + "\x00R\x03\x01\x00\x00\x01T" + // 0x00520301: 0x00000154 + "\x00r\x03\x01\x00\x00\x01U" + // 0x00720301: 0x00000155 + "\x00R\x03'\x00\x00\x01V" + // 0x00520327: 0x00000156 + "\x00r\x03'\x00\x00\x01W" + // 0x00720327: 0x00000157 + "\x00R\x03\f\x00\x00\x01X" + // 0x0052030C: 0x00000158 + "\x00r\x03\f\x00\x00\x01Y" + // 0x0072030C: 0x00000159 + "\x00S\x03\x01\x00\x00\x01Z" + // 0x00530301: 0x0000015A + "\x00s\x03\x01\x00\x00\x01[" + // 0x00730301: 0x0000015B + "\x00S\x03\x02\x00\x00\x01\\" + // 0x00530302: 0x0000015C + "\x00s\x03\x02\x00\x00\x01]" + // 0x00730302: 0x0000015D + "\x00S\x03'\x00\x00\x01^" + // 0x00530327: 0x0000015E + "\x00s\x03'\x00\x00\x01_" + // 0x00730327: 0x0000015F + "\x00S\x03\f\x00\x00\x01`" + // 0x0053030C: 0x00000160 + "\x00s\x03\f\x00\x00\x01a" + // 0x0073030C: 0x00000161 + "\x00T\x03'\x00\x00\x01b" + // 0x00540327: 0x00000162 + "\x00t\x03'\x00\x00\x01c" + // 0x00740327: 0x00000163 + "\x00T\x03\f\x00\x00\x01d" + // 0x0054030C: 0x00000164 + "\x00t\x03\f\x00\x00\x01e" + // 0x0074030C: 0x00000165 + "\x00U\x03\x03\x00\x00\x01h" + // 0x00550303: 0x00000168 + "\x00u\x03\x03\x00\x00\x01i" + // 0x00750303: 0x00000169 + "\x00U\x03\x04\x00\x00\x01j" + // 0x00550304: 0x0000016A + "\x00u\x03\x04\x00\x00\x01k" + // 0x00750304: 0x0000016B + "\x00U\x03\x06\x00\x00\x01l" + // 0x00550306: 0x0000016C + "\x00u\x03\x06\x00\x00\x01m" + // 0x00750306: 0x0000016D + "\x00U\x03\n\x00\x00\x01n" + // 0x0055030A: 0x0000016E + "\x00u\x03\n\x00\x00\x01o" + // 0x0075030A: 0x0000016F + "\x00U\x03\v\x00\x00\x01p" + // 0x0055030B: 0x00000170 + "\x00u\x03\v\x00\x00\x01q" + // 0x0075030B: 0x00000171 + "\x00U\x03(\x00\x00\x01r" + // 0x00550328: 0x00000172 + "\x00u\x03(\x00\x00\x01s" + // 0x00750328: 0x00000173 + "\x00W\x03\x02\x00\x00\x01t" + // 0x00570302: 0x00000174 + "\x00w\x03\x02\x00\x00\x01u" + // 0x00770302: 0x00000175 + "\x00Y\x03\x02\x00\x00\x01v" + // 0x00590302: 0x00000176 + "\x00y\x03\x02\x00\x00\x01w" + // 0x00790302: 0x00000177 + "\x00Y\x03\b\x00\x00\x01x" + // 0x00590308: 0x00000178 + "\x00Z\x03\x01\x00\x00\x01y" + // 0x005A0301: 0x00000179 + "\x00z\x03\x01\x00\x00\x01z" + // 0x007A0301: 0x0000017A + "\x00Z\x03\a\x00\x00\x01{" + // 0x005A0307: 0x0000017B + "\x00z\x03\a\x00\x00\x01|" + // 0x007A0307: 0x0000017C + "\x00Z\x03\f\x00\x00\x01}" + // 0x005A030C: 0x0000017D + "\x00z\x03\f\x00\x00\x01~" + // 0x007A030C: 0x0000017E + "\x00O\x03\x1b\x00\x00\x01\xa0" + // 0x004F031B: 0x000001A0 + "\x00o\x03\x1b\x00\x00\x01\xa1" + // 0x006F031B: 0x000001A1 + "\x00U\x03\x1b\x00\x00\x01\xaf" + // 0x0055031B: 0x000001AF + "\x00u\x03\x1b\x00\x00\x01\xb0" + // 0x0075031B: 0x000001B0 + "\x00A\x03\f\x00\x00\x01\xcd" + // 0x0041030C: 0x000001CD + "\x00a\x03\f\x00\x00\x01\xce" + // 0x0061030C: 0x000001CE + "\x00I\x03\f\x00\x00\x01\xcf" + // 0x0049030C: 0x000001CF + "\x00i\x03\f\x00\x00\x01\xd0" + // 0x0069030C: 0x000001D0 + "\x00O\x03\f\x00\x00\x01\xd1" + // 0x004F030C: 0x000001D1 + "\x00o\x03\f\x00\x00\x01\xd2" + // 0x006F030C: 0x000001D2 + "\x00U\x03\f\x00\x00\x01\xd3" + // 0x0055030C: 0x000001D3 + "\x00u\x03\f\x00\x00\x01\xd4" + // 0x0075030C: 0x000001D4 + "\x00\xdc\x03\x04\x00\x00\x01\xd5" + // 0x00DC0304: 0x000001D5 + "\x00\xfc\x03\x04\x00\x00\x01\xd6" + // 0x00FC0304: 0x000001D6 + "\x00\xdc\x03\x01\x00\x00\x01\xd7" + // 0x00DC0301: 0x000001D7 + "\x00\xfc\x03\x01\x00\x00\x01\xd8" + // 0x00FC0301: 0x000001D8 + "\x00\xdc\x03\f\x00\x00\x01\xd9" + // 0x00DC030C: 0x000001D9 + "\x00\xfc\x03\f\x00\x00\x01\xda" + // 0x00FC030C: 0x000001DA + "\x00\xdc\x03\x00\x00\x00\x01\xdb" + // 0x00DC0300: 0x000001DB + "\x00\xfc\x03\x00\x00\x00\x01\xdc" + // 0x00FC0300: 0x000001DC + "\x00\xc4\x03\x04\x00\x00\x01\xde" + // 0x00C40304: 0x000001DE + "\x00\xe4\x03\x04\x00\x00\x01\xdf" + // 0x00E40304: 0x000001DF + "\x02&\x03\x04\x00\x00\x01\xe0" + // 0x02260304: 0x000001E0 + "\x02'\x03\x04\x00\x00\x01\xe1" + // 0x02270304: 0x000001E1 + "\x00\xc6\x03\x04\x00\x00\x01\xe2" + // 0x00C60304: 0x000001E2 + "\x00\xe6\x03\x04\x00\x00\x01\xe3" + // 0x00E60304: 0x000001E3 + "\x00G\x03\f\x00\x00\x01\xe6" + // 0x0047030C: 0x000001E6 + "\x00g\x03\f\x00\x00\x01\xe7" + // 0x0067030C: 0x000001E7 + "\x00K\x03\f\x00\x00\x01\xe8" + // 0x004B030C: 0x000001E8 + "\x00k\x03\f\x00\x00\x01\xe9" + // 0x006B030C: 0x000001E9 + "\x00O\x03(\x00\x00\x01\xea" + // 0x004F0328: 0x000001EA + "\x00o\x03(\x00\x00\x01\xeb" + // 0x006F0328: 0x000001EB + "\x01\xea\x03\x04\x00\x00\x01\xec" + // 0x01EA0304: 0x000001EC + "\x01\xeb\x03\x04\x00\x00\x01\xed" + // 0x01EB0304: 0x000001ED + "\x01\xb7\x03\f\x00\x00\x01\xee" + // 0x01B7030C: 0x000001EE + "\x02\x92\x03\f\x00\x00\x01\xef" + // 0x0292030C: 0x000001EF + "\x00j\x03\f\x00\x00\x01\xf0" + // 0x006A030C: 0x000001F0 + "\x00G\x03\x01\x00\x00\x01\xf4" + // 0x00470301: 0x000001F4 + "\x00g\x03\x01\x00\x00\x01\xf5" + // 0x00670301: 0x000001F5 + "\x00N\x03\x00\x00\x00\x01\xf8" + // 0x004E0300: 0x000001F8 + "\x00n\x03\x00\x00\x00\x01\xf9" + // 0x006E0300: 0x000001F9 + "\x00\xc5\x03\x01\x00\x00\x01\xfa" + // 0x00C50301: 0x000001FA + "\x00\xe5\x03\x01\x00\x00\x01\xfb" + // 0x00E50301: 0x000001FB + "\x00\xc6\x03\x01\x00\x00\x01\xfc" + // 0x00C60301: 0x000001FC + "\x00\xe6\x03\x01\x00\x00\x01\xfd" + // 0x00E60301: 0x000001FD + "\x00\xd8\x03\x01\x00\x00\x01\xfe" + // 0x00D80301: 0x000001FE + "\x00\xf8\x03\x01\x00\x00\x01\xff" + // 0x00F80301: 0x000001FF + "\x00A\x03\x0f\x00\x00\x02\x00" + // 0x0041030F: 0x00000200 + "\x00a\x03\x0f\x00\x00\x02\x01" + // 0x0061030F: 0x00000201 + "\x00A\x03\x11\x00\x00\x02\x02" + // 0x00410311: 0x00000202 + "\x00a\x03\x11\x00\x00\x02\x03" + // 0x00610311: 0x00000203 + "\x00E\x03\x0f\x00\x00\x02\x04" + // 0x0045030F: 0x00000204 + "\x00e\x03\x0f\x00\x00\x02\x05" + // 0x0065030F: 0x00000205 + "\x00E\x03\x11\x00\x00\x02\x06" + // 0x00450311: 0x00000206 + "\x00e\x03\x11\x00\x00\x02\a" + // 0x00650311: 0x00000207 + "\x00I\x03\x0f\x00\x00\x02\b" + // 0x0049030F: 0x00000208 + "\x00i\x03\x0f\x00\x00\x02\t" + // 0x0069030F: 0x00000209 + "\x00I\x03\x11\x00\x00\x02\n" + // 0x00490311: 0x0000020A + "\x00i\x03\x11\x00\x00\x02\v" + // 0x00690311: 0x0000020B + "\x00O\x03\x0f\x00\x00\x02\f" + // 0x004F030F: 0x0000020C + "\x00o\x03\x0f\x00\x00\x02\r" + // 0x006F030F: 0x0000020D + "\x00O\x03\x11\x00\x00\x02\x0e" + // 0x004F0311: 0x0000020E + "\x00o\x03\x11\x00\x00\x02\x0f" + // 0x006F0311: 0x0000020F + "\x00R\x03\x0f\x00\x00\x02\x10" + // 0x0052030F: 0x00000210 + "\x00r\x03\x0f\x00\x00\x02\x11" + // 0x0072030F: 0x00000211 + "\x00R\x03\x11\x00\x00\x02\x12" + // 0x00520311: 0x00000212 + "\x00r\x03\x11\x00\x00\x02\x13" + // 0x00720311: 0x00000213 + "\x00U\x03\x0f\x00\x00\x02\x14" + // 0x0055030F: 0x00000214 + "\x00u\x03\x0f\x00\x00\x02\x15" + // 0x0075030F: 0x00000215 + "\x00U\x03\x11\x00\x00\x02\x16" + // 0x00550311: 0x00000216 + "\x00u\x03\x11\x00\x00\x02\x17" + // 0x00750311: 0x00000217 + "\x00S\x03&\x00\x00\x02\x18" + // 0x00530326: 0x00000218 + "\x00s\x03&\x00\x00\x02\x19" + // 0x00730326: 0x00000219 + "\x00T\x03&\x00\x00\x02\x1a" + // 0x00540326: 0x0000021A + "\x00t\x03&\x00\x00\x02\x1b" + // 0x00740326: 0x0000021B + "\x00H\x03\f\x00\x00\x02\x1e" + // 0x0048030C: 0x0000021E + "\x00h\x03\f\x00\x00\x02\x1f" + // 0x0068030C: 0x0000021F + "\x00A\x03\a\x00\x00\x02&" + // 0x00410307: 0x00000226 + "\x00a\x03\a\x00\x00\x02'" + // 0x00610307: 0x00000227 + "\x00E\x03'\x00\x00\x02(" + // 0x00450327: 0x00000228 + "\x00e\x03'\x00\x00\x02)" + // 0x00650327: 0x00000229 + "\x00\xd6\x03\x04\x00\x00\x02*" + // 0x00D60304: 0x0000022A + "\x00\xf6\x03\x04\x00\x00\x02+" + // 0x00F60304: 0x0000022B + "\x00\xd5\x03\x04\x00\x00\x02," + // 0x00D50304: 0x0000022C + "\x00\xf5\x03\x04\x00\x00\x02-" + // 0x00F50304: 0x0000022D + "\x00O\x03\a\x00\x00\x02." + // 0x004F0307: 0x0000022E + "\x00o\x03\a\x00\x00\x02/" + // 0x006F0307: 0x0000022F + "\x02.\x03\x04\x00\x00\x020" + // 0x022E0304: 0x00000230 + "\x02/\x03\x04\x00\x00\x021" + // 0x022F0304: 0x00000231 + "\x00Y\x03\x04\x00\x00\x022" + // 0x00590304: 0x00000232 + "\x00y\x03\x04\x00\x00\x023" + // 0x00790304: 0x00000233 + "\x00\xa8\x03\x01\x00\x00\x03\x85" + // 0x00A80301: 0x00000385 + "\x03\x91\x03\x01\x00\x00\x03\x86" + // 0x03910301: 0x00000386 + "\x03\x95\x03\x01\x00\x00\x03\x88" + // 0x03950301: 0x00000388 + "\x03\x97\x03\x01\x00\x00\x03\x89" + // 0x03970301: 0x00000389 + "\x03\x99\x03\x01\x00\x00\x03\x8a" + // 0x03990301: 0x0000038A + "\x03\x9f\x03\x01\x00\x00\x03\x8c" + // 0x039F0301: 0x0000038C + "\x03\xa5\x03\x01\x00\x00\x03\x8e" + // 0x03A50301: 0x0000038E + "\x03\xa9\x03\x01\x00\x00\x03\x8f" + // 0x03A90301: 0x0000038F + "\x03\xca\x03\x01\x00\x00\x03\x90" + // 0x03CA0301: 0x00000390 + "\x03\x99\x03\b\x00\x00\x03\xaa" + // 0x03990308: 0x000003AA + "\x03\xa5\x03\b\x00\x00\x03\xab" + // 0x03A50308: 0x000003AB + "\x03\xb1\x03\x01\x00\x00\x03\xac" + // 0x03B10301: 0x000003AC + "\x03\xb5\x03\x01\x00\x00\x03\xad" + // 0x03B50301: 0x000003AD + "\x03\xb7\x03\x01\x00\x00\x03\xae" + // 0x03B70301: 0x000003AE + "\x03\xb9\x03\x01\x00\x00\x03\xaf" + // 0x03B90301: 0x000003AF + "\x03\xcb\x03\x01\x00\x00\x03\xb0" + // 0x03CB0301: 0x000003B0 + "\x03\xb9\x03\b\x00\x00\x03\xca" + // 0x03B90308: 0x000003CA + "\x03\xc5\x03\b\x00\x00\x03\xcb" + // 0x03C50308: 0x000003CB + "\x03\xbf\x03\x01\x00\x00\x03\xcc" + // 0x03BF0301: 0x000003CC + "\x03\xc5\x03\x01\x00\x00\x03\xcd" + // 0x03C50301: 0x000003CD + "\x03\xc9\x03\x01\x00\x00\x03\xce" + // 0x03C90301: 0x000003CE + "\x03\xd2\x03\x01\x00\x00\x03\xd3" + // 0x03D20301: 0x000003D3 + "\x03\xd2\x03\b\x00\x00\x03\xd4" + // 0x03D20308: 0x000003D4 + "\x04\x15\x03\x00\x00\x00\x04\x00" + // 0x04150300: 0x00000400 + "\x04\x15\x03\b\x00\x00\x04\x01" + // 0x04150308: 0x00000401 + "\x04\x13\x03\x01\x00\x00\x04\x03" + // 0x04130301: 0x00000403 + "\x04\x06\x03\b\x00\x00\x04\a" + // 0x04060308: 0x00000407 + "\x04\x1a\x03\x01\x00\x00\x04\f" + // 0x041A0301: 0x0000040C + "\x04\x18\x03\x00\x00\x00\x04\r" + // 0x04180300: 0x0000040D + "\x04#\x03\x06\x00\x00\x04\x0e" + // 0x04230306: 0x0000040E + "\x04\x18\x03\x06\x00\x00\x04\x19" + // 0x04180306: 0x00000419 + "\x048\x03\x06\x00\x00\x049" + // 0x04380306: 0x00000439 + "\x045\x03\x00\x00\x00\x04P" + // 0x04350300: 0x00000450 + "\x045\x03\b\x00\x00\x04Q" + // 0x04350308: 0x00000451 + "\x043\x03\x01\x00\x00\x04S" + // 0x04330301: 0x00000453 + "\x04V\x03\b\x00\x00\x04W" + // 0x04560308: 0x00000457 + "\x04:\x03\x01\x00\x00\x04\\" + // 0x043A0301: 0x0000045C + "\x048\x03\x00\x00\x00\x04]" + // 0x04380300: 0x0000045D + "\x04C\x03\x06\x00\x00\x04^" + // 0x04430306: 0x0000045E + "\x04t\x03\x0f\x00\x00\x04v" + // 0x0474030F: 0x00000476 + "\x04u\x03\x0f\x00\x00\x04w" + // 0x0475030F: 0x00000477 + "\x04\x16\x03\x06\x00\x00\x04\xc1" + // 0x04160306: 0x000004C1 + "\x046\x03\x06\x00\x00\x04\xc2" + // 0x04360306: 0x000004C2 + "\x04\x10\x03\x06\x00\x00\x04\xd0" + // 0x04100306: 0x000004D0 + "\x040\x03\x06\x00\x00\x04\xd1" + // 0x04300306: 0x000004D1 + "\x04\x10\x03\b\x00\x00\x04\xd2" + // 0x04100308: 0x000004D2 + "\x040\x03\b\x00\x00\x04\xd3" + // 0x04300308: 0x000004D3 + "\x04\x15\x03\x06\x00\x00\x04\xd6" + // 0x04150306: 0x000004D6 + "\x045\x03\x06\x00\x00\x04\xd7" + // 0x04350306: 0x000004D7 + "\x04\xd8\x03\b\x00\x00\x04\xda" + // 0x04D80308: 0x000004DA + "\x04\xd9\x03\b\x00\x00\x04\xdb" + // 0x04D90308: 0x000004DB + "\x04\x16\x03\b\x00\x00\x04\xdc" + // 0x04160308: 0x000004DC + "\x046\x03\b\x00\x00\x04\xdd" + // 0x04360308: 0x000004DD + "\x04\x17\x03\b\x00\x00\x04\xde" + // 0x04170308: 0x000004DE + "\x047\x03\b\x00\x00\x04\xdf" + // 0x04370308: 0x000004DF + "\x04\x18\x03\x04\x00\x00\x04\xe2" + // 0x04180304: 0x000004E2 + "\x048\x03\x04\x00\x00\x04\xe3" + // 0x04380304: 0x000004E3 + "\x04\x18\x03\b\x00\x00\x04\xe4" + // 0x04180308: 0x000004E4 + "\x048\x03\b\x00\x00\x04\xe5" + // 0x04380308: 0x000004E5 + "\x04\x1e\x03\b\x00\x00\x04\xe6" + // 0x041E0308: 0x000004E6 + "\x04>\x03\b\x00\x00\x04\xe7" + // 0x043E0308: 0x000004E7 + "\x04\xe8\x03\b\x00\x00\x04\xea" + // 0x04E80308: 0x000004EA + "\x04\xe9\x03\b\x00\x00\x04\xeb" + // 0x04E90308: 0x000004EB + "\x04-\x03\b\x00\x00\x04\xec" + // 0x042D0308: 0x000004EC + "\x04M\x03\b\x00\x00\x04\xed" + // 0x044D0308: 0x000004ED + "\x04#\x03\x04\x00\x00\x04\xee" + // 0x04230304: 0x000004EE + "\x04C\x03\x04\x00\x00\x04\xef" + // 0x04430304: 0x000004EF + "\x04#\x03\b\x00\x00\x04\xf0" + // 0x04230308: 0x000004F0 + "\x04C\x03\b\x00\x00\x04\xf1" + // 0x04430308: 0x000004F1 + "\x04#\x03\v\x00\x00\x04\xf2" + // 0x0423030B: 0x000004F2 + "\x04C\x03\v\x00\x00\x04\xf3" + // 0x0443030B: 0x000004F3 + "\x04'\x03\b\x00\x00\x04\xf4" + // 0x04270308: 0x000004F4 + "\x04G\x03\b\x00\x00\x04\xf5" + // 0x04470308: 0x000004F5 + "\x04+\x03\b\x00\x00\x04\xf8" + // 0x042B0308: 0x000004F8 + "\x04K\x03\b\x00\x00\x04\xf9" + // 0x044B0308: 0x000004F9 + "\x06'\x06S\x00\x00\x06\"" + // 0x06270653: 0x00000622 + "\x06'\x06T\x00\x00\x06#" + // 0x06270654: 0x00000623 + "\x06H\x06T\x00\x00\x06$" + // 0x06480654: 0x00000624 + "\x06'\x06U\x00\x00\x06%" + // 0x06270655: 0x00000625 + "\x06J\x06T\x00\x00\x06&" + // 0x064A0654: 0x00000626 + "\x06\xd5\x06T\x00\x00\x06\xc0" + // 0x06D50654: 0x000006C0 + "\x06\xc1\x06T\x00\x00\x06\xc2" + // 0x06C10654: 0x000006C2 + "\x06\xd2\x06T\x00\x00\x06\xd3" + // 0x06D20654: 0x000006D3 + "\t(\t<\x00\x00\t)" + // 0x0928093C: 0x00000929 + "\t0\t<\x00\x00\t1" + // 0x0930093C: 0x00000931 + "\t3\t<\x00\x00\t4" + // 0x0933093C: 0x00000934 + "\t\xc7\t\xbe\x00\x00\t\xcb" + // 0x09C709BE: 0x000009CB + "\t\xc7\t\xd7\x00\x00\t\xcc" + // 0x09C709D7: 0x000009CC + "\vG\vV\x00\x00\vH" + // 0x0B470B56: 0x00000B48 + "\vG\v>\x00\x00\vK" + // 0x0B470B3E: 0x00000B4B + "\vG\vW\x00\x00\vL" + // 0x0B470B57: 0x00000B4C + "\v\x92\v\xd7\x00\x00\v\x94" + // 0x0B920BD7: 0x00000B94 + "\v\xc6\v\xbe\x00\x00\v\xca" + // 0x0BC60BBE: 0x00000BCA + "\v\xc7\v\xbe\x00\x00\v\xcb" + // 0x0BC70BBE: 0x00000BCB + "\v\xc6\v\xd7\x00\x00\v\xcc" + // 0x0BC60BD7: 0x00000BCC + "\fF\fV\x00\x00\fH" + // 0x0C460C56: 0x00000C48 + "\f\xbf\f\xd5\x00\x00\f\xc0" + // 0x0CBF0CD5: 0x00000CC0 + "\f\xc6\f\xd5\x00\x00\f\xc7" + // 0x0CC60CD5: 0x00000CC7 + "\f\xc6\f\xd6\x00\x00\f\xc8" + // 0x0CC60CD6: 0x00000CC8 + "\f\xc6\f\xc2\x00\x00\f\xca" + // 0x0CC60CC2: 0x00000CCA + "\f\xca\f\xd5\x00\x00\f\xcb" + // 0x0CCA0CD5: 0x00000CCB + "\rF\r>\x00\x00\rJ" + // 0x0D460D3E: 0x00000D4A + "\rG\r>\x00\x00\rK" + // 0x0D470D3E: 0x00000D4B + "\rF\rW\x00\x00\rL" + // 0x0D460D57: 0x00000D4C + "\r\xd9\r\xca\x00\x00\r\xda" + // 0x0DD90DCA: 0x00000DDA + "\r\xd9\r\xcf\x00\x00\r\xdc" + // 0x0DD90DCF: 0x00000DDC + "\r\xdc\r\xca\x00\x00\r\xdd" + // 0x0DDC0DCA: 0x00000DDD + "\r\xd9\r\xdf\x00\x00\r\xde" + // 0x0DD90DDF: 0x00000DDE + "\x10%\x10.\x00\x00\x10&" + // 0x1025102E: 0x00001026 + "\x1b\x05\x1b5\x00\x00\x1b\x06" + // 0x1B051B35: 0x00001B06 + "\x1b\a\x1b5\x00\x00\x1b\b" + // 0x1B071B35: 0x00001B08 + "\x1b\t\x1b5\x00\x00\x1b\n" + // 0x1B091B35: 0x00001B0A + "\x1b\v\x1b5\x00\x00\x1b\f" + // 0x1B0B1B35: 0x00001B0C + "\x1b\r\x1b5\x00\x00\x1b\x0e" + // 0x1B0D1B35: 0x00001B0E + "\x1b\x11\x1b5\x00\x00\x1b\x12" + // 0x1B111B35: 0x00001B12 + "\x1b:\x1b5\x00\x00\x1b;" + // 0x1B3A1B35: 0x00001B3B + "\x1b<\x1b5\x00\x00\x1b=" + // 0x1B3C1B35: 0x00001B3D + "\x1b>\x1b5\x00\x00\x1b@" + // 0x1B3E1B35: 0x00001B40 + "\x1b?\x1b5\x00\x00\x1bA" + // 0x1B3F1B35: 0x00001B41 + "\x1bB\x1b5\x00\x00\x1bC" + // 0x1B421B35: 0x00001B43 + "\x00A\x03%\x00\x00\x1e\x00" + // 0x00410325: 0x00001E00 + "\x00a\x03%\x00\x00\x1e\x01" + // 0x00610325: 0x00001E01 + "\x00B\x03\a\x00\x00\x1e\x02" + // 0x00420307: 0x00001E02 + "\x00b\x03\a\x00\x00\x1e\x03" + // 0x00620307: 0x00001E03 + "\x00B\x03#\x00\x00\x1e\x04" + // 0x00420323: 0x00001E04 + "\x00b\x03#\x00\x00\x1e\x05" + // 0x00620323: 0x00001E05 + "\x00B\x031\x00\x00\x1e\x06" + // 0x00420331: 0x00001E06 + "\x00b\x031\x00\x00\x1e\a" + // 0x00620331: 0x00001E07 + "\x00\xc7\x03\x01\x00\x00\x1e\b" + // 0x00C70301: 0x00001E08 + "\x00\xe7\x03\x01\x00\x00\x1e\t" + // 0x00E70301: 0x00001E09 + "\x00D\x03\a\x00\x00\x1e\n" + // 0x00440307: 0x00001E0A + "\x00d\x03\a\x00\x00\x1e\v" + // 0x00640307: 0x00001E0B + "\x00D\x03#\x00\x00\x1e\f" + // 0x00440323: 0x00001E0C + "\x00d\x03#\x00\x00\x1e\r" + // 0x00640323: 0x00001E0D + "\x00D\x031\x00\x00\x1e\x0e" + // 0x00440331: 0x00001E0E + "\x00d\x031\x00\x00\x1e\x0f" + // 0x00640331: 0x00001E0F + "\x00D\x03'\x00\x00\x1e\x10" + // 0x00440327: 0x00001E10 + "\x00d\x03'\x00\x00\x1e\x11" + // 0x00640327: 0x00001E11 + "\x00D\x03-\x00\x00\x1e\x12" + // 0x0044032D: 0x00001E12 + "\x00d\x03-\x00\x00\x1e\x13" + // 0x0064032D: 0x00001E13 + "\x01\x12\x03\x00\x00\x00\x1e\x14" + // 0x01120300: 0x00001E14 + "\x01\x13\x03\x00\x00\x00\x1e\x15" + // 0x01130300: 0x00001E15 + "\x01\x12\x03\x01\x00\x00\x1e\x16" + // 0x01120301: 0x00001E16 + "\x01\x13\x03\x01\x00\x00\x1e\x17" + // 0x01130301: 0x00001E17 + "\x00E\x03-\x00\x00\x1e\x18" + // 0x0045032D: 0x00001E18 + "\x00e\x03-\x00\x00\x1e\x19" + // 0x0065032D: 0x00001E19 + "\x00E\x030\x00\x00\x1e\x1a" + // 0x00450330: 0x00001E1A + "\x00e\x030\x00\x00\x1e\x1b" + // 0x00650330: 0x00001E1B + "\x02(\x03\x06\x00\x00\x1e\x1c" + // 0x02280306: 0x00001E1C + "\x02)\x03\x06\x00\x00\x1e\x1d" + // 0x02290306: 0x00001E1D + "\x00F\x03\a\x00\x00\x1e\x1e" + // 0x00460307: 0x00001E1E + "\x00f\x03\a\x00\x00\x1e\x1f" + // 0x00660307: 0x00001E1F + "\x00G\x03\x04\x00\x00\x1e " + // 0x00470304: 0x00001E20 + "\x00g\x03\x04\x00\x00\x1e!" + // 0x00670304: 0x00001E21 + "\x00H\x03\a\x00\x00\x1e\"" + // 0x00480307: 0x00001E22 + "\x00h\x03\a\x00\x00\x1e#" + // 0x00680307: 0x00001E23 + "\x00H\x03#\x00\x00\x1e$" + // 0x00480323: 0x00001E24 + "\x00h\x03#\x00\x00\x1e%" + // 0x00680323: 0x00001E25 + "\x00H\x03\b\x00\x00\x1e&" + // 0x00480308: 0x00001E26 + "\x00h\x03\b\x00\x00\x1e'" + // 0x00680308: 0x00001E27 + "\x00H\x03'\x00\x00\x1e(" + // 0x00480327: 0x00001E28 + "\x00h\x03'\x00\x00\x1e)" + // 0x00680327: 0x00001E29 + "\x00H\x03.\x00\x00\x1e*" + // 0x0048032E: 0x00001E2A + "\x00h\x03.\x00\x00\x1e+" + // 0x0068032E: 0x00001E2B + "\x00I\x030\x00\x00\x1e," + // 0x00490330: 0x00001E2C + "\x00i\x030\x00\x00\x1e-" + // 0x00690330: 0x00001E2D + "\x00\xcf\x03\x01\x00\x00\x1e." + // 0x00CF0301: 0x00001E2E + "\x00\xef\x03\x01\x00\x00\x1e/" + // 0x00EF0301: 0x00001E2F + "\x00K\x03\x01\x00\x00\x1e0" + // 0x004B0301: 0x00001E30 + "\x00k\x03\x01\x00\x00\x1e1" + // 0x006B0301: 0x00001E31 + "\x00K\x03#\x00\x00\x1e2" + // 0x004B0323: 0x00001E32 + "\x00k\x03#\x00\x00\x1e3" + // 0x006B0323: 0x00001E33 + "\x00K\x031\x00\x00\x1e4" + // 0x004B0331: 0x00001E34 + "\x00k\x031\x00\x00\x1e5" + // 0x006B0331: 0x00001E35 + "\x00L\x03#\x00\x00\x1e6" + // 0x004C0323: 0x00001E36 + "\x00l\x03#\x00\x00\x1e7" + // 0x006C0323: 0x00001E37 + "\x1e6\x03\x04\x00\x00\x1e8" + // 0x1E360304: 0x00001E38 + "\x1e7\x03\x04\x00\x00\x1e9" + // 0x1E370304: 0x00001E39 + "\x00L\x031\x00\x00\x1e:" + // 0x004C0331: 0x00001E3A + "\x00l\x031\x00\x00\x1e;" + // 0x006C0331: 0x00001E3B + "\x00L\x03-\x00\x00\x1e<" + // 0x004C032D: 0x00001E3C + "\x00l\x03-\x00\x00\x1e=" + // 0x006C032D: 0x00001E3D + "\x00M\x03\x01\x00\x00\x1e>" + // 0x004D0301: 0x00001E3E + "\x00m\x03\x01\x00\x00\x1e?" + // 0x006D0301: 0x00001E3F + "\x00M\x03\a\x00\x00\x1e@" + // 0x004D0307: 0x00001E40 + "\x00m\x03\a\x00\x00\x1eA" + // 0x006D0307: 0x00001E41 + "\x00M\x03#\x00\x00\x1eB" + // 0x004D0323: 0x00001E42 + "\x00m\x03#\x00\x00\x1eC" + // 0x006D0323: 0x00001E43 + "\x00N\x03\a\x00\x00\x1eD" + // 0x004E0307: 0x00001E44 + "\x00n\x03\a\x00\x00\x1eE" + // 0x006E0307: 0x00001E45 + "\x00N\x03#\x00\x00\x1eF" + // 0x004E0323: 0x00001E46 + "\x00n\x03#\x00\x00\x1eG" + // 0x006E0323: 0x00001E47 + "\x00N\x031\x00\x00\x1eH" + // 0x004E0331: 0x00001E48 + "\x00n\x031\x00\x00\x1eI" + // 0x006E0331: 0x00001E49 + "\x00N\x03-\x00\x00\x1eJ" + // 0x004E032D: 0x00001E4A + "\x00n\x03-\x00\x00\x1eK" + // 0x006E032D: 0x00001E4B + "\x00\xd5\x03\x01\x00\x00\x1eL" + // 0x00D50301: 0x00001E4C + "\x00\xf5\x03\x01\x00\x00\x1eM" + // 0x00F50301: 0x00001E4D + "\x00\xd5\x03\b\x00\x00\x1eN" + // 0x00D50308: 0x00001E4E + "\x00\xf5\x03\b\x00\x00\x1eO" + // 0x00F50308: 0x00001E4F + "\x01L\x03\x00\x00\x00\x1eP" + // 0x014C0300: 0x00001E50 + "\x01M\x03\x00\x00\x00\x1eQ" + // 0x014D0300: 0x00001E51 + "\x01L\x03\x01\x00\x00\x1eR" + // 0x014C0301: 0x00001E52 + "\x01M\x03\x01\x00\x00\x1eS" + // 0x014D0301: 0x00001E53 + "\x00P\x03\x01\x00\x00\x1eT" + // 0x00500301: 0x00001E54 + "\x00p\x03\x01\x00\x00\x1eU" + // 0x00700301: 0x00001E55 + "\x00P\x03\a\x00\x00\x1eV" + // 0x00500307: 0x00001E56 + "\x00p\x03\a\x00\x00\x1eW" + // 0x00700307: 0x00001E57 + "\x00R\x03\a\x00\x00\x1eX" + // 0x00520307: 0x00001E58 + "\x00r\x03\a\x00\x00\x1eY" + // 0x00720307: 0x00001E59 + "\x00R\x03#\x00\x00\x1eZ" + // 0x00520323: 0x00001E5A + "\x00r\x03#\x00\x00\x1e[" + // 0x00720323: 0x00001E5B + "\x1eZ\x03\x04\x00\x00\x1e\\" + // 0x1E5A0304: 0x00001E5C + "\x1e[\x03\x04\x00\x00\x1e]" + // 0x1E5B0304: 0x00001E5D + "\x00R\x031\x00\x00\x1e^" + // 0x00520331: 0x00001E5E + "\x00r\x031\x00\x00\x1e_" + // 0x00720331: 0x00001E5F + "\x00S\x03\a\x00\x00\x1e`" + // 0x00530307: 0x00001E60 + "\x00s\x03\a\x00\x00\x1ea" + // 0x00730307: 0x00001E61 + "\x00S\x03#\x00\x00\x1eb" + // 0x00530323: 0x00001E62 + "\x00s\x03#\x00\x00\x1ec" + // 0x00730323: 0x00001E63 + "\x01Z\x03\a\x00\x00\x1ed" + // 0x015A0307: 0x00001E64 + "\x01[\x03\a\x00\x00\x1ee" + // 0x015B0307: 0x00001E65 + "\x01`\x03\a\x00\x00\x1ef" + // 0x01600307: 0x00001E66 + "\x01a\x03\a\x00\x00\x1eg" + // 0x01610307: 0x00001E67 + "\x1eb\x03\a\x00\x00\x1eh" + // 0x1E620307: 0x00001E68 + "\x1ec\x03\a\x00\x00\x1ei" + // 0x1E630307: 0x00001E69 + "\x00T\x03\a\x00\x00\x1ej" + // 0x00540307: 0x00001E6A + "\x00t\x03\a\x00\x00\x1ek" + // 0x00740307: 0x00001E6B + "\x00T\x03#\x00\x00\x1el" + // 0x00540323: 0x00001E6C + "\x00t\x03#\x00\x00\x1em" + // 0x00740323: 0x00001E6D + "\x00T\x031\x00\x00\x1en" + // 0x00540331: 0x00001E6E + "\x00t\x031\x00\x00\x1eo" + // 0x00740331: 0x00001E6F + "\x00T\x03-\x00\x00\x1ep" + // 0x0054032D: 0x00001E70 + "\x00t\x03-\x00\x00\x1eq" + // 0x0074032D: 0x00001E71 + "\x00U\x03$\x00\x00\x1er" + // 0x00550324: 0x00001E72 + "\x00u\x03$\x00\x00\x1es" + // 0x00750324: 0x00001E73 + "\x00U\x030\x00\x00\x1et" + // 0x00550330: 0x00001E74 + "\x00u\x030\x00\x00\x1eu" + // 0x00750330: 0x00001E75 + "\x00U\x03-\x00\x00\x1ev" + // 0x0055032D: 0x00001E76 + "\x00u\x03-\x00\x00\x1ew" + // 0x0075032D: 0x00001E77 + "\x01h\x03\x01\x00\x00\x1ex" + // 0x01680301: 0x00001E78 + "\x01i\x03\x01\x00\x00\x1ey" + // 0x01690301: 0x00001E79 + "\x01j\x03\b\x00\x00\x1ez" + // 0x016A0308: 0x00001E7A + "\x01k\x03\b\x00\x00\x1e{" + // 0x016B0308: 0x00001E7B + "\x00V\x03\x03\x00\x00\x1e|" + // 0x00560303: 0x00001E7C + "\x00v\x03\x03\x00\x00\x1e}" + // 0x00760303: 0x00001E7D + "\x00V\x03#\x00\x00\x1e~" + // 0x00560323: 0x00001E7E + "\x00v\x03#\x00\x00\x1e\u007f" + // 0x00760323: 0x00001E7F + "\x00W\x03\x00\x00\x00\x1e\x80" + // 0x00570300: 0x00001E80 + "\x00w\x03\x00\x00\x00\x1e\x81" + // 0x00770300: 0x00001E81 + "\x00W\x03\x01\x00\x00\x1e\x82" + // 0x00570301: 0x00001E82 + "\x00w\x03\x01\x00\x00\x1e\x83" + // 0x00770301: 0x00001E83 + "\x00W\x03\b\x00\x00\x1e\x84" + // 0x00570308: 0x00001E84 + "\x00w\x03\b\x00\x00\x1e\x85" + // 0x00770308: 0x00001E85 + "\x00W\x03\a\x00\x00\x1e\x86" + // 0x00570307: 0x00001E86 + "\x00w\x03\a\x00\x00\x1e\x87" + // 0x00770307: 0x00001E87 + "\x00W\x03#\x00\x00\x1e\x88" + // 0x00570323: 0x00001E88 + "\x00w\x03#\x00\x00\x1e\x89" + // 0x00770323: 0x00001E89 + "\x00X\x03\a\x00\x00\x1e\x8a" + // 0x00580307: 0x00001E8A + "\x00x\x03\a\x00\x00\x1e\x8b" + // 0x00780307: 0x00001E8B + "\x00X\x03\b\x00\x00\x1e\x8c" + // 0x00580308: 0x00001E8C + "\x00x\x03\b\x00\x00\x1e\x8d" + // 0x00780308: 0x00001E8D + "\x00Y\x03\a\x00\x00\x1e\x8e" + // 0x00590307: 0x00001E8E + "\x00y\x03\a\x00\x00\x1e\x8f" + // 0x00790307: 0x00001E8F + "\x00Z\x03\x02\x00\x00\x1e\x90" + // 0x005A0302: 0x00001E90 + "\x00z\x03\x02\x00\x00\x1e\x91" + // 0x007A0302: 0x00001E91 + "\x00Z\x03#\x00\x00\x1e\x92" + // 0x005A0323: 0x00001E92 + "\x00z\x03#\x00\x00\x1e\x93" + // 0x007A0323: 0x00001E93 + "\x00Z\x031\x00\x00\x1e\x94" + // 0x005A0331: 0x00001E94 + "\x00z\x031\x00\x00\x1e\x95" + // 0x007A0331: 0x00001E95 + "\x00h\x031\x00\x00\x1e\x96" + // 0x00680331: 0x00001E96 + "\x00t\x03\b\x00\x00\x1e\x97" + // 0x00740308: 0x00001E97 + "\x00w\x03\n\x00\x00\x1e\x98" + // 0x0077030A: 0x00001E98 + "\x00y\x03\n\x00\x00\x1e\x99" + // 0x0079030A: 0x00001E99 + "\x01\u007f\x03\a\x00\x00\x1e\x9b" + // 0x017F0307: 0x00001E9B + "\x00A\x03#\x00\x00\x1e\xa0" + // 0x00410323: 0x00001EA0 + "\x00a\x03#\x00\x00\x1e\xa1" + // 0x00610323: 0x00001EA1 + "\x00A\x03\t\x00\x00\x1e\xa2" + // 0x00410309: 0x00001EA2 + "\x00a\x03\t\x00\x00\x1e\xa3" + // 0x00610309: 0x00001EA3 + "\x00\xc2\x03\x01\x00\x00\x1e\xa4" + // 0x00C20301: 0x00001EA4 + "\x00\xe2\x03\x01\x00\x00\x1e\xa5" + // 0x00E20301: 0x00001EA5 + "\x00\xc2\x03\x00\x00\x00\x1e\xa6" + // 0x00C20300: 0x00001EA6 + "\x00\xe2\x03\x00\x00\x00\x1e\xa7" + // 0x00E20300: 0x00001EA7 + "\x00\xc2\x03\t\x00\x00\x1e\xa8" + // 0x00C20309: 0x00001EA8 + "\x00\xe2\x03\t\x00\x00\x1e\xa9" + // 0x00E20309: 0x00001EA9 + "\x00\xc2\x03\x03\x00\x00\x1e\xaa" + // 0x00C20303: 0x00001EAA + "\x00\xe2\x03\x03\x00\x00\x1e\xab" + // 0x00E20303: 0x00001EAB + "\x1e\xa0\x03\x02\x00\x00\x1e\xac" + // 0x1EA00302: 0x00001EAC + "\x1e\xa1\x03\x02\x00\x00\x1e\xad" + // 0x1EA10302: 0x00001EAD + "\x01\x02\x03\x01\x00\x00\x1e\xae" + // 0x01020301: 0x00001EAE + "\x01\x03\x03\x01\x00\x00\x1e\xaf" + // 0x01030301: 0x00001EAF + "\x01\x02\x03\x00\x00\x00\x1e\xb0" + // 0x01020300: 0x00001EB0 + "\x01\x03\x03\x00\x00\x00\x1e\xb1" + // 0x01030300: 0x00001EB1 + "\x01\x02\x03\t\x00\x00\x1e\xb2" + // 0x01020309: 0x00001EB2 + "\x01\x03\x03\t\x00\x00\x1e\xb3" + // 0x01030309: 0x00001EB3 + "\x01\x02\x03\x03\x00\x00\x1e\xb4" + // 0x01020303: 0x00001EB4 + "\x01\x03\x03\x03\x00\x00\x1e\xb5" + // 0x01030303: 0x00001EB5 + "\x1e\xa0\x03\x06\x00\x00\x1e\xb6" + // 0x1EA00306: 0x00001EB6 + "\x1e\xa1\x03\x06\x00\x00\x1e\xb7" + // 0x1EA10306: 0x00001EB7 + "\x00E\x03#\x00\x00\x1e\xb8" + // 0x00450323: 0x00001EB8 + "\x00e\x03#\x00\x00\x1e\xb9" + // 0x00650323: 0x00001EB9 + "\x00E\x03\t\x00\x00\x1e\xba" + // 0x00450309: 0x00001EBA + "\x00e\x03\t\x00\x00\x1e\xbb" + // 0x00650309: 0x00001EBB + "\x00E\x03\x03\x00\x00\x1e\xbc" + // 0x00450303: 0x00001EBC + "\x00e\x03\x03\x00\x00\x1e\xbd" + // 0x00650303: 0x00001EBD + "\x00\xca\x03\x01\x00\x00\x1e\xbe" + // 0x00CA0301: 0x00001EBE + "\x00\xea\x03\x01\x00\x00\x1e\xbf" + // 0x00EA0301: 0x00001EBF + "\x00\xca\x03\x00\x00\x00\x1e\xc0" + // 0x00CA0300: 0x00001EC0 + "\x00\xea\x03\x00\x00\x00\x1e\xc1" + // 0x00EA0300: 0x00001EC1 + "\x00\xca\x03\t\x00\x00\x1e\xc2" + // 0x00CA0309: 0x00001EC2 + "\x00\xea\x03\t\x00\x00\x1e\xc3" + // 0x00EA0309: 0x00001EC3 + "\x00\xca\x03\x03\x00\x00\x1e\xc4" + // 0x00CA0303: 0x00001EC4 + "\x00\xea\x03\x03\x00\x00\x1e\xc5" + // 0x00EA0303: 0x00001EC5 + "\x1e\xb8\x03\x02\x00\x00\x1e\xc6" + // 0x1EB80302: 0x00001EC6 + "\x1e\xb9\x03\x02\x00\x00\x1e\xc7" + // 0x1EB90302: 0x00001EC7 + "\x00I\x03\t\x00\x00\x1e\xc8" + // 0x00490309: 0x00001EC8 + "\x00i\x03\t\x00\x00\x1e\xc9" + // 0x00690309: 0x00001EC9 + "\x00I\x03#\x00\x00\x1e\xca" + // 0x00490323: 0x00001ECA + "\x00i\x03#\x00\x00\x1e\xcb" + // 0x00690323: 0x00001ECB + "\x00O\x03#\x00\x00\x1e\xcc" + // 0x004F0323: 0x00001ECC + "\x00o\x03#\x00\x00\x1e\xcd" + // 0x006F0323: 0x00001ECD + "\x00O\x03\t\x00\x00\x1e\xce" + // 0x004F0309: 0x00001ECE + "\x00o\x03\t\x00\x00\x1e\xcf" + // 0x006F0309: 0x00001ECF + "\x00\xd4\x03\x01\x00\x00\x1e\xd0" + // 0x00D40301: 0x00001ED0 + "\x00\xf4\x03\x01\x00\x00\x1e\xd1" + // 0x00F40301: 0x00001ED1 + "\x00\xd4\x03\x00\x00\x00\x1e\xd2" + // 0x00D40300: 0x00001ED2 + "\x00\xf4\x03\x00\x00\x00\x1e\xd3" + // 0x00F40300: 0x00001ED3 + "\x00\xd4\x03\t\x00\x00\x1e\xd4" + // 0x00D40309: 0x00001ED4 + "\x00\xf4\x03\t\x00\x00\x1e\xd5" + // 0x00F40309: 0x00001ED5 + "\x00\xd4\x03\x03\x00\x00\x1e\xd6" + // 0x00D40303: 0x00001ED6 + "\x00\xf4\x03\x03\x00\x00\x1e\xd7" + // 0x00F40303: 0x00001ED7 + "\x1e\xcc\x03\x02\x00\x00\x1e\xd8" + // 0x1ECC0302: 0x00001ED8 + "\x1e\xcd\x03\x02\x00\x00\x1e\xd9" + // 0x1ECD0302: 0x00001ED9 + "\x01\xa0\x03\x01\x00\x00\x1e\xda" + // 0x01A00301: 0x00001EDA + "\x01\xa1\x03\x01\x00\x00\x1e\xdb" + // 0x01A10301: 0x00001EDB + "\x01\xa0\x03\x00\x00\x00\x1e\xdc" + // 0x01A00300: 0x00001EDC + "\x01\xa1\x03\x00\x00\x00\x1e\xdd" + // 0x01A10300: 0x00001EDD + "\x01\xa0\x03\t\x00\x00\x1e\xde" + // 0x01A00309: 0x00001EDE + "\x01\xa1\x03\t\x00\x00\x1e\xdf" + // 0x01A10309: 0x00001EDF + "\x01\xa0\x03\x03\x00\x00\x1e\xe0" + // 0x01A00303: 0x00001EE0 + "\x01\xa1\x03\x03\x00\x00\x1e\xe1" + // 0x01A10303: 0x00001EE1 + "\x01\xa0\x03#\x00\x00\x1e\xe2" + // 0x01A00323: 0x00001EE2 + "\x01\xa1\x03#\x00\x00\x1e\xe3" + // 0x01A10323: 0x00001EE3 + "\x00U\x03#\x00\x00\x1e\xe4" + // 0x00550323: 0x00001EE4 + "\x00u\x03#\x00\x00\x1e\xe5" + // 0x00750323: 0x00001EE5 + "\x00U\x03\t\x00\x00\x1e\xe6" + // 0x00550309: 0x00001EE6 + "\x00u\x03\t\x00\x00\x1e\xe7" + // 0x00750309: 0x00001EE7 + "\x01\xaf\x03\x01\x00\x00\x1e\xe8" + // 0x01AF0301: 0x00001EE8 + "\x01\xb0\x03\x01\x00\x00\x1e\xe9" + // 0x01B00301: 0x00001EE9 + "\x01\xaf\x03\x00\x00\x00\x1e\xea" + // 0x01AF0300: 0x00001EEA + "\x01\xb0\x03\x00\x00\x00\x1e\xeb" + // 0x01B00300: 0x00001EEB + "\x01\xaf\x03\t\x00\x00\x1e\xec" + // 0x01AF0309: 0x00001EEC + "\x01\xb0\x03\t\x00\x00\x1e\xed" + // 0x01B00309: 0x00001EED + "\x01\xaf\x03\x03\x00\x00\x1e\xee" + // 0x01AF0303: 0x00001EEE + "\x01\xb0\x03\x03\x00\x00\x1e\xef" + // 0x01B00303: 0x00001EEF + "\x01\xaf\x03#\x00\x00\x1e\xf0" + // 0x01AF0323: 0x00001EF0 + "\x01\xb0\x03#\x00\x00\x1e\xf1" + // 0x01B00323: 0x00001EF1 + "\x00Y\x03\x00\x00\x00\x1e\xf2" + // 0x00590300: 0x00001EF2 + "\x00y\x03\x00\x00\x00\x1e\xf3" + // 0x00790300: 0x00001EF3 + "\x00Y\x03#\x00\x00\x1e\xf4" + // 0x00590323: 0x00001EF4 + "\x00y\x03#\x00\x00\x1e\xf5" + // 0x00790323: 0x00001EF5 + "\x00Y\x03\t\x00\x00\x1e\xf6" + // 0x00590309: 0x00001EF6 + "\x00y\x03\t\x00\x00\x1e\xf7" + // 0x00790309: 0x00001EF7 + "\x00Y\x03\x03\x00\x00\x1e\xf8" + // 0x00590303: 0x00001EF8 + "\x00y\x03\x03\x00\x00\x1e\xf9" + // 0x00790303: 0x00001EF9 + "\x03\xb1\x03\x13\x00\x00\x1f\x00" + // 0x03B10313: 0x00001F00 + "\x03\xb1\x03\x14\x00\x00\x1f\x01" + // 0x03B10314: 0x00001F01 + "\x1f\x00\x03\x00\x00\x00\x1f\x02" + // 0x1F000300: 0x00001F02 + "\x1f\x01\x03\x00\x00\x00\x1f\x03" + // 0x1F010300: 0x00001F03 + "\x1f\x00\x03\x01\x00\x00\x1f\x04" + // 0x1F000301: 0x00001F04 + "\x1f\x01\x03\x01\x00\x00\x1f\x05" + // 0x1F010301: 0x00001F05 + "\x1f\x00\x03B\x00\x00\x1f\x06" + // 0x1F000342: 0x00001F06 + "\x1f\x01\x03B\x00\x00\x1f\a" + // 0x1F010342: 0x00001F07 + "\x03\x91\x03\x13\x00\x00\x1f\b" + // 0x03910313: 0x00001F08 + "\x03\x91\x03\x14\x00\x00\x1f\t" + // 0x03910314: 0x00001F09 + "\x1f\b\x03\x00\x00\x00\x1f\n" + // 0x1F080300: 0x00001F0A + "\x1f\t\x03\x00\x00\x00\x1f\v" + // 0x1F090300: 0x00001F0B + "\x1f\b\x03\x01\x00\x00\x1f\f" + // 0x1F080301: 0x00001F0C + "\x1f\t\x03\x01\x00\x00\x1f\r" + // 0x1F090301: 0x00001F0D + "\x1f\b\x03B\x00\x00\x1f\x0e" + // 0x1F080342: 0x00001F0E + "\x1f\t\x03B\x00\x00\x1f\x0f" + // 0x1F090342: 0x00001F0F + "\x03\xb5\x03\x13\x00\x00\x1f\x10" + // 0x03B50313: 0x00001F10 + "\x03\xb5\x03\x14\x00\x00\x1f\x11" + // 0x03B50314: 0x00001F11 + "\x1f\x10\x03\x00\x00\x00\x1f\x12" + // 0x1F100300: 0x00001F12 + "\x1f\x11\x03\x00\x00\x00\x1f\x13" + // 0x1F110300: 0x00001F13 + "\x1f\x10\x03\x01\x00\x00\x1f\x14" + // 0x1F100301: 0x00001F14 + "\x1f\x11\x03\x01\x00\x00\x1f\x15" + // 0x1F110301: 0x00001F15 + "\x03\x95\x03\x13\x00\x00\x1f\x18" + // 0x03950313: 0x00001F18 + "\x03\x95\x03\x14\x00\x00\x1f\x19" + // 0x03950314: 0x00001F19 + "\x1f\x18\x03\x00\x00\x00\x1f\x1a" + // 0x1F180300: 0x00001F1A + "\x1f\x19\x03\x00\x00\x00\x1f\x1b" + // 0x1F190300: 0x00001F1B + "\x1f\x18\x03\x01\x00\x00\x1f\x1c" + // 0x1F180301: 0x00001F1C + "\x1f\x19\x03\x01\x00\x00\x1f\x1d" + // 0x1F190301: 0x00001F1D + "\x03\xb7\x03\x13\x00\x00\x1f " + // 0x03B70313: 0x00001F20 + "\x03\xb7\x03\x14\x00\x00\x1f!" + // 0x03B70314: 0x00001F21 + "\x1f \x03\x00\x00\x00\x1f\"" + // 0x1F200300: 0x00001F22 + "\x1f!\x03\x00\x00\x00\x1f#" + // 0x1F210300: 0x00001F23 + "\x1f \x03\x01\x00\x00\x1f$" + // 0x1F200301: 0x00001F24 + "\x1f!\x03\x01\x00\x00\x1f%" + // 0x1F210301: 0x00001F25 + "\x1f \x03B\x00\x00\x1f&" + // 0x1F200342: 0x00001F26 + "\x1f!\x03B\x00\x00\x1f'" + // 0x1F210342: 0x00001F27 + "\x03\x97\x03\x13\x00\x00\x1f(" + // 0x03970313: 0x00001F28 + "\x03\x97\x03\x14\x00\x00\x1f)" + // 0x03970314: 0x00001F29 + "\x1f(\x03\x00\x00\x00\x1f*" + // 0x1F280300: 0x00001F2A + "\x1f)\x03\x00\x00\x00\x1f+" + // 0x1F290300: 0x00001F2B + "\x1f(\x03\x01\x00\x00\x1f," + // 0x1F280301: 0x00001F2C + "\x1f)\x03\x01\x00\x00\x1f-" + // 0x1F290301: 0x00001F2D + "\x1f(\x03B\x00\x00\x1f." + // 0x1F280342: 0x00001F2E + "\x1f)\x03B\x00\x00\x1f/" + // 0x1F290342: 0x00001F2F + "\x03\xb9\x03\x13\x00\x00\x1f0" + // 0x03B90313: 0x00001F30 + "\x03\xb9\x03\x14\x00\x00\x1f1" + // 0x03B90314: 0x00001F31 + "\x1f0\x03\x00\x00\x00\x1f2" + // 0x1F300300: 0x00001F32 + "\x1f1\x03\x00\x00\x00\x1f3" + // 0x1F310300: 0x00001F33 + "\x1f0\x03\x01\x00\x00\x1f4" + // 0x1F300301: 0x00001F34 + "\x1f1\x03\x01\x00\x00\x1f5" + // 0x1F310301: 0x00001F35 + "\x1f0\x03B\x00\x00\x1f6" + // 0x1F300342: 0x00001F36 + "\x1f1\x03B\x00\x00\x1f7" + // 0x1F310342: 0x00001F37 + "\x03\x99\x03\x13\x00\x00\x1f8" + // 0x03990313: 0x00001F38 + "\x03\x99\x03\x14\x00\x00\x1f9" + // 0x03990314: 0x00001F39 + "\x1f8\x03\x00\x00\x00\x1f:" + // 0x1F380300: 0x00001F3A + "\x1f9\x03\x00\x00\x00\x1f;" + // 0x1F390300: 0x00001F3B + "\x1f8\x03\x01\x00\x00\x1f<" + // 0x1F380301: 0x00001F3C + "\x1f9\x03\x01\x00\x00\x1f=" + // 0x1F390301: 0x00001F3D + "\x1f8\x03B\x00\x00\x1f>" + // 0x1F380342: 0x00001F3E + "\x1f9\x03B\x00\x00\x1f?" + // 0x1F390342: 0x00001F3F + "\x03\xbf\x03\x13\x00\x00\x1f@" + // 0x03BF0313: 0x00001F40 + "\x03\xbf\x03\x14\x00\x00\x1fA" + // 0x03BF0314: 0x00001F41 + "\x1f@\x03\x00\x00\x00\x1fB" + // 0x1F400300: 0x00001F42 + "\x1fA\x03\x00\x00\x00\x1fC" + // 0x1F410300: 0x00001F43 + "\x1f@\x03\x01\x00\x00\x1fD" + // 0x1F400301: 0x00001F44 + "\x1fA\x03\x01\x00\x00\x1fE" + // 0x1F410301: 0x00001F45 + "\x03\x9f\x03\x13\x00\x00\x1fH" + // 0x039F0313: 0x00001F48 + "\x03\x9f\x03\x14\x00\x00\x1fI" + // 0x039F0314: 0x00001F49 + "\x1fH\x03\x00\x00\x00\x1fJ" + // 0x1F480300: 0x00001F4A + "\x1fI\x03\x00\x00\x00\x1fK" + // 0x1F490300: 0x00001F4B + "\x1fH\x03\x01\x00\x00\x1fL" + // 0x1F480301: 0x00001F4C + "\x1fI\x03\x01\x00\x00\x1fM" + // 0x1F490301: 0x00001F4D + "\x03\xc5\x03\x13\x00\x00\x1fP" + // 0x03C50313: 0x00001F50 + "\x03\xc5\x03\x14\x00\x00\x1fQ" + // 0x03C50314: 0x00001F51 + "\x1fP\x03\x00\x00\x00\x1fR" + // 0x1F500300: 0x00001F52 + "\x1fQ\x03\x00\x00\x00\x1fS" + // 0x1F510300: 0x00001F53 + "\x1fP\x03\x01\x00\x00\x1fT" + // 0x1F500301: 0x00001F54 + "\x1fQ\x03\x01\x00\x00\x1fU" + // 0x1F510301: 0x00001F55 + "\x1fP\x03B\x00\x00\x1fV" + // 0x1F500342: 0x00001F56 + "\x1fQ\x03B\x00\x00\x1fW" + // 0x1F510342: 0x00001F57 + "\x03\xa5\x03\x14\x00\x00\x1fY" + // 0x03A50314: 0x00001F59 + "\x1fY\x03\x00\x00\x00\x1f[" + // 0x1F590300: 0x00001F5B + "\x1fY\x03\x01\x00\x00\x1f]" + // 0x1F590301: 0x00001F5D + "\x1fY\x03B\x00\x00\x1f_" + // 0x1F590342: 0x00001F5F + "\x03\xc9\x03\x13\x00\x00\x1f`" + // 0x03C90313: 0x00001F60 + "\x03\xc9\x03\x14\x00\x00\x1fa" + // 0x03C90314: 0x00001F61 + "\x1f`\x03\x00\x00\x00\x1fb" + // 0x1F600300: 0x00001F62 + "\x1fa\x03\x00\x00\x00\x1fc" + // 0x1F610300: 0x00001F63 + "\x1f`\x03\x01\x00\x00\x1fd" + // 0x1F600301: 0x00001F64 + "\x1fa\x03\x01\x00\x00\x1fe" + // 0x1F610301: 0x00001F65 + "\x1f`\x03B\x00\x00\x1ff" + // 0x1F600342: 0x00001F66 + "\x1fa\x03B\x00\x00\x1fg" + // 0x1F610342: 0x00001F67 + "\x03\xa9\x03\x13\x00\x00\x1fh" + // 0x03A90313: 0x00001F68 + "\x03\xa9\x03\x14\x00\x00\x1fi" + // 0x03A90314: 0x00001F69 + "\x1fh\x03\x00\x00\x00\x1fj" + // 0x1F680300: 0x00001F6A + "\x1fi\x03\x00\x00\x00\x1fk" + // 0x1F690300: 0x00001F6B + "\x1fh\x03\x01\x00\x00\x1fl" + // 0x1F680301: 0x00001F6C + "\x1fi\x03\x01\x00\x00\x1fm" + // 0x1F690301: 0x00001F6D + "\x1fh\x03B\x00\x00\x1fn" + // 0x1F680342: 0x00001F6E + "\x1fi\x03B\x00\x00\x1fo" + // 0x1F690342: 0x00001F6F + "\x03\xb1\x03\x00\x00\x00\x1fp" + // 0x03B10300: 0x00001F70 + "\x03\xb5\x03\x00\x00\x00\x1fr" + // 0x03B50300: 0x00001F72 + "\x03\xb7\x03\x00\x00\x00\x1ft" + // 0x03B70300: 0x00001F74 + "\x03\xb9\x03\x00\x00\x00\x1fv" + // 0x03B90300: 0x00001F76 + "\x03\xbf\x03\x00\x00\x00\x1fx" + // 0x03BF0300: 0x00001F78 + "\x03\xc5\x03\x00\x00\x00\x1fz" + // 0x03C50300: 0x00001F7A + "\x03\xc9\x03\x00\x00\x00\x1f|" + // 0x03C90300: 0x00001F7C + "\x1f\x00\x03E\x00\x00\x1f\x80" + // 0x1F000345: 0x00001F80 + "\x1f\x01\x03E\x00\x00\x1f\x81" + // 0x1F010345: 0x00001F81 + "\x1f\x02\x03E\x00\x00\x1f\x82" + // 0x1F020345: 0x00001F82 + "\x1f\x03\x03E\x00\x00\x1f\x83" + // 0x1F030345: 0x00001F83 + "\x1f\x04\x03E\x00\x00\x1f\x84" + // 0x1F040345: 0x00001F84 + "\x1f\x05\x03E\x00\x00\x1f\x85" + // 0x1F050345: 0x00001F85 + "\x1f\x06\x03E\x00\x00\x1f\x86" + // 0x1F060345: 0x00001F86 + "\x1f\a\x03E\x00\x00\x1f\x87" + // 0x1F070345: 0x00001F87 + "\x1f\b\x03E\x00\x00\x1f\x88" + // 0x1F080345: 0x00001F88 + "\x1f\t\x03E\x00\x00\x1f\x89" + // 0x1F090345: 0x00001F89 + "\x1f\n\x03E\x00\x00\x1f\x8a" + // 0x1F0A0345: 0x00001F8A + "\x1f\v\x03E\x00\x00\x1f\x8b" + // 0x1F0B0345: 0x00001F8B + "\x1f\f\x03E\x00\x00\x1f\x8c" + // 0x1F0C0345: 0x00001F8C + "\x1f\r\x03E\x00\x00\x1f\x8d" + // 0x1F0D0345: 0x00001F8D + "\x1f\x0e\x03E\x00\x00\x1f\x8e" + // 0x1F0E0345: 0x00001F8E + "\x1f\x0f\x03E\x00\x00\x1f\x8f" + // 0x1F0F0345: 0x00001F8F + "\x1f \x03E\x00\x00\x1f\x90" + // 0x1F200345: 0x00001F90 + "\x1f!\x03E\x00\x00\x1f\x91" + // 0x1F210345: 0x00001F91 + "\x1f\"\x03E\x00\x00\x1f\x92" + // 0x1F220345: 0x00001F92 + "\x1f#\x03E\x00\x00\x1f\x93" + // 0x1F230345: 0x00001F93 + "\x1f$\x03E\x00\x00\x1f\x94" + // 0x1F240345: 0x00001F94 + "\x1f%\x03E\x00\x00\x1f\x95" + // 0x1F250345: 0x00001F95 + "\x1f&\x03E\x00\x00\x1f\x96" + // 0x1F260345: 0x00001F96 + "\x1f'\x03E\x00\x00\x1f\x97" + // 0x1F270345: 0x00001F97 + "\x1f(\x03E\x00\x00\x1f\x98" + // 0x1F280345: 0x00001F98 + "\x1f)\x03E\x00\x00\x1f\x99" + // 0x1F290345: 0x00001F99 + "\x1f*\x03E\x00\x00\x1f\x9a" + // 0x1F2A0345: 0x00001F9A + "\x1f+\x03E\x00\x00\x1f\x9b" + // 0x1F2B0345: 0x00001F9B + "\x1f,\x03E\x00\x00\x1f\x9c" + // 0x1F2C0345: 0x00001F9C + "\x1f-\x03E\x00\x00\x1f\x9d" + // 0x1F2D0345: 0x00001F9D + "\x1f.\x03E\x00\x00\x1f\x9e" + // 0x1F2E0345: 0x00001F9E + "\x1f/\x03E\x00\x00\x1f\x9f" + // 0x1F2F0345: 0x00001F9F + "\x1f`\x03E\x00\x00\x1f\xa0" + // 0x1F600345: 0x00001FA0 + "\x1fa\x03E\x00\x00\x1f\xa1" + // 0x1F610345: 0x00001FA1 + "\x1fb\x03E\x00\x00\x1f\xa2" + // 0x1F620345: 0x00001FA2 + "\x1fc\x03E\x00\x00\x1f\xa3" + // 0x1F630345: 0x00001FA3 + "\x1fd\x03E\x00\x00\x1f\xa4" + // 0x1F640345: 0x00001FA4 + "\x1fe\x03E\x00\x00\x1f\xa5" + // 0x1F650345: 0x00001FA5 + "\x1ff\x03E\x00\x00\x1f\xa6" + // 0x1F660345: 0x00001FA6 + "\x1fg\x03E\x00\x00\x1f\xa7" + // 0x1F670345: 0x00001FA7 + "\x1fh\x03E\x00\x00\x1f\xa8" + // 0x1F680345: 0x00001FA8 + "\x1fi\x03E\x00\x00\x1f\xa9" + // 0x1F690345: 0x00001FA9 + "\x1fj\x03E\x00\x00\x1f\xaa" + // 0x1F6A0345: 0x00001FAA + "\x1fk\x03E\x00\x00\x1f\xab" + // 0x1F6B0345: 0x00001FAB + "\x1fl\x03E\x00\x00\x1f\xac" + // 0x1F6C0345: 0x00001FAC + "\x1fm\x03E\x00\x00\x1f\xad" + // 0x1F6D0345: 0x00001FAD + "\x1fn\x03E\x00\x00\x1f\xae" + // 0x1F6E0345: 0x00001FAE + "\x1fo\x03E\x00\x00\x1f\xaf" + // 0x1F6F0345: 0x00001FAF + "\x03\xb1\x03\x06\x00\x00\x1f\xb0" + // 0x03B10306: 0x00001FB0 + "\x03\xb1\x03\x04\x00\x00\x1f\xb1" + // 0x03B10304: 0x00001FB1 + "\x1fp\x03E\x00\x00\x1f\xb2" + // 0x1F700345: 0x00001FB2 + "\x03\xb1\x03E\x00\x00\x1f\xb3" + // 0x03B10345: 0x00001FB3 + "\x03\xac\x03E\x00\x00\x1f\xb4" + // 0x03AC0345: 0x00001FB4 + "\x03\xb1\x03B\x00\x00\x1f\xb6" + // 0x03B10342: 0x00001FB6 + "\x1f\xb6\x03E\x00\x00\x1f\xb7" + // 0x1FB60345: 0x00001FB7 + "\x03\x91\x03\x06\x00\x00\x1f\xb8" + // 0x03910306: 0x00001FB8 + "\x03\x91\x03\x04\x00\x00\x1f\xb9" + // 0x03910304: 0x00001FB9 + "\x03\x91\x03\x00\x00\x00\x1f\xba" + // 0x03910300: 0x00001FBA + "\x03\x91\x03E\x00\x00\x1f\xbc" + // 0x03910345: 0x00001FBC + "\x00\xa8\x03B\x00\x00\x1f\xc1" + // 0x00A80342: 0x00001FC1 + "\x1ft\x03E\x00\x00\x1f\xc2" + // 0x1F740345: 0x00001FC2 + "\x03\xb7\x03E\x00\x00\x1f\xc3" + // 0x03B70345: 0x00001FC3 + "\x03\xae\x03E\x00\x00\x1f\xc4" + // 0x03AE0345: 0x00001FC4 + "\x03\xb7\x03B\x00\x00\x1f\xc6" + // 0x03B70342: 0x00001FC6 + "\x1f\xc6\x03E\x00\x00\x1f\xc7" + // 0x1FC60345: 0x00001FC7 + "\x03\x95\x03\x00\x00\x00\x1f\xc8" + // 0x03950300: 0x00001FC8 + "\x03\x97\x03\x00\x00\x00\x1f\xca" + // 0x03970300: 0x00001FCA + "\x03\x97\x03E\x00\x00\x1f\xcc" + // 0x03970345: 0x00001FCC + "\x1f\xbf\x03\x00\x00\x00\x1f\xcd" + // 0x1FBF0300: 0x00001FCD + "\x1f\xbf\x03\x01\x00\x00\x1f\xce" + // 0x1FBF0301: 0x00001FCE + "\x1f\xbf\x03B\x00\x00\x1f\xcf" + // 0x1FBF0342: 0x00001FCF + "\x03\xb9\x03\x06\x00\x00\x1f\xd0" + // 0x03B90306: 0x00001FD0 + "\x03\xb9\x03\x04\x00\x00\x1f\xd1" + // 0x03B90304: 0x00001FD1 + "\x03\xca\x03\x00\x00\x00\x1f\xd2" + // 0x03CA0300: 0x00001FD2 + "\x03\xb9\x03B\x00\x00\x1f\xd6" + // 0x03B90342: 0x00001FD6 + "\x03\xca\x03B\x00\x00\x1f\xd7" + // 0x03CA0342: 0x00001FD7 + "\x03\x99\x03\x06\x00\x00\x1f\xd8" + // 0x03990306: 0x00001FD8 + "\x03\x99\x03\x04\x00\x00\x1f\xd9" + // 0x03990304: 0x00001FD9 + "\x03\x99\x03\x00\x00\x00\x1f\xda" + // 0x03990300: 0x00001FDA + "\x1f\xfe\x03\x00\x00\x00\x1f\xdd" + // 0x1FFE0300: 0x00001FDD + "\x1f\xfe\x03\x01\x00\x00\x1f\xde" + // 0x1FFE0301: 0x00001FDE + "\x1f\xfe\x03B\x00\x00\x1f\xdf" + // 0x1FFE0342: 0x00001FDF + "\x03\xc5\x03\x06\x00\x00\x1f\xe0" + // 0x03C50306: 0x00001FE0 + "\x03\xc5\x03\x04\x00\x00\x1f\xe1" + // 0x03C50304: 0x00001FE1 + "\x03\xcb\x03\x00\x00\x00\x1f\xe2" + // 0x03CB0300: 0x00001FE2 + "\x03\xc1\x03\x13\x00\x00\x1f\xe4" + // 0x03C10313: 0x00001FE4 + "\x03\xc1\x03\x14\x00\x00\x1f\xe5" + // 0x03C10314: 0x00001FE5 + "\x03\xc5\x03B\x00\x00\x1f\xe6" + // 0x03C50342: 0x00001FE6 + "\x03\xcb\x03B\x00\x00\x1f\xe7" + // 0x03CB0342: 0x00001FE7 + "\x03\xa5\x03\x06\x00\x00\x1f\xe8" + // 0x03A50306: 0x00001FE8 + "\x03\xa5\x03\x04\x00\x00\x1f\xe9" + // 0x03A50304: 0x00001FE9 + "\x03\xa5\x03\x00\x00\x00\x1f\xea" + // 0x03A50300: 0x00001FEA + "\x03\xa1\x03\x14\x00\x00\x1f\xec" + // 0x03A10314: 0x00001FEC + "\x00\xa8\x03\x00\x00\x00\x1f\xed" + // 0x00A80300: 0x00001FED + "\x1f|\x03E\x00\x00\x1f\xf2" + // 0x1F7C0345: 0x00001FF2 + "\x03\xc9\x03E\x00\x00\x1f\xf3" + // 0x03C90345: 0x00001FF3 + "\x03\xce\x03E\x00\x00\x1f\xf4" + // 0x03CE0345: 0x00001FF4 + "\x03\xc9\x03B\x00\x00\x1f\xf6" + // 0x03C90342: 0x00001FF6 + "\x1f\xf6\x03E\x00\x00\x1f\xf7" + // 0x1FF60345: 0x00001FF7 + "\x03\x9f\x03\x00\x00\x00\x1f\xf8" + // 0x039F0300: 0x00001FF8 + "\x03\xa9\x03\x00\x00\x00\x1f\xfa" + // 0x03A90300: 0x00001FFA + "\x03\xa9\x03E\x00\x00\x1f\xfc" + // 0x03A90345: 0x00001FFC + "!\x90\x038\x00\x00!\x9a" + // 0x21900338: 0x0000219A + "!\x92\x038\x00\x00!\x9b" + // 0x21920338: 0x0000219B + "!\x94\x038\x00\x00!\xae" + // 0x21940338: 0x000021AE + "!\xd0\x038\x00\x00!\xcd" + // 0x21D00338: 0x000021CD + "!\xd4\x038\x00\x00!\xce" + // 0x21D40338: 0x000021CE + "!\xd2\x038\x00\x00!\xcf" + // 0x21D20338: 0x000021CF + "\"\x03\x038\x00\x00\"\x04" + // 0x22030338: 0x00002204 + "\"\b\x038\x00\x00\"\t" + // 0x22080338: 0x00002209 + "\"\v\x038\x00\x00\"\f" + // 0x220B0338: 0x0000220C + "\"#\x038\x00\x00\"$" + // 0x22230338: 0x00002224 + "\"%\x038\x00\x00\"&" + // 0x22250338: 0x00002226 + "\"<\x038\x00\x00\"A" + // 0x223C0338: 0x00002241 + "\"C\x038\x00\x00\"D" + // 0x22430338: 0x00002244 + "\"E\x038\x00\x00\"G" + // 0x22450338: 0x00002247 + "\"H\x038\x00\x00\"I" + // 0x22480338: 0x00002249 + "\x00=\x038\x00\x00\"`" + // 0x003D0338: 0x00002260 + "\"a\x038\x00\x00\"b" + // 0x22610338: 0x00002262 + "\"M\x038\x00\x00\"m" + // 0x224D0338: 0x0000226D + "\x00<\x038\x00\x00\"n" + // 0x003C0338: 0x0000226E + "\x00>\x038\x00\x00\"o" + // 0x003E0338: 0x0000226F + "\"d\x038\x00\x00\"p" + // 0x22640338: 0x00002270 + "\"e\x038\x00\x00\"q" + // 0x22650338: 0x00002271 + "\"r\x038\x00\x00\"t" + // 0x22720338: 0x00002274 + "\"s\x038\x00\x00\"u" + // 0x22730338: 0x00002275 + "\"v\x038\x00\x00\"x" + // 0x22760338: 0x00002278 + "\"w\x038\x00\x00\"y" + // 0x22770338: 0x00002279 + "\"z\x038\x00\x00\"\x80" + // 0x227A0338: 0x00002280 + "\"{\x038\x00\x00\"\x81" + // 0x227B0338: 0x00002281 + "\"\x82\x038\x00\x00\"\x84" + // 0x22820338: 0x00002284 + "\"\x83\x038\x00\x00\"\x85" + // 0x22830338: 0x00002285 + "\"\x86\x038\x00\x00\"\x88" + // 0x22860338: 0x00002288 + "\"\x87\x038\x00\x00\"\x89" + // 0x22870338: 0x00002289 + "\"\xa2\x038\x00\x00\"\xac" + // 0x22A20338: 0x000022AC + "\"\xa8\x038\x00\x00\"\xad" + // 0x22A80338: 0x000022AD + "\"\xa9\x038\x00\x00\"\xae" + // 0x22A90338: 0x000022AE + "\"\xab\x038\x00\x00\"\xaf" + // 0x22AB0338: 0x000022AF + "\"|\x038\x00\x00\"\xe0" + // 0x227C0338: 0x000022E0 + "\"}\x038\x00\x00\"\xe1" + // 0x227D0338: 0x000022E1 + "\"\x91\x038\x00\x00\"\xe2" + // 0x22910338: 0x000022E2 + "\"\x92\x038\x00\x00\"\xe3" + // 0x22920338: 0x000022E3 + "\"\xb2\x038\x00\x00\"\xea" + // 0x22B20338: 0x000022EA + "\"\xb3\x038\x00\x00\"\xeb" + // 0x22B30338: 0x000022EB + "\"\xb4\x038\x00\x00\"\xec" + // 0x22B40338: 0x000022EC + "\"\xb5\x038\x00\x00\"\xed" + // 0x22B50338: 0x000022ED + "0K0\x99\x00\x000L" + // 0x304B3099: 0x0000304C + "0M0\x99\x00\x000N" + // 0x304D3099: 0x0000304E + "0O0\x99\x00\x000P" + // 0x304F3099: 0x00003050 + "0Q0\x99\x00\x000R" + // 0x30513099: 0x00003052 + "0S0\x99\x00\x000T" + // 0x30533099: 0x00003054 + "0U0\x99\x00\x000V" + // 0x30553099: 0x00003056 + "0W0\x99\x00\x000X" + // 0x30573099: 0x00003058 + "0Y0\x99\x00\x000Z" + // 0x30593099: 0x0000305A + "0[0\x99\x00\x000\\" + // 0x305B3099: 0x0000305C + "0]0\x99\x00\x000^" + // 0x305D3099: 0x0000305E + "0_0\x99\x00\x000`" + // 0x305F3099: 0x00003060 + "0a0\x99\x00\x000b" + // 0x30613099: 0x00003062 + "0d0\x99\x00\x000e" + // 0x30643099: 0x00003065 + "0f0\x99\x00\x000g" + // 0x30663099: 0x00003067 + "0h0\x99\x00\x000i" + // 0x30683099: 0x00003069 + "0o0\x99\x00\x000p" + // 0x306F3099: 0x00003070 + "0o0\x9a\x00\x000q" + // 0x306F309A: 0x00003071 + "0r0\x99\x00\x000s" + // 0x30723099: 0x00003073 + "0r0\x9a\x00\x000t" + // 0x3072309A: 0x00003074 + "0u0\x99\x00\x000v" + // 0x30753099: 0x00003076 + "0u0\x9a\x00\x000w" + // 0x3075309A: 0x00003077 + "0x0\x99\x00\x000y" + // 0x30783099: 0x00003079 + "0x0\x9a\x00\x000z" + // 0x3078309A: 0x0000307A + "0{0\x99\x00\x000|" + // 0x307B3099: 0x0000307C + "0{0\x9a\x00\x000}" + // 0x307B309A: 0x0000307D + "0F0\x99\x00\x000\x94" + // 0x30463099: 0x00003094 + "0\x9d0\x99\x00\x000\x9e" + // 0x309D3099: 0x0000309E + "0\xab0\x99\x00\x000\xac" + // 0x30AB3099: 0x000030AC + "0\xad0\x99\x00\x000\xae" + // 0x30AD3099: 0x000030AE + "0\xaf0\x99\x00\x000\xb0" + // 0x30AF3099: 0x000030B0 + "0\xb10\x99\x00\x000\xb2" + // 0x30B13099: 0x000030B2 + "0\xb30\x99\x00\x000\xb4" + // 0x30B33099: 0x000030B4 + "0\xb50\x99\x00\x000\xb6" + // 0x30B53099: 0x000030B6 + "0\xb70\x99\x00\x000\xb8" + // 0x30B73099: 0x000030B8 + "0\xb90\x99\x00\x000\xba" + // 0x30B93099: 0x000030BA + "0\xbb0\x99\x00\x000\xbc" + // 0x30BB3099: 0x000030BC + "0\xbd0\x99\x00\x000\xbe" + // 0x30BD3099: 0x000030BE + "0\xbf0\x99\x00\x000\xc0" + // 0x30BF3099: 0x000030C0 + "0\xc10\x99\x00\x000\xc2" + // 0x30C13099: 0x000030C2 + "0\xc40\x99\x00\x000\xc5" + // 0x30C43099: 0x000030C5 + "0\xc60\x99\x00\x000\xc7" + // 0x30C63099: 0x000030C7 + "0\xc80\x99\x00\x000\xc9" + // 0x30C83099: 0x000030C9 + "0\xcf0\x99\x00\x000\xd0" + // 0x30CF3099: 0x000030D0 + "0\xcf0\x9a\x00\x000\xd1" + // 0x30CF309A: 0x000030D1 + "0\xd20\x99\x00\x000\xd3" + // 0x30D23099: 0x000030D3 + "0\xd20\x9a\x00\x000\xd4" + // 0x30D2309A: 0x000030D4 + "0\xd50\x99\x00\x000\xd6" + // 0x30D53099: 0x000030D6 + "0\xd50\x9a\x00\x000\xd7" + // 0x30D5309A: 0x000030D7 + "0\xd80\x99\x00\x000\xd9" + // 0x30D83099: 0x000030D9 + "0\xd80\x9a\x00\x000\xda" + // 0x30D8309A: 0x000030DA + "0\xdb0\x99\x00\x000\xdc" + // 0x30DB3099: 0x000030DC + "0\xdb0\x9a\x00\x000\xdd" + // 0x30DB309A: 0x000030DD + "0\xa60\x99\x00\x000\xf4" + // 0x30A63099: 0x000030F4 + "0\xef0\x99\x00\x000\xf7" + // 0x30EF3099: 0x000030F7 + "0\xf00\x99\x00\x000\xf8" + // 0x30F03099: 0x000030F8 + "0\xf10\x99\x00\x000\xf9" + // 0x30F13099: 0x000030F9 + "0\xf20\x99\x00\x000\xfa" + // 0x30F23099: 0x000030FA + "0\xfd0\x99\x00\x000\xfe" + // 0x30FD3099: 0x000030FE + "\x10\x99\x10\xba\x00\x01\x10\x9a" + // 0x109910BA: 0x0001109A + "\x10\x9b\x10\xba\x00\x01\x10\x9c" + // 0x109B10BA: 0x0001109C + "\x10\xa5\x10\xba\x00\x01\x10\xab" + // 0x10A510BA: 0x000110AB + "\x111\x11'\x00\x01\x11." + // 0x11311127: 0x0001112E + "\x112\x11'\x00\x01\x11/" + // 0x11321127: 0x0001112F + "\x13G\x13>\x00\x01\x13K" + // 0x1347133E: 0x0001134B + "\x13G\x13W\x00\x01\x13L" + // 0x13471357: 0x0001134C + "\x14\xb9\x14\xba\x00\x01\x14\xbb" + // 0x14B914BA: 0x000114BB + "\x14\xb9\x14\xb0\x00\x01\x14\xbc" + // 0x14B914B0: 0x000114BC + "\x14\xb9\x14\xbd\x00\x01\x14\xbe" + // 0x14B914BD: 0x000114BE + "\x15\xb8\x15\xaf\x00\x01\x15\xba" + // 0x15B815AF: 0x000115BA + "\x15\xb9\x15\xaf\x00\x01\x15\xbb" + // 0x15B915AF: 0x000115BB + "" + // Total size of tables: 53KB (54006 bytes) diff --git a/vendor/golang.org/x/text/unicode/norm/transform.go b/vendor/golang.org/x/text/unicode/norm/transform.go index 9f47efba..a1d366ae 100644 --- a/vendor/golang.org/x/text/unicode/norm/transform.go +++ b/vendor/golang.org/x/text/unicode/norm/transform.go @@ -18,7 +18,6 @@ func (Form) Reset() {} // Users should either catch ErrShortDst and allow dst to grow or have dst be at // least of size MaxTransformChunkSize to be guaranteed of progress. func (f Form) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { - n := 0 // Cap the maximum number of src bytes to check. b := src eof := atEOF @@ -27,13 +26,14 @@ func (f Form) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) eof = false b = b[:ns] } - i, ok := formTable[f].quickSpan(inputBytes(b), n, len(b), eof) - n += copy(dst[n:], b[n:i]) + i, ok := formTable[f].quickSpan(inputBytes(b), 0, len(b), eof) + n := copy(dst, b[:i]) if !ok { nDst, nSrc, err = f.transform(dst[n:], src[n:], atEOF) return nDst + n, nSrc + n, err } - if n < len(src) && !atEOF { + + if err == nil && n < len(src) && !atEOF { err = transform.ErrShortSrc } return n, n, err @@ -79,7 +79,7 @@ func (f Form) transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) nSrc += n nDst += n if ok { - if n < rb.nsrc && !atEOF { + if err == nil && n < rb.nsrc && !atEOF { err = transform.ErrShortSrc } return nDst, nSrc, err diff --git a/vendor/gopkg.in/square/go-jose.v2/.travis.yml b/vendor/gopkg.in/square/go-jose.v2/.travis.yml index a84e99f7..fc501ca9 100644 --- a/vendor/gopkg.in/square/go-jose.v2/.travis.yml +++ b/vendor/gopkg.in/square/go-jose.v2/.travis.yml @@ -8,12 +8,11 @@ matrix: - go: tip go: -- '1.5.x' -- '1.6.x' - '1.7.x' - '1.8.x' - '1.9.x' - '1.10.x' +- '1.11.x' go_import_path: gopkg.in/square/go-jose.v2 diff --git a/vendor/gopkg.in/square/go-jose.v2/jwk.go b/vendor/gopkg.in/square/go-jose.v2/jwk.go index fb585b11..6cb8adb8 100644 --- a/vendor/gopkg.in/square/go-jose.v2/jwk.go +++ b/vendor/gopkg.in/square/go-jose.v2/jwk.go @@ -230,7 +230,7 @@ func (k *JSONWebKey) Thumbprint(hash crypto.Hash) ([]byte, error) { case *rsa.PrivateKey: input, err = rsaThumbprintInput(key.N, key.E) case ed25519.PrivateKey: - input, err = edThumbprintInput(ed25519.PublicKey(key[0:32])) + input, err = edThumbprintInput(ed25519.PublicKey(key[32:])) default: return nil, fmt.Errorf("square/go-jose: unknown key type '%s'", reflect.TypeOf(key)) } @@ -421,8 +421,8 @@ func (key rawJSONWebKey) edPrivateKey() (ed25519.PrivateKey, error) { } privateKey := make([]byte, ed25519.PrivateKeySize) - copy(privateKey[0:32], key.X.bytes()) - copy(privateKey[32:], key.D.bytes()) + copy(privateKey[0:32], key.D.bytes()) + copy(privateKey[32:], key.X.bytes()) rv := ed25519.PrivateKey(privateKey) return rv, nil } @@ -483,9 +483,9 @@ func (key rawJSONWebKey) rsaPrivateKey() (*rsa.PrivateKey, error) { } func fromEdPrivateKey(ed ed25519.PrivateKey) (*rawJSONWebKey, error) { - raw := fromEdPublicKey(ed25519.PublicKey(ed[0:32])) + raw := fromEdPublicKey(ed25519.PublicKey(ed[32:])) - raw.D = newBuffer(ed[32:]) + raw.D = newBuffer(ed[0:32]) return raw, nil } diff --git a/vendor/modules.txt b/vendor/modules.txt index bdc89f40..088c486b 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1,4 +1,4 @@ -# github.com/RoaringBitmap/roaring v0.4.16 +# github.com/RoaringBitmap/roaring v0.4.17 github.com/RoaringBitmap/roaring # github.com/blevesearch/bleve v0.0.0-20180525174403-1d6d47ed3ad9 github.com/blevesearch/bleve @@ -39,20 +39,22 @@ github.com/blevesearch/bleve/analysis/tokenizer/unicode github.com/blevesearch/bleve/search/scorer github.com/blevesearch/bleve/analysis/token/porter github.com/blevesearch/bleve/analysis/token/stop -# github.com/blevesearch/go-porterstemmer v0.0.0-20141230013033-23a2c8e5cf1f +# github.com/blevesearch/go-porterstemmer v1.0.2 github.com/blevesearch/go-porterstemmer # github.com/blevesearch/segment v0.0.0-20160915185041-762005e7a34f github.com/blevesearch/segment # github.com/boltdb/bolt v0.0.0-20180302180052-fd01fc79c553 github.com/boltdb/bolt -# github.com/couchbase/vellum v0.0.0-20190111184608-e91b68ff3efe +# github.com/cenkalti/backoff v2.1.1+incompatible +github.com/cenkalti/backoff +# github.com/couchbase/vellum v0.0.0-20190606010143-5f4edc22838b github.com/couchbase/vellum github.com/couchbase/vellum/levenshtein github.com/couchbase/vellum/regexp github.com/couchbase/vellum/utf8 # github.com/davecgh/go-spew v1.1.1 github.com/davecgh/go-spew/spew -# github.com/dsnet/compress v0.0.0-20171208185109-cc9eb1d7ad76 +# github.com/dsnet/compress v0.0.1 github.com/dsnet/compress/brotli github.com/dsnet/compress/internal github.com/dsnet/compress/internal/errors @@ -62,9 +64,26 @@ github.com/edsrzf/mmap-go github.com/fsnotify/fsnotify # github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2 github.com/glycerine/go-unsnap-stream -# github.com/golang/protobuf v1.2.0 +# github.com/go-acme/lego v2.6.0+incompatible +github.com/go-acme/lego/acme +github.com/go-acme/lego/certcrypto +github.com/go-acme/lego/certificate +github.com/go-acme/lego/challenge +github.com/go-acme/lego/challenge/http01 +github.com/go-acme/lego/challenge/tlsalpn01 +github.com/go-acme/lego/lego +github.com/go-acme/lego/registration +github.com/go-acme/lego/acme/api +github.com/go-acme/lego/log +github.com/go-acme/lego/platform/wait +github.com/go-acme/lego/challenge/resolver +github.com/go-acme/lego/acme/api/internal/nonces +github.com/go-acme/lego/acme/api/internal/secure +github.com/go-acme/lego/acme/api/internal/sender +github.com/go-acme/lego/challenge/dns01 +# github.com/golang/protobuf v1.3.1 github.com/golang/protobuf/proto -# github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db +# github.com/golang/snappy v0.0.1 github.com/golang/snappy # github.com/gorilla/websocket v1.4.0 github.com/gorilla/websocket @@ -85,18 +104,18 @@ github.com/inconshreveable/mousetrap github.com/jpillora/backoff # github.com/kjk/betterguid v0.0.0-20170621091430-c442874ba63a github.com/kjk/betterguid -# github.com/klauspost/cpuid v1.2.0 +# github.com/klauspost/cpuid v1.2.1 github.com/klauspost/cpuid -# github.com/magiconair/properties v1.8.0 +# github.com/magiconair/properties v1.8.1 github.com/magiconair/properties -# github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329 +# github.com/mailru/easyjson v0.0.0-20190403194419-1ea4449da983 github.com/mailru/easyjson github.com/mailru/easyjson/jlexer github.com/mailru/easyjson/jwriter github.com/mailru/easyjson/buffer -# github.com/mholt/certmagic v0.0.0-20190204191230-f92e85346d81 +# github.com/mholt/certmagic v0.5.1 github.com/mholt/certmagic -# github.com/miekg/dns v1.1.4 +# github.com/miekg/dns v1.1.13 github.com/miekg/dns # github.com/mitchellh/go-homedir v1.1.0 github.com/mitchellh/go-homedir @@ -104,64 +123,47 @@ github.com/mitchellh/go-homedir github.com/mitchellh/mapstructure # github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae github.com/mschoch/smat -# github.com/pelletier/go-toml v1.2.0 +# github.com/pelletier/go-toml v1.4.0 github.com/pelletier/go-toml # github.com/philhofer/fwd v1.0.0 github.com/philhofer/fwd # github.com/pmezard/go-difflib v1.0.0 github.com/pmezard/go-difflib/difflib -# github.com/spf13/afero v1.2.1 +# github.com/spf13/afero v1.2.2 github.com/spf13/afero github.com/spf13/afero/mem # github.com/spf13/cast v1.3.0 github.com/spf13/cast -# github.com/spf13/cobra v0.0.3 +# github.com/spf13/cobra v0.0.5 github.com/spf13/cobra -# github.com/spf13/jwalterweatherman v1.0.0 +# github.com/spf13/jwalterweatherman v1.1.0 github.com/spf13/jwalterweatherman # github.com/spf13/pflag v1.0.3 github.com/spf13/pflag -# github.com/spf13/viper v1.3.1 +# github.com/spf13/viper v1.4.0 github.com/spf13/viper # github.com/steveyen/gtreap v0.0.0-20150807155958-0abe01ef9be2 github.com/steveyen/gtreap # github.com/stretchr/testify v1.3.0 github.com/stretchr/testify/assert -# github.com/tdewolff/minify/v2 v2.3.8 +# github.com/tdewolff/minify/v2 v2.5.0 github.com/tdewolff/minify/v2 github.com/tdewolff/minify/v2/html -# github.com/tdewolff/parse/v2 v2.3.5 +# github.com/tdewolff/parse/v2 v2.3.7 github.com/tdewolff/parse/v2 github.com/tdewolff/parse/v2/buffer github.com/tdewolff/parse/v2/strconv github.com/tdewolff/parse/v2/html # github.com/tinylib/msgp v1.1.0 github.com/tinylib/msgp/msgp -# github.com/willf/bitset v1.1.9 +# github.com/willf/bitset v1.1.10 github.com/willf/bitset -# github.com/xenolf/lego v2.1.0+incompatible -github.com/xenolf/lego/acme -github.com/xenolf/lego/certcrypto -github.com/xenolf/lego/certificate -github.com/xenolf/lego/challenge -github.com/xenolf/lego/challenge/http01 -github.com/xenolf/lego/challenge/tlsalpn01 -github.com/xenolf/lego/lego -github.com/xenolf/lego/registration -github.com/xenolf/lego/acme/api -github.com/xenolf/lego/log -github.com/xenolf/lego/platform/wait -github.com/xenolf/lego/challenge/resolver -github.com/xenolf/lego/acme/api/internal/nonces -github.com/xenolf/lego/acme/api/internal/secure -github.com/xenolf/lego/acme/api/internal/sender -github.com/xenolf/lego/challenge/dns01 -# golang.org/x/crypto v0.0.0-20190131182504-b8fe1690c613 +# golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5 golang.org/x/crypto/ocsp golang.org/x/crypto/ed25519 golang.org/x/crypto/pbkdf2 golang.org/x/crypto/ed25519/internal/edwards25519 -# golang.org/x/net v0.0.0-20190206173232-65e2d4e15006 +# golang.org/x/net v0.0.0-20190607181551-461777fb6f67 golang.org/x/net/html golang.org/x/net/html/atom golang.org/x/net/idna @@ -170,15 +172,15 @@ golang.org/x/net/ipv6 golang.org/x/net/bpf golang.org/x/net/internal/iana golang.org/x/net/internal/socket -# golang.org/x/sys v0.0.0-20190204203706-41f3e6584952 +# golang.org/x/sys v0.0.0-20190608050228-5b15430b70e3 golang.org/x/sys/unix golang.org/x/sys/windows -# golang.org/x/text v0.3.0 +# golang.org/x/text v0.3.2 golang.org/x/text/transform golang.org/x/text/unicode/norm golang.org/x/text/secure/bidirule golang.org/x/text/unicode/bidi -# gopkg.in/square/go-jose.v2 v2.2.2 +# gopkg.in/square/go-jose.v2 v2.3.1 gopkg.in/square/go-jose.v2 gopkg.in/square/go-jose.v2/cipher gopkg.in/square/go-jose.v2/json